2010 Winter Project Week Tractography
- BWH: James Malcolm, Peter Savadjiev, Yogesh Rathi, C-F Westin
ObjectiveIntegrate recent methods for filtered tractography into Slicer3 using Python.
PlanImplement various local models and filtering techniques. Support both region-of-interest and fiducial seeding. Support both interactive and batch processing. Picking fibers and moving them between polydata structures.
We have Python/NumPy implementations of various local models (single-tensor, two-tensor, Watson functions, weighted mixtures of these, etc.) and various model-based filters (Kalman, unscented Kalman, particle, etc.) and deterministic tractography infrastructure.
However, it is unusably slow (the MATLAB version runs faster). Profiling the code seems to indicate that there is too much NumPy overhead in manipulating lots of small matrices/vectors. Now reimplementing in C/C++.
- Malcolm, Michailovich, Bouix, Westin, Shenton, Rathi. "A filtered approach to neural tractography using the Watson directional function", MedIA 14(1), p.58-69, 2010.
- Malcolm, Shenton, Rathi. "Neural tractography using an unscented Kalman filter", IPMI, p.126-138, 2009.
- Savadjiev, Zucker, Siddiqi. "On the Differential Geometry of 3D Flow Patterns: Generalized Helicoids and Diffusion MRI Analysis", ICCV 2007