BIAFLOWS: A collaborative framework to reproducibly deploy and benchmark bioimage analysis workflows

Dear image.sc community,

We are thrilled to announce that BIAFLOWS is ready as a web service/platform to reproducibly deploy BioImage Analysis (BIA) workflows, and continuously benchmark these workflows on annotated image datasets illustrating common BIA problems.

Check out BIAFLOWS online instance: https://biaflows.neubias.org where currently 34 workflows* addressing 15 common BIA problems** are available. Workflows coming from any open source platform can be added as long as they check some minimalistic, documented, requirements (http://biaflows-doc.neubias.org).

We would like BIAFLOWS to be represented on image.sc to provide support to interested users and contributors. We will shortly launch calls for contributions both to developers (integrating workflows) and to image producing scientists (integrating annotated datasets).

Looking forward to being part of image.sc!

Raphaël Marée and Sébastien Tosi,
BIAFLOWS project leaders (NEUBIAS WG5).

*Currently represented workflows: ImageJ macros and scripts, Icy protocols, CellProfiler pipelines, Vaa3D plugins, ilastik pipelines, Octave scripts, Jupyter notebooks, and Python scripts leveraging Scikit-learn and Keras/PyTorch.

**Currently supported BIA problem classes: object detection (2D/3D), object counting (2D/3D), object segmentation (2D/3D), pixel classification (2D/3D), particle tracking (2D/3D), object tracking (2D/3D), filament network tracing (3D), filament tree network tracing (3D), landmark detection (2D/3D).

16 Likes

Neat! Though I must say the black heart seemed a little ominous, especially on my dark themed browser :slight_smile:
image

1 Like

@Sebastien Congratulations to the BIAFLOWS team on the release.

Any thoughts on how BIAFLOWS could interact with #imjoy?

1 Like

Thanks for this comment! Fixed :slight_smile:

1 Like

Congrats!

Thanks for bringing this up. I think the most valuable thing to do is perhaps allowing regular users to these workflows to process their own images.

#ImJoy is flexible enough to build all kinds of UI to upload images, pre/post processing, and visualize results etc. Therefore I think would nice if you can provide ImJoy plugins to consume these workflows, potentially run via the plugin engine on MyBinder or users’ own jupyter instance.

2 Likes

Hi Curtis,

Thanks for bringing this up! From my understanding, imJoy could perfectly be encapsulated inside a BIAFLOWS workflow Docker and its plugins scripted from the Python API (the backbone of any BIAFLOWS worflow is actually a Python wrapper script sequencing operations). Of course, the results returned should be compatible with the formats we specified for a given problem class (typically image masks). Conversely, imJoy could consume BIAFLOWS images as a data source. We could also think about tighter integration strategies and, if Wei is interested, we could definitely look into setting this up!

Best,
S.

1 Like

This is a nice initiative and interesting in the context of the European Open Science Cloud and the EOSC-Life project. I have a few questions:
It seems the implementation relies on python wrapper scripts to run workflows. Have you considered using a workflow management system and/or standardization of workflow descriptions (e.g. with CWL)?
Are the containers tied to cytomine or can they be run independently?

1 Like

Hi @oeway, actually workflows can be applied by regular users on their own images on their own Biaflows server. Biaflows online instance is a demonstration server without this feature for the moment but we might activate it if we get such requests. In the meantime, it is possible to install Biaflows on a local server as fully described in our documentation (http://biaflows-doc.neubias.org). If users do not provide ground-truth with their images then metrics will not be computed but results can be visualized in the web interface.

Hi @jkh1,

We would be glad if EOSC-Life project tests Biaflows. If you need any help please let us know.

We are not using CWL or workflow management system. Do you have experience with these ? Currently workflows are described by Dockerfile (for software dependencies) and an extended version of Boutiques descriptors in JSON format (https://doi.org/10.1093/gigascience/giy016) for input parameters.

Although we believe workflows should be executed with Biaflows :wink: (to view and benchmark results online, etc.), workflows can be executed without it. We describe the process in our documentation “Executing a BIAFLOWS workflow without BIAFLOWS server” available on http://biaflows-doc.neubias.org/

I don’t have experience with formal workflow descriptions or management systems in the context of image processing/analysis which is why I’d be interested to hear about it. We’re trying to standardize workflow descriptions to make them FAIR and we have to consider interoperability with tools from other domains of the life sciences which is where the re-use of containers comes in. The idea is that image processing or analysis can be part of a larger workflow (as suggested for example by some single cell analysis papers). For example, we’re implementing image analysis tools in the Galaxy framework which is used by a diverse set of communities (see https://usegalaxy.eu/).

EDIT: More on what we’re trying to do here:

1 Like