A central toolbox of the small, single-purpose scripts written for people in the lab over the years. One repo so they stay findable, versioned, and reproducible — no more chasing copies across shared drives and USB sticks.
Looking to learn rather than run something? Tutorials, guides, and curated resources live in Lab-Libraries. This repo holds the runnable tools; that one holds the knowledge.
- Scripts are grouped by domain (not by person — people leave, domains stay).
- Each script lives in its own folder with a short
README.md: what it does and an example command. No names or dates — those are personal info, keep them out. - Dependencies are declared per script so an old script still runs years later.
lab-scripts/
├── README.md # this index
├── CONTRIBUTING.md # how to add a new script
├── _template/ # copy this to start a new script
├── image-conversion/
│ └── tiff-to-avi/ # compile TIFF sequences into AVI/MP4 (GPU-accelerated)
├── data-conversion/
│ └── csv-to-hdf5/ # convert CSV files into HDF5 (.h5)
├── mesh-generation/
│ └── cells-to-stl/ # turn cell coordinates (CSV/Excel) into a 3D STL mesh
└── neuro-visualization/
└── brainrender/ # render 3D brain scenes (regions, meshes, probes) via BrainRender
| Domain | Script | What it does |
|---|---|---|
| image-conversion | tiff-to-avi | Compile thousands of TIFFs into an AVI/MP4 video, GPU-accelerated |
| data-conversion | csv-to-hdf5 | Convert one or many CSV files into HDF5 (.h5) files |
| mesh-generation | cells-to-stl | Turn cell coordinates (CSV/Excel) into a 3D STL mesh of spheres |
| neuro-visualization | brainrender | Render 3D brain scenes (regions, meshes, probes, rulers) via BrainRender |
Add a row here whenever you add a script.
Scripts declare their own dependencies inline (PEP 723),
so the simplest reproducible way to run one is with uv:
uv run image-conversion/tiff-to-avi/convert_tiff_to_avi.pyuv reads the dependency block at the top of the file, builds an isolated environment,
and runs it — no manual venv, no pip install. Some scripts also need external binaries
(e.g. ffmpeg); those are noted in each script's README.
See CONTRIBUTING.md. In short: copy _template/, drop your script in,
fill in its README, declare its deps inline, and add a row to the index above.