Request for Changes-54: Get OTB ready for gdal derived subdatasets
Status
- Author: Julien Michel
- Submitted on 30.08.2016
- Proposed target release: 5.8
- Adopted (+4 from Julien, Victor, Rémi, Guillaume)
- Merged : 424d7781b5125551e35485fea71ee770b27966b7
Summary
There are only a few changes that will get OTB ready to read DERIVED_SUBDATASETS, which is what this RFC is meant for.
Rationale
Starting 2.2, Gdal will support derived subdatasets, e.g. for image myImage.tif, gdal will understand the following syntax:
DERIVED_SUBDATASETS:AMPLITUDE:myImage.tif
This will make gdal read myImage.tif by computing the amplitude of each input band.
Available subdatasets are:
{ "AMPLITUDE", "Amplitude of input bands", "mod", "complex","Float64"} { "PHASE", "Phase of input bands", "phase", "complex","Float64"} { "REAL", "Real part of input bands", "real", "complex","Float64"} { "IMAG", "Imaginary part of input bands", "imag", "complex","Float64"} { "CONJ", "Conjugate of input bands", "conj", "complex","CFloat64"} { "INTENSITY", "Intensity (squared amplitude) of input bands", "intensity", "complex","Float64"} { "LOGAMPLITUDE", "log10 of amplitude of input bands", "log10", "all","Float64"}
This will be very useful for SAR processing with OTB and Monteverdi, as we can now directly access phase or amplitude of SLC products. This way, we can for instance load the amplitude of such products (with valid overviews, as derived datasets support overviews) in Monteverdi, making rfc-39 obsolete, or directly orthorectify the amplitude of an SLC product (no more computation of the amplitude image preprocessing).
It is important to note that this RFC gets OTB ready for DERIVED_SUBDATASETS, while still supporting gdal versions < 2.2.
Implementation details
There are only two things that needed to be changed:
- Make otb::ImageFileReader test file existency on the actual file when encountering a derived subadataset,
- Make otb::ImageFileReader use the the actual file to read the ossim keyword list.
Here is the complete diff: https://git.orfeo-toolbox.org/otb.git/commitdiff/f051cca587ba34d88d5e8ed7a0338372c97595b7