Main Page   Groups   Namespace List   Class Hierarchy   Alphabetical List   Compound List   File List   Namespace Members   Compound Members   File Members   Concepts

itk::CenteredAffineTransform< TScalarType, NDimensions > Class Template Reference
[Transforms]

Affine transformation with a specified center of rotation. More...

#include <itkCenteredAffineTransform.h>

Inheritance diagram for itk::CenteredAffineTransform< TScalarType, NDimensions >:

Inheritance graph
[legend]
Collaboration diagram for itk::CenteredAffineTransform< TScalarType, NDimensions >:

Collaboration graph
[legend]

List of all members.

Public Types

typedef Superclass::CenterType CenterType
typedef SmartPointer< const SelfConstPointer
typedef
Superclass::InputCovariantVectorType 
InputCovariantVectorType
typedef Superclass::InputPointType InputPointType
typedef Superclass::InputVectorType InputVectorType
typedef
Superclass::InputVnlVectorType 
InputVnlVectorType
typedef
Superclass::InverseMatrixType 
InverseMatrixType
typedef
InverseTransformBaseType::Pointer 
InverseTransformBasePointer
typedef
Superclass::InverseTransformBaseType 
InverseTransformBaseType
typedef Superclass::JacobianType JacobianType
typedef Superclass::MatrixType MatrixType
typedef Superclass::OffsetType OffsetType
typedef
Superclass::OutputCovariantVectorType 
OutputCovariantVectorType
typedef Superclass::OutputPointType OutputPointType
typedef
Superclass::OutputVectorType 
OutputVectorType
typedef
Superclass::OutputVnlVectorType 
OutputVnlVectorType
typedef Superclass::ParametersType ParametersType
typedef SmartPointer< SelfPointer
typedef Superclass::ScalarType ScalarType
typedef CenteredAffineTransform Self
typedef AffineTransform
< TScalarType, NDimensions > 
Superclass
typedef Superclass::TranslationType TranslationType

Public Member Functions

InputPointType BackTransformPoint (const OutputPointType &point) const
void Compose (const Self *other, bool pre=0)
virtual LightObject::Pointer CreateAnother () const
virtual void DebugOff () const
virtual void DebugOn () const
virtual void Delete ()
const InputPointTypeGetCenter () const
CommandGetCommand (unsigned long tag)
bool GetDebug () const
virtual const ParametersTypeGetFixedParameters (void) const
unsigned int GetInputSpaceDimension (void) const
bool GetInverse (Self *inverse) const
const InverseMatrixTypeGetInverseMatrix (void) const
virtual InverseTransformBasePointer GetInverseTransform () const
const JacobianTypeGetJacobian (const InputPointType &point) const
const MatrixTypeGetMatrix () const
const MetaDataDictionaryGetMetaDataDictionary (void) const
MetaDataDictionaryGetMetaDataDictionary (void)
virtual unsigned long GetMTime () const
virtual const char * GetNameOfClass () const
virtual unsigned int GetNumberOfParameters (void) const
const OutputVectorTypeGetOffset (void) const
unsigned int GetOutputSpaceDimension (void) const
virtual int GetReferenceCount () const
virtual std::string GetTransformTypeAsString () const
const OutputVectorTypeGetTranslation (void) const
bool HasObserver (const EventObject &event) const
void InvokeEvent (const EventObject &) const
void InvokeEvent (const EventObject &)
virtual bool IsLinear () const
ScalarType Metric (void) const
ScalarType Metric (const Self *other) const
virtual void Modified () const
void Print (std::ostream &os, Indent indent=0) const
virtual void Register () const
void RemoveAllObservers ()
void RemoveObserver (unsigned long tag)
void Rotate2D (TScalarType angle, bool pre=0)
void Rotate3D (const OutputVectorType &axis, TScalarType angle, bool pre=0)
void SetDebug (bool debugFlag) const
virtual void SetFixedParameters (const ParametersType &)
virtual void SetIdentity (void)
void SetMetaDataDictionary (const MetaDataDictionary &rhs)
virtual void SetParametersByValue (const ParametersType &p)
virtual void SetReferenceCount (int)
void Shear (int axis1, int axis2, TScalarType coef, bool pre=0)
virtual OutputPointType TransformPoint (const InputPointType &) const
virtual OutputVnlVectorType TransformVector (const InputVnlVectorType &) const
virtual OutputVectorType TransformVector (const InputVectorType &) const
void Translate (const OutputVectorType &offset, bool pre=0)
virtual void UnRegister () const
unsigned long AddObserver (const EventObject &event, Command *) const
unsigned long AddObserver (const EventObject &event, Command *)
InputCovariantVectorType BackTransform (const OutputCovariantVectorType &vector) const
InputVnlVectorType BackTransform (const OutputVnlVectorType &vector) const
InputVectorType BackTransform (const OutputVectorType &vector) const
InputPointType BackTransform (const OutputPointType &point) const
bool GetInverse (Self *inverse) const
virtual const JacobianTypeGetJacobian (const InputPointType &) const
const ParametersTypeGetParameters (void) const
void SetParameters (const ParametersType &parameters)
 itkStaticConstMacro (ParametersDimension, unsigned int, NOutputDimensions *(NInputDimensions+1))
 itkStaticConstMacro (OutputSpaceDimension, unsigned int, NOutputDimensions)
 itkStaticConstMacro (InputSpaceDimension, unsigned int, NInputDimensions)
 itkStaticConstMacro (ParametersDimension, unsigned int, NDimensions *(NDimensions+1))
 itkStaticConstMacro (OutputSpaceDimension, unsigned int, NDimensions)
 itkStaticConstMacro (InputSpaceDimension, unsigned int, NDimensions)
 itkStaticConstMacro (ParametersDimension, unsigned int, NDimensions *(NDimensions+2))
 itkStaticConstMacro (SpaceDimension, unsigned int, NDimensions)
void Rotate (int axis1, int axis2, TScalarType angle, bool pre=0)
void Scale (const TScalarType &factor, bool pre=0)
void Scale (const OutputVectorType &factor, bool pre=0)
void SetCenter (const InputPointType &center)
virtual void SetMatrix (const MatrixType &matrix)
void SetOffset (const OutputVectorType &offset)
void SetTranslation (const OutputVectorType &translation)
OutputCovariantVectorType TransformCovariantVector (const InputCovariantVectorType &vector) const
OutputPointType TransformPoint (const InputPointType &point) const
OutputVnlVectorType TransformVector (const InputVnlVectorType &vector) const
OutputVectorType TransformVector (const InputVectorType &vector) const

Static Public Member Functions

static void BreakOnError ()
static Pointer New ()
static bool GetGlobalWarningDisplay ()
static void GlobalWarningDisplayOff ()
static void GlobalWarningDisplayOn ()
static void SetGlobalWarningDisplay (bool flag)

Protected Types

typedef int InternalReferenceCountType

Protected Member Functions

 CenteredAffineTransform ()
