SimpleITK  
Classes | Public Types | Public Member Functions | Protected Member Functions | Private Member Functions | Private Attributes | List of all members
itk::simple::AffineTransform Class Reference

An affine transformation about a fixed center with translation for a 2D or 3D coordinate. More...

#include <sitkAffineTransform.h>

+ Inheritance diagram for itk::simple::AffineTransform:
+ Collaboration diagram for itk::simple::AffineTransform:

Detailed Description

An affine transformation about a fixed center with translation for a 2D or 3D coordinate.

See also
itk::AffineTransform
Examples
ImageRegistrationMethodDisplacement1/ImageRegistrationMethodDisplacement1.cxx.

Definition at line 33 of file sitkAffineTransform.h.

Classes

struct  MyVisitor
 

Public Types

using Self = AffineTransform
 
using Superclass = Transform
 
- Public Types inherited from itk::simple::Transform
using Self = Transform
 

Public Member Functions

 AffineTransform (const AffineTransform &)
 
 AffineTransform (const std::vector< double > &matrix, const std::vector< double > &translation, const std::vector< double > &fixedCenter=std::vector< double >(3, 0.0))
 
 AffineTransform (const Transform &)
 
 AffineTransform (unsigned int dimensions)
 
std::vector< double > GetCenter () const
 
std::vector< double > GetMatrix () const
 
std::string GetName () const override
 
std::vector< double > GetTranslation () const
 
AffineTransformoperator= (const AffineTransform &)
 
SelfRotate (int axis1, int axis2, double angle, bool pre=false)
 
SelfScale (const std::vector< double > &factor, bool pre=false)
 
SelfScale (double factor, bool pre=false)
 
SelfSetCenter (const std::vector< double > &params)
 
SelfSetMatrix (const std::vector< double > &matrix)
 
SelfSetTranslation (const std::vector< double > &translation)
 
SelfShear (int axis1, int axis2, double coef, bool pre=false)
 
SelfTranslate (const std::vector< double > &offset, bool pre=false)
 
 ~AffineTransform () override
 
- Public Member Functions inherited from itk::simple::Transform
unsigned int GetDimension () const
 
Transform GetInverse () const
 Return a new inverse transform of the same type as this. More...
 
unsigned int GetNumberOfFixedParameters () const
 
unsigned int GetNumberOfParameters () const
 
TransformEnum GetTransformEnum () const
 Get the TransformEnum of the underlying Transform. More...
 
virtual bool IsLinear () const
 
void MakeUnique ()
 Performs actually coping if needed to make object unique. More...
 
virtual void SetIdentity ()
 
virtual bool SetInverse ()
 Try to change the current transform to it's inverse. More...
 
std::string ToString () const
 
 Transform ()
 By default a 3-d identity transform is constructed. More...
 
 Transform (Image &displacement, TransformEnum type=sitkDisplacementField)
 Use an image to construct a transform. More...
 
template<unsigned int NDimension>
 Transform (itk::CompositeTransform< double, NDimension > *compositeTransform)
 Construct a SimpleITK Transform from a pointer to an ITK composite transform. More...
 
 Transform (itk::TransformBase *transform)
 
 Transform (unsigned int dimensions, TransformEnum type)
 Construct a specific transformation. More...
 
std::vector< double > TransformPoint (const std::vector< double > &point) const
 
std::vector< double > TransformVector (const std::vector< double > &vector, const std::vector< double > &point) const
 
void WriteTransform (const std::string &filename) const
 
virtual ~Transform ()
 
Transformoperator= (const Transform &)
 Copy constructor and assignment operator. More...
 
 Transform (const Transform &)
 Copy constructor and assignment operator. More...
 
itk::TransformBaseGetITKBase ()
 
const itk::TransformBaseGetITKBase () const
 
void SetParameters (const std::vector< double > &parameters)
 
std::vector< double > GetParameters () const
 
void SetFixedParameters (const std::vector< double > &parameters)
 
std::vector< double > GetFixedParameters () const
 

Protected Member Functions

void SetPimpleTransform (std::unique_ptr< PimpleTransformBase > &&pimpleTransform) override
 
- Protected Member Functions inherited from itk::simple::Transform
 Transform (PimpleTransformBase *pimpleTransform)
 

Private Member Functions

void InternalInitialization (itk::TransformBase *transform)
 
template<typename TransformType >
void InternalInitialization (TransformType *transform)
 

Private Attributes

std::function< std::vector< double >)> m_pfGetCenter
 
std::function< std::vector< double >)> m_pfGetMatrix
 
std::function< std::vector< double >)> m_pfGetTranslation
 
std::function< void(int, int, double, bool)> m_pfRotate
 
std::function< void(const std::vector< double > &, bool)> m_pfScale1
 
std::function< void(double, bool)> m_pfScale2
 
std::function< void(const std::vector< double > &)> m_pfSetCenter
 
std::function< void(const std::vector< double > &)> m_pfSetMatrix
 
std::function< void(const std::vector< double > &)> m_pfSetTranslation
 
std::function< void(int, int, double, bool)> m_pfShear
 
std::function< void(const std::vector< double > &, bool)> m_pfTranslate
 

Member Typedef Documentation

◆ Self

Definition at line 36 of file sitkAffineTransform.h.

◆ Superclass

