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

Would it make sense to include neighboring voxels when harmonizing a nifti image? #15

Closed Saqibm128 closed 2 years ago

Saqibm128 commented 2 years ago

From what I understand, only the same voxels from all nifti files are used in the harmonization.

There's a bit of smoothing that happens though, and info is often carried over into neighboring voxels for some neuroimagin modalities i.e. MRI. Is there ever a scenario it would make sense to try to incorporate that info?

rpomponio commented 2 years ago

Hi there, I'll try to help with your issue but please help to clarify where possible.

Only the same voxels from all nifti files are used in the harmonization

Not sure what you mean by this, but here's an example: If your images are 20x20x20 voxels, we will use all the voxels and harmonize them collectively to end up with new, 20x20x20 images with adjusted voxel intensities.

There's a bit of smoothing that happens though...

Good question! Smoothing can happen at various stages in the image processing pipeline. This harmonization procedure is completely independent from whatever smoothing procedures were applied before running harmonization. For example, if you used 8mm Gaussian smoothing, neuroHarmonize will know nothing about it and it will handle the images identically to a case in which no smoothing was applied. However, there is an Empirical Bayes (EB) step of the ComBat algorithm that accounts for similarities among voxels. But currently the EB implementation does not consider local similarities, only global. Handling local similarity during the harmonization process would be a welcome advancement to the neuroimaging field!

Saqibm128 commented 2 years ago

I'm actually quite a novice at MRI processing so I might not know what I'm saying, but thank you for the clarification! I was mostly curious if this was an idea that made sense or if it already been explored before.