Skip to content

Added vtkFastImplicitModeller filter

Lorenzo Cantelli requested to merge lcantell/vtk:vtkFastIpmlicitModeller into master

New feature: a filter for fast implicit modeling based on Maurer euclidean distance propagation (linear time).

How it works: it can be used as a replacement for vtkImplicitModeller, the two filters have the same parameters and provide similar/comparable results.

Advantages: compared to the existing vtkImplicitModeller, it's less complex and generally faster (linear time) and more suitable for applications that need to be responsive (I prefer not to say "real-time", it would be wrong here). It can also compute signed distance (where the sign indicates if a voxel is inside or outside the input vtkPolyData).

Reference: A Linear Time Algorithm for Computing Exact Euclidean Distance Transforms of Binary Images in Arbitrary Dimensions

Warnings: The normals of the input vtkPolyData need to be pointing outside the geometry, or the algorithm won't work correctly.

Performance comparison: vtkSphereSource to implicit model at different resolutions - timings (on i7 7820HQ)

vtkImplicitModeller example with phiResolution = 128 and thetaResolution = 128

vtkImplicitPerformance

Note: The test is to give a rough idea of how faster the new algorithm is. It does NOT cover all cases, nor it is meant to.

Example project: https://gitlab.kitware.com/lcantell/fastimplicitmodeller

Edited by Lorenzo Cantelli

Merge request reports