ITK  4.6.0
Insight Segmentation and Registration Toolkit
itkSegmentationModule.h
Go to the documentation of this file.
1 /*=========================================================================
2 
3  Program: Insight Segmentation & Registration Toolkit
4  Module: itkSegmentationModule.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 __itkSegmentationModule_h
18 #define __itkSegmentationModule_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 SegmentationModule : public ProcessObject
41 {
42 public:
48 
50  itkNewMacro(Self);
51 
53  itkTypeMacro(SegmentationModule, ProcessObject);
54 
56  itkStaticConstMacro(Dimension, unsigned int, NDimension);
57 
62 
65  void SetInput( const SpatialObjectType * input );
66  const SpatialObjectType * GetInput() const;
68 
71  void SetFeature( const SpatialObjectType * feature );
72  const SpatialObjectType * GetFeature() const;
74 
76  const SpatialObjectType * GetOutput() const;
77 
80  unsigned int GetExpectedNumberOfFeatures() const;
81 
82 protected:
84  virtual ~SegmentationModule();
85  void PrintSelf(std::ostream& os, Indent indent) const;
86 
87  /* Derived classes MUST implement the "void GenerateData ()" method */
88 
91  SpatialObjectType * GetInternalOutput();
92 
93 private:
94  SegmentationModule(const Self&); //purposely not implemented
95  void operator=(const Self&); //purposely not implemented
96 
97 };
98 
99 } // end namespace itk
100 
101 #ifndef ITK_MANUAL_INSTANTIATION
102 # include "itkSegmentationModule.hxx"
103 #endif
104 
105 #endif
Light weight base class for most itk classes.
SpatialObjectType::Pointer SpatialObjectPointer
The base class for all process objects (source, filters, mappers) in the Insight data processing pipe...
Class provides the abstract interface of the segmentation methods.
SmartPointer< const Self > ConstPointer
Implementation of the composite pattern.
virtual void SetInput(const DataObjectIdentifierType &key, DataObject *input)
SmartPointer< Self > Pointer
Control indentation during Print() invocation.
Definition: itkIndent.h:49
SpatialObject< NDimension > SpatialObjectType