ITK  4.2.0
Insight Segmentation and Registration Toolkit
Public Types | Public Member Functions | Static Public Attributes | Protected Member Functions | Protected Attributes | Private Member Functions
itk::BSplineBaseTransform< TScalarType, NDimensions, VSplineOrder > Class Template Reference

#include <itkBSplineBaseTransform.h>

+ Inheritance diagram for itk::BSplineBaseTransform< TScalarType, NDimensions, VSplineOrder >:
+ Collaboration diagram for itk::BSplineBaseTransform< TScalarType, NDimensions, VSplineOrder >:

List of all members.

Public Types

typedef FixedArray
< ImagePointer, NDimensions > 
CoefficientImageArray
typedef SmartPointer< const SelfConstPointer
typedef
WeightsFunctionType::ContinuousIndexType 
ContinuousIndexType
typedef Superclass::DerivativeType DerivativeType
typedef ImageType::DirectionType DirectionType
typedef ImageType::Pointer ImagePointer
typedef Image
< ParametersValueType,
itkGetStaticConstMacro(SpaceDimension)> 
ImageType
typedef RegionType::IndexType IndexType
typedef vnl_vector_fixed
< TScalarType, SpaceDimension
InputVnlVectorType
typedef Superclass::JacobianType JacobianType
typedef SizeType MeshSizeType
typedef
Superclass::NumberOfParametersType 
NumberOfParametersType
typedef ImageType::PointType OriginType
typedef vnl_vector_fixed
< TScalarType, SpaceDimension
OutputVnlVectorType
typedef Array< unsigned long > ParameterIndexArrayType
typedef Superclass::ParametersType ParametersType
typedef ParametersType::ValueType ParametersValueType
typedef ImageType::SpacingType PhysicalDimensionsType
typedef ImageType::PixelType PixelType
typedef SmartPointer< SelfPointer
typedef ImageRegion
< itkGetStaticConstMacro(SpaceDimension)> 
RegionType
typedef Superclass::ScalarType ScalarType
typedef BSplineBaseTransform Self
typedef RegionType::SizeType SizeType
typedef ImageType::SpacingType SpacingType
typedef Transform< TScalarType,
NDimensions, NDimensions > 
Superclass
typedef
BSplineInterpolationWeightFunction
< ScalarType,
itkGetStaticConstMacro(SpaceDimension),
itkGetStaticConstMacro(SplineOrder)> 
WeightsFunctionType
typedef
WeightsFunctionType::WeightsType 
WeightsType
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 Point< TScalarType,
itkGetStaticConstMacro(SpaceDimension)> 
InputPointType
typedef Point< TScalarType,
itkGetStaticConstMacro(SpaceDimension)> 
OutputPointType
- Public Types inherited from itk::Transform< TScalarType, NDimensions, NDimensions >
typedef Matrix< double,
itkGetStaticConstMacro(OutputSpaceDimension),
itkGetStaticConstMacro(InputSpaceDimension)> 
DirectionChangeMatrix
typedef DiffusionTensor3D
< TScalarType > 
InputDiffusionTensor3DType
typedef Matrix< double,
itkGetStaticConstMacro(InputSpaceDimension),
itkGetStaticConstMacro(InputSpaceDimension)> 
InputDirectionMatrix
typedef
SymmetricSecondRankTensor
< TScalarType,
NInputDimensions > 
InputSymmetricSecondRankTensorType
typedef VariableLengthVector
< TScalarType > 
InputVectorPixelType
typedef
InverseTransformBaseType::Pointer 
InverseTransformBasePointer
typedef Transform< TScalarType,
NOutputDimensions,
NInputDimensions > 
InverseTransformBaseType
typedef Matrix< TScalarType,
itkGetStaticConstMacro(OutputSpaceDimension),
itkGetStaticConstMacro(InputSpaceDimension)> 
MatrixType
typedef DiffusionTensor3D
< TScalarType > 
OutputDiffusionTensor3DType
typedef Matrix< double,
itkGetStaticConstMacro(OutputSpaceDimension),
itkGetStaticConstMacro(OutputSpaceDimension)> 
OutputDirectionMatrix
typedef
SymmetricSecondRankTensor
< TScalarType,
NOutputDimensions > 
OutputSymmetricSecondRankTensorType
typedef VariableLengthVector
< TScalarType > 
OutputVectorPixelType
- Public Types inherited from itk::TransformBase
- Public Types inherited from itk::Object
- Public Types inherited from itk::LightObject

Public Member Functions

