BundleToPerfectSensor - Bundle to perfect sensor ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Perform P+XS pansharpening Detailed description -------------------- This application performs P+XS pansharpening. The default mode use Pan and XS sensor models to estimate the transformation to superimpose XS over Pan before the fusion ("default mode"). The application provides also a PHR mode for Pleiades images which does not use sensor models as Pan and XS products are already coregistered but only estimate an affine transformation to superimpose XS over the Pan.Note that this option is automatically activated in case Pleiades images are detected as input. Parameters ---------- This section describes in details the parameters available for this application. Table [#]_ presents a summary of these parameters and the parameters keys to be used in command-line and programming languages. Application key is *BundleToPerfectSensor* . .. [#] Table: Parameters table for Bundle to perfect sensor. +-----------------------+----------------------------------+--------------------------+ |Parameter Key |Parameter Name |Parameter Type | +=======================+==================================+==========================+ |inp |Input PAN Image |Input image | +-----------------------+----------------------------------+--------------------------+ |inxs |Input XS Image |Input image | +-----------------------+----------------------------------+--------------------------+ |out |Output image |Output image | +-----------------------+----------------------------------+--------------------------+ |elev |Elevation management |Group | +-----------------------+----------------------------------+--------------------------+ |elev.dem |DEM directory |Directory | +-----------------------+----------------------------------+--------------------------+ |elev.geoid |Geoid File |Input File name | +-----------------------+----------------------------------+--------------------------+ |elev.default |Default elevation |Float | +-----------------------+----------------------------------+--------------------------+ |mode |Mode |Choices | +-----------------------+----------------------------------+--------------------------+ |mode default |Default mode | *Choice* | +-----------------------+----------------------------------+--------------------------+ |mode phr |Pleiades mode | *Choice* | +-----------------------+----------------------------------+--------------------------+ |method |Algorithm |Choices | +-----------------------+----------------------------------+--------------------------+ |method rcs |RCS | *Choice* | +-----------------------+----------------------------------+--------------------------+ |method lmvm |LMVM | *Choice* | +-----------------------+----------------------------------+--------------------------+ |method bayes |Bayesian | *Choice* | +-----------------------+----------------------------------+--------------------------+ |method.lmvm.radiusx |X radius |Int | +-----------------------+----------------------------------+--------------------------+ |method.lmvm.radiusy |Y radius |Int | +-----------------------+----------------------------------+--------------------------+ |method.bayes.lambda |Weight |Float | +-----------------------+----------------------------------+--------------------------+ |method.bayes.s |S coefficient |Float | +-----------------------+----------------------------------+--------------------------+ |lms |Spacing of the deformation field |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 | +-----------------------+----------------------------------+--------------------------+ |fv |Fill Value |Float | +-----------------------+----------------------------------+--------------------------+ |ram |Available RAM (Mb) |Int | +-----------------------+----------------------------------+--------------------------+ |inxml |Load otb application from xml file|XML input parameters file | +-----------------------+----------------------------------+--------------------------+ |outxml |Save otb application to xml file |XML output parameters file| +-----------------------+----------------------------------+--------------------------+ **Input PAN Image**: Input panchromatic image. **Input XS Image**: Input XS image. **Output image**: Output 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 (http://hg.orfeo-toolbox.org/OTB-Data/raw-file/404aa6e4b3e0/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. **Mode**: Superimposition mode. Available choices are: - **Default mode**: Default superimposition mode : uses any projection reference or sensor model found in the images. - **Pleiades mode**: Pleiades superimposition mode, designed for the case of a P+XS bundle in SENSOR geometry. It uses a simple transform on the XS image : a scaling and a residual translation. **Algorithm**: Selection of the pan-sharpening method. Available choices are: - **RCS**: Simple RCS Pan sharpening operation. - **LMVM**: Local Mean and Variance Matching (LMVM) Pan sharpening. * **X radius**: Set the x radius of the sliding window. * **Y radius**: Set the y radius of the sliding window. - **Bayesian**: Bayesian fusion. * **Weight**: Set the weighting value. * **S coefficient**: Set the S coefficient. **Spacing of the deformation field**: Spacing of the deformation field. Default is 10 times the PAN image spacing. **Interpolation**: This group of parameters allows defining how the input image will be interpolated during resampling. Available choices are: - **Bicubic interpolation**: Bicubic interpolation leads to very good image quality but is slow. * **Radius for bicubic interpolation**: This parameter allows controlling 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. **Fill Value**: Fill value for area outside the reprojected image. **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. Example ------- To run this example in command-line, use the following: :: otbcli_BundleToPerfectSensor -inp QB_Toulouse_Ortho_PAN.tif -inxs QB_Toulouse_Ortho_XS.tif -out BundleToPerfectSensor.png uchar 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 BundleToPerfectSensor application BundleToPerfectSensor = otbApplication.Registry.CreateApplication("BundleToPerfectSensor") # The following lines set all the application parameters: BundleToPerfectSensor.SetParameterString("inp", "QB_Toulouse_Ortho_PAN.tif") BundleToPerfectSensor.SetParameterString("inxs", "QB_Toulouse_Ortho_XS.tif") BundleToPerfectSensor.SetParameterString("out", "BundleToPerfectSensor.png") BundleToPerfectSensor.SetParameterOutputImagePixelType("out", 1) # The following line execute the application BundleToPerfectSensor.ExecuteAndWriteOutput() Limitations ~~~~~~~~~~~ None Authors ~~~~~~~ This application has been written by OTB-Team.