CMRIF Preprocess
Built for Cornell’s Cornell Magnetic Resonance Imaging Facility, this is the infrastructure side of fMRI preprocessing: getting raw scanner output into a standard, query-able layout, then running a pipeline over it without being locked into a single neuroimaging package’s opinions.
Why modular
Most fMRI preprocessing pipelines pick one toolkit and use it end to end.
This one leans on Nipype specifically so a step can be swapped independently
— brain extraction from FSL’s BET, anatomical-to-EPI alignment from
AFNI, motion correction from FreeSurfer, multi-echo denoising from
tedana — without having to also adopt that package’s conventions for
every other step. pybids handles dataset querying, so a run is scoped
with plain include/exclude flags (-ex s12r3e2 to skip subject 12, run 3,
echo 2) instead of hand-written glob patterns over a directory tree.
Three pieces
- A preconfigured disk image (Anaconda + AFNI + FreeSurfer + FSL +
dcm2niix/pigz) so a lab machine or an AWS instance can run the pipeline without a from-scratch environment setup. - A DICOM/NIFTI → BIDS converter, so raw scanner output becomes a
standard,
pybids-queryable layout before anything else runs. - The modular preprocessing script itself, driven by a CLI
(
CMRIF_preprocess.py -i <BIDS dir> -ex <exclusions> -verb) that wires the chosen tools together over whatever subset of the dataset you scope it to.
Where it’s used
This is the same infrastructure referenced in my Cornell lab-technician work: an AWS-deployed version of this pipeline processed the psychology department’s functional MRI data during that role.