Skip to content

config

config

Registry-driven config models for ASL selection points.

Each ASL selection point — M0 calibration method, label/control difference method, and the CBF quantification mode (single-PLD vs multi-PLD) — declares its tunable knobs as a :class:~osipy.common.config.MethodConfig. These compose into discriminated unions for the CLI config (so selecting a method/mode surfaces exactly that option's parameters and rejects cross-method keys).

Mirrors :mod:osipy.dsc.deconvolution.config and :mod:osipy.dce.config.

Notes
  • M0 calibration strategy classes are stateless (their tunable knobs flow into :class:~osipy.asl.calibration.m0.M0CalibrationParams, which is passed to calibrate()), so the config carries the knobs but the live component is selected by name via :class:M0CalibrationParams.method. M0_REGISTRY therefore maps to the strategy classes, and the helper :func:m0_params_from_config builds the params dataclass from a config.
  • Difference methods are plain functions selected by name (no extra knobs), so each config is a single-field selection.
  • The quantification mode discriminates single-PLD vs multi-PLD analysis; single-PLD takes no extra knobs (timing comes from the pipeline block), while multi-PLD adds the PLD schedule and the ATT model.
References

.. [1] OSIPI ASL Lexicon, https://osipi.github.io/ASL-Lexicon/ .. [2] Suzuki Y et al. MRM 2024;91(5):1743-1760. doi:10.1002/mrm.29815

SingleM0Config

Bases: MethodConfig

Single (mean) M0 calibration (OSIPI ASL Lexicon).

VoxelwiseM0Config

Bases: MethodConfig

Voxel-by-voxel M0 calibration (OSIPI ASL Lexicon).

ReferenceRegionM0Config

Bases: MethodConfig

Reference-region M0 calibration (OSIPI ASL Lexicon).

PairwiseDifferenceConfig

Bases: MethodConfig

Pair-wise control-label subtraction, then average.

SurroundDifferenceConfig

Bases: MethodConfig

Surround subtraction (average adjacent controls per label).

MeanDifferenceConfig

Bases: MethodConfig

Mean subtraction (average controls and labels separately).

SinglePLDConfig

Bases: MethodConfig

Single-PLD CBF quantification (one delay per voxel).

MultiPLDConfig

Bases: MethodConfig

Multi-PLD CBF + ATT estimation via the Buxton general kinetic model.

m0_params_from_config

m0_params_from_config(config)

Build an :class:M0CalibrationParams from a validated M0 config.

The config's method discriminator plus its knobs map directly onto the :class:~osipy.asl.calibration.m0.M0CalibrationParams dataclass fields.