KWStyle - itkSegmentationBorder.h
 
Matrix View
Description

1 /*=========================================================================
2
3   Program:   Insight Segmentation & Registration Toolkit
4   Module:    $RCSfile: itkSegmentationBorder.h.html,v $
5   Language:  C++
6   Date:      $Date: 2006/01/17 19:15:47 $
7   Version:   $Revision: 1.4 $
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 DEF #ifndef _itkSegmentationBorder_h
18 DEF #define _itkSegmentationBorder_h
19
20 #include "itkObject.h"
21 #include "itkObjectFactory.h"
22 namespace itk
23 {
24
25 /** \class SegmentationBorder
26  * \brief Base class for SegmentationBorder object
27  *
28  * itkSegmentationBorder is the base class for the SegmentationBorder
29  * objects. It provides the basic function definitons that are inherent to a
30  * SegmentationBorder objects.  This object stores information relevant to
31  * the borders that are used in the region growing class. This class allows
32  * access to the parameter that defines the length of the border associated
33  * with this object.  In order to use this object in an application, the
34  * object must be created within the application and then used to
35  * initialize/store/use the various parameters accessible through the public
36  * methods. For usage also see itkRegionGrowImageFiltering class.
37  * This object can be used where a border of a region needs to be defined.
38  * Child classes can be derived from this class for tailoring them towards
39  * specific algorithmic needs.
40  *
41  * \ingroup RegionGrowingSegmentation
42  */
43 class ITKCommon_EXPORT SegmentationBorder : public Object
44 {
45 public:
46   /** Standard class typedefs. */
47   typedef SegmentationBorder   Self;
48 TDA   typedef Object Superclass;
49 TDA   typedef SmartPointer<Self>  Pointer;
50 TDA   typedef SmartPointer<const Self>  ConstPointer;
51
52   /** Method for creation through the object factory. */
53   itkNewMacro(Self);
54
55   /** Run-time type information (and related methods). */
56   itkTypeMacro(SegmentationBorder,Object);
57
58   /** Set/Get the length of a border object. */
59   itkSetMacro(BorderLength, double);
60   itkGetConstReferenceMacro(BorderLength, double);
61
62   /** Define a virtual SegmentationBorder function. This function allows
63    * access to specific instantiations of other border representations. This
64    * is the function should be overloaded in any derived classes for the user
65    * to access the various methods supported by the method. */
66   virtual void ApplySegmentationBorder(){};
67
68 protected:
69   SegmentationBorder();
70   ~SegmentationBorder();
71   void PrintSelf(std::ostream& os, Indent indent) const;
72
73 private:
74   SegmentationBorder(const Self&); //purposely not implemented
75   void operator=(const Self&); //purposely not implemented
76
77   double m_BorderLength;
78
79 }; // class SegmentationBorder
80
81
82 // namespace itk
83
84
85 #endif
86

Generated by KWStyle 1.0b on Tuesday January,17 at 02:14:45PM
© Kitware Inc.