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 ITKCommon_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