OTB  6.7.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 Self
ConstPointer
 
typedef
TransformType::OutputVectorType 
OffsetType
 
typedef itk::SmartPointer< SelfPointer
 
typedef
PleiadesPToXSAffineTransformCalculator 
Self
 
typedef itk::LightObject Superclass
 
typedef
itk::ScalableAffineTransform
< double, 2 > 
TransformType
 
- Public Types inherited from itk::LightObject
typedef SmartPointer< const SelfConstPointer
 
typedef SmartPointer< SelfPointer
 
typedef LightObject Self
 

Public Member Functions

virtual const char * GetNameOfClass () const
 
- Public Member Functions inherited from itk::LightObject
virtual Pointer CreateAnother () const
 
virtual void Delete ()
 
virtual int GetReferenceCount () const
 
 itkCloneMacro (Self)
 
void Print (std::ostream &os, Indent indent=0) const
 
virtual void Register () const
 
virtual void SetReferenceCount (int)
 
virtual void UnRegister () const noexcept
 

Static Public Member Functions

static bool CanCompute (const itk::ImageBase< 2 > *panchromaticImage, const itk::ImageBase< 2 > *xsImage)
 
static TransformType::Pointer Compute (const itk::ImageBase< 2 > *panchromaticImage, const itk::ImageBase< 2 > *xsImage)
 
static OffsetType ComputeOffset (const itk::ImageBase< 2 > *panchromaticImage, const itk::ImageBase< 2 > *xsImage)
 
- Static Public Member Functions inherited from itk::LightObject
static void BreakOnError ()
 
static Pointer New ()
 

Private Member Functions

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

Additional Inherited Members

- Protected Member Functions inherited from itk::LightObject
virtual LightObject::Pointer InternalClone () const
 
 LightObject ()
 
virtual void PrintHeader (std::ostream &os, Indent indent) const
 
virtual void PrintSelf (std::ostream &os, Indent indent) const
 
virtual void PrintTrailer (std::ostream &os, Indent indent) const
 
virtual ~LightObject ()
 
- Protected Attributes inherited from itk::LightObject
AtomicInt< int > m_ReferenceCount
 

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 pancrhomatic 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 53 of file otbPleiadesPToXSAffineTransformCalculator.h.

Member Typedef Documentation

Definition at line 60 of file otbPleiadesPToXSAffineTransformCalculator.h.

Definition at line 65 of file otbPleiadesPToXSAffineTransformCalculator.h.

Definition at line 59 of file otbPleiadesPToXSAffineTransformCalculator.h.

Definition at line 57 of file otbPleiadesPToXSAffineTransformCalculator.h.

Definition at line 58 of file otbPleiadesPToXSAffineTransformCalculator.h.

Definition at line 62 of file otbPleiadesPToXSAffineTransformCalculator.h.

Constructor & Destructor Documentation

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

Member Function Documentation

static bool otb::PleiadesPToXSAffineTransformCalculator::CanCompute ( const itk::ImageBase< 2 > *  panchromaticImage,
const itk::ImageBase< 2 > *  xsImage 
)
static

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

  • Both images are successfully undertood by OTB as Pleiades images,
  • Both images processing level is SENSOR",
  • XS and Pan ids (except last 4 letters) are equal.
    Returns
    True if the calculation applies
static TransformType::Pointer otb::PleiadesPToXSAffineTransformCalculator::Compute ( const itk::ImageBase< 2 > *  panchromaticImage,
const itk::ImageBase< 2 > *  xsImage 
)
static

This function computes the transform for a pair of image. 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 images support data and builds a transform that will exactly coregister the images.

Returns
The computed transform
static OffsetType otb::PleiadesPToXSAffineTransformCalculator::ComputeOffset ( const itk::ImageBase< 2 > *  panchromaticImage,
const itk::ImageBase< 2 > *  xsImage 
)
static

This function computes the offset in pan pixels for a pair of image. 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
virtual const char* otb::PleiadesPToXSAffineTransformCalculator::GetNameOfClass ( ) const
virtual

Reimplemented from itk::LightObject.

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

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