Octopi 🐙🐙🐙¶
Object deteCTion Of ProteIns. A deep learning framework for automated 3D particle picking in cryo-electron tomography (cryo-ET).

Why OCTOPI?¶
-
Built for cryo-ET
3D U-Net models designed specifically for the challenges of tomographic data — missing wedge, low SNR, and anisotropic resolution.
-
Autonomous architecture search
Bayesian optimization via Optuna finds the best model architecture for your data — no manual hyperparameter tuning required.
-
Storage-agnostic data layer
Built on CoPick — seamlessly reads tomograms and writes picks from local disk, S3, or any remote store.
-
HPC-ready
Submit training and architecture search jobs directly to SLURM clusters. Multi-GPU inference included out of the box.
Tutorials¶
CLI¶
-
Import Data
Set up a CoPick project and import your tomograms and initial picks.
-
Pick Particles
Generate initial particle picks using the interactive GUI or existing pick files.
-
Train Models
Train a 3D U-Net or run autonomous architecture search with
model-explore. -
Inference
Segment tomograms, localize particles, and evaluate against ground truth.
Python API¶
-
API Overview
Introduction to driving octopi programmatically from Python.
-
Quick Start
End-to-end particle picking in a Jupyter notebook.
-
Training Guide
Customize training loops, loss functions, and data augmentation via the API.
-
Adding New Models
Register new MONAI architectures in the octopi model registry.
Getting Help¶
Open an issue on our GitHub repository.