rpomponio / neuroHarmonize

Harmonization tools for multi-site neuroimaging analysis. Implemented as a python package. Harmonization of MRI, sMRI, dMRI, fMRI variables with support for NIFTI images. Complements the work in Neuroimage by Pomponio et al. (2019).
https://pypi.org/project/neuroHarmonize/
MIT License
79 stars 28 forks source link

Working with high-resolution NIFTI Images #23

Closed WY-SHI closed 8 months ago

WY-SHI commented 2 years ago

The time cost is huge when the ComBat-GAM is performed on high-resolution NIFTI files. I wonder whether NIFTI images can be divided into multiple groups of patches first. For example, $100{\times}120{\times}150$ images can be divided into 1000 groups of $10{\times}12{\times}15$ images for parallel processing. Finally, the results can be combined in order. Is this strategy feasible?

rpomponio commented 8 months ago

Are you using smooth terms? First I would consider whether you need smoothed terms in a voxel-level harmonization (unlikely unless your dataset spans an enormous age range).

Secondly, you could do the patches, although you would be making the assumption that the patches are each regulated by their respective hierarchical distributions (if you use empirical Bayes).

Alternatively, you might down-sample the initial images. I would probably try this first, since the computational complexity of working with high-resolution images is not unique to the harmonization step of the pipeline (you will find similar challenges in downstream analyses, like training regressions).