18 #ifndef itkVoronoiSegmentationImageFilterBase_h
19 #define itkVoronoiSegmentationImageFilterBase_h
58 template<
typename TInputImage,
typename TOutputImage,
typename TBinaryPriorImage = Image<
unsigned char, 2 > >
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);
181 #if !defined( ITK_WRAPPING_PARSER ) // generates invalid iterator instantiation
201 typename SeedsType::iterator it = seeds.begin();
212 unsigned char outcolor,
unsigned char boundcolor);
226 ~VoronoiSegmentationImageFilterBase();
227 virtual
void PrintSelf(std::ostream & os,
Indent indent) const ITK_OVERRIDE;
277 void operator=(const
Self &) ITK_DELETE_FUNCTION;
281 #ifndef ITK_MANUAL_INSTANTIATION
282 #include "itkVoronoiSegmentationImageFilterBase.hxx"
Superclass::CellType CellType
TInputImage::Pointer InputImagePointer
void drawVDline(VDImagePointer result, PointType p1, PointType p2, unsigned char color)
Base class for VoronoiSegmentationImageFilter.
void GetPixelIndexFromPolygon(PointTypeDeque VertList, IndexList *PixelPool)
VoronoiDiagram::SeedsType SeedsType
bool m_UseBackgroundInAPrior
VoronoiDiagram::Pointer VoronoiPointer
std::vector< VoronoiEdge >::iterator VoronoiEdgeIterator
int m_NumberOfSeedsToAdded
BinaryObjectImage::Pointer BinaryObjectImagePointer
std::vector< IndexType > IndexList
Represent the size (bounds) of a n-dimensional image.
void SetSeeds(int num, SeedsIterator begin)
Image< unsigned char, 2 > VDImage
void FillPolygon(PointTypeDeque vertlist, OutputPixelType color=1)
VoronoiDiagram::VoronoiEdge EdgeInfo
SeedsType::iterator SeedsIterator
VoronoiDiagram::VoronoiEdgeIterator EdgeIterator
virtual void PrintSelf(std::ostream &os, Indent indent) const override
VoronoiDiagram2DGenerator< double > VoronoiDiagramGenerator
TInputImage::PixelType PixelType
virtual void GenerateInputRequestedRegion() override
CellType::PointIdIterator PointIdIterator
Implements the 2-Dimensional Voronoi Diagram.
VoronoiDiagramGenerator::Pointer m_VDGenerator
ImageToImageFilter< TInputImage, TOutputImage > Superclass
Base class for all process objects that output image data.
VoronoiDiagram::SeedsIterator SeedsIterator
std::vector< unsigned char > m_Label
PointType GetSeed(int SeedID)
VoronoiDiagram::CellAutoPointer CellAutoPointer
VoronoiDiagram::PointType PointType
TOutputImage::PixelType OutputPixelType
SmartPointer< const Self > ConstPointer
VoronoiPointer GetVoronoiDiagram(void)
virtual void EnlargeOutputRequestedRegion(DataObject *output) override
void SetSeeds(SeedsType &seeds)
VoronoiDiagram::CellType CellType
VoronoiDiagram2D< double > VoronoiDiagram
TInputImage::ConstPointer InputImageConstPointer
std::vector< PointType > PointTypeVector
SmartPointer< Self > Pointer
virtual void TakeAPrior(const BinaryObjectImage *)
virtual bool TestHomogeneity(IndexList &)
TOutputImage OutputImageType
INTvector::iterator NeighborIdIterator
std::vector< PointType > m_SeedsToAdded
VoronoiSegmentationImageFilterBase()
VoronoiSegmentationImageFilterBase Self
virtual void MakeSegmentObject()
VDImage::Pointer VDImagePointer
TInputImage InputImageType
bool m_InteractiveSegmentation
void GenerateData() override
VoronoiDiagram::Pointer m_WorkingVD
Base class for filters that take an image as input and produce an image as output.
Implement the Sweep Line Algorithm for the construction of the 2D Voronoi Diagram.
TInputImage::IndexType IndexType
virtual void GenerateAddingSeeds()
Control indentation during Print() invocation.
TBinaryPriorImage BinaryObjectImage
virtual void ClassifyDiagram()
std::vector< PointType > SeedsType
Superclass::CellAutoPointer CellAutoPointer
void DrawDiagram(VDImagePointer result, unsigned char incolor, unsigned char outcolor, unsigned char boundcolor)
std::deque< PointType > PointTypeDeque
A templated class holding a geometric point in n-Dimensional space.
void drawLine(PointType p1, PointType p2)
virtual void MakeSegmentBoundary()
TInputImage::RegionType RegionType
std::vector< int > m_NumberOfPixels
Base class for all data objects in ITK.
Templated n-dimensional image class.
VoronoiDiagram::NeighborIdIterator NeighborIdIterator
TInputImage::SizeType SizeType
static const unsigned int ImageDimension