CMRR-C2P / MB

Support for CMRR multi-band pulse sequences
http://www.cmrr.umn.edu/multiband/
MIT License
57 stars 20 forks source link

Dark voxels with MB + SENSE1 #278

Open Lestropie opened 2 years ago

Lestropie commented 2 years ago

Hi all,

I've not been able to find any reference to the particular artifact I've observed, so hoping that this isn't a duplicate and that someone may be able to provide some insight.

I had noticed incidentally in my in vivo DWIs "dark voxels" where the mean signal was lower than that expected given their respective neighbourhoods. I subsequently then observed the same in fMRI experimentation on a simple water bottle phantom. What appears to be happening is some form of local phase cancellation arising from the multi-slice unaliasing. Here is an example of what the magnitude and phase images look like:

Magnitude, stack of slices: SENSE1_dropout

Magnitide, within-slice: SENSE1_dropout_2

Phase, within-slice: SENSE1_dropout_4

This is not merely a matter of phase wrap: there's a 2pi cycle observed when tracing a circle centred at the highlighted voxel, and that couldn't possibly be corrected by any unwrapping algorithm. This makes the precise phase in that voxel ill-defined, which presumably leads to unwanted destructive interference across coils (or something like that).

Testing has shown that this artifact only appears if all of the following are true:

I'm guessing that this is some intrinsic interaction between the geometry of the slice stack and the geometry of the head coil, and thus can't be trivially addressed. I am however curious to know if anybody else has witnessed the same effect, and whether any thought has gone into how such issues could conceivably be corrected at the image reconstruction stage.

Cheers Rob

rjgenik commented 2 years ago

Hi Rob,

I have seen something similar but in a completely different context, outside of 3-d imaging, when considering NN vibration simulations in 3D solid state modelling.

On the phase image, you see a smooth demarcation at the 2pi to 0 wrap coming down the left side. This bounces up one voxel right at the minimum, and seems to put an exact zero at the voxel neighbor down and left of the VOI. This leads the NN smoothing algorithm to a discontinuity when centered on the VOI.

What I tracked down in my situation was an incorrect boundary transition, something like < should have been <=, or vice versa, or an average was being calculated with raw numbers instead of considering special cases at the boundary. The offending elseif block was either in the phase algorithm or the NN averaging, but the issue precipitated to taking the mean including the 0-2pi transition. The algorithm was treating these terms as averaging to pi, when the correct answer should be also near the 0-2pi boundary. I solved this with something like a treating the zero, or near-zero, as 2pi + epsilon in the mean calculation in certain cases.

Hope that helps some.

Sincerely,

Rich

