19 #ifndef itkJointHistogramMutualInformationImageToImageMetricv4_h
20 #define itkJointHistogramMutualInformationImageToImageMetricv4_h
43 template <
typename TFixedImage,
44 typename TMovingImage,
45 typename TVirtualImage = TFixedImage,
46 typename TInternalComputationValueType = double,
47 typename TMetricTraits =
48 DefaultImageToImageMetricTraitsv4<TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType>>
50 :
public ImageToImageMetricv4<TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType, TMetricTraits>
100 static constexpr
typename TVirtualImage::ImageDimensionType VirtualImageDimension = TVirtualImage::ImageDimension;
101 static constexpr
typename TMovingImage::ImageDimensionType MovingImageDimension = TMovingImage::ImageDimension;
142 itkGetConstReferenceMacro(NumberOfHistogramBins,
SizeValueType);
146 itkSetMacro(VarianceForJointPDFSmoothing, TInternalComputationValueType);
147 itkGetMacro(VarianceForJointPDFSmoothing, TInternalComputationValueType);
152 Initialize()
override;
155 GetValue()
const override;
165 InitializeForIteration()
const override;
169 ComputeValue()
const;
183 ThreadedImageRegionPartitioner<Self::VirtualImageDimension>,
193 typename JointHistogramMutualInformationDenseComputeJointPDFThreaderType::Pointer
194 m_JointHistogramMutualInformationDenseComputeJointPDFThreader;
195 typename JointHistogramMutualInformationSparseComputeJointPDFThreaderType::Pointer
196 m_JointHistogramMutualInformationSparseComputeJointPDFThreader;
199 ThreadedImageRegionPartitioner<Superclass::VirtualImageDimension>,
208 ThreadedImageRegionPartitioner<Superclass::VirtualImageDimension>,
216 PrintSelf(std::ostream & os, Indent indent) const override;
252 #ifndef ITK_MANUAL_INSTANTIATION
253 # include "itkJointHistogramMutualInformationImageToImageMetricv4.hxx"