virtual void ComputeMatrix (void)
virtual void ComputeMatrixParameters (void)
virtual void ComputeOffset (void)
virtual void ComputeTranslation (void)
const InverseMatrixTypeGetVarInverseMatrix (void) const
bool InverseMatrixIsOld (void) const
bool PrintObservers (std::ostream &os, Indent indent) const
void PrintSelf (std::ostream &s, Indent indent) const
void SetVarCenter (const InputPointType &center)
void SetVarInverseMatrix (const InverseMatrixType &matrix) const
void SetVarMatrix (const MatrixType &matrix)
void SetVarOffset (const OutputVectorType &offset)
void SetVarTranslation (const OutputVectorType &translation)
virtual ~CenteredAffineTransform ()
virtual void PrintHeader (std::ostream &os, Indent indent) const
virtual void PrintTrailer (std::ostream &os, Indent indent) const

Protected Attributes

ParametersType m_FixedParameters
JacobianType m_Jacobian
ParametersType m_Parameters
InternalReferenceCountType m_ReferenceCount
SimpleFastMutexLock m_ReferenceCountLock


Detailed Description

template<class TScalarType = double, unsigned int NDimensions = 3>
class itk::CenteredAffineTransform< TScalarType, NDimensions >

Affine transformation with a specified center of rotation.

This class implements an Affine transform in which the rotation center can be explicitly selected.

Definition at line 38 of file itkCenteredAffineTransform.h.


Member Typedef Documentation

template<class TScalarType = double, unsigned int NDimensions = 3>
typedef Superclass::CenterType itk::AffineTransform< TScalarType, NDimensions >::CenterType [inherited]

template<class TScalarType = double, unsigned int NDimensions = 3>
typedef SmartPointer<const Self> itk::CenteredAffineTransform< TScalarType, NDimensions >::ConstPointer

Reimplemented from itk::AffineTransform< TScalarType, NDimensions >.

Definition at line 46 of file itkCenteredAffineTransform.h.

template<class TScalarType = double, unsigned int NDimensions = 3>
typedef Superclass::InputCovariantVectorType itk::CenteredAffineTransform< TScalarType, NDimensions >::InputCovariantVectorType

Standard covariant vector type for this class

Reimplemented from itk::AffineTransform< TScalarType, NDimensions >.

Definition at line 68 of file itkCenteredAffineTransform.h.

template<class TScalarType = double, unsigned int NDimensions = 3>
typedef Superclass::InputPointType itk::CenteredAffineTransform< TScalarType, NDimensions >::InputPointType

Standard coordinate point type for this class

Reimplemented from itk::AffineTransform< TScalarType, NDimensions >.

Definition at line 74 of file itkCenteredAffineTransform.h.

template<class TScalarType = double, unsigned int NDimensions = 3>
typedef Superclass::InputVectorType itk::CenteredAffineTransform< TScalarType, NDimensions >::InputVectorType

Standard vector type for this class

Reimplemented from itk::AffineTransform< TScalarType, NDimensions >.

Definition at line 65 of file itkCenteredAffineTransform.h.

template<class TScalarType = double, unsigned int NDimensions = 3>
typedef Superclass::InputVnlVectorType itk::CenteredAffineTransform< TScalarType, NDimensions >::InputVnlVectorType

Standard vnl_vector type for this class

Reimplemented from itk::AffineTransform< TScalarType, NDimensions >.

Definition at line 72 of file itkCenteredAffineTransform.h.

typedef int itk::LightObject::InternalReferenceCountType [protected, inherited]

Define the type of the reference count according to the target. This allows the use of atomic operations

Definition at line 139 of file itkLightObject.h.

template<class TScalarType = double, unsigned int NDimensions = 3>
typedef Superclass::InverseMatrixType itk::AffineTransform< TScalarType, NDimensions >::InverseMatrixType [inherited]

template<class TScalarType = double, unsigned int NDimensions = 3>
typedef InverseTransformBaseType::Pointer itk::CenteredAffineTransform< TScalarType, NDimensions >::InverseTransformBasePointer

Reimplemented from itk::AffineTransform< TScalarType, NDimensions >.

Definition at line 82 of file itkCenteredAffineTransform.h.

template<class TScalarType = double, unsigned int NDimensions = 3>
typedef Superclass::InverseTransformBaseType itk::CenteredAffineTransform< TScalarType, NDimensions >::InverseTransformBaseType

Base inverse transform type. This type should not be changed to the concrete inverse transform type or inheritance would be lost.

Reimplemented from itk::AffineTransform< TScalarType, NDimensions >.

Definition at line 81 of file itkCenteredAffineTransform.h.

template<class TScalarType = double, unsigned int NDimensions = 3>
typedef Superclass::JacobianType itk::CenteredAffineTransform< TScalarType, NDimensions >::JacobianType

Jacobian Type

Reimplemented from itk::AffineTransform< TScalarType, NDimensions >.

Definition at line 63 of file itkCenteredAffineTransform.h.

template<class TScalarType = double, unsigned int NDimensions = 3>
typedef Superclass::MatrixType itk::CenteredAffineTransform< TScalarType, NDimensions >::MatrixType

Standard matrix type for this class

Reimplemented from itk::AffineTransform< TScalarType, NDimensions >.

Definition at line 76 of file itkCenteredAffineTransform.h.

template<class TScalarType = double, unsigned int NDimensions = 3>
typedef Superclass::OffsetType itk::CenteredAffineTransform< TScalarType, NDimensions >::OffsetType

Reimplemented from itk::AffineTransform< TScalarType, NDimensions >.

Definition at line 77 of file itkCenteredAffineTransform.h.

template<class TScalarType = double, unsigned int NDimensions = 3>
typedef Superclass::OutputCovariantVectorType itk::CenteredAffineTransform< TScalarType, NDimensions >::OutputCovariantVectorType

Standard covariant vector type for this class

Reimplemented from itk::AffineTransform< TScalarType, NDimensions >.

Definition at line 70 of file itkCenteredAffineTransform.h.

template<class TScalarType = double, unsigned int NDimensions = 3>
typedef Superclass::OutputPointType itk::CenteredAffineTransform< TScalarType, NDimensions >::OutputPointType

Standard coordinate point type for this class

Reimplemented from itk::AffineTransform< TScalarType, NDimensions >.

Definition at line 75 of file itkCenteredAffineTransform.h.

template<class TScalarType = double, unsigned int NDimensions = 3>
typedef Superclass::OutputVectorType itk::CenteredAffineTransform< TScalarType, NDimensions >::OutputVectorType

Standard vector type for this class

Reimplemented from itk::AffineTransform< TScalarType, NDimensions >.

Definition at line 66 of file itkCenteredAffineTransform.h.

template<class TScalarType = double, unsigned int NDimensions = 3>
typedef Superclass::OutputVnlVectorType itk::CenteredAffineTransform< TScalarType, NDimensions >::OutputVnlVectorType

Standard vnl_vector type for this class

Reimplemented from itk::AffineTransform< TScalarType, NDimensions >.

Definition at line 73 of file itkCenteredAffineTransform.h.

template<class TScalarType = double, unsigned int NDimensions = 3>
typedef Superclass::ParametersType itk::CenteredAffineTransform< TScalarType, NDimensions >::ParametersType

Types taken from the Superclass

Reimplemented from itk::AffineTransform< TScalarType, NDimensions >.

Definition at line 62 of file itkCenteredAffineTransform.h.

template<class TScalarType = double, unsigned int NDimensions = 3>
typedef SmartPointer<Self> itk::CenteredAffineTransform< TScalarType, NDimensions >::Pointer

Reimplemented from itk::AffineTransform< TScalarType, NDimensions >.

Definition at line 45 of file itkCenteredAffineTransform.h.

