OTB  10.0.0
Orfeo Toolbox
Public Types | Public Member Functions | Static Public Member Functions | Protected Member Functions | Private Member Functions | Private Attributes | List of all members
otb::BilinearProjection Class Reference

#include <otbBilinearProjection.h>

+ Inheritance diagram for otb::BilinearProjection:
+ Collaboration diagram for otb::BilinearProjection:

Public Types

using ConstPointer = itk::SmartPointer< const Self >
 
using LSQREstimatorType = otb::LeastSquareBilinearTransformEstimator< Point2DType >
 
using MatrixType = itk::Matrix< double, 3, 1 >
 
using Point2DType = itk::Point< double, 2 >
 
using Point3DType = itk::Point< double, 3 >
 
using Pointer = itk::SmartPointer< Self >
 
using Self = BilinearProjection
 
using SuperClass = itk::Object
 

Public Member Functions

void computeLS ()
 
virtual ::itk::LightObject::Pointer CreateAnother (void) const
 
const std::vector< Point2DType > & getLineSamplePoints () const
 
virtual const char * GetNameOfClass () const
 
const std::vector< Point3DType > & getWorldPoints () const
 
bool imgPointsHaveNan ()
 
Point3DType lineSampleHeightToWorld (Point2DType lineSampPt, double heightAboveEllipsoid) const
 
Point3DType lineSampleToWorld (Point2DType lineSampPt) const
 
void setLineSamplePoints (const std::vector< Point2DType > &lsPt)
 
void setWorldPoints (const std::vector< Point3DType > &wPt)
 
bool worldPointsHaveNan ()
 
Point2DType worldToLineSample (const Point3DType &worldPoint) const
 

Static Public Member Functions

static Pointer New ()
 

Protected Member Functions

 BilinearProjection ()
 
 BilinearProjection (const Point2DType &ul, const Point2DType &ur, const Point2DType &lr, const Point2DType &ll, const Point3DType &ulg, const Point3DType &urg, const Point3DType &lrg, const Point3DType &llg)
 
virtual ~BilinearProjection ()=default
 

Private Member Functions

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

Private Attributes

LSQREstimatorType::Pointer m_LatFit
 
std::vector< Point2DTypem_LineSamplePoints
 
LSQREstimatorType::Pointer m_LonFit
 
std::vector< Point3DTypem_worldPoints
 
LSQREstimatorType::Pointer m_XFit
 
LSQREstimatorType::Pointer m_YFit
 

Detailed Description

Computes a bilinear projection after init with reference points.

Definition at line 38 of file otbBilinearProjection.h.

Member Typedef Documentation

◆ ConstPointer

using otb::BilinearProjection::ConstPointer = itk::SmartPointer<const Self>

Definition at line 46 of file otbBilinearProjection.h.

◆ LSQREstimatorType

Definition at line 49 of file otbBilinearProjection.h.

◆ MatrixType

using otb::BilinearProjection::MatrixType = itk::Matrix<double, 3, 1>

Definition at line 50 of file otbBilinearProjection.h.

◆ Point2DType

using otb::BilinearProjection::Point2DType = itk::Point<double, 2>

Definition at line 47 of file otbBilinearProjection.h.

◆ Point3DType

using otb::BilinearProjection::Point3DType = itk::Point<double, 3>

Definition at line 48 of file otbBilinearProjection.h.

◆ Pointer

using otb::BilinearProjection::Pointer = itk::SmartPointer<Self>

Definition at line 45 of file otbBilinearProjection.h.

◆ Self

Standard class usings.

Definition at line 43 of file otbBilinearProjection.h.

◆ SuperClass

Definition at line 44 of file otbBilinearProjection.h.

Constructor & Destructor Documentation

◆ BilinearProjection() [1/3]

otb::BilinearProjection::BilinearProjection ( )
protected

◆ BilinearProjection() [2/3]

otb::BilinearProjection::BilinearProjection ( const Point2DType ul,
const Point2DType ur,
const Point2DType lr,
const Point2DType ll,
const Point3DType ulg,
const Point3DType urg,
const Point3DType lrg,
const Point3DType llg 
)
protected

◆ ~BilinearProjection()

virtual otb::BilinearProjection::~BilinearProjection ( )
protectedvirtualdefault

◆ BilinearProjection() [3/3]

otb::BilinearProjection::BilinearProjection ( const Self )
privatedelete

Member Function Documentation

◆ computeLS()

void otb::BilinearProjection::computeLS ( )

Resolve the bilinear system

◆ CreateAnother()

virtual::itk::LightObject::Pointer otb::BilinearProjection::CreateAnother ( void  ) const

◆ getLineSamplePoints()

const std::vector<Point2DType>& otb::BilinearProjection::getLineSamplePoints ( ) const

◆ GetNameOfClass()

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

Run-time type information (and related methods).

◆ getWorldPoints()

const std::vector<Point3DType>& otb::BilinearProjection::getWorldPoints ( ) const

◆ imgPointsHaveNan()

bool otb::BilinearProjection::imgPointsHaveNan ( )

Return true if there is any nan in the points coordinates

◆ lineSampleHeightToWorld()

Point3DType otb::BilinearProjection::lineSampleHeightToWorld ( Point2DType  lineSampPt,
double  heightAboveEllipsoid 
) const

METHOD: lineSampleHeightToWorld This projects the image point to the given elevation above ellipsoid, thereby bypassing reference to a DEM. Useful for projections that are sensitive to elevation (such as sensor models).

Returns
image point to world point at given height

◆ lineSampleToWorld()

Point3DType otb::BilinearProjection::lineSampleToWorld ( Point2DType  lineSampPt) const

METHOD: lineSampleToWorld() Performs the inverse projection from line, sample to ground (world):

Returns
line sample to 3D pos at height 0.0

◆ New()

static Pointer otb::BilinearProjection::New ( )
static

Method for creation through the object factory.

◆ operator=()

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

◆ setLineSamplePoints()

void otb::BilinearProjection::setLineSamplePoints ( const std::vector< Point2DType > &  lsPt)

◆ setWorldPoints()

void otb::BilinearProjection::setWorldPoints ( const std::vector< Point3DType > &  wPt)

◆ worldPointsHaveNan()

bool otb::BilinearProjection::worldPointsHaveNan ( )

Return true if there is any nan in the points coordinates

◆ worldToLineSample()

Point2DType otb::BilinearProjection::worldToLineSample ( const Point3DType worldPoint) const

Member Data Documentation

◆ m_LatFit

LSQREstimatorType::Pointer otb::BilinearProjection::m_LatFit
private

Definition at line 113 of file otbBilinearProjection.h.

◆ m_LineSamplePoints

std::vector<Point2DType> otb::BilinearProjection::m_LineSamplePoints
private

Definition at line 110 of file otbBilinearProjection.h.

◆ m_LonFit

LSQREstimatorType::Pointer otb::BilinearProjection::m_LonFit
private

Definition at line 112 of file otbBilinearProjection.h.

◆ m_worldPoints

std::vector<Point3DType> otb::BilinearProjection::m_worldPoints
private

Definition at line 111 of file otbBilinearProjection.h.

◆ m_XFit

LSQREstimatorType::Pointer otb::BilinearProjection::m_XFit
private

Definition at line 114 of file otbBilinearProjection.h.

◆ m_YFit

LSQREstimatorType::Pointer otb::BilinearProjection::m_YFit
private

Definition at line 115 of file otbBilinearProjection.h.


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