ITK  4.3.0
Insight Segmentation and Registration Toolkit
Public Types | Public Member Functions | Static Public Attributes | Protected Member Functions | Protected Attributes | Private Member Functions | List of all members
itk::BSplineBaseTransform< TScalarType, NDimensions, VSplineOrder > Class Template Referenceabstract

#include <itkBSplineBaseTransform.h>

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

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.

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
Superclass::TransformCategoryType 
TransformCategoryType
 
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 SmartPointer< const SelfConstPointer
 
typedef Array
< ParametersValueType
DerivativeType
 
typedef Matrix< double,
itkGetStaticConstMacro(OutputSpaceDimension),
itkGetStaticConstMacro(InputSpaceDimension)> 
DirectionChangeMatrix
 
typedef CovariantVector
< TScalarType,
NInputDimensions > 
InputCovariantVectorType
 
typedef DiffusionTensor3D
< TScalarType > 
InputDiffusionTensor3DType
 
typedef Matrix< double,
itkGetStaticConstMacro(InputSpaceDimension),
itkGetStaticConstMacro(InputSpaceDimension)> 
InputDirectionMatrix
 
typedef Point< TScalarType,
NInputDimensions > 
InputPointType
 
typedef
SymmetricSecondRankTensor
< TScalarType,
NInputDimensions > 
InputSymmetricSecondRankTensorType
 
typedef VariableLengthVector
< TScalarType > 
InputVectorPixelType
 
typedef Vector< TScalarType,
NInputDimensions > 
InputVectorType
 
typedef vnl_vector_fixed
< TScalarType,
NInputDimensions > 
InputVnlVectorType
 
typedef
InverseTransformBaseType::Pointer 
InverseTransformBasePointer
 
typedef Transform< TScalarType,
NOutputDimensions,
NInputDimensions > 
InverseTransformBaseType
 
typedef Array2D
< ParametersValueType
JacobianType
 
typedef Matrix< TScalarType,
itkGetStaticConstMacro(OutputSpaceDimension),
itkGetStaticConstMacro(InputSpaceDimension)> 
MatrixType
 
typedef
Superclass::NumberOfParametersType 
NumberOfParametersType
 
typedef CovariantVector
< TScalarType,
NOutputDimensions > 
OutputCovariantVectorType
 
typedef DiffusionTensor3D
< TScalarType > 
OutputDiffusionTensor3DType
 
typedef Matrix< double,
itkGetStaticConstMacro(OutputSpaceDimension),
itkGetStaticConstMacro(OutputSpaceDimension)> 
OutputDirectionMatrix
 
typedef Point< TScalarType,
NOutputDimensions > 
OutputPointType
 
typedef
SymmetricSecondRankTensor
< TScalarType,
NOutputDimensions > 
OutputSymmetricSecondRankTensorType
 
typedef VariableLengthVector
< TScalarType > 
OutputVectorPixelType
 
typedef Vector< TScalarType,
NOutputDimensions > 
OutputVectorType
 
typedef vnl_vector_fixed
< TScalarType,
NOutputDimensions > 
OutputVnlVectorType
 
typedef Superclass::ParametersType ParametersType
 
typedef
Superclass::ParametersValueType 
ParametersValueType
 
typedef SmartPointer< SelfPointer
 
typedef TScalarType ScalarType
 
typedef Transform Self
 
typedef TransformBase Superclass
 
- Public Types inherited from itk::TransformBase
typedef SmartPointer< const SelfConstPointer
 
typedef IdentifierType NumberOfParametersType
 
typedef OptimizerParameters
< ParametersValueType
ParametersType
 
typedef double ParametersValueType
 
typedef SmartPointer< SelfPointer
 
typedef TransformBase Self
 
typedef Object Superclass
 
enum  TransformCategoryType {
  UnknownTransformCategory =0,
  Linear =1,
  BSpline =2,
  Spline =3,
  DisplacementField =4,
  VelocityField =5
}
 
- Public Types inherited from itk::Object
typedef SmartPointer< const SelfConstPointer
 
typedef SmartPointer< SelfPointer
 
typedef Object Self
 
typedef LightObject Superclass
 
- Public Types inherited from itk::LightObject
typedef SmartPointer< const SelfConstPointer
 
typedef SmartPointer< SelfPointer
 
typedef LightObject Self
 

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 GetNumberOfLocalParameters () const
 
virtual NumberOfParametersType GetNumberOfParameters () const =0
 
virtual NumberOfParametersType GetNumberOfParametersPerDimension () const =0
 
unsigned long GetNumberOfWeights () const
 
virtual const ParametersTypeGetParameters () const
 
virtual TransformCategoryType GetTransformCategory () 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
 
unsigned int GetOutputSpaceDimension (void) const
 
virtual std::string GetTransformTypeAsString () const
 
