Segmentation with Ais
Fast and user-friendly annotation and segmentation of cryo-electron tomography data using convolutional neural networks
This repository comprises a standalone version of Ais, the segmentation editor for cryoET. For the version integrated into the correlative microscopy data processing suite scNodes, see the scNodes repository.
A timelapse video of the full workflow, from reconstructed tomograms to segmented volumes showing membranes, ribosomes, mitochondrial granules, and microtubuli, is available on our YouTube channel.
Contact: mlast@mrc-lmb.cam.ac.uk
Installation
Ais works on Windows and Linux machines but not on MacOS. Install as follows:
conda create --name ais
conda activate ais
conda install python==3.9
conda install pip
pip install git+https://github.com/mgflast/Ais
Then run using either of the following commands:
ais
ais-cryoet
Tensorflow & CUDA compatibility
Compatibility between Python, tensorflow, and CUDA versions can be an issue. The following combination was used during development and is known to work:
Python 3.9
Tensorflow 2.8.0
CUDA 11.8
cuDNN 8.6
protobuf 3.20.0
The software will work without CUDA, but only on the CPU. This is much slower but still reasonably interactive if the tomograms aren't too big (in XY). We do recommend installing CUDA and cuDNN in order for tensorflow to be able to use the GPU. See: https://docs.nvidia.com/deeplearning/cudnn/install-guide/index.html for help installing CUDA and cuDNN.
Features
Annotate any number of features
Open any number of tomograms and define any features you want to eventually segment. Step one is to annotate - very sparsely - in order to prepare training data for your networks. Usually, 5 to 10 minutes of annotation is enough to get started. After that, train an initial net, and check what needs further improvement.
https://github.com/user-attachments/assets/7831ad7d-811c-4846-8e0e-002487b54ade
Train a network & watch it learn
All steps other than annotation can be done in the CLI. When training in the GUI, though, you can keep an eye on the network output as the training progresses. Not as fast as it would be in the CLI, but a nice way to see how the network is learning.
https://github.com/user-attachments/assets/9544569c-15d8-490b-a2fd-cf0f406d0dbd
Model-assisted annotation
When networks still need a bit of improvement before you're ready to segment your data, model assisted annotation helps you quickly polish the training data. Screen the output of a model, copy it to the training annotations, and edit any mistakes that need fixing.
https://github.com/user-attachments/assets/8333d05d-aa60-4e04-bf65-e147dc4ef05c
Active contouring brush
Before using model-assisted annotation, turn on flood mode to use the active contouring brush. Then play around with the filters and sensitivity, and watch the brush snap to the edges of your features automatically.
https://github.com/user-attachments/assets/89519081-1eb0-4ff3-adb5-b2b3aad6ed3c
Segment with multiple models
https://github.com/user-attachments/assets/69b40bc2-04f3-4c77-b1ad-9c5d07f40f9d
Inspect results
After segmenting your data, you can visualize the results the Ais rendering tab. You can also set up picking jobs here, or if you've already ran 'ais pick' in the terminal you can inspect the resulting particle coordinates in the context of the tomograms.
https://github.com/user-attachments/assets/12aa1ea4-38eb-465c-8443-72f863a9c0bd
Connect Ais to a Pom database
Ais integrates with Pom, a tool to present large cryoET datasets as searchable databases. Use Pom to organise the data, and Ais to mine it.
https://github.com/user-attachments/assets/32febf3e-fcba-4850-81ca-c4140a84b9d8
A feature library helps you organise your work
If you're using Ais often, or are setting up a large new project where you plan to segment many different features, the feature library is a useful way to organise your work. Name and style a feature once, then automatically grab those settings whenever you create a new annotation for that feature.
https://github.com/user-attachments/assets/7c8060ae-6a22-412e-b7d4-e5f430bf1524
###cat pom/sub
See our other tools
Mart So-Last, 2026 | mgflast@gmail.com
Release files for Ais-cryoET 1.2.36
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| ais_cryoet-1.2.36.tar.gz | 5.5 MB | Details |
Release files / ais_cryoet-1.2.36.tar.gz
| Download URL | ais_cryoet-1.2.36.tar.gz |
|---|---|
| Size | 5.5 MB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
c15154f5b6af3573e6861b7177bbc89fc47f650fa3e0853d1a4c9d6ab9fe079a
|
|
BLAKE2b-256 checksum How to use checksums |
2e0c0566bb673811be5d9b155233dc99548c71ee3d3d154f043c6f9c631b567f
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 15, 2026.
Transparency log