So I have been exploring different brain parcellation techniques, fmri clustering comparison is an article that compares the methods. Has some good insight I think. But there are also other methods like the ones below, and DNN methods.
This article Standardizing human brain parcellations provides good insight for established atlases, but not for generated parcellations.
In studies like this and this and subsequent studies, I’ve seen robust methods using normalized cut, spectral clustering and integration w/ graph theory to produce good parcellations.
However, most of the studies describe the theory and method, without providing packages and tools for said methods. Tools like nilearn, freesurfer provide basic clustering and parcellations, but accuracy are not as good as methods proposed in the studies.
Hence, I’m wondering if there exists a library, github repo, website that aggregates the method and provides easy-to-access, standardized implementation of the methods.
You can find many clustering algorithms in scikit learn.
Normalized cuts is probably not very robust nor stable, and it certainly does not work well with large number of clusters, as you accumulate errors along cluster hierarchy.
2 insights I’ve gained from using those are:
- There is no such thing as a perfect clustering, nor a better clustering methods. And there is no ground truth to compare estimated clusters to. You may want to see clustering as in an ingredient in a wider analysis set up, and not try to make it a meaningful thing.
- Sparse Dictionary learning techniques provide typically more stable and reliable solutions than clustering, because thy relax clustering criteria (that a given voxel is assigned to one and only one cluster) to a more sensible one : that a given voxel is positively correlated with one or few components.
Thanks @bthirion !
Indeed, the different clustering methods, be it classical k-means, ward, n-cut or fancy deep neural network, are hard to draw a single best solution. I’ve personally been using anatomical masks as a reference for cross-method comparison.
dictionary learning I think nilearn has a tutorial.
I’m kind of playing around with different parcellation technologies at the moment, will take a closer look at all the methods provided in scikit learn : D