TGSTK  0.0.1
The Tumour Growth Simulation ToolKit
tgstkImageToMeshFilter Class Reference

Tetrahedral mesh generation from a multiclass label image. More...

#include <tgstkImageToMeshFilter.h>

Inheritance diagram for tgstkImageToMeshFilter:
tgstkImageProcessorBase tgstkMeshProcessorBase tgstkAlgorithmBase tgstkAlgorithmBase tgstkObjectBase tgstkObjectBase

Public Member Functions

 tgstkImageToMeshFilter ()
 
 ~tgstkImageToMeshFilter ()
 
bool check ()
 
void execute ()
 
void exudeOff ()
 
void exudeOn ()
 
vtkSmartPointer< vtkUnstructuredGrid > getOutputMesh ()
 
void lloydOff ()
 
void lloydOn ()
 
void odtOff ()
 
void odtOn ()
 
void perturbOff ()
 
void perturbOn ()
 
void setInputImage (vtkSmartPointer< vtkImageData > image)
 
void setMaximumCellRadiusEdgeRatio (double maximumCellRadiusEdgeRatio)
 
void setMaximumCellSize (double maximumCellSize)
 
void setMaximumFacetDistance (double maximumFacetDistance)
 
void setMaximumFacetSize (double maximumFacetSize)
 
void setMinimumFacetAngle (double minimumFacetAngle)
 
void setUseExude (bool useExude)
 
void setUseLloyd (bool useLloyd)
 
void setUseODT (bool useODT)
 
void setUsePerturb (bool usePerturb)
 
- Public Member Functions inherited from tgstkImageProcessorBase
virtual ~tgstkImageProcessorBase ()
 
- Public Member Functions inherited from tgstkAlgorithmBase
virtual ~tgstkAlgorithmBase ()
 
bool update ()
 
- Public Member Functions inherited from tgstkObjectBase
virtual ~tgstkObjectBase ()
 
std::string getObjectName ()
 
- Public Member Functions inherited from tgstkMeshProcessorBase
virtual ~tgstkMeshProcessorBase ()
 

Private Attributes

double maximumCellRadiusEdgeRatio
 
double maximumCellSize
 
double maximumFacetDistance
 
double maximumFacetSize
 
double minimumFacetAngle
 
bool useExude
 
bool useLloyd
 
bool useODT
 
bool usePerturb
 
vtkSmartPointer< vtkImageData > inputImage
 
vtkSmartPointer< vtkUnstructuredGrid > outputMesh
 

Additional Inherited Members

- Protected Member Functions inherited from tgstkImageProcessorBase
 tgstkImageProcessorBase ()
 
bool _assertImageNumberOfScalarComponents (vtkSmartPointer< vtkImageData > image, std::vector< int > numberOfScalarComponents, std::string name)
 
bool _assertImageScalarType (vtkSmartPointer< vtkImageData > image, std::vector< int > scalarTypes, std::string name)
 
bool assertEqualImageDimensions (std::vector< vtkSmartPointer< vtkImageData >> images)
 
bool assertEqualImageSpacings (std::vector< vtkSmartPointer< vtkImageData >> images)
 
- Protected Member Functions inherited from tgstkAlgorithmBase
 tgstkAlgorithmBase ()
 
template<typename Type >
bool _assertNotNullPtr (Type var, std::string name)
 
template<typename Type >
bool _assertValueInRange (Type var, Type min, Type max, std::string name)
 
template<typename Type1 , typename Type2 >
bool _assertValueIsEqual (Type1 var1, Type2 var2, std::string name1, std::string name2)
 
- Protected Member Functions inherited from tgstkObjectBase
 tgstkObjectBase ()
 
- Protected Member Functions inherited from tgstkMeshProcessorBase
 tgstkMeshProcessorBase ()
 
- Static Protected Member Functions inherited from tgstkImageProcessorBase
template<typename Type >
static void fillImage (vtkSmartPointer< vtkImageData > image, Type value)
 
static vtkSmartPointer< vtkImageData > getNewImageFromReferenceImage (vtkSmartPointer< vtkImageData > reference, int type, int numberOfComponents=1)
 
- Protected Attributes inherited from tgstkObjectBase
std::string objectName
 

Detailed Description

Tetrahedral mesh generation from a multiclass label image.

tgstkImageToMeshFilter generates a tetrahedral mesh from a label image with multiple subdomains using 3D restricted Delaunay triangulation with a protecting phase to guarantee an accurate representation of the subdomain boundaries. The filter is based on the CGAL library.

Constructor & Destructor Documentation

◆ tgstkImageToMeshFilter()

