Supported by Orobix srl
vmtk is a collection of libraries and tools for 3D reconstruction, geometric analysis, mesh generation and surface data analysis for image-based modeling of blood vessels.
Learn MoreSegmentation of vascular segments (or other anatomical structures) from medical images
Compute centerlines and maximal inscribed sphere radius of branching tubular structures given their polygonal surface representation
Geometric analysis and surface data processing of 3D models of blood vessels
Surface remeshing, volume meshing and generation of boundary layers of prismatic elements with varying thickness for Computational Fluid Dynamics.
Mapping and patching of fluid dynamics variables, particle tracing and more...
PypeS is the glue among vmtk scripts. It allows new scripts to be written easily, to have a common interface and to interact with each other.
or visit the vmtk Documentation
Custom development and training courses
Need support for vmtk? Please use the vmtk official support group.
Need to develop problem-specific algorithms, custom pipelines or dedicated user interfaces?
Orobix srl offers professional support around (but not limited to):
or visit the Orobix website
We are pleased to announce the latest version of VMTK is ready for general use! Please see the documentation below for details.
VMTK now supports the following python versions for each platform:
VMTK has officially embraced the Anaconda Python packaging and distribution system for dependency and code management. Official releases are posted to the VMTK Anaconda Channel. Our Installation Instruction have been updated on the VMTK webpage to reflect the change.
Executable installers are also available at the VMTK Downloads Page.
In the future, we plan to also post releases to the conda-forge Anaconda channel. We are waiting for conda-forge to support VTK on MacOSX before making this transition.
Please note: we will no longer be releasing new versions of VMTK on PyPi
We now allow you to use all of the functionality that VMTK offers in filtering images, creating surfaces, centerlines, or volumetric meshes, while seemlessly being able to employ any external processing available in the scientific python ecosystem. With the following new methods, you can losslesly translate data (generated in either VMTK or in Python proper) back and forth between the VTK data formats and Numpy Arrays:
A tutorial has been provided on the VMTK website which walks you through the process of interacting with the translation routines
With the VMTK-Numpy conversion utilities, we now allow VMTK data structures to be saved (and read) to disk as HDF5 or Python Pickle objects. These methods are available in the following methods:
It is now significantly easier to break up pypes run on the command line. Instead of relying on output members to specify input array names for scripts down the pype, we now include sensible defaults to the input array names. It is now possible to run one set of commands which generate a surface/centerline from an image, write those files to disk, and run another set of commands which perform further calculations or visualizations with no need to respecify array names.
To demonstrate this consider the following example where we have previously generated centerlines from a surface and saved it to disk as a centerlines.vtp
file. If we later decide that we wanted to split the centerlines into their respective branches (see the branch splitting tutorial for details), we would previously have had to specify the array name where the maximum inscribed sphere radius was stored (ie. MaximumInscribedSphereRadius by default) as shown in the following pype script:
vmtkbranchextractor -ifile centerlines.vtp -radiusarray MaximumInscribedSphereRadius -ofile centerlines_split.vtp
With this update, if you did not specifically change the default names for the data arrays during creation of the centerlines file it will be filled in for you, and following pypescript will work as intended:
vmtkbranchextractor -ifile centerlines.vtp -ofile centerlines_split.vtp
It should be noted that this does not require any change in workflows that are already predefined. Any manually specified pype argument will override the default value. The same goes for vmtkscripts which are run from within a conventional python file. The default values have been updated on the VMTK Docs Webpage.
VTK 8.1 is the default which will be distributed with binary packages. Custom builds should be able to use back to VTK 6.
ITK 4.13.0 is the default which is distributed with binary packages. Custom builds should be able to use back to ITK 4.9
The VMTK build system and community workflows have undergone significant updates. We’ve documented the new process in our Contributing Guidelines. Changes of particular significance are:
With this release, the following python packages are requirements of VMTK. Please note that this is included soley for informational purposes (and developers who intend to build from source). The VMTK anaconda package (and windows installer) will automatically solve and configure the dependencies appropriatly for your system and current environment.
-d
argument). See #220Thank you to the following people for dedicating their time and effort into making VMTK 1.4 possible!