Main Page   Groups   Namespace List   Class Hierarchy   Alphabetical List   Compound List   File List   Namespace Members   Compound Members   File Members   Concepts
Public Types | Public Member Functions | Static Public Member Functions | Static Public Attributes | Protected Member Functions | Protected Attributes

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

Deformable transform using a BSpline representation. More...

#include <itkBSplineDeformableTransform.h>

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

List of all members.

Public Types

typedef SmartPointer< const SelfConstPointer
typedef ImageType::DirectionType DirectionType
typedef ImageType::Pointer ImagePointer
typedef Image< PixelType,
itkGetStaticConstMacro(SpaceDimension)> 
ImageType
typedef RegionType::IndexType IndexType
typedef
InverseTransformBaseType::Pointer 
InverseTransformBasePointer
typedef TransformBase InverseTransformBaseType
typedef Superclass::JacobianType JacobianType
typedef ImageType::PointType OriginType
typedef Array< unsigned long > ParameterIndexArrayType
typedef Superclass::ParametersType ParametersType
typedef
Superclass::ParametersValueType 
ParametersValueType
typedef ParametersType::ValueType PixelType
typedef SmartPointer< SelfPointer
typedef ImageRegion
< itkGetStaticConstMacro(SpaceDimension)> 
RegionType
typedef Superclass::ScalarType ScalarType
typedef BSplineDeformableTransform Self
typedef RegionType::SizeType SizeType
typedef ImageType::SpacingType SpacingType
typedef Transform< TScalarType,
NDimensions, NDimensions > 
Superclass

typedef Vector< TScalarType,
itkGetStaticConstMacro(SpaceDimension)> 
InputVectorType
typedef Vector< TScalarType,
itkGetStaticConstMacro(SpaceDimension)> 
OutputVectorType

typedef CovariantVector
< TScalarType,
itkGetStaticConstMacro(SpaceDimension)> 
InputCovariantVectorType
typedef CovariantVector
< TScalarType,
itkGetStaticConstMacro(SpaceDimension)> 
OutputCovariantVectorType

typedef vnl_vector_fixed
< TScalarType,
itkGetStaticConstMacro(SpaceDimension)> 
InputVnlVectorType
typedef vnl_vector_fixed
< TScalarType,
itkGetStaticConstMacro(SpaceDimension)> 
OutputVnlVectorType

typedef Point< TScalarType,
itkGetStaticConstMacro(SpaceDimension)> 
InputPointType
typedef Point< TScalarType,
itkGetStaticConstMacro(SpaceDimension)> 
OutputPointType

typedef Transform< ScalarType,
itkGetStaticConstMacro(SpaceDimension),
itkGetStaticConstMacro(SpaceDimension)> 
BulkTransformType
typedef
BulkTransformType::ConstPointer 
BulkTransformPointer

typedef
BSplineInterpolationWeightFunction
< ScalarType,
itkGetStaticConstMacro(SpaceDimension),
itkGetStaticConstMacro(SplineOrder)> 
WeightsFunctionType
typedef
WeightsFunctionType::WeightsType 
WeightsType
typedef
WeightsFunctionType::ContinuousIndexType 
ContinuousIndexType

Public Member Functions

virtual ::itk::LightObject::Pointer CreateAnother (void) const
virtual void DebugOff () const
virtual void DebugOn () const
virtual void Delete ()
CommandGetCommand (unsigned long tag)
bool GetDebug () const
virtual const ParametersTypeGetFixedParameters (void) const
unsigned int GetInputSpaceDimension (void) const
bool GetInverse (Self *) const
virtual InverseTransformBasePointer GetInverseTransform () const
virtual void GetJacobian (const InputPointType &inputPoint, WeightsType &weights, ParameterIndexArrayType &indices) const
virtual const JacobianTypeGetJacobian (const InputPointType &point) const
MetaDataDictionaryGetMetaDataDictionary (void)
const MetaDataDictionaryGetMetaDataDictionary (void) const
virtual unsigned long GetMTime () const
virtual const char * GetNameOfClass () const
unsigned int GetNumberOfAffectedWeights () const
virtual unsigned int GetNumberOfParameters (void) const
unsigned int GetNumberOfParametersPerDimension (void) const
unsigned long GetNumberOfWeights () const
unsigned int GetOutputSpaceDimension (void) const
virtual const ParametersTypeGetParameters (void) const
virtual int GetReferenceCount () const
virtual std::string GetTransformTypeAsString () const
virtual const RegionTypeGetValidRegion ()
bool HasObserver (const EventObject &event) const
void InvokeEvent (const EventObject &)
void InvokeEvent (const EventObject &) const
virtual bool IsLinear () 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)
virtual void SetCoefficientImage (ImagePointer images[])
void SetDebug (bool debugFlag) const
virtual void SetFixedParameters (const ParametersType &)
void SetIdentity ()
void SetMetaDataDictionary (const MetaDataDictionary &rhs)
void SetParameters (const ParametersType &parameters)
virtual void SetParameters (const ParametersType &)
virtual void SetParametersByValue (const ParametersType &p)
void SetParametersByValue (const ParametersType &parameters)
virtual void SetReferenceCount (int)
OutputPointType TransformPoint (const InputPointType &point) const
virtual OutputPointType TransformPoint (const InputPointType &) const
virtual void TransformPoint (const InputPointType &inputPoint, OutputPointType &outputPoint, WeightsType &weights, ParameterIndexArrayType &indices, bool &inside) const
virtual OutputVnlVectorType TransformVector (const InputVnlVectorType &) const
virtual OutputVectorType TransformVector (const InputVectorType &) const
virtual void UnRegister () const

