SPDS - josalggui/MaRGE GitHub Wiki
SPDS protocol Documentation
Overview
The Single Point Double Shot (SPDS) protocol is designed to estimate the B₀ map by acquiring data from two closely timed acquisitions (shots) with identical spatial encoding. This method captures phase differences that correlate to local field inhomogeneities, enabling the reconstruction of the B₀ map.
Input Parameters for SPDS Sequence
The following input parameters are required to configure the SPDS sequence. These parameters allow customization of the acquisition settings, such as imaging geometry, RF pulse properties, timing, and system-specific adjustments.
General Parameters
-
Sequence Name (
seqName
)
Identifier for the sequence. -
Number of Scans (
nScans
)
Number of repetitions of the full scan.
RF Parameters
-
Frequency Offset (
FreqOffset
)
Frequency offset relative to the Larmor frequency in kilohertz (kHz). -
Excitation Flip Angle (
rfExFA
)
Flip angle of the excitation RF pulse in degrees. -
Excitation Time (
rfExTime
)
Duration of the RF excitation pulse in microseconds (µs).
Imaging Parameters
-
Matrix Size (
nPoints
)
Matrix dimensions in the readout, phase, and slice directions. -
Field of View (
fov
)
Spatial extent of the imaging volume in centimeters (cm). -
Axes Orientation (
axesOrientation
)
Specifies the mapping of physical axes to logical axes: readout, phase, and slice. -
Repetition Time (
repetitionTime
)
Time between successive excitation pulses, in milliseconds (ms).
Sequence Timing
-
Dead Times (
deadTime
)
List of times for the two acquisitions, in microseconds (µs). -
Dummy Pulses (
dummyPulses
)
Number of dummy pulses applied at the start of the sequence.
Hardware Settings
-
Shimming (
shimming
)
Adjustments to compensate for linear B₀ inhomogeneities. -
Bandwidth (
bw
)
Bandwidth of the acquisition, in kilohertz (kHz).
Each parameter has a specific role in defining the behavior of the SPDS sequence. Adjust them based on the experimental requirements to optimize the acquisition for B₀ mapping.
Data Acquisition
The SPDS sequence generates two datasets:
data_a
: First shot data.data_b
: Second shot data.
These datasets are decimated and include additional hardware-specific readout points (addRdPoints
). The SPDS method extracts and processes the central portion of these datasets for k-space reconstruction.
Analysis Workflow
The analysis of SPDS data involves the following steps:
1. Preprocessing
- Reshape Data: The acquired datasets are reshaped to account for sequence-specific readout points.
- Trim Data: The central readout points are extracted for further processing.
2. k-Space Reconstruction
- A predefined k-space mask determines valid k-space points.
- Data from
data_a
anddata_b
are mapped into their respective k-space arrays:k_data_a
k_data_b
3. Image Reconstruction
- k-space data is reshaped into 3D arrays corresponding to the specified imaging dimensions.
- Inverse FFT is applied to generate spatial domain images:
i_data_a
: Magnitude image fromdata_a
.i_data_b
: Magnitude image fromdata_b
.
4. Generate Mask
- A signal intensity mask is created to exclude low-intensity regions, defined as those below 1/3 of the maximum intensity in
i_data_a
.
5. Compute B₀ Map
- The phase difference between
i_data_a
andi_data_b
is calculated. - The B₀ field is derived using:
[
B_0 = \frac{\Delta \phi}{2 \pi \gamma (t_2 - t_1)}
]
where:
- ( \Delta \phi ): Phase difference between images.
- ( \gamma ): Gyromagnetic ratio.
- ( t_2 - t_1 ): Time difference between the two shots.
- Regions below the signal threshold are masked out.
6. Fix Image Orientation
- Spatial images are adjusted based on scanner axis orientation to align with the physical axes:
Outputs
The analysis generates the following outputs:
Spatial Domain Images
1B₀ Field Map: Computed from the phase difference. 2Magnitude Image A: ( |i_data_a| ) 3Magnitude Image B: ( |i_data_b| )
k-Space Images
- k-Space Magnitude A: ( |k_data_a| )
- k-Space Magnitude B: ( |k_data_b| )
Visualization
The results are prepared for plotting using structured dictionaries, including:
- Image Widget: Displays spatial or k-space data.
- Labels: Annotates axes with physical directions (readout, phase, slice).
- Titles: Identifies the data type (e.g., "k-space A").
Example Visualization
Plot Type | Description |
---|---|
B₀ Map | Field map based on phase differences. |
Spatial Magnitude A | Reconstructed magnitude image from data_a . |
Spatial Magnitude B | Reconstructed magnitude image from data_b . |
k-Space A | Magnitude k-space data for data_a . |
k-Space B | Magnitude k-space data for data_b . |