The module vmtk_wrapper is largely a wrapper for vmtkscripts, incorporating the ease-of-use of PyVista.
Moving forward, it would be nice to re-write this using vtkvmtk and PyVista directly, but wrapping vmtkscripts works for now.
surfacecontains theSurfer()class, which incorporates surface-based operations.meshingcontains theMesher()class for generating volume meshes and files necessary for simulation. Inherits fromSurfer(). Note: VMTK TetGen is reallly buggy, YMMV.resample_surfacecontainsResampler()to sample ugly meshes to an image, then re-contour the image to get a surface.make_submission_filemakes the bash submission file formatted for the BSL solver on Mehdi's niagara.commoncontains some useful odds and ends.
VMTK has a lot of out-of-date requirements, so surface, meshing, and vmtk_wrapper rely on VMTK, but common and resample_surface may have different requirements.
Requirements:
- vtk
- numpy
- pyvista=0.29
- scipy
- h5py
- pymeshfix
- vmtk
- networkx
- matplotlib
- TubeClipper (https://github.com/Biomedical-Simulation-Lab/tubeclipper)
First, conda env as here: http://www.vmtk.org/download/
Then
conda install -c conda-forge pyvista networkx scipy ipython h5py matplotlib
Then clone and install tubeclipper using pip.
When installing on workstation (ubuntu), also had to conda install llvm=3.3 and make sure pyvista=0.29
For an example of using this for meshing, see the meshing_example.sh file in scripts.