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

Levelset 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/QGoFilterChanAndVese.h>

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

Public Types

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

Public Member Functions

template<typename TPixel >
void Apply2DFilter (typename itk::Image< TPixel, 2 >::Pointer iITKInput, const std::vector< double > &iCenter, const double &iRadius, const int &iIterations, const int &iCurvature)
 
template<typename TPixel >
void Apply3DFilter (typename itk::Image< TPixel, 3 >::Pointer iITKInput, const std::vector< double > &iCenter, const double &iRadius, const int &iIterations, const int &iCurvature)
 
std::vector< vtkPolyData * > ApplyFilterLevelSet3D (double iRadius, vtkPoints *iPoints, int iIterations, int iCurvature, GoImageProcessor *iImages, int iChannel)
 
std::vector< std::vector
< vtkPolyData * > > 
ApplyFilterSetOf2D (double iRadius, std::vector< vtkPoints * > *iPoints, int iIterations, int iCurvature, int iSampling, GoImageProcessor *iImages, int iChannel)
 
Output2DType::Pointer GetOutput2D ()
 
Output3DType::Pointer GetOutput3D ()
 
 QGoFilterChanAndVese (QObject *iParent=NULL, int iDimension=2)
 Constructor. More...
 
 ~QGoFilterChanAndVese ()
 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 Attributes

int m_Curvature
 
int m_Dimension
 
Output2DType::Pointer m_Image2D
 
Output3DType::Pointer m_Image3D
 
int m_Iterations
 

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

Levelset 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 54 of file QGoFilterChanAndVese.h.

Member Typedef Documentation

typedef Output2DType::Pointer QGoFilterChanAndVese::Output2DPointer

Definition at line 64 of file QGoFilterChanAndVese.h.

typedef itk::Image< float, 2 > QGoFilterChanAndVese::Output2DType

Definition at line 63 of file QGoFilterChanAndVese.h.

typedef Output3DType::Pointer QGoFilterChanAndVese::Output3DPointer

Definition at line 61 of file QGoFilterChanAndVese.h.

typedef itk::Image< float, 3 > QGoFilterChanAndVese::Output3DType

Definition at line 60 of file QGoFilterChanAndVese.h.

Definition at line 58 of file QGoFilterChanAndVese.h.

Constructor & Destructor Documentation

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

Constructor.

Definition at line 60 of file QGoFilterChanAndVese.cxx.

QGoFilterChanAndVese::~QGoFilterChanAndVese ( )

Destructor.

Definition at line 75 of file QGoFilterChanAndVese.cxx.

Member Function Documentation

template<typename TPixel >
void QGoFilterChanAndVese::Apply2DFilter ( typename itk::Image< TPixel, 2 >::Pointer  iITKInput,
const std::vector< double > &  iCenter,
const double &  iRadius,
const int &  iIterations,
const int &  iCurvature 
)
inline

Definition at line 129 of file QGoFilterChanAndVese.h.

template<typename TPixel >
void QGoFilterChanAndVese::Apply3DFilter ( typename itk::Image< TPixel, 3 >::Pointer  iITKInput,
const std::vector< double > &  iCenter,
const double &  iRadius,
const int &  iIterations,
const int &  iCurvature 
)
inline

Definition at line 78 of file QGoFilterChanAndVese.h.

std::vector<vtkPolyData*> QGoFilterChanAndVese::ApplyFilterLevelSet3D ( double  iRadius,
vtkPoints *  iPoints,
int  iIterations,
int  iCurvature,
GoImageProcessor iImages,
int  iChannel 
)
std::vector< std::vector< vtkPolyData * > > QGoFilterChanAndVese::ApplyFilterSetOf2D ( double  iRadius,
std::vector< vtkPoints * > *  iPoints,
int  iIterations,
int  iCurvature,
int  iSampling,
GoImageProcessor iImages,
int  iChannel 
)

Definition at line 201 of file QGoFilterChanAndVese.cxx.

Output2DType::Pointer QGoFilterChanAndVese::GetOutput2D ( )
inline

Definition at line 188 of file QGoFilterChanAndVese.h.

Output3DType::Pointer QGoFilterChanAndVese::GetOutput3D ( )
inline

Definition at line 183 of file QGoFilterChanAndVese.h.

Member Data Documentation

int QGoFilterChanAndVese::m_Curvature
private

Definition at line 199 of file QGoFilterChanAndVese.h.

int QGoFilterChanAndVese::m_Dimension
private

Definition at line 200 of file QGoFilterChanAndVese.h.

Output2DType::Pointer QGoFilterChanAndVese::m_Image2D
private

Definition at line 196 of file QGoFilterChanAndVese.h.

Output3DType::Pointer QGoFilterChanAndVese::m_Image3D
private

Definition at line 195 of file QGoFilterChanAndVese.h.

int QGoFilterChanAndVese::m_Iterations
private

Definition at line 198 of file QGoFilterChanAndVese.h.


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