15 #ifndef itkPIUImageToImageMetric_h
16 #define itkPIUImageToImageMetric_h
28 template <
class TFixedImage,
class TMovingImage >
67 MeasureType piu = NumericTraits<MeasureType>::Zero;
68 HistogramFrequencyType movingFrequency;
69 HistogramIndexType
index(2);
71 HistogramSizeValueType sf = this->m_Histogram->GetSize(0);
72 HistogramSizeValueType sm = this->m_Histogram->GetSize(1);
74 HistogramFrequencyType totalFrequency = this->m_Histogram->GetTotalFrequency();
76 for (
unsigned int f = 0;
f < sf;
f++)
79 MeasureType
value = NumericTraits<MeasureType>::Zero;
80 MeasureType mean = NumericTraits<MeasureType>::Zero;
81 MeasureType sum = NumericTraits<MeasureType>::Zero;
82 MeasureType sumSquared = NumericTraits<MeasureType>::Zero;
83 MeasureType stdDev = NumericTraits<MeasureType>::Zero;
84 HistogramFrequencyType totalMovingFrequency = NumericTraits<HistogramFrequencyType>::Zero;
86 for (
unsigned int m = 0;
m < sm;
m++)
91 movingFrequency = this->m_Histogram->GetFrequency(index);
93 sum += (movingFrequency *
value);
94 sumSquared += (movingFrequency * (value*
value));
95 totalMovingFrequency += movingFrequency;
99 if (totalMovingFrequency > 0)
101 mean = sum/(double)totalMovingFrequency;
102 stdDev = sqrt( (sumSquared - ((sum*sum)/(
double)totalMovingFrequency))/((
double)totalMovingFrequency - 1));
103 piu += ((stdDev/mean) * ((
double)totalMovingFrequency/(double)totalFrequency));
112 void operator=(
const Self&);
HistogramType::FrequencyType HistogramFrequencyType
Definition: itkPIUImageToImageMetric.h:43
PIUImageToImageMetric Self
Definition: itkPIUImageToImageMetric.h:35
Computes similarity between two objects to be registered using Histogram.
Definition: itkHistogramSimilarityMeasure.h:33
HistogramSimilarityMeasure< TFixedImage, TMovingImage > Superclass
Definition: itkPIUImageToImageMetric.h:36
Superclass::HistogramType HistogramType
Definition: itkPIUImageToImageMetric.h:42
Definition: niftkITKAffineResampleImage.cxx:74
PIUImageToImageMetric()
Definition: itkPIUImageToImageMetric.h:57
MeasureType FinalizeCostFunction()
Definition: itkPIUImageToImageMetric.h:65
Superclass::FixedImageType::PixelType FixedImagePixelType
Definition: itkPIUImageToImageMetric.h:39
HistogramType::MeasurementVectorType HistogramMeasurementVectorType
Definition: itkPIUImageToImageMetric.h:45
Superclass::MeasureType MeasureType
Definition: itkPIUImageToImageMetric.h:41
GLsizei const GLfloat * value
Definition: glew.h:1833
virtual ~PIUImageToImageMetric()
Definition: itkPIUImageToImageMetric.h:58
HistogramType::Iterator HistogramIteratorType
Definition: itkPIUImageToImageMetric.h:44
float PixelType
Definition: niftkBreastDCEandADC.cxx:88
HistogramType::SizeValueType HistogramSizeValueType
Definition: itkPIUImageToImageMetric.h:47
SmartPointer< const Self > ConstPointer
Definition: itkPIUImageToImageMetric.h:38
Superclass::IndexType IndexType
Definition: itkUCLHistogram.h:45
GLuint index
Definition: glew.h:1798
HistogramType::IndexType HistogramIndexType
Definition: itkPIUImageToImageMetric.h:46
SmartPointer< Self > Pointer
Definition: itkPIUImageToImageMetric.h:37
Superclass::MovingImageType::PixelType MovingImagePixelType
Definition: itkPIUImageToImageMetric.h:40
const GLdouble * m
Definition: glew.h:7887
Superclass::MeasureType MeasureType
Definition: itkSimilarityMeasure.h:80
Superclass::AbsoluteFrequencyType FrequencyType
Definition: itkUCLHistogram.h:44
Implements Roger Woods PIU image similarity measure.
Definition: itkPIUImageToImageMetric.h:29
GLclampf f
Definition: glew.h:3136