18 #ifndef __itkVoronoiSegmentationImageFilterBase_h
19 #define __itkVoronoiSegmentationImageFilterBase_h
58 template<
class TInputImage,
class TOutputImage,
class TBinaryPriorImage = Image<
unsigned char, 2 > >
76 itkStaticConstMacro(ImageDimension,
unsigned int,
77 TInputImage::ImageDimension);
84 typedef typename TInputImage::SizeType
SizeType;
114 itkSetMacro(NumberOfSeeds,
int);
115 itkGetConstMacro(NumberOfSeeds,
int);
119 itkSetMacro(MinRegion,
int);
120 itkGetConstMacro(MinRegion,
int);
125 itkSetMacro(Steps,
int);
126 itkGetConstMacro(Steps,
int);
130 itkGetConstMacro(LastStepSeeds,
int);
133 itkGetConstMacro(NumberOfSeedsToAdded,
int);
136 itkSetMacro(UseBackgroundInAPrior,
bool);
137 itkGetConstMacro(UseBackgroundInAPrior,
bool);
141 itkSetMacro(OutputBoundary,
bool);
142 itkGetConstMacro(OutputBoundary,
bool);
147 itkSetMacro(InteractiveSegmentation,
bool);
148 itkGetConstMacro(InteractiveSegmentation,
bool);
149 itkBooleanMacro(InteractiveSegmentation);
153 itkSetMacro(MeanDeviation,
double);
154 itkGetConstMacro(MeanDeviation,
double);
167 void RunSegment(
void);
170 void RunSegmentOneStep(
void);
173 virtual void MakeSegmentBoundary(
void);
175 virtual void MakeSegmentObject(
void);
179 {
return m_WorkingVD; }
181 #if !defined( CABLE_CONFIGURATION ) // generates invalid iterator instantiation
188 m_NumberOfSeeds = num;
189 m_WorkingVD->SetSeeds(num, begin);
200 m_NumberOfSeeds = seeds.size();
201 typename SeedsType::iterator it = seeds.begin();
202 m_WorkingVD->SetSeeds(m_NumberOfSeeds, it);
208 {
return m_WorkingVD->GetSeed(SeedID); }
211 void DrawDiagram(VDImagePointer result,
unsigned char incolor,
212 unsigned char outcolor,
unsigned char boundcolor);
214 void BeforeNextStep(
void);
218 virtual void GenerateInputRequestedRegion();
222 virtual void EnlargeOutputRequestedRegion(
DataObject *output);
227 virtual void PrintSelf(std::ostream & os,
Indent indent)
const;
229 void GenerateData(
void);
256 virtual void ClassifyDiagram(
void);
259 virtual void GenerateAddingSeeds(
void);
267 void FillPolygon(PointTypeDeque vertlist, OutputPixelType color = 1);
270 void drawLine(PointType p1, PointType p2);
273 void drawVDline(VDImagePointer result, PointType p1, PointType p2,
unsigned char color);
277 void operator=(
const Self &);
281 #ifndef ITK_MANUAL_INSTANTIATION
282 #include "itkVoronoiSegmentationImageFilterBase.hxx"