Normlim data flow
Two data flows are possibles:
with S1LIAMap only LIA maps are produced,
with S1Processor LIA maps are produced if not found, then \(σ^0_{RTC}\) NORMLIM orthorectified files are produced.
NormLim global processing
The following processing is the new default precessing from S1Tiling v1.1.
S1 Tiling processes by looping on all required S2 tiles within the time range.
For each S2 tile,
It downloads a single S1 image: the one with the best footprint coverage of S2 tile, and that is within the specified time range. The download is done on condition the image is not already available in input data cache (Pure LIA producing scenarios)
Then, it makes sure the associated sine LIA map exists (all scenarios),
It selects the first input S1 image that contains orbit information wide enough to cover the full S2 tile. In case case several S1 images match, the one with the best footprint coverage is used.
It prepares a VRT of the DEM files that cover the S2 image.
It projects DEM information (from the VRT) on the S2 geometry.
It project GEOID information on the S2 geometry.
It sums both elevation information on the S2 geometry.
It produces a image of ECEF coordinates for the ground points and their associated satellite positions in the S2 geometry
It computes the normal of each ground point,
It computes the sine LIA map of each ground point,
Then, for each polarisation (S1Processor scenario only),
It calibrates with β° LUT, cuts and orthorectifies all the S1 images onto the S2 grid,
It superposes (concatenates) the orthorectified images into a single S2 tile,
It multiplies the β° orthorectified image with the sine LIA map.
As with the main dataflow for all other calibrations (β°, γ°, or σ°), these tasks are done in parallel in respect of all the dependencies.
LIA specific processings
Agglomerate DEM files in a VRT that covers S2 footprint
- Inputs:
All DEM files that intersect the target S2 tile
- Output:
A VRT file
- Function:
- StepFactory:
All DEM files that intersect the target S2 tile are agglomerated in a VRT file.
Project DEM on S2 tile
- Inputs:
The DEM VRT file over the S2 tile
- Output:
- OTBApplication:
- StepFactory:
This step projects the DEM VRT file on the S2 geometry.
Project GEOID on S2 tile
- Inputs:
The DEM projected on S2 tile as reference
The GEOID file
- Output:
None: chained in memory with Height computation
- OTBApplication:
- StepFactory:
This step projects the DEM VRT file on the S2 geometry.
Compute full height elevation on S2
- Inputs:
The projected GEOID on S2 tile – chained in memory from GEOID projection step
- Output:
- OTBApplication:
- StepFactory:
This step sums both DEM and GEOID information projected in S2 tile geometry.
Compute ECEF ground and satellite positions on S2
- Inputs:
An original input S1 image (for the embedded trajectory information)
The height information of the S2 tile.
- Output:
ECEF Ground and satellite positions on the S2 tile.
- OTBApplication:
- StepFactory:
This steps computes the ground positions of the pixels in the S2 geometry, and searches their associated zero dopplers to also issue the coordinates of the SAR sensor.
All coordinates are stored in ECEF.
Normals computation
- Input:
- Output:
None: chained in memory with LIA maps computation
- OTBApplication:
ExtractNormalVector OTB application (developed for the purpose of this project)
Note
Beware, this OTB application isn’t distributed with OTB yet. It has to be installed specifically on your machine. It will be already installed in the docker images though.
- StepFactory:
s1tiling.libs.otbwrappers.ComputeNormalsOnS2
(ors1tiling.libs.otbwrappers.ComputeNormalsOnS1
in the deprecated workflow)
This step computes the normal vectors to the ground, in the original input S1 image geometry.
LIA maps computation
- Input:
A XYZ Cartesian coordinates file of ground positions, and of satellite positions (or that contains satellite trajectory – deprecated workflow)
and the associated normals, chained in memory from Normals computation
- Output:
Local Incidence Angle map, and sine LIA map (or the equivalent in the deprecated workflow)
- OTBApplication:
SARComputeLocalIncidenceAngle OTB application (developed for the purpose of this project)
Note
Beware, this OTB application isn’t distributed with OTB yet. It has to be installed specifically on your machine. It will be already installed in the docker images though.
- StepFactory:
s1tiling.libs.otbwrappers.ComputeLIAOnS2
(ors1tiling.libs.otbwrappers.ComputeLIAOnS1
in the deprecated workflow)
It computes the Local Incidence Angle map, and sine LIA map between the between the ground normal projected in range plane \(\overrightarrow{n}\) (plane defined by S, T, and Earth’s center) and \(\overrightarrow{TS}\) – where T is the target point on Earth’s surface, and S the SAR sensor position.
Application of LIA maps to β° calibrated S2 images
- Inputs:
The sine LIA map file associated to the S2 grid
A β° calibrated, cut and orthorectified image on the S2 grid
- Output:
final S2 tiles, \(σ^0_{RTC}\) calibrated
- OTBApplication:
- StepFactory:
This final step multiplies the sine LIA map (in S2 grid geometry) with β0 calibrated files orthorectified on the S2 grid.
NormLim deprecated global processing
The following processing was the one supported in v1.0 of S1Tiling.
S1 Tiling processes by looping on all required S2 tiles within the time range.
For each S2 tile,
It downloads the necessary S1 images that intersect the S2 tile, within the specified time range, that are not already available in input data cache (all scenarios)
Then, it makes sure the associated sine LIA map exists (all scenarios),
It selects a pair of input S1 images that intersect the S2 tile,
For each input S1 image
It prepares a VRT of the DEM files that cover the image,
It projects the coordinates of the input S1 image onto the geometry of the VRT,
It projects back the cartesian coordinates of each ground point in the origin S1 image geometry,
It computes the normal of each ground point,
It computes the sine LIA map of each ground point,
It orthorectifies the sine LIA map to the S2 tile
It concatenates both files into a single sine LIA map for the S2 tile.
Then, for each polarisation (S1Processor scenario only),
It calibrates with β° LUT, cuts and orthorectifies all the S1 images onto the S2 grid,
It superposes (concatenates) the orthorectified images into a single S2 tile,
It multiplies the β° orthorectified image with the sine LIA map.
As with the main dataflow for all other calibrations (β°, γ°, or σ°), these tasks are done in parallel in respect of all the dependencies.
LIA specific deprecated processings
Agglomerate DEM files in a VRT that covers S1 footprint
- Inputs:
All DEM files that intersect an original input S1 image
- Output:
A VRT file
- Function:
- StepFactory:
All DEM files that intersect an original input S1 image are agglomerated in a VRT file.
Project SAR coordinates onto DEM
- Inputs:
An original input S1 image (geometry)
The associated VRT file
- Output:
- OTBApplication:
- StepFactory:
This step projects the coordinates of original input S1 image in the geometry of the DEM VRT file.
Project XYZ coordinates onto SAR
- Inputs:
An original input S1 image (geometry)
The associated VRT file
The associated SAR DEM projected file
- Output:
- OTBApplication:
- StepFactory:
This step estimates the XYZ Cartesian coordinates on the ground in the geometry of the original input S1 image.
Orthorectification of LIA maps
- Inputs:
A Sine Local Incidence Angle map, and an optional degrees LIA map in the original S1 image geometry
- Output:
The associated LIA map file(s) orthorectified on the target S2 tile.
- OTBApplication:
- StepFactory:
This steps ortho-rectifies the LIA map image(s) in S1 geometry to S2 grid.
It uses the following parameters from the request configuration file:
Concatenation of LIA maps
- Inputs:
A pair of LIA map files (sines or degrees) orthorectified on the target S2 tile.
- Output:
The LIA map file(s) associated to the S2 grid
- OTBApplication:
- StepFactory:
s1tiling.libs.otbwrappers.ConcatLIA
This step merges all the images of the orthorectified S1 LIA maps on a given S2 grid. As all orthorectified images are almost exclusive, they are concatenated by taking the first non null pixel.
LIA specific data caches
As with main dataflow, two kinds of data are cached, but only one is regularly cleaned-up by S1 Tiling. The other kind is left along as the software cannot really tell whether they could be reused later on or not.
Important
This means that you may have to regularly clean up this space.