GOFIGURE2  0.9.0
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
Public Types | Public Member Functions | Private Member Functions | Private Attributes | List of all members
QGoFilterWatershed Class Reference

Watershed segmentation algorithm implementation. Can generate contours and meshes. Will generate 2D objects if m_Dimension<2, 3D objects in the other case. More...

#include <Code/GUI/lib/TraceEditing/QGoFilterWatershed.h>

Inheritance diagram for QGoFilterWatershed:
Inheritance graph
[legend]
Collaboration diagram for QGoFilterWatershed:
Collaboration graph
[legend]

Public Types

typedef Output2DType::Pointer Output2DPointer
 
typedef itk::Image< int, 2 > Output2DType
 
typedef Output3DType::Pointer Output3DPointer
 
typedef itk::Image< int, 3 > Output3DType
 
typedef int OutputPixelType
 

Public Member Functions

template<typename TPixel >
void Apply2DFilter (typename itk::Image< TPixel, 2 >::Pointer iITKInput, const int &iThresMin, const int &iThresMax, const double &iCorrTresh, const double &iAlpha, const double &iBeta)
 
template<typename TPixel >
void Apply3DFilter (typename itk::Image< TPixel, 3 >::Pointer iITKInput, const int &iThresMin, const int &iThresMax, const double &iCorrTresh, const double &iAlpha, const double &iBeta)
 
std::vector< std::vector
< vtkPolyData * > > 
ApplyFilterSetOf2D (double iRadius, int iThresMin, int iThresMax, double iCorrTresh, double iAlpha, double iBeta, int iSampling, std::vector< vtkPoints * > *iPoints, GoImageProcessor *iImages, int iChannel)
 
Output2DType::Pointer GetOutput2D ()
 
Output3DType::Pointer GetOutput3D ()
 
 QGoFilterWatershed (QObject *iParent=NULL, int iDimension=2)
 Constructor. More...
 
 ~QGoFilterWatershed ()
 Destructor. More...
 
- Public Member Functions inherited from QGoFilterSemiAutoBase
virtual void ConnectSignals (int iFilterNumber)
 
template<class PixelType , unsigned int VImageDimension>
vtkImageData * ConvertITK2VTK (typename itk::Image< PixelType, VImageDimension >::Pointer iInput)
 
template<class PixelType , unsigned int VImageDimension>
itk::Image< PixelType,
VImageDimension >::Pointer 
ConvertVTK2ITK (vtkImageData *iInput)
 
vtkImageData * extractOneSlice (vtkImageData *iOriginalImage, double *iOrigin, int iDirection)
 
template<class PixelType , unsigned int VImageDimension>
itk::Image< PixelType,
VImageDimension >::Pointer 
ExtractROI (typename itk::Image< PixelType, VImageDimension >::Pointer, double *iCenter, double iRadius)
 
double * getCenter ()
 Get the center of the area to be segmented. More...
 
int getChannel ()
 Get the channel to be segmented. More...
 
vtkSmartPointer< vtkImageData > getInput ()
 
QString getName ()
 Get Name of the filter in the combo box. More...
 
vtkImageData * getOutput ()
 
vtkPoints * getPoints ()
 
double getRadius ()
 Get the radius of the area to be segmented. More...
 
int getSampling ()
 
QWidget * getWidget ()
 Get the widget associated to the filter. More...
 
 QGoFilterSemiAutoBase (QObject *iParent=NULL)
 Constructor. More...
 
vtkPolyData * ReconstructContour (vtkImageData *iInputImage, const double &iThreshold)
 
vtkPolyData * ReconstructMesh (vtkImageData *iInputImage, const double &iThreshold)
 
vtkPolyData * ReorganizeContour (vtkPolyData *iInputImage=NULL, bool iDecimate=true)
 
void setCenter (double *iCenter)
 
void setName (QString iName)
 Set Name of the filter in the combo box. More...
 
void setOriginalImageMC (std::vector< vtkSmartPointer< vtkImageData > > *iOriginalImage)
 
void setOutput (vtkImageData *iOutput)
 
void setPoints (vtkPoints *iPoints)
 
void setWidget (QWidget *iWidget)
 Set the widget associated to the filter. More...
 
virtual ~QGoFilterSemiAutoBase ()
 Destructor. More...
 

Private Member Functions

void Filter2D (double *iCenter, const int &iOrientation)
 

Private Attributes

double m_Alpha
 
double m_Beta
 
double m_CorrTresh
 
Output2DType::Pointer m_Image2D
 
Output3DType::Pointer m_Image3D
 
int m_TreshMax
 
int m_TreshMin
 

Additional Inherited Members