void SetFixedParameters (const ParametersType &parameters)

virtual ImagePointerGetCoefficientImage ()
virtual const ImagePointerGetCoefficientImage () const

virtual void SetGridRegion (const RegionType &region)
virtual RegionType GetGridRegion () const

virtual void SetGridSpacing (const SpacingType &spacing)
virtual SpacingType GetGridSpacing () const

virtual void SetGridDirection (const DirectionType &spacing)
virtual DirectionType GetGridDirection () const

virtual void SetGridOrigin (const OriginType &origin)
virtual OriginType GetGridOrigin () const

virtual void SetBulkTransform (const BulkTransformType *_arg)
virtual const BulkTransformTypeGetBulkTransform ()

virtual OutputVectorType TransformVector (const InputVectorType &) const

virtual OutputVnlVectorType TransformVector (const InputVnlVectorType &) const

virtual OutputCovariantVectorType TransformCovariantVector (const InputCovariantVectorType &) const

virtual const JacobianTypeGetJacobian (const InputPointType &) const

unsigned long AddObserver (const EventObject &event, Command *)
unsigned long AddObserver (const EventObject &event, Command *) const

Static Public Member Functions

static void BreakOnError ()
static Pointer New (void)

static void SetGlobalWarningDisplay (bool flag)
static bool GetGlobalWarningDisplay ()
static void GlobalWarningDisplayOn ()
static void GlobalWarningDisplayOff ()

Static Public Attributes

static const unsigned int SpaceDimension = NDimensions
static const unsigned int SplineOrder = VSplineOrder

static const unsigned int InputSpaceDimension
static const unsigned int OutputSpaceDimension

Protected Types

typedef int InternalReferenceCountType

Protected Member Functions

 BSplineDeformableTransform ()
bool PrintObservers (std::ostream &os, Indent indent) const
void PrintSelf (std::ostream &os, Indent indent) const
void TransformPointToContinuousIndex (const InputPointType &point, ContinuousIndexType &index) const
void WrapAsImages ()
virtual ~BSplineDeformableTransform ()

virtual void SetWeightsFunction (WeightsFunctionType *_arg)
virtual WeightsFunctionTypeGetWeightsFunction ()

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, unsigned int VSplineOrder = 3>
class itk::BSplineDeformableTransform< TScalarType, NDimensions, VSplineOrder >

Deformable transform using a BSpline representation.

This class encapsulates a deformable transform of points from one N-dimensional one space to another N-dimensional space. The deformation field is modeled using B-splines. A deformation is defined on a sparse regular grid of control points $ \vec{\lambda}_j $ and is varied by defining a deformation $ \vec{g}(\vec{\lambda}_j) $ of each control point. The deformation $ D(\vec{x}) $ at any point $ \vec{x} $ is obtained by using a B-spline interpolation kernel.

The deformation field grid is defined by a user specified GridRegion, GridSpacing and GridOrigin. Each grid/control point has associated with it N deformation coefficients $ \vec{\delta}_j $, representing the N directional components of the deformation. Deformation outside the grid plus support region for the BSpline interpolation is assumed to be zero.

Additionally, the user can specified an addition bulk transform $ B $ such that the transformed point is given by:

\[ \vec{y} = B(\vec{x}) + D(\vec{x}) \]

The parameters for this transform is N x N-D grid of spline coefficients. The user specifies the parameters as one flat array: each N-D grid is represented by an array in the same way an N-D image is represented in the buffer; the N arrays are then concatentated together on form a single array.

For efficiency, this transform does not make a copy of the parameters. It only keeps a pointer to the input parameters and assumes that the memory is managed by the caller.

The following illustrates the typical usage of this class:

 * typedef BSplineDeformableTransform<double,2,3> TransformType;
 * TransformType::Pointer transform = TransformType::New();
 *
 * transform->SetGridRegion( region );
 * transform->SetGridSpacing( spacing );
 * transform->SetGridOrigin( origin );
 *
 * // NB: the region must be set first before setting the parameters
 *
 * TransformType::ParametersType parameters( 
 *                                       transform->GetNumberOfParameters() );
 *
 * // Fill the parameters with values
 *
 * transform->SetParameters( parameters )
 *
 * outputPoint = transform->TransformPoint( inputPoint );
 *
 * 

An alternative way to set the B-spline coefficients is via array of images. The grid region, spacing and origin information is taken directly from the first image. It is assumed that the subsequent images are the same buffered region. The following illustrates the API:

 *
 * TransformType::ImageConstPointer images[2];
 *
 * // Fill the images up with values
 *
 * transform->SetCoefficientImages( images ); 
 * outputPoint = transform->TransformPoint( inputPoint );
 *
 * 

Warning: use either the SetParameters() or SetCoefficientImage() API. Mixing the two modes may results in unexpected results.

The class is templated coordinate representation type (float or double), the space dimension and the spline order.

Definition at line 111 of file itkBSplineDeformableTransform.h.


Member Typedef Documentation

template<class TScalarType = double, unsigned int NDimensions = 3, unsigned int VSplineOrder = 3>
typedef BulkTransformType::ConstPointer itk::BSplineDeformableTransform< TScalarType, NDimensions, VSplineOrder >::BulkTransformPointer

Typedef of the bulk transform.

Definition at line 307 of file itkBSplineDeformableTransform.h.

