A graphical interface for analyzing and quantifying membrane ultrastructure in cryo-electron tomography data. Built on the surface morphometrics pipeline by Barad et al.
Surface Morphometrics GUI lets you run the full surface morphometrics pipeline without touching the command line. Load your cryo-ET segmentations, generate surface meshes, measure curvature and distances, and visualize results — all from one interface.
| Component | What it does |
|---|---|
| Mesh Generation | Converts voxel segmentations into surface meshes using screened Poisson reconstruction |
| PyCurv | Computes curvature measurements using a vector voting framework |
| Distance & Orientation | Measures distances and relative orientations between surfaces |
| 3D Visualization | Interactive rendering of surfaces with property colormaps, ambient occlusion, and protein loading |
- Python 3.8+
- Conda (Miniconda or Anaconda)
- Git
The GUI drives the packaged surface morphometrics pipeline through its
morphometrics command-line interface, so it must be installed into the same
conda environment as the pipeline.
If you already have the morphometrics conda environment (the surface
morphometrics pipeline), installing the GUI is one command:
conda activate morphometrics
pip install git+https://github.com/baradlab/surface-morphometrics-gui.git
morphometrics guiThe pipeline environment already provides the heavy scientific stack (vtk, numpy, libigl, …), so pip only adds the GUI's own layer (napari, magicgui, …).
# Install the surface morphometrics pipeline with the GUI extra ([gui] pulls in
# the GUI alongside the `morphometrics` CLI in one step)
git clone https://github.com/GrotjahnLab/surface_morphometrics.git
cd surface_morphometrics
conda env create -f environment.yml
conda activate morphometrics
pip install -e .[gui] # installs the `morphometrics` CLI and the gui
morphometrics --help # verify the CLI is on PATHFor development, clone the GUI and install it editable instead:
git clone … && cd surface-morphometrics-gui && pip install -e .
conda activate morphometrics
morphometrics guisurface-morphometrics-gui is also available as a secondary, development-only launcher.
- Create an experiment — Set your work directory, data directory, and select a config template
- Generate meshes — Run mesh generation from segmentations in the Mesh Generation tab
- Curvature analysis — Compute curvature measurements in the PyCurv tab
- Distance & orientation — Measure inter/intra-membrane distances in the Distance tab
- Visualize — View meshes colored by properties with the built-in 3D viewer
Requires the
morphometricsCLI: The GUI runs each pipeline step by invoking the installedmorphometricscommand (see Installation). If you see a "morphometrics CLI not found" error, activate the conda environment where you ranpip install -e .for the pipeline, then launch the GUI from that same environment.
Full documentation: baradlab.github.io/surface-morphometrics-gui
This project is licensed under the MIT License — see the LICENSE file for details.
- Surface morphometrics pipeline by the Grotjahn Lab
- Barad et al. (2023) — Quantitative analysis of membrane ultrastructure using cryo-ET surface morphometrics
