ITK  5.0.0
Insight Segmentation and Registration Toolkit
itkMorphologicalOpenningFeatureGenerator.h
Go to the documentation of this file.
1 /*=========================================================================
2 
3  Program: Insight Segmentation & Registration Toolkit
4  Module: itkMorphologicalOpenningFeatureGenerator.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 itkMorphologicalOpenningFeatureGenerator_h
18 #define itkMorphologicalOpenningFeatureGenerator_h
19 
20 #include "itkFeatureGenerator.h"
21 #include "itkImage.h"
22 #include "itkImageSpatialObject.h"
27 #include "itkCastImageFilter.h"
28 
29 namespace itk
30 {
31 
45 template <unsigned int NDimension>
46 class ITK_EXPORT MorphologicalOpenningFeatureGenerator : public FeatureGenerator<NDimension>
47 {
48 public:
54 
56  itkNewMacro(Self);
57 
60 
62  itkStaticConstMacro(Dimension, unsigned int, NDimension);
63 
66  typedef signed short InputPixelType;
70  typedef typename Superclass::SpatialObjectType SpatialObjectType;
71 
74  void SetInput( const SpatialObjectType * input );
75  const SpatialObjectType * GetInput() const;
77 
80  const SpatialObjectType * GetFeature() const;
81 
83  itkSetMacro( LungThreshold, InputPixelType );
84  itkGetMacro( LungThreshold, InputPixelType );
86 
87 protected:
90  void PrintSelf(std::ostream& os, Indent indent) const;
91 
94  void GenerateData ();
95 
96 private:
97  MorphologicalOpenningFeatureGenerator(const Self&); //purposely not implemented
98  void operator=(const Self&); //purposely not implemented
99 
100  typedef unsigned char InternalPixelType;
102 
103  typedef float OutputPixelType;
105 
107 
111 
116 
120 
121  typedef CastImageFilter<
124 
125 
130 
132 };
133 
134 } // end namespace itk
135 
136 #ifndef ITK_MANUAL_INSTANTIATION
137 # include "itkMorphologicalOpenningFeatureGenerator.hxx"
138 #endif
139 
140 #endif
Light weight base class for most itk classes.
ImageSpatialObject< NDimension, OutputPixelType > OutputImageSpatialObjectType
BinaryBallStructuringElement< InternalPixelType, Dimension > KernelType
Perform front-propagation under a quorum sensing (voting) algorithm for filling holes in a binary mas...
VotingBinaryHoleFillFloodingImageFilter< InternalImageType, InternalImageType > VotingHoleFillingFilterType
ImageSpatialObject< NDimension, InputPixelType > InputImageSpatialObjectType
Generates a feature image based on intensity and removes small pieces from it.
Binarize an input image by thresholding.
BinaryMorphologicalOpeningImageFilter< InternalImageType, InternalImageType, KernelType > OpenningFilterType
Class that generates features (typically images) used as input for a segmentation method...
Implementation of the composite pattern.
virtual void SetInput(const DataObjectIdentifierType &key, DataObject *input)
Protected method for setting indexed and named inputs.
A Neighborhood that represents a ball structuring element (ellipsoid) with binary elements...
Implementation of an image as spatial object.
Control indentation during Print() invocation.
Definition: itkIndent.h:49
BinaryThresholdImageFilter< InputImageType, InternalImageType > ThresholdFilterType
Templated n-dimensional image class.
Definition: itkImage.h:75
Casts input pixels to output pixel type.
CastImageFilter< InternalImageType, OutputImageType > CastingFilterType