larsh957 / Bloch-Simulator

Bloch Simulator for NMR and MRI education
GNU General Public License v3.0
2 stars 0 forks source link

Demonstrating Off-resonance excitation #1

Open dkp opened 6 months ago

dkp commented 6 months ago

@larsh957 we are using your simulator for teaching. It is really helpful! I think it used to be possible to demonstrate how off-resonance excitation was not very useful. However, the current app seems to "fix" the values for you if you set B1freq differently than B0. So now we can't demonstrate off resonance excitation 🥲.

Is there any chance you could put that feature back?

Thank you for your wonderful work!

larsh957 commented 6 months ago

I am happy that you find the Bloch Simulator useful. If off-resonance excitation causes trouble, then you may have encountered a bug, and then please describe in detail how you reproduce it. Several ways seem to work and I know of none that do not. Here are two that do: 1) Choose "Equilibrium", open the field adjustment menu item on the upper left, and adjust B1 up (possibly after adjusting B1freq which is already off-resonance). 2) Choose one of the gradient settings (strong, weak) in the initial condition menu on the lower left before doing excitation. Then you will see excitation both on and on resonance simultaneously (different isochromates).

Please note that the "effective field vector" can be shown as well. It helps making off-resonance excitation understandable.

Kind regards, Lars

dkp commented 6 months ago

Thank you so much for your feedback! I fear the problem may be with me and my expectations and ignorance rather than your tool.

Here's what I did:

Off- and On-resonance Excitation
✅ By default, B0 and B1freq are equivalent because that produces an on-resonance excitation.

You can create an off-resonance condition setting B1freq to be different than B0. ✅ Go back to Equilibrium.

✅ Set B1=0.

✅ Set B1freq=5 (any number would be fine as long as it does NOT match B0!). You have created an off-resonance condition! image

What happens to B1freq in the menu when you apply a pulse (e.g., 90 degree hard) in the off-resonance condition?

The Bloch simulator forces the B1freq to match B0 before applying the pulse!


I'm trying to follow your instructions, but between my lack of knowledge and a few typos (I think), I'm having a tough time.

Bloch_Simulator_for_MRI___NMR_education

What difference am I looking for? Something about the synchronizing of the red and white waveforms? (You taught me a new word: isochromates).

I appreciate your time. I wish I could learn more from the simulator. Do you have a secret stash of example cases and what they illustrate?

larsh957 commented 5 months ago

Your understanding seems fine, but indeed the software is somewhat confusing in this respect.

I guess you now know what I mean by "isochromates", but for the sake of other potential readers, I will start explaining those in the context of the simulator. Isochromates are groups of nuclei experiencing the same applied fields, and in the simulator, the white magnetization bars represent the magnetization vectors of such isochromates. The white bars are therefore not the magnetizations of individual nuclei, but of macroscopic samples of nuclei experiencing the same external fields. In Gradient Views (Weak or Strong, both adjustable) a range of isochromates at different B0 field offsets is shown. In this case the displayed B0-value is only accurate for the center isochromate.

Back to your questions: As you explain well, the RF pulse buttons set the RF frequency B1freq equal to B0 during the applied pulses (as also visible when watching the field values shown to the left). This is maybe counterintuitive, but done to avoid worse confusion: The tip angles indicated on the buttons are only meaningful on resonance, so to make the action match most expectations, the pulses are applied on resonance, i.e. with B1freq adjusted to B0. An exception applies when a range of isochromates is shown (the Gradient and Inhomogeneity Views), since then only the center isochromate is exactly on resonance during the pulse.

In order to illustrate off-resonance behavior, the pulse buttons should therefore probably not be used, except when the Gradient or Inhomogeneity Views are chosen. Alternatively, it is well explored for single isochromates by using the Field selectors instead of pulse buttons, maybe in combination with B1 Rotating Frame Viewing (rotating at B1freq) and viewing of B1eff (the effective field vector (blue), which is only shown in this particular rotating frame. See https://www.youtube.com/watch?v=KURhRO44pkI for demonstration). These two options are briefly mentioned in my first answer.

This video demonstrating slice selection, adiabatic pulses and more, may answer more of your questions. A similar, but trimmed-down version addressing only simulator behaviour is here: https://www.youtube.com/watch?v=sl_DbvmpsAc

I mentioned that white bars show the magnetization vectors of isochromates. The only exception to this is the Ensemble view, where white bars show the Bloch vectors of individual nuclei in a model where quantum indeterminism and entanglement is ignored (see references at http://www.drcmr.dk/MR for details or ask, if interested). The Ensemble view also enables a simple model for paramagnetic relaxation, but these views are irrelevant to your questions.