template<class TScalarType = double, unsigned int NDimensions = 3>
typedef Superclass::ScalarType itk::CenteredAffineTransform< TScalarType, NDimensions >::ScalarType

Standard scalar type for this class

Reimplemented from itk::AffineTransform< TScalarType, NDimensions >.

Definition at line 64 of file itkCenteredAffineTransform.h.

template<class TScalarType = double, unsigned int NDimensions = 3>
typedef CenteredAffineTransform itk::CenteredAffineTransform< TScalarType, NDimensions >::Self

Standard typedefs

Reimplemented from itk::AffineTransform< TScalarType, NDimensions >.

Definition at line 43 of file itkCenteredAffineTransform.h.

template<class TScalarType = double, unsigned int NDimensions = 3>
typedef AffineTransform< TScalarType, NDimensions > itk::CenteredAffineTransform< TScalarType, NDimensions >::Superclass

Reimplemented from itk::AffineTransform< TScalarType, NDimensions >.

Definition at line 44 of file itkCenteredAffineTransform.h.

template<class TScalarType = double, unsigned int NDimensions = 3>
typedef Superclass::TranslationType itk::AffineTransform< TScalarType, NDimensions >::TranslationType [inherited]


Constructor & Destructor Documentation

template<class TScalarType = double, unsigned int NDimensions = 3>
itk::CenteredAffineTransform< TScalarType, NDimensions >::CenteredAffineTransform (  )  [protected]

Construct an CenteredAffineTransform object

template<class TScalarType = double, unsigned int NDimensions = 3>
virtual itk::CenteredAffineTransform< TScalarType, NDimensions >::~CenteredAffineTransform (  )  [protected, virtual]

Destroy an CenteredAffineTransform object


Member Function Documentation

unsigned long itk::Object::AddObserver ( const EventObject event,
Command  
) const [inherited]

Allow people to add/remove/invoke observers (callbacks) to any ITK object. This is an implementation of the subject/observer design pattern. An observer is added by specifying an event to respond to and an itk::Command to execute. It returns an unsigned long tag which can be used later to remove the event or retrieve the command. The memory for the Command becomes the responsibility of this object, so don't pass the same instance of a command to two different objects

unsigned long itk::Object::AddObserver ( const EventObject event,
Command  
) [inherited]

Allow people to add/remove/invoke observers (callbacks) to any ITK object. This is an implementation of the subject/observer design pattern. An observer is added by specifying an event to respond to and an itk::Command to execute. It returns an unsigned long tag which can be used later to remove the event or retrieve the command. The memory for the Command becomes the responsibility of this object, so don't pass the same instance of a command to two different objects

template<class TScalarType , unsigned int NDimensions>
AffineTransform< TScalarType, NDimensions >::InputCovariantVectorType itk::AffineTransform< TScalarType, NDimensions >::BackTransform ( const OutputCovariantVectorType vec  )  const [inline, inherited]

template<class TScalarType , unsigned int NDimensions>
AffineTransform< TScalarType, NDimensions >::InputVnlVectorType itk::AffineTransform< TScalarType, NDimensions >::BackTransform ( const OutputVnlVectorType vect  )  const [inline, inherited]

template<class TScalarType , unsigned int NDimensions>
AffineTransform< TScalarType, NDimensions >::InputVectorType itk::AffineTransform< TScalarType, NDimensions >::BackTransform ( const OutputVectorType vect  )  const [inline, inherited]

template<class TScalarType , unsigned int NDimensions>
AffineTransform< TScalarType, NDimensions >::InputPointType itk::AffineTransform< TScalarType, NDimensions >::BackTransform ( const OutputPointType point  )  const [inline, inherited]

Back transform by an affine transformation

This method finds the point or vector that maps to a given point or vector under the affine transformation defined by self. If no such point exists, an exception is thrown.

Deprecated:
Please use GetInverseTransform and then call the forward transform function

Back transform a point

Reimplemented in itk::AzimuthElevationToCartesianTransform< TScalarType, NDimensions >.

Definition at line 394 of file itkAffineTransform.h.

References itk::MatrixOffsetTransformBase< TScalarType, NDimensions, NDimensions >::GetInverseMatrix(), itk::MatrixOffsetTransformBase< TScalarType, NDimensions, NDimensions >::GetOffset(), and itkWarningMacro.

Referenced by itk::AffineTransform< TScalarType, NDimensions >::BackTransformPoint().

template<class TScalarType , unsigned int NDimensions>
AffineTransform< TScalarType, NDimensions >::InputPointType itk::AffineTransform< TScalarType, NDimensions >::BackTransformPoint ( const OutputPointType point  )  const [inline, inherited]

Back transform a point by an affine transform

This method finds the point that maps to a given point under the affine transformation defined by self. If no such point exists, an exception is thrown. The returned value is (a pointer to) a brand new point created with new.

Deprecated:
Please use GetInverseTransform and then call the forward transform function

Back transform a given point which is represented as type PointType

Reimplemented in itk::AzimuthElevationToCartesianTransform< TScalarType, NDimensions >.

Definition at line 384 of file itkAffineTransform.h.

References itk::AffineTransform< TScalarType, NDimensions >::BackTransform().

static void itk::LightObject::BreakOnError (  )  [static, inherited]

This method is called when itkExceptionMacro executes. It allows the debugger to break on error.

void itk::MatrixOffsetTransformBase< TScalarType , NInputDimensions, NOutputDimensions >::Compose ( const Self other,
bool  pre = 0 
) [inherited]

Compose with another MatrixOffsetTransformBase

This method composes self with another MatrixOffsetTransformBase of the same dimension, modifying self to be the composition of self and other. If the argument pre is true, then other is precomposed with self; that is, the resulting transformation consists of first applying other to the source, followed by self. If pre is false or omitted, then other is post-composed with self; that is the resulting transformation consists of first applying self to the source, followed by other. This updates the Translation based on current center.

virtual void itk::MatrixOffsetTransformBase< TScalarType , NInputDimensions, NOutputDimensions >::ComputeMatrix ( void   )  [protected, virtual, inherited]

virtual void itk::MatrixOffsetTransformBase< TScalarType , NInputDimensions, NOutputDimensions >::ComputeMatrixParameters ( void   )  [protected, virtual, inherited]

virtual void itk::MatrixOffsetTransformBase< TScalarType , NInputDimensions, NOutputDimensions >::ComputeOffset ( void   )  [protected, virtual, inherited]

virtual void itk::MatrixOffsetTransformBase< TScalarType , NInputDimensions, NOutputDimensions >::ComputeTranslation ( void   )  [protected, virtual, inherited]

virtual LightObject::Pointer itk::Object::CreateAnother (  )  const [virtual, inherited]

Create an object from an instance, potentially deferring to a factory. This method allows you to create an instance of an object that is exactly the same type as the referring object. This is useful in cases where an object has been cast back to a base class.

Reimplemented from itk::LightObject.

virtual void itk::Object::DebugOff (  )  const [virtual, inherited]

Turn debugging output off.

virtual void itk::Object::DebugOn (  )  const [virtual, inherited]

Turn debugging output on.

virtual void itk::LightObject::Delete (  )  [virtual, inherited]

Delete an itk object. This method should always be used to delete an object when the new operator was used to create it. Using the C delete method will not work with reference counting.