From: Robert Smith @.*** Sent: Thursday, October 14, 2021 5:07 AM To: CMRR-C2P/MB Cc: Subscribed Subject: [CMRR-C2P/MB] Dark voxels with MB + SENSE1 (#278)

[EXTERNAL]

Hi all,

I've not been able to find any reference to the particular artifact I've observed, so hoping that this isn't a duplicate and that someone may be able to provide some insight.

I had noticed incidentally in my in vivo DWIs "dark voxels" where the mean signal was lower than that expected given their respective neighbourhoods. I subsequently then observed the same in fMRI experimentation on a simple water bottle phantom. What appears to be happening is some form of local phase cancellation arising from the multi-slice unaliasing. Here is an example of what the magnitude and phase images look like:

Magnitude, stack of slices: [SENSE1_dropout]https://user-images.githubusercontent.com/5637955/137283854-ce127e8a-711c-4124-8cf6-8db36a0c6471.PNG

Magnitide, within-slice: [SENSE1_dropout_2]https://user-images.githubusercontent.com/5637955/137283907-9e6b96d9-432e-449a-b323-1283848304f3.PNG

Phase, within-slice: [SENSE1_dropout_4]https://user-images.githubusercontent.com/5637955/137283986-a80fbfc7-9a22-4cf5-9b3c-ca26e9843d76.PNG

This is not merely a matter of phase wrap: there's a 2pi cycle observed when tracing a circle centred at the highlighted voxel, and that couldn't possibly be corrected by any unwrapping algorithm. This makes the precise phase in that voxel ill-defined, which presumably leads to unwanted destructive interference across coils (or something like that).

Testing has shown that this artifact only appears if all of the following are true:

I'm guessing that this is some intrinsic interaction between the geometry of the slice stack and the geometry of the head coil, and thus can't be trivially addressed. I am however curious to know if anybody else has witnessed the same effect, and whether any thought has gone into how such issues could conceivably be corrected at the image reconstruction stage.

Cheers Rob

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHubhttps://github.com/CMRR-C2P/MB/issues/278, or unsubscribehttps://github.com/notifications/unsubscribe-auth/ABZYTIA7LDTAWYY45Z6AX23UG2MTBANCNFSM5F7EL5GA. Triage notifications on the go with GitHub Mobile for iOShttps://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675 or Androidhttps://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.

eauerbach commented 2 years ago

Yes, this is a curious problem, we have been trying to figure it out. It would appear to originate in the SENSE profile estimation, but we haven't isolated it yet. I have not seen it so clearly in a phantom before, however; that is very interesting and makes it much easier to isolate than in noisy in vivo data. Do you happen to have the raw data from the above that you could send?

Some boundary glitch around -π, 0, or +π seems plausible—I am finding it easy to descend into madness looking into the quirks and edge conditions of different atan2 implementations...

whitecraine commented 2 years ago

Hi Rob, I actually had an OHBM abstract on this topic recently (attached below). At least for the fMRI side, if Maxwell Corrections are disabled (i.e. phase recon is turned on in the C2P) then the worm artifact goes away. We only tested this for the MB2 multi-echo fMRI case so it is interesting that you find it with higher MB cases even when phase is turned on.

Joseph

SENSE1_fMRI2.pdf

Lestropie commented 2 years ago

Thanks all for the feedback.

@eauerbach: While I don't have the raw data from this particular acquisition, if you are unable to yourself obtain data in a phantom that reproduces the fault, I could potentially do a tailored acquisition to get exactly what you need; let me know if that's the case, and if so if there would be utility at your end in having data with a few different protocols.

Lestropie commented 2 years ago

@eauerbach: From an unrelated experiment I do now have full TWIX data for imaging a phantom where this problem manifests. Would you be happy for me to send a link to those data (~7GB) to yourself or someone else via email?

Lestropie commented 2 years ago

I was directed to an ISMRM abstract that may be relevant if aiming to integrate a fix for this specific issue.

eauerbach commented 4 months ago

Sorry this has taken so long, I believe it should be fixed for the most part in the latest version (R017pre9), which I am rolling out now. I can't guarantee it is a 100% fix, but in all of my tests so far it seems to eliminate the issue.

Before now the SENSE1 object phase correction across channels was calculated independently for each 2D slice (in image space), so the result could be inconsistent depending the content of individual slices. Now it uses a common estimate for all slices, calculated either from the k-space center of the strongest 2D slice, or for 3D imaging the 3D k-space center of the strongest (or only) slab.

In addition to fixing the issue here with dark pixels (presumably just due to the better quality of the estimate), the single common estimate should eliminate the "striping" issue when looking at stacks of slices (issues #309, #287).

Lestropie commented 4 months ago

Thanks for the notification @eauerbach; if our site obtains the updated sequence I'll re-acquire the phantom with our 32ch coil and report back.

adamnarai commented 2 months ago

We encountered a similar artefact when using the cmrr_mbep2d_bold sequence (R017 pre9 for XA30A). It appears only when phase recon is turned on (even with forced maxwell correction), but not visible when using magnitude reconstruction only.

Scanner: 3T Prisma @ XA30A, 32-channel head coil Sequence details: 2.6 mm iso, 5 echos (12.6, 30.72, 48.82, 66.94, 85.04 ms), MB=4, GRAPPA=2, TR=1700 ms

phase_on_magnitude_coronal phase_on_magntiude phase_on_phase_axial phase_on_phase

Lestropie commented 2 months ago

Posting images showing manifestation of this issue with R017pre9 sequence here in order to de-clutter the corresponding discussion (#288).

Below is a cylindrical phantom, b=0 volume using the DIFF sequence (second pair are zoomed views of the first), slice encoding approximately HF (IS) axis.

Screenshot from 2024-07-24 12-19-51 Screenshot from 2024-07-24 12-19-59

Screenshot from 2024-07-24 12-19-22 Screenshot from 2024-07-24 12-19-30

eauerbach commented 2 months ago

We encountered a similar artefact when using the cmrr_mbep2d_bold sequence (R017 pre9 for XA30A). It appears only when phase recon is turned on (even with forced maxwell correction), but not visible when using magnitude reconstruction only.

Scanner: 3T Prisma @ XA30A, 32-channel head coil Sequence details: 2.6 mm iso, 5 echos (12.6, 30.72, 48.82, 66.94, 85.04 ms), MB=4, GRAPPA=2, TR=1700 ms

Was this for certain using SENSE1, i.e. in the image comment on the scanner does it say SENSE1++? (FWIW, SENSE1 is magnitude only, SENSE1+ is phase corrected, SENSE1++ is phase corrected with the "new and improved" optimization). Do you have the raw data for these images?

adamnarai commented 2 months ago

Yes, it says SENSE1++ in the image comment. We have the raw data, I can share it with you, where should I send it?

eauerbach commented 2 months ago

I think you should be able to upload it here: https://umn.app.box.com/f/dca3ad88229d41fb97e1bf1cf71f3bda

adamnarai commented 2 months ago

Thanks, I just uploaded it.

eauerbach commented 2 months ago

Sorry, I meant the Twix (meas.dat) raw data. Do you have that?

adamnarai commented 2 months ago

Sorry, we don't have that, but we will try to reproduce the artefact and then I will save out the raw data.

adamnarai commented 2 months ago

We were able to reproduce it and I just uploaded the meas.dat and dicom files.

whitecraine commented 1 month ago

We also see the dark voxel artifact on VE12U AP02 R017 when doing SE diff EPI w/ SENSE1+. Will it automatically switch to SENSE1++ if I upgrade to the pre9 version? Any way to retro recon with different recon methods other than toggling SENSE1 off vs on?

Example impacted slice below (adjacent slices are not as bad).

phase magnitude