- Public Slots inherited from QGoFilterSemiAutoBase
void setChannel (int iChannel=0)
 
void setRadius (double iRadius)
 
void setSampling (int iSampling)
 
void UpdateAdvancedMode (bool)
 
void UpdateVisibility (int iFilter)
 
- Signals inherited from QGoFilterSemiAutoBase
void AddContourForMeshToContours (vtkPolyData *)
 
void ContourCreated (vtkPolyData *)
 
void CreateCorrespondingMesh (int)
 
void ImageProcessed ()
 
void MeshCreated (vtkPolyData *, int timePoint=0)
 
void SegmentationFinished ()
 
void UpdateSeeds ()
 
- Public Attributes inherited from QGoFilterSemiAutoBase
int m_Dimension
 

Detailed Description

Watershed segmentation algorithm implementation. Can generate contours and meshes. Will generate 2D objects if m_Dimension<2, 3D objects in the other case.

Definition at line 51 of file QGoFilterWatershed.h.

Member Typedef Documentation

typedef Output2DType::Pointer QGoFilterWatershed::Output2DPointer

Definition at line 61 of file QGoFilterWatershed.h.

typedef itk::Image< int, 2 > QGoFilterWatershed::Output2DType

Definition at line 60 of file QGoFilterWatershed.h.

typedef Output3DType::Pointer QGoFilterWatershed::Output3DPointer

Definition at line 58 of file QGoFilterWatershed.h.

typedef itk::Image< int, 3 > QGoFilterWatershed::Output3DType

Definition at line 57 of file QGoFilterWatershed.h.

Definition at line 55 of file QGoFilterWatershed.h.

Constructor & Destructor Documentation

QGoFilterWatershed::QGoFilterWatershed ( QObject *  iParent = NULL,
int  iDimension = 2 
)
explicit

Constructor.

Definition at line 59 of file QGoFilterWatershed.cxx.

QGoFilterWatershed::~QGoFilterWatershed ( )

Destructor.

Definition at line 77 of file QGoFilterWatershed.cxx.

Member Function Documentation

template<typename TPixel >
void QGoFilterWatershed::Apply2DFilter ( typename itk::Image< TPixel, 2 >::Pointer  iITKInput,
const int &  iThresMin,
const int &  iThresMax,
const double &  iCorrTresh,
const double &  iAlpha,
const double &  iBeta 
)
inline

Definition at line 121 of file QGoFilterWatershed.h.

template<typename TPixel >
void QGoFilterWatershed::Apply3DFilter ( typename itk::Image< TPixel, 3 >::Pointer  iITKInput,
const int &  iThresMin,
const int &  iThresMax,
const double &  iCorrTresh,
const double &  iAlpha,
const double &  iBeta 
)
inline

Definition at line 70 of file QGoFilterWatershed.h.

std::vector< std::vector< vtkPolyData * > > QGoFilterWatershed::ApplyFilterSetOf2D ( double  iRadius,
int  iThresMin,
int  iThresMax,
double  iCorrTresh,
double  iAlpha,
double  iBeta,
int  iSampling,
std::vector< vtkPoints * > *  iPoints,
GoImageProcessor iImages,
int  iChannel 
)

Definition at line 207 of file QGoFilterWatershed.cxx.

void QGoFilterWatershed::Filter2D ( double *  iCenter,
const int &  iOrientation 
)
private

Definition at line 85 of file QGoFilterWatershed.cxx.

Output2DType::Pointer QGoFilterWatershed::GetOutput2D ( )
inline

Definition at line 181 of file QGoFilterWatershed.h.

Output3DType::Pointer QGoFilterWatershed::GetOutput3D ( )
inline

Definition at line 176 of file QGoFilterWatershed.h.

Member Data Documentation

double QGoFilterWatershed::m_Alpha
private

Definition at line 195 of file QGoFilterWatershed.h.

double QGoFilterWatershed::m_Beta
private

Definition at line 196 of file QGoFilterWatershed.h.

double QGoFilterWatershed::m_CorrTresh
private

Definition at line 194 of file QGoFilterWatershed.h.

Output2DType::Pointer QGoFilterWatershed::m_Image2D
private

Definition at line 190 of file QGoFilterWatershed.h.

Output3DType::Pointer QGoFilterWatershed::m_Image3D
private

Definition at line 189 of file QGoFilterWatershed.h.

int QGoFilterWatershed::m_TreshMax
private

Definition at line 193 of file QGoFilterWatershed.h.

int QGoFilterWatershed::m_TreshMin
private

Definition at line 192 of file QGoFilterWatershed.h.


The documentation for this class was generated from the following files: