Skip to content

Implementing an interface for sensor models and the RPC model

Julien Osman requested to merge 2040-RPC_model into develop


Implementation of the new sensor model mechanism, together with the new RPC model based on GDAL.


This Merge Request is part of the Remove OSSIM story (#1506 (closed)). It addresses the definition of new classes for sensor models, and focuses on the first 2 points of #2040 (closed): implementing an interface for sensor models and implementing the RPC model.

Implementation Details

Classes and files
  • Create a new GDAL adapter to access RPC functionalities
  • Remove old Sensor Model classes based on OSSIM's Keywordlist
  • Implement new Sensor Model classes based on ImageMetadata class
  • Implement RPC model for forward and inverse transformations
  • Refactor the class otb::GenericRSTransform so that it uses ImageMetadata instead of ImageKeywordlist
  • Update class otb::DEMHandler with the capability to put the DEM to memory (MEM), so the RPC model can use it.
  • Update tests
RPC Solver (5pts)

Ossim provide an algorithm to generate a RPC model from a set of GCPs. This class is wrapped in OTB with the OssimRPCSolverAdapter class. There is no equivalent functionality in GDAL, and a new class RPCSolver has been developed. It uses the same algorithm as Ossim.


The copyright owner is CNES and has signed the ORFEO ToolBox Contributor License Agreement.

Check before merging:

  • All discussions are resolved
  • At least 2 👍 votes from core developers, no 👎 vote.
  • The feature branch is (reasonably) up-to-date with the base branch
  • Dashboard is green
  • Copyright owner has signed the ORFEO ToolBox Contributor License Agreement
  • Optionally, run git diff develop... -U0 --no-color | -p1 -i on latest changes and commit
Edited by Cédric Traizet

Merge request reports