Overview¶
Brainnetome DiffusionKit is a light one-stop cross-platform solution to dMRI data analysis. The package delivers a complete pipeline from data format conversion to preprocessing, from local reconstruction to fiber tracking, and from fiber statistics to visualization. DiffusionKit was developed as a cross-platform framework, using ITK [1] for computation, VTK [2] for visualization, and Qt for GUI design. Both GPU and CPU computing were implemented for visualization to achieve high frame-rate, for rendering complex scene like whole brain tractographs in particular. The project was managed using the compiler-independent CMake [3], which is compatible with gcc/g++ and MS Visual Studio, etc. Well-established algorithms, such as the DICOM conversion tool dcm2nii by Chris Rorden [4] and the constrained spherical deconvolution (CSD) for HARDI reconstruction in MRtrix [5], were adopted with improved interface and user experience.
Key functions of the software¶
Functions | Program | Description (use ‘-h’ argument for more details) |
---|---|---|
Preprocess | dcm2nii | Convert DICOM to unified 4D NIFTI files |
bneddy | Correct eddy current induced distortion and head motion | |
topup/eddy | Correct eddy current and susceptibility induced distortion and head movements | |
bet2 | Extract brain tissue (Smith, 2002) | |
bnsplit,bnmerge | Split/merge the 4D image along the 4th dimension | |
Modeling | bndti_estimate | Estimate tensor model, output FA, MD, tensor etc. |
bnhardi_ODF_estimate | Estimate ODF by SPFI method | |
bnhardi_FOD_estimate | Estimate FOD by CSD method (Tournier et al., 2007) | |
Tracking | bndti_tracking | Track white matter fiber based on tensor model |
bnhardi_tracking | Track white matter fiber based on ODF/FOD | |
Visualize | bnviewer | Visualize various kinds of data (.nii.gz, .trk) |
Tools | bncalc,bnroisplit | Numeric calculation and ROI generation |
bninfo | Show the head information of DICOM and NIFTI files | |
reg_aladin,reg_f3d | Inter/intra-image registration across modalities | |
reg_resample, reg_transform | Resample and apply transformation matrix | |
bnfiber_end, bnfiber_prune | Prune fiber bundle, logical and/or/not based on ROIs | |
bnfiber_stats | Export attributes of fiber bundles | |
bnfiber_map | Generate the fiber density going through each voxel | |
bnnetwork | Function to construct anatomical network |
It should be noteworthy that, for all the computing steps provided in GUI, the called commands with the complete parameter list are displayed in a separate log window. Such a design is special for the users to keep in mind what he/she is doing, and furthermore, it could be directly copied into script (Bash, Python …) for batch processing.