Getting Started¶
Installation¶
pip install kwneuro # Core (DTI, CSD, registration, templates)
pip install kwneuro[all] # Everything including optional extras
Individual optional extras can also be installed separately:
pip install kwneuro[hdbet] # Brain extraction (HD-BET)
pip install kwneuro[noddi] # NODDI estimation (AMICO)
pip install kwneuro[tractseg] # Tract segmentation (TractSeg)
pip install kwneuro[combat] # ComBat harmonization (neuroCombat)
Requires Python 3.10+.
Quick start¶
from kwneuro.dwi import Dwi
from kwneuro.io import FslBvalResource, FslBvecResource, NiftiVolumeResource
# Load DWI data into memory
dwi = Dwi(
NiftiVolumeResource("sub-01_dwi.nii.gz"),
FslBvalResource("sub-01_dwi.bval"),
FslBvecResource("sub-01_dwi.bvec"),
).load()
# Denoise and fit DTI (core -- no extras needed)
dwi = dwi.denoise()
dti = dwi.estimate_dti()
fa, md = dti.get_fa_md()
# Brain extraction and NODDI require optional extras:
# pip install kwneuro[hdbet,noddi]
mask = dwi.extract_brain()
noddi = dwi.estimate_noddi(mask=mask)
# Save everything to disk
dti.save("output/dti.nii.gz")
NiftiVolumeResource.save(fa, "output/fa.nii.gz")
noddi.save("output/noddi.nii.gz")
What’s included¶
Capability |
What it does |
Powered by |
Extra |
|---|---|---|---|
Denoising |
Patch2Self self-supervised denoising |
DIPY |
|
Brain extraction |
Deep-learning brain masking from mean b=0 |
HD-BET |
|
DTI |
Tensor fitting, FA, MD, eigenvalue decomposition |
DIPY |
|
NODDI |
Neurite density, orientation dispersion, free water fraction |
AMICO |
|
CSD |
Fiber orientation distributions and peak extraction |
DIPY |
|
Tract segmentation |
72 white-matter bundles from CSD peaks |
TractSeg |
|
Registration |
Pairwise registration (rigid, affine, SyN) |
ANTs |
|
Template building |
Iterative unbiased population templates (single- or multi-metric) |
ANTs |
|
Harmonization |
ComBat site-effect removal for multi-site scalar maps |
neuroCombat |
|