Skip to content

Commit

Permalink
Finish inline b0
Browse files Browse the repository at this point in the history
  • Loading branch information
mathieuboudreau committed Oct 8, 2024
1 parent b359ad7 commit 5bd52c1
Show file tree
Hide file tree
Showing 4 changed files with 9 additions and 9 deletions.
6 changes: 3 additions & 3 deletions 5 B0 Mapping/3 Phase Unwrapping/03-Spatial Unwrapping.md
Original file line number Diff line number Diff line change
Expand Up @@ -14,15 +14,15 @@ numbering:
template: Eq. %s
---

Spatial unwrapping uses the spatial characteristics of images to unwrap the data. The wrapped image should vary smoothly. Spatial unwrapping typically uses a region-growing algorithm which identifies and rectifies where there are offsets greater than 2. An example of a 1D signal of a linearly evolving phase is shown in [](#b0Plot11) to illustrate the phase that we would want to recover from the wrapped phase that would be acquired through space.
Spatial unwrapping uses the spatial characteristics of images to unwrap the data. The wrapped image should vary smoothly. Spatial unwrapping typically uses a region-growing algorithm which identifies and rectifies where there are offsets greater than {math}`2\pi`. An example of a 1D signal of a linearly evolving phase is shown in [](#b0Plot11) to illustrate the phase that we would want to recover from the wrapped phase that would be acquired through space.

:::{figure} #fig5p11cell
:label: b0Plot11
:enumerator: 5.11
1D example of a wrapped phase (blue) with the true phase (red)
:::

A more complex example is shown in [](#b0Plot12) where phase varies spatially in a non-linear fashion. When the signal is unwrapped, different solutions are expected. These solutions vary by 2n. Its cause and potential remedy are described in the following section.
A more complex example is shown in [](#b0Plot12) where phase varies spatially in a non-linear fashion. When the signal is unwrapped, different solutions are expected. These solutions vary by {math}`2n\pi`. Its cause and potential remedy are described in the following section.


:::{figure} #fig5p12cell
Expand All @@ -31,7 +31,7 @@ A more complex example is shown in [](#b0Plot12) where phase varies spatially in
A more complex example of a signal wrapped and unwrapped. Note that three possibilities are possible when unwrapping, depending on which part of the signal is selected to be the true phase. The slider can be moved left to right to show the wrapped and unwrapped data.
:::

A common issue with spatial unwrapping which stems from region growing algorithms is that the region of interest needs to be defined in a single region, or there can be a 2n offset between regions. Moreover, region growing algorithms usually require thresholding so that noise is not unwrapped.
A common issue with spatial unwrapping which stems from region growing algorithms is that the region of interest needs to be defined in a single region, or there can be a {math}`2n\pi` offset between regions. Moreover, region growing algorithms usually require thresholding so that noise is not unwrapped.

A 2D example of wrapped and unwrapped simulated data is shown in [](#b0Plot13). The concept can be expanded to 3D data as well. Note that more wraps result in higher field inhomogeneity.

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,6 @@ numbering:
equation:
template: Eq. %s
---
There is ambiguity to unwrapping and a choice needs to be made regarding the true signal (see [](#b0Plot12)). If the wrong one is selected, this creates a 2n offset from the true phase. When unwrapping a single phase volume, an educated guess can be made by calculating the average phase in the ROI and expect that to be close to 0 (we assume here that a good frequency shim was first performed in the ROI). n is chosen and the 2n offset is removed from the unwrapped phase map such that the average phase in the ROI is close to 0. Note that this is not a perfectly robust solution because phase is also affected by other factors such as the receive coil, RF pulse and [eddy currents](https://en.wikipedia.org/wiki/Eddy_current) which could cause the average phase offset to deviate from 0. Fortunately, phase difference images are more reliably unwrapped since some of the phase offsets are constant in both phase images and are removed when performing the phase difference resulting in a phase offset closer to 0.
There is ambiguity to unwrapping and a choice needs to be made regarding the true signal (see [](#b0Plot12)). If the wrong one is selected, this creates a {math}`2n\pi` offset from the true phase. When unwrapping a single phase volume, an educated guess can be made by calculating the average phase in the ROI and expect that to be close to 0 (we assume here that a good frequency shim was first performed in the ROI). n is chosen and the {math}`2n\pi` offset is removed from the unwrapped phase map such that the average phase in the ROI is close to 0. Note that this is not a perfectly robust solution because phase is also affected by other factors such as the receive coil, RF pulse and [eddy currents](https://en.wikipedia.org/wiki/Eddy_current) which could cause the average phase offset to deviate from 0. Fortunately, phase difference images are more reliably unwrapped since some of the phase offsets are constant in both phase images and are removed when performing the phase difference resulting in a phase offset closer to 0.

If multiple echoes are acquired, a combination of spatial and temporal unwrapping may be necessary. Multi-echo field mapping is discussed in the following section. Note that with appropriate selections of the echo times, the 2n offset ambiguity can be remedied.
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ numbering:
equation:
template: Eq. %s
---
Phase maps sometimes have wraps that are not possible to unwrap with traditional phase unwrapping techniques. One example is shown in [](#b0Plot14). Phase singularities, also called poles or open ended fringe lines, hinder the abilities of unwrappers to get an accurate unwrapped phase. As can be seen in the following figure, there are two points where the phase is ambiguous. When unwrapping spatially, if two points are selected arbitrarily in the ROI, one would expect that all possible paths linking both points to cross the same number of wraps. Otherwise, crossing a different number of wraps results in ambiguous phase values. Counting wraps can be done by counting the sharp phase transitions where - to (black to white) results in +1 wrap and to - (white to black) results -1 wrap. However, phase singularities create paths that have a different number of wrap crossings, resulting in ambiguous phase values. [](#b0Plot14) is used as an example to illustrate the above statements. When unwrapping from point A to B, the left path crosses no wraps and would therefore expect the phase to go from 34 to -34, however, the right path crosses a wrap and would therefore expect to go from 34 to -34+2. This is problematic as the phase becomes ambiguous. Phase singularities are usually a result of a poor coil combination process. There are some techniques to mitigate the issue, but the main solution is to correctly combine the coil maps to avoid the singularities altogether.
Phase maps sometimes have wraps that are not possible to unwrap with traditional phase unwrapping techniques. One example is shown in [](#b0Plot14). Phase singularities, also called poles or open ended fringe lines, hinder the abilities of unwrappers to get an accurate unwrapped phase. As can be seen in the following figure, there are two points where the phase is ambiguous. When unwrapping spatially, if two points are selected arbitrarily in the ROI, one would expect that all possible paths linking both points to cross the same number of wraps. Otherwise, crossing a different number of wraps results in ambiguous phase values. Counting wraps can be done by counting the sharp phase transitions where {math}`-\pi` to {math}`+\pi` (black to white) results in +1 wrap and {math}`+\pi` to {math}`-\pi` (white to black) results -1 wrap. However, phase singularities create paths that have a different number of wrap crossings, resulting in ambiguous phase values. [](#b0Plot14) is used as an example to illustrate the above statements. When unwrapping from point A to B, the left path crosses no wraps and would therefore expect the phase to go from {math}`3/4\pi` to {math}`-3/4\pi`, however, the right path crosses a wrap and would therefore expect to go from {math}`3/4\pi` to {math}`-3/4\pi+2\pi`. This is problematic as the phase becomes ambiguous. Phase singularities are usually a result of a poor coil combination process. There are some techniques to mitigate the issue, but the main solution is to correctly combine the coil maps to avoid the singularities altogether.


:::{figure} #fig5p14cell
Expand Down
8 changes: 4 additions & 4 deletions 5 B0 Mapping/4 Advanced B0 Mapping Methods/02-MultiEcho.md
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ Multi-echo field mapping (three or more echoes) makes use of more echo times tha
\end{equation}
```

There are many ways to perform multi-echo field mapping. The most straightforward way (after dual-echo) is to spatially unwrap the phase of all the echo times, then temporally unwrap the resulting data to remove any 2n offsets between time points that could arise from spatial unwrapping. A linear fit can then be done to retrieve the field map. This technique requires the echo times between time points to be reasonably short so that temporal unwrapping can accurately unwrap the data (<). [](#b0Plot15) shows two solutions that can be obtained from this processing (note the exact 2 difference at each timepoint). The difference could be explained from the choice of seed voxel used for unwrapping spatially. However, as the slope (change in phase over time) is the same for both solutions, an accurate field map can still be recovered even if the underlying phase maps have a 2n offset. This is another advantage over phase difference algorithms.
There are many ways to perform multi-echo field mapping. The most straightforward way (after dual-echo) is to spatially unwrap the phase of all the echo times, then temporally unwrap the resulting data to remove any {math}`2n\pi` offsets between time points that could arise from spatial unwrapping. A linear fit can then be done to retrieve the field map. This technique requires the echo times between time points to be reasonably short so that temporal unwrapping can accurately unwrap the data ({math}`\Delta \phi < \pi `). [](#b0Plot15) shows two solutions that can be obtained from this processing (note the exact {math}`2\pi` difference at each timepoint). The difference could be explained from the choice of seed voxel used for unwrapping spatially. However, as the slope (change in phase over time) is the same for both solutions, an accurate field map can still be recovered even if the underlying phase maps have a {math}`2n\pi` offset. This is another advantage over phase difference algorithms.

:::{figure} #fig5p15cell
:label: b0Plot15
Expand All @@ -43,12 +43,12 @@ Three-echo acquisition, where the first two echoes respect the [Nyquist criteria

As mentioned in chapter 4.3, the standard deviation of the phase is inversely proportional to the SNR of the magnitude image of the field mapping acquisition. This means that longer echo times can have a detrimental impact on the field map if it is not accounted for. One way to address the issue is to weigh the contribution of the echoes by the SNR of the magnitude images.

More complex algorithms such as UMPIRE [24] exploit echo timings to only rely on temporal unwrapping to unwrap the phase images. A minimum of three echoes is necessary for this algorithm. With three echoes, the two echo time differences (TE1=TE2-TE1, TE2=TE3-TE2) are chosen to be slightly different. Doing this allows us to calculate the accrued phase during TE2-TE1=TE which is chosen to be small and is therefore free of wraps. Using this, the wraps in the different echoes can be estimated and removed yielding unwrapped phase images which can be fit to calculate the field map. An advantage of the technique is that it allows us to select echo times that would normally be too long, as TEx can be larger than . An important prerequisite of this algorithm is that the phase offset occurring during TE should be less than but greater than zero, such that a good estimate of the phase can still be calculated. [](#b0Plot17) shows an example of a single voxel being unwrapped using UMPIRE. As previously stated, the slope of the linear fit is proportional to the resulting field map. The traces can be toggled on and off by clicking the legend.
More complex algorithms such as UMPIRE [24] exploit echo timings to only rely on temporal unwrapping to unwrap the phase images. A minimum of three echoes is necessary for this algorithm. With three echoes, the two echo time differences (ΔTE{sub}`1`=TE{sub}`2`-TE{sub}`1`, ΔTE{sub}`2`=TE{sub}`3`-TE{sub}`2`) are chosen to be slightly different. Doing this allows us to calculate the accrued phase during TE{sub}`2`-TE{sub}`1`= δTE which is chosen to be small and is therefore free of wraps. Using this, the wraps in the different echoes can be estimated and removed yielding unwrapped phase images which can be fit to calculate the field map. An advantage of the technique is that it allows us to select echo times that would normally be too long, as ΔTE{sub}`x` can be larger than {math}`\pi`. An important prerequisite of this algorithm is that the phase offset occurring during δTE should be less than but greater than zero, such that a good estimate of the phase can still be calculated. [](#b0Plot17) shows an example of a single voxel being unwrapped using UMPIRE. As previously stated, the slope of the linear fit is proportional to the resulting field map. The traces can be toggled on and off by clicking the legend.

:::{figure} #fig5p17cell
:label: b0Plot17
:enumerator: 5.17
Three echo data unwrapped using the UMPIRE algorithm. Note that UMPIRE is able to unwrap phase data that varies by more than . The different traces can be toggled on or off clicking the desired trace in the legend.
Three echo data unwrapped using the UMPIRE algorithm. Note that UMPIRE is able to unwrap phase data that varies by more than π. The different traces can be toggled on or off clicking the desired trace in the legend.
:::

Although UMPIRE has many advantages, it suffers from being susceptible to noise. [](#b0Plot18) uses the same phase data as the previous figure, but adds a slider that simulates a phase offset added to the second echo.
Expand All @@ -59,4 +59,4 @@ Although UMPIRE has many advantages, it suffers from being susceptible to noise.
Effect of noise using UMPIRE. A slider is provided to change the field offset of the second echo and to see its effect on the resulting unwrapped data and linear fit.
:::

Unwrappers, such as PRELUDE [20] are less susceptible to noise, but do not have the ability to resolve > phase offsets between timepoints and can take longer to unwrap the data. The SEGUE [21] algorithm performs similarly to PRELUDE but can be much faster. ROMEO [23] is also an algorithm that is quite fast and has been shown to perform better than PRELUDE and BEST PATH[22] with noise.
Unwrappers, such as PRELUDE [20] are less susceptible to noise, but do not have the ability to resolve {math}`>\pi` phase offsets between timepoints and can take longer to unwrap the data. The SEGUE [21] algorithm performs similarly to PRELUDE but can be much faster. ROMEO [23] is also an algorithm that is quite fast and has been shown to perform better than PRELUDE and BEST PATH[22] with noise.

0 comments on commit 5bd52c1

Please sign in to comment.