NifTK  16.4.1 - 0798f20
CMIC's Translational Medical Imaging Platform
itkMammogramLeftOrRightSideCalculator.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 __itkMammogramLeftOrRightSideCalculator_h
16 #define __itkMammogramLeftOrRightSideCalculator_h
17 
18 #include <itkImage.h>
19 #include <itkObject.h>
20 #include <itkMacro.h>
21 #include <itkImageLinearConstIteratorWithIndex.h>
22 
23 namespace itk
24 {
25 
30 template < class TInputImage >
32  : public Object
33 {
34 
35 public:
36 
39  typedef Object Superclass;
40  typedef SmartPointer< Self > Pointer;
41  typedef SmartPointer< const Self > ConstPointer;
42 
44  itkNewMacro(Self);
45 
47  itkTypeMacro(MammogramLeftOrRightSideCalculator, Object);
48 
50  typedef TInputImage ImageType;
51 
53  typedef typename TInputImage::Pointer ImagePointer;
54 
56  typedef typename TInputImage::ConstPointer ImageConstPointer;
57 
60 
63 
66 
67  typedef typename itk::ImageLinearConstIteratorWithIndex< ImageType > LineIteratorType;
68 
69 
71  typedef enum {
74  RIGHT_BREAST_SIDE
75  } BreastSideType;
76 
77  static const char* BreastSideDescription[3];
78 
80  itkSetConstObjectMacro(Image, ImageType);
81 
83  void Compute(void) throw (ExceptionObject);
84 
86  itkGetConstMacro(BreastSide, BreastSideType);
87 
88  void SetVerbose( bool flag ) { m_FlgVerbose = flag; }
89  void SetVerboseOn( void ) { m_FlgVerbose = true; }
90  void SetVerboseOff( void ) { m_FlgVerbose = false; }
91 
92 protected:
93 
96 
98 
100  ImageConstPointer m_Image;
101 
102  void PrintSelf(std::ostream & os, Indent indent) const override;
103 
104 private:
105 
106  MammogramLeftOrRightSideCalculator(const Self &); //purposely not implemented
107  void operator=(const Self &); //purposely not implemented
108 
109 };
110 
111 } // end namespace itk
112 
113 #ifndef ITK_MANUAL_INSTANTIATION
114 #include "itkMammogramLeftOrRightSideCalculator.txx"
115 #endif
116 
117 #endif /* __itkMammogramLeftOrRightSideCalculator_h */
Computes whether a mammogram is of the left or right breast from the center of mass.
Definition: itkMammogramLeftOrRightSideCalculator.h:31
Definition: itkMammogramLeftOrRightSideCalculator.h:72
TInputImage::ConstPointer ImageConstPointer
Definition: itkMammogramLeftOrRightSideCalculator.h:56
Definition: niftkITKAffineResampleImage.cxx:74
ImageType::IndexType IndexType
Definition: niftkMakeLapUSProbeBasicModel.cxx:32
itk::ImageLinearConstIteratorWithIndex< ImageType > LineIteratorType
Definition: itkMammogramLeftOrRightSideCalculator.h:67
TInputImage::PixelType PixelType
Definition: itkMammogramLeftOrRightSideCalculator.h:59
bool m_FlgVerbose
Definition: itkMammogramLeftOrRightSideCalculator.h:97
TInputImage::Pointer ImagePointer
Definition: itkMammogramLeftOrRightSideCalculator.h:53
BreastSideType m_BreastSide
Definition: itkMammogramLeftOrRightSideCalculator.h:99
TInputImage::RegionType RegionType
Definition: itkMammogramLeftOrRightSideCalculator.h:65
TInputImage::IndexType IndexType
Definition: itkMammogramLeftOrRightSideCalculator.h:62
float PixelType
Definition: niftkBreastDCEandADC.cxx:88
TInputImage ImageType
Definition: itkMammogramLeftOrRightSideCalculator.h:47
ImageType::RegionType RegionType
Definition: niftkMakeLapUSProbeBasicModel.cxx:30
ImageConstPointer m_Image
Definition: itkMammogramLeftOrRightSideCalculator.h:100
BreastSideType
Breast side.
Definition: itkMammogramLeftOrRightSideCalculator.h:71
MammogramLeftOrRightSideCalculator Self
Definition: itkMammogramLeftOrRightSideCalculator.h:38
void SetVerboseOff(void)
Definition: itkMammogramLeftOrRightSideCalculator.h:90
Object Superclass
Definition: itkMammogramLeftOrRightSideCalculator.h:39
void SetVerboseOn(void)
Definition: itkMammogramLeftOrRightSideCalculator.h:89
Simultaneous itk::Image and itk::Array (and hence vnl_vector) class.
Definition: itkMammogramLeftOrRightSideCalculator.h:73
SmartPointer< const Self > ConstPointer
Definition: itkMammogramLeftOrRightSideCalculator.h:41
SmartPointer< Self > Pointer
Definition: itkMammogramLeftOrRightSideCalculator.h:40
virtual ~MammogramLeftOrRightSideCalculator()
Definition: itkMammogramLeftOrRightSideCalculator.h:95