18 #ifndef itkDemonsImageToImageMetricv4_h
19 #define itkDemonsImageToImageMetricv4_h
54 template <
typename TFixedImage,
55 typename TMovingImage,
56 typename TVirtualImage = TFixedImage,
57 typename TInternalComputationValueType = double,
58 typename TMetricTraits =
59 DefaultImageToImageMetricTraitsv4<TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType>>
61 :
public ImageToImageMetricv4<TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType, TMetricTraits>
80 using typename Superclass::MeasureType;
81 using typename Superclass::DerivativeType;
83 using typename Superclass::FixedImagePointType;
84 using typename Superclass::FixedImagePixelType;
85 using typename Superclass::FixedImageGradientType;
87 using typename Superclass::MovingImagePointType;
88 using typename Superclass::MovingImagePixelType;
89 using typename Superclass::MovingImageGradientType;
91 using typename Superclass::MovingTransformType;
92 using typename Superclass::JacobianType;
94 using typename Superclass::VirtualIndexType;
95 using typename Superclass::VirtualPointType;
97 using typename Superclass::NumberOfParametersType;
102 using typename Superclass::ImageDimensionType;
105 static constexpr ImageDimensionType VirtualImageDimension = TVirtualImage::ImageDimension;
106 static constexpr ImageDimensionType FixedImageDimension = TFixedImage::ImageDimension;
107 static constexpr ImageDimensionType MovingImageDimension = TMovingImage::ImageDimension;
110 Initialize()
override;
114 itkGetConstMacro(IntensityDifferenceThreshold, TInternalComputationValueType);
115 itkSetMacro(IntensityDifferenceThreshold, TInternalComputationValueType);
119 itkGetConstMacro(DenominatorThreshold, TInternalComputationValueType);
122 itkGetConstMacro(Normalizer, TInternalComputationValueType);
135 ThreadedImageRegionPartitioner<Superclass::VirtualImageDimension>,
142 PrintSelf(std::ostream & os, Indent indent) const override;
147 TInternalComputationValueType m_DenominatorThreshold{};
150 TInternalComputationValueType m_IntensityDifferenceThreshold{};
153 TInternalComputationValueType m_Normalizer{};
158 #ifndef ITK_MANUAL_INSTANTIATION
159 # include "itkDemonsImageToImageMetricv4.hxx"