ITK  4.9.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_EXPORT FeatureGenerator : public ProcessObject
41 {
42 public:
48 
50  itkNewMacro(Self);
51 
53  itkTypeMacro(FeatureGenerator, ProcessObject);
54 
56  itkStaticConstMacro(Dimension, unsigned int, NDimension);
57 
62 
65  void SetInput( const SpatialObjectType * input );
66  const SpatialObjectType * GetInput() const;
68 
71  const SpatialObjectType * GetFeature() const;
72 
73 
74 protected:
76  virtual ~FeatureGenerator();
77  void PrintSelf(std::ostream& os, Indent indent) const;
78 
82  SpatialObjectType * GetInternalFeature();
83 
84 private:
85  FeatureGenerator(const Self&); //purposely not implemented
86  void operator=(const Self&); //purposely not implemented
87 
88 };
89 
90 } // end namespace itk
91 
92 #ifndef ITK_MANUAL_INSTANTIATION
93 # include "itkFeatureGenerator.hxx"
94 #endif
95 
96 #endif
Light weight base class for most itk classes.
The base class for all process objects (source, filters, mappers) in the Insight data processing pipe...
Class that generates features (typically images) used as input for a segmentation method...
SmartPointer< Self > Pointer
SpatialObject< NDimension > SpatialObjectType
Implementation of the composite pattern.
SpatialObjectType::Pointer SpatialObjectPointer
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
SmartPointer< const Self > ConstPointer