NifTK  16.4.1 - 0798f20
CMIC's Translational Medical Imaging Platform
Public Types | Public Member Functions | Static Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
itk::PerspectiveProjectionTransform< TScalarType > Class Template Reference

PerspectiveProjectionTransform of a vector space (e.g. space coordinates) More...

Inheritance diagram for itk::PerspectiveProjectionTransform< TScalarType >:
Inheritance graph
[legend]
Collaboration diagram for itk::PerspectiveProjectionTransform< TScalarType >:
Collaboration graph
[legend]

Public Types

typedef
PerspectiveProjectionTransform 
Self
 
typedef Transform< TScalarType,
itkGetStaticConstMacro(InputSpaceDimension),
itkGetStaticConstMacro(OutputSpaceDimension)> 
Superclass
 
typedef SmartPointer< SelfPointer
 
typedef SmartPointer< const SelfConstPointer
 
typedef Superclass::ScalarType ScalarType
 
typedef Superclass::ParametersType ParametersType
 
typedef Superclass::JacobianType JacobianType
 
typedef Matrix< TScalarType,
itkGetStaticConstMacro(InputSpaceDimension+1),
itkGetStaticConstMacro(InputSpaceDimension+1)> 
MatrixType
 
typedef Vector< TScalarType,
itkGetStaticConstMacro(InputSpaceDimension)> 
InputVectorType
 
typedef Vector< TScalarType,
itkGetStaticConstMacro(OutputSpaceDimension)> 
OutputVectorType
 
typedef Point< TScalarType,
itkGetStaticConstMacro(InputSpaceDimension)> 
InputPointType
 
typedef Point< TScalarType,
itkGetStaticConstMacro(OutputSpaceDimension)> 
OutputPointType
 

Public Member Functions

 itkStaticConstMacro (InputSpaceDimension, unsigned int, 3)
 
 itkStaticConstMacro (OutputSpaceDimension, unsigned int, 2)
 
 itkStaticConstMacro (SpaceDimension, unsigned int, 3)
 
 itkStaticConstMacro (ParametersDimension, unsigned int, 3)
 
virtual const char * GetClassName () const
 
void SetParameters (const ParametersType &parameters)
 
const ParametersTypeGetParameters () const
 
virtual void SetFixedParameters (const ParametersType &)
 
virtual const ParametersTypeGetFixedParameters (void) const
 
void SetFocalDistance (TScalarType focalDistance)
 
double GetFocalDistance (void) const
 
void SetOriginIn2D (TScalarType u0, TScalarType v0)
 
void SetK1IsNegative (void)
 
void SetK2IsNegative (void)
 
void GetOriginIn2D (TScalarType &u0, TScalarType &v0)
 
MatrixType GetMatrix () const
 
OutputPointType TransformPoint (const InputPointType &point) const
 
virtual const JacobianType GetJacobian (const InputPointType &point) const
 
virtual void ComputeJacobianWithRespectToParameters (const InputPointType &point, JacobianType &jacobian) const
 

Static Public Member Functions

static Pointer New ()
 

Protected Member Functions

 PerspectiveProjectionTransform ()
 
 ~PerspectiveProjectionTransform ()
 
void PrintSelf (std::ostream &os, Indent indent) const
 

Protected Attributes

double m_k1
 
double m_k2
 

Detailed Description

template<class TScalarType = double>
class itk::PerspectiveProjectionTransform< TScalarType >

PerspectiveProjectionTransform of a vector space (e.g. space coordinates)

This transform applies a projection of 3D space to 2D space along the Z axis. It differs from class Rigid3DTransform in that there is no rigid component but also in that the parameters are the three perspective projection parameters.

Member Typedef Documentation

template<class TScalarType = double>
typedef SmartPointer<const Self> itk::PerspectiveProjectionTransform< TScalarType >::ConstPointer
template<class TScalarType = double>
typedef Point<TScalarType, itkGetStaticConstMacro(InputSpaceDimension)> itk::PerspectiveProjectionTransform< TScalarType >::InputPointType

Standard coordinate point type for this class.

template<class TScalarType = double>
typedef Vector<TScalarType, itkGetStaticConstMacro(InputSpaceDimension)> itk::PerspectiveProjectionTransform< TScalarType >::InputVectorType

Standard vector type for this class.

template<class TScalarType = double>
typedef Superclass::JacobianType itk::PerspectiveProjectionTransform< TScalarType >::JacobianType

Jacobian type.

template<class TScalarType = double>
typedef Matrix<TScalarType, itkGetStaticConstMacro(InputSpaceDimension + 1), itkGetStaticConstMacro(InputSpaceDimension + 1)> itk::PerspectiveProjectionTransform< TScalarType >::MatrixType

Standard matrix type for this class.

template<class TScalarType = double>
typedef Point<TScalarType, itkGetStaticConstMacro(OutputSpaceDimension)> itk::PerspectiveProjectionTransform< TScalarType >::OutputPointType
template<class TScalarType = double>
typedef Vector<TScalarType, itkGetStaticConstMacro(OutputSpaceDimension)> itk::PerspectiveProjectionTransform< TScalarType >::OutputVectorType
template<class TScalarType = double>
typedef Superclass::ParametersType itk::PerspectiveProjectionTransform< TScalarType >::ParametersType

Parameters type.

template<class TScalarType = double>
typedef SmartPointer<Self> itk::PerspectiveProjectionTransform< TScalarType >::Pointer
template<class TScalarType = double>
typedef Superclass::ScalarType itk::PerspectiveProjectionTransform< TScalarType >::ScalarType