virtual bool IsLinear () const
 
 itkCloneMacro (Self)
 
virtual void SetFixedParameters (const ParametersType &)=0
 
virtual void SetParameters (const ParametersType &)=0
 
virtual void SetParametersByValue (const ParametersType &p)
 
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
 
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 &)
 

Additional Inherited Members

- Static Public Member Functions inherited from itk::Object
static bool GetGlobalWarningDisplay ()
 
static void GlobalWarningDisplayOff ()
 
static void GlobalWarningDisplayOn ()
 
static Pointer New ()
 
static void SetGlobalWarningDisplay (bool flag)
 
- Protected Types inherited from itk::LightObject
typedef int InternalReferenceCountType
 

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

Definition at line 175 of file itkBSplineBaseTransform.h.

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

Definition at line 43 of file itkBSplineBaseTransform.h.

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

Definition at line 228 of file itkBSplineBaseTransform.h.

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

Definition at line 196 of file itkBSplineBaseTransform.h.

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

Definition at line 216 of file itkBSplineBaseTransform.h.

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

Definition at line 174 of file itkBSplineBaseTransform.h.

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

Definition at line 173 of file itkBSplineBaseTransform.h.

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

Definition at line 213 of file itkBSplineBaseTransform.h.

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

Standard covariant vector type for this class.

Definition at line 78 of file itkBSplineBaseTransform.h.

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

Standard coordinate point type for this class.

Definition at line 87 of file itkBSplineBaseTransform.h.

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

Standard vector type for this class.

Definition at line 73 of file itkBSplineBaseTransform.h.

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

Standard vnl_vector type for this class.

Definition at line 83 of file itkBSplineBaseTransform.h.

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

Standard Jacobian container.

Definition at line 64 of file itkBSplineBaseTransform.h.

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

Definition at line 308 of file itkBSplineBaseTransform.h.

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

The number of parameters defininig this transform.

Definition at line 70 of file itkBSplineBaseTransform.h.

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

Definition at line 217 of file itkBSplineBaseTransform.h.

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

Standard covariant vector type for this class.

Definition at line 79 of file itkBSplineBaseTransform.h.

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

Standard coordinate point type for this class.

Definition at line 88 of file itkBSplineBaseTransform.h.

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

Standard vector type for this class.

Definition at line 74 of file itkBSplineBaseTransform.h.

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

Definition at line 84 of file itkBSplineBaseTransform.h.

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

Parameter index array type.

Definition at line 231 of file itkBSplineBaseTransform.h.

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

Standard parameters container.

Definition at line 61 of file itkBSplineBaseTransform.h.

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

Parameters as SpaceDimension number of images.

Definition at line 172 of file itkBSplineBaseTransform.h.

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

Definition at line 305 of file itkBSplineBaseTransform.h.

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

Definition at line 306 of file itkBSplineBaseTransform.h.

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

Definition at line 42 of file itkBSplineBaseTransform.h.

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

Typedefs for specifying the extent of the grid.

Definition at line 211 of file itkBSplineBaseTransform.h.

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

Standard scalar type for this class.

Definition at line 58 of file itkBSplineBaseTransform.h.

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

Standard class typedefs.

Definition at line 40 of file itkBSplineBaseTransform.h.

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

Definition at line 214 of file itkBSplineBaseTransform.h.

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

Definition at line 215 of file itkBSplineBaseTransform.h.

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

Definition at line 41 of file itkBSplineBaseTransform.h.

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

Transform category type.

Definition at line 67 of file itkBSplineBaseTransform.h.

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

Interpolation weights function type.

Definition at line 225 of file itkBSplineBaseTransform.h.

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

Definition at line 227 of file itkBSplineBaseTransform.h.

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 286 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 191 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 >::GetNumberOfLocalParameters ( void  ) const
inlinevirtual

Return the number of local parameters

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

Definition at line 311 of file itkBSplineBaseTransform.h.

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 245 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 TransformCategoryType itk::BSplineBaseTransform< TScalarType, NDimensions, VSplineOrder >::GetTransformCategory ( ) const
inlinevirtual

Indicates the category transform. e.g. an affine transform, or a local one, e.g. a deformation field.

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

Definition at line 298 of file itkBSplineBaseTransform.h.

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>
itk::BSplineBaseTransform< TScalarType, NDimensions, VSplineOrder >::itkCloneMacro ( Self  )

implement type-specific clone method

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.

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 >::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)

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.

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

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

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

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

This method wraps each grid as itk::Image's using the user specified fixed parameters. NOTE: The fixed parameters must be set first.

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 272 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 253 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 262 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 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 374 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

Dimension of the domain space.

Definition at line 49 of file itkBSplineBaseTransform.h.

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

The BSpline order.

Definition at line 52 of file itkBSplineBaseTransform.h.


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