void ComputeJacobianFromBSplineWeightsWithRespectToPosition (const InputPointType &, WeightsType &, ParameterIndexArrayType &) const
virtual void ComputeJacobianWithRespectToParameters (const InputPointType &, JacobianType &) const =0
virtual void ComputeJacobianWithRespectToPosition (const InputPointType &, JacobianType &) const
const CoefficientImageArray GetCoefficientImages () const
virtual const ParametersTypeGetFixedParameters () const
virtual const char * GetNameOfClass () const
unsigned int GetNumberOfAffectedWeights () const
virtual NumberOfParametersType GetNumberOfParameters () const =0
virtual NumberOfParametersType GetNumberOfParametersPerDimension () const =0
unsigned long GetNumberOfWeights () const
virtual const ParametersTypeGetParameters () const
virtual bool IsLinear () const
 itkCloneMacro (Self)
virtual void SetCoefficientImages (const CoefficientImageArray &images)=0
void SetIdentity ()
void SetParameters (const ParametersType &parameters)
void SetParametersByValue (const ParametersType &parameters)
OutputPointType TransformPoint (const InputPointType &point) const
virtual void TransformPoint (const InputPointType &inputPoint, OutputPointType &outputPoint, WeightsType &weights, ParameterIndexArrayType &indices, bool &inside) const =0
virtual void UpdateTransformParameters (const DerivativeType &update, TScalarType factor=1.0)
virtual void SetFixedParameters (const ParametersType &parameters)=0
virtual OutputVectorType TransformVector (const InputVectorType &) const
virtual OutputVnlVectorType TransformVector (const InputVnlVectorType &) const
virtual OutputCovariantVectorType TransformCovariantVector (const InputCovariantVectorType &) const
- Public Member Functions inherited from itk::Transform< TScalarType, NDimensions, NDimensions >
virtual void ComputeInverseJacobianWithRespectToPosition (const InputPointType &x, JacobianType &jacobian) const
virtual void ComputeJacobianWithRespectToPosition (const InputPointType &, JacobianType &) const
unsigned int GetInputSpaceDimension (void) const
bool GetInverse (Self *) const
virtual InverseTransformBasePointer GetInverseTransform () const
virtual NumberOfParametersType GetNumberOfLocalParameters (void) const
unsigned int GetOutputSpaceDimension (void) const
virtual std::string GetTransformTypeAsString () const
virtual bool HasLocalSupport () const
virtual OutputCovariantVectorType TransformCovariantVector (const InputCovariantVectorType &vector, const InputPointType &point) const
virtual OutputVectorPixelType TransformCovariantVector (const InputVectorPixelType &) const
virtual OutputVectorPixelType TransformCovariantVector (const InputVectorPixelType &vector, const InputPointType &point) const
virtual OutputDiffusionTensor3DType TransformDiffusionTensor3D (const InputDiffusionTensor3DType &) const
virtual OutputDiffusionTensor3DType TransformDiffusionTensor3D (const InputDiffusionTensor3DType &tensor, const InputPointType &point) const
virtual OutputVectorPixelType TransformDiffusionTensor3D (const InputVectorPixelType &) const
virtual OutputVectorPixelType TransformDiffusionTensor3D (const InputVectorPixelType &tensor, const InputPointType &point) const
virtual
OutputSymmetricSecondRankTensorType 
TransformSymmetricSecondRankTensor (const InputSymmetricSecondRankTensorType &tensor, const InputPointType &point) const
virtual
OutputSymmetricSecondRankTensorType 
TransformSymmetricSecondRankTensor (const InputSymmetricSecondRankTensorType &) const
virtual OutputVectorPixelType TransformSymmetricSecondRankTensor (const InputVectorPixelType &) const
virtual OutputVectorPixelType TransformSymmetricSecondRankTensor (const InputVectorPixelType &tensor, const InputPointType &point) const
virtual OutputVectorType TransformVector (const InputVectorType &vector, const InputPointType &point) const
virtual OutputVnlVectorType TransformVector (const InputVnlVectorType &) const
virtual OutputVnlVectorType TransformVector (const InputVnlVectorType &vector, const InputPointType &point) const
virtual OutputVectorPixelType TransformVector (const InputVectorPixelType &) const
virtual OutputVectorPixelType TransformVector (const InputVectorPixelType &vector, const InputPointType &point) const
virtual void UpdateTransformParameters (const DerivativeType &update, TScalarType factor=1.0)
virtual void ComputeJacobianWithRespectToParameters (const InputPointType &, JacobianType &) const

Static Public Attributes

static const unsigned int SpaceDimension = NDimensions
static const unsigned int SplineOrder = VSplineOrder
- Static Public Attributes inherited from itk::Transform< TScalarType, NDimensions, NDimensions >
static const unsigned int InputSpaceDimension
static const unsigned int OutputSpaceDimension

