OrthoRectification - Ortho-rectification¶
This application allows ortho-rectifying optical and radar images from supported sensors.
Detailed description¶
This application uses inverse sensor modelling combined with a choice of interpolation functions to resample a sensor geometry image into a ground geometry regular grid. The ground geometry regular grid is defined with respect to a map projection (see map parameter). The application offers several modes to estimate the output grid parameters (origin and ground sampling distance), including automatic estimation of image size, ground sampling distance, or both, from image metadata, user-defined ROI corners, or another ortho-image.A digital Elevation Model along with a geoid file can be specified to account for terrain deformations.In case of SPOT5 images, the sensor model can be approximated by an RPC model in order to speed-up computation.
Parameters¶
This section describes in details the parameters available for this application. Table [1] presents a summary of these parameters and the parameters keys to be used in command-line and programming languages. Application key is OrthoRectification .
[1] | Table: Parameters table for Ortho-rectification. |
Parameter Key | Parameter Name | Parameter Type |
---|---|---|
io | Input and output data | Group |
io.in | Input Image | Input image |
io.out | Output Image | Output image |
map | Map Projection | Choices |
map utm | Universal Trans-Mercator (UTM) | Choice |
map lambert2 | Lambert II Etendu | Choice |
map lambert93 | Lambert93 | Choice |
map wgs | WGS 84 | Choice |
map epsg | EPSG Code | Choice |
map.utm.zone | Zone number | Int |
map.utm.northhem | Northern Hemisphere | Boolean |
map.epsg.code | EPSG Code | Int |
outputs | Output Image Grid | Group |
outputs.mode | Parameters estimation modes | Choices |
outputs.mode auto | User Defined | Choice |
outputs.mode autosize | Automatic Size from Spacing | Choice |
outputs.mode autospacing | Automatic Spacing from Size | Choice |
outputs.mode outputroi | Automatic Size from Spacing and output corners | Choice |
outputs.mode orthofit | Fit to ortho | Choice |
outputs.ulx | Upper Left X | Float |
outputs.uly | Upper Left Y | Float |
outputs.sizex | Size X | Int |
outputs.sizey | Size Y | Int |
outputs.spacingx | Pixel Size X | Float |
outputs.spacingy | Pixel Size Y | Float |
outputs.lrx | Lower right X | Float |
outputs.lry | Lower right Y | Float |
outputs.ortho | Model ortho-image | Input image |
outputs.isotropic | Force isotropic spacing by default | Boolean |
outputs.default | Default pixel value | Float |
elev | Elevation management | Group |
elev.dem | DEM directory | Directory |
elev.geoid | Geoid File | Input File name |
elev.default | Default elevation | Float |
interpolator | Interpolation | Choices |
interpolator bco | Bicubic interpolation | Choice |
interpolator nn | Nearest Neighbor interpolation | Choice |
interpolator linear | Linear interpolation | Choice |
interpolator.bco.radius | Radius for bicubic interpolation | Int |
opt | Speed optimization parameters | Group |
opt.rpc | RPC modeling (points per axis) | Int |
opt.ram | Available RAM (Mb) | Int |
opt.gridspacing | Resampling grid spacing | Float |
inxml | Load otb application from xml file | XML input parameters file |
outxml | Save otb application to xml file | XML output parameters file |
[Input and output data]: This group of parameters allows setting the input and output images.
- Input Image: The input image to ortho-rectify.
- Output Image: The ortho-rectified output image.
Map Projection: Defines the map projection to be used. Available choices are:
- Universal Trans-Mercator (UTM): A system of transverse mercator projections dividing the surface of Earth between 80S and 84N latitude.
- Zone number: The zone number ranges from 1 to 60 and allows defining the transverse mercator projection (along with the hemisphere).
- Northern Hemisphere: The transverse mercator projections are defined by their zone number as well as the hemisphere. Activate this parameter if your image is in the northern hemisphere.
- Lambert II Etendu: This is a Lambert Conformal Conic projection mainly used in France.
- Lambert93: This is a Lambert 93 projection mainly used in France.
- WGS 84: This is a Geographical projection.
- EPSG Code: This code is a generic way of identifying map projections, and allows specifying a large amount of them. See www.spatialreference.org to find which EPSG code is associated to your projection;.
- EPSG Code: See www.spatialreference.org to find which EPSG code is associated to your projection.
[Output Image Grid]: This group of parameters allows one to define the grid on which the input image will be resampled.
- Parameters estimation modes Available choices are:
- User Defined: This mode allows you to fully modify default values.
- Automatic Size from Spacing: This mode allows you to automatically compute the optimal image size from given spacing (pixel size) values.
- Automatic Spacing from Size: This mode allows you to automatically compute the optimal image spacing (pixel size) from the given size.
- Automatic Size from Spacing and output corners: This mode allows you to automatically compute the optimal image size from spacing (pixel size) and output corners.
- Fit to ortho: Fit the size, origin and spacing to an existing ortho image (uses the value of outputs.ortho).
- Upper Left X: Cartographic X coordinate of upper-left corner (meters for cartographic projections, degrees for geographic ones).
- Upper Left Y: Cartographic Y coordinate of the upper-left corner (meters for cartographic projections, degrees for geographic ones).
- Size X: Size of projected image along X (in pixels).
- Size Y: Size of projected image along Y (in pixels).
- Pixel Size X: Size of each pixel along X axis (meters for cartographic projections, degrees for geographic ones).
- Pixel Size Y: Size of each pixel along Y axis (meters for cartographic projections, degrees for geographic ones).
- Lower right X: Cartographic X coordinate of the lower-right corner (meters for cartographic projections, degrees for geographic ones).
- Lower right Y: Cartographic Y coordinate of the lower-right corner (meters for cartographic projections, degrees for geographic ones).
- Model ortho-image: A model ortho-image that can be used to compute size, origin and spacing of the output.
- Force isotropic spacing by default: Default spacing (pixel size) values are estimated from the sensor modeling of the image. It can therefore result in a non-isotropic spacing. This option allows you to force default values to be isotropic (in this case, the minimum of spacing in both direction is applied. Values overridden by user are not affected by this option.
- Default pixel value: Default value to write when outside of input image.
[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.
- DEM directory: 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.
- Geoid File: 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).
- Default elevation: 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.
Interpolation: This group of parameters allows one to define how the input image will be interpolated during resampling. Available choices are:
- Bicubic interpolation
- Radius for bicubic interpolation: This parameter allows one to control the size of the bicubic interpolation filter. If the target pixel size is higher than the input pixel size, increasing this parameter will reduce aliasing artifacts.
- Nearest Neighbor interpolation: Nearest neighbor interpolation leads to poor image quality, but it is very fast.
- Linear interpolation: Linear interpolation leads to average image quality but is quite fast.
[Speed optimization parameters]: This group of parameters allows optimization of processing time.
- RPC modeling (points per axis): Enabling RPC modeling allows one to speed-up SPOT5 ortho-rectification. Value is the number of control points per axis for RPC estimation.
- Available RAM (Mb): This allows setting the maximum amount of RAM available for processing. As the writing task is time consuming, it is better to write large pieces of data, which can be achieved by increasing this parameter (pay attention to your system capabilities).
- Resampling grid spacing: Resampling is done according to a coordinate mapping deformation grid, whose pixel size is set by this parameter, and expressed in the coordinate system of the output image The closer to the output spacing this parameter is, the more precise will be the ortho-rectified image,but increasing this parameter will reduce processing time.
Load otb application from xml file: Load otb application from xml file.
Save otb application to xml file: Save otb application to xml file.
Example¶
To run this example in command-line, use the following:
otbcli_OrthoRectification -io.in QB_TOULOUSE_MUL_Extract_500_500.tif -io.out QB_Toulouse_ortho.tif
To run this example from Python, use the following code snippet:
#!/usr/bin/python
# Import the otb applications package
import otbApplication
# The following line creates an instance of the OrthoRectification application
OrthoRectification = otbApplication.Registry.CreateApplication("OrthoRectification")
# The following lines set all the application parameters:
OrthoRectification.SetParameterString("io.in", "QB_TOULOUSE_MUL_Extract_500_500.tif")
OrthoRectification.SetParameterString("io.out", "QB_Toulouse_ortho.tif")
# The following line execute the application
OrthoRectification.ExecuteAndWriteOutput()
Limitations¶
- Supported sensors (both optical and radar) are: GeoEye, Ikonos, Pleiades, Quickbird, RadarSat, Sentinel-1, SPOT5 (TIF format), SPOT6/7, TerraSAR-X, Worldview 1/2/3, and any TIF image with embedded RPC tags.
- Also note that the opt.gridspacing default value may not be suitable for all sensors. In particular, if this value is lower than the target ground sampling distance, the processing time may increase a lot. A warning is issued in this case. Typical values should be half the DEM ground sampling distance.
Authors¶
This application has been written by OTB-Team.
See Also¶
- These additional resources can be useful for further information:
- Ortho-rectification chapter from the OTB Software Guide