Request for Changes-9: Update SAR radiometric calibration application in OTB
Contents
Status
- Author: Rashad Kanavath (CS-SI)
- Reviewed by: Guillaume Pasero
- Submitted on 30.09.2015
- 5.2.0
- https://git.orfeo-toolbox.org/otb.git/shortlog/refs/heads/rfc-9-sarcalibration
References:
- https://sentinel.esa.int/web/sentinel/sentinel-1-sar-wiki/-/wiki/Sentinel%20One/Application+of+Radiometric+Calibration+LUT
- http://gs.mdacorporation.com/products/sensor/radarsat2/RS2_Product_Description.pdf
Summary
The current SAR Radiometric calibration application only support TerraSarX product. With the approval of RFC-4 and we have support for Sentinel1. Also there exists an implementation of Radarsat2 sensor model in OTB. The missing point to get Radarsat2 is the metadata interface class. This RFC propose an update of SAR Radiometric Calibration application to support TerraSarX, Sentinel1 and Radarsat2.
Rationale
Improve the Calibaration application for SAR sensors
Implementation details
Classes and files
Modules/Radiometry/SARCalibration
The computation of Sigma was done in a seperate functor class. This is of no use as we have EvalueAtIndex() call which operates on every index. Instead of creating a functor instance and settting all member variable for functor the computation can done directly in EvaluateAtIndex() call.
D include/otbSarRadiometricCalibrationFunctor.h
M include/otbSarRadiometricCalibrationFunction.h M include/otbSarRadiometricCalibrationFunction.txx M include/otbSarRadiometricCalibrationToImageFilter.h M include/otbSarRadiometricCalibrationToImageFilter.txx
To support Radarsat2 product. A fix has been added in its ossimplugin to read lookupdata values into ossimkeywordlist. This is later accessed by SarCalibration application through RadarSat2MetadataInterface class.
ThirdParty/OssimPlugins/src/ossim/
M ThirdParty/OssimPlugins/src/ossim/ossimRadarSat2Model.cpp M ThirdParty/OssimPlugins/src/ossim/ossimRadarSat2ProductDoc.cpp
Applications
SarRadiometricCalibration
- A new parameter has been added to this application which allows one to select a lookup table if available. The options are (sigma/beta/gamma/dn).
- The output pixel type of the application was complex<float>. But the actual output pixel type of image(Back scatter) is real.
- otbSarRadiometricCalibrationToImageFilter and SarRadiometricCalibration is updated to use a vectorimage of non-complex pixel type.
Tests
Modules/Radiometry/SARCalibration
A raTvSarRadiometricCalibrationToImageWithComplexPixelFilterWithoutNoise_SENTINEL1 A raTvSarRadiometricCalibrationToImageWithComplexPixelFilterWithoutNoise_RADARSAT2 D raTuSarRadiometricCalibrationFunctor D raTuSarRadiometricCalibrationFunctorWithoutNoise
Modules/Core/Metadata
ioTvSarCalibrationLookupDataTest_RADARSAT2 ioTvSarCalibrationLookupDataTest_SENTINEL1 ioTvImageMetadataInterfaceBaseTest_SENTINEL1 ioTvImageMetadataInterfaceBaseTest_RADARSAT2
Modules/Applications/AppSARCalibration
apTvRaSarRadiometricCalibration_SENTINEL1 apTvRaSarRadiometricCalibration_RADARSAT2
A few baselines has been added to otb-data repository.
Documentation
Inline doxygen comments are added in the sources.
Additional notes
This RFC depends on RFC-4, RFC-6 and RFC-8. Radarsat2 is still based on otb/ossimGeometricSarSensorModel. This has to be changed atleast to ossimSarModel.