We present a framework which uses an unscented Kalman filter for performing tractography. At each point on the fiber the most consistent direction is found as a mixture of previous estimates and of the local model.
It is very easy to expand the framework and to implement new fiber representations for it. Currently it is possible to tract fibers using two different 1-, 2-, or 3-tensor methods. Both methods use a mixture of Gaussian tensors. One limits the diffusion ellipsoids to a cylindrical shape (the second and third eigenvalue are assumed to be identical) and the other one uses a full tensor representation.
Authors: Yogesh Rathi ([email protected]), Stefan Lienhard, Yinpeng Li, Martin Styner, Ipek Oguz, Yundi Shi, Christian Baumgartner ([email protected]) Ryan Eckbo
For references and further documentation, please see the Slicer module homepage.
Checkout from github:
git clone git://github.com/pnlbwh/ukftractography.git
There are 3 ways to build this project from source, as a stand alone superbuild, against a Slicer 4 build, and as a Slicer 4 extension build (which is more of a test than anything).
**To use previous version of unscented Kalman filter rename unscented_kalman_filter_previous.cc to unscented_kalman_filter.cc **
cd <build-dir>
cmake <path-to-source>
make
make test
cd <build-dir>
cmake -DSlicer_DIR=<path-to-Slicer4-Superbuild>/Slicer-build <path-to-source>
make
make test
Create local extension index following these instructions, containing at least UKFTractography.s4ext
and Eigen.s4ext
(required dependency).
It may be helpful to test the exension upload using your API key.
Navigate to the Slicer Extension Manager and download UKF Tractography
to
install it as a Slicer 4 module.
The executable will be called 'UKFTractography', and can be found in the bin directory of your build folder.
In order to see all options run.
./UKFTractography --help
In the source directory of the project you will find a shell script called 'sample_run.sh' It should give you an idea of what a function call could look like.
Files dataset_Mask.nrrd and seeds_full_cc.nrrd in Input folder are mask and seed files of subject 100307 in hcp dataset, download the subject's preprocessed diffusion MRI data from https://db.humanconnectome.org/
Navigate to the Slicer Extension Manager and download UKF Tractography
to
install it as a Slicer 4 module. There will be 3 modules under
Diffusion-->Tractography
: UKF Tractography
, vtk2mask
, and vtkFilter
.
On a Mac, there are rounding errors that affect the accuracy of 2T FW tracts. This explains why the 2T_FW ctest fails.