Install

This section contains the instruction to install bioimageit_core and the toolboxes configuration files to have a local working instance of bioimageit_core for development.

Warning

These installation instructions are for developers who needs a custom BioImageIT install. If you plan to only use BioImageIT we recommand using the installer from here

Install bioimageit_core

bioimageit_core depends on bioimageit_formats the library that manage the data formats. Thus, you first need to install bioimageit_formats and then bioimageit_core:

mkdir bioimageit
python -m venv .env
source .env/bin/activate
git clone https://github.com/bioimageit/bioimageit_formats.git
pip install -e ./bioimageit_formats
git clone https://github.com/bioimageit/bioimageit_core.git
pip install -e ./bioimageit_core
python bioimageit_core/config.py "$USER" "CONDA"

Install toolboxes

bioimageit_core uses a toolboxes index of remotely packaged tools. The toolboxes index is not installed by default. To install the toolboxes run the following commands:

cd bioimageit
git clone https://github.com/bioimageit/bioimageiit-toolboxes.git

# create toolboxes database
mkdir toolboxes
mkdir toolboxes/thumbs/
cp -r bioimageit-toolboxes/thumbs toolboxes/
cp bioimageit-toolboxes/toolboxes.json toolboxes/toolboxes.json
cp bioimageit-toolboxes/tools.json toolboxes/tools.json
cp bioimageit-toolboxes/formats.json ./formats.json

Configure bioimageit_core

If you need to manually configure bioimageit_core you need to edit the config.json file. You can copy & paste the config.sample.json available in the bioimageit_core root directory, or you can use the config.json file generated by the install script. The configuration file looks like this:

{
    "user": {
        "name": "sprigent"
    },
    "workspace": "/Users/sprigent/Documents/bioimageit/workspace/",
    "install_dir": "/Users/sprigent/Documents/bioimageit",
    "log_dir": "/Users/sprigent/Documents/bioimageit/workspace/logs/",
    "metadata": {
        "service": "LOCAL"
    },
    "formats": {
        "file": "/Users/sprigent/Documents/bioimageit/formats.json"
    },
    "process": {
        "service": "LOCAL",
        "xml_dirs": [
            "/Users/sprigent/Documents/bioimageit/toolboxes/tools/"
        ],
        "categories": "/Users/sprigent/Documents/bioimageit/toolboxes/toolboxes.json",
        "tools": "/Users/sprigent/Documents/bioimageit/toolboxes/tools.json"
    },
    "fiji": "/Users/sprigent/BioImageIT/Fiji.app/Contents/MacOS/ImageJ-macosx",
    "runner": {
        "service": "CONDA",
        "conda_dir": "/Users/sprigent/BioimageIT/miniconda3"
    }
}

Metadata

The metadata section allows to configure how the metadata are handled. In the exemple above, we use the LOCAL service that have no settings.

  • LOCAL: Store the experiment data and metadata in the local file system

"runner": {
    "service": "LOCAL"
}
  • OMERO: Store the experiment data and metadata in an Omero database

"runner": {
    "service": "OMERO",
    "host": "demo.openmicroscopy.org",
    "port": 4064,
    "username": "YourUserName",
    "password": "YourPassword"
}

Process

The process section contains all the processing tools desciptions. In the example above, we use the LOCAL service meaning that all the tools informations (XML wrappers) are copied locally. The variable xml_dirs is the path of the directories containing the processing tools XML wrappers. The variable categories is the path to the JSON file containing the toolboxes list. The variable tools is the path to the index file containing the list of all the availables tools.

Runner

The runner section contains the processing tools runner configuration. The possible runners are:

  • LOCAL: runs the tools installed locally on the workstation. In this case the tool must be added to the system PATH:

"runner": {
    "service": "LOCAL"
}
  • CONDA: runs the tools installed locally on the workstation with conda:

"runner": {
    "service": "CONDA"
}
  • SINGULARITY: runs the tools using Singularity. In this case you need to install Singularity:

"runner": {
    "service": "SINGULARITY"
}
  • DOCKER: runs the tools using Docker. In this case you need to install Docker. Docker needs to mount your data directory into the container. To do this, please specify the working_dir path in your config file:

"runner": {
    "service": "DOCKER",
    "working_dir": "/home/full/path/to/workspace/"
}
  • ALLGO: runs the tools using the AllGo platform. In this case you do not need to install anything localy. Nevertheless, all the tools in BioImageIT tools index may not be available in AllGo. When using AllGo, you need to add your AllGo token (account authentication) in the config file or in a .allgo_token file in your home directory.

"runner": {
    "service": "ALLGO",
    "token": "PasteYourAllgoTokenHere"
}

User

Finally, the user section contains the user name that will be printed in the metadata every time a data is imported or processed by this instance of bioimageit_core. This allows traceability.