Skip to content

Commit 9b854c1

Browse files
authored
Merge pull request #857 from fractal-analytics-platform/update_readme
Update README & doc page
2 parents f57575c + f0d2191 commit 9b854c1

File tree

4 files changed

+80
-54
lines changed

4 files changed

+80
-54
lines changed

README.md

Lines changed: 47 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -1,66 +1,83 @@
1-
# Fractal Core Tasks
1+
# Fractal Tasks Core
2+
3+
<p align="center">
4+
<img src="https://github.com/user-attachments/assets/0a4d8d81-3ca8-4e5e-9c99-9a593e4c132c" alt="Fractal tasks core logo" width="400">
5+
</p>
26

37
[![PyPI version](https://img.shields.io/pypi/v/fractal-tasks-core?color=gree)](https://pypi.org/project/fractal-tasks-core/)
8+
[![License](https://img.shields.io/badge/License-BSD_3--Clause-blue.svg)](https://opensource.org/licenses/BSD-3-Clause)
49
[![CI Status](https://github.com/fractal-analytics-platform/fractal-tasks-core/actions/workflows/ci_pip.yml/badge.svg)](https://github.com/fractal-analytics-platform/fractal-tasks-core/actions/workflows/ci_pip.yml)
510
[![Coverage](https://raw.githubusercontent.com/fractal-analytics-platform/fractal-tasks-core/python-coverage-comment-action-data/badge.svg)](https://htmlpreview.github.io/?https://github.com/fractal-analytics-platform/fractal-tasks-core/blob/python-coverage-comment-action-data/htmlcov/index.html)
611
[![Documentation Status](https://github.com/fractal-analytics-platform/fractal-tasks-core/actions/workflows/documentation.yaml/badge.svg)](https://fractal-analytics-platform.github.io/fractal-tasks-core)
7-
[![License](https://img.shields.io/badge/License-BSD_3--Clause-blue.svg)](https://opensource.org/licenses/BSD-3-Clause)
812

9-
[Fractal](https://fractal-analytics-platform.github.io/) is a framework developed at the [BioVisionCenter](https://www.biovisioncenter.uzh.ch/en.html) to process bioimaging data at scale in the OME-Zarr format and prepare the images for interactive visualization.
13+
Fractal tasks core is the official task package for the [Fractal](https://fractal-analytics-platform.github.io/) framework. It provides essential tools for building Fractal tasks, helpful utility functions, and a collection of ready-to-use tasks for processing bioimaging data. These tasks include OME-Zarr conversion, image registration, segmentation, and measurements.
14+
15+
![Fractal_overview_small](https://github.com/user-attachments/assets/666c8797-2594-4b8e-b1d2-b43fca66d1df)
1016

11-
![Fractal_overview](https://github.com/user-attachments/assets/24d24905-ae43-4249-a6de-6ed4853b0e59)
17+
[Fractal](https://fractal-analytics-platform.github.io/) is a framework developed at the [BioVisionCenter](https://www.biovisioncenter.uzh.ch/en.html) to process bioimaging data at scale in the OME-Zarr format and prepare the images for interactive visualization.
1218

13-
This is the **core-tasks repository**, containing the python tasks that converts Cellvoyager CV7000 & CV8000 images into OME-Zarr and process OME-Zarr files. Find more information about Fractal in general and the other repositories at the [Fractal home page](https://fractal-analytics-platform.github.io).
19+
## Core Library Components
20+
This repository includes several core sub-packages:
21+
- **NGFF Sub-package**: Validates OME-Zarr metadata and provides utilities for reading and writing it.
22+
- **Tables Sub-package**: Handles AnnData tables for ROIs and features, including reading and writing operations. (See the [Fractal table specification](https://fractal-analytics-platform.github.io/fractal-tasks-core/tables/)).
23+
- **ROI Sub-package**: Manages ROI-related table processing.
24+
- **Dev Sub-package**: Handles Fractal manifest creation and task validation for the Fractal server.
1425

15-
Besides tasks, this repository contains library functions for processing OME-Zarr images. The core library parts are:
16-
- an NGFF sub-package to validate OME-Zarr metadata and provide convenience functions to read & write it
17-
- a tables sub-package to handle reading and writing of AnnData tables for ROI tables & feature tables (see [fractal table specification](https://fractal-analytics-platform.github.io/fractal-tasks-core/tables/))
18-
- a roi sub-package to handle ROI table related processing
19-
- a dev subpackage that handles Fractal manifest creation & other validation of tasks for Fractal server
26+
The NGFF, Tables & ROI Sub-package functionality will get replaced by functionality in [ngio](https://github.com/fractal-analytics-platform/ngio) over the coming months.
2027

2128

2229
## Documentation
2330

2431
See https://fractal-analytics-platform.github.io/fractal-tasks-core
2532

33+
## Available Tasks
34+
35+
This package includes the following tasks:
36+
37+
- **Image Conversion**:
38+
- *Convert Cellvoyager to OME-Zarr*: Converts CV7000/CV8000 images to OME-Zarr format.
39+
- *Convert Cellvoyager Multiplexing to OME-Zarr*: Converts multiplexed images from CV7000/CV8000 to OME-Zarr.
40+
41+
- **Image Processing**:
42+
- *Project Image (HCS Plate)*: Generates intensity projections (e.g., maximum intensity projection) for images in an HCS plate.
43+
- *Illumination Correction*: Applies flatfield correction and background subtraction using pre-calculated illumination profiles.
44+
45+
- **Segmentation**:
46+
- *Cellpose Segmentation*: Segments images using custom or pre-trained Cellpose models, with user-tunable options.
47+
48+
- **Registration**:
49+
- *Calculate Registration*: Computes translations for aligning images in multiplexed image analysis.
50+
- *Find Registration Consensus*: Generates consensus transformations for aligning multiple acquisitions, updating ROI tables as necessary.
51+
- *Apply Registration to Image*: Applies registration to images based on existing or newly created ROI tables.
2652

27-
## Available tasks
53+
- **Measurements**:
54+
- *Napari Workflows Wrapper*: Task to run existing napari workflows through Fractal to process images and labels and to generate new labels or measurement tables. Takes an arbitrary napari workflow yaml file to run.
2855

29-
Currently, the following tasks are available:
30-
- Convert Cellvoyager to OME-Zarr: Task to convert Cellvoyager CV7000 & CV8000 images into OME-Zarr.
31-
- Convert Cellvoyager Multiplexing to OME-Zarr: Task to convert multiplexed images from Cellvoyager CV7000 & CV8000 images into OME-Zarr.
32-
- Project Image (HCS Plate): This task creates a new OME-Zarr HCS plate and calculates an intensity projection along the Z axis for all images (e.g. maximum intensity projection).
33-
- Illumination Correction: Task to apply flatfield correction & background subtraction based on pre-calculated illumination profiles.
34-
- Cellpose Segmentation: This task performs image segmentation using custom or pre-trained Cellpose models and exposes many model options to be tuned by the user.
35-
- Napari Workflows Wrapper: Task to run existing napari workflows through Fractal to process images and labels and to generate new labels or measurement tables. Takes an arbitrary napari workflow yaml file to run.
36-
- Calculate Registration (image-based): Registration task for multiplexed image analysis. This task calculated the translation needed to align images between multiple acquisitions.
37-
- Find Registration Consensus: Registration task for multiplexed image analysis. This task calculates the consensus transformation across all acquisitions to get aligned images. It creates new ROI tables for them.
38-
- Apply Registration to Image: Registration task for multiplexed image analysis. This task applies registration based on the ROI tables generated in `Find Registration Consensus` to existing images or it creates new, registered images.
39-
- Import OME-Zarr: Helper task to validate existing OME-Zarr files, handle the addition of ROI tables to existing Zarrs & to create the necessary metadata for Fractal server about an existing OME-Zarr image to allow further processing.
56+
- **Other Utilities**:
57+
- *Import OME-Zarr*: Validates and processes existing OME-Zarr files, adding ROI tables and metadata for further processing in Fractal.
4058

4159

4260
## Installation
43-
See [details on installation in the documentation](https://fractal-analytics-platform.github.io/fractal-tasks-core/install/). This package can be installed in 2 main ways:
4461

45-
To use the library, just install the core package:
62+
To install and use the library components, run:
4663

4764
```
4865
pip install fractal-tasks-core
4966
```
5067

51-
This installs the core library and allows you to use all the sub-packages for ngff metadata, tables, rois etc.
68+
This will install the core library, including all sub-packages for working with NGFF metadata, tables, ROIs, and more.
5269

53-
If you want to run the actual Fractal tasks, you need to install the task extra:
70+
If you intend to run Fractal tasks (such as segmentation or registration), install with the additional task dependencies:
5471
```
5572
pip install "fractal-tasks-core[fractal-tasks]"
5673
```
5774

58-
This installs the heavier dependencies like torch for Cellpose & napari for napari workflows.
75+
This includes larger dependencies such as Torch (for Cellpose) and Napari (for Napari workflows).
5976

6077
If you collect this package on Fractal server to run the task, make sure to add the fractal-tasks extra in the corresponding field for extras.
6178

62-
# Contributors and license
79+
## Contributors and license
6380

64-
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.
81+
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](https://github.com/jluethi) and [@gusqgm](https://github.com/gusqgm). The Fractal project is now developed at the [BioVisionCenter](https://www.biovisioncenter.uzh.ch/en.html) at the University of Zurich and the project lead is with [@jluethi](https://github.com/jluethi). The core development is done under contract by [eXact lab S.r.l.](https://www.exact-lab.it).
6582

66-
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](https://github.com/jluethi) and [@gusqgm](https://github.com/gusqgm). The Fractal project is now developed at the BioVisionCenter at the University of Zurich and the project lead is with [@jluethi](https://github.com/jluethi). The core development is done under contract by [eXact lab S.r.l.](https://www.exact-lab.it).
83+
Unless otherwise specified, Fractal components are released under the BSD 3-Clause License, and copyright is with the BioVisionCenter at the University of Zurich.

docs/assets/fractal_logo.png

34.5 KB
Loading

docs/index.md

Lines changed: 31 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -5,42 +5,51 @@ hide:
55

66
# Welcome to Fractal Tasks Core's documentation!
77

8-
Fractal is a framework to process high content imaging data at scale and prepare it for interactive visualization.
8+
<p align="center">
9+
<img src="https://github.com/user-attachments/assets/0a4d8d81-3ca8-4e5e-9c99-9a593e4c132c" alt="Fractal tasks core logo" width="400">
10+
</p>
11+
12+
Fractal tasks core is the official task package for the [Fractal](https://fractal-analytics-platform.github.io/) framework. It provides essential tools for building Fractal tasks, helpful utility functions, and a collection of ready-to-use tasks for processing bioimaging data. These tasks include OME-Zarr conversion, image registration, segmentation, and measurements.
913

1014
> This project is under active development 🔨. If you need help or found a bug, **open an issue [here](https://github.com/fractal-analytics-platform/fractal-tasks-core/issues/new)**.
1115
12-
Fractal provides distributed workflows that convert TBs of image data into [OME-Zar](https://ngff.openmicroscopy.org) files.
13-
The platform then processes the 3D image data by applying tasks like illumination correction, maximum intensity projection, 3D segmentation using [cellpose](https://cellpose.readthedocs.io) and measurements using [napari workflows](https://github.com/haesleinhuepf/napari-workflows).
14-
The pyramidal OME-Zarr files enable interactive visualization in the napari viewer.
16+
![Fractal overview](https://github.com/user-attachments/assets/666c8797-2594-4b8e-b1d2-b43fca66d1df)
17+
Fractal is a framework developed at the [BioVisionCenter](https://www.biovisioncenter.uzh.ch/en.html) to process bioimaging data at scale in the OME-Zarr format and prepare the images for interactive visualization.
18+
19+
## Available Tasks
20+
21+
This package includes the following tasks. For all available Fractal tasks, check the [task list page](all_tasks).
22+
23+
**Image Conversion**:
1524

16-
![Fractal overview](https://user-images.githubusercontent.com/18033446/190978261-2e7b57e9-72c7-443e-9202-15d233f8416d.jpg)
25+
- *Convert Cellvoyager to OME-Zarr*: Converts CV7000/CV8000 images to OME-Zarr format.
26+
- *Convert Cellvoyager Multiplexing to OME-Zarr*: Converts multiplexed images from CV7000/CV8000 to OME-Zarr.
1727

28+
**Image Processing**:
1829

19-
The **fractal-tasks-core** package contains the python tasks that parse Yokogawa CV7000 images into OME-Zarr and process OME-Zarr files. Find more information about Fractal in general and the other repositories at [this link](https://fractal-analytics-platform.github.io/). All tasks are written as Python functions and are optimized for usage in Fractal workflows, but they can also be used as standalone functions to parse data or process OME-Zarr files. We heavily use regions of interest (ROIs) in our OME-Zarr files to store the positions of field of views. ROIs are saved as AnnData tables following [this spec proposal](https://github.com/ome/ngff/pull/64). We save wells as large Zarr arrays instead of a collection of arrays for each field of view (see details [here](https://github.com/ome/ngff/pull/137)).
30+
- *Project Image (HCS Plate)*: Generates intensity projections (e.g., maximum intensity projection) for images in an HCS plate.
31+
- *Illumination Correction*: Applies flatfield correction and background subtraction using pre-calculated illumination profiles.
2032

21-
Here is an example of the interactive visualization in napari using the newly-proposed async loading in [NAP4](https://github.com/napari/napari/pull/4905) and the [napari-ome-zarr plugin](https://github.com/ome/napari-ome-zarr):
33+
**Segmentation**:
2234

23-
![Napari plate overview](https://user-images.githubusercontent.com/18033446/190983839-afb9743f-530c-4b00-bde7-23ad62404ee8.gif)
35+
- *Cellpose Segmentation*: Segments images using custom or pre-trained Cellpose models, with user-tunable options.
2436

37+
**Registration**:
2538

26-
## Available tasks
39+
- *Calculate Registration*: Computes translations for aligning images in multiplexed image analysis.
40+
- *Find Registration Consensus*: Generates consensus transformations for aligning multiple acquisitions, updating ROI tables as necessary.
41+
- *Apply Registration to Image*: Applies registration to images based on existing or newly created ROI tables.
2742

28-
Currently, the following tasks are available:
43+
**Measurements**:
2944

30-
* <u>Create Zarr Structure</u>: Task to generate the zarr structure based on Yokogawa metadata files
31-
* <u>Yokogawa to Zarr</u>: Parses the Yokogawa CV7000 image data and saves it to the Zarr file
32-
* <u>Illumination Correction</u>: Applies an illumination correction based on a flatfield image & subtracts a background from the image.
33-
* <u>Image Labeling</u> (& <u>Image Labeling Whole Well</u>): Applies a cellpose network to the image of a single ROI or the whole well. cellpose parameters can be tuned for optimal performance.
34-
* <u>Maximum Intensity Projection</u>: Creates a maximum intensity projection of the whole plate.
35-
* <u>Measurement</u>: Make some standard measurements (intensity & morphology) using napari workflows, saving results to AnnData tables.
45+
- *Napari Workflows Wrapper*: Task to run existing napari workflows through Fractal to process images and labels and to generate new labels or measurement tables. Takes an arbitrary napari workflow yaml file to run.
3646

37-
Some additional tasks are currently being worked on and some older tasks are still present in the `fractal_tasks_core` folder. See [the package page](https://fractal-analytics-platform.github.io/fractal-tasks-core/api_files/fractal_tasks_core.html) for the detailed description of all tasks.
47+
**Other Utilities**:
3848

39-
## Contributors
49+
- *Import OME-Zarr*: Validates and processes existing OME-Zarr files, adding ROI tables and metadata for further processing in Fractal.
4050

41-
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](https://github.com/jluethi) and [@gusqgm](https://github.com/gusqgm). The Fractal project is now developed at the [BioVisionCenter](https://www.biovisioncenter.uzh.ch/en.html) at the University of Zurich and the project lead is with [@jluethi](https://github.com/jluethi). The core development is done under contract by [eXact lab S.r.l.](https://www.exact-lab.it/).
51+
## Contributors and license
4252

43-
## License
53+
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](https://github.com/jluethi) and [@gusqgm](https://github.com/gusqgm). The Fractal project is now developed at the [BioVisionCenter](https://www.biovisioncenter.uzh.ch/en.html) at the University of Zurich and the project lead is with [@jluethi](https://github.com/jluethi). The core development is done under contract by [eXact lab S.r.l.](https://www.exact-lab.it).
4454

45-
Fractal is released according to a BSD 3-Clause License, see [LICENSE](https://github.com/fractal-analytics-platform/fractal-tasks-core/blob/
46-
main/LICENSE).
55+
Unless otherwise specified, Fractal components are released under the BSD 3-Clause License, and copyright is with the BioVisionCenter at the University of Zurich.

mkdocs.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,7 @@ extra_javascript:
2929

3030
theme:
3131
name: "material"
32+
logo: 'assets/fractal_logo.png'
3233
custom_dir: "docs/overrides"
3334
features:
3435
- content.code.annotate
@@ -100,8 +101,7 @@ extra_css:
100101
- extra.css
101102

102103
copyright: |
103-
© Copyright 2022
104-
Friedrich Miescher Institute for Biomedical Research and
104+
© Copyright 2024
105105
University of Zurich
106106
(see <u><a href="https://github.com/fractal-analytics-platform/fractal-tasks-core/blob/main/LICENSE">
107107
LICENSE

0 commit comments

Comments
 (0)