You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardexpand all lines: paper/paper.md
+13-10
Original file line number
Diff line number
Diff line change
@@ -29,10 +29,9 @@ bibliography: paper.bib
29
29
---
30
30
31
31
# Summary
32
-
**M**agnetic **R**esonance **I**maging (MRI) is a non-invasive non-ionisong technique mainly used to acquire images of the human body. To do so, $MRI$ uses **R**adio**F**requency (RF) pulses to excite matter, and magnetic gradients to encode the image. This toolbox focuses on the simulation and evaluation of such RF pulses.
32
+
**M**agnetic **R**esonance **I**maging (MRI) is a non-invasive non-ionisong technique mainly used to acquire images of the human body. To do so, MRI uses **R**adio**F**requency (RF) pulses to excite matter, and magnetic gradients to encode the image. This toolbox focuses on the simulation and evaluation of such RF pulses.
33
33
34
-
Why ? Because here is a **lot** of them ! Some pulses are designed to selectivly excite a specific volume, like a thin slice of matter, while other are called "non-selective" and will excite the whole volume in the scanner.
35
-
Why are they so different from each other ? How to compare them ? Which one to choose ? The [main objective]{.ul} of this toolbox is to answer these questions, using a Graphical User Interface (GUI) or pragramaticaly, or both.
34
+
Why ? Because here is a **lot** of them ! Some pulses are designed to selectivly excite a specific volume, like a thin slice of matter, while other are called "non-selective" and will excite the whole volume, without spatial selectivity. Why are they so different from each other ? How to compare them ? Which one to choose ? The [main objective]{.ul} of this toolbox is to answer these questions, using a **G**raphical **U**ser **I**nterface (GUI) or pragramaticaly, or both.
36
35
37
36
# Statement of need
38
37
An RF pulse is _complex_ curve. It can be associated with a magnetic gradient curve which is _real_. Modern MRI scanners do use this complex RF curve : you provide the _magnitude_ and the _phase_ of the pulse. To simulate the pulse response, we can solve the Bloch equations [@Bloch:1946] that describe the evolution of a magnitisation vector under a magnetic field. Depending on different starting conditions, we can evaluate, for example, the slice profile of a slice-selective RF pulse.
@@ -41,22 +40,26 @@ An RF pulse is _complex_ curve. It can be associated with a magnetic gradient cu
41
40
42
41
## Interactivity
43
42
Open the GUI and click on a pulse in the library list. The pulse is loaded with default parameters, which are displayed and editable, and it's curves are plotted:
43
+
44
44
{width="60%"}
45
45
46
-
Simulation parameters, such as magnetic field strength, can be edited :
46
+
Simulation parameters, such as magnetic field strength, can be edited :
47
+
47
48
{width="60%"}
48
49
49
-
By default, the simulation is automatically triggered, and the results plotted :
50
+
By default, the simulation is automatically triggered, and the results plotted :
51
+
50
52
{width="100%"}
51
53
52
-
All UI parameters possess an _update_ mechanism, mostly used to trigger the simulation with the fresh value. Changing a parameter such as the pulse duration, in the GUI or programaticaly, will update the pulse, re-plot it's curves, and the simulation updated.
54
+
Changing a parameter such as the pulse duration, in the GUI or programaticaly, will update the pulse, re-plot it's curves, and the simulation updated.
55
+
All UI parameters possess an _update_ mechanism, mostly used to trigger the simulation with the fresh value.
53
56
54
57
## Usage
55
-
As mentioned, the package was designed to work with both GUI and scripting. The GUI allows fast pulse exploration, since the simulation is updated if any parameter change. Meanwhile, when you need to optimize pragramatically a pulse, or if you need to compare two pulses, coding should is a better choice. This is why there are many analysis scripts bundeled. These scripts use the full API provided by this package and take advantage of the MATLAB easy vector computation and plotting system.
58
+
As mentioned, the package was designed to work with both GUI and scripting. The GUI allows fast pulse exploration, since the simulation is updated if any parameter changes. Meanwhile, when you need to optimize pragramatically a pulse, or if you need to compare two pulses, coding should be a better choice. This is why there are many analysis scripts bundeled. These scripts use the full API provided by this package and take advantage of the MATLAB easy vector computation and plotting system.
56
59
57
-
The user can use it's on pulses :
58
-
* by selecting the `USER_DEFINED` pulse in the GUI, then fill in the curves, and finally trigger the simulation.
59
-
* by add it's on pulses in a dedicated directory, so they will appear in th GUI.
60
+
The user can use it's on pulses by:
61
+
- Selecting the `USER_DEFINED` pulse in the GUI (see the top left of \autoref{fig:gui_pulse_definition}), then fill in the curves, and finally trigger the simulation.
62
+
- Adding it's on pulses in a dedicated directory, so they will appear in th GUI.
60
63
61
64
## Modularity
62
65
Many pulses are composed using different algorithm. For example, `sinc_mb_verse` uses the Sinc as base waveform [@Bernstein:2004], then the Simultaneous Multi-slice MutliBand (mb) algorithm to excite multiple slices at once [@Barth:2016], and finally the VERSE algorithm compresses the pulse in time to achieve the same slice profile while keeping the pulse under constrains, such as the maximum RF amplitude [@Conolly:1988; @Hargreaves:2004]. The composition of `sinc_mb_verse` pulse comes from the heritage of all 3 classes : the `sinc` pulse, the `sms_mb` abstract class, and the `verse` abstract class :
0 commit comments