NifTK  16.4.1 - 0798f20
CMIC's Translational Medical Imaging Platform
itkMammogramMLOorCCViewCalculator.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 __itkMammogramMLOorCCViewCalculator_h
16 #define __itkMammogramMLOorCCViewCalculator_h
17 
18 #include <itkImage.h>
19 #include <itkObject.h>
20 #include <itkMacro.h>
21 #include <itkImageLinearConstIteratorWithIndex.h>
22 #include <itkImageRegionIterator.h>
23 #include <itkMetaDataDictionary.h>
24 #include <itkMetaDataObject.h>
25 
26 namespace itk
27 {
28 
33 template < class TInputImage >
35  : public Object
36 {
37 
38 public:
39 
42  typedef Object Superclass;
43  typedef SmartPointer< Self > Pointer;
44  typedef SmartPointer< const Self > ConstPointer;
45 
47  itkNewMacro(Self);
48 
50  itkTypeMacro(MammogramMLOorCCViewCalculator, Object);
51 
53  itkStaticConstMacro(ImageDimension, unsigned int,
54  TInputImage::ImageDimension);
55 
57  typedef TInputImage InputImageType;
58 
59  typedef typename InputImageType::Pointer ImagePointer;
60  typedef typename InputImageType::ConstPointer ImageConstPointer;
65  typedef typename InputImageType::PointType InputImagePointType;
66  typedef typename InputImageType::SpacingType InputImageSpacingType;
67 
68  typedef typename itk::ImageLinearConstIteratorWithIndex< InputImageType > LineIteratorType;
69  typedef typename itk::ImageRegionConstIterator< InputImageType > IteratorType;
70 
71  typedef itk::MetaDataDictionary DictionaryType;
72  typedef itk::MetaDataObject< std::string > MetaDataStringType;
73 
75  typedef enum {
78  MLO_MAMMO_VIEW
79  } MammogramViewType;
80 
82  void SetImage( const InputImageType *imInput );
83 
85  void SetDictionary( DictionaryType &dictionary ) { m_Dictionary = dictionary; }
86 
88  void SetImageFileName( std::string fileName ) { m_ImageFileName = fileName; }
89 
91  void Compute(void) throw (ExceptionObject);
92 
94  itkGetConstMacro(MammogramView, MammogramViewType);
95 
97  double GetViewScore( void ) { return m_Score; }
98 
99  void SetVerbose( bool flag ) { m_FlgVerbose = flag; }
100  void SetVerboseOn( void ) { m_FlgVerbose = true; }
101  void SetVerboseOff( void ) { m_FlgVerbose = false; }
102 
103 protected:
104 
107 
109 
110  InputImageRegionType m_ImRegion;
111  InputImageSpacingType m_ImSpacing;
112  InputImagePointType m_ImOrigin;
113  InputImageSizeType m_ImSize;
114  InputImageIndexType m_ImStart;
115  InputImagePointType m_ImSizeInMM;
116 
117  ImageConstPointer m_Image;
118 
120 
121  DictionaryType m_Dictionary;
122 
124  double m_Score;
125 
126  void PrintSelf(std::ostream & os, Indent indent) const override;
127 
128 private:
129 
130  MammogramMLOorCCViewCalculator(const Self &); //purposely not implemented
131  void operator=(const Self &); //purposely not implemented
132 
133 };
134 
135 } // end namespace itk
136 
137 #ifndef ITK_MANUAL_INSTANTIATION
138 #include "itkMammogramMLOorCCViewCalculator.txx"
139 #endif
140 
141 #endif /* __itkMammogramMLOorCCViewCalculator_h */
TInputImage InputImageType
Definition: itkMammogramMLOorCCViewCalculator.h:57
std::string m_ImageFileName
Definition: itkMammogramMLOorCCViewCalculator.h:119
itk::MetaDataDictionary DictionaryType
Definition: itkMammogramMLOorCCViewCalculator.h:71
Object Superclass
Definition: itkMammogramMLOorCCViewCalculator.h:42
DictionaryType m_Dictionary
Definition: itkMammogramMLOorCCViewCalculator.h:121
ImageType::SizeType SizeType
Definition: niftkMakeLapUSProbeBasicModel.cxx:31
void SetImageFileName(std::string fileName)
Definition: itkMammogramMLOorCCViewCalculator.h:88
double m_Score
Definition: itkMammogramMLOorCCViewCalculator.h:124
InputImageType::Pointer ImagePointer
Definition: itkMammogramMLOorCCViewCalculator.h:59
InputImageType::PointType InputImagePointType
Definition: itkMammogramMLOorCCViewCalculator.h:65
ImageConstPointer m_Image
Definition: itkMammogramMLOorCCViewCalculator.h:117
InputImageType::SizeType InputImageSizeType
Definition: itkMammogramMLOorCCViewCalculator.h:64
Definition: niftkITKAffineResampleImage.cxx:74
ImageType::IndexType IndexType
Definition: niftkMakeLapUSProbeBasicModel.cxx:32
InputImageSizeType m_ImSize
Definition: itkMammogramMLOorCCViewCalculator.h:113
void SetDictionary(DictionaryType &dictionary)
Definition: itkMammogramMLOorCCViewCalculator.h:85
void SetVerboseOn(void)
Definition: itkMammogramMLOorCCViewCalculator.h:100
Computes whether a mammogram corresponds to a CC or an MLO view.
Definition: itkMammogramMLOorCCViewCalculator.h:34
bool m_FlgVerbose
Definition: itkMammogramMLOorCCViewCalculator.h:108
itk::ImageRegionConstIterator< InputImageType > IteratorType
Definition: itkMammogramMLOorCCViewCalculator.h:69
SmartPointer< const Self > ConstPointer
Definition: itkMammogramMLOorCCViewCalculator.h:44
InputImageType::RegionType InputImageRegionType
Definition: itkMammogramMLOorCCViewCalculator.h:63
void SetVerbose(bool flag)
Definition: itkMammogramMLOorCCViewCalculator.h:99
Definition: itkMammogramMLOorCCViewCalculator.h:77
float PixelType
Definition: niftkBreastDCEandADC.cxx:88
InputImageSpacingType m_ImSpacing
Definition: itkMammogramMLOorCCViewCalculator.h:111
SmartPointer< Self > Pointer
Definition: itkMammogramMLOorCCViewCalculator.h:43
ImageType::RegionType RegionType
Definition: niftkMakeLapUSProbeBasicModel.cxx:30
Definition: itkMammogramMLOorCCViewCalculator.h:76
virtual ~MammogramMLOorCCViewCalculator()
Definition: itkMammogramMLOorCCViewCalculator.h:106
InputImageIndexType m_ImStart
Definition: itkMammogramMLOorCCViewCalculator.h:114
InputImageType::ConstPointer ImageConstPointer
Definition: itkMammogramMLOorCCViewCalculator.h:60
InputImageRegionType m_ImRegion
Definition: itkMammogramMLOorCCViewCalculator.h:110
InputImagePointType m_ImOrigin
Definition: itkMammogramMLOorCCViewCalculator.h:112
InputImagePointType m_ImSizeInMM
Definition: itkMammogramMLOorCCViewCalculator.h:115
InputImageType::PixelType InputImagePixelType
Definition: itkMammogramMLOorCCViewCalculator.h:61
itk::ImageLinearConstIteratorWithIndex< InputImageType > LineIteratorType
Definition: itkMammogramMLOorCCViewCalculator.h:68
InputImageType::SpacingType InputImageSpacingType
Definition: itkMammogramMLOorCCViewCalculator.h:66
void SetVerboseOff(void)
Definition: itkMammogramMLOorCCViewCalculator.h:101
MammogramViewType m_MammogramView
Definition: itkMammogramMLOorCCViewCalculator.h:123
InputImageType::IndexType InputImageIndexType
Definition: itkMammogramMLOorCCViewCalculator.h:62
GLsizei const GLcharARB ** string
Definition: glew.h:5194
MammogramViewType
Breast view.
Definition: itkMammogramMLOorCCViewCalculator.h:75
MammogramMLOorCCViewCalculator Self
Definition: itkMammogramMLOorCCViewCalculator.h:41
itk::MetaDataObject< std::string > MetaDataStringType
Definition: itkMammogramMLOorCCViewCalculator.h:72