End-to-end processing of cell microscopy time-lapses. ALIBY automates segmentation, tracking, lineage predictions and post-processing.
We recommend installing both ALIBY and WELA.
To begin you should install miniconda and poetry.
Once poetry is installed, we suggest running
poetry config virtualenvs.create false
so that only conda creates virtual environments.
Then
- Create and activate an alibylite virtual environment
conda create -n alibylite python=3.10
conda activate alibylite
- Git clone alibylite, change to the alibylite directory with the poetry.lock file, and use poetry to install:
poetry install
- Git clone wela, change to the wela directory with the poetry.lock file, and use poetry to install:
poetry install
- Use pip to install your usual Python working environment. For example:
pip install ipython seaborn
- Install omero-py.
For a Mac, use:
conda install -c conda-forge zeroc-ice==3.6.5
conda install omero-py
For everything else, use:
poetry install --all-extras
- You may have an issue with Matplotlib crashing. Use conda to install a different version:
conda search -f matplotlib
and, for example,
conda install matplotlib=3.8.0
- On an M1 Mac, these commands proved helpful
conda install openblas
conda uninstall numpy
conda install numpy
and reinstalling tensorflow
python -m pip install tensorflow-macos==2.9.0 tensorflow-metal==0.5.0 --force-reinstall
This is still under works and it is not guaranteed to work as-is on MacOS, but in Linux running the Nix package manager it should make the setup trivial.
For reproducible environments using Nix flakes and envrc.
To run a self-contained virtual environment shell session
nix develop . --impure
For convenience, to start the environment every time you access the project you automatically set the environment
direnv allow .
Activate the direnv
module (under :tools
) on Doom's init.el
. Then add this to your config.el
.
(require 'envrc)
(add-hook! (add-hook 'change-major-mode-after-body-hook 'envrc-mode))
That should ensure that Emacs finds the activated environment when running (run-python)
from a Python file inside the environment.