#include <itkElasticBodyReciprocalSplineKernelTransform2.h>
This class defines the elastic body spline (EBS) transformation. It is implemented in as straightforward a manner as possible from the IEEE TMI paper by Davis, Khotanzad, Flamig, and Harms, Vol. 16 No. 3 June 1997 Taken from the paper: The EBS "is based on a physical model of a homogeneous, isotropic, three-dimensional elastic body. The model can approximate the way that some physical objects deform".
Definition at line 56 of file itkElasticBodyReciprocalSplineKernelTransform2.h.
Public Member Functions | |
virtual TScalarType | GetAlpha () const |
virtual const char * | GetClassName () const |
const TScalarType | GetPoissonRatio () const override |
ITK_DISALLOW_COPY_AND_MOVE (ElasticBodyReciprocalSplineKernelTransform2) | |
itkStaticConstMacro (SpaceDimension, unsigned int, Superclass::SpaceDimension) | |
void | SetAlpha (TScalarType Alpha) override |
void | SetPoissonRatio (const TScalarType Nu) override |
Public Member Functions inherited from itk::KernelTransform2< double, 3 > | |
void | ComputeLInverse () |
void | ComputeWMatrix () |
const ParametersType & | GetFixedParameters () const override |
void | GetJacobian (const InputPointType &, JacobianType &, NonZeroJacobianIndicesType &) const override |
void | GetJacobianOfSpatialHessian (const InputPointType &, JacobianOfSpatialHessianType &, NonZeroJacobianIndicesType &) const override |
void | GetJacobianOfSpatialHessian (const InputPointType &, SpatialHessianType &, JacobianOfSpatialHessianType &, NonZeroJacobianIndicesType &) const override |
void | GetJacobianOfSpatialJacobian (const InputPointType &, JacobianOfSpatialJacobianType &, NonZeroJacobianIndicesType &) const override |
void | GetJacobianOfSpatialJacobian (const InputPointType &, SpatialJacobianType &, JacobianOfSpatialJacobianType &, NonZeroJacobianIndicesType &) const override |
virtual const std::string & | GetMatrixInversionMethod () |
NumberOfParametersType | GetNumberOfParameters () const override |
const ParametersType & | GetParameters () const override |
void | GetSpatialHessian (const InputPointType &, SpatialHessianType &) const override |
void | GetSpatialJacobian (const InputPointType &, SpatialJacobianType &) const override |
virtual double | GetStiffness () const |
ITK_DISALLOW_COPY_AND_MOVE (KernelTransform2) | |
itkGetModifiableObjectMacro (Displacements, VectorSetType) | |
itkGetModifiableObjectMacro (SourceLandmarks, PointSetType) | |
itkGetModifiableObjectMacro (TargetLandmarks, PointSetType) | |
itkStaticConstMacro (SpaceDimension, unsigned int, NDimensions) | |
virtual void | SetAlpha (double) |
void | SetFixedParameters (const ParametersType &) override |
virtual void | SetIdentity () |
virtual void | SetMatrixInversionMethod (std::string _arg) |
void | SetParameters (const ParametersType &) override |
virtual void | SetPoissonRatio (double _arg) |
virtual void | SetSourceLandmarks (PointSetType *) |
virtual void | SetStiffness (double stiffness) |
virtual void | SetTargetLandmarks (PointSetType *) |
OutputCovariantVectorType | TransformCovariantVector (const InputCovariantVectorType &) const override |
OutputPointType | TransformPoint (const InputPointType &thisPoint) const override |
OutputVectorType | TransformVector (const InputVectorType &) const override |
OutputVnlVectorType | TransformVector (const InputVnlVectorType &) const override |
virtual void | UpdateParameters () |
Public Member Functions inherited from itk::AdvancedTransform< double, NDimensions, NDimensions > | |
void | ComputeJacobianWithRespectToParameters (const InputPointType &, JacobianType &) const override |
virtual void | EvaluateJacobianWithImageGradientProduct (const InputPointType &inputPoint, const MovingImageGradientType &movingImageGradient, DerivativeType &imageJacobian, NonZeroJacobianIndicesType &nonZeroJacobianIndices) const |
virtual bool | GetHasNonZeroJacobianOfSpatialHessian () const |
virtual bool | GetHasNonZeroSpatialHessian () const |
virtual NumberOfParametersType | GetNumberOfNonZeroJacobianIndices () const |
ITK_DISALLOW_COPY_AND_MOVE (AdvancedTransform) | |
itkStaticConstMacro (InputSpaceDimension, unsigned int, NInputDimensions) | |
itkStaticConstMacro (OutputSpaceDimension, unsigned int, NOutputDimensions) | |
Static Public Member Functions | |
static Pointer | New () |
Static Public Member Functions inherited from itk::KernelTransform2< double, 3 > | |
static Pointer | New () |
Protected Types | |
using | GMatrixType |
Protected Types inherited from itk::KernelTransform2< double, 3 > | |
using | QRDecompositionType |
using | SVDDecompositionType |
Protected Member Functions | |
void | ComputeG (const InputVectorType &x, GMatrixType &GMatrix) const override |
ElasticBodyReciprocalSplineKernelTransform2 () | |
void | PrintSelf (std::ostream &os, Indent indent) const override |
~ElasticBodyReciprocalSplineKernelTransform2 () override=default | |
Protected Member Functions inherited from itk::KernelTransform2< double, 3 > | |
void | ComputeD () |
virtual void | ComputeDeformationContribution (const InputPointType &inputPoint, OutputPointType &result) const |
virtual void | ComputeG (const InputVectorType &landmarkVector, GMatrixType &GMatrix) const |
void | ComputeK () |
void | ComputeL () |
void | ComputeP () |
virtual void | ComputeReflexiveG (PointsIterator, GMatrixType &GMatrix) const |
void | ComputeY () |
KernelTransform2 () | |
void | PrintSelf (std::ostream &os, Indent indent) const override |
void | ReorganizeW () |
~KernelTransform2 () override | |
Protected Member Functions inherited from itk::AdvancedTransform< double, NDimensions, NDimensions > | |
AdvancedTransform ()=default | |
~AdvancedTransform () override=default | |
Additional Inherited Members | |
Data Fields inherited from itk::KernelTransform2< double, 3 > | |
PointSetPointer | m_SourceLandmarks |
PointSetPointer | m_TargetLandmarks |
using itk::ElasticBodyReciprocalSplineKernelTransform2< TScalarType, NDimensions >::ConstPointer = SmartPointer<const Self> |
Definition at line 67 of file itkElasticBodyReciprocalSplineKernelTransform2.h.
|
protected |
'G' matrix typedef.
Definition at line 365 of file itkKernelTransform2.h.
using itk::ElasticBodyReciprocalSplineKernelTransform2< TScalarType, NDimensions >::Pointer = SmartPointer<Self> |
Definition at line 66 of file itkElasticBodyReciprocalSplineKernelTransform2.h.
using itk::ElasticBodyReciprocalSplineKernelTransform2< TScalarType, NDimensions >::Self = ElasticBodyReciprocalSplineKernelTransform2 |
Standard class typedefs.
Definition at line 63 of file itkElasticBodyReciprocalSplineKernelTransform2.h.
using itk::ElasticBodyReciprocalSplineKernelTransform2< TScalarType, NDimensions >::Superclass = KernelTransform2<TScalarType, NDimensions> |
Definition at line 64 of file itkElasticBodyReciprocalSplineKernelTransform2.h.
|
protected |
|
overrideprotecteddefault |
|
overrideprotected |
Compute G(x) For the elastic body spline, this is:
where , is Poisson's Ratio, and is the identity matrix.
|
virtual |
Get alpha
|
virtual |
Run-time type information (and related methods).
Reimplemented from itk::KernelTransform2< double, 3 >.
|
inlineoverridevirtual |
Reimplemented from itk::KernelTransform2< double, 3 >.
Definition at line 116 of file itkElasticBodyReciprocalSplineKernelTransform2.h.
itk::ElasticBodyReciprocalSplineKernelTransform2< TScalarType, NDimensions >::ITK_DISALLOW_COPY_AND_MOVE | ( | ElasticBodyReciprocalSplineKernelTransform2< TScalarType, NDimensions > | ) |
itk::ElasticBodyReciprocalSplineKernelTransform2< TScalarType, NDimensions >::itkStaticConstMacro | ( | SpaceDimension | , |
unsigned int | , | ||
Superclass::SpaceDimension | ) |
Dimension of the domain space.
|
static |
New macro for creation of through a Smart Pointer
|
overrideprotected |
|
inlineoverride |
Set alpha. Alpha is related to Poisson's Ratio ( ) as
Definition at line 92 of file itkElasticBodyReciprocalSplineKernelTransform2.h.
|
inlineoverride |
Convenience method
Definition at line 106 of file itkElasticBodyReciprocalSplineKernelTransform2.h.
|
protected |
alpha, Poisson's ratio
Definition at line 153 of file itkElasticBodyReciprocalSplineKernelTransform2.h.
Generated on 2024-07-17 for elastix by 1.11.0 (9b424b03c9833626cd435af22a444888fbbb192d) |