Protected Member Functions

 BSplineBaseTransform ()
virtual WeightsFunctionTypeGetWeightsFunction ()
virtual bool InsideValidRegion (ContinuousIndexType &) const =0
void PrintSelf (std::ostream &os, Indent indent) const
virtual void SetCoefficientImageInformationFromFixedParameters ()=0
void SetFixedParametersFromTransformDomainInformation () const
virtual void SetFixedParametersGridDirectionFromTransformDomainInformation () const =0
virtual void SetFixedParametersGridOriginFromTransformDomainInformation () const =0
virtual void SetFixedParametersGridSizeFromTransformDomainInformation () const =0
virtual void SetFixedParametersGridSpacingFromTransformDomainInformation () const =0
virtual void SetWeightsFunction (WeightsFunctionType *_arg)
void WrapAsImages ()
virtual ~BSplineBaseTransform ()
- Protected Member Functions inherited from itk::Transform< TScalarType, NDimensions, NDimensions >
virtual LightObject::Pointer InternalClone () const
OutputDiffusionTensor3DType PreservationOfPrincipalDirectionDiffusionTensor3DReorientation (const InputDiffusionTensor3DType, const JacobianType) const
 Transform ()
 Transform (NumberOfParametersType NumberOfParameters)
virtual ~Transform ()
- Protected Member Functions inherited from itk::TransformBase
 TransformBase ()
virtual ~TransformBase ()
- Protected Member Functions inherited from itk::Object
 Object ()
bool PrintObservers (std::ostream &os, Indent indent) const
virtual void SetTimeStamp (const TimeStamp &time)
virtual ~Object ()
- Protected Member Functions inherited from itk::LightObject
 LightObject ()
virtual void PrintHeader (std::ostream &os, Indent indent) const
virtual void PrintTrailer (std::ostream &os, Indent indent) const
virtual ~LightObject ()

Protected Attributes

CoefficientImageArray m_CoefficientImages
const ParametersTypem_InputParametersPointer
ParametersType m_InternalParametersBuffer
WeightsFunctionType::Pointer m_WeightsFunction
- Protected Attributes inherited from itk::Transform< TScalarType, NDimensions, NDimensions >
DirectionChangeMatrix m_DirectionChange
ParametersType m_FixedParameters
ParametersType m_Parameters

Private Member Functions

CoefficientImageArray ArrayOfImagePointerGeneratorHelper () const
 BSplineBaseTransform (const Self &)
void operator= (const Self &)

Detailed Description

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

A base class with common elements of BSplineTransform and BSplineDeformableTransform.

Definition at line 35 of file itkBSplineBaseTransform.h.


Member Typedef Documentation