template<class TScalarType = double, unsigned int NDimensions = 3, unsigned int VSplineOrder = 3>
typedef Transform<ScalarType,itkGetStaticConstMacro(SpaceDimension), itkGetStaticConstMacro(SpaceDimension)> itk::BSplineDeformableTransform< TScalarType, NDimensions, VSplineOrder >::BulkTransformType

Typedef of the bulk transform.

Definition at line 301 of file itkBSplineDeformableTransform.h.

template<class TScalarType = double, unsigned int NDimensions = 3, unsigned int VSplineOrder = 3>
typedef SmartPointer<const Self> itk::BSplineDeformableTransform< TScalarType, NDimensions, VSplineOrder >::ConstPointer
template<class TScalarType = double, unsigned int NDimensions = 3, unsigned int VSplineOrder = 3>
typedef WeightsFunctionType::ContinuousIndexType itk::BSplineDeformableTransform< TScalarType, NDimensions, VSplineOrder >::ContinuousIndexType

Interpolation weights function type.

Definition at line 326 of file itkBSplineDeformableTransform.h.

template<class TScalarType = double, unsigned int NDimensions = 3, unsigned int VSplineOrder = 3>
typedef ImageType::DirectionType itk::BSplineDeformableTransform< TScalarType, NDimensions, VSplineOrder >::DirectionType

Definition at line 281 of file itkBSplineDeformableTransform.h.

template<class TScalarType = double, unsigned int NDimensions = 3, unsigned int VSplineOrder = 3>
typedef ImageType::Pointer itk::BSplineDeformableTransform< TScalarType, NDimensions, VSplineOrder >::ImagePointer

Definition at line 252 of file itkBSplineDeformableTransform.h.

template<class TScalarType = double, unsigned int NDimensions = 3, unsigned int VSplineOrder = 3>
typedef Image<PixelType,itkGetStaticConstMacro(SpaceDimension)> itk::BSplineDeformableTransform< TScalarType, NDimensions, VSplineOrder >::ImageType

Definition at line 251 of file itkBSplineDeformableTransform.h.

template<class TScalarType = double, unsigned int NDimensions = 3, unsigned int VSplineOrder = 3>
typedef RegionType::IndexType itk::BSplineDeformableTransform< TScalarType, NDimensions, VSplineOrder >::IndexType

Definition at line 278 of file itkBSplineDeformableTransform.h.

template<class TScalarType = double, unsigned int NDimensions = 3, unsigned int VSplineOrder = 3>
typedef CovariantVector<TScalarType, itkGetStaticConstMacro(SpaceDimension)> itk::BSplineDeformableTransform< TScalarType, NDimensions, VSplineOrder >::InputCovariantVectorType

Standard covariant vector type for this class.

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

Definition at line 155 of file itkBSplineDeformableTransform.h.

template<class TScalarType = double, unsigned int NDimensions = 3, unsigned int VSplineOrder = 3>
typedef Point<TScalarType, itkGetStaticConstMacro(SpaceDimension)> itk::BSplineDeformableTransform< TScalarType, NDimensions, VSplineOrder >::InputPointType

Standard coordinate point type for this class.

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

Definition at line 169 of file itkBSplineDeformableTransform.h.

template<class TScalarType = double, unsigned int NDimensions = 3, unsigned int VSplineOrder = 3>
typedef Vector<TScalarType, itkGetStaticConstMacro(SpaceDimension)> itk::BSplineDeformableTransform< TScalarType, NDimensions, VSplineOrder >::InputVectorType

Standard vector type for this class.

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

Definition at line 148 of file itkBSplineDeformableTransform.h.

template<class TScalarType = double, unsigned int NDimensions = 3, unsigned int VSplineOrder = 3>
typedef vnl_vector_fixed<TScalarType, itkGetStaticConstMacro(SpaceDimension)> itk::BSplineDeformableTransform< TScalarType, NDimensions, VSplineOrder >::InputVnlVectorType

Standard vnl_vector type for this class.

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

Definition at line 162 of file itkBSplineDeformableTransform.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.

typedef InverseTransformBaseType::Pointer itk::Transform< TScalarType, NInputDimensions, NOutputDimensions >::InverseTransformBasePointer [inherited]
typedef TransformBase itk::Transform< TScalarType, NInputDimensions, NOutputDimensions >::InverseTransformBaseType [inherited]

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

Reimplemented in itk::IdentityTransform< TScalarType, NDimensions >, itk::ScaleTransform< TScalarType, NDimensions >, and itk::TranslationTransform< TScalarType, NDimensions >.

Definition at line 123 of file itkTransform.h.

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

Standard Jacobian container.

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

Definition at line 144 of file itkBSplineDeformableTransform.h.

template<class TScalarType = double, unsigned int NDimensions = 3, unsigned int VSplineOrder = 3>
typedef ImageType::PointType itk::BSplineDeformableTransform< TScalarType, NDimensions, VSplineOrder >::OriginType

Definition at line 282 of file itkBSplineDeformableTransform.h.

template<class TScalarType = double, unsigned int NDimensions = 3, unsigned int VSplineOrder = 3>
typedef CovariantVector<TScalarType, itkGetStaticConstMacro(SpaceDimension)> itk::BSplineDeformableTransform< TScalarType, NDimensions, VSplineOrder >::OutputCovariantVectorType

Standard covariant vector type for this class.

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

Definition at line 157 of file itkBSplineDeformableTransform.h.

template<class TScalarType = double, unsigned int NDimensions = 3, unsigned int VSplineOrder = 3>
typedef Point<TScalarType, itkGetStaticConstMacro(SpaceDimension)> itk::BSplineDeformableTransform< TScalarType, NDimensions, VSplineOrder >::OutputPointType

