OTB.StereoRectificationGridGenerator: Generates two deformation fields to resample in epipolar geometry, a pair of stereo images up to the sensor model precision

This application generates a pair of deformation grid to stereo-rectify a pair of stereo images according to sensor modelling and a mean elevation hypothesis.This application is the first part of the stereo reconstruction framework. The output deformation grids can be passed to the GridBasedImageResampling application for actual resampling into epipolar geometry.There are several ways to set the elevation source: * An arbitrary constant elevation * A DEM directory * Compute an average elevation from a DEMIf needed, the application can compute inverse resampling grids (from epipolar to original sensor geometry). Don't forget to check the other outputs from the application. For instance, the application gives the X and Y size of the rectified images, along with an estimated baseline ratio.

Inputs

The left image from the stereo pair, in sensor geometry.

format
href
Please set a value for io.inleft.

The right image from the stereo pair, in sensor geometry.

format
href
Please set a value for io.inright.

The deformation grid to resample the left image from sensor geometry to epipolar geometry.

string
Please set a value for io.outleft.

The deformation grid to resample the right image from sensor geometry to epipolar geometry.

string
Please set a value for io.outright.

This parameter allows selecting a directory containing Digital Elevation Model files. Note that this directory should contain only DEM files. Unexpected behaviour might occurs if other images are found in this directory.

string

