OTB  9.0.0
Orfeo Toolbox
Public Types | Public Member Functions | Static Public Member Functions | Private Member Functions | List of all members
otb::PleiadesPToXSAffineTransformCalculator Class Reference

#include <otbPleiadesPToXSAffineTransformCalculator.h>

+ Inheritance diagram for otb::PleiadesPToXSAffineTransformCalculator:
+ Collaboration diagram for otb::PleiadesPToXSAffineTransformCalculator:

Public Types

typedef itk::SmartPointer< const SelfConstPointer
 
typedef TransformType::OutputVectorType OffsetType
 
typedef itk::SmartPointer< SelfPointer
 
typedef PleiadesPToXSAffineTransformCalculator Self
 
typedef itk::LightObject Superclass
 
typedef itk::ScalableAffineTransform< double, 2 > TransformType
 

Public Member Functions

virtual const char * GetNameOfClass () const
 

Static Public Member Functions

static bool CanCompute (const ImageMetadata &panchromaticImd, const ImageMetadata &xsImd)
 
static TransformType::Pointer Compute (const ImageMetadata &panchromaticImd, const ImageMetadata &xsImd)
 
static OffsetType ComputeOffset (const ImageMetadata &panchromaticImd, const ImageMetadata &xsImd)
 

Private Member Functions

void operator= (const Self &)=delete
 
 PleiadesPToXSAffineTransformCalculator ()=delete
 
 PleiadesPToXSAffineTransformCalculator (const Self &)=delete
 

Detailed Description

Compute the affine transform linking P and XS pixel position for Pleiades sensor bundles.

Pleiades sensor bundle are exactly homotetic, it is therefore possible to corregister the panchromatic and multispectral images with a simple affine transform without using any sensor modelling. This yields a very accurate corregistration and avoid the use of a DSM which may cause registration errors due to height errors.

This calculator is a helper class to build the affine transform. It consists in only two static methods: one to check if the transform calculation applies to the given pair of images, the other to actually estimate the transform.

The estimated transform returned by the latter transforms pancrhomatic image positions to multispectral image positions. If the inverse transform is needed, one can call the GetInverse() method of the transform to retrieve it.

Definition at line 55 of file otbPleiadesPToXSAffineTransformCalculator.h.

Member Typedef Documentation

◆ ConstPointer

Definition at line 61 of file otbPleiadesPToXSAffineTransformCalculator.h.

◆ OffsetType

typedef TransformType::OutputVectorType otb::PleiadesPToXSAffineTransformCalculator::OffsetType

Definition at line 66 of file otbPleiadesPToXSAffineTransformCalculator.h.

◆ Pointer

Definition at line 60 of file otbPleiadesPToXSAffineTransformCalculator.h.

◆ Self

Definition at line 58 of file otbPleiadesPToXSAffineTransformCalculator.h.

◆ Superclass

Definition at line 59 of file otbPleiadesPToXSAffineTransformCalculator.h.

◆ TransformType

typedef itk::ScalableAffineTransform<double, 2> otb::PleiadesPToXSAffineTransformCalculator::TransformType

Definition at line 63 of file otbPleiadesPToXSAffineTransformCalculator.h.

Constructor & Destructor Documentation

◆ PleiadesPToXSAffineTransformCalculator() [1/2]

otb::PleiadesPToXSAffineTransformCalculator::PleiadesPToXSAffineTransformCalculator ( )
privatedelete

◆ PleiadesPToXSAffineTransformCalculator() [2/2]

otb::PleiadesPToXSAffineTransformCalculator::PleiadesPToXSAffineTransformCalculator ( const Self )
privatedelete

Member Function Documentation

◆ CanCompute()

static bool otb::PleiadesPToXSAffineTransformCalculator::CanCompute ( const ImageMetadata panchromaticImd,
const ImageMetadata xsImd 
)
static

This function checks if the transform calculation applies to the given pair of ImageMetadata. Checked items are:

  • Both ImageMetadata are identified as Pleiades images,
  • Both images processing level is SENSOR",
  • The ImageMetadata contains all required metadata
  • XS and Pan ids (except last 4 letters) are equal.
    Returns
    True if the calculation applies

◆ Compute()

static TransformType::Pointer otb::PleiadesPToXSAffineTransformCalculator::Compute ( const ImageMetadata panchromaticImd,
const ImageMetadata xsImd 
)
static

This function computes the transform for a pair of ImageMetadata. Note that the CanCompute() method is first called, and that an exception will be raised if computation can not be done.

This function reads both ImageMetadata support data and builds a transform that will exactly coregister the corresponding images.

Returns
The computed transform

◆ ComputeOffset()

static OffsetType otb::PleiadesPToXSAffineTransformCalculator::ComputeOffset ( const ImageMetadata panchromaticImd,
const ImageMetadata xsImd 
)
static

This function computes the offset in pan pixels for a pair of ImageMetadata. Note that the CanCompute() method is first called, and that an exception will be raised if computation can not be done.

Returns
The computed transform

◆ GetNameOfClass()

virtual const char* otb::PleiadesPToXSAffineTransformCalculator::GetNameOfClass ( ) const
virtual

◆ operator=()

void otb::PleiadesPToXSAffineTransformCalculator::operator= ( const Self )
privatedelete

The documentation for this class was generated from the following file: