This module provides one application dedicated to images mosaicking.
- Simple compositing technique (-comp.feather none): Copies the last image over earlier ones in areas of overlap (Default)
- Feathering technique (-comp.feather large): Blends all images on the maximum overlapping areas (this produces seamless mosaics, but can cause blur effect where images are not perfectly aligned).
- Feathering technique (-comp.feather slim): Blends the last image over earlier ones in areas of overlap, on a given transition distance (seam can be visible from a certain zoom level, but it does not cause blur effect when images are not perfectly aligned)
Performance tuning: Distance map images sampling ratio
For performance issues, distance map images (used by feathering methods) size can be reduced using -distancemap.sr. Indeed, distance map images are computed into a temporary file before the compositing process, because it couldn't be done in a streamable way. That is, the RAM must be enough to compute the entire distance map image from each single input image. Thus, the application provides an option to reduce the size of the distance map images. Setting -distancemap.sr 10 will induce a 0.1x wider distance map image, and will save 100x less RAM. To keep the original input size, just set -alphamasks.spacing 1.0 (Default distance map images size reduction ratio is 10.)
Supported interpolators are
- Nearest Neighborhood (-interpolator nn) (Default)
- Bicubic (-interpolator bco)
- Linear (-interpolator linear)
Spacing of the output mosaic can be changed using -output.spacingx and -output.spacingy
The no-data value, used in both harmonization process and compositing process, can be changed using the -nodata parameter
Cutline (vector data)
Input vector data can additionaly feed the process for cutline selection using -vdcut. One vector data is required for each input image, and must appear in the same order.
More information about the method can be found in the paper "Natural Color Satellite Image Mosaicking Using Quadratic Programming in Decorrelated Color Space" Cresson & Saint-Geours, July 2015, IEEE JSTARS Volume 8 Issue 8 (https://doi.org/10.1109/JSTARS.2015.2449233)
- None (-harmo.method none): No harmonization. Images pixels values are untouched.(Default)
- Band-by-band (-harmo.method none): Consists in minimizing a cost function based on images statistics in overlapping areas, for each band independently.
- True color harmonization (-harmo.method rgb): Consists in minimizing a cost function based on images statistics in overlapping areas, in a decorreleted color space suitable for true color processing (works only on true color images, i.e. RGB). Only the first 3 bands are processed by this method.
Various cost function can be used for harmonization
- rmse (-harmo.cost rmse): Root mean squared error based cost function
- musig (-harmo.cost musig): Mean and Standard deviation based cost function
- mu (-harmo.cost mu): Mean based cost function
Masks for statistics (vector data)
Input vector data can additionaly feed the process for statistics computation, e.g. to mask clouds or water, using -vdstats. One vector data is required for each input image, and must appear in the same order.
Distance map images, and binary masks are temporary stored in the temporary directory specified by parameter -tmpdir (Default is application directory).
How to use it?
Mosaic can be used as any OTB application (gui, command line, python, c++, ...).
This code is provided under the CeCILL-B free software license agreement.
For any issues regarding this module please contact Rémi Cresson.
remi.cresson at irstea.fr
Irstea ((French) National Research Institute of Science and Technology for Environment and Agriculture) www.irstea.fr