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

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 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
BulkTransformType::ConstPointer 
BulkTransformPointer
typedef Transform< ScalarType,
itkGetStaticConstMacro(SpaceDimension),
itkGetStaticConstMacro(SpaceDimension)> 
BulkTransformType
typedef
WeightsFunctionType::ContinuousIndexType 
ContinuousIndexType
typedef
BSplineInterpolationWeightFunction
< ScalarType,
itkGetStaticConstMacro(SpaceDimension),
itkGetStaticConstMacro(SplineOrder)> 
WeightsFunctionType
typedef
WeightsFunctionType::WeightsType 
WeightsType
typedef CovariantVector
< TScalarType,
itkGetStaticConstMacro(SpaceDimension)> 
InputCovariantVectorType
typedef CovariantVector
< TScalarType,
itkGetStaticConstMacro(SpaceDimension)> 
OutputCovariantVectorType
typedef Point< TScalarType,
itkGetStaticConstMacro(SpaceDimension)> 
InputPointType
typedef Point< TScalarType,
itkGetStaticConstMacro(SpaceDimension)> 
OutputPointType
typedef Vector< TScalarType,
itkGetStaticConstMacro(SpaceDimension)> 
InputVectorType
typedef Vector< TScalarType,
itkGetStaticConstMacro(SpaceDimension)> 
OutputVectorType
typedef vnl_vector_fixed
< TScalarType,
itkGetStaticConstMacro(SpaceDimension)> 
InputVnlVectorType
typedef vnl_vector_fixed
< TScalarType,
itkGetStaticConstMacro(SpaceDimension)> 
OutputVnlVectorType

Public Member Functions

virtual LightObject::Pointer CreateAnother () 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 const JacobianTypeGetJacobian (const InputPointType &point) const
virtual void GetJacobian (const InputPointType &inputPoint, WeightsType &weights, ParameterIndexArrayType &indices) const
const MetaDataDictionaryGetMetaDataDictionary (void) const
MetaDataDictionaryGetMetaDataDictionary (void)
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 &) const
void InvokeEvent (const EventObject &)
virtual bool IsLinear () const
 itkStaticConstMacro (SplineOrder, unsigned int, VSplineOrder)
 itkStaticConstMacro (SpaceDimension, unsigned int, NDimensions)
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
void SetIdentity ()
void SetMetaDataDictionary (const MetaDataDictionary &rhs)
void SetParameters (const ParametersType &parameters)
void SetParametersByValue (const ParametersType &parameters)
virtual void SetReferenceCount (int)
virtual OutputPointType TransformPoint (const InputPointType &) const
virtual void TransformPoint (const InputPointType &inputPoint, OutputPointType &outputPoint, WeightsType &weights, ParameterIndexArrayType &indices, bool &inside) const
OutputPointType TransformPoint (const InputPointType &point) const
virtual OutputVnlVectorType TransformVector (const InputVnlVectorType &) const
virtual OutputVectorType TransformVector (const InputVectorType &) const
virtual void UnRegister () const
unsigned long AddObserver (const EventObject &event, Command *) const
unsigned long AddObserver (const EventObject &event, Command *)
virtual const BulkTransformTypeGetBulkTransform ()
virtual void SetBulkTransform (const BulkTransformType *_arg)
virtual const ImagePointerGetCoefficientImage () const
virtual ImagePointerGetCoefficientImage ()
virtual DirectionType GetGridDirection () const
virtual void SetGridDirection (const DirectionType &spacing)
virtual OriginType GetGridOrigin () const
virtual void SetGridOrigin (const OriginType &origin)
virtual RegionType GetGridRegion () const
virtual void SetGridRegion (const RegionType &region)
virtual SpacingType GetGridSpacing () const
virtual void SetGridSpacing (const SpacingType &spacing)
virtual const JacobianTypeGetJacobian (const InputPointType &) const
 itkStaticConstMacro (OutputSpaceDimension, unsigned int, NOutputDimensions)
 itkStaticConstMacro (InputSpaceDimension, unsigned int, NInputDimensions)
void SetFixedParameters (const ParametersType &parameters)
virtual OutputCovariantVectorType TransformCovariantVector (const InputCovariantVectorType &) const
virtual OutputVnlVectorType TransformVector (const InputVnlVectorType &) const
virtual OutputVectorType TransformVector (const InputVectorType &) 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

 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 WeightsFunctionTypeGetWeightsFunction ()
virtual void SetWeightsFunction (WeightsFunctionType *_arg)
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 303 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 297 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 322 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 277 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 248 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 247 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 274 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 151 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 165 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 144 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 158 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 122 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 140 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 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 >::OutputCovariantVectorType

Standard covariant vector type for this class.

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

Definition at line 153 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 167 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 146 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 160 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 326 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 137 of file itkBSplineDeformableTransform.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 246 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 272 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 134 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 275 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 276 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 319 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 320 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  
) 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

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

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

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.

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 const ImagePointer* itk::BSplineDeformableTransform< TScalarType, NDimensions, VSplineOrder >::GetCoefficientImage (  )  const [inline, virtual]

Get the array of coefficient images.

Definition at line 253 of file itkBSplineDeformableTransform.h.

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 251 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 238 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 246 of file itkTransform.h.

References NULL.

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

References itkExceptionMacro.

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

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]

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, 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 348 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  )  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.

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 396 of file itkBSplineDeformableTransform.h.

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

Dimension of the domain space.

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

Dimension of the domain space.

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

The BSpline order.

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

Dimension of the domain space.

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, unsigned int VSplineOrder = 3>
static Pointer itk::BSplineDeformableTransform< TScalarType, NDimensions, VSplineOrder >::New (  )  [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.

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

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.

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

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  )  [virtual]

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.

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

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

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.

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

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 371 of file itkBSplineDeformableTransform.h.

References itkExceptionMacro.

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 130 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>
OutputPointType itk::BSplineDeformableTransform< TScalarType, NDimensions, VSplineOrder >::TransformPoint ( const InputPointType point  )  const

Transform points by a BSpline deformable transformation.

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

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 362 of file itkBSplineDeformableTransform.h.

References itkExceptionMacro.

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 353 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

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:45:16 2009 for ITK by doxygen 1.5.8 written by Dimitri van Heesch, © 1997-2000