template<class TElastix>
class elastix::DisplacementMagnitudePenalty< TElastix >
A penalty term that penalises ||T(x)-x||.
This penalty term may look a little unusual, but it can be used as a way to compute an inverse transform, by supplying the transform to be inverted as an initial transform and setting the HowToCombineTransforms parameter to "Compose".
The parameters used in this class are:
- Parameters:
- Metric: Select this metric as follows:
(Metric "DisplacementMagnitudePenalty")
- See also
- DisplacementEnergyPenaltyTerm
Definition at line 45 of file elxDisplacementMagnitudePenalty.h.
|
using | ConstPointer = itk::SmartPointer< const Self > |
|
using | ITKBaseType = typename Superclass2::ITKBaseType |
|
using | Pointer = itk::SmartPointer< Self > |
|
using | Self = DisplacementMagnitudePenalty |
|
using | Superclass1 = itk::DisplacementMagnitudePenaltyTerm< typename MetricBase< TElastix >::FixedImageType, double > |
|
using | Superclass2 = MetricBase< TElastix > |
|
using | ConstPointer = SmartPointer< const Self > |
|
using | Pointer = SmartPointer< Self > |
|
using | Self = DisplacementMagnitudePenaltyTerm |
|
using | Superclass = TransformPenaltyTerm< MetricBase< TElastix >::FixedImageType, double > |
|
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 |
|
using | AdvancedMetricType = itk::AdvancedImageToImageMetric< FixedImageType, MovingImageType > |
|
using | CoordinateRepresentationType = typename ITKBaseType::ParametersValueType |
|
using | ElastixType = TElastix |
|
using | FixedImageType = typename ElastixType::FixedImageType |
|
using | FixedPointSetType = itk::PointSet< CoordinateRepresentationType, FixedImageDimension, itk::DefaultStaticMeshTraits< CoordinateRepresentationType, FixedImageDimension, FixedImageDimension, CoordinateRepresentationType, CoordinateRepresentationType, CoordinateRepresentationType > > |
|
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 = itk::PointSet< CoordinateRepresentationType, MovingImageDimension, itk::DefaultStaticMeshTraits< CoordinateRepresentationType, MovingImageDimension, MovingImageDimension, CoordinateRepresentationType, CoordinateRepresentationType, CoordinateRepresentationType > > |
|
using | MovingPointType = typename MovingImageType::PointType |
|
using | MovingPointValueType = typename MovingPointType::ValueType |
|
using | RegistrationType = typename ElastixType::RegistrationBaseType |
|
using | Self = MetricBase |
|
using | Superclass = BaseComponentSE< TElastix > |
|
using | ConfigurationPointer = Configuration::Pointer |
|
using | ElastixType = TElastix |
|
using | RegistrationType = typename ElastixType::RegistrationBaseType |
|
using | Self = BaseComponentSE |
|
using | Superclass = BaseComponent |
|
|
| elxClassNameMacro ("DisplacementMagnitudePenalty") |
|
virtual const char * | GetClassName () const |
|
void | Initialize () override |
|
| ITK_DISALLOW_COPY_AND_MOVE (DisplacementMagnitudePenalty) |
|
| itkStaticConstMacro (FixedImageDimension, unsigned int, FixedImageType::ImageDimension) |
|
| itkStaticConstMacro (MovingImageDimension, unsigned int, MovingImageType::ImageDimension) |
|
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 |
|
| ITK_DISALLOW_COPY_AND_MOVE (DisplacementMagnitudePenaltyTerm) |
|
| itkStaticConstMacro (FixedImageDimension, unsigned int, FixedImageType::ImageDimension) |
|
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 | AfterEachIterationBase () override |
|
void | BeforeEachResolutionBase () override |
|
virtual ImageSamplerBaseType * | GetAdvancedMetricImageSampler () const |
|
virtual bool | GetAdvancedMetricUseImageSampler () const |
|
ITKBaseType * | GetAsITKBaseType () |
|
const ITKBaseType * | GetAsITKBaseType () const |
|
virtual const char * | GetClassName () 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) |
|
Configuration * | GetConfiguration () const |
|
ElastixType * | GetElastix () const |
|
xl::xoutbase & | GetIterationInfoAt (const char *const name) |
|
RegistrationType * | GetRegistration () const |
|
| ITK_DISALLOW_COPY_AND_MOVE (BaseComponentSE) |
|
int | RemoveTargetCellFromIterationInfo (const char *const name) |
|
void | SetConfiguration (Configuration *_arg) |
|
void | SetElastix (ElastixType *_arg) |
|
virtual void | AfterEachIteration () |
|
virtual void | AfterEachIterationBase () |
|
virtual void | AfterEachResolution () |
|
virtual void | AfterEachResolutionBase () |
|
virtual void | AfterRegistration () |
|
virtual void | AfterRegistrationBase () |
|
virtual int | BeforeAll () |
|
virtual int | BeforeAllBase () |
|
virtual void | BeforeEachResolution () |
|
virtual void | BeforeEachResolutionBase () |
|
virtual void | BeforeRegistration () |
|
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) |
|
|
| DisplacementMagnitudePenalty ()=default |
|
| ~DisplacementMagnitudePenalty () override=default |
|
| DisplacementMagnitudePenaltyTerm () |
|
| ~DisplacementMagnitudePenaltyTerm () 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 |
|
virtual MeasureType | GetExactValue (const ParametersType ¶meters) |
|
| MetricBase ()=default |
|
| ~MetricBase () override=default |
|
| BaseComponentSE ()=default |
|
| ~BaseComponentSE () override=default |
|
| BaseComponent ()=default |
|
virtual | ~BaseComponent ()=default |
|