Compute the ground elevation based on one or multiple stereo pair(s)
Compute the ground elevation with a stereo block matching algorithm between one or mulitple stereo pair
in sensor geometry. The output is projected in desired geographic or cartographic map projection (UTM by
default). The pipeline is made of the following steps:
for each sensor pair :
- compute the epipolar displacement grids from the stereo pair (direct and inverse)
- resample the stereo pair into epipolar geometry using BCO interpolation
- create masks for each epipolar image : remove black borders and resample input masks
- compute horizontal disparities with a block matching algorithm
- refine disparities to sub-pixel precision with a dichotomy algorithm
- apply an optional median filter
- filter disparities based on the correlation score and exploration bounds
- translate disparities in sensor geometry
convert disparity to 3D Map.
Then fuse all 3D maps to produce DSM.
This section describes in details the parameters available for this application. Table 4.108, page 661 presents a summary of these parameters and the parameters keys to be used in command-line and programming languages. Application key is StereoFramework.
Parameter key | Parameter type |
Parameter description |
input | Group |
Input parameters |
input.il | Input image list |
Input images list |
input.co | String |
Couples list |
input.channel | Int |
Image channel used for the block matching |
elev | Group |
Elevation management |
elev.dem | Directory |
DEM directory |
elev.geoid | Input File name |
Geoid File |
elev.default | Float |
Default elevation |
output | Group |
Output parameters |
output.res | Float |
Output resolution |
output.nodata | Float |
NoData value |
output.fusionmethod | Choices |
Method to fuse measures in each DSM cell |
output.fusionmethod max | Choice |
The cell is filled with the maximum measured elevation values |
output.fusionmethod min | Choice |
The cell is filled with the minimum measured elevation values |
output.fusionmethod mean | Choice |
The cell is filled with the mean of measured elevation values |
output.fusionmethod acc | Choice |
accumulator mode. The cell is filled with the the number of values (for debugging purposes). |
output.out | Output image |
Output DSM |
output.mode | Choices |
Parameters estimation modes |
output.mode fit | Choice |
Fit to sensor image |
output.mode user | Choice |
User Defined |
|
||
output.mode.user.ulx | Float |
Upper Left X |
output.mode.user.uly | Float |
Upper Left Y |
output.mode.user.sizex | Int |
Size X |
output.mode.user.sizey | Int |
Size Y |
output.mode.user.spacingx | Float |
Pixel Size X |
output.mode.user.spacingy | Float |
Pixel Size Y |
map | Choices |
Output Cartographic Map Projection |
map utm | Choice |
Universal Trans-Mercator (UTM) |
map lambert2 | Choice |
Lambert II Etendu |
map lambert93 | Choice |
Lambert93 |
map wgs | Choice |
WGS 84 |
map epsg | Choice |
EPSG Code |
map.utm.zone | Int |
Zone number |
map.utm.northhem | Boolean |
Northern Hemisphere |
map.epsg.code | Int |
EPSG Code |
stereorect | Group |
Stereorectification Grid parameters |
stereorect.fwdgridstep | Int |
Step of the displacement grid (in pixels) |
stereorect.invgridssrate | Int |
Sub-sampling rate for epipolar grid inversion |
bm | Group |
Block matching parameters |
bm.metric | Choices |
Block-matching metric |
|
||
bm.metric ssdmean | Choice |
Sum of Squared Distances divided by mean of block |
bm.metric ssd | Choice |
Sum of Squared Distances |
bm.metric ncc | Choice |
Normalized Cross-Correlation |
bm.metric lp | Choice |
Lp pseudo-norm |
bm.metric.lp.p | Float |
p value |
bm.radius | Int |
Radius of blocks for matching filter (in pixels) |
bm.minhoffset | Float |
Minimum altitude offset (in meters) |
bm.maxhoffset | Float |
Maximum altitude offset (in meters) |
postproc | Group |
Postprocessing parameters |
postproc.bij | Boolean |
Use bijection consistency in block matching strategy |
postproc.med | Boolean |
Use median disparities filtering |
postproc.metrict | Float |
Correlation metric threshold |
mask | Group |
Masks |
mask.left | Input image |
Input left mask |
mask.right | Input image |
Input right mask |
mask.variancet | Float |
Discard pixels with low local variance |
ram | Int |
Available RAM (Mb) |
inxml | XML input parameters file |
Load otb application from xml file |
outxml | XML output parameters file |
Save otb application to xml file |
|
||
|
||
|
||
|
||
|
Input parameters This group of parameters allows one to parametrize input data.
Elevation management This group of parameters allows managing elevation values. Supported formats are SRTM, DTED or any geotiff. DownloadSRTMTiles application could be a useful tool to list/download tiles related to a product.
Output parameters This group of parameters allows one to choose the DSM resolution, nodata value, and projection parameters.
Available choices are:
Available choices are:
Output Cartographic Map Projection Parameters of the output map projection to be used. Available choices are:
Stereorectification Grid parameters This group of parameters allows one to choose direct and inverse grid subsampling. These parameters are very useful to tune time and memory consumption.
Block matching parameters This group of parameters allow tuning the block-matching behavior
Available choices are:
Postprocessing parameters This group of parameters allow use optional filters.
Available RAM (Mb) Available memory for processing (in MB)
Load otb application from xml file Load otb application from xml file
Save otb application to xml file Save otb application to xml file
To run this example in command-line, use the following:
To run this example from Python, use the following code snippet:
This application has been written by OTB-Team.