15 #ifndef __itkMammogramPectoralisSegmentationImageFilter_h
16 #define __itkMammogramPectoralisSegmentationImageFilter_h
18 #include <itkImageToImageFilter.h>
19 #include <itkImageRegionIterator.h>
20 #include <itkImageRegionIteratorWithIndex.h>
21 #include <itkImageRegionConstIterator.h>
22 #include <itkImageRegionConstIteratorWithIndex.h>
23 #include <itkImageLinearIteratorWithIndex.h>
34 template<
class TInputImage,
class TOutputImage>
36 public ImageToImageFilter< TInputImage, TOutputImage >
41 typedef ImageToImageFilter< TInputImage,TOutputImage >
Superclass;
52 itkStaticConstMacro(ImageDimension,
unsigned int,
53 TInputImage::ImageDimension);
91 typedef typename itk::Image<MaskPixelType, ImageDimension>
MaskImageType;
101 void SetMask(
const MaskImageType *imMask );
104 void SetSSD(
bool flag ) { m_flgOptimiseSSD = flag; }
120 #ifdef ITK_USE_CONCEPT_CHECKING
122 itkConceptMacro(DimensionShouldBe2,
123 (Concept::SameDimension<itkGetStaticConstMacro(InputImageDimension),2>));
124 itkConceptMacro(InputHasNumericTraitsCheck,
125 (Concept::HasNumericTraits<InputImagePixelType>));
126 itkConceptMacro(OutputHasPixelTraitsCheck,
127 (Concept::HasPixelTraits<OutputImagePixelType>));
138 m_BreastSide = breastSide;
147 void PrintSelf(std::ostream& os, Indent indent)
const;
158 template<
typename ShrinkImageType>
159 typename ShrinkImageType::Pointer
160 ShrinkTheInputImage(
typename ShrinkImageType::ConstPointer &
image,
161 unsigned int maxShrunkDimension,
167 void GenerateTemplate(
typename TInputImage::Pointer &imTemplate,
169 double &tMean,
double &tStdDev,
double &nPixels );
172 void EnlargeOutputRequestedRegion(DataObject *output);
175 void ExhaustiveSearch( InputImageIndexType pecInterceptStart,
176 InputImageIndexType pecInterceptEnd,
178 InputImagePointer &imPipelineConnector,
179 InputImagePointType &bestPecInterceptInMM,
186 void operator=(
const Self&);
191 #ifndef ITK_MANUAL_INSTANTIATION
192 #include "itkMammogramPectoralisSegmentationImageFilter.txx"
BreastSideType m_BreastSide
Definition: itkMammogramPectoralisSegmentationImageFilter.h:152
InputImageType::IndexType InputImageIndexType
Definition: itkMammogramPectoralisSegmentationImageFilter.h:63
OutputImageType::Pointer OutputImagePointer
Definition: itkMammogramPectoralisSegmentationImageFilter.h:68
InputImageType::SpacingType InputImageSpacingType
Definition: itkMammogramPectoralisSegmentationImageFilter.h:61
A metric to compute the similarity between an image and a pectoral shape model.
Definition: itkMammogramPectoralisFitMetric.h:35
SmartPointer< Self > Pointer
Definition: itkMammogramPectoralisSegmentationImageFilter.h:42
Computes whether a mammogram is of the left or right breast from the center of mass.
Definition: itkMammogramLeftOrRightSideCalculator.h:31
LeftOrRightSideCalculatorType::BreastSideType BreastSideType
Definition: itkMammogramPectoralisSegmentationImageFilter.h:115
ImageType::SizeType SizeType
Definition: niftkMakeLapUSProbeBasicModel.cxx:31
itk::Image< TemplatePixelType, ImageDimension > TemplateImageType
Definition: itkMammogramPectoralisFitMetric.h:74
TemplateImageType::SizeType TemplateImageSizeType
Definition: itkMammogramPectoralisSegmentationImageFilter.h:84
MaskImageType::PointType MaskImagePointType
Definition: itkMammogramPectoralisSegmentationImageFilter.h:97
itk::ImageRegionIterator< TemplateImageType > TemplateIteratorType
Definition: itkMammogramPectoralisSegmentationImageFilter.h:86
itk::MammogramPectoralisFitMetric< InputImageType >::TemplateImageType TemplateImageType
Definition: itkMammogramPectoralisSegmentationImageFilter.h:75
GLenum GLsizei GLenum GLenum const GLvoid * image
Definition: glew.h:4052
MaskImageType::IndexType MaskImageIndexType
Definition: itkMammogramPectoralisSegmentationImageFilter.h:98
MaskImageType::SpacingType MaskImageSpacingType
Definition: itkMammogramPectoralisSegmentationImageFilter.h:96
Superclass::ParametersType ParametersType
Definition: itkMammogramPectoralisFitMetric.h:115
OutputImageType::PixelType OutputImagePixelType
Definition: itkMammogramPectoralisSegmentationImageFilter.h:70
Definition: niftkITKAffineResampleImage.cxx:74
ImageType::IndexType IndexType
Definition: niftkMakeLapUSProbeBasicModel.cxx:32
bool m_flgOptimiseSSD
Definition: itkMammogramPectoralisSegmentationImageFilter.h:150
TInputImage InputImageType
Definition: itkMammogramPectoralisSegmentationImageFilter.h:56
TemplateImageType::IndexType TemplateImageIndexType
Definition: itkMammogramPectoralisSegmentationImageFilter.h:83
ImageToImageFilter< TInputImage, TOutputImage > Superclass
Definition: itkMammogramPectoralisSegmentationImageFilter.h:41
void SetVerboseOn(void)
Definition: itkMammogramPectoralisSegmentationImageFilter.h:134
MammogramPectoralisSegmentationImageFilter Self
Definition: itkMammogramPectoralisSegmentationImageFilter.h:40
InputImageType::ConstPointer InputImageConstPointer
Definition: itkMammogramPectoralisSegmentationImageFilter.h:58
itk::Image< MaskPixelType, ImageDimension > MaskImageType
Definition: itkMammogramPectoralisSegmentationImageFilter.h:91
OutputImageType::RegionType OutputImageRegionType
Definition: itkMammogramPectoralisSegmentationImageFilter.h:69
TemplateImageType::PixelType TemplateImagePixelType
Definition: itkMammogramPectoralisSegmentationImageFilter.h:80
InputImageType::Pointer InputImagePointer
Definition: itkMammogramPectoralisSegmentationImageFilter.h:57
itk::ImageRegionIteratorWithIndex< TemplateImageType > TemplateIteratorWithIndexType
Definition: itkMammogramPectoralisSegmentationImageFilter.h:87
MaskImagePointer m_Mask
Definition: itkMammogramPectoralisSegmentationImageFilter.h:155
void SetVerboseOff(void)
Definition: itkMammogramPectoralisSegmentationImageFilter.h:135
InputImageType::PointType InputImagePointType
Definition: itkMammogramPectoralisSegmentationImageFilter.h:62
OutputImageType::IndexType OutputImageIndexType
Definition: itkMammogramPectoralisSegmentationImageFilter.h:71
TemplateImageType::Pointer TemplateImagePointer
Definition: itkMammogramPectoralisSegmentationImageFilter.h:77
itk::ImageRegionIterator< TInputImage > IteratorType
Definition: itkMammogramPectoralisSegmentationImageFilter.h:106
itk::ImageRegionConstIteratorWithIndex< TInputImage > IteratorWithIndexConstType
Definition: itkMammogramPectoralisSegmentationImageFilter.h:111
itk::ImageLinearIteratorWithIndex< MaskImageType > MaskLineIteratorType
Definition: itkMammogramPectoralisSegmentationImageFilter.h:108
SmartPointer< Self > Pointer
Definition: itkMammogramPectoralisFitMetric.h:42
float PixelType
Definition: niftkBreastDCEandADC.cxx:88
void SetVerbose(bool flag)
Definition: itkMammogramPectoralisSegmentationImageFilter.h:132
TemplateImageType::ConstPointer TemplateImageConstPointer
Definition: itkMammogramPectoralisSegmentationImageFilter.h:78
InputImagePointer m_Image
Definition: itkMammogramPectoralisSegmentationImageFilter.h:154
ImageType::RegionType RegionType
Definition: niftkMakeLapUSProbeBasicModel.cxx:30
unsigned char MaskPixelType
Definition: itkMammogramPectoralisSegmentationImageFilter.h:90
itk::ImageRegionIteratorWithIndex< TInputImage > IteratorWithIndexType
Definition: itkMammogramPectoralisSegmentationImageFilter.h:107
InputImageType::PixelType InputImagePixelType
Definition: itkMammogramPectoralisSegmentationImageFilter.h:60
TOutputImage OutputImageType
Definition: itkMammogramPectoralisSegmentationImageFilter.h:67
TemplateImageType::RegionType TemplateImageRegionType
Definition: itkMammogramPectoralisSegmentationImageFilter.h:79
BreastSideType
Breast side.
Definition: itkMammogramLeftOrRightSideCalculator.h:71
SmartPointer< const Self > ConstPointer
Definition: itkMammogramPectoralisSegmentationImageFilter.h:43
void SetSSD(bool flag)
Optimise SSD rather than normalised cross-correlation.
Definition: itkMammogramPectoralisSegmentationImageFilter.h:104
MaskImageType::Pointer MaskImagePointer
Definition: itkMammogramPectoralisSegmentationImageFilter.h:94
TemplateImageType::PointType TemplateImagePointType
Definition: itkMammogramPectoralisSegmentationImageFilter.h:82
InputImageType::RegionType InputImageRegionType
Definition: itkMammogramPectoralisSegmentationImageFilter.h:59
2D image filter class to segment the pectoral muscle from a mammogram.
Definition: itkMammogramPectoralisSegmentationImageFilter.h:35
void SetBreastSide(BreastSideType breastSide)
Definition: itkMammogramPectoralisSegmentationImageFilter.h:137
MaskImageType::SizeType MaskImageSizeType
Definition: itkMammogramPectoralisSegmentationImageFilter.h:95
itk::ImageRegionConstIterator< TInputImage > IteratorConstType
Definition: itkMammogramPectoralisSegmentationImageFilter.h:110
itk::MammogramLeftOrRightSideCalculator< InputImageType > LeftOrRightSideCalculatorType
Definition: itkMammogramPectoralisSegmentationImageFilter.h:113
bool m_flgVerbose
Definition: itkMammogramPectoralisSegmentationImageFilter.h:149
MaskImageType::RegionType MaskImageRegionType
Definition: itkMammogramPectoralisSegmentationImageFilter.h:93
itk::MammogramPectoralisFitMetric< TInputImage > FitMetricType
Definition: itkMammogramPectoralisSegmentationImageFilter.h:117
bool GetVerbose(void)
Definition: itkMammogramPectoralisSegmentationImageFilter.h:131
TemplateImageType::SpacingType TemplateImageSpacingType
Definition: itkMammogramPectoralisSegmentationImageFilter.h:81
TemplateImagePointer GetTemplateImage(void)
Definition: itkMammogramPectoralisSegmentationImageFilter.h:141
InputImageType::SizeType InputImageSizeType
Definition: itkMammogramPectoralisSegmentationImageFilter.h:64
TemplateImagePointer m_Template
Definition: itkMammogramPectoralisSegmentationImageFilter.h:156
OutputImageType::PointType OutputImagePointType
Definition: itkMammogramPectoralisSegmentationImageFilter.h:72
MaskImageType::ConstPointer MaskImageConstPointer
Definition: itkMammogramPectoralisSegmentationImageFilter.h:92