00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017 #ifndef _itkSegmentationRegion_h
00018 #define _itkSegmentationRegion_h
00019
00020 #include "itkObject.h"
00021 #include "itkObjectFactory.h"
00022 #include "vnl/vnl_matrix.h"
00023
00024 namespace itk
00025 {
00026
00048 class ITK_EXPORT SegmentationRegion : public Object
00049 {
00050 public:
00052 typedef SegmentationRegion Self;
00053 typedef Object Superclass;
00054 typedef SmartPointer<Self> Pointer;
00055 typedef SmartPointer<const Self> ConstPointer;
00056
00058 itkNewMacro(Self);
00059
00061 itkTypeMacro(SegmentationRegion,Object);
00062
00064 typedef vnl_matrix<double> VectorOfDoubleType;
00065
00069 virtual void ApplySegmentationRegion(){};
00070
00073 itkSetMacro(RegionLabel, unsigned int);
00074
00076 itkGetMacro(RegionLabel, unsigned int);
00077
00079 itkSetMacro(RegionArea, unsigned int);
00080 itkGetMacro(RegionArea, unsigned int);
00081
00083 itkSetMacro(UniqueLabel, unsigned int);
00084 itkGetMacro(UniqueLabel, unsigned int);
00085
00087 itkSetMacro(MeanRegionIntensity, VectorOfDoubleType)
00088 itkGetMacro(MeanRegionIntensity, VectorOfDoubleType);
00089
00090 protected:
00091 SegmentationRegion();
00092 ~SegmentationRegion();
00093 void PrintSelf(std::ostream& os, Indent indent) const;
00094
00095 private:
00096 SegmentationRegion(const Self&);
00097 void operator=(const Self&);
00098
00099 unsigned int m_RegionLabel;
00100 unsigned int m_RegionArea;
00101 unsigned int m_UniqueLabel;
00102 VectorOfDoubleType m_MeanRegionIntensity;
00103
00104 };
00105
00106
00107 }
00108
00109
00110 #endif
00111
00112
00113
00114