Executing a BIAFLOWS workflow without BIAFLOWS server

Last updated: March 2nd, 2020

Introduction

It is possible to run a workflow image independently of any BIAFLOWS server. This can for instance be useful to process a local folder of images.

Steps

Install Docker

Install Docker on the target workstation

Get the docker image

Get the docker image of the workflow from Dockerhub:

    docker pull {remote_image}

Or, alternatively, build workflow Docker image from source (GitHub repository) Inside repository folder:

    docker build -t {local_image}
.

Prepare the data folder

Prepare an empty folder {DATA_PATH} with a subfolder /data and subfolders:

  • {DATA_PATH}/data/in add input images to this folder*
  • {DATA_PATH}/data/out workflow results are exported to this folder
  • {DATA_PATH}/data/gt leave empty

* Images should be 8/16-bit TIFF (2D) or 8/16-bit single file OME-TIFF (C,Z,T). The string _lbl is forbidden in image name since it is used to identify ground truth annotation images.

Run the workflow

Prepare an empty folder {DATA_PATH} with a subfolder /data and subfolders:

    docker run -v {DATA_PATH}/data:/data -it {image_name} {WORKFLOW_PARAMETERS} --infolder /data/in --gtfolder /data/gt --outfolder /data/out --local
This whole procedure is illustrated in the following Python Jupyter notebook: https://github.com/Neubias-WG5/biaflows_jupyter_local

    Notes:
  • --local (-l): do not download nor upload any content from / to BIAFLOWS. The images (input and ground truth) are read from specified folders. Metrics are optionally displayed to standard output.
  • For a more fine-grained control over BIAFLOWS interactions:
  • --no_download (-nd): images and ground truth are not downloaded from BIAFLOWS
  • --no_annotations_upload (-nau): annotations are not uploaded to BIAFLOWS
  • --no_metrics_computation (-nmc): metrics are not computed
  • --no_metrics_upload (-nmu): metrics are not uploaded to BIAFLOWS.