Standard coordinate point type for this class.

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

Definition at line 171 of file itkBSplineDeformableTransform.h.

template<class TScalarType = double, unsigned int NDimensions = 3, unsigned int VSplineOrder = 3>
typedef Vector<TScalarType, itkGetStaticConstMacro(SpaceDimension)> itk::BSplineDeformableTransform< TScalarType, NDimensions, VSplineOrder >::OutputVectorType

Standard vector type for this class.

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

Definition at line 150 of file itkBSplineDeformableTransform.h.

template<class TScalarType = double, unsigned int NDimensions = 3, unsigned int VSplineOrder = 3>
typedef vnl_vector_fixed<TScalarType, itkGetStaticConstMacro(SpaceDimension)> itk::BSplineDeformableTransform< TScalarType, NDimensions, VSplineOrder >::OutputVnlVectorType

Standard vnl_vector type for this class.

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

Definition at line 164 of file itkBSplineDeformableTransform.h.

template<class TScalarType = double, unsigned int NDimensions = 3, unsigned int VSplineOrder = 3>
typedef Array<unsigned long> itk::BSplineDeformableTransform< TScalarType, NDimensions, VSplineOrder >::ParameterIndexArrayType

Parameter index array type.

Definition at line 330 of file itkBSplineDeformableTransform.h.

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

Standard parameters container.

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

Definition at line 141 of file itkBSplineDeformableTransform.h.

typedef Superclass::ParametersValueType itk::Transform< TScalarType, NInputDimensions, NOutputDimensions >::ParametersValueType [inherited]

Type of the input parameters.

Reimplemented from itk::TransformBase.

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

Definition at line 97 of file itkTransform.h.

template<class TScalarType = double, unsigned int NDimensions = 3, unsigned int VSplineOrder = 3>
typedef ParametersType::ValueType itk::BSplineDeformableTransform< TScalarType, NDimensions, VSplineOrder >::PixelType

Parameters as SpaceDimension number of images.

Definition at line 250 of file itkBSplineDeformableTransform.h.

template<class TScalarType = double, unsigned int NDimensions = 3, unsigned int VSplineOrder = 3>
typedef SmartPointer<Self> itk::BSplineDeformableTransform< TScalarType, NDimensions, VSplineOrder >::Pointer
template<class TScalarType = double, unsigned int NDimensions = 3, unsigned int VSplineOrder = 3>
typedef ImageRegion<itkGetStaticConstMacro(SpaceDimension)> itk::BSplineDeformableTransform< TScalarType, NDimensions, VSplineOrder >::RegionType

Typedefs for specifying the extend to the grid.

Definition at line 276 of file itkBSplineDeformableTransform.h.

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

Standard scalar type for this class.

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

Definition at line 138 of file itkBSplineDeformableTransform.h.

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

Standard class typedefs.

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

Definition at line 116 of file itkBSplineDeformableTransform.h.

template<class TScalarType = double, unsigned int NDimensions = 3, unsigned int VSplineOrder = 3>
typedef RegionType::SizeType itk::BSplineDeformableTransform< TScalarType, NDimensions, VSplineOrder >::SizeType

Definition at line 279 of file itkBSplineDeformableTransform.h.

template<class TScalarType = double, unsigned int NDimensions = 3, unsigned int VSplineOrder = 3>
typedef ImageType::SpacingType itk::BSplineDeformableTransform< TScalarType, NDimensions, VSplineOrder >::SpacingType

Definition at line 280 of file itkBSplineDeformableTransform.h.

template<class TScalarType = double, unsigned int NDimensions = 3, unsigned int VSplineOrder = 3>
typedef Transform< TScalarType, NDimensions, NDimensions > itk::BSplineDeformableTransform< TScalarType, NDimensions, VSplineOrder >::Superclass
template<class TScalarType = double, unsigned int NDimensions = 3, unsigned int VSplineOrder = 3>
typedef BSplineInterpolationWeightFunction<ScalarType, itkGetStaticConstMacro(SpaceDimension), itkGetStaticConstMacro(SplineOrder)> itk::BSplineDeformableTransform< TScalarType, NDimensions, VSplineOrder >::WeightsFunctionType

Interpolation weights function type.

Definition at line 323 of file itkBSplineDeformableTransform.h.

template<class TScalarType = double, unsigned int NDimensions = 3, unsigned int VSplineOrder = 3>
typedef WeightsFunctionType::WeightsType itk::BSplineDeformableTransform< TScalarType, NDimensions, VSplineOrder >::WeightsType

Interpolation weights function type.

Definition at line 324 of file itkBSplineDeformableTransform.h.


Constructor & Destructor Documentation

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

Member Function Documentation

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

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

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

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

template<class TScalarType = double, unsigned int NDimensions = 3, unsigned int VSplineOrder = 3>
virtual ::itk::LightObject::Pointer itk::BSplineDeformableTransform< TScalarType, NDimensions, VSplineOrder >::CreateAnother ( void   )  const [virtual]

CreateAnother method will clone the existing instance of this type, including its internal member variables.

Reimplemented from itk::Object.

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.

template<class TScalarType = double, unsigned int NDimensions = 3, unsigned int VSplineOrder = 3>
virtual const BulkTransformType* itk::BSplineDeformableTransform< TScalarType, NDimensions, VSplineOrder >::GetBulkTransform (  )  [virtual]

This method specifies the bulk transform to be applied. The default is the identity transform.

template<class TScalarType = double, unsigned int NDimensions = 3, unsigned int VSplineOrder = 3>
virtual ImagePointer* itk::BSplineDeformableTransform< TScalarType, NDimensions, VSplineOrder >::GetCoefficientImage (  )  [inline, virtual]