tgstkImageToMeshFilter::tgstkImageToMeshFilter ( )

◆ ~tgstkImageToMeshFilter()

tgstkImageToMeshFilter::~tgstkImageToMeshFilter ( )

Member Function Documentation

◆ check()

bool tgstkImageToMeshFilter::check ( )
virtual

Reimplemented from tgstkAlgorithmBase.

◆ execute()

void tgstkImageToMeshFilter::execute ( )
virtual

Implements tgstkAlgorithmBase.

◆ exudeOff()

void tgstkImageToMeshFilter::exudeOff ( )

Deactivates the CGAL sliver exuder.

See [1].

◆ exudeOn()

void tgstkImageToMeshFilter::exudeOn ( )

Activates the CGAL sliver exuder.

See [1].

◆ getOutputMesh()

vtkSmartPointer< vtkUnstructuredGrid > tgstkImageToMeshFilter::getOutputMesh ( )

Gets the generated tetrahedral mesh.

The mesh is of type vtkUnstructuredGrid.

◆ lloydOff()

void tgstkImageToMeshFilter::lloydOff ( )

Deactivates the CGAL Lloyd smoother.

See [1].

◆ lloydOn()

void tgstkImageToMeshFilter::lloydOn ( )

Activates the CGAL Lloyd smoother.

See [1].

◆ odtOff()

void tgstkImageToMeshFilter::odtOff ( )

Deactivates the CGAL ODT smoother.

See [1].

◆ odtOn()

void tgstkImageToMeshFilter::odtOn ( )

Activates the CGAL ODT smoother.

See [1].

◆ perturbOff()

void tgstkImageToMeshFilter::perturbOff ( )

Deactivates the CGAL sliver perturber.

See [1].

◆ perturbOn()

void tgstkImageToMeshFilter::perturbOn ( )

Activates the CGAL sliver perturber.

See [1].

◆ setInputImage()

void tgstkImageToMeshFilter::setInputImage ( vtkSmartPointer< vtkImageData >  image)

Sets the multiclass label image.

The image scalar type must be VTK_UNSIGNED_SHORT.

◆ setMaximumCellRadiusEdgeRatio()

void tgstkImageToMeshFilter::setMaximumCellRadiusEdgeRatio ( double  maximumCellRadiusEdgeRatio)

◆ setMaximumCellSize()

void tgstkImageToMeshFilter::setMaximumCellSize ( double  maximumCellSize)

◆ setMaximumFacetDistance()

void tgstkImageToMeshFilter::setMaximumFacetDistance ( double  maximumFacetDistance)

◆ setMaximumFacetSize()

void tgstkImageToMeshFilter::setMaximumFacetSize ( double  maximumFacetSize)

◆ setMinimumFacetAngle()

void tgstkImageToMeshFilter::setMinimumFacetAngle ( double  minimumFacetAngle)

◆ setUseExude()

void tgstkImageToMeshFilter::setUseExude ( bool  useExude)

Activates/deactivates the CGAL sliver exuder.

See [1].

◆ setUseLloyd()

void tgstkImageToMeshFilter::setUseLloyd ( bool  useLloyd)

Activates/deactivates the CGAL Lloyd smoother.

See [1].

◆ setUseODT()

void tgstkImageToMeshFilter::setUseODT ( bool  useODT)

Activates/deactivates the CGAL ODT smoother.

See [1].

◆ setUsePerturb()

void tgstkImageToMeshFilter::setUsePerturb ( bool  usePerturb)

Activates/deactivates the CGAL sliver perturber.

See [1].

Member Data Documentation

◆ inputImage

vtkSmartPointer<vtkImageData> tgstkImageToMeshFilter::inputImage
private

◆ maximumCellRadiusEdgeRatio

double tgstkImageToMeshFilter::maximumCellRadiusEdgeRatio
private

◆ maximumCellSize

double tgstkImageToMeshFilter::maximumCellSize
private

◆ maximumFacetDistance

double tgstkImageToMeshFilter::maximumFacetDistance
private

◆ maximumFacetSize

double tgstkImageToMeshFilter::maximumFacetSize
private

◆ minimumFacetAngle

double tgstkImageToMeshFilter::minimumFacetAngle
private

◆ outputMesh

vtkSmartPointer<vtkUnstructuredGrid> tgstkImageToMeshFilter::outputMesh
private

◆ useExude

bool tgstkImageToMeshFilter::useExude
private

◆ useLloyd

bool tgstkImageToMeshFilter::useLloyd
private

◆ useODT

bool tgstkImageToMeshFilter::useODT
private

◆ usePerturb

bool tgstkImageToMeshFilter::usePerturb
private

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