ITK  5.0.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_TEMPLATE_EXPORT LungWallFeatureGenerator : public FeatureGenerator<NDimension>
44 {
45 public:
46  ITK_DISALLOW_COPY_AND_ASSIGN(LungWallFeatureGenerator);
47 
53 
55  itkNewMacro(Self);
56 
59 
61  static constexpr unsigned int Dimension = NDimension;
62 
65  using InputPixelType = signed short;
69  using SpatialObjectType = typename Superclass::SpatialObjectType;
70 
73  void SetInput( const SpatialObjectType * input );
74  const SpatialObjectType * GetInput() const;
76 
79  const SpatialObjectType * GetFeature() const;
80 
82  itkSetMacro( LungThreshold, InputPixelType );
83  itkGetMacro( LungThreshold, InputPixelType );
85 
86 protected:
88  ~LungWallFeatureGenerator() override;
89  void PrintSelf(std::ostream& os, Indent indent) const override;
90 
93  void GenerateData () override;
94 
95 private:
96  using InternalPixelType = float;
98 
99  using OutputPixelType = float;
101 
103 
107 
111 
114 
116 };
117 
118 } // end namespace itk
119 
120 #ifndef ITK_MANUAL_INSTANTIATION
121 # include "itkLungWallFeatureGenerator.hxx"
122 #endif
123 
124 #endif
Light weight base class for most itk classes.
typename VotingHoleFillingFilterType::Pointer VotingHoleFillingFilterPointer
Perform front-propagation under a quorum sensing (voting) algorithm for filling holes in a binary mas...
typename InputImageSpatialObjectType::Pointer InputImageSpatialObjectPointer
VotingHoleFillingFilterPointer m_VotingHoleFillingFilter
Binarize an input image by thresholding.
typename ThresholdFilterType::Pointer ThresholdFilterPointer
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.
Implementation of an image as spatial object.
Control indentation during Print() invocation.
Definition: itkIndent.h:49
Templated n-dimensional image class.
Definition: itkImage.h:75