Get the array of coefficient images.

Definition at line 255 of file itkBSplineDeformableTransform.h.

template<class TScalarType = double, unsigned int NDimensions = 3, unsigned int VSplineOrder = 3>
virtual const ImagePointer* itk::BSplineDeformableTransform< TScalarType, NDimensions, VSplineOrder >::GetCoefficientImage (  )  const [inline, virtual]

Get the array of coefficient images.

Definition at line 257 of file itkBSplineDeformableTransform.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.

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

Get the Transformation Fixed Parameters.

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

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

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

template<class TScalarType = double, unsigned int NDimensions = 3, unsigned int VSplineOrder = 3>
virtual DirectionType itk::BSplineDeformableTransform< TScalarType, NDimensions, VSplineOrder >::GetGridDirection (  )  const [virtual]

This method specifies the grid directions .

template<class TScalarType = double, unsigned int NDimensions = 3, unsigned int VSplineOrder = 3>
virtual OriginType itk::BSplineDeformableTransform< TScalarType, NDimensions, VSplineOrder >::GetGridOrigin (  )  const [virtual]

This method specifies the grid origin.

template<class TScalarType = double, unsigned int NDimensions = 3, unsigned int VSplineOrder = 3>
virtual RegionType itk::BSplineDeformableTransform< TScalarType, NDimensions, VSplineOrder >::GetGridRegion (  )  const [virtual]

This method specifies the region over which the grid resides.

template<class TScalarType = double, unsigned int NDimensions = 3, unsigned int VSplineOrder = 3>
virtual SpacingType itk::BSplineDeformableTransform< TScalarType, NDimensions, VSplineOrder >::GetGridSpacing (  )  const [virtual]

This method specifies the grid spacing or resolution.

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::Transform< TScalarType, NInputDimensions, NOutputDimensions >::GetInverse ( Self  )  const [inline, inherited]

Returns a boolean indicating whether it is possible or not to compute the inverse of this current Transform. If it is possible, then the inverse of the transform is returned in the inverseTransform variable passed by the user. The inverse is recomputed if this current transform has been modified. This method is intended to be overriden by derived classes.

Reimplemented in itk::ScaleTransform< TScalarType, NDimensions >, and itk::TranslationTransform< TScalarType, NDimensions >.

Definition at line 239 of file itkTransform.h.

virtual InverseTransformBasePointer itk::Transform< TScalarType, NInputDimensions, NOutputDimensions >::GetInverseTransform (  )  const [inline, virtual, inherited]

Return an inverse of this transform. If the inverse has not been implemented, return NULL. The type of the inverse transform does not necessarily need to match the type of the forward transform. This allows one to return a numeric inverse transform instead.

Reimplemented in itk::IdentityTransform< TScalarType, NDimensions >, itk::ScaleTransform< TScalarType, NDimensions >, and itk::TranslationTransform< TScalarType, NDimensions >.

Definition at line 247 of file itkTransform.h.

template<class TScalarType = double, unsigned int NDimensions = 3, unsigned int VSplineOrder = 3>
virtual void itk::BSplineDeformableTransform< TScalarType, NDimensions, VSplineOrder >::GetJacobian ( const InputPointType inputPoint,
WeightsType weights,
ParameterIndexArrayType indices 
) const [virtual]
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] \]

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

Definition at line 218 of file itkTransform.h.

template<class TScalarType = double, unsigned int NDimensions = 3, unsigned int VSplineOrder = 3>
virtual const JacobianType& itk::BSplineDeformableTransform< TScalarType, NDimensions, VSplineOrder >::GetJacobian ( const InputPointType point  )  const [virtual]

Compute the Jacobian Matrix of the transformation at one point

MetaDataDictionary& itk::Object::GetMetaDataDictionary ( void   )  [inherited]
Returns:
A reference to this objects MetaDataDictionary.
Warning:
This reference may be changed.
const MetaDataDictionary& itk::Object::GetMetaDataDictionary ( void   )  const [inherited]
Returns:
A constant reference to this objects MetaDataDictionary.
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::AsinPixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, Accessor::SqrtPixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, Accessor::TanPixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, Accessor::CosPixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, Accessor::VectorToRGBPixelAccessor< TImage::PixelType::ValueType > >, itk::ImageAdaptor< TImage, Accessor::RGBToVectorPixelAccessor< TImage::PixelType::ComponentType > >, itk::ImageAdaptor< TImage, Accessor::ComplexToModulusPixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, Accessor::AbsPixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, Accessor::SinPixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, Accessor::LogPixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, Accessor::ComplexToPhasePixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< VectorImage< TPixelType, Dimension >, Accessor::VectorImageToImagePixelAccessor< TPixelType > >, itk::ImageAdaptor< TImage, Accessor::Log10PixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, Accessor::AtanPixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, Accessor::ComplexToRealPixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, Accessor::ComplexToImaginaryPixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, Accessor::ExpNegativePixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, Accessor::ExpPixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, Accessor::AcosPixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, Accessor::RGBToLuminancePixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, Accessor::AddPixelAccessor< TImage::PixelType > >, 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, unsigned int VSplineOrder = 3>
virtual const char* itk::BSplineDeformableTransform< TScalarType, NDimensions, VSplineOrder >::GetNameOfClass (  )  const [virtual]

Run-time type information (and related methods).

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

