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);
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);
158 itkSetMacro(
Size, SizeType);
159 itkGetConstMacro(
Size, SizeType);
181 #if !defined( ITK_WRAPPING_PARSER ) // generates invalid iterator instantiation 201 typename SeedsType::iterator it = seeds.begin();
211 void DrawDiagram(VDImagePointer result,
unsigned char incolor,
212 unsigned char outcolor,
unsigned char boundcolor);
227 virtual void PrintSelf(std::ostream & os,
Indent indent)
const ITK_OVERRIDE;
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 &) 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
The "itk" namespace contains all Insight Segmentation and Registration Toolkit (ITK) classes...
~VoronoiSegmentationImageFilterBase()
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
VoronoiDiagram::SeedsIterator SeedsIterator
std::vector< unsigned char > m_Label
unsigned long SizeValueType
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
SizeValueType m_MinRegion
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()
virtual void PrintSelf(std::ostream &os, Indent indent) const override
VDImage::Pointer VDImagePointer
TInputImage InputImageType
bool m_InteractiveSegmentation
void GenerateData() override
void operator=(const Self &) ITK_DELETE_FUNCTION
VoronoiDiagram::Pointer m_WorkingVD
Base class for filters that take an image as input and produce an image as output.
std::vector< SizeValueType > m_NumberOfPixels
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
Base class for all data objects in ITK.
Templated n-dimensional image class.
VoronoiDiagram::NeighborIdIterator NeighborIdIterator
TInputImage::SizeType SizeType
static const unsigned int ImageDimension