kschan0214 / sepia

Matlab GUI pipeline application for quantitative susceptibility mapping (QSM)
MIT License
46 stars 10 forks source link

Problems in Phase unwrapping using ROMEO #85

Closed Shashank-Vijayaprasadh closed 3 months ago

Shashank-Vijayaprasadh commented 4 months ago

Hii I have been working on SEPIA toolbox for a while and I have run into some problems with the scans using the ROMEO. The scans look messy starting from the field map stage till end of SEPIA processing pipeline and I have little clue on what could have gone wrong. It would be great if you can take a look into it! I use SEPIA 1.2.2.3 for processing. I will add the images of the chimap and fieldmap of good and bad brain scans.

Chimap bad Fieldmap bad Chimap good Fieldmap good
kschan0214 commented 4 months ago

Hi Shashank,

Thanks for getting in touch. I failed to re-create the issue in my first attempt using SEPIA v1.2.2.3. Can you provide the following information to me so that I can re-create the issue under the same circumstances:

Thanks!

Shashank-Vijayaprasadh commented 4 months ago

Hi Kwok, Thank you for checking it out! Matlab Version - R2019b OS Version - I am not sure since I use cluster PC at Donder's ROMEO Version - I use the SEPIA v1.2.2.3, but I am not sure how I can check the version of ROMEO from it Copy of the sepia_config.m - sepia_config.txt

kschan0214 commented 3 months ago

Hi Shashank,

Thanks for the information. I managed to reproduce the same issue as you encountered. The issue occurred when both the bipolar eddy current phase correction and the MCPC-3D-S phase offset removal of ROMEO were set 'on'. I am not sure why exactly this happens on some dataset when the others are unaffected, as the bipolar eddy current corrected data does not contain any unusual value (e.g. NaN, inf, etc.) when I checked but I guess it could be due to some voxels that have very low SNR created a sharp change in phase after the correction which might cause the error in MCPC-3D-S processing later on.

The phase unwrapping and echo combination step works without error when only either one of the correction is enabled (i.e. bipolar eddy correction -> 'on' and MCPC-3D-S -> 'off'; or bipolar eddy correction -> 'off' and MCPC-3D-S -> 'on'). Based on my observation on your data, it seems to me that the data was acquired using monopolar gradient readout. If this is the case, you should turn off the bipolar eddy correction to avoid over-correcting the data, i.e.: algorParam.unwrap.isEddyCorrect = 0;

Let me know if this solve your problem!

Shashank-Vijayaprasadh commented 3 months ago

Dear Kwok, Sorry for the late reply. Indeed after turning off the bipolar eddy correction, the algorithm worked! Thank you