NifTK  16.4.1 - 0798f20
CMIC's Translational Medical Imaging Platform
itkIntensityNormalisationCalculator.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 itkIntensityNormalisationCalculator_h
16 #define itkIntensityNormalisationCalculator_h
17 
18 #include <itkImage.h>
19 #include <itkObject.h>
20 #include <itkMacro.h>
21 
22 namespace itk
23 {
24 
34 template <class TInputImage, class TInputMask>
35 class ITK_EXPORT IntensityNormalisationCalculator : public Object
36 {
37 public:
42  typedef Object Superclass;
43  typedef SmartPointer<Self> Pointer;
44  typedef SmartPointer<const Self> ConstPointer;
48  itkNewMacro(Self);
52  itkTypeMacro(IntensityNormalisationCalculator, Object);
56  typedef typename TInputImage::Pointer TInputImagePointer;
57  typedef typename TInputMask::Pointer TInputMaskPointer;
62  itkSetMacro(InputImage1, TInputImagePointer);
63  itkSetMacro(InputImage2, TInputImagePointer);
64  itkSetMacro(InputMask1, TInputMaskPointer);
65  itkSetMacro(InputMask2, TInputMaskPointer);
66  itkGetMacro(NormalisationMean1, double);
67  itkGetMacro(NormalisationMean2, double);
68  itkSetMacro(PaddingValue, TInputMaskPixelType);
72  void Compute();
73 
74 protected:
77  void PrintSelf(std::ostream& os, Indent indent) const override;
78 
79 private:
80  IntensityNormalisationCalculator(const Self&); //purposely not implemented
81  void operator=(const Self&); //purposely not implemented
85  double m_NormalisationMean1;
89  double m_NormalisationMean2;
93  TInputImagePointer m_InputImage1;
97  TInputImagePointer m_InputImage2;
101  TInputMaskPointer m_InputMask1;
105  TInputMaskPointer m_InputMask2;
109  TInputMaskPixelType m_PaddingValue;
110 
111 };
112 
113 }
114 
115 #ifndef ITK_MANUAL_INSTANTIATION
116 #include "itkIntensityNormalisationCalculator.txx"
117 #endif
118 
119 #endif
120 
121 
TInputMask::PixelType TInputMaskPixelType
Definition: itkIntensityNormalisationCalculator.h:58
Calculates the means to normalise the intensities of two scans. Calculate the means used to normalise...
Definition: itkIntensityNormalisationCalculator.h:35
TInputMask::Pointer TInputMaskPointer
Definition: itkIntensityNormalisationCalculator.h:57
SmartPointer< Self > Pointer
Definition: itkIntensityNormalisationCalculator.h:43
Definition: niftkITKAffineResampleImage.cxx:74
float PixelType
Definition: niftkBreastDCEandADC.cxx:88
TInputImage::Pointer TInputImagePointer
Definition: itkIntensityNormalisationCalculator.h:52
virtual ~IntensityNormalisationCalculator()
Definition: itkIntensityNormalisationCalculator.h:76
IntensityNormalisationCalculator Self
Definition: itkIntensityNormalisationCalculator.h:41
SmartPointer< const Self > ConstPointer
Definition: itkIntensityNormalisationCalculator.h:44
Object Superclass
Definition: itkIntensityNormalisationCalculator.h:42