const InputPointType& itk::MatrixOffsetTransformBase< TScalarType , NInputDimensions, NOutputDimensions >::GetCenter ( void   )  const [inline, inherited]

Get center of rotation of the MatrixOffsetTransformBase

This method returns the point used as the fixed center of rotation for the MatrixOffsetTransformBase. To define an affine transform, you must set the matrix, center, and translation OR the matrix and offset

Definition at line 260 of file itkMatrixOffsetTransformBase.h.

Command* itk::Object::GetCommand ( unsigned long  tag  )  [inherited]

Get the command associated with the given tag. NOTE: This returns a pointer to a Command, but it is safe to asign this to a Command::Pointer. Since Command inherits from LightObject, at this point in the code, only a pointer or a reference to the Command can be used.

bool itk::Object::GetDebug (  )  const [inherited]

Get the value of the debug flag.

virtual const ParametersType& itk::MatrixOffsetTransformBase< TScalarType , NInputDimensions, NOutputDimensions >::GetFixedParameters ( void   )  const [virtual, inherited]

Get the Fixed Parameters.

Reimplemented from itk::Transform< TScalarType, NInputDimensions, NOutputDimensions >.

static bool itk::Object::GetGlobalWarningDisplay (  )  [static, inherited]

This is a global flag that controls whether any debug, warning or error messages are displayed.

unsigned int itk::Transform< TScalarType , NInputDimensions, NOutputDimensions >::GetInputSpaceDimension ( void   )  const [inline, virtual, inherited]

Get the size of the input space

Implements itk::TransformBase.

Definition at line 87 of file itkTransform.h.

bool itk::MatrixOffsetTransformBase< TScalarType , NInputDimensions, NOutputDimensions >::GetInverse ( Self inverse  )  const [inherited]

Create inverse of an affine transformation

This populates the parameters an affine transform such that the transform is the inverse of self. If self is not invertible, an exception is thrown. Note that by default the inverese transform is centered at the origin. If you need to compute the inverse centered at a point, p,

 transform2->SetCenter( p );
 transform1->GetInverse( transform2 );

transform2 will now contain the inverse of transform1 and will with its center set to p. Flipping the two statements will produce an incorrect transform.

Reimplemented from itk::Transform< TScalarType, NInputDimensions, NOutputDimensions >.

template<class TScalarType = double, unsigned int NDimensions = 3>
bool itk::CenteredAffineTransform< TScalarType, NDimensions >::GetInverse ( Self inverse  )  const

Get an inverse of this transform.

Reimplemented from itk::AffineTransform< TScalarType, NDimensions >.

const InverseMatrixType& itk::MatrixOffsetTransformBase< TScalarType , NInputDimensions, NOutputDimensions >::GetInverseMatrix ( void   )  const [inherited]

Deprecated:
Use GetInverse instead.
Method will eventually be made a protected member function

Referenced by itk::AffineTransform< TScalarType, NDimensions >::BackTransform().

template<class TScalarType = double, unsigned int NDimensions = 3>
virtual InverseTransformBasePointer itk::CenteredAffineTransform< TScalarType, NDimensions >::GetInverseTransform (  )  const [virtual]

Return an inverse of this transform.

Reimplemented from itk::AffineTransform< TScalarType, NDimensions >.

virtual const JacobianType& itk::Transform< TScalarType , NInputDimensions, NOutputDimensions >::GetJacobian ( const InputPointType  )  const [inline, virtual, inherited]

Compute the Jacobian of the transformation

This method computes the Jacobian matrix of the transformation at a given input point. The rank of the Jacobian will also indicate if the transform is invertible at this point.

The Jacobian is be expressed as a matrix of partial derivatives of the output point components with respect to the parameters that defined the transform:

\[ J=\left[ \begin{array}{cccc} \frac{\partial x_{1}}{\partial p_{1}} & \frac{\partial x_{1}}{\partial p_{2}} & \cdots & \frac{\partial x_{1}}{\partial p_{m}}\\ \frac{\partial x_{2}}{\partial p_{1}} & \frac{\partial x_{2}}{\partial p_{2}} & \cdots & \frac{\partial x_{2}}{\partial p_{m}}\\ \vdots & \vdots & \ddots & \vdots \\ \frac{\partial x_{n}}{\partial p_{1}} & \frac{\partial x_{n}}{\partial p_{2}} & \cdots & \frac{\partial x_{n}}{\partial p_{m}} \end{array}\right] \]

Definition at line 217 of file itkTransform.h.

template<class TScalarType = double, unsigned int NDimensions = 3>
const JacobianType& itk::CenteredAffineTransform< TScalarType, NDimensions >::GetJacobian ( const InputPointType point  )  const

Compute the Jacobian of the transformation

This method computes the Jacobian matrix of the transformation. given point or vector, returning the transformed point or vector. The rank of the Jacobian will also indicate if the transform is invertible at this point.

Reimplemented from itk::MatrixOffsetTransformBase< TScalarType, NDimensions, NDimensions >.

const MatrixType& itk::MatrixOffsetTransformBase< TScalarType , NInputDimensions, NOutputDimensions >::GetMatrix ( void   )  const [inline, inherited]

Get matrix of an MatrixOffsetTransformBase

This method returns the value of the matrix of the MatrixOffsetTransformBase. To define an affine transform, you must set the matrix, center, and translation OR the matrix and offset

Definition at line 199 of file itkMatrixOffsetTransformBase.h.

Referenced by itk::AffineTransform< TScalarType, NDimensions >::BackTransform().

const MetaDataDictionary& itk::Object::GetMetaDataDictionary ( void   )  const [inherited]

Returns:
A constant reference to this objects MetaDataDictionary.

MetaDataDictionary& itk::Object::GetMetaDataDictionary ( void   )  [inherited]

Returns:
A reference to this objects MetaDataDictionary.
Warning:
This reference may be changed.

virtual unsigned long itk::Object::GetMTime (  )  const [virtual, inherited]

Return this objects modified time.

Reimplemented in itk::ImageRegistrationMethod< TFixedImage, TMovingImage >, itk::ImageToSpatialObjectRegistrationMethod< TFixedImage, TMovingSpatialObject >, itk::MultiResolutionImageRegistrationMethod< TFixedImage, TMovingImage >, itk::PointSetToImageRegistrationMethod< TFixedPointSet, TMovingImage >, itk::PointSetToPointSetRegistrationMethod< TFixedPointSet, TMovingPointSet >, itk::DeformationFieldSource< TOutputImage >, itk::InverseDeformationFieldImageFilter< TInputImage, TOutputImage >, itk::ResampleImageFilter< TInputImage, TOutputImage, TInterpolatorPrecisionType >, itk::VectorResampleImageFilter< TInputImage, TOutputImage, TInterpolatorPrecisionType >, itk::BoundingBox< TPointIdentifier, VPointDimension, TCoordRep, TPointsContainer >, itk::ImageAdaptor< TImage, TAccessor >, itk::ResampleImageFilter< TInputImage, TOutputImage, TInterpolatorPrecisionType >, itk::TransformToDeformationFieldSource< TOutputImage, TTransformPrecisionType >, itk::ImageSpatialObject< TDimension, TPixelType >, itk::MeshSpatialObject< TMesh >, itk::SceneSpatialObject< TSpaceDimension >, itk::SpatialObject< TDimension >, itk::ImageAdaptor< TImage, Accessor::LogPixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, Accessor::SqrtPixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, Accessor::ComplexToModulusPixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, Accessor::ComplexToImaginaryPixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, Accessor::SinPixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, Accessor::TanPixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, Accessor::ExpNegativePixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, Accessor::Log10PixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, PixelAccessor >, itk::ImageAdaptor< TImage, Accessor::RGBToVectorPixelAccessor< TImage::PixelType::ComponentType > >, itk::ImageAdaptor< TImage, Accessor::AcosPixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, Accessor::RGBToLuminancePixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, Accessor::ComplexToPhasePixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< VectorImage< TPixelType, Dimension >, Accessor::VectorImageToImagePixelAccessor< TPixelType > >, itk::ImageAdaptor< TImage, Accessor::AddPixelAccessor< TImage::PixelType > >, itk::ImageAdaptor< TImage, Accessor::AbsPixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, Accessor::VectorToRGBPixelAccessor< TImage::PixelType::ValueType > >, itk::ImageAdaptor< TImage, Accessor::AsinPixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, Accessor::ComplexToRealPixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, Accessor::ExpPixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, Accessor::AtanPixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, Accessor::CosPixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageSpatialObject< TDimension, unsigned char >, itk::SpatialObject< 3 >, and itk::SpatialObject< ::itk::GetMeshDimension< TMesh >::PointDimension >.

