config_builder
Build dcm2bids configuration dicts from structured session definitions.
This module contains pure functions with no filesystem I/O. All inputs are
dataclasses or simple dicts; the output is a plain dict ready for
json.dumps().
Source: src/python/dcm2bids_config/config_builder.py
Functions
build_config
Build a complete dcm2bids config dict.
This is a pure function: same inputs always produce the same output.
build_config(subject: str, session: str, session_def: SessionDef, fmap_info: FieldmapInfo | None = None, *, run_protocols: dict[str, dict[int, str]] | None = None, run_series: dict[str, dict[int, dict[str, int]]] | None = None, fmap_desc_map: dict[str, str] | None = None) -> dict
Parameters
subject(str) — Subject ID including prefix (e.g."sub-03").session(str) — Session ID including prefix (e.g."ses-06").session_def(SessionDef) — The session type definition (fromsession_defs).fmap_info(dict, optional) — Fieldmap series numbers, keyed by group name. Required whensession_def.fmap_strategy == "series_number". Example:: {“encoding”: {“ap”: 10, “pa”: 11}, “retrieval”: {“ap”: 28, “pa”: 30}}run_protocols(dict, optional) — Per-task, per-run ProtocolName overrides. Example:: {“FINretrieval”: {1: “free_recall_retrieval_run1_attempt2”}}run_series(dict, optional) — Per-task, per-run SeriesNumber constraints for BOLD/SBRef. Example:: {“FINretrieval”: {2: {“bold”: 45, “sbref”: 44}}}
Returns
dict
A dcm2bids-compatible config dict with a "descriptions" key.