ITK  4.6.0
Insight Segmentation and Registration Toolkit
itkLungWallFeatureGenerator.h
Go to the documentation of this file.
1 /*=========================================================================
2 
3  Program: Insight Segmentation & Registration Toolkit
4  Module: itkLungWallFeatureGenerator.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 __itkLungWallFeatureGenerator_h
18 #define __itkLungWallFeatureGenerator_h
19 
20 #include "itkFeatureGenerator.h"
21 #include "itkImage.h"
22 #include "itkImageSpatialObject.h"
25 
26 namespace itk
27 {
28 
42 template <unsigned int NDimension>
43 class ITK_EXPORT LungWallFeatureGenerator : public FeatureGenerator<NDimension>
44 {
45 public:
51 
53  itkNewMacro(Self);
54 
57 
59  itkStaticConstMacro(Dimension, unsigned int, NDimension);
60 
63  typedef signed short InputPixelType;
67  typedef typename Superclass::SpatialObjectType SpatialObjectType;
68 
71  void SetInput( const SpatialObjectType * input );
72  const SpatialObjectType * GetInput() const;
74 
77  const SpatialObjectType * GetFeature() const;
78 
80  itkSetMacro( LungThreshold, InputPixelType );
81  itkGetMacro( LungThreshold, InputPixelType );
83 
84 protected:
86  virtual ~LungWallFeatureGenerator();
87  void PrintSelf(std::ostream& os, Indent indent) const;
88 
91  void GenerateData ();
92 
93 private:
94  LungWallFeatureGenerator(const Self&); //purposely not implemented
95  void operator=(const Self&); //purposely not implemented
96 
97  typedef float InternalPixelType;
99 
100  typedef float OutputPixelType;
102 
104 
108 
112 
115 
117 };
118 
119 } // end namespace itk
120 
121 #ifndef ITK_MANUAL_INSTANTIATION
122 # include "itkLungWallFeatureGenerator.hxx"
123 #endif
124 
125 #endif
Light weight base class for most itk classes.
Superclass::SpatialObjectType SpatialObjectType
VotingHoleFillingFilterType::Pointer VotingHoleFillingFilterPointer
ImageSpatialObject< NDimension, OutputPixelType > OutputImageSpatialObjectType
Perform front-propagation under a quorum sensing (voting) algorithm for filling holes in a binary mas...
VotingHoleFillingFilterPointer m_VotingHoleFillingFilter
Binarize an input image by thresholding.
Image< InputPixelType, Dimension > InputImageType
Class that generates features (typically images) used as input for a segmentation method...
Image< InternalPixelType, Dimension > InternalImageType
Implementation of the composite pattern.
virtual void SetInput(const DataObjectIdentifierType &key, DataObject *input)
ImageSpatialObject< NDimension, InputPixelType > InputImageSpatialObjectType
VotingBinaryHoleFillFloodingImageFilter< InternalImageType, OutputImageType > VotingHoleFillingFilterType
ThresholdFilterType::Pointer ThresholdFilterPointer
Image< OutputPixelType, Dimension > OutputImageType
SmartPointer< const Self > ConstPointer
Implementation of an image as spatial object.
Control indentation during Print() invocation.
Definition: itkIndent.h:49
InputImageSpatialObjectType::Pointer InputImageSpatialObjectPointer
FeatureGenerator< NDimension > Superclass
BinaryThresholdImageFilter< InputImageType, InternalImageType > ThresholdFilterType
Templated n-dimensional image class.
Definition: itkImage.h:75