Referenced by itk::SpatialObject< ::itk::GetMeshDimension< TMesh >::PointDimension >::GetObjectMTime().

template<class TScalarType = double, unsigned int NDimensions = 3>
virtual const char* itk::CenteredAffineTransform< TScalarType, NDimensions >::GetNameOfClass (  )  const [virtual]

Run-time type information (and related methods).

Reimplemented from itk::AffineTransform< TScalarType, NDimensions >.

virtual unsigned int itk::Transform< TScalarType , NInputDimensions, NOutputDimensions >::GetNumberOfParameters ( void   )  const [inline, virtual, inherited]

Return the number of parameters that completely define the Transfom

Implements itk::TransformBase.

Definition at line 228 of file itkTransform.h.

const OutputVectorType& itk::MatrixOffsetTransformBase< TScalarType , NInputDimensions, NOutputDimensions >::GetOffset ( void   )  const [inline, inherited]

Get offset of an MatrixOffsetTransformBase

This method returns the offset value of the MatrixOffsetTransformBase. To define an affine transform, you must set the matrix, center, and translation OR the matrix and offset

Definition at line 222 of file itkMatrixOffsetTransformBase.h.

Referenced by itk::AffineTransform< TScalarType, NDimensions >::BackTransform().

unsigned int itk::Transform< TScalarType , NInputDimensions, NOutputDimensions >::GetOutputSpaceDimension ( void   )  const [inline, virtual, inherited]

Get the size of the output space

Implements itk::TransformBase.

Definition at line 90 of file itkTransform.h.

template<class TScalarType = double, unsigned int NDimensions = 3>
const ParametersType& itk::CenteredAffineTransform< TScalarType, NDimensions >::GetParameters ( void   )  const [virtual]

Set/Get the transformation from a container of parameters. The first (NDimension x NDimension) parameters define the matrix, the next N parameters define the center of rotation and the last N parameters define the translation to be applied after the coordinate system has been restored to the rotation center. Note that the Offset of the superclass is no longer in the parameters array since it is fully dependent on the rotation center and the translation parameters.

Reimplemented from itk::MatrixOffsetTransformBase< TScalarType, NDimensions, NDimensions >.

virtual int itk::LightObject::GetReferenceCount (  )  const [inline, virtual, inherited]

Gets the reference count on this object.

Definition at line 106 of file itkLightObject.h.

virtual std::string itk::Transform< TScalarType , NInputDimensions, NOutputDimensions >::GetTransformTypeAsString (  )  const [virtual, inherited]

Generate a platform independant name

Implements itk::TransformBase.

const OutputVectorType& itk::MatrixOffsetTransformBase< TScalarType , NInputDimensions, NOutputDimensions >::GetTranslation ( void   )  const [inline, inherited]

Get translation component of the MatrixOffsetTransformBase

This method returns the translation used after rotation about the center point. To define an affine transform, you must set the matrix, center, and translation OR the matrix and offset

Definition at line 282 of file itkMatrixOffsetTransformBase.h.

const InverseMatrixType& itk::MatrixOffsetTransformBase< TScalarType , NInputDimensions, NOutputDimensions >::GetVarInverseMatrix ( void   )  const [inline, protected, inherited]

Definition at line 395 of file itkMatrixOffsetTransformBase.h.

static void itk::Object::GlobalWarningDisplayOff (  )  [inline, static, inherited]

This is a global flag that controls whether any debug, warning or error messages are displayed.

Definition at line 100 of file itkObject.h.

References itk::Object::SetGlobalWarningDisplay().

static void itk::Object::GlobalWarningDisplayOn (  )  [inline, static, inherited]

This is a global flag that controls whether any debug, warning or error messages are displayed.

Definition at line 98 of file itkObject.h.

References itk::Object::SetGlobalWarningDisplay().

bool itk::Object::HasObserver ( const EventObject event  )  const [inherited]

Return true if an observer is registered for this event.

bool itk::MatrixOffsetTransformBase< TScalarType , NInputDimensions, NOutputDimensions >::InverseMatrixIsOld ( void   )  const [inline, protected, inherited]

Definition at line 399 of file itkMatrixOffsetTransformBase.h.

void itk::Object::InvokeEvent ( const EventObject  )  const [inherited]

Call Execute on all the Commands observing this event id. The actions triggered by this call doesn't modify this object.

void itk::Object::InvokeEvent ( const EventObject  )  [inherited]

Call Execute on all the Commands observing this event id.

virtual bool itk::MatrixOffsetTransformBase< TScalarType , NInputDimensions, NOutputDimensions >::IsLinear (  )  const [inline, virtual, inherited]

Indicates that this transform is linear. That is, given two points P and Q, and scalar coefficients a and b, then

T( a*P + b*Q ) = a * T(P) + b * T(Q)

Reimplemented from itk::Transform< TScalarType, NInputDimensions, NOutputDimensions >.

Definition at line 372 of file itkMatrixOffsetTransformBase.h.

itk::MatrixOffsetTransformBase< TScalarType , NInputDimensions, NOutputDimensions >::itkStaticConstMacro ( ParametersDimension  ,
unsigned  int,
NOutputDimensions *  NInputDimensions+1 
) [inherited]

Dimension of the domain space.

itk::MatrixOffsetTransformBase< TScalarType , NInputDimensions, NOutputDimensions >::itkStaticConstMacro ( OutputSpaceDimension  ,
unsigned  int,
NOutputDimensions   
) [inherited]

Dimension of the domain space.

Reimplemented from itk::Transform< TScalarType, NInputDimensions, NOutputDimensions >.

itk::MatrixOffsetTransformBase< TScalarType , NInputDimensions, NOutputDimensions >::itkStaticConstMacro ( InputSpaceDimension  ,
unsigned  int,
NInputDimensions   
) [inherited]

Dimension of the domain space.

Reimplemented from itk::Transform< TScalarType, NInputDimensions, NOutputDimensions >.