template<class TScalarType = double, unsigned int NDimensions = 3, unsigned int VSplineOrder = 3>
unsigned int itk::BSplineDeformableTransform< TScalarType, NDimensions, VSplineOrder >::GetNumberOfAffectedWeights (  )  const
template<class TScalarType = double, unsigned int NDimensions = 3, unsigned int VSplineOrder = 3>
virtual unsigned int itk::BSplineDeformableTransform< TScalarType, NDimensions, VSplineOrder >::GetNumberOfParameters ( void   )  const [virtual]

Return the number of parameters that completely define the Transfom

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

template<class TScalarType = double, unsigned int NDimensions = 3, unsigned int VSplineOrder = 3>
unsigned int itk::BSplineDeformableTransform< TScalarType, NDimensions, VSplineOrder >::GetNumberOfParametersPerDimension ( void   )  const

Return the number of parameters per dimension

template<class TScalarType = double, unsigned int NDimensions = 3, unsigned int VSplineOrder = 3>
unsigned long itk::BSplineDeformableTransform< TScalarType, NDimensions, VSplineOrder >::GetNumberOfWeights (  )  const [inline]

Get number of weights.

Definition at line 352 of file itkBSplineDeformableTransform.h.

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, unsigned int VSplineOrder = 3>
virtual const ParametersType& itk::BSplineDeformableTransform< TScalarType, NDimensions, VSplineOrder >::GetParameters ( void   )  const [virtual]

Get the Transformation Parameters.

Reimplemented from itk::Transform< 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.

template<class TScalarType = double, unsigned int NDimensions = 3, unsigned int VSplineOrder = 3>
virtual const RegionType& itk::BSplineDeformableTransform< TScalarType, NDimensions, VSplineOrder >::GetValidRegion (  )  [virtual]

Return the region of the grid wholly within the support region

template<class TScalarType = double, unsigned int NDimensions = 3, unsigned int VSplineOrder = 3>
virtual WeightsFunctionType* itk::BSplineDeformableTransform< TScalarType, NDimensions, VSplineOrder >::GetWeightsFunction (  )  [protected, virtual]

Allow subclasses to access and manipulate the weights function.

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.

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

Call Execute on all the Commands observing this event id.

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.

template<class TScalarType = double, unsigned int NDimensions = 3, unsigned int VSplineOrder = 3>
virtual bool itk::BSplineDeformableTransform< TScalarType, NDimensions, VSplineOrder >::IsLinear (  )  const [inline, virtual]

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, NDimensions, NDimensions >.

Definition at line 400 of file itkBSplineDeformableTransform.h.

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::AsinPixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, Accessor::SqrtPixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, Accessor::TanPixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, Accessor::CosPixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, Accessor::VectorToRGBPixelAccessor< TImage::PixelType::ValueType > >, itk::ImageAdaptor< TImage, Accessor::RGBToVectorPixelAccessor< TImage::PixelType::ComponentType > >, itk::ImageAdaptor< TImage, Accessor::ComplexToModulusPixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, Accessor::AbsPixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, Accessor::SinPixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, Accessor::LogPixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, Accessor::ComplexToPhasePixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< VectorImage< TPixelType, Dimension >, Accessor::VectorImageToImagePixelAccessor< TPixelType > >, itk::ImageAdaptor< TImage, Accessor::Log10PixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, Accessor::AtanPixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, Accessor::ComplexToRealPixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, Accessor::ComplexToImaginaryPixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, Accessor::ExpNegativePixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, Accessor::ExpPixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, Accessor::AcosPixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, Accessor::RGBToLuminancePixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, Accessor::AddPixelAccessor< TImage::PixelType > >, and itk::MiniPipelineSeparableImageFilter< TInputImage, TOutputImage, RankImageFilter< TInputImage, TInputImage, FlatStructuringElement< ::itk::GetImageDimension< TInputImage >::ImageDimension > > >.

Referenced by itk::NarrowBandImageFilterBase< TInputImage, Image< TOutputPixelType,::itk::GetImageDimension< TInputImage >::ImageDimension > >::InsertNarrowBandNode(), itk::MatrixOffsetTransformBase< TScalarType, 3, 3 >::SetCenter(), itk::MatrixOffsetTransformBase< TScalarType, 3, 3 >::SetMatrix(), itk::NarrowBandImageFilterBase< TInputImage, Image< TOutputPixelType,::itk::GetImageDimension< TInputImage >::ImageDimension > >::SetNarrowBand(), itk::NarrowBandImageFilterBase< TInputImage, Image< TOutputPixelType,::itk::GetImageDimension< TInputImage >::ImageDimension > >::SetNarrowBandInnerRadius(), itk::NarrowBandImageFilterBase< TInputImage, Image< TOutputPixelType,::itk::GetImageDimension< TInputImage >::ImageDimension > >::SetNarrowBandTotalRadius(), itk::MatrixOffsetTransformBase< TScalarType, 3, 3 >::SetOffset(), itk::ThresholdLabelerImageFilter< TInputImage, TOutputImage >::SetRealThresholds(), 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, unsigned int VSplineOrder = 3>
static Pointer itk::BSplineDeformableTransform< TScalarType, NDimensions, VSplineOrder >::New ( void   )  [static]

New macro for creation of through the object factory.

Reimplemented from itk::Transform< TScalarType, NDimensions, 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, unsigned int VSplineOrder = 3>
void itk::BSplineDeformableTransform< TScalarType, NDimensions, VSplineOrder >::PrintSelf ( std::ostream &  os,
Indent  indent 
) const [protected, virtual]

Print contents of an BSplineDeformableTransform.

