NifTK  16.4.1 - 0798f20
CMIC's Translational Medical Imaging Platform
itkUCLHistogram.h
Go to the documentation of this file.
1 /*=============================================================================
2 
3  NifTK: A software platform for medical image computing.
4 
5  Copyright (c) University College London (UCL). All rights reserved.
6 
7  This software is distributed WITHOUT ANY WARRANTY; without even
8  the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
9  PURPOSE.
10 
11  See LICENSE.txt in the top level directory for details.
12 
13 =============================================================================*/
14 
15 #ifndef itkUCLHistogram_h
16 #define itkUCLHistogram_h
17 
18 #include <itkHistogram.h>
19 
20 namespace itk{
21 namespace Statistics{
22 
30 template < class TMeasurement, unsigned int VMeasurementVectorSize = 1,
31  class TFrequencyContainer = DenseFrequencyContainer2 >
32 class ITK_EXPORT UCLHistogram
33  : public Histogram<TMeasurement, TFrequencyContainer>
34 {
35 public:
36 
38  typedef UCLHistogram Self;
39  typedef Histogram<TMeasurement, TFrequencyContainer> Superclass;
40  typedef SmartPointer<Self> Pointer;
41  typedef SmartPointer<const Self> ConstPointer;
42  typedef double MeasureType;
43  typedef typename Superclass::FrequencyContainerType FrequencyContainerType;
44  typedef typename Superclass::AbsoluteFrequencyType FrequencyType;
45  typedef typename Superclass::IndexType IndexType;
46  typedef typename Superclass::SizeType SizeType;
47  typedef typename Superclass::ConstIterator IteratorType;
48 
50  itkTypeMacro(UCLHistogram, Histogram) ;
51 
53  itkNewMacro(Self) ;
54 
56  itkStaticConstMacro(MeasurementVectorSize, unsigned int, VMeasurementVectorSize);
57 
59  MeasureType MeanFixed() const;
60 
62  MeasureType MeanMoving() const;
63 
65  MeasureType VarianceFixed() const;
66 
68  MeasureType VarianceMoving() const;
69 
71  MeasureType Covariance() const;
72 
74  MeasureType EntropyFixed() const;
75 
77  MeasureType EntropyMoving() const;
78 
80  MeasureType JointEntropy() const;
81 
82 protected:
83  UCLHistogram() ;
84  virtual ~UCLHistogram() {}
85  void PrintSelf(std::ostream& os, Indent indent) const;
86 
87 private:
88  UCLHistogram(const Self&); //purposely not implemented
89  void operator=(const Self&); //purposely not implemented
90 };
91 
92 } // end of namespace Statistics
93 } // end of namespace itk
94 
95 #ifndef ITK_MANUAL_INSTANTIATION
96 #include "itkUCLHistogram.txx"
97 #endif
98 
99 #endif
Superclass::FrequencyContainerType FrequencyContainerType
Definition: itkUCLHistogram.h:43
Superclass::SizeType SizeType
Definition: itkUCLHistogram.h:46
ImageType::SizeType SizeType
Definition: niftkMakeLapUSProbeBasicModel.cxx:31
SmartPointer< Self > Pointer
Definition: itkUCLHistogram.h:40
Definition: niftkITKAffineResampleImage.cxx:74
ImageType::IndexType IndexType
Definition: niftkMakeLapUSProbeBasicModel.cxx:32
Histogram< TMeasurement, TFrequencyContainer > Superclass
Definition: itkUCLHistogram.h:39
double MeasureType
Definition: itkUCLHistogram.h:42
Superclass::ConstIterator IteratorType
Definition: itkUCLHistogram.h:47
Extends Histogram to provide standard Entropy functions.
Definition: itkUCLHistogram.h:32
virtual ~UCLHistogram()
Definition: itkUCLHistogram.h:84
Superclass::IndexType IndexType
Definition: itkUCLHistogram.h:45
Superclass::AbsoluteFrequencyType FrequencyType
Definition: itkUCLHistogram.h:44
UCLHistogram Self
Definition: itkUCLHistogram.h:38
SmartPointer< const Self > ConstPointer
Definition: itkUCLHistogram.h:41