Western Univeristy Brainhack 2026 Project
Diffusion Weighted MRI (dMRI) is a cool technology that has improved our understanding of brain microstructure and disease. In research, there are multiple approaches to model microstructure from dMRI data. For example, Diffusion Kurtosis Imaging (DKI) calculates quantitative metrics that potentially explain the brain's complex microstructural configuration. Here at Western, members of the CFMM have developed improvements for DKI making it more robust to noise while also reducing their acquisition time in the MRI scanner. However, these implementations were done on a closed platform (Matlab). This project aims to disseminate open science practices and research done here at Western, integrating these developments into the open source DIPY ecosystem (Python). We hope to give back powerful tools to the neuroscience community to tackle complex questions with dMRI.
Skills for project: Familiarity with matlab, python, git, dMRI... But not really, everyone is welcome. If you are interested in any of these topics you can join. Skill level doesn't matter.
Check the vibe coded plan here
- Introduction. Hands on on
nii2kurt.mand DIPY DKI fitting. - Undestand how
nii2kurt.moperates. Identify the axysimmetric DKI fitting. - Translate the
nii2kurt.maxisymmetric DKI fitting algorithm from MATLAB to Python.
- Integrate implementation into DIPY following the existing class architecture.
- Validate outputs against the MATLAB reference implementation.
- Provide tests and a tutorial notebook for the DIPY community.
- Source (MATLAB):
nii2kurt.min MatMRI - Target (Python): Mirror the structure of
dipy/reconst/dki.pyanddipy/reconst/msdki.py
- Poject repository
- matMRI (Matlab package where the method was originally implemented in function nii2kurt.m):
- Dipy. Python ecosystem for models fitting and general proccessing of dMRI data.
- Dipy devolpers documentation
The axisymmetric DKI fitting approach:
- Reduces the number of free parameters by enforcing rotational symmetry about the principal diffusion axis
- Is significantly more robust to noise
- Enables clinically viable acquisition schemes (as few as 10 directions)
Standard DKI fits 22 free parameters (6 diffusion tensor + 15 kurtosis tensor + 1 S0). The axisymmetric model reduces this by assuming rotational symmetry around the principal eigenvector, leaving only 5 parameters:
| Parameter | Symbol | Description |
|---|---|---|
| Parallel diffusivity | D∥ | Along the fiber axis |
| Perpendicular diffusivity | D⊥ | Transverse to fiber |
| Parallel kurtosis | W∥ | Kurtosis along fiber |
| Perpendicular kurtosis | W⊥ | Kurtosis transverse |
| Symmetry axis | n̂ | Principal eigenvector direction |
This reduced parameterization is what allows robust fitting from far fewer gradient directions.
The model produces the following maps (NIfTI images):
FA.nii.gz— Fractional AnisotropyMD.nii.gz— Mean DiffusivityAD.nii.gz— Axial Diffusivity (D∥)RD.nii.gz— Radial Diffusivity (D⊥)Wm.nii.gz— Mean KurtosisAK.nii.gz— Axial Kurtosis (W∥)RK.nii.gz— Radial Kurtosis (W⊥)
- Hamilton et al. 2024 — The axisymmetric DKI paper
- Hansel Axysimetric DKI paper
- DKI original paper