We strongly recommend installing within a python environment as there are many dependencies that you may not want polluting your regular python environment. Make sure you are using python 3.
An environment can be created using Anaconda:
$ conda create --name <env> $ conda activate <env>
Which you can deactivate with:
$ conda deactivate
Or using virtualenv:
$ python -m virtualenv /path/to/venv/ $ source /path/to/venv/bin/activate
This will download all of your packages under
/path/to/venv and then activate it.
You will also need to make sure you have a recent version of pip. In your local environment, run:
$ pip install --upgrade pip
Or using pyenv with pyenv-virtualenv:
$ pyenv install 3.8.14 $ pyenv virtualenv 3.8.14 aliby $ pyenv local aliby
Once you have created and activated your virtual environment, run:
If you are not using an OMERO server setup:
$ pip install aliby
Otherwise, if you are contacting an OMERO server:
$ pip install aliby[network]
NOTE: Support for OMERO servers in GNU/Linux computers requires building ZeroC-Ice, thus it requires build tools. The versions for Windows and MacOS are provided as Python wheels and thus installation is faster.
Installation fails during zeroc-ice compilation (Windows and MacOS).
For Windows, the simplest way to install it is using conda (or mamba). You can install the (OMERO) network components separately:
$ conda create -n aliby -c conda-forge python=3.8 omero-py $ conda activate aliby $ cd c:/Users/Public/Repos/aliby $ \PATH\TO\POETRY\LOCATION\poetry install
MacOS Under work (See issue https://github.com/ome/omero-py/issues/317)
Install poetry for dependency management.
In case you want to have local version:
$ git clone firstname.lastname@example.org/aliby/aliby.git $ cd aliby && poetry install --all-extras
This will automatically install the BABY segmentation software. Support for additional segmentation and tracking algorithms is under development.
We use (and recommend) OMERO to manage our microscopy database, but ALIBY can process both locally-stored experiments and remote ones hosted on a server.
Setting up a server¶
docker-compose.yml file can be used to create an OMERO server with an
accompanying PostgreSQL database, and an OMERO web server.
It is described in detail
Our version of the
docker-compose.yml has been adapted from the above to
use version 5.6 of OMERO.
To start these containers (in background):
cd pipeline-core docker-compose up -d
-d to run in foreground.
To stop them, in the same directory, run:
Segmentation has been tested on: Mac OSX Mojave, Ubuntu 20.04 and Arch Linux. Data processing has been tested on all the above and Windows 11.