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.


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 BundleToPerfectSensor .

[1]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(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.

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.


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:


# 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




This application has been written by OTB-Team.