Preclinical PCASL Pipeline ========================== **Runner:** ``pyasl.pipelines.preclinical_pcasl_pipeline.run_preclinical_pcasl_pipeline`` **Purpose.** Full preclinical pCASL chain (Bruker or NIfTI), including steady-state trim, control/label split, M0, PLD slice adjustment, relative CBF, brain mask, and saves. Inputs ------ - ``data_dir`` (used for relative path resolution), ``config_path``. YAML Example ------------ .. code-block:: yaml type: pcasl steps: - module: BrukerLoader params: { expno: 18, procno: 1 } # root is injected automatically - module: SteadyStateTrim params: { trim: 2 } - module: ControlLabelSplit params: { control_first: true } - module: MotionCheck - module: DiffImage - module: ComputeM0 params: { TR: from_meta, T1t: 1900 } - module: SlicePLDAdjust params: { SGap: 31, T1blood: 2800 } - module: CBFRelative params: { vmax: 10 } - module: BrainMask params: { thres: 0.2, open_iter: 2, close_iter: 2 } - module: SaveOutputs