Skip to content

The application RefineSensorModel is missing in version 8.0+

Refactoring the RefineSensorModel application

Context

The application RefineSensorModel uses a set of tie points to adjust the parameters of a sensor model. It uses an optimization algorithm (least-square) to fit the model to the fit points. The inputs of the application are

  • a geom file containing the sensor model
  • a text file containing the tie points

The outputs are

  • a geom file containing the refined sensor model
  • a text file containing output precision statistics
  • a text file containing segments representing residues

Since OTB 8, this application is not available. We want to reintroduce it, since it is of great interest.

Details of the refactoring

To reintroduce RefineSensorModel, we need to address multiple issues

OTB doesn't write geom files anymore

The new version of OTB can't produce a geom file as output of the application. We propose to change the RefineSensorModel application to work at the product level. Instead of reading and writing a geom file, it will read and write an image file.

Impact:

  • The ingeom and outgeom parameters become inImage and outImage, and are of type "ParameterType_InputImage" instead of "ParameterType_InputFilename".
  • Use the SensorTransformFactory to load the RPC or SAR model from the metadata of the input image.

Hold the fit points

The fit points used to be stored in the SensorModelAdapter class. This class was removed with OSSIM, so we need to store the fit points somewhere else. The proposed class for this task is SensorTransformBase.

Impact:

  • Add the attribute m_TiePoints and implement the function AddTiePoint to SensorTransformBase.

Run the optimization

The optimization algorithm was provided by OSSIM. So we need to implement the optimization algorithm and call it for each sensor model (SAR, RPC).

Impact:

  • Implement the Least-Square Optimization algorithm ?
  • Add an Optimize virtual function to SensorTransformBase.
  • Implement an Optimize function in RPCTransformBase class that apply the optimization algorithm to the RPC model (RpcParam).
  • Implement an Optimize function in SARTransformBase class that apply the optimization algorithm to the SAR model (SarParam).
Edited by Julien Osman