spinal-cord-7t / coil-qc-code

7T Spinal Cord Coil QC Analysis Code
0 stars 0 forks source link

Convert the flip angle maps to B1+ efficiency maps [nT/V] #18

Closed evaalonsoortiz closed 2 months ago

evaalonsoortiz commented 4 months ago

The notebook currently uses the same code that is used in the RF shimming project: https://github.com/shimming-toolbox/rf-shimming-7t/blob/main/content/index.ipynb to convert flip angle maps [degrees] to B1+ efficiency maps [nT/V].

The code code contains the following line: requested_fa = 90 # saturation flip angle -- hard-coded in sequence

Could someone @jcohenadad @dpapp86 confirm that the 90degree flip angle is not hard-coded and that it should be whatever flip angle that was used for the acquisition? I am unsure if this 90 degree flip angle pertains to a pulse that is run before the actual image acquisition itself. @dpapp86 I seem to recall you mentioning something like that.

The turboFLASH scans acquired at VE sites all have a 90 degree flip angle. However, those acquired at the VB17 site have different flip angles (which can be found in the .json). Should our code be retrieving the flip angle recorded in the .json file at all times?

Moreover, DREAM flip angle maps are not acquired with a 90 degree flip angle at VE or VB17 sites. Does this flip-angle-to-B1+-efficiency code still apply for DREAM maps? And if so, should the flip angle be adjusted accordingly?

dpapp86 commented 4 months ago

Hello!

Wrt the saturation pulse:

That flip angle, the saturation flip angle (the pulse that is used to probe B1+ efficiency, and not the excitation pulse), is hard-coded into the sequence on VE (to the best of my knowledge). On VB17 (Mt Sinai, so far), it is set in the "Sat Flip Angle" field under Sequence/Special.

For our acquisitions, this has always been set to 80 deg in Mt Sinai (which has caused some workflow issues with the SOP, as Alan documented in the scan notes and you picked up on here: https://github.com/spinal-cord-7t/coil-qc-code/issues/13#issuecomment-1965270613

For VE scanner (all but Mt Sinai), this 90 degree does not show up anywhere in the default json files. The "FlipAngle" value refers to the excitation FA, 10 degrees.

For VB, however, this field, "FlipAngle", describes the saturation flip angle, being either 80 or 60 or so, as per the name of the sequence.

Needless to say, this is going to make processing annoying. I suggest you treat all VE sites the same, with an assumption of Saturation FA=90, and parse the Mt Sinai site separately, using the FlipAngle field of the JSON file.

WRT DREAM:

How to deal with the DREAM sequences and how to convert them into nT/V maps is described in my original processing code, here: https://colab.research.google.com/drive/1HZYovXC4X-skmH-PcvumpXXXcOWESb0L#scrollTo=621d4320

Luckily, the FlipAngle in the JSON files of the DREAM sequences is the saturation flip angle, so it is easy to exctract it, and my code does it.

evaalonsoortiz commented 4 months ago

Thanks @dpapp86 this is very helpful. If I'm following your code correctly, the conversion for FA-to-nT/V seems to be the same equation for both TFL and DREAM?

My last comment is that, the "flip angle" field in the .json files I've generated seems to be 90 degrees for all TFL scans, and not 10 degrees ... Should I trust this to be the saturation flip angle?

Screenshot 2024-03-10 at 9 58 50 PM
dpapp86 commented 4 months ago

1, Yes, I used the same conversion, and got appreciably similar values. But I think Johanna has some ideas about DREAM. Have you talked to her about the issue?

2, Ah.

I was always looking (for TFL_B1map scans) at the first scan (the GRE-like anatomical) and the corresponding JSON. Maybe the second scan's (the B1+ map) JSONs have the saturation flip angle in them? If this is true, then yes, you should use those JSON files.

A good sanity check is if the FA is below 15 degrees, its likely to be excitation, if its 80 or 90 for TFL, or above 20 for DREAM, its likely to be saturation. Bear in mind that the DREAM is acquired with higher and lower reference voltages, and that the sequence adjusts its saturation FA accordingly (as I recall).

On Mon, Mar 11, 2024 at 3:02 AM evaalonsoortiz @.***> wrote:

Thanks @dpapp86 https://github.com/dpapp86 this is very helpful. If I'm following your code correctly, the conversion for FA-to-nT/V seems to be the same equation for both TFL and DREAM?

My last comment is that, the "flip angle" field in the .json files I've generated seems to be 90 degrees for all TFL scans, and not 10 degrees ... Should I trust this to be the saturation flip angle? Screenshot.2024-03-10.at.9.58.50.PM.png (view on web) https://github.com/spinal-cord-7t/coil-qc-code/assets/6652194/bc377316-fa19-460d-b7fc-d59427bc6705

— Reply to this email directly, view it on GitHub https://github.com/spinal-cord-7t/coil-qc-code/issues/18#issuecomment-1987498882, or unsubscribe https://github.com/notifications/unsubscribe-auth/ATDM6U3UNSX5S5SAK2GW6ODYXUND5AVCNFSM6AAAAABEOOG2O2VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTSOBXGQ4TQOBYGI . You are receiving this because you were mentioned.Message ID: @.***>

evaalonsoortiz commented 2 months ago

This issue has been resolved. The code now looks for the saturation flip angle in the json files.