Reimplemented from itk::Object.

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, unsigned int VSplineOrder = 3>
virtual void itk::BSplineDeformableTransform< TScalarType, NDimensions, VSplineOrder >::SetBulkTransform ( const BulkTransformType _arg  )  [virtual]

This method specifies the bulk transform to be applied. The default is the identity transform.

template<class TScalarType = double, unsigned int NDimensions = 3, unsigned int VSplineOrder = 3>
virtual void itk::BSplineDeformableTransform< TScalarType, NDimensions, VSplineOrder >::SetCoefficientImage ( ImagePointer  images[]  )  [virtual]

Set the array of coefficient images.

This is an alternative API for setting the BSpline coefficients as an array of SpaceDimension images. The grid region spacing and origin is taken from the first image. It is assume that the buffered region of all the subsequent images are the same as the first image. Note that no error checking is done.

Warning: use either the SetParameters() or SetCoefficientImage() API. Mixing the two modes may results in unexpected results.

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::Transform< TScalarType, NInputDimensions, NOutputDimensions >::SetFixedParameters ( const ParametersType  )  [inline, virtual, inherited]

Set the fixed parameters and update internal transformation.

Implements itk::TransformBase.

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

Definition at line 178 of file itkTransform.h.

template<class TScalarType = double, unsigned int NDimensions = 3, unsigned int VSplineOrder = 3>
void itk::BSplineDeformableTransform< TScalarType, NDimensions, VSplineOrder >::SetFixedParameters ( const ParametersType parameters  ) 

This method sets the fixed parameters of the transform. For a BSpline deformation transform, the parameters are the following: Grid Size, Grid Origin, and Grid Spacing

The fixed parameters are the three times the size of the templated dimensions. This function has the effect of make the following calls: transform->SetGridSpacing( spacing ); transform->SetGridOrigin( origin ); transform->SetGridDirection( direction ); transform->SetGridRegion( bsplineRegion );

This function was added to allow the transform to work with the itkTransformReader/Writer I/O filters.

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().

template<class TScalarType = double, unsigned int NDimensions = 3, unsigned int VSplineOrder = 3>
virtual void itk::BSplineDeformableTransform< TScalarType, NDimensions, VSplineOrder >::SetGridDirection ( const DirectionType spacing  )  [virtual]

This method specifies the grid directions .

template<class TScalarType = double, unsigned int NDimensions = 3, unsigned int VSplineOrder = 3>
virtual void itk::BSplineDeformableTransform< TScalarType, NDimensions, VSplineOrder >::SetGridOrigin ( const OriginType origin  )  [virtual]

This method specifies the grid origin.

template<class TScalarType = double, unsigned int NDimensions = 3, unsigned int VSplineOrder = 3>
virtual void itk::BSplineDeformableTransform< TScalarType, NDimensions, VSplineOrder >::SetGridRegion ( const RegionType region  )  [virtual]

This method specifies the region over which the grid resides.

template<class TScalarType = double, unsigned int NDimensions = 3, unsigned int VSplineOrder = 3>
virtual void itk::BSplineDeformableTransform< TScalarType, NDimensions, VSplineOrder >::SetGridSpacing ( const SpacingType spacing  )  [virtual]

This method specifies the grid spacing or resolution.

template<class TScalarType = double, unsigned int NDimensions = 3, unsigned int VSplineOrder = 3>
void itk::BSplineDeformableTransform< TScalarType, NDimensions, VSplineOrder >::SetIdentity (  ) 

This method can ONLY be invoked AFTER calling SetParameters(). This restriction is due to the fact that the BSplineDeformableTransform does not copy the array of paramters internally, instead it keeps a pointer to the user-provided array of parameters. This method is also in violation of the const-correctness of the parameters since the parameter array has been passed to the transform on a 'const' basis but the values get modified when the user invokes SetIdentity().

void itk::Object::SetMetaDataDictionary ( const MetaDataDictionary rhs  )  [inherited]
Returns:
Set the MetaDataDictionary
template<class TScalarType = double, unsigned int NDimensions = 3, unsigned int VSplineOrder = 3>
void itk::BSplineDeformableTransform< TScalarType, NDimensions, VSplineOrder >::SetParameters ( const ParametersType parameters  ) 

This method sets the parameters of the transform. For a BSpline deformation transform, the parameters are the BSpline coefficients on a sparse grid.

The parameters are N number of N-D grid of coefficients. Each N-D grid is represented as a flat array of doubles (in the same configuration as an itk::Image). The N arrays are then concatenated to form one parameter array.

For efficiency, this transform does not make a copy of the parameters. It only keeps a pointer to the input parameters. It assumes that the memory is managed by the caller. Use SetParametersByValue to force the transform to call copy the parameters.

This method wraps each grid as itk::Image's using the user specified grid region, spacing and origin. NOTE: The grid region, spacing and origin must be set first.

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

Set the transformation parameters and update internal transformation. SetParameters gives the transform the option to set it's parameters by keeping a reference to the parameters, or by copying. To force the transform to copy it's parameters call SetParametersByValue.

See also:
SetParametersByValue

Implements itk::TransformBase.

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

Definition at line 154 of file itkTransform.h.

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 164 of file itkTransform.h.

template<class TScalarType = double, unsigned int NDimensions = 3, unsigned int VSplineOrder = 3>
void itk::BSplineDeformableTransform< TScalarType, NDimensions, VSplineOrder >::SetParametersByValue ( const ParametersType parameters  ) 

This method sets the parameters of the transform. For a BSpline deformation transform, the parameters are the BSpline coefficients on a sparse grid.

