Synb0-DISCO icon indicating copy to clipboard operation
Synb0-DISCO copied to clipboard

Issues with susceptibility distortion correction in brainstem

Open halmgren opened this issue 4 months ago • 4 comments

Hi there,

Thank you very much for creating and sharing this amazing tool.

I am having issues with susceptibility distortion corrections in the brainstem. I generated the synthetic b0-file (see below), which follows the anatomy quite well. However, when I use FSLtopup with synb0 the brainstem somehow gets squeezed, which affects tractography eventually (see below). My brainmask covers the brainstem quite well, so that shouldn’t be the issue.

I was wondering whether you have encountered anything similar before.

Best,

Hannes


Synthetic b0: image

T1w image: image

Raw b0: image

Corrected b0:

screenshot 1

image

screenshot 2

image

Corrected b0 overlaid on T1w image: image

Tractography: image

halmgren avatar Feb 18 '24 23:02 halmgren

Hi Hannes - you are right, I don't quite like what is happening in the brainstem. We generally go through a few steps to debug.

First - it is hard to tell on the screen grab, but we ask 'is the synthetic b0 reasonable'? I like to look at this in two ways. First, I look at b0_all and flip between the first and second volumes. The first is the distorted (acquired b0), the second is the synthesized. Hopefully, the synthesized is less-distorted, and is correctly 'stretched' in in the brainstem region. Second, I like to compare the synthetic b0 to the T1 and ask whether it better matches than the original distorted data. It appears based on the screen grab that it does, but I can't quite confirm.

Second - does the topup correction using the distorted+synthesized image work? I usually look at b0_all_topup and flip between the first and second volumes. These should 'ideally' be the same geometry, or similar. Can you confirm that this is indeed the case?

If not, we can slowly debug step by step. I would maybe try this without the brain mask (as that is the default settings and how this was trained), then try it with the brain mask if that fails.

Let me know about #1 and #2 above.

Thank you - Kurt

schillkg avatar Feb 18 '24 23:02 schillkg

Hi Kurt,

Thanks for your prompt reply.

The synthesized b0-image does coregister well with the T1w image, however, the boundaries of the brainstem are much less well-defined compared to the raw b0 (see below for screenshots).

The problem indeed occurs when I use topup with those images. The corrected b0 (first image of b0_all_topup) looks very blurry (see below), while the synthesized b0 still looks fine. I didn't use a brainmask for this step (it was used for eddy-current correction later), I stuck to the default.

Best,

Hannes


synthesized B0: image

raw b0: image

corrected b0: image

halmgren avatar Feb 19 '24 05:02 halmgren

Hmmm - I am also not entirely content with these results. The synthesized image seems to be OK, although I agree the brainstem loses a bit of contrast. It is possible the algorithm is less robust in the brainstem (about 1/3 of the training set had very small field of view). But I'm surprised it is still not pushing the mid-brain area more anterior. Instead of letting synb0-dicso run topup, you can use the b0_all and run topup using the default parameters. You would do this like:

topup -v --imain=b0_all.nii.gz --datain=acqparams.txt --config=***** --iout=test_b0_all_topup.nii.gz --out=test_topup

For the configuration file you can leave that blank, or test different settings of the configuration file (although I would personally choose to use the default b02b0.cnf. If that doesn't work, I'm not sure what else could be causing the unique blurring you are getting.

schillkg avatar Feb 19 '24 15:02 schillkg

Hi, Thanks for your response. I already ran topup separately from the synb0-container using the b02b0.cnf configuration file, but that didn't change much. I will play around with the topup-configurations and see whether that helps.

halmgren avatar Feb 19 '24 22:02 halmgren