mrsiprep.tissue.fuzzy_cmeans
MIDAS-style fuzzy c-means tissue segmentation.
Replicates the tissue-segmentation approach of Maudsley et al. 2006 ("Comprehensive processing, display and analysis for in vivo MR spectroscopic imaging", NMR Biomed 19:492-503), which applies a fuzzy c-means clustering algorithm (their ref. 24, Cheng/Goldof/Hall) to classify voxels into more groups than tissue classes, then merges them into GM/WM/CSF by intensity ordering rules.
The paper uses T1-, T2- and PD-weighted MRIs as multi-channel input; here only the T1w is available, so clustering runs on T1w intensity alone. This is a documented simplification -- the MIDAS-mode-only path in mrsiprep.
Functions
|
Fuzzy c-means on T1w intensities within |
- mrsiprep.tissue.fuzzy_cmeans.fuzzy_cmeans_segment(t1_data, brain_mask, n_clusters=3, m=2.0, max_iter=100, tol=1e-05, seed=0)[source]
Fuzzy c-means on T1w intensities within
brain_mask.Clusters brain voxels into
n_clustersgroups and merges them into{'GM', 'WM', 'CSF'}soft-membership maps at the input resolution (non-brain voxels are 0 in all three). The paper over-clusters on multi-channel T1/T2/PD data; with a single T1w channel, direct 3-cluster segmentation (the default) maps cleanly onto the three tissue classes and gives anatomically sensible GM/WM/CSF volume ratios, whereas over-clustering on one channel tends to inflate the middle (GM) class.n_clusters > 3is still supported (clusters are grouped to the nearest CSF/GM/WM intensity archetype) for experimentation.- Parameters:
t1_data (ndarray)
brain_mask (ndarray)
n_clusters (int)
m (float)
max_iter (int)
tol (float)
seed (int)
- Return type:
dict[str, ndarray]