pnlbwh / dMRIharmonization

Multi-site dMRI harmonization
Other
43 stars 14 forks source link

Replacing SPM, FSL, REISERT tools with standard Python packages #59

Open tashrifbillah opened 4 years ago

tashrifbillah commented 4 years ago

An experiment is in progress to minimize external dependencies of harmonization software. For this purpose, py-devel branch has been created that comes with three environment variables:

DTIFIT_TOOL={FSL,DIPY}
INTERP_TOOL={SPM,SCIPY}
UNRING_TOOL={REISERT,DIPY}

spm-bspline (default) branch has the first value from respective sets. On the other hand, second value in each set corresponds to standard Python packages. In py-devel branch, @tashrifbillah set the second value for all the variables and obtained good results on his custom-made connect_prisma test data. Notably, the custom-made test data does not even contain full brain and contain only 15 gradients for each DWI. Since the algorithm performs well on this so-called test data, it should have the potential of performing well on real DWI data.

This experiment opens scope for replacing FSL, SPM, and REISERT dependencies with standard Python libraries while preserving functionality of the software. Convinced by the outcome of this experiment, we can comment that maybe travelHeads=0/1 was the only bug that yielded discrepancies between Python and MATLAB software. The above standard libraries may have been performing well but we were not looking at the right cause and so ended up replacing them in first place. cc @sbouix @yrathi @suheyla2

tashrifbillah commented 4 years ago

https://github.com/pnlbwh/dMRIharmonization/tree/py-devel