Repository navigation
Home
golgi is an open, graphical platform for image-to-recruitment modeling of peripheral nerve stimulation. It takes a peripheral nerve from image to stimulated fiber population through a single point-and-click interface — no programming required — and mirrors every step in a scriptable Python API and command-line interface. It builds anatomically realistic, multifascicular 3-D nerve models and computes fiber-type-selective recruitment end to end on a fully open finite-element stack with no commercial dependencies (no COMSOL, ANSYS or Abaqus).
This wiki is the full documentation. New here? Start with Installation → Getting Started → the illustrated Tutorial (a complete study, step by step with screenshots).
flowchart LR
A["Image / surface / mask"] --> B["Promptable segmentation"]
B --> C["Multi-region tetrahedral mesh"]
C --> D["Anisotropic FEM + perineurium CI"]
D --> E["Fiber populations + curved 3-D trajectories"]
E --> F["Activation thresholds (NEURON / AxonML)"]
F --> G["Recruitment, selectivity, current steering"]
G --> H["Hashed, replayable study bundle"]
Each box is a documented stage — see Pipeline Overview.
- No-code GUI for the whole pipeline (Trame, browser-based) — see GUI Walkthrough.
- Fully open solver stack — FEniCSx/DOLFINx + TetGen/Gmsh, no COMSOL — see Finite-Element Solver.
- Genuine 3-D, branching anatomy with curved, fascicle-following fibers through bifurcations — see Fiber Populations & Trajectories.
- Realistic biophysics — NEURON/PyFibers and AxonML backends, Cole–Cole / IT'IS tissue properties, explicit perineurium contact impedance — see Fiber Models & Activation and Conductivity & Tissue Properties.
- Current steering & selectivity — arbitrary N-polar montages, recruitment curves, fascicular / branch selectivity, design comparison — see Recruitment Sweeps & Selectivity.
- Reproducibility built in — integrity-hashed, replayable study bundles.
Every operation acts on a single shared golgi.Study state, so a graphical session, a script, and a
batch job are interchangeable.
| Interface | Use it for | Page |
|---|---|---|
| Graphical UI | exploration, design, teaching — the primary interface | GUI Walkthrough |
Python API (golgi.Study) |
notebooks, batch studies, CI | Python API |
Command line (golgi …) |
clusters, automation, bundle verification | Command-Line Interface |
- I want to run my first model → Getting Started
- I want a guided, illustrated first run → Tutorial
- I want the GUI panel-by-panel reference → GUI Walkthrough
- I want to script it → Python API · Headless / HPC
- I want the science → Pipeline Overview · Finite-Element Solver · Fiber Models & Activation
- I want to design an electrode → Electrodes & Cuff Designer
- I want to reproduce / share results → Reproducible Study Bundles · Reproducing the Paper
- Something broke → Troubleshooting & FAQ
- What's a term mean? → Glossary
- License: AGPL-3.0-or-later (data: CC-BY-4.0) — see License & Citation.
- Platforms: Linux, macOS.
- Status: companion to the methods paper (PLOS Computational Biology, in review) and software paper (SoftwareX, in review).
golgi · open image-to-recruitment modeling of peripheral nerve stimulation · repository · issues · AGPL-3.0-or-later · data CC-BY-4.0
Get started
Tutorial
Build a model
Simulate & analyze
- Finite-Element Solver
- Fiber Populations & Trajectories
- Fiber Models & Activation
- Recruitment Sweeps & Selectivity
- Recording & CNAP
Share & reproduce
Scripting & scale
Reference
Research & project