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:

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
 

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.

Member Typedef Documentation

◆ Self

Definition at line 37 of file sitkAffineTransform.h.

◆ Superclass

Definition at line 38 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 56 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 107 of file sitkAffineTransform.h.

◆ m_pfGetMatrix

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

Definition at line 109 of file sitkAffineTransform.h.

◆ m_pfGetTranslation

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

Definition at line 111 of file sitkAffineTransform.h.

◆ m_pfRotate

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

Definition at line 117 of file sitkAffineTransform.h.

◆ m_pfScale1

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

Definition at line 113 of file sitkAffineTransform.h.

◆ m_pfScale2

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

Definition at line 114 of file sitkAffineTransform.h.

◆ m_pfSetCenter

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

Definition at line 106 of file sitkAffineTransform.h.

◆ m_pfSetMatrix

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

Definition at line 108 of file sitkAffineTransform.h.

◆ m_pfSetTranslation

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

Definition at line 110 of file sitkAffineTransform.h.

◆ m_pfShear

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

Definition at line 115 of file sitkAffineTransform.h.

◆ m_pfTranslate

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

Definition at line 116 of file sitkAffineTransform.h.


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