OTB
9.0.0
Orfeo Toolbox
|
#include <otbLeastSquareAffineTransformEstimator.h>
Public Types | |
typedef AffineTransformType::Pointer | AffineTransformPointerType |
typedef itk::AffineTransform< PrecisionType, PointDimension > | AffineTransformType |
typedef itk::SmartPointer< const Self > | ConstPointer |
typedef itk::CovariantVector< PrecisionType, PointDimension > | CovariantVectorType |
typedef itk::Matrix< PrecisionType, PointDimension, PointDimension > | MatrixType |
typedef itk::SmartPointer< Self > | Pointer |
typedef TPoint | PointType |
typedef PointType::CoordRepType | PrecisionType |
typedef LeastSquareAffineTransformEstimator | Self |
typedef itk::Object | Superclass |
typedef std::vector< TiePointsType > | TiePointsContainerType |
typedef std::pair< PointType, PointType > | TiePointsType |
typedef itk::Vector< PrecisionType, PointDimension > | VectorType |
Public Member Functions | |
void | AddTiePoints (const PointType &src, const PointType &dst) |
void | ClearTiePoints () |
void | Compute () |
virtual ::itk::LightObject::Pointer | CreateAnother (void) const |
virtual const MatrixType & | GetMatrix () const |
virtual const char * | GetNameOfClass () const |
virtual const VectorType & | GetOffset () const |
virtual const CovariantVectorType & | GetRelativeResidual () const |
virtual const CovariantVectorType & | GetRMSError () const |
TiePointsContainerType & | GetTiePointsContainer () |
itkGetObjectMacro (AffineTransform, AffineTransformType) | |
void | SetTiePointsContainer (const TiePointsContainerType &container) |
Static Public Member Functions | |
static Pointer | New () |
Static Public Attributes | |
static const unsigned int | PointDimension = TPoint::PointDimension |
Protected Member Functions | |
LeastSquareAffineTransformEstimator () | |
void | PrintSelf (std::ostream &os, itk::Indent indent) const override |
~LeastSquareAffineTransformEstimator () override | |
Private Member Functions | |
LeastSquareAffineTransformEstimator (const Self &)=delete | |
void | operator= (const Self &)=delete |
This class provide the affine transform LSQR estimation.
This class uses the classical least square optimisation to estimate an affine transform from a set of tie points.
This implementation supports points of any dimension.
Tie points can be added through the AddTiePoints() method.
The ClearTiePoints() method allows removing all the tie points that has been previously set.
Once all the tie points have been fed into the estimator, the Compute() method will perform the optimization.
Matrix of the estimated affine transform can be retrieved using the GetMatrix() method.
Offset of the estimated affine transform can be retrieved using the GetOffset() method.
Alternatively, the GetAffineTransform() methods return a pointer to a fully set-up forward affine transform (
Estimation errors are available per dimension using the GetRMSError() (root mean square location error) or GetRelativeResidual() (relative residual error).
NOTE: All computation are performed in double. Results are casted back to TPoint::CoordRepType.
Definition at line 69 of file otbLeastSquareAffineTransformEstimator.h.
typedef AffineTransformType::Pointer otb::LeastSquareAffineTransformEstimator< TPoint >::AffineTransformPointerType |
Definition at line 98 of file otbLeastSquareAffineTransformEstimator.h.
typedef itk::AffineTransform<PrecisionType, PointDimension> otb::LeastSquareAffineTransformEstimator< TPoint >::AffineTransformType |
Definition at line 97 of file otbLeastSquareAffineTransformEstimator.h.
typedef itk::SmartPointer<const Self> otb::LeastSquareAffineTransformEstimator< TPoint >::ConstPointer |
Definition at line 76 of file otbLeastSquareAffineTransformEstimator.h.
typedef itk::CovariantVector<PrecisionType, PointDimension> otb::LeastSquareAffineTransformEstimator< TPoint >::CovariantVectorType |
Definition at line 90 of file otbLeastSquareAffineTransformEstimator.h.
typedef itk::Matrix<PrecisionType, PointDimension, PointDimension> otb::LeastSquareAffineTransformEstimator< TPoint >::MatrixType |
Affine transform components typedefs
Definition at line 95 of file otbLeastSquareAffineTransformEstimator.h.
typedef itk::SmartPointer<Self> otb::LeastSquareAffineTransformEstimator< TPoint >::Pointer |
Definition at line 75 of file otbLeastSquareAffineTransformEstimator.h.
typedef TPoint otb::LeastSquareAffineTransformEstimator< TPoint >::PointType |
Points typedefs
Definition at line 88 of file otbLeastSquareAffineTransformEstimator.h.
typedef PointType::CoordRepType otb::LeastSquareAffineTransformEstimator< TPoint >::PrecisionType |
Definition at line 89 of file otbLeastSquareAffineTransformEstimator.h.
typedef LeastSquareAffineTransformEstimator otb::LeastSquareAffineTransformEstimator< TPoint >::Self |
Standard class typedefs.
Definition at line 73 of file otbLeastSquareAffineTransformEstimator.h.
typedef itk::Object otb::LeastSquareAffineTransformEstimator< TPoint >::Superclass |
Definition at line 74 of file otbLeastSquareAffineTransformEstimator.h.
typedef std::vector<TiePointsType> otb::LeastSquareAffineTransformEstimator< TPoint >::TiePointsContainerType |
Definition at line 92 of file otbLeastSquareAffineTransformEstimator.h.
typedef std::pair<PointType, PointType> otb::LeastSquareAffineTransformEstimator< TPoint >::TiePointsType |
Definition at line 91 of file otbLeastSquareAffineTransformEstimator.h.
typedef itk::Vector<PrecisionType, PointDimension> otb::LeastSquareAffineTransformEstimator< TPoint >::VectorType |
Definition at line 96 of file otbLeastSquareAffineTransformEstimator.h.
|
protected |
Constructor
Definition at line 35 of file otbLeastSquareAffineTransformEstimator.hxx.
References otb::LeastSquareAffineTransformEstimator< TPoint >::m_AffineTransform.
|
overrideprotected |
Destructor
Definition at line 43 of file otbLeastSquareAffineTransformEstimator.hxx.
|
privatedelete |
void otb::LeastSquareAffineTransformEstimator< TPoint >::AddTiePoints | ( | const PointType & | src, |
const PointType & | dst | ||
) |
Add a pair of tie points
Definition at line 69 of file otbLeastSquareAffineTransformEstimator.hxx.
void otb::LeastSquareAffineTransformEstimator< TPoint >::ClearTiePoints |
Clear all tie points
Definition at line 62 of file otbLeastSquareAffineTransformEstimator.hxx.
void otb::LeastSquareAffineTransformEstimator< TPoint >::Compute |
The Compute method does the affine least square estimation
Definition at line 79 of file otbLeastSquareAffineTransformEstimator.hxx.
References otbMsgDebugMacro.
virtual::itk::LightObject::Pointer otb::LeastSquareAffineTransformEstimator< TPoint >::CreateAnother | ( | void | ) | const |
|
virtual |
Get the affine transform matrix
|
virtual |
Run-time type information (and related methods).
|
virtual |
Get the affine transform offset
|
virtual |
Get the relative residual
|
virtual |
Get the RMS error
LeastSquareAffineTransformEstimator< TPoint >::TiePointsContainerType & otb::LeastSquareAffineTransformEstimator< TPoint >::GetTiePointsContainer |
Get the GCPsContainer
Definition at line 50 of file otbLeastSquareAffineTransformEstimator.hxx.
otb::LeastSquareAffineTransformEstimator< TPoint >::itkGetObjectMacro | ( | AffineTransform | , |
AffineTransformType | |||
) |
Get the estimated affine transform
|
static |
Method for creation through the object factory.
|
privatedelete |
|
overrideprotected |
The PrintSelf method
Definition at line 165 of file otbLeastSquareAffineTransformEstimator.hxx.
void otb::LeastSquareAffineTransformEstimator< TPoint >::SetTiePointsContainer | ( | const TiePointsContainerType & | container | ) |
Set the GCP container
Definition at line 56 of file otbLeastSquareAffineTransformEstimator.hxx.
|
private |
Affine transform
Definition at line 161 of file otbLeastSquareAffineTransformEstimator.h.
Referenced by otb::LeastSquareAffineTransformEstimator< TPoint >::LeastSquareAffineTransformEstimator().
|
private |
Affine transform matrix
Definition at line 155 of file otbLeastSquareAffineTransformEstimator.h.
|
private |
Affine transform offset
Definition at line 158 of file otbLeastSquareAffineTransformEstimator.h.
|
private |
Relative residual
Definition at line 152 of file otbLeastSquareAffineTransformEstimator.h.
|
private |
RMS error
Definition at line 149 of file otbLeastSquareAffineTransformEstimator.h.
|
private |
Container of GCPs
Definition at line 146 of file otbLeastSquareAffineTransformEstimator.h.
|
static |
Extract dimension from input and output image.
Definition at line 85 of file otbLeastSquareAffineTransformEstimator.h.