Metadata-Version: 2.4
Name: fractal-uzh-converters
Version: 0.5.2
Summary: A collection of fractal tasks to convert HCS Plates to OME-Zarr
Author-email: Lorenzo Cerrone <lorenzo.cerrone@uzh.ch>
License: BSD-3-Clause
License-File: LICENSE
Requires-Python: <3.15,>=3.11
Requires-Dist: fractal-task-tools<0.6.0,>=0.5.0
Requires-Dist: imagecodecs
Requires-Dist: lxml
Requires-Dist: ngio<0.6.0,>=0.5.8
Requires-Dist: ome-types
Requires-Dist: ome-zarr-converters-tools<0.9.0,>=0.8.1
Requires-Dist: tifffile
Requires-Dist: tqdm
Requires-Dist: xmltodict
Requires-Dist: zarrs
Provides-Extra: dev
Requires-Dist: devtools; extra == 'dev'
Requires-Dist: hatch; extra == 'dev'
Requires-Dist: jsonschema; extra == 'dev'
Requires-Dist: matplotlib; extra == 'dev'
Requires-Dist: notebook; extra == 'dev'
Requires-Dist: plotly; extra == 'dev'
Requires-Dist: pre-commit; extra == 'dev'
Requires-Dist: pytest; extra == 'dev'
Requires-Dist: pytest-cov; extra == 'dev'
Requires-Dist: requests; extra == 'dev'
Requires-Dist: ruff; extra == 'dev'
Requires-Dist: ty; extra == 'dev'
Requires-Dist: xmltodict; extra == 'dev'
Provides-Extra: docs
Requires-Dist: mike; extra == 'docs'
Requires-Dist: mkdocs-material; extra == 'docs'
Provides-Extra: test
Requires-Dist: devtools; extra == 'test'
Requires-Dist: jsonschema; extra == 'test'
Requires-Dist: pytest; extra == 'test'
Requires-Dist: pytest-cov; extra == 'test'
Description-Content-Type: text/markdown

# Fractal UZH Converters

A collection of [Fractal](https://fractal-analytics-platform.github.io/) tasks to convert High-Content Screening (HCS) plate data from various microscopes into [OME-Zarr](https://ngff.openmicroscopy.org/) format.

## Supported Microscopes

| Microscope | Manufacturer | Task Name |
|---|---|---|
| Operetta / Opera Phenix | Revvity | `Convert Operetta Plate to OME-Zarr` |
| ScanR | Evident | `Convert Evident ScanR Plate to OME-Zarr` |
| CQ3K | Yokogawa | `Convert Yokogawa CQ3K Plate to OME-Zarr` |
| CellVoyager | Yokogawa | `Convert Yokogawa CellVoyager Plate to OME-Zarr` |
| ImageXpress HCS.ai | Molecular Devices | `Convert MD ImageXpress HCS.ai Plate to OME-Zarr` |

Each converter reads the microscope's native metadata and image files, then produces a well-structured OME-Zarr HCS plate.
## Installation

```bash
pip install fractal-uzh-converters
```

## How It Works

Each converter is implemented as a Fractal Compound Task consisting of two steps:

1. **Init task** — Parses the microscope metadata, creates the OME-Zarr plate structure, and generates a parallelization list.
2. **Compute task** — Reads the raw image tiles and writes them into the OME-Zarr dataset. This task runs in parallel across wells.

You configure the init task with one or more **acquisitions** (paths to your raw data directories) and the converter handles the rest.

## Key Features

- **Multiple tiling modes** — Snap to grid, snap to corners, inplace, or no tiling depending on your acquisition layout.
- **Condition tables** — Attach experimental metadata (drug treatments, concentrations, replicates) to wells via a CSV file.
- **Flexible writer modes** — Choose between per-FOV, per-tile, Dask-parallel, or in-memory writing strategies to balance speed and memory usage.
- **Overwrite control** — No overwrite, full overwrite, or extend mode to incrementally add acquisitions.
- **OME-NGFF 0.4 and 0.5** — Target either specification version for the output.

## Documentation

Full documentation is available at: https://fractal-analytics-platform.github.io/fractal-uzh-converters/