Scalar type.

template<class TScalarType = double>
typedef PerspectiveProjectionTransform itk::PerspectiveProjectionTransform< TScalarType >::Self

Standard class typedefs.

template<class TScalarType = double>
typedef Transform< TScalarType, itkGetStaticConstMacro(InputSpaceDimension), itkGetStaticConstMacro(OutputSpaceDimension)> itk::PerspectiveProjectionTransform< TScalarType >::Superclass

Constructor & Destructor Documentation

template<class TScalarType = double>
itk::PerspectiveProjectionTransform< TScalarType >::PerspectiveProjectionTransform ( )
protected
template<class TScalarType = double>
itk::PerspectiveProjectionTransform< TScalarType >::~PerspectiveProjectionTransform ( )
protected

Member Function Documentation

template<class TScalarType = double>
virtual void itk::PerspectiveProjectionTransform< TScalarType >::ComputeJacobianWithRespectToParameters ( const InputPointType point,
JacobianType jacobian 
) const
virtual
template<class TScalarType = double>
virtual const char* itk::PerspectiveProjectionTransform< TScalarType >::GetClassName ( ) const
virtual

Run-time type information (and related methods).

template<class TScalarType = double>
virtual const ParametersType& itk::PerspectiveProjectionTransform< TScalarType >::GetFixedParameters ( void  ) const
inlinevirtual

Get the Fixed Parameters.

template<class TScalarType = double>
double itk::PerspectiveProjectionTransform< TScalarType >::GetFocalDistance ( void  ) const
inline

Return the Focal Distance

template<class TScalarType = double>
virtual const JacobianType itk::PerspectiveProjectionTransform< TScalarType >::GetJacobian ( const InputPointType point) const
virtual

Compute the Jacobian Matrix of the transformation at one point

template<class TScalarType = double>
MatrixType itk::PerspectiveProjectionTransform< TScalarType >::GetMatrix ( ) const

Get the 3x4 projection matrix matrix.

template<class TScalarType = double>
void itk::PerspectiveProjectionTransform< TScalarType >::GetOriginIn2D ( TScalarType &  u0,
TScalarType &  v0 
)
inline

Get the origin of the 2D projection image.

template<class TScalarType = double>
const ParametersType& itk::PerspectiveProjectionTransform< TScalarType >::GetParameters ( ) const
template<class TScalarType = double>
itk::PerspectiveProjectionTransform< TScalarType >::itkStaticConstMacro ( InputSpaceDimension  ,
unsigned  int,
 
)

Dimension of the domain space.

template<class TScalarType = double>
itk::PerspectiveProjectionTransform< TScalarType >::itkStaticConstMacro ( OutputSpaceDimension  ,
unsigned  int,
 
)
template<class TScalarType = double>
itk::PerspectiveProjectionTransform< TScalarType >::itkStaticConstMacro ( SpaceDimension  ,
unsigned  int,
 
)

Dimension of parameters.

template<class TScalarType = double>
itk::PerspectiveProjectionTransform< TScalarType >::itkStaticConstMacro ( ParametersDimension  ,
unsigned  int,
 
)
template<class TScalarType = double>
static Pointer itk::PerspectiveProjectionTransform< TScalarType >::New ( )
static

New macro for creation of through a Smart Pointer.

template<class TScalarType = double>
void itk::PerspectiveProjectionTransform< TScalarType >::PrintSelf ( std::ostream &  os,
Indent  indent 
) const
protected
template<class TScalarType = double>
virtual void itk::PerspectiveProjectionTransform< TScalarType >::SetFixedParameters ( const ParametersType )
inlinevirtual

There are no fixed parameters in the perspective transformation.

template<class TScalarType = double>
void itk::PerspectiveProjectionTransform< TScalarType >::SetFocalDistance ( TScalarType  focalDistance)
inline

Set the Focal Distance of the projection This method sets the focal distance for the perspective projection to a value specified by the user.

template<class TScalarType = double>
void itk::PerspectiveProjectionTransform< TScalarType >::SetK1IsNegative ( void  )
inline

Set the coefficient indicating that the the 'x' dimension of the 2D projection is inverted

template<class TScalarType = double>
void itk::PerspectiveProjectionTransform< TScalarType >::SetK2IsNegative ( void  )
inline

Set the coefficient indicating that the the 'y' dimension of the 2D projection is inverted

template<class TScalarType = double>
void itk::PerspectiveProjectionTransform< TScalarType >::SetOriginIn2D ( TScalarType  u0,
TScalarType  v0 
)
inline

Set the origin of the 2D projection image.

template<class TScalarType = double>
void itk::PerspectiveProjectionTransform< TScalarType >::SetParameters ( const ParametersType parameters)

Set/Get the transformation from a container of parameters. This is typically used by optimizers. There are 6 parameters. The first three represent the versor and the last three represents the offset.

template<class TScalarType = double>
OutputPointType itk::PerspectiveProjectionTransform< TScalarType >::TransformPoint ( const InputPointType point) const

Transform by a PerspectiveProjectionTransform. This method applies the transform given by self to a given point, returning the transformed point.

Member Data Documentation

template<class TScalarType = double>
double itk::PerspectiveProjectionTransform< TScalarType >::m_k1
protected
template<class TScalarType = double>
double itk::PerspectiveProjectionTransform< TScalarType >::m_k2
protected

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