template<class TScalarType = double, unsigned int NDimensions = 3, unsigned int VSplineOrder = 3>
typedef FixedArray<ImagePointer, NDimensions> itk::BSplineBaseTransform< TScalarType, NDimensions, VSplineOrder >::CoefficientImageArray
template<class TScalarType = double, unsigned int NDimensions = 3, unsigned int VSplineOrder = 3>
typedef SmartPointer<const Self> itk::BSplineBaseTransform< TScalarType, NDimensions, VSplineOrder >::ConstPointer
template<class TScalarType = double, unsigned int NDimensions = 3, unsigned int VSplineOrder = 3>
typedef WeightsFunctionType::ContinuousIndexType itk::BSplineBaseTransform< TScalarType, NDimensions, VSplineOrder >::ContinuousIndexType
template<class TScalarType = double, unsigned int NDimensions = 3, unsigned int VSplineOrder = 3>
typedef Superclass::DerivativeType itk::BSplineBaseTransform< TScalarType, NDimensions, VSplineOrder >::DerivativeType
template<class TScalarType = double, unsigned int NDimensions = 3, unsigned int VSplineOrder = 3>
typedef ImageType::DirectionType itk::BSplineBaseTransform< TScalarType, NDimensions, VSplineOrder >::DirectionType
template<class TScalarType = double, unsigned int NDimensions = 3, unsigned int VSplineOrder = 3>
typedef ImageType::Pointer itk::BSplineBaseTransform< TScalarType, NDimensions, VSplineOrder >::ImagePointer
template<class TScalarType = double, unsigned int NDimensions = 3, unsigned int VSplineOrder = 3>
typedef Image<ParametersValueType, itkGetStaticConstMacro( SpaceDimension )> itk::BSplineBaseTransform< TScalarType, NDimensions, VSplineOrder >::ImageType
template<class TScalarType = double, unsigned int NDimensions = 3, unsigned int VSplineOrder = 3>
typedef RegionType::IndexType itk::BSplineBaseTransform< TScalarType, NDimensions, VSplineOrder >::IndexType
template<class TScalarType = double, unsigned int NDimensions = 3, unsigned int VSplineOrder = 3>
typedef CovariantVector<TScalarType, itkGetStaticConstMacro( SpaceDimension )> itk::BSplineBaseTransform< TScalarType, NDimensions, VSplineOrder >::InputCovariantVectorType
template<class TScalarType = double, unsigned int NDimensions = 3, unsigned int VSplineOrder = 3>
typedef Point<TScalarType, itkGetStaticConstMacro( SpaceDimension )> itk::BSplineBaseTransform< TScalarType, NDimensions, VSplineOrder >::InputPointType
template<class TScalarType = double, unsigned int NDimensions = 3, unsigned int VSplineOrder = 3>
typedef Vector<TScalarType, itkGetStaticConstMacro( SpaceDimension )> itk::BSplineBaseTransform< TScalarType, NDimensions, VSplineOrder >::InputVectorType
template<class TScalarType = double, unsigned int NDimensions = 3, unsigned int VSplineOrder = 3>
typedef vnl_vector_fixed<TScalarType, SpaceDimension> itk::BSplineBaseTransform< TScalarType, NDimensions, VSplineOrder >::InputVnlVectorType
template<class TScalarType = double, unsigned int NDimensions = 3, unsigned int VSplineOrder = 3>
typedef Superclass::JacobianType itk::BSplineBaseTransform< TScalarType, NDimensions, VSplineOrder >::JacobianType
template<class TScalarType = double, unsigned int NDimensions = 3, unsigned int VSplineOrder = 3>
typedef SizeType itk::BSplineBaseTransform< TScalarType, NDimensions, VSplineOrder >::MeshSizeType
template<class TScalarType = double, unsigned int NDimensions = 3, unsigned int VSplineOrder = 3>
typedef Superclass::NumberOfParametersType itk::BSplineBaseTransform< TScalarType, NDimensions, VSplineOrder >::NumberOfParametersType
template<class TScalarType = double, unsigned int NDimensions = 3, unsigned int VSplineOrder = 3>
typedef ImageType::PointType itk::BSplineBaseTransform< TScalarType, NDimensions, VSplineOrder >::OriginType
template<class TScalarType = double, unsigned int NDimensions = 3, unsigned int VSplineOrder = 3>
typedef CovariantVector<TScalarType, itkGetStaticConstMacro( SpaceDimension )> itk::BSplineBaseTransform< TScalarType, NDimensions, VSplineOrder >::OutputCovariantVectorType
template<class TScalarType = double, unsigned int NDimensions = 3, unsigned int VSplineOrder = 3>
typedef Point<TScalarType, itkGetStaticConstMacro( SpaceDimension )> itk::BSplineBaseTransform< TScalarType, NDimensions, VSplineOrder >::OutputPointType
template<class TScalarType = double, unsigned int NDimensions = 3, unsigned int VSplineOrder = 3>
typedef Vector<TScalarType, itkGetStaticConstMacro( SpaceDimension )> itk::BSplineBaseTransform< TScalarType, NDimensions, VSplineOrder >::OutputVectorType
template<class TScalarType = double, unsigned int NDimensions = 3, unsigned int VSplineOrder = 3>
typedef vnl_vector_fixed<TScalarType, SpaceDimension> itk::BSplineBaseTransform< TScalarType, NDimensions, VSplineOrder >::OutputVnlVectorType
template<class TScalarType = double, unsigned int NDimensions = 3, unsigned int VSplineOrder = 3>
typedef Array<unsigned long> itk::BSplineBaseTransform< TScalarType, NDimensions, VSplineOrder >::ParameterIndexArrayType
template<class TScalarType = double, unsigned int NDimensions = 3, unsigned int VSplineOrder = 3>
typedef Superclass::ParametersType itk::BSplineBaseTransform< TScalarType, NDimensions, VSplineOrder >::ParametersType
template<class TScalarType = double, unsigned int NDimensions = 3, unsigned int VSplineOrder = 3>
typedef ParametersType::ValueType itk::BSplineBaseTransform< TScalarType, NDimensions, VSplineOrder >::ParametersValueType
template<class TScalarType = double, unsigned int NDimensions = 3, unsigned int VSplineOrder = 3>
typedef ImageType::SpacingType itk::BSplineBaseTransform< TScalarType, NDimensions, VSplineOrder >::PhysicalDimensionsType
template<class TScalarType = double, unsigned int NDimensions = 3, unsigned int VSplineOrder = 3>
typedef ImageType::PixelType itk::BSplineBaseTransform< TScalarType, NDimensions, VSplineOrder >::PixelType
template<class TScalarType = double, unsigned int NDimensions = 3, unsigned int VSplineOrder = 3>
typedef SmartPointer<Self> itk::BSplineBaseTransform< TScalarType, NDimensions, VSplineOrder >::Pointer
template<class TScalarType = double, unsigned int NDimensions = 3, unsigned int VSplineOrder = 3>
typedef ImageRegion<itkGetStaticConstMacro( SpaceDimension )> itk::BSplineBaseTransform< TScalarType, NDimensions, VSplineOrder >::RegionType
template<class TScalarType = double, unsigned int NDimensions = 3, unsigned int VSplineOrder = 3>
typedef Superclass::ScalarType itk::BSplineBaseTransform< TScalarType, NDimensions, VSplineOrder >::ScalarType
template<class TScalarType = double, unsigned int NDimensions = 3, unsigned int VSplineOrder = 3>
typedef BSplineBaseTransform itk::BSplineBaseTransform< TScalarType, NDimensions, VSplineOrder >::Self
template<class TScalarType = double, unsigned int NDimensions = 3, unsigned int VSplineOrder = 3>
typedef RegionType::SizeType itk::BSplineBaseTransform< TScalarType, NDimensions, VSplineOrder >::SizeType
template<class TScalarType = double, unsigned int NDimensions = 3, unsigned int VSplineOrder = 3>
typedef ImageType::SpacingType itk::BSplineBaseTransform< TScalarType, NDimensions, VSplineOrder >::SpacingType
template<class TScalarType = double, unsigned int NDimensions = 3, unsigned int VSplineOrder = 3>
typedef Transform<TScalarType, NDimensions, NDimensions> itk::BSplineBaseTransform< TScalarType, NDimensions, VSplineOrder >::Superclass
template<class TScalarType = double, unsigned int NDimensions = 3, unsigned int VSplineOrder = 3>
typedef BSplineInterpolationWeightFunction<ScalarType, itkGetStaticConstMacro( SpaceDimension ), itkGetStaticConstMacro( SplineOrder )> itk::BSplineBaseTransform< TScalarType, NDimensions, VSplineOrder >::WeightsFunctionType
template<class TScalarType = double, unsigned int NDimensions = 3, unsigned int VSplineOrder = 3>
typedef WeightsFunctionType::WeightsType itk::BSplineBaseTransform< TScalarType, NDimensions, VSplineOrder >::WeightsType

