|
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> |
2 | 6 |
|
3 | 7 | [](https://pypi.org/project/fractal-tasks-core/) |
| 8 | +[](https://opensource.org/licenses/BSD-3-Clause) |
4 | 9 | [](https://github.com/fractal-analytics-platform/fractal-tasks-core/actions/workflows/ci_pip.yml) |
5 | 10 | [](https://htmlpreview.github.io/?https://github.com/fractal-analytics-platform/fractal-tasks-core/blob/python-coverage-comment-action-data/htmlcov/index.html) |
6 | 11 | [](https://fractal-analytics-platform.github.io/fractal-tasks-core) |
7 | | -[](https://opensource.org/licenses/BSD-3-Clause) |
8 | 12 |
|
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 | + |
10 | 16 |
|
11 | | - |
| 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. |
12 | 18 |
|
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. |
14 | 25 |
|
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. |
20 | 27 |
|
21 | 28 |
|
22 | 29 | ## Documentation |
23 | 30 |
|
24 | 31 | See https://fractal-analytics-platform.github.io/fractal-tasks-core |
25 | 32 |
|
| 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. |
26 | 52 |
|
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. |
28 | 55 |
|
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. |
40 | 58 |
|
41 | 59 |
|
42 | 60 | ## 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: |
44 | 61 |
|
45 | | -To use the library, just install the core package: |
| 62 | +To install and use the library components, run: |
46 | 63 |
|
47 | 64 | ``` |
48 | 65 | pip install fractal-tasks-core |
49 | 66 | ``` |
50 | 67 |
|
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. |
52 | 69 |
|
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: |
54 | 71 | ``` |
55 | 72 | pip install "fractal-tasks-core[fractal-tasks]" |
56 | 73 | ``` |
57 | 74 |
|
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). |
59 | 76 |
|
60 | 77 | 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. |
61 | 78 |
|
62 | | -# Contributors and license |
| 79 | +## Contributors and license |
63 | 80 |
|
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). |
65 | 82 |
|
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. |
0 commit comments