Definition at line 37 of file sitkAffineTransform.h.

Constructor & Destructor Documentation

◆ ~AffineTransform()

itk::simple::AffineTransform::~AffineTransform ( )
override

◆ AffineTransform() [1/4]

itk::simple::AffineTransform::AffineTransform ( unsigned int  dimensions)
explicit

◆ AffineTransform() [2/4]

itk::simple::AffineTransform::AffineTransform ( const AffineTransform )

◆ AffineTransform() [3/4]

itk::simple::AffineTransform::AffineTransform ( const Transform )
explicit

◆ AffineTransform() [4/4]

itk::simple::AffineTransform::AffineTransform ( const std::vector< double > &  matrix,
const std::vector< double > &  translation,
const std::vector< double > &  fixedCenter = std::vector< double >(3, 0.0) 
)

Member Function Documentation

◆ GetCenter()

std::vector<double> itk::simple::AffineTransform::GetCenter ( ) const

◆ GetMatrix()

std::vector<double> itk::simple::AffineTransform::GetMatrix ( ) const

◆ GetName()

std::string itk::simple::AffineTransform::GetName ( ) const
inlineoverridevirtual

Name of this class

Reimplemented from itk::simple::Transform.

Definition at line 57 of file sitkAffineTransform.h.

◆ GetTranslation()

std::vector<double> itk::simple::AffineTransform::GetTranslation ( ) const

parameters

◆ InternalInitialization() [1/2]

void itk::simple::AffineTransform::InternalInitialization ( itk::TransformBase transform)
private

◆ InternalInitialization() [2/2]

template<typename TransformType >
void itk::simple::AffineTransform::InternalInitialization ( TransformType *  transform)
private

◆ operator=()

AffineTransform& itk::simple::AffineTransform::operator= ( const AffineTransform )

◆ Rotate()

Self& itk::simple::AffineTransform::Rotate ( int  axis1,
int  axis2,
double  angle,
bool  pre = false 
)

◆ Scale() [1/2]

Self& itk::simple::AffineTransform::Scale ( const std::vector< double > &  factor,
bool  pre = false 
)

additional methods

◆ Scale() [2/2]

Self& itk::simple::AffineTransform::Scale ( double  factor,
bool  pre = false 
)

◆ SetCenter()

Self& itk::simple::AffineTransform::SetCenter ( const std::vector< double > &  params)

fixed parameter

◆ SetMatrix()

Self& itk::simple::AffineTransform::SetMatrix ( const std::vector< double > &  matrix)

◆ SetPimpleTransform()

void itk::simple::AffineTransform::SetPimpleTransform ( std::unique_ptr< PimpleTransformBase > &&  pimpleTransform)
overrideprotectedvirtual

Reimplemented from itk::simple::Transform.

◆ SetTranslation()

Self& itk::simple::AffineTransform::SetTranslation ( const std::vector< double > &  translation)

◆ Shear()

Self& itk::simple::AffineTransform::Shear ( int  axis1,
int  axis2,
double  coef,
bool  pre = false 
)

◆ Translate()

Self& itk::simple::AffineTransform::Translate ( const std::vector< double > &  offset,
bool  pre = false 
)

Member Data Documentation

◆ m_pfGetCenter

std::function<std::vector<double>)> itk::simple::AffineTransform::m_pfGetCenter
private

Definition at line 124 of file sitkAffineTransform.h.

◆ m_pfGetMatrix

std::function<std::vector<double>)> itk::simple::AffineTransform::m_pfGetMatrix
private

Definition at line 126 of file sitkAffineTransform.h.

◆ m_pfGetTranslation

std::function<std::vector<double>)> itk::simple::AffineTransform::m_pfGetTranslation
private

Definition at line 128 of file sitkAffineTransform.h.

◆ m_pfRotate

std::function<void(int, int, double, bool)> itk::simple::AffineTransform::m_pfRotate
private

Definition at line 134 of file sitkAffineTransform.h.

◆ m_pfScale1

std::function<void(const std::vector<double> &, bool)> itk::simple::AffineTransform::m_pfScale1
private

Definition at line 130 of file sitkAffineTransform.h.

◆ m_pfScale2

std::function<void(double, bool)> itk::simple::AffineTransform::m_pfScale2
private

Definition at line 131 of file sitkAffineTransform.h.

◆ m_pfSetCenter

std::function<void(const std::vector<double> &)> itk::simple::AffineTransform::m_pfSetCenter
private

Definition at line 123 of file sitkAffineTransform.h.

◆ m_pfSetMatrix

std::function<void(const std::vector<double> &)> itk::simple::AffineTransform::m_pfSetMatrix
private

Definition at line 125 of file sitkAffineTransform.h.

◆ m_pfSetTranslation

std::function<void(const std::vector<double> &)> itk::simple::AffineTransform::m_pfSetTranslation
private

Definition at line 127 of file sitkAffineTransform.h.

◆ m_pfShear

std::function<void(int, int, double, bool)> itk::simple::AffineTransform::m_pfShear
private

Definition at line 132 of file sitkAffineTransform.h.

◆ m_pfTranslate

std::function<void(const std::vector<double> &, bool)> itk::simple::AffineTransform::m_pfTranslate
private

Definition at line 133 of file sitkAffineTransform.h.


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