Constructor & Destructor Documentation

template<class TScalarType = double, unsigned int NDimensions = 3, unsigned int VSplineOrder = 3>
itk::BSplineBaseTransform< TScalarType, NDimensions, VSplineOrder >::BSplineBaseTransform ( )
protected
template<class TScalarType = double, unsigned int NDimensions = 3, unsigned int VSplineOrder = 3>
virtual itk::BSplineBaseTransform< TScalarType, NDimensions, VSplineOrder >::~BSplineBaseTransform ( )
protectedvirtual
template<class TScalarType = double, unsigned int NDimensions = 3, unsigned int VSplineOrder = 3>
itk::BSplineBaseTransform< TScalarType, NDimensions, VSplineOrder >::BSplineBaseTransform ( const Self )
private

Member Function Documentation

template<class TScalarType = double, unsigned int NDimensions = 3, unsigned int VSplineOrder = 3>
CoefficientImageArray itk::BSplineBaseTransform< TScalarType, NDimensions, VSplineOrder >::ArrayOfImagePointerGeneratorHelper ( ) const
private
template<class TScalarType = double, unsigned int NDimensions = 3, unsigned int VSplineOrder = 3>
void itk::BSplineBaseTransform< TScalarType, NDimensions, VSplineOrder >::ComputeJacobianFromBSplineWeightsWithRespectToPosition ( const InputPointType ,
WeightsType ,
ParameterIndexArrayType  
) const

Get Jacobian at a point. A very specialized function just for BSplines

template<class TScalarType = double, unsigned int NDimensions = 3, unsigned int VSplineOrder = 3>
virtual void itk::BSplineBaseTransform< TScalarType, NDimensions, VSplineOrder >::ComputeJacobianWithRespectToParameters ( const InputPointType ,
JacobianType  
) const
pure virtual
template<class TScalarType = double, unsigned int NDimensions = 3, unsigned int VSplineOrder = 3>
virtual void itk::BSplineBaseTransform< TScalarType, NDimensions, VSplineOrder >::ComputeJacobianWithRespectToPosition ( const InputPointType ,
JacobianType  
) const
inlinevirtual

