NifTK  16.4.1 - 0798f20
CMIC's Translational Medical Imaging Platform
itkMammogramMaskSegmentationImageFilter.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 __itkMammogramMaskSegmentationImageFilter_h
16 #define __itkMammogramMaskSegmentationImageFilter_h
17 
18 #include <itkImageToImageFilter.h>
19 
20 namespace itk {
21 
27 template<class TInputImage, class TOutputImage>
29  public ImageToImageFilter< TInputImage, TOutputImage >
30 {
31 public:
34  typedef ImageToImageFilter< TInputImage,TOutputImage > Superclass;
35  typedef SmartPointer< Self > Pointer;
36  typedef SmartPointer< const Self > ConstPointer;
37 
39  itkTypeMacro( MammogramMaskSegmentationImageFilter, ImageToImageFilter );
40 
42  itkNewMacro(Self);
43 
45  itkStaticConstMacro(ImageDimension, unsigned int,
46  TInputImage::ImageDimension);
47 
49  typedef TInputImage InputImageType;
50  typedef typename InputImageType::Pointer InputImagePointer;
51  typedef typename InputImageType::ConstPointer InputImageConstPointer;
54  typedef typename InputImageType::SpacingType InputImageSpacingType;
55  typedef typename InputImageType::PointType InputImagePointType;
58 
59  typedef typename NumericTraits<InputImagePixelType>::RealType RealType;
60 
62  typedef TOutputImage OutputImageType;
63  typedef typename OutputImageType::Pointer OutputImagePointer;
67  typedef typename OutputImageType::PointType OutputImagePointType;
68 
69  typedef OutputImagePointType OriginType;
70 
71 
76  typedef float InternalRealType;
77 
79 
80  typedef typename RealImageType::Pointer RealImagePointer;
81 
82 #ifdef ITK_USE_CONCEPT_CHECKING
83 
84  itkConceptMacro(DimensionShouldBe2,
85  (Concept::SameDimension<itkGetStaticConstMacro(InputImageDimension),2>));
86  itkConceptMacro(InputHasNumericTraitsCheck,
87  (Concept::HasNumericTraits<InputImagePixelType>));
88  itkConceptMacro(OutputHasPixelTraitsCheck,
89  (Concept::HasPixelTraits<OutputImagePixelType>));
91 #endif
92 
93  bool GetVerbose( void ) { return m_flgVerbose; }
94  void SetVerbose( bool flag ) { m_flgVerbose = flag; }
95  void SetVerboseOn( void ) { m_flgVerbose = true; }
96  void SetVerboseOff( void ) { m_flgVerbose = false; }
97 
98  bool GetIncludeBorderRegion( void ) { return m_flgIncludeBorderRegion; }
99  void SetIncludeBorderRegion( bool flag ) { m_flgIncludeBorderRegion = flag; }
100  void SetIncludeBorderRegionOn( void ) { m_flgIncludeBorderRegion = true; }
101  void SetIncludeBorderRegionOff( void ) { m_flgIncludeBorderRegion = false; }
102 
103 
104 protected:
105 
108 
111  void PrintSelf(std::ostream& os, Indent indent) const;
112 
113  bool IsPixelSet( InputImagePointer &image, InputImageIndexType index, int dx, int dy );
114 
116  void GenerateData();
117 
118  // Override since the filter produces the entire dataset
119  void EnlargeOutputRequestedRegion(DataObject *output);
120 
121 
122 private:
123 
124  MammogramMaskSegmentationImageFilter(const Self&); //purposely not implemented
125  void operator=(const Self&); //purposely not implemented
126 };
127 
128 } // end namespace itk
129 
130 #ifndef ITK_MANUAL_INSTANTIATION
131 #include "itkMammogramMaskSegmentationImageFilter.txx"
132 #endif
133 
134 #endif
2D image filter class to segment the breast area from a mammogram.
Definition: itkMammogramMaskSegmentationImageFilter.h:28
InputImageType::PixelType InputImagePixelType
Definition: itkMammogramMaskSegmentationImageFilter.h:53
void SetIncludeBorderRegionOff(void)
Definition: itkMammogramMaskSegmentationImageFilter.h:101
ImageType::SizeType SizeType
Definition: niftkMakeLapUSProbeBasicModel.cxx:31
void SetIncludeBorderRegionOn(void)
Definition: itkMammogramMaskSegmentationImageFilter.h:100
void SetIncludeBorderRegion(bool flag)
Definition: itkMammogramMaskSegmentationImageFilter.h:99
GLenum GLsizei GLenum GLenum const GLvoid * image
Definition: glew.h:4052
Image< InternalRealType, TInputImage::ImageDimension > RealImageType
Definition: itkMammogramMaskSegmentationImageFilter.h:78
Definition: niftkITKAffineResampleImage.cxx:74
SmartPointer< const Self > ConstPointer
Definition: itkMammogramMaskSegmentationImageFilter.h:36
ImageType::IndexType IndexType
Definition: niftkMakeLapUSProbeBasicModel.cxx:32
OutputImageType::PointType OutputImagePointType
Definition: itkMammogramMaskSegmentationImageFilter.h:67
OutputImageType::PixelType OutputImagePixelType
Definition: itkMammogramMaskSegmentationImageFilter.h:65
InputImageType::SpacingType InputImageSpacingType
Definition: itkMammogramMaskSegmentationImageFilter.h:54
void SetVerbose(bool flag)
Definition: itkMammogramMaskSegmentationImageFilter.h:94
InputImageType::ConstPointer InputImageConstPointer
Definition: itkMammogramMaskSegmentationImageFilter.h:51
OutputImageType::IndexType OutputImageIndexType
Definition: itkMammogramMaskSegmentationImageFilter.h:66
InputImageType::Pointer InputImagePointer
Definition: itkMammogramMaskSegmentationImageFilter.h:50
bool GetVerbose(void)
Definition: itkMammogramMaskSegmentationImageFilter.h:93
TInputImage InputImageType
Definition: itkMammogramMaskSegmentationImageFilter.h:49
SmartPointer< Self > Pointer
Definition: itkMammogramMaskSegmentationImageFilter.h:35
float PixelType
Definition: niftkBreastDCEandADC.cxx:88
ImageType::RegionType RegionType
Definition: niftkMakeLapUSProbeBasicModel.cxx:30
InputImageType::PointType InputImagePointType
Definition: itkMammogramMaskSegmentationImageFilter.h:55
bool m_flgVerbose
Definition: itkMammogramMaskSegmentationImageFilter.h:106
bool m_flgIncludeBorderRegion
Definition: itkMammogramMaskSegmentationImageFilter.h:107
void SetVerboseOn(void)
Definition: itkMammogramMaskSegmentationImageFilter.h:95
InputImageType::IndexType InputImageIndexType
Definition: itkMammogramMaskSegmentationImageFilter.h:56
OutputImagePointType OriginType
Definition: itkMammogramMaskSegmentationImageFilter.h:69
InputImageType::RegionType InputImageRegionType
Definition: itkMammogramMaskSegmentationImageFilter.h:52
GLuint index
Definition: glew.h:1798
ImageToImageFilter< TInputImage, TOutputImage > Superclass
Definition: itkMammogramMaskSegmentationImageFilter.h:34
bool GetIncludeBorderRegion(void)
Definition: itkMammogramMaskSegmentationImageFilter.h:98
TOutputImage OutputImageType
Definition: itkMammogramMaskSegmentationImageFilter.h:62
InputImageType::SizeType InputImageSizeType
Definition: itkMammogramMaskSegmentationImageFilter.h:57
void SetVerboseOff(void)
Definition: itkMammogramMaskSegmentationImageFilter.h:96
Simultaneous itk::Image and itk::Array (and hence vnl_vector) class.
OutputImageType::RegionType OutputImageRegionType
Definition: itkMammogramMaskSegmentationImageFilter.h:64
NumericTraits< InputImagePixelType >::RealType RealType
Definition: itkMammogramMaskSegmentationImageFilter.h:59
float InternalRealType
Definition: itkMammogramMaskSegmentationImageFilter.h:76
MammogramMaskSegmentationImageFilter Self
Definition: itkMammogramMaskSegmentationImageFilter.h:33
OutputImageType::Pointer OutputImagePointer
Definition: itkMammogramMaskSegmentationImageFilter.h:63
RealImageType::Pointer RealImagePointer
Definition: itkMammogramMaskSegmentationImageFilter.h:80