#include <itkVoronoiSegmentationImageFilterBase.h>
Inheritance diagram for itk::VoronoiSegmentationImageFilterBase:
Public Types | |
typedef VoronoiSegmentationImageFilterBase | Self |
typedef ImageToImageFilter< TInputImage, TOutputImage > | Superclass |
typedef SmartPointer< Self > | Pointer |
typedef SmartPointer< const Self > | ConstPointer |
typedef TInputImage | InputImageType |
typedef TInputImage::Pointer | InputImagePointer |
typedef TInputImage::ConstPointer | InputImageConstPointer |
typedef TOutputImage | OutputImageType |
typedef TInputImage::IndexType | IndexType |
typedef TInputImage::SizeType | SizeType |
typedef TInputImage::RegionType | RegionType |
typedef TInputImage::PixelType | PixelType |
typedef VoronoiDiagram2D< double > | VoronoiDiagram |
typedef VoronoiDiagram2DGenerator< double > | VoronoiDiagramGenerator |
typedef VoronoiDiagram::PointType | PointType |
typedef VoronoiDiagram::CellType | CellType |
typedef VoronoiDiagram::CellAutoPointer | CellAutoPointer |
typedef VoronoiDiagram::Pointer | VoronoiPointer |
typedef CellType::PointIdIterator | PointIdIterator |
typedef VoronoiDiagram::SeedsType | SeedsType |
typedef VoronoiDiagram::SeedsIterator | SeedsIterator |
typedef VoronoiDiagram::NeighborIdIterator | NeighborIdIterator |
typedef VoronoiDiagram::VoronoiEdgeIterator | EdgeIterator |
typedef VoronoiDiagram::VoronoiEdge | EdgeInfo |
typedef std::vector< PointType > | PointTypeVector |
typedef std::deque< PointType > | PointTypeDeque |
typedef Image< bool, 2 > | BinaryObjectImage |
typedef BinaryObjectImage::Pointer | BinaryObjectImagePointer |
typedef std::vector< IndexType > | IndexList |
typedef Image< unsigned char, 2 > | VDImage |
typedef VDImage::Pointer | VDImagePointer |
Public Methods | |
virtual const char * | GetClassName () const |
itkStaticConstMacro (ImageDimension, unsigned int, TInputImage::ImageDimension) | |
virtual int | GetLastStepSeeds () |
virtual int | GetNumberOfSeedsToAdded () |
virtual void | TakeAPrior (BinaryObjectImage *aprior) |
void | RunSegment (void) |
void | RunSegmentOneStep (void) |
VoronoiPointer | GetVoronoiDiagram (void) |
PointType | GetSeed (int SeedID) |
void | DrawDiagram (VDImagePointer result, unsigned char incolor, unsigned char outcolor, unsigned char boundcolor) |
void | BeforeNextStep (void) |
virtual void | GenerateInputRequestedRegion () |
virtual void | EnlargeOutputRequestedRegion (DataObject *output) |
virtual void | SetNumberOfSeeds (int _arg) |
virtual int | GetNumberOfSeeds () |
virtual void | SetMinRegion (int _arg) |
virtual int | GetMinRegion () |
virtual void | SetSteps (int _arg) |
virtual int | GetSteps () |
virtual void | SetUseBackgroundInAPrior (bool _arg) |
virtual bool | GetUseBackgroundInAPrior () |
virtual void | SetOutputBoundary (bool _arg) |
virtual bool | GetOutputBoundary () |
virtual void | SetMeanDeviation (double _arg) |
virtual double | GetMeanDeviation () |
void | MakeSegmentBoundary (void) |
void | MakeSegmentObject (void) |
void | SetSeeds (int num, SeedsIterator begin) |
Static Public Methods | |
Pointer | New () |
Protected Methods | |
VoronoiSegmentationImageFilterBase () | |
~VoronoiSegmentationImageFilterBase () | |
virtual void | PrintSelf (std::ostream &os, Indent indent) const |
void | GenerateData (void) |
void | ClassifyDiagram (void) |
void | GenerateAddingSeeds (void) |
void | GetPixelIndexFromPolygon (PointTypeDeque VertList, IndexList *PixelPool) |
virtual bool | TestHomogeneity (IndexList Plist) |
void | FillPolygon (PointTypeDeque vertlist) |
void | drawLine (PointType p1, PointType p2) |
void | drawVDline (VDImagePointer result, PointType p1, PointType p2, unsigned char color) |
Protected Attributes | |
SizeType | m_Size |
int | m_NumberOfSeeds |
int | m_MinRegion |
int | m_Steps |
int | m_LastStepSeeds |
int | m_NumberOfSeedsToAdded |
int | m_NumberOfBoundary |
std::vector< int > | m_NumberOfPixels |
std::vector< unsigned char > | m_Label |
double | m_MeanDeviation |
bool | m_UseBackgroundInAPrior |
bool | m_OutputBoundary |
VoronoiDiagram::Pointer | m_WorkingVD |
VoronoiDiagramGenerator::Pointer | m_VDGenerator |
std::vector< PointType > | m_SeedsToAdded |
Voronoi SegmentationImageFilter is a class of segmenation algorithms that works on 2D image. Begin with certain number of seeds, VoronoiSegmentationImageFilter first partition the image plane to voronoi regions, and testing each region by some homogeneity operators, which need to be implemented in the private method: virtual bool TestHomogeneity(IndexList Plist); after testing, all the regions are classified as either "internal" or "external" region and the "boundary" regions was defined as an "external" region that has at least one "internal" region as its neighbor. the algorithm then added seed points to the "boundary" regions (on the edges) and recursively "split" the boundary region until all the "boundary" become sufficiently small. the output of the segmentation can be either a binary object, which is the collection of all the "internal" region. Or a binary boundary delineate, which is defined as the connected lines between seed points of "boundary" region. This class is a base class for voronoi segmenation, single channel or multiple channel image segmenation can be implemented by deriving imagefilters from this class, by implementing the virtual methods
Detailed information about this algorithm can be found in: " Semi-automated color segmentation of anatomical tissue," C. Imelinska, M. Downes, and W. Yuan Computerized Medical Imaging and Graphics, Vor.24, pp 173-180, 2000.
Definition at line 59 of file itkVoronoiSegmentationImageFilterBase.h.
|
Reimplemented in itk::VoronoiSegmentationImageFilter< TInputImage, TOutputImage >, and itk::VoronoiSegmentationRGBImageFilter< TInputImage, TOutputImage >. Definition at line 102 of file itkVoronoiSegmentationImageFilterBase.h. |
|
Definition at line 103 of file itkVoronoiSegmentationImageFilterBase.h. |
|
Definition at line 92 of file itkVoronoiSegmentationImageFilterBase.h. |
|
Definition at line 91 of file itkVoronoiSegmentationImageFilterBase.h. |
|
Reimplemented from itk::ImageToImageFilter< TInputImage, TOutputImage >. Reimplemented in itk::VoronoiSegmentationImageFilter< TInputImage, TOutputImage >, and itk::VoronoiSegmentationRGBImageFilter< TInputImage, TOutputImage >. Definition at line 67 of file itkVoronoiSegmentationImageFilterBase.h. |
|
Definition at line 99 of file itkVoronoiSegmentationImageFilterBase.h. |
|
Definition at line 98 of file itkVoronoiSegmentationImageFilterBase.h. |
|
Reimplemented in itk::VoronoiSegmentationImageFilter< TInputImage, TOutputImage >, and itk::VoronoiSegmentationRGBImageFilter< TInputImage, TOutputImage >. Definition at line 104 of file itkVoronoiSegmentationImageFilterBase.h. |
|
Reimplemented in itk::VoronoiSegmentationImageFilter< TInputImage, TOutputImage >, and itk::VoronoiSegmentationRGBImageFilter< TInputImage, TOutputImage >. Definition at line 84 of file itkVoronoiSegmentationImageFilterBase.h. |
|
Reimplemented from itk::ImageToImageFilter< TInputImage, TOutputImage >. Definition at line 82 of file itkVoronoiSegmentationImageFilterBase.h. |
|
Reimplemented from itk::ImageToImageFilter< TInputImage, TOutputImage >. Reimplemented in itk::VoronoiSegmentationRGBImageFilter< TInputImage, TOutputImage >. Definition at line 81 of file itkVoronoiSegmentationImageFilterBase.h. |
|
Convenient typedefs. Reimplemented from itk::ImageToImageFilter< TInputImage, TOutputImage >. Reimplemented in itk::VoronoiSegmentationImageFilter< TInputImage, TOutputImage >, and itk::VoronoiSegmentationRGBImageFilter< TInputImage, TOutputImage >. Definition at line 80 of file itkVoronoiSegmentationImageFilterBase.h. |
|
Definition at line 97 of file itkVoronoiSegmentationImageFilterBase.h. |
|
Some convenient typedefs. Reimplemented from itk::ImageSource< TOutputImage >. Definition at line 83 of file itkVoronoiSegmentationImageFilterBase.h. |
|
Reimplemented in itk::VoronoiSegmentationRGBImageFilter< TInputImage, TOutputImage >. Definition at line 87 of file itkVoronoiSegmentationImageFilterBase.h. |
|
Reimplemented from itk::ImageToImageFilter< TInputImage, TOutputImage >. Reimplemented in itk::VoronoiSegmentationImageFilter< TInputImage, TOutputImage >, and itk::VoronoiSegmentationRGBImageFilter< TInputImage, TOutputImage >. Definition at line 66 of file itkVoronoiSegmentationImageFilterBase.h. |
|
Definition at line 94 of file itkVoronoiSegmentationImageFilterBase.h. |
|
Definition at line 90 of file itkVoronoiSegmentationImageFilterBase.h. Referenced by itk::VoronoiSegmentationImageFilterBase< TInputImage, TOutputImage >::SetSeeds(), and itk::VoronoiSegmentationImageFilterBase< TInputImage, TOutputImage >::TestHomogeneity(). |
|
Definition at line 101 of file itkVoronoiSegmentationImageFilterBase.h. |
|
Definition at line 100 of file itkVoronoiSegmentationImageFilterBase.h. |
|
Reimplemented in itk::VoronoiSegmentationImageFilter< TInputImage, TOutputImage >, and itk::VoronoiSegmentationRGBImageFilter< TInputImage, TOutputImage >. Definition at line 86 of file itkVoronoiSegmentationImageFilterBase.h. |
|
Definition at line 96 of file itkVoronoiSegmentationImageFilterBase.h. |
|
Definition at line 95 of file itkVoronoiSegmentationImageFilterBase.h. |
|
Standard class typedefs. Reimplemented from itk::ImageToImageFilter< TInputImage, TOutputImage >. Reimplemented in itk::VoronoiSegmentationImageFilter< TInputImage, TOutputImage >, and itk::VoronoiSegmentationRGBImageFilter< TInputImage, TOutputImage >. Definition at line 64 of file itkVoronoiSegmentationImageFilterBase.h. |
|
Definition at line 85 of file itkVoronoiSegmentationImageFilterBase.h. Referenced by itk::VoronoiSegmentationImageFilterBase< TInputImage, TOutputImage >::GetSeed(). |
|
Reimplemented from itk::ImageToImageFilter< TInputImage, TOutputImage >. Reimplemented in itk::VoronoiSegmentationImageFilter< TInputImage, TOutputImage >, and itk::VoronoiSegmentationRGBImageFilter< TInputImage, TOutputImage >. Definition at line 65 of file itkVoronoiSegmentationImageFilterBase.h. |
|
To output the drawing of Voronoi Diagram (VD) . Definition at line 107 of file itkVoronoiSegmentationImageFilterBase.h. |
|
Definition at line 108 of file itkVoronoiSegmentationImageFilterBase.h. Referenced by itk::VoronoiSegmentationImageFilterBase< TInputImage, TOutputImage >::TestHomogeneity(). |
|
Definition at line 88 of file itkVoronoiSegmentationImageFilterBase.h. |
|
Definition at line 89 of file itkVoronoiSegmentationImageFilterBase.h. |
|
Definition at line 93 of file itkVoronoiSegmentationImageFilterBase.h. Referenced by itk::VoronoiSegmentationImageFilterBase< TInputImage, TOutputImage >::TakeAPrior(). |
|
|
|
|
|
|
|
|
|
Draw the Voronoi Diagram structure. |
|
|
|
|
|
This filter does not stream and needs to produce the entire output.
Reimplemented from itk::ProcessObject. |
|
|
|
|
|
A version of GenerateData() specific for image processing filters. This implementation will split the processing across multiple threads. The buffer is allocated by this method. Then the BeforeThreadedGenerateData() method is called (if provided). Then, a series of threads are spawned each calling ThreadedGenerateData(). After all the threads have completed processing, the AfterThreadedGenerateData() method is called (if provided). If an image processing filter cannot be threaded, the filter should provide an implementation of GenerateData(). That implementation is responsible for allocating the output buffer. If a filter an be threaded, it should NOT provide a GenerateData() method but should provide a ThreadedGenerateData() instead.
Reimplemented from itk::ImageSource< TOutputImage >. |
|
This filter does not stream and needs the entire image as input.
Reimplemented from itk::ImageToImageFilter< TInputImage, TOutputImage >. |
|
Run-time type information (and related methods). Reimplemented from itk::ImageToImageFilter< TInputImage, TOutputImage >. Reimplemented in itk::VoronoiSegmentationImageFilter< TInputImage, TOutputImage >, and itk::VoronoiSegmentationRGBImageFilter< TInputImage, TOutputImage >. |
|
Get the number of seeds before adding new ones. |
|
Set/Get the mean deviation. |
|
Set/Get the smallest region to be divided. |
|
Set/Get the initial number of seeds for VD. |
|
Get the number of seeds to add. |
|
Enable the generation of the output boundary. |
|
|
|
|
Set/Get the number of iterations to run (if set to 0: the classification run process runs until no more cells can be divided). |
|
|
|
Return the Voroni Diagram structure. Definition at line 163 of file itkVoronoiSegmentationImageFilterBase.h. References itk::VoronoiSegmentationImageFilterBase< TInputImage, TOutputImage >::m_NumberOfSeeds, and itk::VoronoiSegmentationImageFilterBase< TInputImage, TOutputImage >::m_WorkingVD. |
|
Get the image dimension from the template parameter. Reimplemented from itk::ImageToImageFilter< TInputImage, TOutputImage >. |
|
Create the output binary result for boundaries. |
|
Create the output binary result for boundaries. |
|
Method for creation through the object factory. Reimplemented from itk::ImageToImageFilter< TInputImage, TOutputImage >. Reimplemented in itk::VoronoiSegmentationImageFilter< TInputImage, TOutputImage >, and itk::VoronoiSegmentationRGBImageFilter< TInputImage, TOutputImage >. |
|
Methods invoked by Print() to print information about the object including superclasses. Typically not called by the user (use Print() instead) but used in the hierarchical print process to combine the output of several classes. Reimplemented from itk::ImageToImageFilter< TInputImage, TOutputImage >. |
|
Perform the segmentation. |
|
Perform the segmentation. |
|
Set/Get the mean deviation. |
|
Set/Get the smallest region to be divided. |
|
Set/Get the initial number of seeds for VD. |
|
Enable the generation of the output boundary. |
|
Seeds positions are randomly set. If you need to set seeds position then use the SetSeeds method after the InitializeSegment method . Definition at line 169 of file itkVoronoiSegmentationImageFilterBase.h. References itk::VoronoiSegmentationImageFilterBase< TInputImage, TOutputImage >::m_WorkingVD, and itk::VoronoiSegmentationImageFilterBase< TInputImage, TOutputImage >::PointType. |
|
Set/Get the number of iterations to run (if set to 0: the classification run process runs until no more cells can be divided). |
|
|
|
Take a prior from other segmentation node. This should be a binary object. Reimplemented in itk::VoronoiSegmentationImageFilter< TInputImage, TOutputImage >, and itk::VoronoiSegmentationRGBImageFilter< TInputImage, TOutputImage >. Definition at line 149 of file itkVoronoiSegmentationImageFilterBase.h. References itk::VoronoiSegmentationImageFilterBase< TInputImage, TOutputImage >::m_WorkingVD, and itk::VoronoiSegmentationImageFilterBase< TInputImage, TOutputImage >::VoronoiPointer. |
|
|
Definition at line 209 of file itkVoronoiSegmentationImageFilterBase.h. |
|
Definition at line 205 of file itkVoronoiSegmentationImageFilterBase.h. Referenced by itk::VoronoiSegmentationImageFilterBase< TInputImage, TOutputImage >::GetSeed(). |
|
Definition at line 210 of file itkVoronoiSegmentationImageFilterBase.h. |
|
Definition at line 203 of file itkVoronoiSegmentationImageFilterBase.h. Referenced by itk::VoronoiSegmentationImageFilterBase< TInputImage, TOutputImage >::GetSeed(). |
|
Definition at line 207 of file itkVoronoiSegmentationImageFilterBase.h. Referenced by itk::VoronoiSegmentationImageFilterBase< TInputImage, TOutputImage >::GetSeed(). |
|
Definition at line 208 of file itkVoronoiSegmentationImageFilterBase.h. Referenced by itk::VoronoiSegmentationImageFilterBase< TInputImage, TOutputImage >::GetSeed(). |
|
Definition at line 202 of file itkVoronoiSegmentationImageFilterBase.h. Referenced by itk::VoronoiSegmentationImageFilterBase< TInputImage, TOutputImage >::GetSeed(), and itk::VoronoiSegmentationImageFilterBase< TInputImage, TOutputImage >::GetVoronoiDiagram(). |
|
Definition at line 206 of file itkVoronoiSegmentationImageFilterBase.h. Referenced by itk::VoronoiSegmentationImageFilterBase< TInputImage, TOutputImage >::GetSeed(). |
|
Definition at line 212 of file itkVoronoiSegmentationImageFilterBase.h. |
|
Definition at line 217 of file itkVoronoiSegmentationImageFilterBase.h. |
|
Definition at line 201 of file itkVoronoiSegmentationImageFilterBase.h. Referenced by itk::VoronoiSegmentationImageFilterBase< TInputImage, TOutputImage >::GetSeed(). |
|
Definition at line 204 of file itkVoronoiSegmentationImageFilterBase.h. Referenced by itk::VoronoiSegmentationImageFilterBase< TInputImage, TOutputImage >::GetSeed(). |
|
Definition at line 211 of file itkVoronoiSegmentationImageFilterBase.h. |
|
Definition at line 215 of file itkVoronoiSegmentationImageFilterBase.h. |
|