template<class TElastix>
class elastix::DistancePreservingRigidityPenalty< TElastix >
A penalty term designed to preserve inter-voxel distances within rigid body regions.
For more information check the paper:
J. Kim, M. M. Matuszak, K. Saitou, and J. Balter, "Distance-preserving rigidity penalty on deformable image registration of multiple skeletal components in the neck" Medical Physics, vol. 40, no. 12, pp. 121907-1 - 121907-10, December 2013.
The parameters used in this class are:
- Parameters
- Metric: Select this metric as follows:
(Metric "DistancePreservingRigidityPenalty")
- Parameters
- SegmentedImageName: The file name of the image to specify the rigidity index of voxels in the fixed image. The image has only non-integer values as follows: 1) background: 0, 2) rigid region1: 1, 3) rigid region2: 2, and so on.
- example:
(SegmentedImageName "BoneSegmentation.mhd")
- Parameters
- PenaltyGridSpacingInVoxels: defines the grid spacing with which the rigidity penalty is calculated. In this current version, the grid spacing is set to be constant over different resolutions.
- In the publication above, the grid spacing was set as [4, 4, 1].
- Author
- Jihun Kim, University of Michigan, Ann Arbor
-
Martha M. Matuszak, University of Michigan, Ann Arbor
-
Kazuhiro Saitou, University of Michigan, Ann Arbor
-
James Balter, University of Michigan, Ann Arbor
Definition at line 64 of file elxDistancePreservingRigidityPenaltyTerm.h.
|
using | CoefficientImageType |
|
using | ConstPointer = itk::SmartPointer<const Self> |
|
using | ITKBaseType = typename Superclass2::ITKBaseType |
|
using | Pointer = itk::SmartPointer<Self> |
|
using | SegmentedImagePyramidPointer = typename SegmentedImagePyramidType::Pointer |
|
using | SegmentedImagePyramidType = itk::MultiResolutionPyramidImageFilter<SegmentedImageType, SegmentedImageType> |
|
using | SegmentedImageType |
|
using | Self = DistancePreservingRigidityPenalty |
|
using | Superclass1 = itk::DistancePreservingRigidityPenaltyTerm<typename MetricBase<TElastix>::FixedImageType, double> |
|
using | Superclass2 = MetricBase<TElastix> |
|
using | BSplineKnotImagePointer = typename BSplineKnotImageType::Pointer |
|
using | BSplineKnotImageRegionType = typename BSplineKnotImageType::RegionType |
|
using | BSplineKnotImageType = Image<signed short, Self::MovingImageDimension> |
|
using | BSplineTransformPointer = typename BSplineTransformType::Pointer |
|
using | BSplineTransformType = AdvancedBSplineDeformableTransform<ScalarType, FixedImageDimension, 3> |
|
using | CoefficientImagePointer = typename CoefficientImageType::Pointer |
|
using | CoefficientImageSpacingType = typename CoefficientImageType::SpacingType |
|
using | CoefficientImageType = typename BSplineTransformType::ImageType |
|
using | CombinationTransformType = AdvancedCombinationTransform<ScalarType, FixedImageDimension> |
|
using | ConstPointer = SmartPointer<const Self> |
|
using | GridSpacingType = typename BSplineTransformType::SpacingType |
|
using | PenaltyGridImagePointer = typename PenaltyGridImageType::Pointer |
|
using | PenaltyGridImageRegionType = typename PenaltyGridImageType::RegionType |
|
using | PenaltyGridImageType = Image<signed short, Self::MovingImageDimension> |
|
using | Pointer = SmartPointer<Self> |
|
using | SegmentedImagePointer = typename SegmentedImageType::Pointer |
|
using | SegmentedImageRegionType = typename SegmentedImageType::RegionType |
|
using | SegmentedImageType = Image<signed short, Self::MovingImageDimension> |
|
using | Self = DistancePreservingRigidityPenaltyTerm |
|
using | Superclass = TransformPenaltyTerm<TFixedImage, TScalarType> |
|
using | ConstPointer |
|
using | InternalMatrixType |
|
using | JacobianOfSpatialHessianType |
|
using | JacobianOfSpatialJacobianType |
|
using | Pointer |
|
using | ScalarType |
|
using | Self |
|
using | SpatialHessianType |
|
using | SpatialJacobianType |
|
using | Superclass |
|
using | TransformType |
|
using | AdvancedTransformType |
|
using | BSplineOrder1TransformPointer |
|
using | BSplineOrder1TransformType |
|
using | BSplineOrder2TransformPointer |
|
using | BSplineOrder2TransformType |
|
using | BSplineOrder3TransformPointer |
|
using | BSplineOrder3TransformType |
|
using | CombinationTransformType |
|
using | ConstPointer |
|
using | DerivativeValueType |
|
using | FixedImageLimiterOutputType |
|
using | FixedImageLimiterPointer |
|
using | FixedImageLimiterType |
|
using | FixedImageMaskConstPointer |
|
using | FixedImageMaskPointer |
|
using | FixedImageMaskType |
|
using | FixedImagePixelType |
|
using | FixedImagePointer |
|
using | ImageSampleContainerPointer |
|
using | ImageSampleContainerType |
|
using | ImageSamplerPointer |
|
using | ImageSamplerType |
|
using | MovingImageDerivativeScalesType |
|
using | MovingImageLimiterOutputType |
|
using | MovingImageLimiterPointer |
|
using | MovingImageLimiterType |
|
using | MovingImageMaskConstPointer |
|
using | MovingImageMaskPointer |
|
using | MovingImageMaskType |
|
using | MovingImagePointer |
|
using | MovingImageRegionType |
|
using | NumberOfParametersType |
|
using | Pointer |
|
using | ScalarType |
|
using | Self |
|
using | Superclass |
|
using | ThreadInfoType |
|
using | AdvancedMetricType = itk::AdvancedImageToImageMetric<FixedImageType, MovingImageType> |
|
using | CoordinateRepresentationType = typename ITKBaseType::ParametersValueType |
|
using | ElastixType |
|
using | FixedImageType = typename ElastixType::FixedImageType |
|
using | FixedPointSetType |
|
using | FixedPointType = typename FixedImageType::PointType |
|
using | FixedPointValueType = typename FixedPointType::ValueType |
|
using | ImageSamplerBaseType = typename AdvancedMetricType::ImageSamplerType |
|
using | ITKBaseType = itk::SingleValuedCostFunction |
|
using | MeasureType = typename ITKBaseType::MeasureType |
|
using | MovingImageDerivativeScalesType = typename AdvancedMetricType::MovingImageDerivativeScalesType |
|
using | MovingImageType = typename ElastixType::MovingImageType |
|
using | MovingPointSetType |
|
using | MovingPointType = typename MovingImageType::PointType |
|
using | MovingPointValueType = typename MovingPointType::ValueType |
|
using | RegistrationType |
|
using | Self = MetricBase |
|
using | Superclass = BaseComponentSE<TElastix> |
|
using | ElastixType = TElastix |
|
using | RegistrationType = typename ElastixType::RegistrationBaseType |
|
using | Self = BaseComponentSE |
|
using | Superclass = BaseComponent |
|
|
void | BeforeRegistration () override |
|
| elxClassNameMacro ("DistancePreservingRigidityPenalty") |
|
virtual const char * | GetClassName () const |
|
void | Initialize () override |
|
| ITK_DISALLOW_COPY_AND_MOVE (DistancePreservingRigidityPenalty) |
|
| itkStaticConstMacro (FixedImageDimension, unsigned int, FixedImageType::ImageDimension) |
|
| itkStaticConstMacro (MovingImageDimension, unsigned int, MovingImageType::ImageDimension) |
|
void | GetDerivative (const ParametersType ¶meters, DerivativeType &derivative) const override |
|
virtual unsigned int | GetNumberOfRigidGrids () 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 (DistancePreservingRigidityPenaltyTerm) |
|
| itkGetModifiableObjectMacro (SampledSegmentedImage, SegmentedImageType) |
|
| itkGetModifiableObjectMacro (SegmentedImage, SegmentedImageType) |
|
| 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 | SetSampledSegmentedImage (SegmentedImageType *_arg) |
|
virtual void | SetSegmentedImage (SegmentedImageType *_arg) |
|
| ITK_DISALLOW_COPY_AND_MOVE (TransformPenaltyTerm) |
|
| itkStaticConstMacro (FixedImageDimension, unsigned int, FixedImageType::ImageDimension) |
|
virtual void | BeforeThreadedGetValueAndDerivative (const TransformParametersType ¶meters) const |
|
virtual const FixedImageLimiterType * | GetFixedImageLimiter () |
|
const FixedImageMaskType * | GetFixedImageMask () const override |
|
virtual double | GetFixedLimitRangeRatio () const |
|
ImageSamplerType * | GetImageSampler () const |
|
virtual const MovingImageDerivativeScalesType & | GetMovingImageDerivativeScales () |
|
virtual const MovingImageLimiterType * | GetMovingImageLimiter () |
|
const MovingImageMaskType * | GetMovingImageMask () const override |
|
virtual double | GetMovingLimitRangeRatio () const |
|
virtual double | GetRequiredRatioOfValidSamples () const |
|
virtual bool | GetScaleGradientWithRespectToMovingImageOrientation () const |
|
const AdvancedTransformType * | GetTransform () const override |
|
AdvancedTransformType * | GetTransform () 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, TFixedImage::ImageDimension) |
|
virtual void | SetFixedImageLimiter (FixedImageLimiterType *_arg) |
|
virtual void | SetFixedImageMask (const FixedImageMaskType *const arg) |
|
virtual void | SetFixedLimitRangeRatio (double _arg) |
|
virtual void | SetImageSampler (ImageSamplerType *_arg) |
|
virtual void | SetMovingImageDerivativeScales (MovingImageDerivativeScalesType _arg) |
|
virtual void | SetMovingImageLimiter (MovingImageLimiterType *_arg) |
|
virtual void | SetMovingImageMask (const MovingImageMaskType *const arg) |
|
virtual void | SetMovingLimitRangeRatio (double _arg) |
|
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 | AfterEachIterationBase () override |
|
void | BeforeEachResolutionBase () override |
|
virtual ImageSamplerBaseType * | GetAdvancedMetricImageSampler () const |
|
virtual bool | GetAdvancedMetricUseImageSampler () const |
|
ITKBaseType * | GetAsITKBaseType () |
|
const ITKBaseType * | GetAsITKBaseType () const |
|
virtual MeasureType | GetCurrentExactMetricValue () const |
|
virtual bool | GetShowExactMetricValue () const |
|
| ITK_DISALLOW_COPY_AND_MOVE (MetricBase) |
|
| itkStaticConstMacro (FixedImageDimension, unsigned int, FixedImageType::ImageDimension) |
|
| itkStaticConstMacro (MovingImageDimension, unsigned int, MovingImageType::ImageDimension) |
|
virtual void | SelectNewSamples () |
|
virtual void | SetAdvancedMetricImageSampler (ImageSamplerBaseType *sampler) |
|
void | AddTargetCellToIterationInfo (const char *const name) |
|
const Configuration * | GetConfiguration () const |
|
ElastixType * | GetElastix () const |
|
auto & | GetIterationInfoAt (const char *const name) |
|
RegistrationType * | GetRegistration () const |
|
| ITK_DISALLOW_COPY_AND_MOVE (BaseComponentSE) |
|
void | RemoveTargetCellFromIterationInfo (const char *const name) |
|
void | SetConfiguration (const Configuration *_arg) |
|
void | SetElastix (ElastixType *_arg) |
|
virtual void | AfterEachIteration () |
|
virtual void | AfterEachResolution () |
|
virtual void | AfterEachResolutionBase () |
|
virtual void | AfterRegistration () |
|
virtual void | AfterRegistrationBase () |
|
virtual int | BeforeAll () |
|
virtual int | BeforeAllBase () |
|
virtual void | BeforeEachResolution () |
|
virtual void | BeforeRegistrationBase () |
|
virtual const char * | elxGetClassName () const |
|
const char * | GetComponentLabel () const |
|
| ITK_DISALLOW_COPY_AND_MOVE (BaseComponent) |
|
| itkTypeMacroNoParent (BaseComponent) |
|
void | SetComponentLabel (const char *label, unsigned int idx) |
|
|
| DistancePreservingRigidityPenalty ()=default |
|
| ~DistancePreservingRigidityPenalty () override=default |
|
| DistancePreservingRigidityPenaltyTerm () |
|
void | PrintSelf (std::ostream &os, Indent indent) const override |
|
| ~DistancePreservingRigidityPenaltyTerm () override=default |
|
virtual bool | CheckForBSplineTransform2 (BSplineOrder3TransformPointer &bspline) const |
|
| TransformPenaltyTerm ()=default |
|
| ~TransformPenaltyTerm () override=default |
|
| AdvancedImageToImageMetric () |
|
virtual void | AfterThreadedGetValue (MeasureType &) const |
|
virtual void | AfterThreadedGetValueAndDerivative (MeasureType &, DerivativeType &) const |
|
void | CheckForAdvancedTransform () |
|
void | CheckForBSplineInterpolator () |
|
void | CheckForBSplineTransform () const |
|
void | CheckNumberOfSamples (unsigned long wanted, unsigned long found) const |
|
virtual bool | EvaluateMovingImageValueAndDerivative (const MovingImagePointType &mappedPoint, RealType &movingImageValue, MovingImageDerivativeType *gradient) const |
|
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 () |
|
void | InitializeLimiters () |
|
virtual void | InitializeThreadingParameters () const |
|
virtual bool | IsInsideMovingMask (const MovingImagePointType &point) const |
|
| itkAlignedTypedef (ITK_CACHE_LINE_ALIGNMENT, PaddedGetValueAndDerivativePerThreadStruct, AlignedGetValueAndDerivativePerThreadStruct) |
|
| itkPadStruct (ITK_CACHE_LINE_ALIGNMENT, GetValueAndDerivativePerThreadStruct, PaddedGetValueAndDerivativePerThreadStruct) |
|
void | LaunchGetValueAndDerivativeThreaderCallback () const |
|
void | LaunchGetValueThreaderCallback () const |
|
void | PrintSelf (std::ostream &os, Indent indent) const override |
|
void | SetFixedImageMask (const typename Superclass::FixedImageMaskType *) final |
|
void | SetFixedImageMask (typename Superclass::FixedImageMaskType *) final |
|
void | SetMovingImageMask (const typename Superclass::MovingImageMaskType *) final |
|
void | SetMovingImageMask (typename Superclass::MovingImageMaskType *) final |
|
virtual void | SetUseFixedImageLimiter (bool _arg) |
|
virtual void | SetUseImageSampler (bool _arg) |
|
virtual void | SetUseMovingImageLimiter (bool _arg) |
|
virtual void | ThreadedGetValue (ThreadIdType) const |
|
virtual void | ThreadedGetValueAndDerivative (ThreadIdType) const |
|
MovingImagePointType | TransformPoint (const FixedImagePointType &fixedImagePoint) const |
|
| ~AdvancedImageToImageMetric () override=default |
|
virtual MeasureType | GetExactValue (const ParametersType ¶meters) |
|
| MetricBase ()=default |
|
| ~MetricBase () override=default |
|
| BaseComponentSE ()=default |
|
| ~BaseComponentSE () override=default |
|
| BaseComponent ()=default |
|
virtual | ~BaseComponent ()=default |
|