Skip to content

Fractal

Fractal is a framework developed at the BioVisionCenter to process bioimaging data at scale in the OME-Zarr format and prepare the images for interactive visualization.

Fractal overview

Fractal enables distributed workflows that convert TBs of image data into OME-Zarr files. Tasks are modular and can be provided by users to apply image processing and measurements. We provide a package of core processing tasks that include registration, segmentation and measurements. All tasks can be orchestrated by Fractal to run locally or on clusters to scale the image analysis. You can build & control Fractal workflows via the web client or the Fractal command line client.

The resulting pyramidal OME-Zarr files enable interactive visualization in different modern viewers like MoBIE and napari.

Fractal components

Fractal is made of different components, including a server/client architecture, a web client and a set of core tasks for image processing.

Component GitHub Repository Documentation Package
server fractal-server fractal-server docs fractal-server on PyPI
client fractal-client fractal-client docs fractal-client on PyPI
web client fractal-web fractal-web docs -
core tasks fractal-tasks-core fractal-tasks-core docs fractal-tasks-core on PyPI

Status

Fractal is under active development. We have tasks in our core repository and in multiple other tasks repositories. Our core repository contains a converter for Yokogawa CV7000/CV8000 image data as well as different processing tasks for illumination correction, maximum intensity projection, cellpose segmentation. We're working with others to expand the number of compatible OME-Zarr converters (see e.g. fractal-faim-hcs, which uses the faim-hcs converters for the MD Image Xpress), additional image processing tasks (see e.g. APx Fractal Task Collection for tasks centered around 2D image analysis and drug profiling) and additional processing tasks (e.g. the scMultipleX package, which contains a Fractal task to make many scikit-image based measurements in 2D and 3D, as well as organoid registration for multiplexed images). Follow along on the github repositories above and feel free to open issues.

Build your own task

You can easily add your own task to Fractal. Fractal can run Linux executables that follow its task API, as defined in the task building documentation. We primarily run Python-based tasks. You can find a full walk-through and templates in the Build Your Own Fractal Task page.

Examples

Example datasets and workflows are publicly available:

Contributors and license

Unless otherwise stated in each individual module, all Fractal components are released according to a BSD 3-Clause License, and Copyright is with the BioVisionCenter at the University of Zurich.

Fractal was conceived in the Liberali Lab at the Friedrich Miescher Institute for Biomedical Research and in the Pelkmans Lab at the University of Zurich by @jluethi and @gusqgm. The Fractal project is now developed at the BioVisionCenter at the University of Zurich and the project lead is with @jluethi. The core development is done under contract by eXact lab S.r.l..