Definition at line 283 of file itkBSplineBaseTransform.h.

template<class TScalarType = double, unsigned int NDimensions = 3, unsigned int VSplineOrder = 3>
const CoefficientImageArray itk::BSplineBaseTransform< TScalarType, NDimensions, VSplineOrder >::GetCoefficientImages ( ) const
inline

Get the array of coefficient images.

Definition at line 188 of file itkBSplineBaseTransform.h.

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

Get the Transformation Fixed Parameters.

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

template<class TScalarType = double, unsigned int NDimensions = 3, unsigned int VSplineOrder = 3>
virtual const char* itk::BSplineBaseTransform< TScalarType, NDimensions, VSplineOrder >::GetNameOfClass ( ) const
virtual
template<class TScalarType = double, unsigned int NDimensions = 3, unsigned int VSplineOrder = 3>
unsigned int itk::BSplineBaseTransform< TScalarType, NDimensions, VSplineOrder >::GetNumberOfAffectedWeights ( ) const
template<class TScalarType = double, unsigned int NDimensions = 3, unsigned int VSplineOrder = 3>
virtual NumberOfParametersType itk::BSplineBaseTransform< TScalarType, NDimensions, VSplineOrder >::GetNumberOfParameters ( ) const
pure virtual
template<class TScalarType = double, unsigned int NDimensions = 3, unsigned int VSplineOrder = 3>
virtual NumberOfParametersType itk::BSplineBaseTransform< TScalarType, NDimensions, VSplineOrder >::GetNumberOfParametersPerDimension ( ) const
pure virtual
template<class TScalarType = double, unsigned int NDimensions = 3, unsigned int VSplineOrder = 3>
unsigned long itk::BSplineBaseTransform< TScalarType, NDimensions, VSplineOrder >::GetNumberOfWeights ( ) const
inline

Get number of weights.

Definition at line 242 of file itkBSplineBaseTransform.h.

template<class TScalarType = double, unsigned int NDimensions = 3, unsigned int VSplineOrder = 3>
virtual const ParametersType& itk::BSplineBaseTransform< TScalarType, NDimensions, VSplineOrder >::GetParameters ( ) const
virtual

Get the Transformation Parameters.

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

template<class TScalarType = double, unsigned int NDimensions = 3, unsigned int VSplineOrder = 3>
virtual WeightsFunctionType* itk::BSplineBaseTransform< TScalarType, NDimensions, VSplineOrder >::GetWeightsFunction ( )
protectedvirtual

Allow subclasses to access and manipulate the weights function.

template<class TScalarType = double, unsigned int NDimensions = 3, unsigned int VSplineOrder = 3>
virtual bool itk::BSplineBaseTransform< TScalarType, NDimensions, VSplineOrder >::InsideValidRegion ( ContinuousIndexType ) const
protectedpure virtual
template<class TScalarType = double, unsigned int NDimensions = 3, unsigned int VSplineOrder = 3>
virtual bool itk::BSplineBaseTransform< TScalarType, NDimensions, VSplineOrder >::IsLinear ( ) const
inlinevirtual

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 300 of file itkBSplineBaseTransform.h.

template<class TScalarType = double, unsigned int NDimensions = 3, unsigned int VSplineOrder = 3>
itk::BSplineBaseTransform< TScalarType, NDimensions, VSplineOrder >::itkCloneMacro ( Self  )
template<class TScalarType = double, unsigned int NDimensions = 3, unsigned int VSplineOrder = 3>
void itk::BSplineBaseTransform< TScalarType, NDimensions, VSplineOrder >::operator= ( const Self )
private
template<class TScalarType = double, unsigned int NDimensions = 3, unsigned int VSplineOrder = 3>
void itk::BSplineBaseTransform< TScalarType, NDimensions, VSplineOrder >::PrintSelf ( std::ostream &  os,
Indent  indent 
) const
protectedvirtual
template<class TScalarType = double, unsigned int NDimensions = 3, unsigned int VSplineOrder = 3>
virtual void itk::BSplineBaseTransform< TScalarType, NDimensions, VSplineOrder >::SetCoefficientImageInformationFromFixedParameters ( )
protectedpure virtual

Construct control point grid size from transform domain information

Implemented in itk::BSplineDeformableTransform< TScalarType, NDimensions, VSplineOrder >, and itk::BSplineTransform< TScalarType, NDimensions, VSplineOrder >.

