{"name":"napari-fractal-tasks","display_name":"Fractal Task Launcher","visibility":"public","icon":null,"categories":["Image Processing","Segmentation","Utilities"],"schema_version":"0.3.0","on_activate":null,"on_deactivate":null,"contributions":{"commands":[{"id":"napari-fractal-tasks.make_qwidget","title":"Open the Fractal Task Launcher","python_name":"napari_fractal_tasks:TasksQWidget","short_title":null,"category":null,"icon":null,"enablement":null}],"readers":null,"writers":null,"widgets":[{"command":"napari-fractal-tasks.make_qwidget","display_name":"Fractal Task Launcher","autogenerate":false,"default_dock_area":"right","tabify":false}],"sample_data":null,"themes":null,"menus":{},"submenus":null,"keybindings":null,"configurations":{}},"package_metadata":{"metadata_version":"2.4","name":"napari-fractal-tasks","version":"0.1.3","dynamic":["license-file"],"platform":null,"supported_platform":null,"summary":"Install and run Fractal tasks on OME-Zarr images in napari","description":"<h1 align=\"center\">Fractal Task Launcher</h1>\n\n<p align=\"center\">\n  <img src=\"https://raw.githubusercontent.com/krentzd/napari-fractal-tasks/main/src/napari_fractal_tasks/logo_images/napari-fractal-tasks-logo.svg\" width=\"160\" alt=\"napari-fractal-tasks logo\">\n</p>\n\n<div align=\"center\">\n\n[![PyPI](https://img.shields.io/pypi/v/napari-fractal-tasks.svg?color=green)](https://pypi.org/project/napari-fractal-tasks)\n[![Python Version](https://img.shields.io/pypi/pyversions/napari-fractal-tasks.svg?color=green)](https://pypi.org/project/napari-fractal-tasks)\n[![License MIT](https://img.shields.io/github/license/krentzd/napari-fractal-tasks?color=green)](https://github.com/krentzd/napari-fractal-tasks/raw/main/LICENSE)\n[![tests](https://github.com/krentzd/napari-fractal-tasks/actions/workflows/test_and_deploy.yml/badge.svg?branch=main)](https://github.com/krentzd/napari-fractal-tasks/actions/workflows/test_and_deploy.yml)\n[![napari hub](https://img.shields.io/endpoint?url=https://api.napari-hub.org/shields/napari-fractal-tasks)](https://napari-hub.org/plugins/napari-fractal-tasks)\n\n</div>\n\nA [napari](https://napari.org/stable/index.html) plugin to install and run [Fractal](https://fractal-analytics-platform.github.io/) tasks locally on [OME-Zarr](https://ngff.openmicroscopy.org/) images. Tasks can either be installed from the [Fractal task catalog]( https://fractal-analytics-platform.github.io/fractal_tasks/) or from tarball files (`.tar.gz`). \n\n![width=200](https://raw.githubusercontent.com/krentzd/napari-fractal-tasks/main/resources/images/napari-plugin-screenshot.png)\n\n\n\n## Usage \n\n### Installation\nThe napari-fractal-tasks plugin requires [pixi](https://pixi.prefix.dev/latest/), which installs each task package in its own environment. Install pixi first; it is not installed together with the plugin.\n\nTo add the plugin to an existing napari, install `napari-fractal-tasks` from napari's plugin manager (`Plugins > Install/Uninstall Plugins`) or with pip:\n\n```bash\npip install napari-fractal-tasks\n```\n\nTo run the plugin from its source code instead, open the terminal and run the following commands:\n\n```bash\ngit clone https://github.com/krentzd/napari-fractal-tasks\ncd napari-fractal-tasks\npixi run napari\n```\n\n### Running Fractal tasks\n\n[![Watch the video](https://raw.githubusercontent.com/krentzd/napari-fractal-tasks/main/resources/images/video-screenshot.png)](https://youtu.be/Dy_UNt88HGA)\n\n1. **Load task packages** either from the [Fractal task catalog]( https://fractal-analytics-platform.github.io/fractal_tasks/), or upload your own local task as a `.tar.gz` file by clicking on `Manage packages`.\n2. **Open an OME-Zarr file** using the [napari-ome-zarr](https://github.com/ome/napari-ome-zarr) plugin by drag-and-drop. \n2. **Select and add a task** from the `Task` widget. Run your task on one image, several images or a whole plate, and interatively tune parameters of the task.\n3. **Explore different parameter settings** interactively in the napari viewer. Results are written back to the OME-Zarr file and opened in the viewer once the task finishes.\n4. **Export** the parameters and directly load them into the [fractal-server](https://github.com/fractal-analytics-platform/fractal-server).\n\n### Tips\n- Parameter settings exported via the fractal-server can be directly imported for a given task.\n- Workflows can also run headless e.g. in a Jupyter notebook (see [`examples`](https://github.com/krentzd/napari-fractal-tasks/tree/main/examples)).\n\n- Restrict a task to a region of interest (ROI):\n  1. Click **Add Shapes Layer for ROI selection** and draw a polygon.\n  2. Name the table under **ROI Table Name** (select **Overwrite** to replace an existing one).\n  3. Click **Save ROIs to table**.\n\n### Notes:\n- Requires **Python 3.11+** or higher.\n- **First install of a task package** can take several minutes. Installing the same version again reuses the cached environment and takes about a second.\n- **Disk space:** each (package, version) is a separate environment. Everything lives in `~/.napari_fractal_tasks`.\n\n## Test data\n- **Segmentation:** `20200812-CardiomyocyteDifferentiation14-Cycle1_mip.zarr` ([Zenodo](https://zenodo.org/records/10424292)).\n- **Registration:** `220605_151046_mip.zarr` ([Zenodo](https://zenodo.org/records/13982701)), a two-cycle multiplexed plate (DAPI is `A04_C01` in both cycles).\n\n## Current limitations\nConverter tasks are not supported. The data already needs to be in OME-Zarr file format.\n\n## How to cite\n\nThe prototype was started at the [2024 OME-NGFF workflows hackathon](https://doi.org/10.37044/osf.io/5uhwz_v2) and developed further at the 2025 and 2026 hackathons.\n\n```bibtex\n@article{luthi20252024,\n  title={2024 OME-NGFF workflows hackathon},\n  author={L{\\\"u}thi, Joel and Albert, Marvin and Anita, Liviu and Babalola, Kola and Bennett, Davis and Bogovic, John A and Cerrone, Lorenzo and Dornier, R{\\'e}my and Eglinger, Jan and Galinova, Vera and others},\n  year={2025},\n  publisher={OSF}\n}\n```\n\n## License\nThe code and text are under the [MIT license](LICENSE).\n","description_content_type":"text/markdown","keywords":null,"home_page":null,"download_url":null,"author":null,"author_email":"Daniel Krentzel <dkrentzel@pm.me>, Ruth Hornbachner <rhornbachner@gmail.com>","maintainer":null,"maintainer_email":null,"license":null,"classifier":["Development Status :: 2 - Pre-Alpha","Framework :: napari","Intended Audience :: Developers","Operating System :: OS Independent","Programming Language :: Python","Programming Language :: Python :: 3","Programming Language :: Python :: 3 :: Only","Programming Language :: Python :: 3.11","Programming Language :: Python :: 3.12","Programming Language :: Python :: 3.13","Topic :: Scientific/Engineering :: Image Processing"],"requires_dist":["numpy","packaging","qtpy","ngio<0.5,>=0.4","napari","napari-ome-zarr","tox; extra == \"testing\"","pytest; extra == \"testing\"","pytest-cov; extra == \"testing\"","pytest-qt; extra == \"testing\"","pooch; extra == \"testing\""],"requires_python":"<3.14,>=3.11","requires_external":null,"project_url":["Bug Tracker, https://github.com/krentzd/napari-fractal-tasks/issues","Documentation, https://github.com/krentzd/napari-fractal-tasks#README.md","Source Code, https://github.com/krentzd/napari-fractal-tasks","User Support, https://github.com/krentzd/napari-fractal-tasks/issues"],"provides_extra":["testing"],"provides_dist":null,"obsoletes_dist":null},"npe1_shim":false}