template<typename TParametersValueType = double, unsigned int VDimension = 3, unsigned int VSplineOrder = 3>
class itk::BSplineBaseTransform< TParametersValueType, VDimension, VSplineOrder >
A base class with common elements of BSplineTransform and BSplineDeformableTransform.
Definition at line 34 of file itkBSplineBaseTransform.h.
|
using | CoefficientImageArray = FixedArray< ImagePointer, VDimension > |
|
using | ConstPointer = SmartPointer< const Self > |
|
using | ContinuousIndexType = typename WeightsFunctionType::ContinuousIndexType |
|
using | DirectionType = typename ImageType::DirectionType |
|
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 | MeshSizeType = SizeType |
|
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 = FixedArray< unsigned long, NumberOfWeights > |
|
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 | Self = BSplineBaseTransform |
|
using | SizeType = typename RegionType::SizeType |
|
using | SpacingType = typename ImageType::SpacingType |
|
using | Superclass = Transform< TParametersValueType, VDimension, VDimension > |
|
using | WeightsFunctionType = BSplineInterpolationWeightFunction< ScalarType, Self::SpaceDimension, Self::SplineOrder > |
|
using | WeightsType = typename WeightsFunctionType::WeightsType |
|
using | ConstPointer = SmartPointer< const Self > |
|
using | DerivativeType = Array< ParametersValueType > |
|
using | DirectionChangeMatrix = Matrix< double, Self::OutputSpaceDimension, Self::InputSpaceDimension > |
|
using | InputCovariantVectorType = CovariantVector< TParametersValueType, VInputDimension > |
|
using | InputDiffusionTensor3DType = DiffusionTensor3D< TParametersValueType > |
|
using | InputDirectionMatrix = Matrix< double, Self::InputSpaceDimension, Self::InputSpaceDimension > |
|
using | InputPointType = Point< TParametersValueType, VInputDimension > |
|
using | InputSymmetricSecondRankTensorType = SymmetricSecondRankTensor< TParametersValueType, VInputDimension > |
|
using | InputVectorPixelType = VariableLengthVector< TParametersValueType > |
|
using | InputVectorType = Vector< TParametersValueType, VInputDimension > |
|
using | InputVnlVectorType = vnl_vector_fixed< TParametersValueType, VInputDimension > |
|
using | InverseJacobianPositionType = vnl_matrix_fixed< ParametersValueType, VInputDimension, VOutputDimension > |
|
using | InverseTransformBasePointer = typename InverseTransformBaseType::Pointer |
|
using | InverseTransformBaseType = Transform< TParametersValueType, VOutputDimension, VInputDimension > |
|
using | JacobianPositionType = vnl_matrix_fixed< ParametersValueType, VOutputDimension, VInputDimension > |
|
using | JacobianType = Array2D< ParametersValueType > |
|
using | MatrixType = Matrix< TParametersValueType, Self::OutputSpaceDimension, Self::InputSpaceDimension > |
|
using | OutputCovariantVectorType = CovariantVector< TParametersValueType, VOutputDimension > |
|
using | OutputDiffusionTensor3DType = DiffusionTensor3D< TParametersValueType > |
|
using | OutputDirectionMatrix = Matrix< double, Self::OutputSpaceDimension, Self::OutputSpaceDimension > |
|
using | OutputPointType = Point< TParametersValueType, VOutputDimension > |
|
using | OutputSymmetricSecondRankTensorType = SymmetricSecondRankTensor< TParametersValueType, VOutputDimension > |
|
using | OutputVectorPixelType = VariableLengthVector< TParametersValueType > |
|
using | OutputVectorType = Vector< TParametersValueType, VOutputDimension > |
|
using | OutputVnlVectorType = vnl_vector_fixed< TParametersValueType, VOutputDimension > |
|
using | Pointer = SmartPointer< Self > |
|
using | ScalarType = ParametersValueType |
|
using | Self = Transform |
|
using | Superclass = TransformBaseTemplate< TParametersValueType > |
|
|
void | ComputeJacobianFromBSplineWeightsWithRespectToPosition (const InputPointType &, WeightsType &, ParameterIndexArrayType &) const |
|
void | ComputeJacobianWithRespectToParameters (const InputPointType &, JacobianType &) const override=0 |
|
void | ComputeJacobianWithRespectToPosition (const InputPointType &, JacobianPositionType &) const override |
|
const CoefficientImageArray | GetCoefficientImages () const |
|
const FixedParametersType & | GetFixedParameters () const override |
|
const char * | GetNameOfClass () const override |
|
unsigned int | GetNumberOfAffectedWeights () const |
|
NumberOfParametersType | GetNumberOfLocalParameters () const override |
|
NumberOfParametersType | GetNumberOfParameters () const override=0 |
|
virtual NumberOfParametersType | GetNumberOfParametersPerDimension () const =0 |
|
const ParametersType & | GetParameters () const override |
|
TransformCategoryEnum | GetTransformCategory () const override |
|
| itkCloneMacro (Self) |
|
virtual void | SetCoefficientImages (const CoefficientImageArray &images)=0 |
|
void | SetIdentity () |
|
void | SetParameters (const ParametersType ¶meters) override |
|
void | SetParametersByValue (const ParametersType ¶meters) override |
|
virtual void | TransformPoint (const InputPointType &inputPoint, OutputPointType &outputPoint, WeightsType &weights, ParameterIndexArrayType &indices, bool &inside) const =0 |
|
OutputPointType | TransformPoint (const InputPointType &point) const override |
|
OutputVnlVectorType | TransformVector (const InputVnlVectorType &) const override |
|
void | UpdateTransformParameters (const DerivativeType &update, TParametersValueType factor=1.0) override |
|
|
void | SetFixedParameters (const FixedParametersType ¶meters) override=0 |
|
|
OutputVectorType | TransformVector (const InputVectorType &) const override |
|
|
OutputCovariantVectorType | TransformCovariantVector (const InputCovariantVectorType &) const override |
|
virtual void | ComputeJacobianWithRespectToParametersCachedTemporaries (const InputPointType &p, JacobianType &jacobian, JacobianType &) const |
|
void | CopyInFixedParameters (const FixedParametersValueType *const begin, const FixedParametersValueType *const end) override |
|
void | CopyInParameters (const ParametersValueType *const begin, const ParametersValueType *const end) override |
|
const FixedParametersType & | GetFixedParameters () const override |
|
unsigned int | GetInputSpaceDimension () const override |
|
bool | GetInverse (Self *) const |
|
virtual InverseTransformBasePointer | GetInverseTransform () const |
|
const char * | GetNameOfClass () const override |
|
virtual NumberOfParametersType | GetNumberOfFixedParameters () const |
|
NumberOfParametersType | GetNumberOfParameters () const override |
|
unsigned int | GetOutputSpaceDimension () const override |
|
const ParametersType & | GetParameters () const override |
|
TransformCategoryEnum | GetTransformCategory () const override |
|
std::string | GetTransformTypeAsString () const override |
|
virtual bool | IsLinear () const |
|
| itkCloneMacro (Self) |
|
void | SetParametersByValue (const ParametersType &p) override |
|
virtual OutputCovariantVectorType | TransformCovariantVector (const InputCovariantVectorType &) const |
|
virtual OutputCovariantVectorType | TransformCovariantVector (const InputCovariantVectorType &vector, const InputPointType &point) const |
|
virtual OutputVectorPixelType | TransformCovariantVector (const InputVectorPixelType &) const |
|
virtual OutputVectorPixelType | TransformCovariantVector (const InputVectorPixelType &vector, const InputPointType &point) const |
|
virtual OutputDiffusionTensor3DType | TransformDiffusionTensor3D (const InputDiffusionTensor3DType &) const |
|
virtual OutputDiffusionTensor3DType | TransformDiffusionTensor3D (const InputDiffusionTensor3DType &inputTensor, const InputPointType &point) const |
|
virtual OutputVectorPixelType | TransformDiffusionTensor3D (const InputVectorPixelType &) const |
|
virtual OutputVectorPixelType | TransformDiffusionTensor3D (const InputVectorPixelType &inputTensor, const InputPointType &point) const |
|
virtual OutputPointType | TransformPoint (const InputPointType &) const=0 |
|
virtual OutputSymmetricSecondRankTensorType | TransformSymmetricSecondRankTensor (const InputSymmetricSecondRankTensorType &) const |
|
virtual OutputSymmetricSecondRankTensorType | TransformSymmetricSecondRankTensor (const InputSymmetricSecondRankTensorType &inputTensor, const InputPointType &point) const |
|
virtual OutputVectorPixelType | TransformSymmetricSecondRankTensor (const InputVectorPixelType &) const |
|
virtual OutputVectorPixelType | TransformSymmetricSecondRankTensor (const InputVectorPixelType &inputTensor, const InputPointType &point) const |
|
virtual OutputVectorPixelType | TransformVector (const InputVectorPixelType &) const |
|
virtual OutputVectorPixelType | TransformVector (const InputVectorPixelType &vector, const InputPointType &point) const |
|
virtual OutputVectorType | TransformVector (const InputVectorType &) const |
|
virtual OutputVectorType | TransformVector (const InputVectorType &vector, const InputPointType &point) const |
|
virtual OutputVnlVectorType | TransformVector (const InputVnlVectorType &) const |
|
virtual OutputVnlVectorType | TransformVector (const InputVnlVectorType &vector, const InputPointType &point) const |
|
virtual void | UpdateTransformParameters (const DerivativeType &update, ParametersValueType factor=1.0) |
|
virtual void | ComputeJacobianWithRespectToParameters (const InputPointType &, JacobianType &) const=0 |
|
virtual void | ComputeJacobianWithRespectToPosition (const InputPointType &, JacobianPositionType &) const |
|
template< typename TImage > std std::enable_if_t< TImage::ImageDimension==VInputDimension &&TImage::ImageDimension==VOutputDimension, void > | ApplyToImageMetadata (SmartPointer< TImage > image) const |
|
template<typename TParametersValueType = double, unsigned int VDimension = 3, unsigned int VSplineOrder = 3>
template<typename TParametersValueType = double, unsigned int VDimension = 3, unsigned int VSplineOrder = 3>
This method sets the fixed parameters of the transform. For a BSpline deformation transform, the fixed parameters are the following: grid size, grid origin, grid spacing, and grid direction. However, all of these are set via the much more intuitive SetTransformDomainXXX() functions
The fixed parameters are the three times the size of the templated dimensions. This function has the effect of make the following non- existing functional calls: transform->SetGridSpacing( spacing ); transform->SetGridOrigin( origin ); transform->SetGridDirection( direction ); transform->SetGridRegion( bsplineRegion );
With recent updates to this transform, however, all these parameters are set indirectly by setting the transform domain parameters unless the user sets them with SetFixedParameters().
This function was added to allow the transform to work with the itkTransformReader/Writer I/O filters.
Implements itk::Transform< TParametersValueType, VDimension, VDimension >.
Implemented in itk::BSplineDeformableTransform< TParametersValueType, VDimension, VSplineOrder >, and itk::BSplineTransform< TParametersValueType, VDimension, VSplineOrder >.
template<typename TParametersValueType = double, unsigned int VDimension = 3, unsigned int VSplineOrder = 3>
This method sets the parameters of the transform. For a BSpline deformation transform, the parameters are the BSpline coefficients on a sparse grid.
The parameters are N number of N-D grid of coefficients. Each N-D grid is represented as a flat array of scalars (in the same configuration as an itk::Image). The N arrays are then concatenated to form one parameter array.
For efficiency, this transform does not make a copy of the parameters. It only keeps a pointer to the input parameters. It assumes that the memory is managed by the caller. Use SetParametersByValue to force the transform to call copy the parameters.
This method wraps each grid as itk::Image's using the user specified fixed parameters. NOTE: The transform domain must be set first.
Implements itk::Transform< TParametersValueType, VDimension, VDimension >.
template<typename TParametersValueType = double, unsigned int VDimension = 3, unsigned int VSplineOrder = 3>
This method sets the parameters of the transform. For a BSpline deformation transform, the parameters are the BSpline coefficients on a sparse grid.
The parameters are N number of N-D grid of coefficients. Each N-D grid is represented as a flat array of doubles (in the same configuration as an itk::Image). The N arrays are then concatenated to form one parameter array.
This methods makes a copy of the parameters while for efficiency the SetParameters method does not.
This method wraps each grid as itk::Image's using the user specified fixed parameters. NOTE: The fixed parameters must be set first.
template<typename TParametersValueType = double, unsigned int VDimension = 3, unsigned int VSplineOrder = 3>
template<typename TParametersValueType = double, unsigned int VDimension = 3, unsigned int VSplineOrder = 3>
Update the transform's parameters by the adding values in update
to current parameter values. We assume update
is of the same length as Parameters. Throw exception otherwise. factor
is a scalar multiplier for each value in update. SetParameters is called at the end of this method, to allow transforms to perform any required operations on the update parameters, typically a conversion to member variables for use in TransformPoint. Derived classes should override to provide specialized behavior.