The parameters are N number of N-D grid of coefficients. Each N-D grid is represented as a flat array of doubles (in the same configuration as an itk::Image). The N arrays are then concatenated to form one parameter array.

This methods makes a copy of the parameters while for efficiency the SetParameters method does not.

This method wraps each grid as itk::Image's using the user specified grid region, spacing and origin. NOTE: The grid region, spacing and origin must be set first.

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

Sets the reference count (use with care)

Reimplemented from itk::LightObject.

template<class TScalarType = double, unsigned int NDimensions = 3, unsigned int VSplineOrder = 3>
virtual void itk::BSplineDeformableTransform< TScalarType, NDimensions, VSplineOrder >::SetWeightsFunction ( WeightsFunctionType _arg  )  [protected, virtual]

Allow subclasses to access and manipulate the weights function.

template<class TScalarType = double, unsigned int NDimensions = 3, unsigned int VSplineOrder = 3>
virtual OutputCovariantVectorType itk::BSplineDeformableTransform< TScalarType, NDimensions, VSplineOrder >::TransformCovariantVector ( const InputCovariantVectorType  )  const [inline, virtual]

Method to transform a CovariantVector - not applicable for this type of transform

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

Definition at line 375 of file itkBSplineDeformableTransform.h.

References itkExceptionMacro.

template<class TScalarType = double, unsigned int NDimensions = 3, unsigned int VSplineOrder = 3>
OutputPointType itk::BSplineDeformableTransform< TScalarType, NDimensions, VSplineOrder >::TransformPoint ( const InputPointType point  )  const

Transform points by a BSpline deformable transformation.

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

Method to transform a point.

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

Definition at line 131 of file itkTransform.h.

template<class TScalarType = double, unsigned int NDimensions = 3, unsigned int VSplineOrder = 3>
virtual void itk::BSplineDeformableTransform< TScalarType, NDimensions, VSplineOrder >::TransformPoint ( const InputPointType inputPoint,
OutputPointType outputPoint,
WeightsType weights,
ParameterIndexArrayType indices,
bool &  inside 
) const [virtual]

Transform points by a BSpline deformable transformation. On return, weights contains the interpolation weights used to compute the deformation and indices of the x (zeroth) dimension coefficient parameters in the support region used to compute the deformation. Parameter indices for the i-th dimension can be obtained by adding ( i * this->GetNumberOfParametersPerDimension() ) to the indices array.

template<class TScalarType = double, unsigned int NDimensions = 3, unsigned int VSplineOrder = 3>
void itk::BSplineDeformableTransform< TScalarType, NDimensions, VSplineOrder >::TransformPointToContinuousIndex ( const InputPointType point,
ContinuousIndexType index 
) const [protected]

Convert an input point to a continuous index inside the BSpline grid

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

Method to transform a vector.

Definition at line 135 of file itkTransform.h.

template<class TScalarType = double, unsigned int NDimensions = 3, unsigned int VSplineOrder = 3>
virtual OutputVnlVectorType itk::BSplineDeformableTransform< TScalarType, NDimensions, VSplineOrder >::TransformVector ( const InputVnlVectorType  )  const [inline, virtual]

Method to transform a vnl_vector - not applicable for this type of transform

Definition at line 366 of file itkBSplineDeformableTransform.h.

References itkExceptionMacro.

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

Method to transform a vnl_vector.

Definition at line 139 of file itkTransform.h.

template<class TScalarType = double, unsigned int NDimensions = 3, unsigned int VSplineOrder = 3>
virtual OutputVectorType itk::BSplineDeformableTransform< TScalarType, NDimensions, VSplineOrder >::TransformVector ( const InputVectorType  )  const [inline, virtual]

Method to transform a vector - not applicable for this type of transform.

Definition at line 357 of file itkBSplineDeformableTransform.h.

References itkExceptionMacro.

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

Decrease the reference count (release by another object).

Reimplemented from itk::LightObject.

template<class TScalarType = double, unsigned int NDimensions = 3, unsigned int VSplineOrder = 3>
void itk::BSplineDeformableTransform< TScalarType, NDimensions, VSplineOrder >::WrapAsImages (  )  [protected]

Wrap flat array into images of coefficients.


Member Data Documentation

const unsigned int itk::Transform< TScalarType, NInputDimensions, NOutputDimensions >::InputSpaceDimension [static, inherited]

Dimension of the domain space.

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

Definition at line 82 of file itkTransform.h.

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

Definition at line 274 of file itkTransform.h.

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

Definition at line 275 of file itkTransform.h.

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

Definition at line 273 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.

const unsigned int itk::Transform< TScalarType, NInputDimensions, NOutputDimensions >::OutputSpaceDimension [static, inherited]

Dimension of the domain space.

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

Definition at line 83 of file itkTransform.h.

template<class TScalarType = double, unsigned int NDimensions = 3, unsigned int VSplineOrder = 3>
const unsigned int itk::BSplineDeformableTransform< TScalarType, NDimensions, VSplineOrder >::SpaceDimension = NDimensions [static]

Dimension of the domain space.

Definition at line 132 of file itkBSplineDeformableTransform.h.

template<class TScalarType = double, unsigned int NDimensions = 3, unsigned int VSplineOrder = 3>
const unsigned int itk::BSplineDeformableTransform< TScalarType, NDimensions, VSplineOrder >::SplineOrder = VSplineOrder [static]

The BSpline order.

Definition at line 135 of file itkBSplineDeformableTransform.h.


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

Generated at Mon Jul 12 2010 21:13:57 for ITK by doxygen 1.7.1 written by Dimitri van Heesch, © 1997-2000