template<class TFixedImage, class
TScalarType>
class itk::TransformBendingEnergyPenaltyTerm< TFixedImage, TScalarType >
A cost function that calculates the bending energy of a transformation.
The bending energy is defined as the sum of the spatial second order derivatives of the transformation, as defined in [1]. For rigid and affine transformation this energy is always zero.
[1]: D. Rueckert, L. I. Sonoda, C. Hayes, D. L. G. Hill, M. O. Leach, and D. J. Hawkes, "Nonrigid registration
using free-form deformations: Application to breast MR
images", IEEE Trans. Med. Imaging 18, 712-721, 1999.
[2]: M. Staring and S. Klein, "Itk::Transforms supporting spatial derivatives"", Insight Journal, http://hdl.handle.net/10380/3215.
Definition at line 50 of file itkTransformBendingEnergyPenaltyTerm.h.
|
| using | ConstPointer = SmartPointer< const Self > |
| |
| using | Pointer = SmartPointer< Self > |
| |
| using | Self = TransformBendingEnergyPenaltyTerm |
| |
| 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 | FixedImageMaskConstPointer = SmartPointer< const FixedImageMaskType > |
| |
| using | FixedImageMaskPointer = SmartPointer< FixedImageMaskType > |
| |
| using | FixedImageMaskType = ImageMaskSpatialObject< Self::FixedImageDimension > |
| |
| using | FixedImagePixelType = typename FixedImageType::PixelType |
| |
| using | FixedImagePointer = typename FixedImageType::Pointer |
| |
| 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 | MovingImageMaskConstPointer = SmartPointer< const MovingImageMaskType > |
| |
| using | MovingImageMaskPointer = SmartPointer< MovingImageMaskType > |
| |
| using | MovingImageMaskType = 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 | ThreadInfoType = MultiThreaderBase::WorkUnitInfo |
| |
|
| void | AfterThreadedGetValueAndDerivative (MeasureType &value, DerivativeType &derivative) const override |
| |
| virtual const char * | GetClassName () const |
| |
| void | GetDerivative (const ParametersType ¶meters, DerivativeType &derivative) const override |
| |
| MeasureType | GetValue (const ParametersType ¶meters) const override |
| |
| void | GetValueAndDerivative (const ParametersType ¶meters, MeasureType &value, DerivativeType &derivative) const override |
| |
| virtual void | GetValueAndDerivativeSingleThreaded (const ParametersType ¶meters, MeasureType &value, DerivativeType &derivative) const |
| |
| | ITK_DISALLOW_COPY_AND_MOVE (TransformBendingEnergyPenaltyTerm) |
| |
| | itkStaticConstMacro (FixedImageDimension, unsigned int, FixedImageType::ImageDimension) |
| |
| void | ThreadedGetValueAndDerivative (ThreadIdType threadID) const override |
| |
| | 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, TMovingImage::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 () |
| |
|
| | TransformBendingEnergyPenaltyTerm () |
| |
| | ~TransformBendingEnergyPenaltyTerm () override=default |
| |
| virtual bool | CheckForBSplineTransform2 (BSplineOrder3TransformPointer &bspline) const |
| |
| | TransformPenaltyTerm ()=default |
| |
| | ~TransformPenaltyTerm () override=default |
| |
| | AdvancedImageToImageMetric () |
| |
| virtual void | AfterThreadedGetValue (MeasureType &) 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 |
| |
| MovingImagePointType | TransformPoint (const FixedImagePointType &fixedImagePoint) const |
| |
| | ~AdvancedImageToImageMetric () override=default |
| |