MASILab / Synb0-DISCO

Distortion correction of diffusion weighted MRI without reverse phase-encoding scans or field-maps
https://my.vanderbilt.edu/masi
57 stars 28 forks source link

[Question] Acqparams in case of multiple b0s #37

Closed ajschadler12 closed 1 year ago

ajschadler12 commented 1 year ago

My apologies for the basic question: In the case of multiple concatenated b0 images, should the acqparams.txt contain n+1 rows, n being the number of b0 volumes?

Vince-LD commented 1 year ago

Hello, What I do is average the b0s in a mean b0 volume and use it for synb0 and the topup. I don't know if it's the best thing to do but it gives me very good results.

Diffusion-MRI commented 1 year ago

Yes - Vince-LD's solution works well. You could alternatively give it just the first (or any) b0 image. Currently the pipeline does not accept multiple b0 images, but we hope to have this in a future iteration so that motion between volumes can be captured.

Vince-LD commented 1 year ago

@Diffusion-MRI, I thought about this at some point. Do you think adding a simple registration (like flirt with 6 dofs) between all 3D volumes in a 4D b=0 volume could be beneficial? cheers

Diffusion-MRI commented 1 year ago

The best thing to do would be to give TOPUP all the b=0 volumes as a 4D image. TOPUP will do the between volume alignment and store that as an input to EDDY along with the estimated field. This would mean both acqparams and index files would need to be adjusted appropriately (which isn't a daunting task, just hasn't been implemented within this pipeline yet).

Vince-LD commented 1 year ago

Thanks for the explanation, but does that mean that there would be one synthetic undistorted b=0 generated for each original b=0?

schillkg commented 1 year ago

To clarify - we have not implemented this yet. The idea above is just what would be an ideal situation (and most close to the way topup + eddy currently work) - where topup not only estimates the field but has an initial guess of movement between the b=0 volumes. Our pipeline just accepts a single volume (3D image) for b=0!