{"name":"napari-colocalization","display_name":"Colocalization","visibility":"public","icon":"","categories":[],"schema_version":"0.2.1","on_activate":null,"on_deactivate":null,"contributions":{"commands":[{"id":"napari-colocalization.make_widget","title":"Open Colocalization Analysis","python_name":"napari_colocalization:ColocalizationWidget","short_title":null,"category":null,"icon":null,"enablement":null},{"id":"napari-colocalization.make_sample_data","title":"Load 2D colocalization sample","python_name":"napari_colocalization._sample_data:make_sample_data","short_title":null,"category":null,"icon":null,"enablement":null},{"id":"napari-colocalization.make_sample_data_3d","title":"Load 3D colocalization sample","python_name":"napari_colocalization._sample_data:make_sample_data_3d","short_title":null,"category":null,"icon":null,"enablement":null},{"id":"napari-colocalization.make_sample_data_cbs006rbm","title":"Load CBS006RBM colocalization sample","python_name":"napari_colocalization._sample_data:make_sample_data_cbs006rbm","short_title":null,"category":null,"icon":null,"enablement":null}],"readers":null,"writers":null,"widgets":[{"command":"napari-colocalization.make_widget","display_name":"Colocalization Analysis","autogenerate":false}],"sample_data":[{"command":"napari-colocalization.make_sample_data","key":"coloc_sample_v1","display_name":"Colocalization sample (2D)"},{"command":"napari-colocalization.make_sample_data_3d","key":"coloc_sample_v1_3d","display_name":"Colocalization sample (3D)"},{"command":"napari-colocalization.make_sample_data_cbs006rbm","key":"coloc_sample_cbs006rbm","display_name":"CBS006RBM (colocalization benchmark)"}],"themes":null,"menus":{},"submenus":null,"keybindings":null,"configuration":[]},"package_metadata":{"metadata_version":"2.4","name":"napari-colocalization","version":"0.1.5","dynamic":["license-file"],"platform":null,"supported_platform":null,"summary":"Colocalization analysis of multi-channel images","description":"<p align=\"center\">\n  <!-- TODO: replace with final logo -->\n  <img src=\"https://raw.githubusercontent.com/DBI-INFRA/napari-colocalization/main/docs/img/logo.png\" alt=\"napari-colocalization logo\" width=\"160\"/>\n</p>\n\n# napari-colocalization\n\n[![License MIT](https://img.shields.io/pypi/l/napari-colocalization.svg?color=green)](https://github.com/DBI-INFRA/napari-colocalization/raw/main/LICENSE)\n[![PyPI](https://img.shields.io/pypi/v/napari-colocalization.svg?color=green)](https://pypi.org/project/napari-colocalization)\n[![Python Version](https://img.shields.io/pypi/pyversions/napari-colocalization.svg?color=green)](https://python.org)\n[![tests](https://github.com/DBI-INFRA/napari-colocalization/workflows/tests/badge.svg)](https://github.com/DBI-INFRA/napari-colocalization/actions)\n[![codecov](https://codecov.io/gh/DBI-INFRA/napari-colocalization/branch/main/graph/badge.svg)](https://codecov.io/gh/DBI-INFRA/napari-colocalization)\n[![napari hub](https://img.shields.io/endpoint?url=https://api.napari-hub.org/shields/napari-colocalization)](https://napari-hub.org/plugins/napari-colocalization)\n[![npe2](https://img.shields.io/badge/plugin-npe2-blue?link=https://napari.org/stable/plugins/index.html)](https://napari.org/stable/plugins/index.html)\n\n> ⚠️ **Under construction — pre-alpha.** APIs, UI, and outputs may change\n> without notice. Not recommended for production analysis yet; use at your\n> own risk and please report rough edges via the\n> [issue tracker](https://github.com/DBI-INFRA/napari-colocalization/issues).\n\nInteractive intensity-colocalization analysis for [napari](https://napari.org).\nPick two channels (or one multi-channel image), optionally restrict the\nanalysis to a region drawn as shapes or labels, choose your metric, and get a\nresults table plus an intensity-vs-intensity density plot.\n\n<p align=\"center\">\n  <img src=\"https://raw.githubusercontent.com/DBI-INFRA/napari-colocalization/main/docs/img/widget_overview.png\" alt=\"napari-colocalization widget\" width=\"780\"/>\n</p>\n\n## Features\n\n- **Four correlation metrics**: Pearson (PCC), Spearman rank (SRCC), Li\n  Intensity Correlation Quotient (ICQ), and Manders' coefficients M1/M2 (MCC).\n- **Pairwise or all-to-all** mode: analyse two grayscale layers, or every\n  channel pair within a single multi-channel layer.\n- **2D and 3D** support natively (no time-series for now).\n- **Region-restricted analysis** via a Shapes or Labels layer — each non-zero\n  region is reported on its own row.\n- **Manders thresholds**: choose **Costes auto** (iterative regression-based)\n  or **Manual**.\n- **Interactive results**: in-widget table, density plot of the selected row,\n  multi-row selection that highlights all matching shapes/labels in the viewer.\n- **CSV export** of the current table, plus **figure export** of the\n  density plot (PNG / PDF / SVG / TIFF, configurable size and DPI).\n\n## Installation\n\n```bash\npip install napari-colocalization\n```\n\nIf napari isn't already installed, install both at once:\n\n```bash\npip install \"napari-colocalization[all]\"\n```\n\nFor the latest development version:\n\n```bash\npip install git+https://github.com/DBI-INFRA/napari-colocalization.git\n```\n\n## Quick start\n\n1. Launch napari.\n2. Load sample data: **File → Open Sample → napari-colocalization →\n   Colocalization sample (2D)**. A 3D synthetic sample and **CBS006RBM**\n   — a two-channel benchmark image from the\n   [Colocalization Benchmark Source](https://colocalization-benchmark.com)\n   — are also provided.\n\n   <p align=\"center\">\n     <img src=\"https://raw.githubusercontent.com/DBI-INFRA/napari-colocalization/main/docs/img/quickstart_sample.png\" alt=\"Open Sample menu\" width=\"520\"/>\n   </p>\n\n3. Open the widget: **Plugins → Colocalization Analysis**. Two image layers\n   `channel_a` and `channel_b` are auto-selected for pairwise mode.\n\n4. Click **Run**. The results table populates with a single row (the whole\n   image), and the density plot below shows the intensity pairs with the\n   metric values overlaid.\n\n<p align=\"center\">\n  <img src=\"https://raw.githubusercontent.com/DBI-INFRA/napari-colocalization/main/docs/img/widget_overview.png\" alt=\"napari-colocalization widget\" width=\"780\"/>\n</p>\n\n5. *(Optional)* Add a Shapes layer, draw a few rectangles or polygons, set\n   **Region** to *Shapes* and pick the layer. Re-run — the table now has one\n   row per shape, and clicking a row highlights the matching shape in the\n   viewer.\n\n<p align=\"center\">\n  <img src=\"https://raw.githubusercontent.com/DBI-INFRA/napari-colocalization/main/docs/img/widget_shapes.png\" alt=\"napari-colocalization widget\" width=\"780\"/>\n</p>\n\nSee [docs/usage.md](docs/usage.md) for the full walkthrough.\n\n## Documentation\n\n- **[Usage guide](docs/usage.md)** — every control in the widget, in order.\n- **[Metrics](docs/metrics.md)** — what PCC, SRCC, ICQ and MCC mean, when to use\n  which, and how the Costes auto-threshold works.\n- **[Python API](docs/api.md)** — calling the pure-compute layer\n  (`pearson`, `spearman`, `li_icq`, `manders`, `costes_threshold`,\n  `analyse_pairwise`, `analyse_all_to_all`) from scripts or notebooks.\n\n## Related projects\n\n- [Coloc 2](https://imagej.net/plugins/coloc-2) — the reference ImageJ\n  colocalization plugin; this plugin follows it in spirit.\n- [scikit-image colocalization metrics](https://scikit-image.org/docs/stable/auto_examples/applications/plot_colocalization_metrics.html)\n  — the underlying implementations of PCC and Manders.\n\n## Contributing\n\nContributions are welcome. Run the test suite with:\n\n```bash\npip install -e . --group dev\npython -m pytest tests/ -v\n```\n\nPre-commit hooks (ruff lint + format, napari-plugin-checks) ship with the\nrepo:\n\n```bash\npre-commit install\npre-commit run --all-files\n```\n\nPlease keep test coverage at or above the current level when submitting a PR.\n\n## License\n\nDistributed under the terms of the [MIT](http://opensource.org/licenses/MIT)\nlicence; `napari-colocalization` is free and open-source software.\n\n## Issues\n\nFound a bug or have a feature request? Please\n[open an issue](https://github.com/DBI-INFRA/napari-colocalization/issues).\n","description_content_type":"text/markdown","keywords":null,"home_page":null,"download_url":null,"author":"Jesko Wagner","author_email":"35219306+jeskowagner@users.noreply.github.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.10","Programming Language :: Python :: 3.11","Programming Language :: Python :: 3.12","Programming Language :: Python :: 3.13","Topic :: Scientific/Engineering :: Image Processing"],"requires_dist":["numpy","magicgui","qtpy","scikit-image","scipy","matplotlib","napari[all]; extra == \"all\""],"requires_python":">=3.10","requires_external":null,"project_url":["Bug Tracker, https://github.com/jeskowagner/napari-colocalization/issues","Documentation, https://github.com/jeskowagner/napari-colocalization#README.md","Source Code, https://github.com/jeskowagner/napari-colocalization","User Support, https://github.com/jeskowagner/napari-colocalization/issues"],"provides_extra":["all"],"provides_dist":null,"obsoletes_dist":null},"npe1_shim":false}