ITK
5.0.0
Insight Segmentation and Registration Toolkit
|
#include <itkBSplineDeformableTransform.h>
Deformable transform using a BSpline representation.
This class encapsulates a deformable transform of points from one N-dimensional space to another N-dimensional space. The deformation field is modelled 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 an 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:
* using TransformType = BSplineDeformableTransform<double,2,3>; * 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 SetCoefficientImages() 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 115 of file itkBSplineDeformableTransform.h.
Public Types | |
using | BulkTransformPointer = typename BulkTransformType::ConstPointer |
using | BulkTransformType = Transform< TParametersValueType, Self::SpaceDimension, Self::SpaceDimension > |
using | CoefficientImageArray = typename Superclass::CoefficientImageArray |
using | ConstPointer = SmartPointer< const Self > |
using | ContinuousIndexType = typename Superclass::ContinuousIndexType |
using | DirectionType = typename Superclass::DirectionType |
using | FixedParametersType = typename Superclass::FixedParametersType |
using | FixedParametersValueType = typename Superclass::FixedParametersValueType |
using | ImagePointer = typename Superclass::ImagePointer |
using | ImageType = typename Superclass::ImageType |
using | IndexType = typename Superclass::IndexType |
using | InputCovariantVectorType = typename Superclass::InputCovariantVectorType |
using | InputPointType = Point< TParametersValueType, Self::SpaceDimension > |
using | InputVectorType = typename Superclass::InputVectorType |
using | InputVnlVectorType = typename Superclass::InputVnlVectorType |
using | InverseJacobianPositionType = typename Superclass::InverseJacobianPositionType |
using | JacobianPositionType = typename Superclass::JacobianPositionType |
using | JacobianType = typename Superclass::JacobianType |
using | MeshSizeType = typename Superclass::MeshSizeType |
using | NumberOfParametersType = typename Superclass::NumberOfParametersType |
using | OriginType = typename Superclass::OriginType |
using | OutputCovariantVectorType = typename Superclass::OutputCovariantVectorType |
using | OutputPointType = Point< TParametersValueType, Self::SpaceDimension > |
using | OutputVectorType = typename Superclass::OutputVectorType |
using | OutputVnlVectorType = typename Superclass::OutputVnlVectorType |
using | ParameterIndexArrayType = typename Superclass::ParameterIndexArrayType |
using | ParametersType = typename Superclass::ParametersType |
using | ParametersValueType = typename Superclass::ParametersValueType |
using | PhysicalDimensionsType = typename Superclass::SpacingType |
using | PixelType = typename Superclass::PixelType |
using | Pointer = SmartPointer< Self > |
using | RegionType = typename Superclass::RegionType |
using | ScalarType = TParametersValueType |
using | Self = BSplineDeformableTransform |
using | SizeType = typename Superclass::SizeType |
using | SpacingType = typename Superclass::SpacingType |
using | Superclass = BSplineBaseTransform< TParametersValueType, NDimensions, VSplineOrder > |
using | WeightsFunctionType = typename Superclass::WeightsFunctionType |
using | WeightsType = typename Superclass::WeightsType |
Public Types inherited from itk::BSplineBaseTransform< TParametersValueType, NDimensions, VSplineOrder > | |
using | CoefficientImageArray = FixedArray< ImagePointer, NDimensions > |
using | ConstPointer = SmartPointer< const Self > |
using | ContinuousIndexType = typename WeightsFunctionType::ContinuousIndexType |
using | DerivativeType = typename Superclass::DerivativeType |
using | DirectionType = typename ImageType::DirectionType |
using | FixedParametersType = typename Superclass::FixedParametersType |
using | ImagePointer = typename ImageType::Pointer |
using | ImageType = Image< ParametersValueType, Self::SpaceDimension > |
using | IndexType = typename RegionType::IndexType |
using | InputCovariantVectorType = CovariantVector< TParametersValueType, Self::SpaceDimension > |
using | InputPointType = Point< TParametersValueType, Self::SpaceDimension > |
using | InputVectorType = Vector< TParametersValueType, Self::SpaceDimension > |
using | InputVnlVectorType = vnl_vector_fixed< TParametersValueType, SpaceDimension > |
using | InverseJacobianPositionType = typename Superclass::InverseJacobianPositionType |
using | JacobianPositionType = typename Superclass::JacobianPositionType |
using | JacobianType = typename Superclass::JacobianType |
using | MeshSizeType = SizeType |
using | NumberOfParametersType = typename Superclass::NumberOfParametersType |
using | OriginType = typename ImageType::PointType |
using | OutputCovariantVectorType = CovariantVector< TParametersValueType, Self::SpaceDimension > |
using | OutputPointType = Point< TParametersValueType, Self::SpaceDimension > |
using | OutputVectorType = Vector< TParametersValueType, Self::SpaceDimension > |
using | OutputVnlVectorType = vnl_vector_fixed< TParametersValueType, SpaceDimension > |
using | ParameterIndexArrayType = Array< unsigned long > |
using | ParametersType = typename Superclass::ParametersType |
using | ParametersValueType = typename ParametersType::ValueType |
using | PhysicalDimensionsType = typename ImageType::SpacingType |
using | PixelType = typename ImageType::PixelType |
using | Pointer = SmartPointer< Self > |
using | RegionType = ImageRegion< Self::SpaceDimension > |
using | ScalarType = typename Superclass::ScalarType |
using | Self = BSplineBaseTransform |
using | SizeType = typename RegionType::SizeType |
using | SpacingType = typename ImageType::SpacingType |
using | Superclass = Transform< TParametersValueType, NDimensions, NDimensions > |
using | TransformCategoryType = typename Superclass::TransformCategoryType |
using | WeightsFunctionType = BSplineInterpolationWeightFunction< ScalarType, Self::SpaceDimension, Self::SplineOrder > |
using | WeightsType = typename WeightsFunctionType::WeightsType |
Public Types inherited from itk::Transform< TParametersValueType, NDimensions, NDimensions > | |
using | ConstPointer = SmartPointer< const Self > |
using | DerivativeType = Array< ParametersValueType > |
using | DirectionChangeMatrix = Matrix< double, Self::OutputSpaceDimension, Self::InputSpaceDimension > |
using | FixedParametersType = typename Superclass::FixedParametersType |
using | FixedParametersValueType = typename Superclass::FixedParametersValueType |
using | InputCovariantVectorType = CovariantVector< TParametersValueType, NInputDimensions > |
using | InputDiffusionTensor3DType = DiffusionTensor3D< TParametersValueType > |
using | InputDirectionMatrix = Matrix< double, Self::InputSpaceDimension, Self::InputSpaceDimension > |
using | InputPointType = Point< TParametersValueType, NInputDimensions > |
using | InputSymmetricSecondRankTensorType = SymmetricSecondRankTensor< TParametersValueType, NInputDimensions > |
using | InputVectorPixelType = VariableLengthVector< TParametersValueType > |
using | InputVectorType = Vector< TParametersValueType, NInputDimensions > |
using | InputVnlVectorType = vnl_vector_fixed< TParametersValueType, NInputDimensions > |
using | InverseJacobianPositionType = vnl_matrix_fixed< ParametersValueType, NInputDimensions, NOutputDimensions > |
using | InverseTransformBasePointer = typename InverseTransformBaseType::Pointer |
using | InverseTransformBaseType = Transform< TParametersValueType, NOutputDimensions, NInputDimensions > |
using | JacobianPositionType = vnl_matrix_fixed< ParametersValueType, NOutputDimensions, NInputDimensions > |
using | JacobianType = Array2D< ParametersValueType > |
using | MatrixType = Matrix< TParametersValueType, Self::OutputSpaceDimension, Self::InputSpaceDimension > |
using | NumberOfParametersType = typename Superclass::NumberOfParametersType |
using | OutputCovariantVectorType = CovariantVector< TParametersValueType, NOutputDimensions > |
using | OutputDiffusionTensor3DType = DiffusionTensor3D< TParametersValueType > |
using | OutputDirectionMatrix = Matrix< double, Self::OutputSpaceDimension, Self::OutputSpaceDimension > |
using | OutputPointType = Point< TParametersValueType, NOutputDimensions > |
using | OutputSymmetricSecondRankTensorType = SymmetricSecondRankTensor< TParametersValueType, NOutputDimensions > |
using | OutputVectorPixelType = VariableLengthVector< TParametersValueType > |
using | OutputVectorType = Vector< TParametersValueType, NOutputDimensions > |
using | OutputVnlVectorType = vnl_vector_fixed< TParametersValueType, NOutputDimensions > |
using | ParametersType = typename Superclass::ParametersType |
using | ParametersValueType = typename Superclass::ParametersValueType |
using | Pointer = SmartPointer< Self > |
using | ScalarType = ParametersValueType |
using | Self = Transform |
using | Superclass = TransformBaseTemplate< TParametersValueType > |
using | TransformCategoryType = typename Superclass::TransformCategoryType |
Public Types inherited from itk::TransformBaseTemplate< TParametersValueType > | |
using | ConstPointer = SmartPointer< const Self > |
using | FixedParametersType = OptimizerParameters< FixedParametersValueType > |
using | FixedParametersValueType = double |
using | NumberOfParametersType = IdentifierType |
using | ParametersType = OptimizerParameters< ParametersValueType > |
using | ParametersValueType = TParametersValueType |
using | Pointer = SmartPointer< Self > |
using | Self = TransformBaseTemplate |
using | Superclass = Object |
enum | TransformCategoryType { UnknownTransformCategory =0, Linear =1, BSpline =2, Spline =3, DisplacementField =4, VelocityField =5 } |
Public Types inherited from itk::Object | |
using | ConstPointer = SmartPointer< const Self > |
using | Pointer = SmartPointer< Self > |
using | Self = Object |
using | Superclass = LightObject |
Public Types inherited from itk::LightObject | |
using | ConstPointer = SmartPointer< const Self > |
using | Pointer = SmartPointer< Self > |
using | Self = LightObject |
Static Public Attributes | |
static constexpr unsigned int | SpaceDimension = NDimensions |
static constexpr unsigned int | SplineOrder = VSplineOrder |
Static Public Attributes inherited from itk::BSplineBaseTransform< TParametersValueType, NDimensions, VSplineOrder > | |
static constexpr unsigned int | SpaceDimension = NDimensions |
static constexpr unsigned int | SplineOrder = VSplineOrder |
Static Public Attributes inherited from itk::Transform< TParametersValueType, NDimensions, NDimensions > | |
static constexpr unsigned int | InputSpaceDimension |
static constexpr unsigned int | OutputSpaceDimension |
Private Member Functions | |
bool | InsideValidRegion (ContinuousIndexType &) const override |
void | SetCoefficientImageInformationFromFixedParameters () override |
void | SetFixedParametersGridDirectionFromTransformDomainInformation () const override |
void | SetFixedParametersGridOriginFromTransformDomainInformation () const override |
void | SetFixedParametersGridSizeFromTransformDomainInformation () const override |
void | SetFixedParametersGridSpacingFromTransformDomainInformation () const override |
void | UpdateValidGridRegion () |
Private Attributes | |
BulkTransformPointer | m_BulkTransform |
const DirectionType & | m_GridDirection |
const OriginType & | m_GridOrigin |
const RegionType & | m_GridRegion |
const SpacingType & | m_GridSpacing |
unsigned long | m_Offset |
bool | m_SplineOrderOdd |
RegionType | m_ValidRegion |
IndexType | m_ValidRegionFirst |
IndexType | m_ValidRegionLast |
static Pointer | New () |
::itk::LightObject::Pointer | CreateAnother () const override |
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) |
Static Public Member Functions inherited from itk::LightObject | |
static void | BreakOnError () |
static Pointer | New () |
Protected Attributes inherited from itk::BSplineBaseTransform< TParametersValueType, NDimensions, VSplineOrder > | |
CoefficientImageArray | m_CoefficientImages |
ParametersType | m_InternalParametersBuffer |
WeightsFunctionType::Pointer | m_WeightsFunction |
Protected Attributes inherited from itk::Transform< TParametersValueType, NDimensions, NDimensions > | |
DirectionChangeMatrix | m_DirectionChange |
FixedParametersType | m_FixedParameters |
ParametersType | m_Parameters |
Protected Attributes inherited from itk::LightObject | |
std::atomic< int > | m_ReferenceCount |
using itk::BSplineDeformableTransform< TParametersValueType, NDimensions, VSplineOrder >::BulkTransformPointer = typename BulkTransformType::ConstPointer |
Definition at line 298 of file itkBSplineDeformableTransform.h.
using itk::BSplineDeformableTransform< TParametersValueType, NDimensions, VSplineOrder >::BulkTransformType = Transform<TParametersValueType, Self::SpaceDimension, Self::SpaceDimension> |
Definition at line 297 of file itkBSplineDeformableTransform.h.
using itk::BSplineDeformableTransform< TParametersValueType, NDimensions, VSplineOrder >::CoefficientImageArray = typename Superclass::CoefficientImageArray |
Definition at line 212 of file itkBSplineDeformableTransform.h.
using itk::BSplineDeformableTransform< TParametersValueType, NDimensions, VSplineOrder >::ConstPointer = SmartPointer<const Self> |
Definition at line 125 of file itkBSplineDeformableTransform.h.
using itk::BSplineDeformableTransform< TParametersValueType, NDimensions, VSplineOrder >::ContinuousIndexType = typename Superclass::ContinuousIndexType |
Definition at line 240 of file itkBSplineDeformableTransform.h.
using itk::BSplineDeformableTransform< TParametersValueType, NDimensions, VSplineOrder >::DirectionType = typename Superclass::DirectionType |
Definition at line 233 of file itkBSplineDeformableTransform.h.
using itk::BSplineDeformableTransform< TParametersValueType, NDimensions, VSplineOrder >::FixedParametersType = typename Superclass::FixedParametersType |
Definition at line 162 of file itkBSplineDeformableTransform.h.
using itk::BSplineDeformableTransform< TParametersValueType, NDimensions, VSplineOrder >::FixedParametersValueType = typename Superclass::FixedParametersValueType |
Definition at line 163 of file itkBSplineDeformableTransform.h.
using itk::BSplineDeformableTransform< TParametersValueType, NDimensions, VSplineOrder >::ImagePointer = typename Superclass::ImagePointer |
Definition at line 211 of file itkBSplineDeformableTransform.h.
using itk::BSplineDeformableTransform< TParametersValueType, NDimensions, VSplineOrder >::ImageType = typename Superclass::ImageType |
Parameters as SpaceDimension number of images.
Definition at line 210 of file itkBSplineDeformableTransform.h.
using itk::BSplineDeformableTransform< TParametersValueType, NDimensions, VSplineOrder >::IndexType = typename Superclass::IndexType |
Definition at line 230 of file itkBSplineDeformableTransform.h.
using itk::BSplineDeformableTransform< TParametersValueType, NDimensions, VSplineOrder >::InputCovariantVectorType = typename Superclass::InputCovariantVectorType |
Standard covariant vector type for this class.
Definition at line 178 of file itkBSplineDeformableTransform.h.
using itk::BSplineDeformableTransform< TParametersValueType, NDimensions, VSplineOrder >::InputPointType = Point <TParametersValueType, Self::SpaceDimension > |
Standard coordinate point type for this class.
Definition at line 186 of file itkBSplineDeformableTransform.h.
using itk::BSplineDeformableTransform< TParametersValueType, NDimensions, VSplineOrder >::InputVectorType = typename Superclass::InputVectorType |
Standard vector type for this class.
Definition at line 174 of file itkBSplineDeformableTransform.h.
using itk::BSplineDeformableTransform< TParametersValueType, NDimensions, VSplineOrder >::InputVnlVectorType = typename Superclass::InputVnlVectorType |
Standard vnl_vector type for this class.
Definition at line 182 of file itkBSplineDeformableTransform.h.
using itk::BSplineDeformableTransform< TParametersValueType, NDimensions, VSplineOrder >::InverseJacobianPositionType = typename Superclass::InverseJacobianPositionType |
Definition at line 168 of file itkBSplineDeformableTransform.h.
using itk::BSplineDeformableTransform< TParametersValueType, NDimensions, VSplineOrder >::JacobianPositionType = typename Superclass::JacobianPositionType |
Definition at line 167 of file itkBSplineDeformableTransform.h.
using itk::BSplineDeformableTransform< TParametersValueType, NDimensions, VSplineOrder >::JacobianType = typename Superclass::JacobianType |
Standard Jacobian container.
Definition at line 166 of file itkBSplineDeformableTransform.h.
using itk::BSplineDeformableTransform< TParametersValueType, NDimensions, VSplineOrder >::MeshSizeType = typename Superclass::MeshSizeType |
Definition at line 269 of file itkBSplineDeformableTransform.h.
using itk::BSplineDeformableTransform< TParametersValueType, NDimensions, VSplineOrder >::NumberOfParametersType = typename Superclass::NumberOfParametersType |
The number of parameters defininig this transform.
Definition at line 171 of file itkBSplineDeformableTransform.h.
using itk::BSplineDeformableTransform< TParametersValueType, NDimensions, VSplineOrder >::OriginType = typename Superclass::OriginType |
Definition at line 234 of file itkBSplineDeformableTransform.h.
using itk::BSplineDeformableTransform< TParametersValueType, NDimensions, VSplineOrder >::OutputCovariantVectorType = typename Superclass::OutputCovariantVectorType |
Definition at line 179 of file itkBSplineDeformableTransform.h.
using itk::BSplineDeformableTransform< TParametersValueType, NDimensions, VSplineOrder >::OutputPointType = Point <TParametersValueType, Self::SpaceDimension > |
Definition at line 187 of file itkBSplineDeformableTransform.h.
using itk::BSplineDeformableTransform< TParametersValueType, NDimensions, VSplineOrder >::OutputVectorType = typename Superclass::OutputVectorType |
Definition at line 175 of file itkBSplineDeformableTransform.h.
using itk::BSplineDeformableTransform< TParametersValueType, NDimensions, VSplineOrder >::OutputVnlVectorType = typename Superclass::OutputVnlVectorType |
Definition at line 183 of file itkBSplineDeformableTransform.h.
using itk::BSplineDeformableTransform< TParametersValueType, NDimensions, VSplineOrder >::ParameterIndexArrayType = typename Superclass::ParameterIndexArrayType |
Parameter index array type.
Definition at line 243 of file itkBSplineDeformableTransform.h.
using itk::BSplineDeformableTransform< TParametersValueType, NDimensions, VSplineOrder >::ParametersType = typename Superclass::ParametersType |
Standard parameters container.
Definition at line 160 of file itkBSplineDeformableTransform.h.
using itk::BSplineDeformableTransform< TParametersValueType, NDimensions, VSplineOrder >::ParametersValueType = typename Superclass::ParametersValueType |
Definition at line 161 of file itkBSplineDeformableTransform.h.
using itk::BSplineDeformableTransform< TParametersValueType, NDimensions, VSplineOrder >::PhysicalDimensionsType = typename Superclass::SpacingType |
Definition at line 266 of file itkBSplineDeformableTransform.h.
using itk::BSplineDeformableTransform< TParametersValueType, NDimensions, VSplineOrder >::PixelType = typename Superclass::PixelType |
Definition at line 267 of file itkBSplineDeformableTransform.h.
using itk::BSplineDeformableTransform< TParametersValueType, NDimensions, VSplineOrder >::Pointer = SmartPointer<Self> |
Definition at line 124 of file itkBSplineDeformableTransform.h.
using itk::BSplineDeformableTransform< TParametersValueType, NDimensions, VSplineOrder >::RegionType = typename Superclass::RegionType |
Typedefs for specifying the extent of the grid.
Definition at line 228 of file itkBSplineDeformableTransform.h.
using itk::BSplineDeformableTransform< TParametersValueType, NDimensions, VSplineOrder >::ScalarType = TParametersValueType |
Standard scalar type for this class.
Definition at line 157 of file itkBSplineDeformableTransform.h.
using itk::BSplineDeformableTransform< TParametersValueType, NDimensions, VSplineOrder >::Self = BSplineDeformableTransform |
Standard class type aliases.
Definition at line 122 of file itkBSplineDeformableTransform.h.
using itk::BSplineDeformableTransform< TParametersValueType, NDimensions, VSplineOrder >::SizeType = typename Superclass::SizeType |
Definition at line 231 of file itkBSplineDeformableTransform.h.
using itk::BSplineDeformableTransform< TParametersValueType, NDimensions, VSplineOrder >::SpacingType = typename Superclass::SpacingType |
Definition at line 232 of file itkBSplineDeformableTransform.h.
using itk::BSplineDeformableTransform< TParametersValueType, NDimensions, VSplineOrder >::Superclass = BSplineBaseTransform<TParametersValueType,NDimensions,VSplineOrder> |
Definition at line 123 of file itkBSplineDeformableTransform.h.
using itk::BSplineDeformableTransform< TParametersValueType, NDimensions, VSplineOrder >::WeightsFunctionType = typename Superclass::WeightsFunctionType |
Interpolation weights function type.
Definition at line 237 of file itkBSplineDeformableTransform.h.
using itk::BSplineDeformableTransform< TParametersValueType, NDimensions, VSplineOrder >::WeightsType = typename Superclass::WeightsType |
Definition at line 239 of file itkBSplineDeformableTransform.h.
|
protected |
|
overrideprotecteddefault |
|
overridevirtual |
|
inlineoverridevirtual |
New macro for creation of through the object factory.
Reimplemented from itk::Object.
Definition at line 133 of file itkBSplineDeformableTransform.h.
References itk::SmartPointer< TObjectType >::GetPointer().
|
virtual |
This method specifies the bulk transform to be applied. The default is the identity transform.
|
virtual |
Function to retrieve the transform domain direction.
|
virtual |
Function to retrieve the transform domain origin.
|
virtual |
Function to retrieve the transform domain mesh size.
|
virtual |
This method retrieve the grid spacing or resolution.
|
virtual |
Run-time type information (and related methods).
Reimplemented from itk::BSplineBaseTransform< TParametersValueType, NDimensions, VSplineOrder >.
|
overridevirtual |
Return the number of parameters that completely define the Transfom
Implements itk::BSplineBaseTransform< TParametersValueType, NDimensions, VSplineOrder >.
|
overridevirtual |
Return the number of parameters per dimension
Implements itk::BSplineBaseTransform< TParametersValueType, NDimensions, VSplineOrder >.
|
virtual |
Return the region of the grid wholly within the support region
|
overrideprivatevirtual |
Check if a continuous index is inside the valid region.
Implements itk::BSplineBaseTransform< TParametersValueType, NDimensions, VSplineOrder >.
itk::BSplineDeformableTransform< TParametersValueType, NDimensions, VSplineOrder >::itkCloneMacro | ( | Self | ) |
implement type-specific clone method
|
static |
New macro for creation of through the object factory.
|
overrideprotectedvirtual |
Print contents of an BSplineDeformableTransform.
Reimplemented from itk::BSplineBaseTransform< TParametersValueType, NDimensions, VSplineOrder >.
|
virtual |
This method specifies the bulk transform to be applied. The default is the identity transform.
|
overrideprivatevirtual |
Construct control point grid size from transform domain information
Implements itk::BSplineBaseTransform< TParametersValueType, NDimensions, VSplineOrder >.
|
overridevirtual |
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.
Implements itk::BSplineBaseTransform< TParametersValueType, NDimensions, VSplineOrder >.
|
overridevirtual |
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.
Implements itk::BSplineBaseTransform< TParametersValueType, NDimensions, VSplineOrder >.
|
overrideprivatevirtual |
Construct control point grid direction from transform domain information
Implements itk::BSplineBaseTransform< TParametersValueType, NDimensions, VSplineOrder >.
|
overrideprivatevirtual |
Construct control point grid origin from transform domain information
Implements itk::BSplineBaseTransform< TParametersValueType, NDimensions, VSplineOrder >.
|
overrideprivatevirtual |
Construct control point grid size from transform domain information
Implements itk::BSplineBaseTransform< TParametersValueType, NDimensions, VSplineOrder >.
|
overrideprivatevirtual |
Construct control point grid spacing from transform domain information
Implements itk::BSplineBaseTransform< TParametersValueType, NDimensions, VSplineOrder >.
|
virtual |
Function to specify the transform domain direction.
|
virtual |
Function to specify the transform domain origin.
|
virtual |
Function to specify the transform domain mesh size.
|
virtual |
This method specifies the grid spacing or resolution.
|
overridevirtual |
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.
Implements itk::BSplineBaseTransform< TParametersValueType, NDimensions, VSplineOrder >.
|
private |
|
private |
The bulk transform.
Definition at line 350 of file itkBSplineDeformableTransform.h.
|
private |
Definition at line 347 of file itkBSplineDeformableTransform.h.
|
private |
Definition at line 345 of file itkBSplineDeformableTransform.h.
|
private |
The variables defining the coefficient grid domain for the InternalParametersBuffer are taken from the m_CoefficientImages[0] image, and must be kept in sync with them. by using references to that instance, this is more naturally enforced and does not introduce a speed penalty of dereferencing through the pointers (although it does enforce some internal class synchronization).
Definition at line 344 of file itkBSplineDeformableTransform.h.
|
private |
Definition at line 346 of file itkBSplineDeformableTransform.h.
|
private |
Variables defining the interpolation support region.
Definition at line 355 of file itkBSplineDeformableTransform.h.
|
private |
Definition at line 356 of file itkBSplineDeformableTransform.h.
|
private |
Definition at line 352 of file itkBSplineDeformableTransform.h.
|
private |
Definition at line 358 of file itkBSplineDeformableTransform.h.
|
private |
Definition at line 357 of file itkBSplineDeformableTransform.h.
|
static |
Dimension of the domain space.
Definition at line 151 of file itkBSplineDeformableTransform.h.
|
static |
The BSpline order.
Definition at line 154 of file itkBSplineDeformableTransform.h.