ITK  5.0.0
Insight Segmentation and Registration Toolkit
itkFeatureGenerator.h
Go to the documentation of this file.
1 /*=========================================================================
2 
3  Program: Insight Segmentation & Registration Toolkit
4  Module: itkFeatureGenerator.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 itkFeatureGenerator_h
18 #define itkFeatureGenerator_h
19 
20 #include "itkProcessObject.h"
21 #include "itkImage.h"
22 #include "itkDataObjectDecorator.h"
23 #include "itkSpatialObject.h"
24 
25 namespace itk
26 {
27 
39 template <unsigned int NDimension>
40 class ITK_TEMPLATE_EXPORT FeatureGenerator : public ProcessObject
41 {
42 public:
43  ITK_DISALLOW_COPY_AND_ASSIGN(FeatureGenerator);
44 
50 
52  itkNewMacro(Self);
53 
55  itkTypeMacro(FeatureGenerator, ProcessObject);
56 
58  static constexpr unsigned int Dimension = NDimension;
59 
64 
67  void SetInput( const SpatialObjectType * input );
68  const SpatialObjectType * GetInput() const;
70 
73  const SpatialObjectType * GetFeature() const;
74 
75 
76 protected:
78  ~FeatureGenerator() override;
79  void PrintSelf(std::ostream& os, Indent indent) const override;
80 
84  SpatialObjectType * GetInternalFeature();
85 };
86 
87 } // end namespace itk
88 
89 #ifndef ITK_MANUAL_INSTANTIATION
90 # include "itkFeatureGenerator.hxx"
91 #endif
92 
93 #endif
Light weight base class for most itk classes.
typename SpatialObjectType::Pointer SpatialObjectPointer
The base class for all process objects (source, filters, mappers) in the Insight data processing pipe...
class ITK_FORWARD_EXPORT ProcessObject
Definition: itkDataObject.h:40
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.
Control indentation during Print() invocation.
Definition: itkIndent.h:49