template<class TScalarType = double, unsigned int NDimensions = 3>
itk::AffineTransform< TScalarType, NDimensions >::itkStaticConstMacro ( ParametersDimension  ,
unsigned  int,
NDimensions *  NDimensions+1 
) [inherited]

template<class TScalarType = double, unsigned int NDimensions = 3>
itk::AffineTransform< TScalarType, NDimensions >::itkStaticConstMacro ( OutputSpaceDimension  ,
unsigned  int,
NDimensions   
) [inherited]

template<class TScalarType = double, unsigned int NDimensions = 3>
itk::AffineTransform< TScalarType, NDimensions >::itkStaticConstMacro ( InputSpaceDimension  ,
unsigned  int,
NDimensions   
) [inherited]

template<class TScalarType = double, unsigned int NDimensions = 3>
itk::CenteredAffineTransform< TScalarType, NDimensions >::itkStaticConstMacro ( ParametersDimension  ,
unsigned  int,
NDimensions *  NDimensions+2 
)

Dimension of the domain space.

template<class TScalarType = double, unsigned int NDimensions = 3>
itk::CenteredAffineTransform< TScalarType, NDimensions >::itkStaticConstMacro ( SpaceDimension  ,
unsigned  int,
NDimensions   
)

Dimension of the domain space.

Reimplemented from itk::AffineTransform< TScalarType, NDimensions >.

template<class TScalarType = double, unsigned int NDimensions = 3>
ScalarType itk::AffineTransform< TScalarType, NDimensions >::Metric ( void   )  const [inherited]

This method computes the distance from self to the identity transformation, using the same metric as the one-argument form of the Metric() method.

template<class TScalarType = double, unsigned int NDimensions = 3>
ScalarType itk::AffineTransform< TScalarType, NDimensions >::Metric ( const Self other  )  const [inherited]

Compute distance between two affine transformations

