Request for Changes-9: Update SAR radiometric calibration application in OTB

From OTBWiki
Jump to: navigation, search

Status

References:

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.