template<class TScalarType = double, unsigned int NDimensions = 3>
class itk::AdvancedBSplineDeformableTransformBase< TScalarType, NDimensions >
Base class for deformable transform using a B-spline representation.
This class is the base for the encapsulation of a deformable transform of points from one N-dimensional one space to another N-dimensional space.
This class is not templated over the spline order, which makes the use of different spline orders more convenient in subsequent code.
Definition at line 42 of file itkAdvancedBSplineDeformableTransformBase.h.
|
typedef SmartPointer< const Self > | ConstPointer |
|
typedef ContinuousIndex< ScalarType, SpaceDimension > | ContinuousIndexType |
|
typedef Superclass::DerivativeType | DerivativeType |
|
typedef ImageType::DirectionType | DirectionType |
|
typedef Superclass::FixedParametersType | FixedParametersType |
|
typedef IndexType | GridOffsetType |
|
typedef ImageType::Pointer | ImagePointer |
|
typedef Image< PixelType, itkGetStaticConstMacro(SpaceDimension) > | ImageType |
|
typedef RegionType::IndexType | IndexType |
|
typedef Superclass::InputCovariantVectorType | InputCovariantVectorType |
|
typedef Superclass::InputPointType | InputPointType |
|
typedef Superclass::InputVectorType | InputVectorType |
|
typedef Superclass::InputVnlVectorType | InputVnlVectorType |
|
typedef Superclass::InternalMatrixType | InternalMatrixType |
|
typedef Superclass ::JacobianOfSpatialHessianType | JacobianOfSpatialHessianType |
|
typedef Superclass ::JacobianOfSpatialJacobianType | JacobianOfSpatialJacobianType |
|
typedef Superclass::JacobianType | JacobianType |
|
typedef Superclass::MovingImageGradientType | MovingImageGradientType |
|
typedef Superclass::MovingImageGradientValueType | MovingImageGradientValueType |
|
typedef Superclass ::NonZeroJacobianIndicesType | NonZeroJacobianIndicesType |
|
typedef Superclass::NumberOfParametersType | NumberOfParametersType |
|
typedef ImageType::PointType | OriginType |
|
typedef Superclass::OutputCovariantVectorType | OutputCovariantVectorType |
|
typedef Superclass::OutputPointType | OutputPointType |
|
typedef Superclass::OutputVectorType | OutputVectorType |
|
typedef Superclass::OutputVnlVectorType | OutputVnlVectorType |
|
typedef Array< unsigned long > | ParameterIndexArrayType |
|
typedef Superclass::ParametersType | ParametersType |
|
typedef Superclass::ParametersValueType | ParametersValueType |
|
typedef ParametersType::ValueType | PixelType |
|
typedef SmartPointer< Self > | Pointer |
|
typedef ImageRegion< itkGetStaticConstMacro(SpaceDimension) > | RegionType |
|
typedef Superclass::ScalarType | ScalarType |
|
typedef AdvancedBSplineDeformableTransformBase | Self |
|
typedef RegionType::SizeType | SizeType |
|
typedef ImageType::SpacingType | SpacingType |
|
typedef Superclass::SpatialHessianType | SpatialHessianType |
|
typedef Superclass::SpatialJacobianType | SpatialJacobianType |
|
typedef AdvancedTransform< TScalarType, NDimensions, NDimensions > | Superclass |
|
typedef Superclass::TransformCategoryType | TransformCategoryType |
|
typedef SmartPointer< const Self > | ConstPointer |
|
typedef Superclass::DerivativeType | DerivativeType |
|
typedef Superclass::FixedParametersType | FixedParametersType |
|
typedef Superclass ::InputCovariantVectorType | InputCovariantVectorType |
|
typedef Superclass::InputPointType | InputPointType |
|
typedef Superclass::InputVectorType | InputVectorType |
|
typedef Superclass::InputVnlVectorType | InputVnlVectorType |
|
typedef SpatialJacobianType::InternalMatrixType | InternalMatrixType |
|
typedef Superclass::InverseTransformBasePointer | InverseTransformBasePointer |
|
typedef Superclass::InverseTransformBaseType | InverseTransformBaseType |
|
typedef std::vector< SpatialHessianType > | JacobianOfSpatialHessianType |
|
typedef std::vector< SpatialJacobianType > | JacobianOfSpatialJacobianType |
|
typedef Superclass::JacobianType | JacobianType |
|
typedef OutputCovariantVectorType | MovingImageGradientType |
|
typedef MovingImageGradientType::ValueType | MovingImageGradientValueType |
|
typedef std::vector< unsigned long > | NonZeroJacobianIndicesType |
|
typedef Superclass::NumberOfParametersType | NumberOfParametersType |
|
typedef Superclass ::OutputCovariantVectorType | OutputCovariantVectorType |
|
typedef Superclass::OutputPointType | OutputPointType |
|
typedef Superclass::OutputVectorType | OutputVectorType |
|
typedef Superclass::OutputVnlVectorType | OutputVnlVectorType |
|
typedef Superclass::ParametersType | ParametersType |
|
typedef Superclass::ParametersValueType | ParametersValueType |
|
typedef SmartPointer< Self > | Pointer |
|
typedef Superclass::ScalarType | ScalarType |
|
typedef AdvancedTransform | Self |
|
typedef FixedArray< Matrix< ScalarType, InputSpaceDimension, InputSpaceDimension >, OutputSpaceDimension > | SpatialHessianType |
|
typedef Matrix< ScalarType, OutputSpaceDimension, InputSpaceDimension > | SpatialJacobianType |
|
typedef Transform< TScalarType, NInputDimensions, NOutputDimensions > | Superclass |
|
typedef Transform< TScalarType, NInputDimensions, NOutputDimensions > | TransformType |
|
typedef TransformType::ConstPointer | TransformTypeConstPointer |
|
typedef TransformType::Pointer | TransformTypePointer |
|
|
virtual const char * | GetClassName () const |
|
virtual const ImagePointer * | GetCoefficientImages (void) const |
|
virtual const FixedParametersType & | GetFixedParameters (void) const |
|
virtual DirectionType | GetGridDirection () const |
|
virtual OriginType | GetGridOrigin () const |
|
virtual RegionType | GetGridRegion () const |
|
virtual SpacingType | GetGridSpacing () const |
|
virtual unsigned int | GetNumberOfAffectedWeights (void) const =0 |
|
virtual NumberOfParametersType | GetNumberOfNonZeroJacobianIndices (void) const =0 |
|
virtual NumberOfParametersType | GetNumberOfParameters (void) const |
|
virtual NumberOfParametersType | GetNumberOfParametersPerDimension (void) const |
|
virtual const ParametersType & | GetParameters (void) const |
|
virtual TransformCategoryType | GetTransformCategory (void) const |
|
virtual const RegionType & | GetValidRegion () |
|
virtual bool | IsLinear (void) const |
|
| itkStaticConstMacro (SpaceDimension, unsigned int, NDimensions) |
|
virtual void | SetCoefficientImages (ImagePointer images[]) |
|
void | SetFixedParameters (const FixedParametersType ¶meters) |
|
virtual void | SetGridDirection (const DirectionType &direction) |
|
virtual void | SetGridOrigin (const OriginType &origin) |
|
virtual void | SetGridRegion (const RegionType ®ion)=0 |
|
virtual void | SetGridSpacing (const SpacingType &spacing) |
|
void | SetIdentity (void) |
|
void | SetParameters (const ParametersType ¶meters) |
|
void | SetParametersByValue (const ParametersType ¶meters) |
|
virtual OutputCovariantVectorType | TransformCovariantVector (const InputCovariantVectorType &) const |
|
virtual OutputVectorType | TransformVector (const InputVectorType &) const |
|
virtual OutputVnlVectorType | TransformVector (const InputVnlVectorType &) const |
|
virtual void | ComputeJacobianWithRespectToParameters (const InputPointType &, JacobianType &) const |
|
virtual void | ComputeJacobianWithRespectToPosition (const InputPointType &, JacobianType &) const |
|
virtual void | EvaluateJacobianWithImageGradientProduct (const InputPointType &ipp, const MovingImageGradientType &movingImageGradient, DerivativeType &imageJacobian, NonZeroJacobianIndicesType &nonZeroJacobianIndices) const |
|
virtual bool | GetHasNonZeroJacobianOfSpatialHessian () const |
|
virtual bool | GetHasNonZeroSpatialHessian () const |
|
virtual void | GetJacobian (const InputPointType &ipp, JacobianType &j, NonZeroJacobianIndicesType &nonZeroJacobianIndices) const=0 |
|
virtual void | GetJacobianOfSpatialHessian (const InputPointType &ipp, JacobianOfSpatialHessianType &jsh, NonZeroJacobianIndicesType &nonZeroJacobianIndices) const=0 |
|
virtual void | GetJacobianOfSpatialHessian (const InputPointType &ipp, SpatialHessianType &sh, JacobianOfSpatialHessianType &jsh, NonZeroJacobianIndicesType &nonZeroJacobianIndices) const=0 |
|
virtual void | GetJacobianOfSpatialJacobian (const InputPointType &ipp, JacobianOfSpatialJacobianType &jsj, NonZeroJacobianIndicesType &nonZeroJacobianIndices) const=0 |
|
virtual void | GetJacobianOfSpatialJacobian (const InputPointType &ipp, SpatialJacobianType &sj, JacobianOfSpatialJacobianType &jsj, NonZeroJacobianIndicesType &nonZeroJacobianIndices) const=0 |
|
virtual void | GetSpatialHessian (const InputPointType &ipp, SpatialHessianType &sh) const=0 |
|
virtual void | GetSpatialJacobian (const InputPointType &ipp, SpatialJacobianType &sj) const=0 |
|
| itkStaticConstMacro (InputSpaceDimension, unsigned int, NInputDimensions) |
|
| itkStaticConstMacro (OutputSpaceDimension, unsigned int, NOutputDimensions) |
|
template<class TScalarType = double, unsigned int NDimensions = 3>
Set the array of coefficient images.
This is an alternative API for setting the B-spline 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 SetCoefficientImages() API. Mixing the two modes may results in unexpected results.
template<class TScalarType = double, unsigned int NDimensions = 3>
This method sets the fixed parameters of the transform. For a B-spline 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.
template<class TScalarType = double, unsigned int NDimensions = 3>
This method sets the parameters of the transform. For a B-spline 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.
template<class TScalarType = double, unsigned int NDimensions = 3>
This method sets the parameters of the transform. For a B-spline 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.