template<class TScalarType = double, unsigned int NDimensions = 3, unsigned int VSplineOrder = 3>
virtual void itk::BSplineBaseTransform< TScalarType, NDimensions, VSplineOrder >::SetCoefficientImages ( const CoefficientImageArray images)
pure virtual

Set the array of coefficient images.

This is an alternative API for setting the BSpline coefficients as an array of SpaceDimension images. The fixed parameters are taken from the first image. It is assumed 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 SetCoefficientImages() API. Mixing the two modes may results in unexpected results.

Implemented in itk::BSplineDeformableTransform< TScalarType, NDimensions, VSplineOrder >, and itk::BSplineTransform< TScalarType, NDimensions, VSplineOrder >.

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

This method sets the fixed parameters of the transform. For a BSpline deformation transform, the fixed parameters are the following: grid size, grid origin, grid spacing, and grid direction. However, all of these are set via the much more intuitive SetTransformDomainXXX() functions

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

With recent updates to this transform, however, all these parameters are set indirectly by setting the transform domain parameters unless the user sets them with SetFixedParameters().

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

Implements itk::Transform< TScalarType, NDimensions, NDimensions >.

template<class TScalarType = double, unsigned int NDimensions = 3, unsigned int VSplineOrder = 3>
void itk::BSplineBaseTransform< TScalarType, NDimensions, VSplineOrder >::SetFixedParametersFromTransformDomainInformation ( ) const
protected

Construct control point grid from transform domain information

template<class TScalarType = double, unsigned int NDimensions = 3, unsigned int VSplineOrder = 3>
virtual void itk::BSplineBaseTransform< TScalarType, NDimensions, VSplineOrder >::SetFixedParametersGridDirectionFromTransformDomainInformation ( ) const
protectedpure virtual

Construct control point grid direction from transform domain information

Implemented in itk::BSplineDeformableTransform< TScalarType, NDimensions, VSplineOrder >, and itk::BSplineTransform< TScalarType, NDimensions, VSplineOrder >.

template<class TScalarType = double, unsigned int NDimensions = 3, unsigned int VSplineOrder = 3>
virtual void itk::BSplineBaseTransform< TScalarType, NDimensions, VSplineOrder >::SetFixedParametersGridOriginFromTransformDomainInformation ( ) const
protectedpure virtual

Construct control point grid origin from transform domain information

Implemented in itk::BSplineDeformableTransform< TScalarType, NDimensions, VSplineOrder >, and itk::BSplineTransform< TScalarType, NDimensions, VSplineOrder >.

template<class TScalarType = double, unsigned int NDimensions = 3, unsigned int VSplineOrder = 3>
virtual void itk::BSplineBaseTransform< TScalarType, NDimensions, VSplineOrder >::SetFixedParametersGridSizeFromTransformDomainInformation ( ) const
protectedpure virtual

Construct control point grid size from transform domain information

Implemented in itk::BSplineDeformableTransform< TScalarType, NDimensions, VSplineOrder >, and itk::BSplineTransform< TScalarType, NDimensions, VSplineOrder >.

template<class TScalarType = double, unsigned int NDimensions = 3, unsigned int VSplineOrder = 3>
virtual void itk::BSplineBaseTransform< TScalarType, NDimensions, VSplineOrder >::SetFixedParametersGridSpacingFromTransformDomainInformation ( ) const
protectedpure virtual

Construct control point grid spacing from transform domain information

Implemented in itk::BSplineDeformableTransform< TScalarType, NDimensions, VSplineOrder >, and itk::BSplineTransform< TScalarType, NDimensions, VSplineOrder >.

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

This method can ONLY be invoked AFTER calling SetParameters(). This restriction is due to the fact that the BSplineBaseTransform does not copy the array of parameters 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().

