2010 Winter Project Week The Vascular Modeling Toolkit in 3D Slicer

From NAMIC

Jump to: navigation, search


Key Investigators

  • Daniel Haehn, Student of Medical Informatics, University of Heidelberg, Germany
  • Steve Pieper, Isomics, Inc.
  • Luca Antiga, Mario Negri Institute, Italy

Objective

The Vascular Modeling Toolkit (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. It should be very interesting to offer such techniques in 3D Slicer.


The official project page: http://www.vmtk.org/Main/VmtkIn3DSlicer


Approach, Plan

To provide VMTK functionality in 3D Slicer the vtkVmtk library has to be available as an add-on. With the connection of VMTK and 3D Slicer processing pipelines between VMTK code and other algorithms can be established.


Plan for project week: Clean-up of existing VMTK in 3D Slicer code, maybe adding additional functionality, investigating GWE possibilities..

Progress

The VMTK library and modules providing selected functionality are available as 3D Slicer extensions. This enables a flexible and convenient way for distribution and installation.


The following extensions are available:

  • VmtkSlicerModule - a gui-less module providing the latest VMTK library (base installation)
  • VMTKLevelSetSegmentation - providing the VMTK level-set segmentation process including different algorithms for initialization and evolution
  • VMTKEasyLevelSetSegmentation - an easier interface to level-set segmentation with selected algorithms
  • VMTKVesselEnhancement - Vesselness filtering to enhance tubular structures
  • VMTKCenterlines - Centerline computation of polydata models


The modules have been successfully applied to segmentation problems (e.g. Coronary Artery Centerline Extraction - see Tutorial).

Project Week Results

  • VMTK in 3D Slicer ready to use with Grid Wizard Enterprise (http://www.gridwizardenterprise.org)
  • S2EL files to access the VMTK functionality. (Import of the logic classes)
  • For example Frangi's Vesselness:

${SIGMA_MIN}=$range(0.1,1.0,0.1)
${SIGMA_MAX}=$range(1.0,4.0,0.5)
${SIGMA_STEPS}=$const(10)
${ALPHA}=$range(0.1,1.0,0.1)
${BETA}=$range(5.0,10.0,1.0)
${GAMMA}=$range(5.0,10.0,1.0)
${OUTPUT}=$const(/home/hype/gwe/results/frangi_out-${SIGMA_MIN}-${SIGMA_MAX}-N${SIGMA_STEPS}-${ALPHA}-${BETA}-${GAMMA}.nrrd)

${SLICER_HOME}/Slicer3 --no_splash --evalpython 
"import sys;
from Slicer import slicer;
sys.path.append(str(slicer.Application.GetExtensionsInstallPath())+'/'+str(slicer.Application.GetSvnRevision())+'/VMTKVesselEnhancement/VMTKVesselEnhancement');
from SlicerVMTKVesselEnhancementGUI import *;
hiddengui = VMTKVesselEnhancement();
from SlicerVMTKVesselEnhancementLogic import *;
vesselness=SlicerVMTKVesselEnhancementLogic(hiddengui);

volNode=slicer.VolumesGUI.GetLogic().AddArchetypeVolume('/home/hype/gwe/liver.nrrd','Liver',0); 
matrix = slicer.vtkMatrix4x4();
volNode.GetIJKToRASMatrix(matrix);

outVolumeData = vesselness.ApplyFrangiVesselness(volNode.GetImageData(),${SIGMA_MIN},${SIGMA_MAX},${SIGMA_STEPS},${ALPHA},${BETA},${GAMMA});

outputNode=slicer.MRMLScene.CreateNodeByClass('vtkMRMLScalarVolumeNode');
volumeNode=slicer.MRMLScene.AddNode(outputNode);
volumeNode.SetAndObserveImageData(outVolumeData);
volumeNode.SetIJKToRASMatrix(matrix);
volumeNode.SetModifiedSinceRead(1);
slicer.VolumesGUI.GetLogic().SaveArchetypeVolume(${OUTPUT},volumeNode);"

References

  • Antiga L, Piccinelli M, Botti L, Ene­Iordache B, Remuzzi A, Steinmann DA. (2008) An image­based modeling framework for patient­specific computational hemodynamics. Med Biol Eng Comput 46(11):1097­1112
  • Antiga L, Steinman DA (2008) The Vascular Modeling Toolkit. http://www.vmtk.org/
  • Hähn D (2009) Integration of The Vascular Modeling Toolkit in 3D Slicer. Student Research Project, SPL.
  • Piccinelli M, Veneziani A, Steinman DA, Remuzzi A, Antiga L (2009) A framework for geometric analysis of vascular structures: applications to cerebral aneurysms. IEEE Trans Med Imaging. In press.
Personal tools