← Projects

CMRIF Preprocess

A BIDS-aware fMRI preprocessing pipeline that lets you mix and match tools across FSL, AFNI, FreeSurfer, and ME-ICA instead of committing to one package's whole stack.

  • Python
  • Nipype
  • BIDS
  • AWS

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

AWS EC2 'Create Image' dialog capturing the preprocessing environment — root plus a 100 GiB data volume — into a reusable machine image.
AWS console showing the resulting custom 'Base_Image' AMI, ready to launch on demand.
The MRI-optimized environment baked into a reusable AWS machine image (left) so any instance can spin it up ready-to-run (right) — the "disk image" piece of the pipeline.

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.