ITK  4.6.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)
Control indentation during Print() invocation.
Definition: itkIndent.h:49
SmartPointer< const Self > ConstPointer