template<class TScalarType = double, unsigned int NDimensions = 3, unsigned int VSplineOrder = 3>
void itk::BSplineBaseTransform< 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 scalars (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 fixed parameters. NOTE: The transform domain must be set first.

Implements itk::Transform< TScalarType, NDimensions, NDimensions >.

template<class TScalarType = double, unsigned int NDimensions = 3, unsigned int VSplineOrder = 3>
void itk::BSplineBaseTransform< 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 fixed parameters. NOTE: The fixed parameters must be set first.

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

template<class TScalarType = double, unsigned int NDimensions = 3, unsigned int VSplineOrder = 3>
virtual void itk::BSplineBaseTransform< TScalarType, NDimensions, VSplineOrder >::SetWeightsFunction ( WeightsFunctionType _arg)
protectedvirtual

Allow subclasses to access and manipulate the weights function.

template<class TScalarType = double, unsigned int NDimensions = 3, unsigned int VSplineOrder = 3>
virtual OutputCovariantVectorType itk::BSplineBaseTransform< TScalarType, NDimensions, VSplineOrder >::TransformCovariantVector ( const InputCovariantVectorType ) const
inlinevirtual

Method to transform a CovariantVector.

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

Definition at line 269 of file itkBSplineBaseTransform.h.

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

Transform points by a BSpline deformable transformation.

Implements itk::Transform< TScalarType, NDimensions, NDimensions >.

template<class TScalarType = double, unsigned int NDimensions = 3, unsigned int VSplineOrder = 3>
virtual void itk::BSplineBaseTransform< TScalarType, NDimensions, VSplineOrder >::TransformPoint ( const InputPointType inputPoint,
OutputPointType outputPoint,
WeightsType weights,
ParameterIndexArrayType indices,
bool &  inside 
) const
pure 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.

Implemented in itk::BSplineDeformableTransform< TScalarType, NDimensions, VSplineOrder >, and itk::BSplineTransform< TScalarType, NDimensions, VSplineOrder >.

template<class TScalarType = double, unsigned int NDimensions = 3, unsigned int VSplineOrder = 3>
virtual OutputVectorType itk::BSplineBaseTransform< TScalarType, NDimensions, VSplineOrder >::TransformVector ( const InputVectorType ) const
inlinevirtual

Method to transform a vector.

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

Definition at line 250 of file itkBSplineBaseTransform.h.

template<class TScalarType = double, unsigned int NDimensions = 3, unsigned int VSplineOrder = 3>
virtual OutputVnlVectorType itk::BSplineBaseTransform< TScalarType, NDimensions, VSplineOrder >::TransformVector ( const InputVnlVectorType ) const
inlinevirtual

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

Definition at line 259 of file itkBSplineBaseTransform.h.

template<class TScalarType = double, unsigned int NDimensions = 3, unsigned int VSplineOrder = 3>
virtual void itk::BSplineBaseTransform< TScalarType, NDimensions, VSplineOrder >::UpdateTransformParameters ( const DerivativeType update,
TScalarType  factor = 1.0 
)
virtual

Update the transform's parameters by the adding values in update to current parameter values. We assume update is of the same length as Parameters. Throw exception otherwise. factor is a scalar multiplier for each value in update. SetParameters is called at the end of this method, to allow transforms to perform any required operations on the update parameters, typically a converion to member variables for use in TransformPoint. Derived classes should override to provide specialized behavior.

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

Wrap flat array into images of coefficients.


Member Data Documentation

template<class TScalarType = double, unsigned int NDimensions = 3, unsigned int VSplineOrder = 3>
CoefficientImageArray itk::BSplineBaseTransform< TScalarType, NDimensions, VSplineOrder >::m_CoefficientImages
protected

Array of images representing the B-spline coefficients in each dimension wrapped from the flat parameters in m_InternalParametersBuffer

Definition at line 365 of file itkBSplineBaseTransform.h.

template<class TScalarType = double, unsigned int NDimensions = 3, unsigned int VSplineOrder = 3>
const ParametersType* itk::BSplineBaseTransform< TScalarType, NDimensions, VSplineOrder >::m_InputParametersPointer
protected

Keep a pointer to the input parameters.

Definition at line 368 of file itkBSplineBaseTransform.h.

template<class TScalarType = double, unsigned int NDimensions = 3, unsigned int VSplineOrder = 3>
ParametersType itk::BSplineBaseTransform< TScalarType, NDimensions, VSplineOrder >::m_InternalParametersBuffer
protected

Internal parameters buffer.

Definition at line 371 of file itkBSplineBaseTransform.h.

template<class TScalarType = double, unsigned int NDimensions = 3, unsigned int VSplineOrder = 3>
WeightsFunctionType::Pointer itk::BSplineBaseTransform< TScalarType, NDimensions, VSplineOrder >::m_WeightsFunction
protected

Pointer to function used to compute Bspline interpolation weights.

Definition at line 375 of file itkBSplineBaseTransform.h.

template<class TScalarType = double, unsigned int NDimensions = 3, unsigned int VSplineOrder = 3>
const unsigned int itk::BSplineBaseTransform< TScalarType, NDimensions, VSplineOrder >::SpaceDimension = NDimensions
static
template<class TScalarType = double, unsigned int NDimensions = 3, unsigned int VSplineOrder = 3>
const unsigned int itk::BSplineBaseTransform< TScalarType, NDimensions, VSplineOrder >::SplineOrder = VSplineOrder
static

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