ITK  4.9.0
Insight Segmentation and Registration Toolkit
itkRegionGrowingSegmentationModule.h
Go to the documentation of this file.
1 /*=========================================================================
2 
3  Program: Insight Segmentation & Registration Toolkit
4  Module: itkRegionGrowingSegmentationModule.h
5  Language: C++
6  Date: $Date$
7  Version: $Revision$
8 
9  Copyright (c) Insight Software Consortium. All rights reserved.
10  See ITKCopyright.txt or http://www.itk.org/HTML/Copyright.htm for details.
11 
12  This software is distributed WITHOUT ANY WARRANTY; without even
13  the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
14  PURPOSE. See the above copyright notices for more information.
15 
16 =========================================================================*/
17 #ifndef itkRegionGrowingSegmentationModule_h
18 #define itkRegionGrowingSegmentationModule_h
19 
20 #include "itkSegmentationModule.h"
21 #include "itkImageSpatialObject.h"
23 
24 namespace itk
25 {
26 
35 template <unsigned int NDimension>
36 class ITK_EXPORT RegionGrowingSegmentationModule : public SegmentationModule<NDimension>
37 {
38 public:
44 
46  itkNewMacro(Self);
47 
50 
52  itkStaticConstMacro(Dimension, unsigned int, NDimension);
53 
56  typedef typename Superclass::SpatialObjectType SpatialObjectType;
57  typedef typename Superclass::SpatialObjectPointer SpatialObjectPointer;
58 
60  typedef float OutputPixelType;
61  typedef float FeaturePixelType;
64 
68 
71 
72 protected:
75  void PrintSelf(std::ostream& os, Indent indent) const;
76 
79  void GenerateData ();
80 
82  void PackOutputImageInOutputSpatialObject( OutputImageType * outputImage );
83 
85  const InputSpatialObjectType * GetInternalInputLandmarks() const;
86 
88  const FeatureImageType * GetInternalFeatureImage() const;
89 
90 private:
91  RegionGrowingSegmentationModule(const Self&); //purposely not implemented
92  void operator=(const Self&); //purposely not implemented
93 
94  void ConvertIntensitiesToCenteredRange( OutputImageType * outputImage );
95 };
96 
97 } // end namespace itk
98 
99 #ifndef ITK_MANUAL_INSTANTIATION
100 # include "itkRegionGrowingSegmentationModule.hxx"
101 #endif
102 
103 #endif
Light weight base class for most itk classes.
Representation of a Landmark based on the spatial object classes.
Class provides the abstract interface of the segmentation methods.
Class applies a region growing segmentation method.
LandmarkSpatialObject< NDimension > InputSpatialObjectType
Image< OutputPixelType, NDimension > OutputImageType
Image< FeaturePixelType, NDimension > FeatureImageType
Superclass::SpatialObjectPointer SpatialObjectPointer
ImageSpatialObject< NDimension, FeaturePixelType > FeatureSpatialObjectType
Implementation of an image as spatial object.
ImageSpatialObject< NDimension, OutputPixelType > OutputSpatialObjectType
Control indentation during Print() invocation.
Definition: itkIndent.h:49
Templated n-dimensional image class.
Definition: itkImage.h:75