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
andoutgeom
parameters becomeinImage
andoutImage
, 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 functionAddTiePoint
toSensorTransformBase
.
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 toSensorTransformBase
. - Implement an
Optimize
function inRPCTransformBase
class that apply the optimization algorithm to the RPC model (RpcParam). - Implement an
Optimize
function inSARTransformBase
class that apply the optimization algorithm to the SAR model (SarParam).