18 #ifndef itkCorrelationImageToImageMetricv4_h
19 #define itkCorrelationImageToImageMetricv4_h
72 template <
typename TFixedImage,
73 typename TMovingImage,
74 typename TVirtualImage = TFixedImage,
75 typename TInternalComputationValueType = double,
76 typename TMetricTraits =
77 DefaultImageToImageMetricTraitsv4<TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType>>
79 :
public ImageToImageMetricv4<TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType, TMetricTraits>
98 using typename Superclass::MeasureType;
99 using typename Superclass::DerivativeType;
101 using typename Superclass::FixedImagePointType;
102 using typename Superclass::FixedImagePixelType;
103 using typename Superclass::FixedImageGradientType;
105 using typename Superclass::MovingImagePointType;
106 using typename Superclass::MovingImagePixelType;
107 using typename Superclass::MovingImageGradientType;
109 using typename Superclass::MovingTransformType;
110 using typename Superclass::JacobianType;
112 using typename Superclass::VirtualIndexType;
113 using typename Superclass::VirtualPointType;
114 using typename Superclass::VirtualPointSetType;
117 static constexpr
typename TVirtualImage::ImageDimensionType VirtualImageDimension = TVirtualImage::ImageDimension;
118 static constexpr
typename TFixedImage::ImageDimensionType FixedImageDimension = TFixedImage::ImageDimension;
119 static constexpr
typename TMovingImage::ImageDimensionType MovingImageDimension = TMovingImage::ImageDimension;
130 InitializeForIteration()
const override;
137 ThreadedImageRegionPartitioner<Superclass::VirtualImageDimension>,
142 ThreadedImageRegionPartitioner<Superclass::VirtualImageDimension>,
150 ThreadedImageRegionPartitioner<Superclass::VirtualImageDimension>,
157 ThreadedImageRegionPartitioner<Superclass::VirtualImageDimension>,
179 PrintSelf(std::ostream & os,
Indent indent)
const override;
184 #ifndef ITK_MANUAL_INSTANTIATION
185 # include "itkCorrelationImageToImageMetricv4.hxx"