Use a geoid grid to get the height above the ellipsoid in case there is no DEM available, no coverage for some points or pixels with no_data in the DEM tiles. A version of the geoid can be found on the OTB website(https://gitlab.orfeo-toolbox.org/orfeotoolbox/otb-data/blob/master/Input/DEM/egm96.grd).

format
href
Please set a value for epi.elevation.geoid.

This parameter allows setting the default height above ellipsoid when there is no DEM available, no coverage for some points or pixels with no_data in the DEM tiles, and no geoid file has been set. This is also used by some application as an average elevation value.

number
Please set a value for epi.elevation.default.

Step of sub-sampling for average elevation estimation

integer

The scale parameter allows generating zoomed-in (scale < 1) or zoomed-out (scale > 1) epipolar images.

number
Please set a value for epi.scale.

Stereo-rectification deformation grid only varies slowly. Therefore, it is recommended to use a coarser grid (higher step value) in case of large images

integer
Please set a value for epi.step.

The deformation grid to resample the left image from the epipolar geometry back into its original sensor geometry.

string

The output deformation grid to resample the right image from the epipolar geometry back into its original sensor geometry.

string

Grid inversion is an heavy process that implies spline regression on control points. To avoid eating to much memory, this parameter allows one to first sub-sample the field to invert.

integer
Please set a value for inverse.ssrate.

Outputs

The deformation grid to resample the left image from sensor geometry to epipolar geometry.

format
transmission

The deformation grid to resample the right image from sensor geometry to epipolar geometry.

format
transmission

Average elevation value estimated from DEM

transmission

Disparity corresponding to estimated minimum elevation over the left image

transmission

Disparity corresponding to estimated maximum elevation over the left image

transmission

The application computes the optimal rectified image size so that the whole left input image fits into the rectified area. However, due to the scale and step parameter, this size may not match the size of the deformation field output. In this case, one can use these output values.

transmission

The application computes the optimal rectified image size so that the whole left input image fits into the rectified area. However, due to the scale and step parameter, this size may not match the size of the deformation field output. In this case, one can use these output values.

transmission

This parameter is the mean value, in pixels.meters^-1, of the baseline to sensor altitude ratio. It can be used to convert disparities to physical elevation, since a disparity of one pixel will correspond to an elevation offset of the invert of this value with respect to the mean elevation.

transmission

The deformation grid to resample the left image from the epipolar geometry back into its original sensor geometry.

format
transmission

The output deformation grid to resample the right image from the epipolar geometry back into its original sensor geometry.

format
transmission

Execution options

successUri
inProgressUri
failedUri

format

mode

Execute End Point

View the execution endpoint of a process.

View the alternative version in HTML.

{"id": "OTB.StereoRectificationGridGenerator", "title": "Generates two deformation fields to resample in epipolar geometry, a pair of stereo images up to the sensor model precision", "description": "This application generates a pair of deformation grid to stereo-rectify a pair of stereo images according to sensor modelling and a mean elevation hypothesis.This application is the first part of the stereo reconstruction framework. The output deformation grids can be passed to the GridBasedImageResampling application for actual resampling into epipolar geometry.There are several ways to set the elevation source: * An arbitrary constant elevation * A DEM directory * Compute an average elevation from a DEMIf needed, the application can compute inverse resampling grids (from epipolar to original sensor geometry). Don't forget to check the other outputs from the application. For instance, the application gives the X and Y size of the rectified images, along with an estimated baseline ratio.", "version": "1.0.0", "jobControlOptions": ["sync-execute", "async-execute", "dismiss"], "outputTransmission": ["value", "reference"], "links": [{"rel": "http://www.opengis.net/def/rel/ogc/1.0/execute", "type": "application/json", "title": "Execute End Point", "href": "http://tb17.geolabs.fr:8119/ogc-api/processes/OTB.StereoRectificationGridGenerator/execution"}, {"rel": "alternate", "type": "text/html", "title": "Execute End Point", "href": "http://tb17.geolabs.fr:8119/ogc-api/processes/OTB.StereoRectificationGridGenerator/execution.html"}], "inputs": {"io.inleft": {"title": "The left image from the stereo pair, in sensor geometry.", "description": "The left image from the stereo pair, in sensor geometry.", "extended-schema": {"oneOf": [{"allOf": [{"$ref": "http://zoo-project.org/dl/link.json"}, {"type": "object", "properties": {"type": {"enum": ["image/tiff", "image/jpeg", "image/png"]}}}]}, {"type": "object", "required": ["value"], "properties": {"value": {"oneOf": [{"type": "string", "contentEncoding": "base64", "contentMediaType": "image/tiff"}, {"type": "string", "contentEncoding": "base64", "contentMediaType": "image/jpeg"}, {"type": "string", "contentEncoding": "base64", "contentMediaType": "image/png"}]}}}]}, "schema": {"oneOf": [{"type": "string", "contentEncoding": "base64", "contentMediaType": "image/tiff"}, {"type": "string", "contentEncoding": "base64", "contentMediaType": "image/jpeg"}, {"type": "string", "contentEncoding": "base64", "contentMediaType": "image/png"}]}, "id": "io.inleft"}, "io.inright": {"title": "The right image from the stereo pair, in sensor geometry.", "description": "The right image from the stereo pair, in sensor geometry.", "extended-schema": {"oneOf": [{"allOf": [{"$ref": "http://zoo-project.org/dl/link.json"}, {"type": "object", "properties": {"type": {"enum": ["image/tiff", "image/jpeg", "image/png"]}}}]}, {"type": "object", "required": ["value"], "properties": {"value": {"oneOf": [{"type": "string", "contentEncoding": "base64", "contentMediaType": "image/tiff"}, {"type": "string", "contentEncoding": "base64", "contentMediaType": "image/jpeg"}, {"type": "string", "contentEncoding": "base64", "contentMediaType": "image/png"}]}}}]}, "schema": {"oneOf": [{"type": "string", "contentEncoding": "base64", "contentMediaType": "image/tiff"}, {"type": "string", "contentEncoding": "base64", "contentMediaType": "image/jpeg"}, {"type": "string", "contentEncoding": "base64", "contentMediaType": "image/png"}]}, "id": "io.inright"}, "io.outleft": {"title": "The deformation grid to resample the left image from sensor geometry to epipolar geometry.", "description": "The deformation grid to resample the left image from sensor geometry to epipolar geometry.", "schema": {"type": "string", "default": "float", "enum": ["uint8", "uint16", "int16", "int32", "int32", "float", "double"]}, "id": "io.outleft"}, "io.outright": {"title": "The deformation grid to resample the right image from sensor geometry to epipolar geometry.", "description": "The deformation grid to resample the right image from sensor geometry to epipolar geometry.", "schema": {"type": "string", "default": "float", "enum": ["uint8", "uint16", "int16", "int32", "int32", "float", "double"]}, "id": "io.outright"}, "epi.elevation.dem": {"title": "This parameter allows selecting a directory containing Digital Elevation Model files. Note that this directory should contain only DEM files. Unexpected behaviour might occurs if other images are found in this directory.", "description": "This parameter allows selecting a directory containing Digital Elevation Model files. Note that this directory should contain only DEM files. Unexpected behaviour might occurs if other images are found in this directory.", "schema": {"type": "string", "nullable": true}, "id": "epi.elevation.dem"}, "epi.elevation.geoid": {"title": "Use a geoid grid to get the height above the ellipsoid in case there is no DEM available, no coverage for some points or pixels with no_data in the DEM tiles. A version of the geoid can be found on the OTB website(https://gitlab.orfeo-toolbox.org/orfeotoolbox/otb-data/blob/master/Input/DEM/egm96.grd).", "description": "Use a geoid grid to get the height above the ellipsoid in case there is no DEM available, no coverage for some points or pixels with no_data in the DEM tiles. A version of the geoid can be found on the OTB website(https://gitlab.orfeo-toolbox.org/orfeotoolbox/otb-data/blob/master/Input/DEM/egm96.grd).", "extended-schema": {"oneOf": [{"allOf": [{"$ref": "http://zoo-project.org/dl/link.json"}, {"type": "object", "properties": {"type": {"enum": ["application/octet-stream"]}}}]}, {"type": "object", "required": ["value"], "properties": {"value": {"oneOf": [{"type": "string", "contentEncoding": "base64", "contentMediaType": "application/octet-stream"}]}}}], "nullable": true}, "schema": {"oneOf": [{"type": "string", "contentEncoding": "base64", "contentMediaType": "application/octet-stream"}]}, "id": "epi.elevation.geoid"}, "epi.elevation.default": {"title": "This parameter allows setting the default height above ellipsoid when there is no DEM available, no coverage for some points or pixels with no_data in the DEM tiles, and no geoid file has been set. This is also used by some application as an average elevation value.", "description": "This parameter allows setting the default height above ellipsoid when there is no DEM available, no coverage for some points or pixels with no_data in the DEM tiles, and no geoid file has been set. This is also used by some application as an average elevation value.", "schema": {"type": "number", "default": 0, "format": "double"}, "id": "epi.elevation.default"}, "epi.elevation.avgdem.step": {"title": "Step of sub-sampling for average elevation estimation", "description": "Step of sub-sampling for average elevation estimation", "schema": {"type": "integer", "default": 1, "nullable": true}, "id": "epi.elevation.avgdem.step"}, "epi.scale": {"title": "The scale parameter allows generating zoomed-in (scale < 1) or zoomed-out (scale > 1) epipolar images.", "description": "The scale parameter allows generating zoomed-in (scale < 1) or zoomed-out (scale > 1) epipolar images.", "schema": {"type": "number", "default": 1, "format": "double"}, "id": "epi.scale"}, "epi.step": {"title": "Stereo-rectification deformation grid only varies slowly. Therefore, it is recommended to use a coarser grid (higher step value) in case of large images", "description": "Stereo-rectification deformation grid only varies slowly. Therefore, it is recommended to use a coarser grid (higher step value) in case of large images", "schema": {"type": "integer", "default": 1}, "id": "epi.step"}, "inverse.outleft": {"title": "The deformation grid to resample the left image from the epipolar geometry back into its original sensor geometry.", "description": "The deformation grid to resample the left image from the epipolar geometry back into its original sensor geometry.", "schema": {"type": "string", "default": "float", "enum": ["uint8", "uint16", "int16", "int32", "int32", "float", "double"], "nullable": true}, "id": "inverse.outleft"}, "inverse.outright": {"title": "The output deformation grid to resample the right image from the epipolar geometry back into its original sensor geometry.", "description": "The output deformation grid to resample the right image from the epipolar geometry back into its original sensor geometry.", "schema": {"type": "string", "default": "float", "enum": ["uint8", "uint16", "int16", "int32", "int32", "float", "double"], "nullable": true}, "id": "inverse.outright"}, "inverse.ssrate": {"title": "Grid inversion is an heavy process that implies spline regression on control points. To avoid eating to much memory, this parameter allows one to first sub-sample the field to invert.", "description": "Grid inversion is an heavy process that implies spline regression on control points. To avoid eating to much memory, this parameter allows one to first sub-sample the field to invert.", "schema": {"type": "integer", "default": 16}, "id": "inverse.ssrate"}}, "outputs": {"io.outleft": {"title": "The deformation grid to resample the left image from sensor geometry to epipolar geometry.", "description": "The deformation grid to resample the left image from sensor geometry to epipolar geometry.", "extended-schema": {"oneOf": [{"allOf": [{"$ref": "http://zoo-project.org/dl/link.json"}, {"type": "object", "properties": {"type": {"enum": ["image/tiff", "image/jpeg", "image/png"]}}}]}, {"type": "object", "required": ["value"], "properties": {"value": {"oneOf": [{"type": "string", "contentEncoding": "base64", "contentMediaType": "image/tiff"}, {"type": "string", "contentEncoding": "base64", "contentMediaType": "image/jpeg"}, {"type": "string", "contentEncoding": "base64", "contentMediaType": "image/png"}]}}}]}, "schema": {"oneOf": [{"type": "string", "contentEncoding": "base64", "contentMediaType": "image/tiff"}, {"type": "string", "contentEncoding": "base64", "contentMediaType": "image/jpeg"}, {"type": "string", "contentEncoding": "base64", "contentMediaType": "image/png"}]}, "id": "io.outleft"}, "io.outright": {"title": "The deformation grid to resample the right image from sensor geometry to epipolar geometry.", "description": "The deformation grid to resample the right image from sensor geometry to epipolar geometry.", "extended-schema": {"oneOf": [{"allOf": [{"$ref": "http://zoo-project.org/dl/link.json"}, {"type": "object", "properties": {"type": {"enum": ["image/tiff", "image/jpeg", "image/png"]}}}]}, {"type": "object", "required": ["value"], "properties": {"value": {"oneOf": [{"type": "string", "contentEncoding": "base64", "contentMediaType": "image/tiff"}, {"type": "string", "contentEncoding": "base64", "contentMediaType": "image/jpeg"}, {"type": "string", "contentEncoding": "base64", "contentMediaType": "image/png"}]}}}]}, "schema": {"oneOf": [{"type": "string", "contentEncoding": "base64", "contentMediaType": "image/tiff"}, {"type": "string", "contentEncoding": "base64", "contentMediaType": "image/jpeg"}, {"type": "string", "contentEncoding": "base64", "contentMediaType": "image/png"}]}, "id": "io.outright"}, "epi.elevation.avgdem.value": {"title": "Average elevation value estimated from DEM", "description": "Average elevation value estimated from DEM", "schema": {"type": "number"}, "id": "epi.elevation.avgdem.value"}, "epi.elevation.avgdem.mindisp": {"title": "Disparity corresponding to estimated minimum elevation over the left image", "description": "Disparity corresponding to estimated minimum elevation over the left image", "schema": {"type": "number"}, "id": "epi.elevation.avgdem.mindisp"}, "epi.elevation.avgdem.maxdisp": {"title": "Disparity corresponding to estimated maximum elevation over the left image", "description": "Disparity corresponding to estimated maximum elevation over the left image", "schema": {"type": "number"}, "id": "epi.elevation.avgdem.maxdisp"}, "epi.rectsizex": {"title": "The application computes the optimal rectified image size so that the whole left input image fits into the rectified area. However, due to the scale and step parameter, this size may not match the size of the deformation field output. In this case, one can use these output values.", "description": "The application computes the optimal rectified image size so that the whole left input image fits into the rectified area. However, due to the scale and step parameter, this size may not match the size of the deformation field output. In this case, one can use these output values.", "schema": {"type": "integer"}, "id": "epi.rectsizex"}, "epi.rectsizey": {"title": "The application computes the optimal rectified image size so that the whole left input image fits into the rectified area. However, due to the scale and step parameter, this size may not match the size of the deformation field output. In this case, one can use these output values.", "description": "The application computes the optimal rectified image size so that the whole left input image fits into the rectified area. However, due to the scale and step parameter, this size may not match the size of the deformation field output. In this case, one can use these output values.", "schema": {"type": "integer"}, "id": "epi.rectsizey"}, "epi.baseline": {"title": "This parameter is the mean value, in pixels.meters^-1, of the baseline to sensor altitude ratio. It can be used to convert disparities to physical elevation, since a disparity of one pixel will correspond to an elevation offset of the invert of this value with respect to the mean elevation.", "description": "This parameter is the mean value, in pixels.meters^-1, of the baseline to sensor altitude ratio. It can be used to convert disparities to physical elevation, since a disparity of one pixel will correspond to an elevation offset of the invert of this value with respect to the mean elevation.", "schema": {"type": "number"}, "id": "epi.baseline"}, "inverse.outleft": {"title": "The deformation grid to resample the left image from the epipolar geometry back into its original sensor geometry.", "description": "The deformation grid to resample the left image from the epipolar geometry back into its original sensor geometry.", "extended-schema": {"oneOf": [{"allOf": [{"$ref": "http://zoo-project.org/dl/link.json"}, {"type": "object", "properties": {"type": {"enum": ["image/tiff", "image/jpeg", "image/png"]}}}]}, {"type": "object", "required": ["value"], "properties": {"value": {"oneOf": [{"type": "string", "contentEncoding": "base64", "contentMediaType": "image/tiff"}, {"type": "string", "contentEncoding": "base64", "contentMediaType": "image/jpeg"}, {"type": "string", "contentEncoding": "base64", "contentMediaType": "image/png"}]}}}]}, "schema": {"oneOf": [{"type": "string", "contentEncoding": "base64", "contentMediaType": "image/tiff"}, {"type": "string", "contentEncoding": "base64", "contentMediaType": "image/jpeg"}, {"type": "string", "contentEncoding": "base64", "contentMediaType": "image/png"}]}, "id": "inverse.outleft"}, "inverse.outright": {"title": "The output deformation grid to resample the right image from the epipolar geometry back into its original sensor geometry.", "description": "The output deformation grid to resample the right image from the epipolar geometry back into its original sensor geometry.", "extended-schema": {"oneOf": [{"allOf": [{"$ref": "http://zoo-project.org/dl/link.json"}, {"type": "object", "properties": {"type": {"enum": ["image/tiff", "image/jpeg", "image/png"]}}}]}, {"type": "object", "required": ["value"], "properties": {"value": {"oneOf": [{"type": "string", "contentEncoding": "base64", "contentMediaType": "image/tiff"}, {"type": "string", "contentEncoding": "base64", "contentMediaType": "image/jpeg"}, {"type": "string", "contentEncoding": "base64", "contentMediaType": "image/png"}]}}}]}, "schema": {"oneOf": [{"type": "string", "contentEncoding": "base64", "contentMediaType": "image/tiff"}, {"type": "string", "contentEncoding": "base64", "contentMediaType": "image/jpeg"}, {"type": "string", "contentEncoding": "base64", "contentMediaType": "image/png"}]}, "id": "inverse.outright"}}}

http://tb17.geolabs.fr:8119/ogc-api/processes/OTB.StereoRectificationGridGenerator.html
Last modified: Sat Feb 19 15:43:34 CET 2022