How to Run a Pipeline from YAML (CLI)¶
Run osipy pipelines from the command line using YAML configuration files.
Create a Config File¶
Interactive wizard¶
The wizard walks you through every setting interactively and writes a validated config file. It adapts its questions based on your earlier answers -- for example, it only asks for a T1 mapping method if you have T1-weighted data, and only prompts for an AIF file path when you choose manual AIF:
Template¶
Alternatively, dump a fully-commented template and edit it by hand:
Available modalities: dce, dsc, asl, ivim.
Run a Pipeline¶
Point the CLI at your config and data:
Override the output directory:
Enable verbose logging:
Validate a Config¶
Check a config file for errors without running the pipeline:
YAML Config Structure¶
Every config has these top-level sections:
| Section | Purpose |
|---|---|
modality |
Which pipeline to run (dce, dsc, asl, ivim) |
pipeline |
Modality-specific parameters |
data |
Input data paths and format settings |
output |
Output format and directory |
backend |
GPU/CPU settings |
logging |
Log level configuration |
Common Fields¶
data:
format-- Input format:auto,nifti,dicom, orbidsmask-- Path to brain/tissue maskt1_map-- Pre-computed T1 map (DCE)aif_file-- Measured AIF filem0_data-- M0 calibration image (ASL)b_values-- b-value list (IVIM)b_values_file-- Path to b-values file (IVIM)
output:
format-- Output format (nifti)
backend:
force_cpu-- Force CPU execution even if GPU is available (true/false)
logging:
level-- Log verbosity:INFO,DEBUG, orWARNING
Modality Examples¶
DCE-MRI¶
With T1 mapping from VFA data:
modality: dce
pipeline:
model: extended_tofts
t1_mapping_method: vfa
aif_source: population
population_aif: parker
acquisition:
tr: 5.0
flip_angles: [2, 5, 10, 15]
baseline_frames: 5
relaxivity: 4.5
data:
mask: brain_mask.nii.gz
output:
format: nifti
Without T1 data (assumed T1):
modality: dce
pipeline:
model: extended_tofts
aif_source: population
population_aif: parker
acquisition:
t1_assumed: 1400.0
baseline_frames: 5
relaxivity: 4.5
data:
mask: brain_mask.nii.gz
output:
format: nifti
DSC-MRI¶
modality: dsc
pipeline:
te: 30.0
deconvolution_method: oSVD
apply_leakage_correction: true
svd_threshold: 0.2
baseline_frames: 10
data:
mask: brain_mask.nii.gz
output:
format: nifti
ASL¶
modality: asl
pipeline:
labeling_scheme: pcasl
pld: 1800.0
label_duration: 1800.0
t1_blood: 1650.0
labeling_efficiency: 0.85
m0_method: single
data:
mask: brain_mask.nii.gz
m0_data: m0.nii.gz
output:
format: nifti
IVIM¶
modality: ivim
pipeline:
fitting_method: segmented
b_threshold: 200.0
normalize_signal: true
data:
mask: brain_mask.nii.gz
b_values: [0, 10, 20, 50, 100, 200, 400, 800]
output:
format: nifti
See Also¶
- YAML Configuration Reference — Complete field-by-field reference (auto-generated)
- How to Run a Complete Pipeline — Python API for programmatic control
- Architecture — Design context and pipeline internals