Skip to article frontmatterSkip to article content
Site not loading correctly?

This may be due to an incorrect BASE_URL configuration. See the MyST Documentation for reference.

Double Angle B1+

Field Mapping · BIDS suffix TB1DAM

Config name
model: b1_dam BIDS suffix
TB1DAM Method family
Field Mapping Acquired volumes
2 Fit granularity
voxelwise

Maps the transmit (B1+) field from two spoiled gradient-echo volumes acquired at flip angles alpha and twice alpha. The ratio of the two signals depends only on the achieved flip angle, so proton density and receive sensitivity cancel and the map needs no calibration. The result is dimensionless — the achieved flip angle as a fraction of the nominal one — and feeds the B1 correction of models such as MTsat and VFA.

Signal model

B1+=arccos(S2α2Sα)αB_1^{+} = \frac{\left|\arccos\left(\frac{S_{2\alpha}}{2 S_{\alpha}}\right)\right|}{\alpha}
SymbolQuantityUnit
B1Relative transmit field
ASignal amplitude

What the model reads

A series of 2 volumes indexed by FlipAngle. Volumes are matched to these identities by value, so reordering the acquisition yields an identical fit.

#FlipAngle
160
2120

Where the protocol comes from

In a BIDS dataset these values are resolved for you:

Protocol parameterSourceKeyResolved
FlipAnglesidecar fieldFlipAngleper volume

Inputs

The 2 acquired volumes, each labeled with the identity the model reads it by.

Figure 1:The 2 acquired volumes, each labeled with the identity the model reads it by.

Outputs

MapBIDS suffixUnitFit boundsFitted
B1TB1map0 … 2free
Diagnostic outputs

Reported by the fit but not written as BIDS derivatives: they describe the fit rather than the tissue, and have no BIDS suffix to be written under.

Output
A
Fitted maps for one example subject.

Figure 2:Fitted maps for one example subject.

Usage

BIDS
Without BIDS
Simulation
Browser

The acquisition comes from the sidecars, so recipes/bids/b1_dam_config.yaml carries only algorithm options:

model: b1_dam

# B1 = |acos(S(2a) / (2 * S(a)))| / a, with the map dimensionless (1.0 = the
# nominal flip angle was achieved). BIDS input: the two flip angles are read
# from the JSON sidecars via the model's protocol_schema(), so they are not
# declared here. The TB1DAM collection is assembled by flip index. Example:
#
#   qmrust fit --bids-dir <dataset> \
#     --config recipes/bids/b1_dam_config.yaml --output-dir out

# BIDS mask selection. Left blank: this example dataset ships no mask, and
# naming one here would claim otherwise. Blank means "whatever mask is
# present", so a dataset of your own that has one is masked by it.
mask:
  desc: ""
qmrust fit --bids-dir ds-mydata \
  --config recipes/bids/b1_dam_config.yaml --output-dir out

Fitted maps are written as BIDS derivatives:

out/derivatives/qmrust/sub-01/fmap/
  sub-01_TB1map.nii.gz
  sub-01_TB1map.json
One voxel’s measured data with the model’s forward signal at the fitted parameters. The curve is computed by the same Rust code that does the fitting.

Figure 3:One voxel’s measured data with the model’s forward signal at the fitted parameters. The curve is computed by the same Rust code that does the fitting.

Implementation

Fully-resolved configuration

Every default materialized, as qmrust dump-config prints it.

model: b1_dam
flip_angles:
- 60.0
- 120.0

References

Insko & Bolinger (1993)

References
  1. Insko, E. K., & Bolinger, L. (1993). Mapping of the radiofrequency field. Journal of Magnetic Resonance, Series A, 103(1), 82–85.