OTB.HomologousPointsExtraction: Compute homologous points between images using keypoints

This application allows computing homologous points between images using keypoints. SIFT or SURF keypoints can be used and the band on which keypoints are computed can be set independently for both images. The application offers two modes : the first is the full mode where keypoints are extracted from the full extent of both images (please note that in this mode large image file are not supported). The second mode, called geobins, allows one to set-up spatial binning to get fewer points spread across the entire image. In this mode, the corresponding spatial bin in the second image is estimated using geographical transform or sensor modelling, and is padded according to the user defined precision. Last, in both modes the application can filter matches whose colocalisation in first image exceed this precision. The elevation parameters are to deal more precisely with sensor modelling in case of sensor geometry data. The outvector option allows creating a vector file with segments corresponding to the localisation error between the matches. It can be useful to assess the precision of a registration for instance. The vector file is always reprojected to EPSG:4326 to allow display in a GIS. This is done via reprojection or by applying the image sensor models.

Inputs

First input image

format
href
Please set a value for in1.

Index of the band from input image 1 to use for keypoints extraction

integer
Please set a value for band1.

Second input image

format
href
Please set a value for in2.

Index of the band from input image 1 to use for keypoints extraction

integer
Please set a value for band2.

Choice of the detection algorithm to use

string
Please set a value for algorithm.

The distance threshold for matching.

number
Please set a value for threshold.

If set to true, matches should be consistent in both ways.

boolean
Please set a value for backmatching.

mode

string
Please set a value for mode.

Radius of the spatial bin in pixels

integer
Please set a value for mode.geobins.binsize.

Radius of the spatial bin in pixels (y direction). If not set, the mode.geobins.binsize value is used.

integer

Steps between bins in pixels

integer
Please set a value for mode.geobins.binstep.

Steps between bins in pixels (y direction). If not set, the mode.geobins.binstep value is used.

integer

Margin from image border to start/end bins (in pixels)

integer
Please set a value for mode.geobins.margin.

Estimated precision of the colocalisation function in pixels

number
Please set a value for precision.

If enabled, this option allows one to filter matches according to colocalisation from sensor or geographical information, using the given tolerancy expressed in pixels

boolean
Please set a value for mfilter.

2wgs84

boolean
Please set a value for 2wgs84.

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 elev.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 elev.default.

Outputs

File containing the list of tie points

format
transmission

