BandMath - Band Math¶
Outputs a monoband image which is the result of a mathematical operation on several multi-band images.
Detailed description¶
This application performs a mathematical operation on several multi-band images and outputs the result into a monoband image. The given expression is computed at each pixel position. Evaluation of the mathematical formula is done by the muParser libraries.
The formula can be written using:
- numerical values ( 2.3, -5, 3.1e4, ...)
- variables containing pixel values (e.g. : ‘im2b3’ is the pixel value in 2nd image, 3rd band)
- binary operators:
- ‘+’ addition, ‘-‘ subtraction, ‘*’ multiplication, ‘/’ division
- ‘^’ raise x to the power of y
- ‘<’ less than, ‘>’ greater than, ‘<=’ less or equal, ‘>=’ greater or equal
- ‘==’ equal, ‘!=’ not equal
- ‘||’ logical or, ‘&&’ logical and
- if-then-else operator: ‘(condition ? value_true : value_false)’
- functions : exp(), log(), sin(), cos(), min(), max(), ...
The full list of features and operators is available on the muParser website [1].
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 BandMath .
[1] | Table: Parameters table for Band Math. |
Parameter Key | Parameter Name | Parameter Type |
---|---|---|
il | Input image-list | Input image list |
out | Output Image | Output image |
ram | Available RAM (Mb) | Int |
exp | Expression | String |
inxml | Load otb application from xml file | XML input parameters file |
outxml | Save otb application to xml file | XML output parameters file |
- Input image-list: Image-list of operands to the mathematical expression.
- Output Image: Output image which is the result of the mathematical expressions on input image-list operands.
- Available RAM (Mb): Available memory for processing (in MB).
- Expression: The muParser mathematical expression to apply on input images.
- 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_BandMath -il verySmallFSATSW_r.tif verySmallFSATSW_nir.tif verySmallFSATSW.tif -out apTvUtBandMathOutput.tif -exp 'cos( im1b1 ) > cos( im2b1 ) ? im3b1 : im3b2'
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 BandMath application
BandMath = otbApplication.Registry.CreateApplication("BandMath")
# The following lines set all the application parameters:
BandMath.SetParameterStringList("il", ['verySmallFSATSW_r.tif', 'verySmallFSATSW_nir.tif', 'verySmallFSATSW.tif'])
BandMath.SetParameterString("out", "apTvUtBandMathOutput.tif")
BandMath.SetParameterString("exp", "'cos( im1b1 ) > cos( im2b1 ) ? im3b1 : im3b2'")
# The following line execute the application
BandMath.ExecuteAndWriteOutput()
Limitations¶
None
Authors¶
This application has been written by OTB-Team.
See Also¶
- These additional resources can be useful for further information: