template<class TFixedImage, class
TScalarType>
class itk::TransformRigidityPenaltyTerm< TFixedImage, TScalarType >
A cost function that calculates a rigidity penalty term.
A cost function that calculates a rigidity penalty term based on the B-spline coefficients of a B-spline transformation. This penalty term is a function of the 1st and 2nd order spatial derivatives of a transformation.
The intended use for this metric is to filter a B-spline coefficient image in order to calculate a rigidity penalty term on a B-spline transform.
The RigidityPenaltyTermValueImageFilter at each pixel location is computed by convolution with some separable 1D kernels.
The rigid penalty term penalizes deviations from a rigid transformation at regions specified by the so-called rigidity images.
This metric only works with B-splines as a transformation model.
References:
[1] M. Staring, S. Klein and J.P.W. Pluim, "A Rigidity Penalty Term for Nonrigid Registration," Medical Physics, vol. 34, no. 11, pp. 4098 - 4108, November 2007.
- See also
- BSplineTransform
Definition at line 71 of file itkTransformRigidityPenaltyTerm.h.
|
using | BSplineTransformPointer = typename BSplineTransformType::Pointer |
|
using | BSplineTransformType = BSplineOrder3TransformType |
|
using | CoefficientImageIteratorType = ImageRegionIterator< CoefficientImageType > |
|
using | CoefficientImagePointer = typename CoefficientImageType::Pointer |
|
using | CoefficientImageSpacingType = typename CoefficientImageType::SpacingType |
|
using | CoefficientImageType = typename BSplineTransformType::ImageType |
|
using | ConstPointer = SmartPointer< const Self > |
|
using | DilateFilterPointer = typename DilateFilterType::Pointer |
|
using | DilateFilterType = GrayscaleDilateImageFilter< RigidityImageType, RigidityImageType, StructuringElementType > |
|
using | GridSpacingType = typename BSplineTransformType::SpacingType |
|
using | NeighborhoodIteratorType = NeighborhoodIterator< CoefficientImageType > |
|
using | NeighborhoodSizeType = typename NeighborhoodType::SizeType |
|
using | NeighborhoodType = Neighborhood< ScalarType, Self::FixedImageDimension > |
|
using | NOIFType = NeighborhoodOperatorImageFilter< CoefficientImageType, CoefficientImageType > |
|
using | Pointer = SmartPointer< Self > |
|
using | RadiusType = typename NeighborhoodIteratorType::RadiusType |
|
using | RigidityImageIndexType = typename RigidityImageType::IndexType |
|
using | RigidityImageIteratorType = ImageRegionIterator< RigidityImageType > |
|
using | RigidityImagePointer = typename RigidityImageType::Pointer |
|
using | RigidityImagePointType = typename RigidityImageType::PointType |
|
using | RigidityImageRegionType = typename RigidityImageType::RegionType |
|
using | RigidityImageType = CoefficientImageType |
|
using | RigidityPixelType = typename RigidityImageType::PixelType |
|
using | Self = TransformRigidityPenaltyTerm |
|
using | SERadiusType = typename StructuringElementType::RadiusType |
|
using | StructuringElementType = BinaryBallStructuringElement< RigidityPixelType, Self::FixedImageDimension > |
|
using | Superclass = TransformPenaltyTerm< TFixedImage, TScalarType > |
|
using | ConstPointer = SmartPointer< const Self > |
|
using | InternalMatrixType = typename TransformType::InternalMatrixType |
|
using | JacobianOfSpatialHessianType = typename TransformType::JacobianOfSpatialHessianType |
|
using | JacobianOfSpatialJacobianType = typename TransformType::JacobianOfSpatialJacobianType |
|
using | Pointer = SmartPointer< Self > |
|
using | ScalarType = TScalarType |
|
using | Self = TransformPenaltyTerm |
|
using | SpatialHessianType = typename TransformType::SpatialHessianType |
|
using | SpatialJacobianType = typename TransformType::SpatialJacobianType |
|
using | Superclass = AdvancedImageToImageMetric< TFixedImage, TFixedImage > |
|
using | TransformType = typename Superclass::AdvancedTransformType |
|
using | AdvancedTransformType = AdvancedTransform< ScalarType, FixedImageDimension, MovingImageDimension > |
|
using | BSplineOrder1TransformPointer = typename BSplineOrder1TransformType::Pointer |
|
using | BSplineOrder1TransformType = AdvancedBSplineDeformableTransform< ScalarType, FixedImageDimension, 1 > |
|
using | BSplineOrder2TransformPointer = typename BSplineOrder2TransformType::Pointer |
|
using | BSplineOrder2TransformType = AdvancedBSplineDeformableTransform< ScalarType, FixedImageDimension, 2 > |
|
using | BSplineOrder3TransformPointer = typename BSplineOrder3TransformType::Pointer |
|
using | BSplineOrder3TransformType = AdvancedBSplineDeformableTransform< ScalarType, FixedImageDimension, 3 > |
|
using | CombinationTransformType = AdvancedCombinationTransform< ScalarType, FixedImageDimension > |
|
using | ConstPointer = SmartPointer< const Self > |
|
using | DerivativeValueType = typename DerivativeType::ValueType |
|
using | FixedImageLimiterOutputType = typename FixedImageLimiterType::OutputType |
|
using | FixedImageLimiterPointer = typename FixedImageLimiterType::Pointer |
|
using | FixedImageLimiterType = LimiterFunctionBase< RealType, FixedImageDimension > |
|
using | FixedImageMaskSpatialObject2Type = ImageMaskSpatialObject< Self::FixedImageDimension > |
|
using | FixedImagePixelType = typename FixedImageType::PixelType |
|
using | FixedImagePointer = typename FixedImageType::Pointer |
|
using | HessianType = vnl_sparse_matrix< HessianValueType > |
|
using | HessianValueType = typename DerivativeType::ValueType |
|
using | ImageSampleContainerPointer = typename ImageSamplerType::OutputVectorContainerPointer |
|
using | ImageSampleContainerType = typename ImageSamplerType::OutputVectorContainerType |
|
using | ImageSamplerPointer = typename ImageSamplerType::Pointer |
|
using | ImageSamplerType = ImageSamplerBase< FixedImageType > |
|
using | MovingImageDerivativeScalesType = FixedArray< double, Self::MovingImageDimension > |
|
using | MovingImageLimiterOutputType = typename MovingImageLimiterType::OutputType |
|
using | MovingImageLimiterPointer = typename MovingImageLimiterType::Pointer |
|
using | MovingImageLimiterType = LimiterFunctionBase< RealType, MovingImageDimension > |
|
using | MovingImageMaskSpatialObject2Type = ImageMaskSpatialObject< Self::MovingImageDimension > |
|
using | MovingImagePointer = typename MovingImageType::Pointer |
|
using | MovingImageRegionType = typename MovingImageType::RegionType |
|
using | NumberOfParametersType = typename AdvancedTransformType::NumberOfParametersType |
|
using | Pointer = SmartPointer< Self > |
|
using | ScalarType = typename TransformType::ScalarType |
|
using | Self = AdvancedImageToImageMetric |
|
using | Superclass = ImageToImageMetric< TFixedImage, TFixedImage > |
|
using | ThreaderType = itk::PlatformMultiThreader |
|
using | ThreadInfoType = typename ThreaderType::WorkUnitInfo |
|
|
void | BeforeThreadedGetValueAndDerivative (const TransformParametersType ¶meters) const override |
|
void | CheckUseAndCalculationBooleans () |
|
void | FillRigidityCoefficientImage (const ParametersType ¶meters) const |
|
virtual const char * | GetClassName () const |
|
void | GetDerivative (const ParametersType ¶meters, DerivativeType &derivative) const override |
|
virtual const MeasureType & | GetLinearityConditionGradientMagnitude () |
|
virtual const MeasureType & | GetLinearityConditionValue () |
|
virtual ScalarType | GetLinearityConditionWeight () const |
|
virtual const MeasureType & | GetOrthonormalityConditionGradientMagnitude () |
|
virtual const MeasureType & | GetOrthonormalityConditionValue () |
|
virtual ScalarType | GetOrthonormalityConditionWeight () const |
|
virtual const MeasureType & | GetPropernessConditionGradientMagnitude () |
|
virtual const MeasureType & | GetPropernessConditionValue () |
|
virtual ScalarType | GetPropernessConditionWeight () const |
|
MeasureType | GetValue (const ParametersType ¶meters) const override |
|
void | GetValueAndDerivative (const ParametersType ¶meters, MeasureType &value, DerivativeType &derivative) const override |
|
void | Initialize () override |
|
| ITK_DISALLOW_COPY_AND_MOVE (TransformRigidityPenaltyTerm) |
|
| itkStaticConstMacro (FixedImageDimension, unsigned int, FixedImageType::ImageDimension) |
|
| itkStaticConstMacro (ImageDimension, unsigned int, FixedImageType::ImageDimension) |
|
| itkStaticConstMacro (MovingImageDimension, unsigned int, FixedImageType::ImageDimension) |
|
virtual void | SetBSplineTransform (BSplineTransformType *_arg) |
|
virtual void | SetCalculateLinearityCondition (bool _arg) |
|
virtual void | SetCalculateOrthonormalityCondition (bool _arg) |
|
virtual void | SetCalculatePropernessCondition (bool _arg) |
|
virtual void | SetDilateRigidityImages (bool _arg) |
|
virtual void | SetDilationRadiusMultiplier (CoordinateRepresentationType _arg) |
|
virtual void | SetFixedRigidityImage (RigidityImageType *_arg) |
|
virtual void | SetLinearityConditionWeight (ScalarType _arg) |
|
virtual void | SetMovingRigidityImage (RigidityImageType *_arg) |
|
virtual void | SetOrthonormalityConditionWeight (ScalarType _arg) |
|
virtual void | SetPropernessConditionWeight (ScalarType _arg) |
|
virtual void | SetUseFixedRigidityImage (bool _arg) |
|
virtual void | SetUseLinearityCondition (bool _arg) |
|
virtual void | SetUseMovingRigidityImage (bool _arg) |
|
virtual void | SetUseOrthonormalityCondition (bool _arg) |
|
virtual void | SetUsePropernessCondition (bool _arg) |
|
virtual const char * | GetClassName () const |
|
| ITK_DISALLOW_COPY_AND_MOVE (TransformPenaltyTerm) |
|
| itkStaticConstMacro (FixedImageDimension, unsigned int, FixedImageType::ImageDimension) |
|
virtual void | BeforeThreadedGetValueAndDerivative (const TransformParametersType ¶meters) const |
|
virtual const char * | GetClassName () const |
|
virtual const FixedImageLimiterType * | GetFixedImageLimiter () |
|
virtual double | GetFixedLimitRangeRatio () const |
|
virtual ImageSamplerType * | GetImageSampler () const |
|
virtual const MovingImageDerivativeScalesType & | GetMovingImageDerivativeScales () |
|
virtual const MovingImageLimiterType * | GetMovingImageLimiter () |
|
virtual double | GetMovingLimitRangeRatio () const |
|
virtual double | GetRequiredRatioOfValidSamples () const |
|
virtual bool | GetScaleGradientWithRespectToMovingImageOrientation () const |
|
virtual void | GetSelfHessian (const TransformParametersType ¶meters, HessianType &H) const |
|
const AdvancedTransformType * | GetTransform () const override |
|
virtual bool | GetUseFixedImageLimiter () const |
|
virtual bool | GetUseImageSampler () const |
|
virtual const bool & | GetUseMetricSingleThreaded () |
|
virtual bool | GetUseMovingImageDerivativeScales () const |
|
virtual bool | GetUseMovingImageLimiter () const |
|
virtual const bool & | GetUseMultiThread () |
|
void | Initialize () override |
|
| ITK_DISALLOW_COPY_AND_MOVE (AdvancedImageToImageMetric) |
|
| itkStaticConstMacro (FixedImageDimension, unsigned int, TFixedImage::ImageDimension) |
|
| itkStaticConstMacro (MovingImageDimension, unsigned int, TMovingImage::ImageDimension) |
|
virtual void | SetFixedImageLimiter (FixedImageLimiterType *_arg) |
|
virtual void | SetFixedLimitRangeRatio (double _arg) |
|
virtual void | SetImageSampler (ImageSamplerType *_arg) |
|
virtual void | SetMovingImageDerivativeScales (MovingImageDerivativeScalesType _arg) |
|
virtual void | SetMovingImageLimiter (MovingImageLimiterType *_arg) |
|
virtual void | SetMovingLimitRangeRatio (double _arg) |
|
virtual void | SetNumberOfWorkUnits (ThreadIdType numberOfThreads) |
|
virtual void | SetRequiredRatioOfValidSamples (double _arg) |
|
virtual void | SetScaleGradientWithRespectToMovingImageOrientation (bool _arg) |
|
virtual void | SetTransform (AdvancedTransformType *arg) |
|
virtual void | SetUseMetricSingleThreaded (bool _arg) |
|
virtual void | SetUseMovingImageDerivativeScales (bool _arg) |
|
virtual void | SetUseMultiThread (bool _arg) |
|
virtual void | UseMetricSingleThreadedOff () |
|
virtual void | UseMetricSingleThreadedOn () |
|
virtual void | UseMultiThreadOff () |
|
virtual void | UseMultiThreadOn () |
|
|
void | PrintSelf (std::ostream &os, Indent indent) const override |
|
| TransformRigidityPenaltyTerm () |
|
| ~TransformRigidityPenaltyTerm () override=default |
|
virtual bool | CheckForBSplineTransform2 (BSplineOrder3TransformPointer &bspline) const |
|
| TransformPenaltyTerm ()=default |
|
| ~TransformPenaltyTerm () override=default |
|
| AdvancedImageToImageMetric () |
|
virtual void | AfterThreadedGetValue (MeasureType &value) const |
|
virtual void | AfterThreadedGetValueAndDerivative (MeasureType &value, DerivativeType &derivative) const |
|
virtual void | CheckForAdvancedTransform () |
|
virtual void | CheckForBSplineInterpolator () |
|
virtual void | CheckForBSplineTransform () const |
|
virtual void | CheckNumberOfSamples (unsigned long wanted, unsigned long found) const |
|
virtual bool | EvaluateMovingImageValueAndDerivative (const MovingImagePointType &mappedPoint, RealType &movingImageValue, MovingImageDerivativeType *gradient) const |
|
virtual bool | EvaluateTransformJacobian (const FixedImagePointType &fixedImagePoint, TransformJacobianType &jacobian, NonZeroJacobianIndicesType &nzji) const |
|
virtual void | EvaluateTransformJacobianInnerProduct (const TransformJacobianType &jacobian, const MovingImageDerivativeType &movingImageDerivative, DerivativeType &imageJacobian) const |
|
bool | FastEvaluateMovingImageValueAndDerivative (const MovingImagePointType &mappedPoint, RealType &movingImageValue, MovingImageDerivativeType *gradient, const ThreadIdType threadId) const |
|
virtual void | InitializeImageSampler () |
|
virtual void | InitializeLimiters () |
|
virtual void | InitializeThreadingParameters () const |
|
virtual bool | IsInsideMovingMask (const MovingImagePointType &point) const |
|
| itkAlignedTypedef (ITK_CACHE_LINE_ALIGNMENT, PaddedGetValueAndDerivativePerThreadStruct, AlignedGetValueAndDerivativePerThreadStruct) |
|
| itkAlignedTypedef (ITK_CACHE_LINE_ALIGNMENT, PaddedGetValuePerThreadStruct, AlignedGetValuePerThreadStruct) |
|
| itkPadStruct (ITK_CACHE_LINE_ALIGNMENT, GetValueAndDerivativePerThreadStruct, PaddedGetValueAndDerivativePerThreadStruct) |
|
| itkPadStruct (ITK_CACHE_LINE_ALIGNMENT, GetValuePerThreadStruct, PaddedGetValuePerThreadStruct) |
|
void | LaunchGetValueAndDerivativeThreaderCallback () const |
|
void | LaunchGetValueThreaderCallback () const |
|
void | PrintSelf (std::ostream &os, Indent indent) const override |
|
virtual void | SetUseFixedImageLimiter (bool _arg) |
|
virtual void | SetUseImageSampler (bool _arg) |
|
virtual void | SetUseMovingImageLimiter (bool _arg) |
|
virtual void | ThreadedGetValue (ThreadIdType threadID) |
|
virtual void | ThreadedGetValueAndDerivative (ThreadIdType threadID) |
|
MovingImagePointType | TransformPoint (const FixedImagePointType &fixedImagePoint) const |
|
| ~AdvancedImageToImageMetric () override=default |
|