Deformable transform using a BSpline representation. More...
#include <itkBSplineDeformableTransform.h>
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 and is varied by defining a deformation of each control point. The deformation at any point 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 , 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 such that the transformed point is given by:
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.
typedef BulkTransformType::ConstPointer itk::BSplineDeformableTransform< TScalarType, NDimensions, VSplineOrder >::BulkTransformPointer |
Typedef of the bulk transform.
Definition at line 307 of file itkBSplineDeformableTransform.h.
typedef Transform<ScalarType,itkGetStaticConstMacro(SpaceDimension), itkGetStaticConstMacro(SpaceDimension)> itk::BSplineDeformableTransform< TScalarType, NDimensions, VSplineOrder >::BulkTransformType |
Typedef of the bulk transform.
Definition at line 301 of file itkBSplineDeformableTransform.h.
typedef SmartPointer<const Self> itk::BSplineDeformableTransform< TScalarType, NDimensions, VSplineOrder >::ConstPointer |
Reimplemented from itk::Transform< TScalarType, NDimensions, NDimensions >.
Definition at line 119 of file itkBSplineDeformableTransform.h.
typedef WeightsFunctionType::ContinuousIndexType itk::BSplineDeformableTransform< TScalarType, NDimensions, VSplineOrder >::ContinuousIndexType |
Interpolation weights function type.
Definition at line 326 of file itkBSplineDeformableTransform.h.
typedef ImageType::DirectionType itk::BSplineDeformableTransform< TScalarType, NDimensions, VSplineOrder >::DirectionType |
Definition at line 281 of file itkBSplineDeformableTransform.h.
typedef ImageType::Pointer itk::BSplineDeformableTransform< TScalarType, NDimensions, VSplineOrder >::ImagePointer |
Definition at line 252 of file itkBSplineDeformableTransform.h.
typedef Image<PixelType,itkGetStaticConstMacro(SpaceDimension)> itk::BSplineDeformableTransform< TScalarType, NDimensions, VSplineOrder >::ImageType |
Definition at line 251 of file itkBSplineDeformableTransform.h.
typedef RegionType::IndexType itk::BSplineDeformableTransform< TScalarType, NDimensions, VSplineOrder >::IndexType |
Definition at line 278 of file itkBSplineDeformableTransform.h.
typedef CovariantVector<TScalarType, itkGetStaticConstMacro(SpaceDimension)> itk::BSplineDeformableTransform< TScalarType, NDimensions, VSplineOrder >::InputCovariantVectorType |
Standard covariant vector type for this class.
Reimplemented from itk::Transform< TScalarType, NDimensions, NDimensions >.
Definition at line 155 of file itkBSplineDeformableTransform.h.
typedef Point<TScalarType, itkGetStaticConstMacro(SpaceDimension)> itk::BSplineDeformableTransform< TScalarType, NDimensions, VSplineOrder >::InputPointType |
Standard coordinate point type for this class.
Reimplemented from itk::Transform< TScalarType, NDimensions, NDimensions >.
Definition at line 169 of file itkBSplineDeformableTransform.h.
typedef Vector<TScalarType, itkGetStaticConstMacro(SpaceDimension)> itk::BSplineDeformableTransform< TScalarType, NDimensions, VSplineOrder >::InputVectorType |
Standard vector type for this class.
Reimplemented from itk::Transform< TScalarType, NDimensions, NDimensions >.
Definition at line 148 of file itkBSplineDeformableTransform.h.
typedef vnl_vector_fixed<TScalarType, itkGetStaticConstMacro(SpaceDimension)> itk::BSplineDeformableTransform< TScalarType, NDimensions, VSplineOrder >::InputVnlVectorType |
Standard vnl_vector type for this class.
Reimplemented from itk::Transform< TScalarType, NDimensions, NDimensions >.
Definition at line 162 of file itkBSplineDeformableTransform.h.
typedef int itk::LightObject::InternalReferenceCountType [protected, inherited] |
Define the type of the reference count according to the target. This allows the use of atomic operations
Definition at line 139 of file itkLightObject.h.
typedef InverseTransformBaseType::Pointer itk::Transform< TScalarType, NInputDimensions, NOutputDimensions >::InverseTransformBasePointer [inherited] |
Reimplemented in itk::IdentityTransform< TScalarType, NDimensions >, itk::ScaleTransform< TScalarType, NDimensions >, and itk::TranslationTransform< TScalarType, NDimensions >.
Definition at line 128 of file itkTransform.h.
typedef TransformBase itk::Transform< TScalarType, NInputDimensions, NOutputDimensions >::InverseTransformBaseType [inherited] |
Base inverse transform type. This type should not be changed to the concrete inverse transform type or inheritance would be lost.
Reimplemented in itk::IdentityTransform< TScalarType, NDimensions >, itk::ScaleTransform< TScalarType, NDimensions >, and itk::TranslationTransform< TScalarType, NDimensions >.
Definition at line 123 of file itkTransform.h.
typedef Superclass::JacobianType itk::BSplineDeformableTransform< TScalarType, NDimensions, VSplineOrder >::JacobianType |
Standard Jacobian container.
Reimplemented from itk::Transform< TScalarType, NDimensions, NDimensions >.
Definition at line 144 of file itkBSplineDeformableTransform.h.
typedef ImageType::PointType itk::BSplineDeformableTransform< TScalarType, NDimensions, VSplineOrder >::OriginType |
Definition at line 282 of file itkBSplineDeformableTransform.h.
typedef CovariantVector<TScalarType, itkGetStaticConstMacro(SpaceDimension)> itk::BSplineDeformableTransform< TScalarType, NDimensions, VSplineOrder >::OutputCovariantVectorType |
Standard covariant vector type for this class.
Reimplemented from itk::Transform< TScalarType, NDimensions, NDimensions >.
Definition at line 157 of file itkBSplineDeformableTransform.h.
typedef Point<TScalarType, itkGetStaticConstMacro(SpaceDimension)> itk::BSplineDeformableTransform< TScalarType, NDimensions, VSplineOrder >::OutputPointType |
Standard coordinate point type for this class.
Reimplemented from itk::Transform< TScalarType, NDimensions, NDimensions >.
Definition at line 171 of file itkBSplineDeformableTransform.h.
typedef Vector<TScalarType, itkGetStaticConstMacro(SpaceDimension)> itk::BSplineDeformableTransform< TScalarType, NDimensions, VSplineOrder >::OutputVectorType |
Standard vector type for this class.
Reimplemented from itk::Transform< TScalarType, NDimensions, NDimensions >.
Definition at line 150 of file itkBSplineDeformableTransform.h.
typedef vnl_vector_fixed<TScalarType, itkGetStaticConstMacro(SpaceDimension)> itk::BSplineDeformableTransform< TScalarType, NDimensions, VSplineOrder >::OutputVnlVectorType |
Standard vnl_vector type for this class.
Reimplemented from itk::Transform< TScalarType, NDimensions, NDimensions >.
Definition at line 164 of file itkBSplineDeformableTransform.h.
typedef Array<unsigned long> itk::BSplineDeformableTransform< TScalarType, NDimensions, VSplineOrder >::ParameterIndexArrayType |
Parameter index array type.
Definition at line 330 of file itkBSplineDeformableTransform.h.
typedef Superclass::ParametersType itk::BSplineDeformableTransform< TScalarType, NDimensions, VSplineOrder >::ParametersType |
Standard parameters container.
Reimplemented from itk::Transform< TScalarType, NDimensions, NDimensions >.
Definition at line 141 of file itkBSplineDeformableTransform.h.
typedef Superclass::ParametersValueType itk::Transform< TScalarType, NInputDimensions, NOutputDimensions >::ParametersValueType [inherited] |
Type of the input parameters.
Reimplemented from itk::TransformBase.
Reimplemented in itk::ScaleLogarithmicTransform< TScalarType, NDimensions >.
Definition at line 97 of file itkTransform.h.
typedef ParametersType::ValueType itk::BSplineDeformableTransform< TScalarType, NDimensions, VSplineOrder >::PixelType |
Parameters as SpaceDimension number of images.
Definition at line 250 of file itkBSplineDeformableTransform.h.
typedef SmartPointer<Self> itk::BSplineDeformableTransform< TScalarType, NDimensions, VSplineOrder >::Pointer |
Reimplemented from itk::Transform< TScalarType, NDimensions, NDimensions >.
Definition at line 118 of file itkBSplineDeformableTransform.h.
typedef ImageRegion<itkGetStaticConstMacro(SpaceDimension)> itk::BSplineDeformableTransform< TScalarType, NDimensions, VSplineOrder >::RegionType |
Typedefs for specifying the extend to the grid.
Definition at line 276 of file itkBSplineDeformableTransform.h.
typedef Superclass::ScalarType itk::BSplineDeformableTransform< TScalarType, NDimensions, VSplineOrder >::ScalarType |
Standard scalar type for this class.
Reimplemented from itk::Transform< TScalarType, NDimensions, NDimensions >.
Definition at line 138 of file itkBSplineDeformableTransform.h.
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.
typedef RegionType::SizeType itk::BSplineDeformableTransform< TScalarType, NDimensions, VSplineOrder >::SizeType |
Definition at line 279 of file itkBSplineDeformableTransform.h.
typedef ImageType::SpacingType itk::BSplineDeformableTransform< TScalarType, NDimensions, VSplineOrder >::SpacingType |
Definition at line 280 of file itkBSplineDeformableTransform.h.
typedef Transform< TScalarType, NDimensions, NDimensions > itk::BSplineDeformableTransform< TScalarType, NDimensions, VSplineOrder >::Superclass |
Reimplemented from itk::Transform< TScalarType, NDimensions, NDimensions >.
Definition at line 117 of file itkBSplineDeformableTransform.h.
typedef BSplineInterpolationWeightFunction<ScalarType, itkGetStaticConstMacro(SpaceDimension), itkGetStaticConstMacro(SplineOrder)> itk::BSplineDeformableTransform< TScalarType, NDimensions, VSplineOrder >::WeightsFunctionType |
Interpolation weights function type.
Definition at line 323 of file itkBSplineDeformableTransform.h.
typedef WeightsFunctionType::WeightsType itk::BSplineDeformableTransform< TScalarType, NDimensions, VSplineOrder >::WeightsType |
Interpolation weights function type.
Definition at line 324 of file itkBSplineDeformableTransform.h.
itk::BSplineDeformableTransform< TScalarType, NDimensions, VSplineOrder >::BSplineDeformableTransform | ( | ) | [protected] |
virtual itk::BSplineDeformableTransform< TScalarType, NDimensions, VSplineOrder >::~BSplineDeformableTransform | ( | ) | [protected, virtual] |
unsigned long itk::Object::AddObserver | ( | const EventObject & | event, | |
Command * | ||||
) | [inherited] |
Allow people to add/remove/invoke observers (callbacks) to any ITK object. This is an implementation of the subject/observer design pattern. An observer is added by specifying an event to respond to and an itk::Command to execute. It returns an unsigned long tag which can be used later to remove the event or retrieve the command. The memory for the Command becomes the responsibility of this object, so don't pass the same instance of a command to two different objects
unsigned long itk::Object::AddObserver | ( | const EventObject & | event, | |
Command * | ||||
) | const [inherited] |
Allow people to add/remove/invoke observers (callbacks) to any ITK object. This is an implementation of the subject/observer design pattern. An observer is added by specifying an event to respond to and an itk::Command to execute. It returns an unsigned long tag which can be used later to remove the event or retrieve the command. The memory for the Command becomes the responsibility of this object, so don't pass the same instance of a command to two different objects
static void itk::LightObject::BreakOnError | ( | ) | [static, inherited] |
This method is called when itkExceptionMacro executes. It allows the debugger to break on error.
virtual ::itk::LightObject::Pointer itk::BSplineDeformableTransform< TScalarType, NDimensions, VSplineOrder >::CreateAnother | ( | void | ) | const [virtual] |
CreateAnother method will clone the existing instance of this type, including its internal member variables.
Reimplemented from itk::Object.
virtual void itk::Object::DebugOff | ( | ) | const [virtual, inherited] |
Turn debugging output off.
virtual void itk::Object::DebugOn | ( | ) | const [virtual, inherited] |
Turn debugging output on.
virtual void itk::LightObject::Delete | ( | ) | [virtual, inherited] |
Delete an itk object. This method should always be used to delete an object when the new operator was used to create it. Using the C delete method will not work with reference counting.
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.
virtual ImagePointer* itk::BSplineDeformableTransform< TScalarType, NDimensions, VSplineOrder >::GetCoefficientImage | ( | ) | [inline, virtual] |
Get the array of coefficient images.
Definition at line 255 of file itkBSplineDeformableTransform.h.
virtual const ImagePointer* itk::BSplineDeformableTransform< TScalarType, NDimensions, VSplineOrder >::GetCoefficientImage | ( | ) | const [inline, virtual] |
Get the array of coefficient images.
Definition at line 257 of file itkBSplineDeformableTransform.h.
Command* itk::Object::GetCommand | ( | unsigned long | tag | ) | [inherited] |
Get the command associated with the given tag. NOTE: This returns a pointer to a Command, but it is safe to asign this to a Command::Pointer. Since Command inherits from LightObject, at this point in the code, only a pointer or a reference to the Command can be used.
bool itk::Object::GetDebug | ( | ) | const [inherited] |
Get the value of the debug flag.
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.
virtual DirectionType itk::BSplineDeformableTransform< TScalarType, NDimensions, VSplineOrder >::GetGridDirection | ( | ) | const [virtual] |
This method specifies the grid directions .
virtual OriginType itk::BSplineDeformableTransform< TScalarType, NDimensions, VSplineOrder >::GetGridOrigin | ( | ) | const [virtual] |
This method specifies the grid origin.
virtual RegionType itk::BSplineDeformableTransform< TScalarType, NDimensions, VSplineOrder >::GetGridRegion | ( | ) | const [virtual] |
This method specifies the region over which the grid resides.
virtual SpacingType itk::BSplineDeformableTransform< TScalarType, NDimensions, VSplineOrder >::GetGridSpacing | ( | ) | const [virtual] |
This method specifies the grid spacing or resolution.
unsigned int itk::Transform< TScalarType, NInputDimensions, NOutputDimensions >::GetInputSpaceDimension | ( | void | ) | const [inline, virtual, inherited] |
Get the size of the input space
Implements itk::TransformBase.
Definition at line 87 of file itkTransform.h.
bool itk::Transform< TScalarType, NInputDimensions, NOutputDimensions >::GetInverse | ( | Self * | ) | const [inline, inherited] |
Returns a boolean indicating whether it is possible or not to compute the inverse of this current Transform. If it is possible, then the inverse of the transform is returned in the inverseTransform variable passed by the user. The inverse is recomputed if this current transform has been modified. This method is intended to be overriden by derived classes.
Reimplemented in itk::ScaleTransform< TScalarType, NDimensions >, and itk::TranslationTransform< TScalarType, NDimensions >.
Definition at line 239 of file itkTransform.h.
virtual InverseTransformBasePointer itk::Transform< TScalarType, NInputDimensions, NOutputDimensions >::GetInverseTransform | ( | ) | const [inline, virtual, inherited] |
Return an inverse of this transform. If the inverse has not been implemented, return NULL. The type of the inverse transform does not necessarily need to match the type of the forward transform. This allows one to return a numeric inverse transform instead.
Reimplemented in itk::IdentityTransform< TScalarType, NDimensions >, itk::ScaleTransform< TScalarType, NDimensions >, and itk::TranslationTransform< TScalarType, NDimensions >.
Definition at line 247 of file itkTransform.h.
virtual void itk::BSplineDeformableTransform< TScalarType, NDimensions, VSplineOrder >::GetJacobian | ( | const InputPointType & | inputPoint, | |
WeightsType & | weights, | |||
ParameterIndexArrayType & | indices | |||
) | const [virtual] |
virtual const JacobianType& itk::Transform< TScalarType, NInputDimensions, NOutputDimensions >::GetJacobian | ( | const InputPointType & | ) | const [inline, virtual, inherited] |
Compute the Jacobian of the transformation
This method computes the Jacobian matrix of the transformation at a given input point. The rank of the Jacobian will also indicate if the transform is invertible at this point.
The Jacobian is be expressed as a matrix of partial derivatives of the output point components with respect to the parameters that defined the transform:
Reimplemented in itk::KernelTransform< TScalarType, NDimensions >.
Definition at line 218 of file itkTransform.h.
virtual const JacobianType& itk::BSplineDeformableTransform< TScalarType, NDimensions, VSplineOrder >::GetJacobian | ( | const InputPointType & | point | ) | const [virtual] |
Compute the Jacobian Matrix of the transformation at one point
MetaDataDictionary& itk::Object::GetMetaDataDictionary | ( | void | ) | [inherited] |
const MetaDataDictionary& itk::Object::GetMetaDataDictionary | ( | void | ) | const [inherited] |
virtual unsigned long itk::Object::GetMTime | ( | ) | const [virtual, inherited] |
Return this objects modified time.
Reimplemented in itk::ImageRegistrationMethod< TFixedImage, TMovingImage >, itk::ImageToSpatialObjectRegistrationMethod< TFixedImage, TMovingSpatialObject >, itk::MultiResolutionImageRegistrationMethod< TFixedImage, TMovingImage >, itk::PointSetToImageRegistrationMethod< TFixedPointSet, TMovingImage >, itk::PointSetToPointSetRegistrationMethod< TFixedPointSet, TMovingPointSet >, itk::DeformationFieldSource< TOutputImage >, itk::InverseDeformationFieldImageFilter< TInputImage, TOutputImage >, itk::ResampleImageFilter< TInputImage, TOutputImage, TInterpolatorPrecisionType >, itk::VectorResampleImageFilter< TInputImage, TOutputImage, TInterpolatorPrecisionType >, itk::BoundingBox< TPointIdentifier, VPointDimension, TCoordRep, TPointsContainer >, itk::ImageAdaptor< TImage, TAccessor >, itk::ResampleImageFilter< TInputImage, TOutputImage, TInterpolatorPrecisionType >, itk::TransformToDeformationFieldSource< TOutputImage, TTransformPrecisionType >, itk::ImageSpatialObject< TDimension, TPixelType >, itk::MeshSpatialObject< TMesh >, itk::SceneSpatialObject< TSpaceDimension >, itk::SpatialObject< TDimension >, itk::ImageAdaptor< TImage, Accessor::AsinPixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, Accessor::SqrtPixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, Accessor::TanPixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, Accessor::CosPixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, Accessor::VectorToRGBPixelAccessor< TImage::PixelType::ValueType > >, itk::ImageAdaptor< TImage, Accessor::RGBToVectorPixelAccessor< TImage::PixelType::ComponentType > >, itk::ImageAdaptor< TImage, Accessor::ComplexToModulusPixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, Accessor::AbsPixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, Accessor::SinPixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, Accessor::LogPixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, Accessor::ComplexToPhasePixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< VectorImage< TPixelType, Dimension >, Accessor::VectorImageToImagePixelAccessor< TPixelType > >, itk::ImageAdaptor< TImage, Accessor::Log10PixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, Accessor::AtanPixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, Accessor::ComplexToRealPixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, Accessor::ComplexToImaginaryPixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, Accessor::ExpNegativePixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, Accessor::ExpPixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, Accessor::AcosPixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, Accessor::RGBToLuminancePixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, Accessor::AddPixelAccessor< TImage::PixelType > >, itk::ImageSpatialObject< TDimension, unsigned char >, itk::SpatialObject< 3 >, and itk::SpatialObject< ::itk::GetMeshDimension< TMesh >::PointDimension >.
Referenced by itk::SpatialObject< ::itk::GetMeshDimension< TMesh >::PointDimension >::GetObjectMTime().
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 >.
unsigned int itk::BSplineDeformableTransform< TScalarType, NDimensions, VSplineOrder >::GetNumberOfAffectedWeights | ( | ) | const |
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 >.
unsigned int itk::BSplineDeformableTransform< TScalarType, NDimensions, VSplineOrder >::GetNumberOfParametersPerDimension | ( | void | ) | const |
Return the number of parameters per dimension
unsigned long itk::BSplineDeformableTransform< TScalarType, NDimensions, VSplineOrder >::GetNumberOfWeights | ( | ) | const [inline] |
Get number of weights.
Definition at line 352 of file itkBSplineDeformableTransform.h.
unsigned int itk::Transform< TScalarType, NInputDimensions, NOutputDimensions >::GetOutputSpaceDimension | ( | void | ) | const [inline, virtual, inherited] |
Get the size of the output space
Implements itk::TransformBase.
Definition at line 90 of file itkTransform.h.
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.
virtual const RegionType& itk::BSplineDeformableTransform< TScalarType, NDimensions, VSplineOrder >::GetValidRegion | ( | ) | [virtual] |
Return the region of the grid wholly within the support region
virtual WeightsFunctionType* itk::BSplineDeformableTransform< TScalarType, NDimensions, VSplineOrder >::GetWeightsFunction | ( | ) | [protected, virtual] |
Allow subclasses to access and manipulate the weights function.
static void itk::Object::GlobalWarningDisplayOff | ( | ) | [inline, static, inherited] |
This is a global flag that controls whether any debug, warning or error messages are displayed.
Definition at line 100 of file itkObject.h.
References itk::Object::SetGlobalWarningDisplay().
static void itk::Object::GlobalWarningDisplayOn | ( | ) | [inline, static, inherited] |
This is a global flag that controls whether any debug, warning or error messages are displayed.
Definition at line 98 of file itkObject.h.
References itk::Object::SetGlobalWarningDisplay().
bool itk::Object::HasObserver | ( | const EventObject & | event | ) | const [inherited] |
Return true if an observer is registered for this event.
void itk::Object::InvokeEvent | ( | const EventObject & | ) | [inherited] |
Call Execute on all the Commands observing this event id.
void itk::Object::InvokeEvent | ( | const EventObject & | ) | const [inherited] |
Call Execute on all the Commands observing this event id. The actions triggered by this call doesn't modify this object.
virtual bool itk::BSplineDeformableTransform< TScalarType, NDimensions, VSplineOrder >::IsLinear | ( | ) | const [inline, virtual] |
Indicates that this transform is linear. That is, given two points P and Q, and scalar coefficients a and b, then
T( a*P + b*Q ) = a * T(P) + b * T(Q)
Reimplemented from itk::Transform< TScalarType, NDimensions, NDimensions >.
Definition at line 400 of file itkBSplineDeformableTransform.h.
virtual void itk::Object::Modified | ( | ) | const [virtual, inherited] |
Update the modification time for this object. Many filters rely on the modification time to determine if they need to recompute their data.
Reimplemented in itk::NormalizeImageFilter< TInputImage, TOutputImage >, itk::ImageAdaptor< TImage, TAccessor >, itk::MiniPipelineSeparableImageFilter< TInputImage, TOutputImage, TFilter >, itk::GrayscaleDilateImageFilter< TInputImage, TOutputImage, TKernel >, itk::GrayscaleErodeImageFilter< TInputImage, TOutputImage, TKernel >, itk::GrayscaleMorphologicalClosingImageFilter< TInputImage, TOutputImage, TKernel >, itk::GrayscaleMorphologicalOpeningImageFilter< TInputImage, TOutputImage, TKernel >, itk::MorphologicalGradientImageFilter< TInputImage, TOutputImage, TKernel >, itk::ImageAdaptor< TImage, Accessor::AsinPixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, Accessor::SqrtPixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, Accessor::TanPixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, Accessor::CosPixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, Accessor::VectorToRGBPixelAccessor< TImage::PixelType::ValueType > >, itk::ImageAdaptor< TImage, Accessor::RGBToVectorPixelAccessor< TImage::PixelType::ComponentType > >, itk::ImageAdaptor< TImage, Accessor::ComplexToModulusPixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, Accessor::AbsPixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, Accessor::SinPixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, Accessor::LogPixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, Accessor::ComplexToPhasePixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< VectorImage< TPixelType, Dimension >, Accessor::VectorImageToImagePixelAccessor< TPixelType > >, itk::ImageAdaptor< TImage, Accessor::Log10PixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, Accessor::AtanPixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, Accessor::ComplexToRealPixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, Accessor::ComplexToImaginaryPixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, Accessor::ExpNegativePixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, Accessor::ExpPixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, Accessor::AcosPixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, Accessor::RGBToLuminancePixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, Accessor::AddPixelAccessor< TImage::PixelType > >, and itk::MiniPipelineSeparableImageFilter< TInputImage, TOutputImage, RankImageFilter< TInputImage, TInputImage, FlatStructuringElement< ::itk::GetImageDimension< TInputImage >::ImageDimension > > >.
Referenced by itk::NarrowBandImageFilterBase< TInputImage, Image< TOutputPixelType,::itk::GetImageDimension< TInputImage >::ImageDimension > >::InsertNarrowBandNode(), itk::MatrixOffsetTransformBase< TScalarType, 3, 3 >::SetCenter(), itk::MatrixOffsetTransformBase< TScalarType, 3, 3 >::SetMatrix(), itk::NarrowBandImageFilterBase< TInputImage, Image< TOutputPixelType,::itk::GetImageDimension< TInputImage >::ImageDimension > >::SetNarrowBand(), itk::NarrowBandImageFilterBase< TInputImage, Image< TOutputPixelType,::itk::GetImageDimension< TInputImage >::ImageDimension > >::SetNarrowBandInnerRadius(), itk::NarrowBandImageFilterBase< TInputImage, Image< TOutputPixelType,::itk::GetImageDimension< TInputImage >::ImageDimension > >::SetNarrowBandTotalRadius(), itk::MatrixOffsetTransformBase< TScalarType, 3, 3 >::SetOffset(), itk::ThresholdLabelerImageFilter< TInputImage, TOutputImage >::SetRealThresholds(), itk::ThresholdLabelerImageFilter< TInputImage, TOutputImage >::SetThresholds(), itk::Statistics::GoodnessOfFitFunctionBase< TInputHistogram >::SetTotalObservedScale(), and itk::MatrixOffsetTransformBase< TScalarType, 3, 3 >::SetTranslation().
static Pointer itk::BSplineDeformableTransform< TScalarType, NDimensions, VSplineOrder >::New | ( | void | ) | [static] |
New macro for creation of through the object factory.
Reimplemented from itk::Transform< TScalarType, NDimensions, NDimensions >.
void itk::LightObject::Print | ( | std::ostream & | os, | |
Indent | indent = 0 | |||
) | const [inherited] |
Cause the object to print itself out.
Referenced by itk::WeakPointer< ProcessObject >::Print().
virtual void itk::LightObject::PrintHeader | ( | std::ostream & | os, | |
Indent | indent | |||
) | const [protected, virtual, inherited] |
bool itk::Object::PrintObservers | ( | std::ostream & | os, | |
Indent | indent | |||
) | const [protected, inherited] |
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] |
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.
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.
virtual void itk::BSplineDeformableTransform< TScalarType, NDimensions, VSplineOrder >::SetCoefficientImage | ( | ImagePointer | images[] | ) | [virtual] |
Set the array of coefficient images.
This is an alternative API for setting the BSpline coefficients as an array of SpaceDimension images. The grid region spacing and origin is taken from the first image. It is assume that the buffered region of all the subsequent images are the same as the first image. Note that no error checking is done.
Warning: use either the SetParameters() or SetCoefficientImage() API. Mixing the two modes may results in unexpected results.
void itk::Object::SetDebug | ( | bool | debugFlag | ) | const [inherited] |
Set the value of the debug flag. A non-zero value turns debugging on.
virtual void itk::Transform< TScalarType, NInputDimensions, NOutputDimensions >::SetFixedParameters | ( | const ParametersType & | ) | [inline, virtual, inherited] |
Set the fixed parameters and update internal transformation.
Implements itk::TransformBase.
Reimplemented in itk::TranslationTransform< TScalarType, NDimensions >.
Definition at line 178 of file itkTransform.h.
void itk::BSplineDeformableTransform< TScalarType, NDimensions, VSplineOrder >::SetFixedParameters | ( | const ParametersType & | parameters | ) |
This method sets the fixed parameters of the transform. For a BSpline deformation transform, the parameters are the following: Grid Size, Grid Origin, and Grid Spacing
The fixed parameters are the three times the size of the templated dimensions. This function has the effect of make the following calls: transform->SetGridSpacing( spacing ); transform->SetGridOrigin( origin ); transform->SetGridDirection( direction ); transform->SetGridRegion( bsplineRegion );
This function was added to allow the transform to work with the itkTransformReader/Writer I/O filters.
static void itk::Object::SetGlobalWarningDisplay | ( | bool | flag | ) | [static, inherited] |
This is a global flag that controls whether any debug, warning or error messages are displayed.
Referenced by itk::Object::GlobalWarningDisplayOff(), and itk::Object::GlobalWarningDisplayOn().
virtual void itk::BSplineDeformableTransform< TScalarType, NDimensions, VSplineOrder >::SetGridDirection | ( | const DirectionType & | spacing | ) | [virtual] |
This method specifies the grid directions .
virtual void itk::BSplineDeformableTransform< TScalarType, NDimensions, VSplineOrder >::SetGridOrigin | ( | const OriginType & | origin | ) | [virtual] |
This method specifies the grid origin.
virtual void itk::BSplineDeformableTransform< TScalarType, NDimensions, VSplineOrder >::SetGridRegion | ( | const RegionType & | region | ) | [virtual] |
This method specifies the region over which the grid resides.
virtual void itk::BSplineDeformableTransform< TScalarType, NDimensions, VSplineOrder >::SetGridSpacing | ( | const SpacingType & | spacing | ) | [virtual] |
This method specifies the grid spacing or resolution.
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] |
void itk::BSplineDeformableTransform< TScalarType, NDimensions, VSplineOrder >::SetParameters | ( | const ParametersType & | parameters | ) |
This method sets the parameters of the transform. For a BSpline deformation transform, the parameters are the BSpline coefficients on a sparse grid.
The parameters are N number of N-D grid of coefficients. Each N-D grid is represented as a flat array of doubles (in the same configuration as an itk::Image). The N arrays are then concatenated to form one parameter array.
For efficiency, this transform does not make a copy of the parameters. It only keeps a pointer to the input parameters. It assumes that the memory is managed by the caller. Use SetParametersByValue to force the transform to call copy the parameters.
This method wraps each grid as itk::Image's using the user specified grid region, spacing and origin. NOTE: The grid region, spacing and origin must be set first.
virtual void itk::Transform< TScalarType, NInputDimensions, NOutputDimensions >::SetParameters | ( | const ParametersType & | ) | [inline, virtual, inherited] |
Set the transformation parameters and update internal transformation. SetParameters gives the transform the option to set it's parameters by keeping a reference to the parameters, or by copying. To force the transform to copy it's parameters call SetParametersByValue.
Implements itk::TransformBase.
Reimplemented in itk::TranslationTransform< TScalarType, NDimensions >.
Definition at line 154 of file itkTransform.h.
virtual void itk::Transform< TScalarType, NInputDimensions, NOutputDimensions >::SetParametersByValue | ( | const ParametersType & | p | ) | [inline, virtual, inherited] |
Set the transformation parameters and update internal transformation. This method forces the transform to copy the parameters. The default implementation is to call SetParameters. This call must be overridden if the transform normally implements SetParameters by keeping a reference to the parameters.
Implements itk::TransformBase.
Definition at line 164 of file itkTransform.h.
void itk::BSplineDeformableTransform< TScalarType, NDimensions, VSplineOrder >::SetParametersByValue | ( | const ParametersType & | parameters | ) |
This method sets the parameters of the transform. For a BSpline deformation transform, the parameters are the BSpline coefficients on a sparse grid.
The parameters are N number of N-D grid of coefficients. Each N-D grid is represented as a flat array of doubles (in the same configuration as an itk::Image). The N arrays are then concatenated to form one parameter array.
This methods makes a copy of the parameters while for efficiency the SetParameters method does not.
This method wraps each grid as itk::Image's using the user specified grid region, spacing and origin. NOTE: The grid region, spacing and origin must be set first.
virtual void itk::Object::SetReferenceCount | ( | int | ) | [virtual, inherited] |
Sets the reference count (use with care)
Reimplemented from itk::LightObject.
virtual void itk::BSplineDeformableTransform< TScalarType, NDimensions, VSplineOrder >::SetWeightsFunction | ( | WeightsFunctionType * | _arg | ) | [protected, virtual] |
Allow subclasses to access and manipulate the weights function.
virtual OutputCovariantVectorType itk::BSplineDeformableTransform< TScalarType, NDimensions, VSplineOrder >::TransformCovariantVector | ( | const InputCovariantVectorType & | ) | const [inline, virtual] |
Method to transform a CovariantVector - not applicable for this type of transform
Reimplemented from itk::Transform< TScalarType, NDimensions, NDimensions >.
Definition at line 375 of file itkBSplineDeformableTransform.h.
References itkExceptionMacro.
OutputPointType itk::BSplineDeformableTransform< TScalarType, NDimensions, VSplineOrder >::TransformPoint | ( | const InputPointType & | point | ) | const |
Transform points by a BSpline deformable transformation.
virtual OutputPointType itk::Transform< TScalarType, NInputDimensions, NOutputDimensions >::TransformPoint | ( | const InputPointType & | ) | const [inline, virtual, inherited] |
Method to transform a point.
Reimplemented in itk::KernelTransform< TScalarType, NDimensions >.
Definition at line 131 of file itkTransform.h.
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.
void itk::BSplineDeformableTransform< TScalarType, NDimensions, VSplineOrder >::TransformPointToContinuousIndex | ( | const InputPointType & | point, | |
ContinuousIndexType & | index | |||
) | const [protected] |
Convert an input point to a continuous index inside the BSpline grid
virtual OutputVectorType itk::Transform< TScalarType, NInputDimensions, NOutputDimensions >::TransformVector | ( | const InputVectorType & | ) | const [inline, virtual, inherited] |
Method to transform a vector.
Definition at line 135 of file itkTransform.h.
virtual OutputVnlVectorType itk::BSplineDeformableTransform< TScalarType, NDimensions, VSplineOrder >::TransformVector | ( | const InputVnlVectorType & | ) | const [inline, virtual] |
Method to transform a vnl_vector - not applicable for this type of transform
Definition at line 366 of file itkBSplineDeformableTransform.h.
References itkExceptionMacro.
virtual OutputVnlVectorType itk::Transform< TScalarType, NInputDimensions, NOutputDimensions >::TransformVector | ( | const InputVnlVectorType & | ) | const [inline, virtual, inherited] |
Method to transform a vnl_vector.
Definition at line 139 of file itkTransform.h.
virtual OutputVectorType itk::BSplineDeformableTransform< TScalarType, NDimensions, VSplineOrder >::TransformVector | ( | const InputVectorType & | ) | const [inline, virtual] |
Method to transform a vector - not applicable for this type of transform.
Definition at line 357 of file itkBSplineDeformableTransform.h.
References itkExceptionMacro.
virtual void itk::Object::UnRegister | ( | ) | const [virtual, inherited] |
Decrease the reference count (release by another object).
Reimplemented from itk::LightObject.
void itk::BSplineDeformableTransform< TScalarType, NDimensions, VSplineOrder >::WrapAsImages | ( | ) | [protected] |
Wrap flat array into images of coefficients.
const unsigned int itk::Transform< TScalarType, NInputDimensions, NOutputDimensions >::InputSpaceDimension [static, inherited] |
Dimension of the domain space.
Reimplemented in itk::IdentityTransform< TScalarType, NDimensions >.
Definition at line 82 of file itkTransform.h.
ParametersType itk::Transform< TScalarType, NInputDimensions, NOutputDimensions >::m_FixedParameters [mutable, protected, inherited] |
Definition at line 274 of file itkTransform.h.
JacobianType itk::Transform< TScalarType, NInputDimensions, NOutputDimensions >::m_Jacobian [mutable, protected, inherited] |
Definition at line 275 of file itkTransform.h.
ParametersType itk::Transform< TScalarType, NInputDimensions, NOutputDimensions >::m_Parameters [mutable, protected, inherited] |
Definition at line 273 of file itkTransform.h.
InternalReferenceCountType itk::LightObject::m_ReferenceCount [mutable, protected, inherited] |
Number of uses of this object by other objects.
Definition at line 144 of file itkLightObject.h.
SimpleFastMutexLock itk::LightObject::m_ReferenceCountLock [mutable, protected, inherited] |
Mutex lock to protect modification to the reference count
Definition at line 147 of file itkLightObject.h.
const unsigned int itk::Transform< TScalarType, NInputDimensions, NOutputDimensions >::OutputSpaceDimension [static, inherited] |
Dimension of the domain space.
Reimplemented in itk::IdentityTransform< TScalarType, NDimensions >.
Definition at line 83 of file itkTransform.h.
const unsigned int itk::BSplineDeformableTransform< TScalarType, NDimensions, VSplineOrder >::SpaceDimension = NDimensions [static] |
Dimension of the domain space.
Definition at line 132 of file itkBSplineDeformableTransform.h.
const unsigned int itk::BSplineDeformableTransform< TScalarType, NDimensions, VSplineOrder >::SplineOrder = VSplineOrder [static] |
The BSpline order.
Definition at line 135 of file itkBSplineDeformableTransform.h.