File containing segments representing matches

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.HomologousPointsExtraction", "title": "Compute homologous points between images using keypoints", "description": "This application allows computing homologous points between images using keypoints. SIFT or SURF keypoints can be used and the band on which keypoints are computed can be set independently for both images. The application offers two modes : the first is the full mode where keypoints are extracted from the full extent of both images (please note that in this mode large image file are not supported). The second mode, called geobins, allows one to set-up spatial binning to get fewer points spread across the entire image. In this mode, the corresponding spatial bin in the second image is estimated using geographical transform or sensor modelling, and is padded according to the user defined precision. Last, in both modes the application can filter matches whose colocalisation in first image exceed this precision. The elevation parameters are to deal more precisely with sensor modelling in case of sensor geometry data. The outvector option allows creating a vector file with segments corresponding to the localisation error between the matches. It can be useful to assess the precision of a registration for instance. The vector file is always reprojected to EPSG:4326 to allow display in a GIS. This is done via reprojection or by applying the image sensor models.", "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://demo.mapmint.com/ogc-api/processes/OTB.HomologousPointsExtraction/execution"}, {"rel": "alternate", "type": "text/html", "title": "Execute End Point", "href": "http://demo.mapmint.com/ogc-api/processes/OTB.HomologousPointsExtraction/execution.html"}], "inputs": {"in1": {"title": "First input image", "description": "First input image", "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": "in1"}, "band1": {"title": "Index of the band from input image 1 to use for keypoints extraction", "description": "Index of the band from input image 1 to use for keypoints extraction", "schema": {"type": "integer", "default": 1}, "id": "band1"}, "in2": {"title": "Second input image", "description": "Second input image", "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": "in2"}, "band2": {"title": "Index of the band from input image 1 to use for keypoints extraction", "description": "Index of the band from input image 1 to use for keypoints extraction", "schema": {"type": "integer", "default": 1}, "id": "band2"}, "algorithm": {"title": "Choice of the detection algorithm to use", "description": "Choice of the detection algorithm to use", "schema": {"type": "string", "default": "surf", "enum": ["surf", "sift"]}, "id": "algorithm"}, "threshold": {"title": "The distance threshold for matching.", "description": "The distance threshold for matching.", "schema": {"type": "number", "default": 0.6, "format": "double"}, "id": "threshold"}, "backmatching": {"title": "If set to true, matches should be consistent in both ways.", "description": "If set to true, matches should be consistent in both ways.", "schema": {"type": "boolean", "default": false}, "id": "backmatching"}, "mode": {"title": "mode", "description": "mode", "schema": {"type": "string", "default": "full", "enum": ["full", "geobins"]}, "id": "mode"}, "mode.geobins.binsize": {"title": "Radius of the spatial bin in pixels", "description": "Radius of the spatial bin in pixels", "schema": {"type": "integer", "default": 256}, "id": "mode.geobins.binsize"}, "mode.geobins.binsizey": {"title": "Radius of the spatial bin in pixels (y direction). If not set, the mode.geobins.binsize value is used.", "description": "Radius of the spatial bin in pixels (y direction). If not set, the mode.geobins.binsize value is used.", "schema": {"type": "integer", "nullable": true}, "id": "mode.geobins.binsizey"}, "mode.geobins.binstep": {"title": "Steps between bins in pixels", "description": "Steps between bins in pixels", "schema": {"type": "integer", "default": 256}, "id": "mode.geobins.binstep"}, "mode.geobins.binstepy": {"title": "Steps between bins in pixels (y direction). If not set, the mode.geobins.binstep value is used.", "description": "Steps between bins in pixels (y direction). If not set, the mode.geobins.binstep value is used.", "schema": {"type": "integer", "nullable": true}, "id": "mode.geobins.binstepy"}, "mode.geobins.margin": {"title": "Margin from image border to start/end bins (in pixels)", "description": "Margin from image border to start/end bins (in pixels)", "schema": {"type": "integer", "default": 10}, "id": "mode.geobins.margin"}, "precision": {"title": "Estimated precision of the colocalisation function in pixels", "description": "Estimated precision of the colocalisation function in pixels", "schema": {"type": "number", "default": 0, "format": "double"}, "id": "precision"}, "mfilter": {"title": "If enabled, this option allows one to filter matches according to colocalisation from sensor or geographical information, using the given tolerancy expressed in pixels", "description": "If enabled, this option allows one to filter matches according to colocalisation from sensor or geographical information, using the given tolerancy expressed in pixels", "schema": {"type": "boolean", "default": false}, "id": "mfilter"}, "2wgs84": {"title": "2wgs84", "description": "2wgs84", "schema": {"type": "boolean", "default": false}, "id": "2wgs84"}, "elev.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", "default": "Any value", "nullable": true}, "id": "elev.dem"}, "elev.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": "elev.geoid"}, "elev.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": "elev.default"}}, "outputs": {"out": {"title": "File containing the list of tie points", "description": "File containing the list of tie points", "extended-schema": {"oneOf": [{"allOf": [{"$ref": "http://zoo-project.org/dl/link.json"}, {"type": "object", "properties": {"type": {"enum": ["text/xml", "text/plain"]}}}]}, {"type": "object", "required": ["value"], "properties": {"value": {"oneOf": [{"type": "string", "contentEncoding": "utf-8", "contentMediaType": "text/xml"}, {"type": "string", "contentEncoding": "utf-8", "contentMediaType": "text/plain"}]}}}]}, "schema": {"oneOf": [{"type": "string", "contentEncoding": "utf-8", "contentMediaType": "text/xml"}, {"type": "string", "contentEncoding": "utf-8", "contentMediaType": "text/plain"}]}, "id": "out"}, "outvector": {"title": "File containing segments representing matches ", "description": "File containing segments representing matches ", "extended-schema": {"oneOf": [{"allOf": [{"$ref": "http://zoo-project.org/dl/link.json"}, {"type": "object", "properties": {"type": {"enum": ["text/xml", "text/plain"]}}}]}, {"type": "object", "required": ["value"], "properties": {"value": {"oneOf": [{"type": "string", "contentEncoding": "utf-8", "contentMediaType": "text/xml"}, {"type": "string", "contentEncoding": "utf-8", "contentMediaType": "text/plain"}]}}}]}, "schema": {"oneOf": [{"type": "string", "contentEncoding": "utf-8", "contentMediaType": "text/xml"}, {"type": "string", "contentEncoding": "utf-8", "contentMediaType": "text/plain"}]}, "id": "outvector"}}}

http://demo.mapmint.com/ogc-apihttp://localhost/ogc-api/processes/OTB.HomologousPointsExtraction.html
Last modified: Sat Feb 19 15:43:34 CET 2022