A lightweight Python diagnostic tool designed for neuroimaging researchers to assess if their hardware can handle intensive MRI processing pipelines (e.g., FreeSurfer, fMRIPrep, FSL, AFNI).
MRI processing is resource-heavy. NeuroRig evaluates:
- RAM Capacity: Checks if you have the 16GB-32GB+ required for high-res pipelines.
- Disk I/O: Benchmarks read/write speeds (crucial for 4D fMRI datasets).
- GPU Availability: Detects NVIDIA CUDA support for accelerated tools like
eddy_cudaorFastSurfer. - WSL2 Verification: When run inside WSL, confirms whether it's WSL2, reports the RAM visible to the subsystem, and flags the common case where the default 50% host-RAM allocation is bottlenecking you (with a pointer to fix it via
.wslconfig).
-
Clone the repo:
git clone https://github.com/TravisBeckwith/neurorig.git cd neurorig -
Install dependencies:
pip install -r requirements.txt
-
Run the check:
python neurorig.py
This single script covers CPU, RAM, GPU, disk I/O benchmarking, and (when applicable) WSL2 memory-allocation checks — there is no separate v2 file.
pip install -r requirements-dev.txt
pytest tests/ -vTests run automatically on every push and pull request via GitHub Actions (see badge above).
- RAM < 16GB: Stick to basic structural viewing and lightweight preprocessing.
- Disk < 200 MB/s: Expect bottlenecks during data-loading; avoid parallel subject processing on this drive.
- GPU Detected: You can leverage CUDA-accelerated tools for 10x speed increases.