This method computes a ``distance'' between two affine transformations. This distance is guaranteed to be a metric, but not any particular metric. (At the moment, the algorithm is to collect all the elements of the matrix and offset into a vector, and compute the euclidean (L2) norm of that vector. Some metric which could be used to estimate the distance between two points transformed by the affine transformation would be more useful, but I don't have time right now to work out the mathematical details.)

virtual void itk::Object::Modified (  )  const [virtual, inherited]

Update the modification time for this object. Many filters rely on the modification time to determine if they need to recompute their data.

Reimplemented in itk::NormalizeImageFilter< TInputImage, TOutputImage >, itk::ImageAdaptor< TImage, TAccessor >, itk::MiniPipelineSeparableImageFilter< TInputImage, TOutputImage, TFilter >, itk::GrayscaleDilateImageFilter< TInputImage, TOutputImage, TKernel >, itk::GrayscaleErodeImageFilter< TInputImage, TOutputImage, TKernel >, itk::GrayscaleMorphologicalClosingImageFilter< TInputImage, TOutputImage, TKernel >, itk::GrayscaleMorphologicalOpeningImageFilter< TInputImage, TOutputImage, TKernel >, itk::MorphologicalGradientImageFilter< TInputImage, TOutputImage, TKernel >, itk::ImageAdaptor< TImage, Accessor::LogPixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, Accessor::SqrtPixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, Accessor::ComplexToModulusPixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, Accessor::ComplexToImaginaryPixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, Accessor::SinPixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, Accessor::TanPixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, Accessor::ExpNegativePixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, Accessor::Log10PixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, PixelAccessor >, itk::ImageAdaptor< TImage, Accessor::RGBToVectorPixelAccessor< TImage::PixelType::ComponentType > >, itk::ImageAdaptor< TImage, Accessor::AcosPixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, Accessor::RGBToLuminancePixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, Accessor::ComplexToPhasePixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< VectorImage< TPixelType, Dimension >, Accessor::VectorImageToImagePixelAccessor< TPixelType > >, itk::ImageAdaptor< TImage, Accessor::AddPixelAccessor< TImage::PixelType > >, itk::ImageAdaptor< TImage, Accessor::AbsPixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, Accessor::VectorToRGBPixelAccessor< TImage::PixelType::ValueType > >, itk::ImageAdaptor< TImage, Accessor::AsinPixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, Accessor::ComplexToRealPixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, Accessor::ExpPixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, Accessor::AtanPixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, Accessor::CosPixelAccessor< TImage::PixelType, TOutputPixelType > >, and itk::MiniPipelineSeparableImageFilter< TInputImage, TOutputImage, RankImageFilter< TInputImage, TInputImage, FlatStructuringElement< ::itk::GetImageDimension< TInputImage >::ImageDimension > > >.

Referenced by itk::NarrowBandImageFilterBase< TInputImage, TOutputImage >::InsertNarrowBandNode(), itk::MatrixOffsetTransformBase< TScalarType, 3, 3 >::SetCenter(), itk::MatrixOffsetTransformBase< TScalarType, 3, 3 >::SetMatrix(), itk::NarrowBandImageFilterBase< TInputImage, TOutputImage >::SetNarrowBand(), itk::NarrowBandImageFilterBase< TInputImage, TOutputImage >::SetNarrowBandInnerRadius(), itk::NarrowBandImageFilterBase< TInputImage, TOutputImage >::SetNarrowBandTotalRadius(), itk::MatrixOffsetTransformBase< TScalarType, 3, 3 >::SetOffset(), itk::ThresholdLabelerImageFilter< TInputImage, TOutputImage >::SetRealThresholds(), itk::NonUniformBSpline< TDimension >::SetSplineOrder(), itk::ThresholdLabelerImageFilter< TInputImage, TOutputImage >::SetThresholds(), itk::Statistics::GoodnessOfFitFunctionBase< TInputHistogram >::SetTotalObservedScale(), and itk::MatrixOffsetTransformBase< TScalarType, 3, 3 >::SetTranslation().

template<class TScalarType = double, unsigned int NDimensions = 3>
static Pointer itk::CenteredAffineTransform< TScalarType, NDimensions >::New (  )  [static]

New macro for creation of through a Smart Pointer

Reimplemented from itk::AffineTransform< TScalarType, NDimensions >.

void itk::LightObject::Print ( std::ostream &  os,
Indent  indent = 0 
) const [inherited]

Cause the object to print itself out.

Referenced by itk::WeakPointer< ProcessObject >::Print().

virtual void itk::LightObject::PrintHeader ( std::ostream &  os,
Indent  indent 
) const [protected, virtual, inherited]

Methods invoked by Print() to print information about the object including superclasses. Typically not called by the user (use Print() instead) but used in the hierarchical print process to combine the output of several classes.

bool itk::Object::PrintObservers ( std::ostream &  os,
Indent  indent 
) const [protected, inherited]

template<class TScalarType = double, unsigned int NDimensions = 3>
void itk::AffineTransform< TScalarType, NDimensions >::PrintSelf ( std::ostream &  s,
Indent  indent 
) const [protected, virtual, inherited]

virtual void itk::LightObject::PrintTrailer ( std::ostream &  os,
Indent  indent 
) const [protected, virtual, inherited]

Methods invoked by Print() to print information about the object including superclasses. Typically not called by the user (use Print() instead) but used in the hierarchical print process to combine the output of several classes.

virtual void itk::Object::Register (  )  const [virtual, inherited]

Increase the reference count (mark as used by another object).

Reimplemented from itk::LightObject.

void itk::Object::RemoveAllObservers (  )  [inherited]

Remove all observers .

void itk::Object::RemoveObserver ( unsigned long  tag  )  [inherited]

Remove the observer with this tag value.

template<class TScalarType = double, unsigned int NDimensions = 3>
void itk::AffineTransform< TScalarType, NDimensions >::Rotate ( int  axis1,
int  axis2,
TScalarType  angle,
bool  pre = 0 
) [inherited]

Compose affine transformation with an elementary rotation

This method composes self with a rotation that affects two specified axes, replacing the current value of self. The rotation angle is in radians. The axis of rotation goes through the origin. The transformation is given by

y[axis1] = vcl_cos(angle)*x[axis1] + vcl_sin(angle)*x[axis2] y[axis2] = -sin(angle)*x[axis1] + vcl_cos(angle)*x[axis2].

All coordinates other than axis1 and axis2 are unchanged; a rotation of pi/2 radians will carry +axis1 into +axis2. The rotation is precomposed with self if pre is true, and postcomposed otherwise. Note that the rotation is applied centered at the origin.

template<class TScalarType = double, unsigned int NDimensions = 3>
void itk::AffineTransform< TScalarType, NDimensions >::Rotate2D ( TScalarType  angle,
bool  pre = 0 
) [inherited]

Compose 2D affine transformation with a rotation

This method composes self, which must be a 2D affine transformation, with a clockwise rotation through a given angle in radians. The center of rotation is the origin. The rotation is precomposed with self if pre is true, and postcomposed otherwise. Note that the rotation is applied centered at the origin.

Warning:
Only to be use in two dimensions
Todo:
Find a way to generate a compile-time error is this is used with NDimensions != 2.

template<class TScalarType = double, unsigned int NDimensions = 3>
void itk::AffineTransform< TScalarType, NDimensions >::Rotate3D ( const OutputVectorType axis,
TScalarType  angle,
bool  pre = 0 
) [inherited]

Compose 3D affine transformation with a rotation

This method composes self, which must be a 3D affine transformation, with a clockwise rotation around a specified axis. The rotation angle is in radians; the axis of rotation goes through the origin. The rotation is precomposed with self if pre is true, and postcomposed otherwise. Note that the rotation is applied centered at the origin.

Warning:
Only to be used in dimension 3
Todo:
Find a way to generate a compile-time error is this is used with NDimensions != 3.

template<class TScalarType = double, unsigned int NDimensions = 3>
void itk::AffineTransform< TScalarType, NDimensions >::Scale ( const TScalarType &  factor,
bool  pre = 0 
) [inherited]

Compose affine transformation with a scaling

This method modifies self to magnify the source by a given factor along each axis. If all factors are the same, or only a single factor is given, then the scaling is isotropic; otherwise it is anisotropic. If an odd number of factors are negative, then the parity of the image changes. If any of the factors is zero, then the transformation becomes a projection and is not invertible. The scaling is precomposed with self if pre is true, and postcomposed otherwise. Note that the scaling is applied centered at the origin.

template<class TScalarType = double, unsigned int NDimensions = 3>
void itk::AffineTransform< TScalarType, NDimensions >::Scale ( const OutputVectorType factor,
bool  pre = 0 
) [inherited]

Compose affine transformation with a scaling

This method modifies self to magnify the source by a given factor along each axis. If all factors are the same, or only a single factor is given, then the scaling is isotropic; otherwise it is anisotropic. If an odd number of factors are negative, then the parity of the image changes. If any of the factors is zero, then the transformation becomes a projection and is not invertible. The scaling is precomposed with self if pre is true, and postcomposed otherwise. Note that the scaling is applied centered at the origin.

void itk::MatrixOffsetTransformBase< TScalarType , NInputDimensions, NOutputDimensions >::SetCenter ( const InputPointType center  )  [inline, inherited]

Set center of rotation of an MatrixOffsetTransformBase

This method sets the center of rotation of an MatrixOffsetTransformBase to a fixed point - for most transforms derived from this class, this point is not a "parameter" of the transform - the exception is that "centered" transforms have center as a parameter during optimization.

This method updates offset wrt to current translation and matrix. That is, changing the center changes the transform!

WARNING: When using the Center, we strongly recommend only changing the matrix and translation to define a transform. Changing a transform's center, changes the mapping between spaces - specifically, translation is not changed with respect to that new center, and so the offset is updated to * maintain the consistency with translation. If a center is not used, or is set before the matrix and the offset, then it is safe to change the offset directly. As a rule of thumb, if you wish to set the center explicitly, set before Offset computations are done.

To define an affine transform, you must set the matrix, center, and translation OR the matrix and offset

Definition at line 247 of file itkMatrixOffsetTransformBase.h.

void itk::Object::SetDebug ( bool  debugFlag  )  const [inherited]

Set the value of the debug flag. A non-zero value turns debugging on.

virtual void itk::MatrixOffsetTransformBase< TScalarType , NInputDimensions, NOutputDimensions >::SetFixedParameters ( const ParametersType  )  [virtual, inherited]

Set the fixed parameters and update internal transformation.

Reimplemented from itk::Transform< TScalarType, NInputDimensions, NOutputDimensions >.

static void itk::Object::SetGlobalWarningDisplay ( bool  flag  )  [static, inherited]

This is a global flag that controls whether any debug, warning or error messages are displayed.

Referenced by itk::Object::GlobalWarningDisplayOff(), and itk::Object::GlobalWarningDisplayOn().

virtual void itk::MatrixOffsetTransformBase< TScalarType , NInputDimensions, NOutputDimensions >::SetIdentity ( void   )  [virtual, inherited]

Set the transformation to an Identity

This sets the matrix to identity and the Offset to null.

Reimplemented in itk::ScalableAffineTransform< TScalarType, NDimensions >.

virtual void itk::MatrixOffsetTransformBase< TScalarType , NInputDimensions, NOutputDimensions >::SetMatrix ( const MatrixType matrix  )  [inline, virtual, inherited]

Set matrix of an MatrixOffsetTransformBase

This method sets the matrix of an MatrixOffsetTransformBase to a value specified by the user.

This updates the Offset wrt to current translation and center. See the warning regarding offset-versus-translation in the documentation for SetCenter.

To define an affine transform, you must set the matrix, center, and translation OR the matrix and offset

Definition at line 185 of file itkMatrixOffsetTransformBase.h.

void itk::Object::SetMetaDataDictionary ( const MetaDataDictionary rhs  )  [inherited]

Returns:
Set the MetaDataDictionary

void itk::MatrixOffsetTransformBase< TScalarType , NInputDimensions, NOutputDimensions >::SetOffset ( const OutputVectorType offset  )  [inline, inherited]

Set offset (origin) of an MatrixOffset TransformBase.

This method sets the offset of an MatrixOffsetTransformBase to a value specified by the user. This updates Translation wrt current center. See the warning regarding offset-versus-translation in the documentation for SetCenter. To define an affine transform, you must set the matrix, center, and translation OR the matrix and offset

Definition at line 210 of file itkMatrixOffsetTransformBase.h.

template<class TScalarType = double, unsigned int NDimensions = 3>
void itk::CenteredAffineTransform< TScalarType, NDimensions >::SetParameters ( const ParametersType parameters  )  [virtual]

Set/Get the transformation from a container of parameters. The first (NDimension x NDimension) parameters define the matrix, the next N parameters define the center of rotation and the last N parameters define the translation to be applied after the coordinate system has been restored to the rotation center. Note that the Offset of the superclass is no longer in the parameters array since it is fully dependent on the rotation center and the translation parameters.

Reimplemented from itk::MatrixOffsetTransformBase< TScalarType, NDimensions, NDimensions >.

virtual void itk::Transform< TScalarType , NInputDimensions, NOutputDimensions >::SetParametersByValue ( const ParametersType p  )  [inline, virtual, inherited]

Set the transformation parameters and update internal transformation. This method forces the transform to copy the parameters. The default implementation is to call SetParameters. This call must be overridden if the transform normally implements SetParameters by keeping a reference to the parameters.

See also:
SetParameters

Implements itk::TransformBase.

Definition at line 163 of file itkTransform.h.

virtual void itk::Object::SetReferenceCount ( int   )  [virtual, inherited]

Sets the reference count (use with care)

Reimplemented from itk::LightObject.

void itk::MatrixOffsetTransformBase< TScalarType , NInputDimensions, NOutputDimensions >::SetTranslation ( const OutputVectorType translation  )  [inline, inherited]

Set translation of an MatrixOffsetTransformBase

This method sets the translation of an MatrixOffsetTransformBase. This updates Offset to reflect current translation. To define an affine transform, you must set the matrix, center, and translation OR the matrix and offset

Definition at line 269 of file itkMatrixOffsetTransformBase.h.

void itk::MatrixOffsetTransformBase< TScalarType , NInputDimensions, NOutputDimensions >::SetVarCenter ( const InputPointType center  )  [inline, protected, inherited]

Definition at line 425 of file itkMatrixOffsetTransformBase.h.

void itk::MatrixOffsetTransformBase< TScalarType , NInputDimensions, NOutputDimensions >::SetVarInverseMatrix ( const InverseMatrixType matrix  )  const [inline, protected, inherited]

Definition at line 397 of file itkMatrixOffsetTransformBase.h.

void itk::MatrixOffsetTransformBase< TScalarType , NInputDimensions, NOutputDimensions >::SetVarMatrix ( const MatrixType matrix  )  [inline, protected, inherited]

Definition at line 414 of file itkMatrixOffsetTransformBase.h.

void itk::MatrixOffsetTransformBase< TScalarType , NInputDimensions, NOutputDimensions >::SetVarOffset ( const OutputVectorType offset  )  [inline, protected, inherited]

Definition at line 422 of file itkMatrixOffsetTransformBase.h.

void itk::MatrixOffsetTransformBase< TScalarType , NInputDimensions, NOutputDimensions >::SetVarTranslation ( const OutputVectorType translation  )  [inline, protected, inherited]

Definition at line 418 of file itkMatrixOffsetTransformBase.h.

template<class TScalarType = double, unsigned int NDimensions = 3>
void itk::AffineTransform< TScalarType, NDimensions >::Shear ( int  axis1,
int  axis2,
TScalarType  coef,
bool  pre = 0 
) [inherited]

Compose affine transformation with a shear

This method composes self with a shear transformation, replacing the original contents of self. The shear is precomposed with self if pre is true, and postcomposed otherwise. The transformation is given by

y[axis1] = x[axis1] + coef*x[axis2] y[axis2] = x[axis2].

Note that the shear is applied centered at the origin.

OutputCovariantVectorType itk::MatrixOffsetTransformBase< TScalarType , NInputDimensions, NOutputDimensions >::TransformCovariantVector ( const InputCovariantVectorType vector  )  const [virtual, inherited]

Transform by an affine transformation

This method applies the affine transform given by self to a given point or vector, returning the transformed point or vector. The TransformPoint method transforms its argument as an affine point, whereas the TransformVector method transforms its argument as a vector.

Reimplemented from itk::Transform< TScalarType, NInputDimensions, NOutputDimensions >.

virtual OutputPointType itk::Transform< TScalarType , NInputDimensions, NOutputDimensions >::TransformPoint ( const InputPointType  )  const [inline, virtual, inherited]

Method to transform a point.

Definition at line 130 of file itkTransform.h.

OutputPointType itk::MatrixOffsetTransformBase< TScalarType , NInputDimensions, NOutputDimensions >::TransformPoint ( const InputPointType point  )  const [inherited]

Transform by an affine transformation

This method applies the affine transform given by self to a given point or vector, returning the transformed point or vector. The TransformPoint method transforms its argument as an affine point, whereas the TransformVector method transforms its argument as a vector.

Reimplemented in itk::AzimuthElevationToCartesianTransform< TScalarType, NDimensions >.

virtual OutputVnlVectorType itk::Transform< TScalarType , NInputDimensions, NOutputDimensions >::TransformVector ( const InputVnlVectorType &   )  const [inline, virtual, inherited]

Method to transform a vnl_vector.

Definition at line 138 of file itkTransform.h.

virtual OutputVectorType itk::Transform< TScalarType , NInputDimensions, NOutputDimensions >::TransformVector ( const InputVectorType  )  const [inline, virtual, inherited]

Method to transform a vector.

Definition at line 134 of file itkTransform.h.

OutputVnlVectorType itk::MatrixOffsetTransformBase< TScalarType , NInputDimensions, NOutputDimensions >::TransformVector ( const InputVnlVectorType &  vector  )  const [inherited]

Transform by an affine transformation

This method applies the affine transform given by self to a given point or vector, returning the transformed point or vector. The TransformPoint method transforms its argument as an affine point, whereas the TransformVector method transforms its argument as a vector.

OutputVectorType itk::MatrixOffsetTransformBase< TScalarType , NInputDimensions, NOutputDimensions >::TransformVector ( const InputVectorType vector  )  const [inherited]

Transform by an affine transformation

This method applies the affine transform given by self to a given point or vector, returning the transformed point or vector. The TransformPoint method transforms its argument as an affine point, whereas the TransformVector method transforms its argument as a vector.

template<class TScalarType = double, unsigned int NDimensions = 3>
void itk::AffineTransform< TScalarType, NDimensions >::Translate ( const OutputVectorType offset,
bool  pre = 0 
) [inherited]

Compose affine transformation with a translation

This method modifies self to include a translation of the origin. The translation is precomposed with self if pre is true, and postcomposed otherwise. This updates Translation based on current center.

virtual void itk::Object::UnRegister (  )  const [virtual, inherited]

Decrease the reference count (release by another object).

Reimplemented from itk::LightObject.


Member Data Documentation

ParametersType itk::Transform< TScalarType , NInputDimensions, NOutputDimensions >::m_FixedParameters [mutable, protected, inherited]

Definition at line 273 of file itkTransform.h.

JacobianType itk::Transform< TScalarType , NInputDimensions, NOutputDimensions >::m_Jacobian [mutable, protected, inherited]

Definition at line 274 of file itkTransform.h.

ParametersType itk::Transform< TScalarType , NInputDimensions, NOutputDimensions >::m_Parameters [mutable, protected, inherited]

Definition at line 272 of file itkTransform.h.

Number of uses of this object by other objects.

Definition at line 144 of file itkLightObject.h.

Mutex lock to protect modification to the reference count

Definition at line 147 of file itkLightObject.h.


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

Generated at Tue Sep 15 06:54:41 2009 for ITK by doxygen 1.5.8 written by Dimitri van Heesch, © 1997-2000