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 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::TransformCategoryEnum | TransformCategoryEnum |
|
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< double, NInputDimensions, NOutputDimensions > | Superclass |
|
typedef Transform< double, NInputDimensions, NOutputDimensions > | TransformType |
|
typedef TransformType::ConstPointer | TransformTypeConstPointer |
|
typedef TransformType::Pointer | TransformTypePointer |
|
|
virtual const char * | GetClassName () const |
|
virtual const ImagePointer * | GetCoefficientImages (void) const |
|
const FixedParametersType & | GetFixedParameters (void) const override |
|
virtual DirectionType | GetGridDirection () const |
|
virtual OriginType | GetGridOrigin () const |
|
virtual RegionType | GetGridRegion () const |
|
virtual SpacingType | GetGridSpacing () const |
|
virtual unsigned int | GetNumberOfAffectedWeights (void) const =0 |
|
NumberOfParametersType | GetNumberOfNonZeroJacobianIndices (void) const override=0 |
|
NumberOfParametersType | GetNumberOfParameters (void) const override |
|
virtual NumberOfParametersType | GetNumberOfParametersPerDimension (void) const |
|
const ParametersType & | GetParameters (void) const override |
|
TransformCategoryEnum | GetTransformCategory (void) const override |
|
virtual const RegionType & | GetValidRegion () |
|
bool | IsLinear (void) const override |
|
| itkStaticConstMacro (SpaceDimension, unsigned int, NDimensions) |
|
virtual void | SetCoefficientImages (ImagePointer images[]) |
|
void | SetFixedParameters (const FixedParametersType ¶meters) override |
|
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) override |
|
void | SetParametersByValue (const ParametersType ¶meters) override |
|
OutputCovariantVectorType | TransformCovariantVector (const InputCovariantVectorType &) const override |
|
OutputVectorType | TransformVector (const InputVectorType &) const override |
|
OutputVnlVectorType | TransformVector (const InputVnlVectorType &) const override |
|
void | ComputeJacobianWithRespectToParameters (const InputPointType &, JacobianType &) const override |
|
virtual void | EvaluateJacobianWithImageGradientProduct (const InputPointType &ipp, const MovingImageGradientType &movingImageGradient, DerivativeType &imageJacobian, NonZeroJacobianIndicesType &nonZeroJacobianIndices) const |
|
virtual const char * | GetClassName () 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 NumberOfParametersType | GetNumberOfNonZeroJacobianIndices (void) const |
|
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) |
|
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.
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.
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.