{"name":"napari-racc","display_name":"napari-racc","visibility":"public","icon":null,"categories":[],"schema_version":"0.3.0","on_activate":null,"on_deactivate":null,"contributions":{"commands":[{"id":"napari-racc.make_widget","title":"RACC","python_name":"napari_racc._widget:RaccWidget","short_title":null,"category":null,"icon":null,"enablement":null},{"id":"napari-racc.sample_data_2d","title":"RACC example 2D","python_name":"napari_racc._sample_data:make_sample_data_2d","short_title":null,"category":null,"icon":null,"enablement":null},{"id":"napari-racc.sample_data_3d","title":"RACC example 3D","python_name":"napari_racc._sample_data:make_sample_data_3d","short_title":null,"category":null,"icon":null,"enablement":null}],"readers":null,"writers":null,"widgets":[{"command":"napari-racc.make_widget","display_name":"RACC","autogenerate":false,"default_dock_area":"right","tabify":false}],"sample_data":[{"command":"napari-racc.sample_data_2d","key":"racc_2d","display_name":"RACC 2D example"},{"command":"napari-racc.sample_data_3d","key":"racc_3d","display_name":"RACC 3D example"}],"themes":null,"menus":{},"submenus":null,"keybindings":null,"configurations":{}},"package_metadata":{"metadata_version":"2.4","name":"napari-racc","version":"0.5.0","dynamic":["license-file"],"platform":null,"supported_platform":null,"summary":"Regression adjusted colocalisation colour mapping for napari","description":"# napari-racc\n\n`napari-racc` is a napari plugin for Regression Adjusted Colocalisation Colour\nMapping (RACC), a qualitative visualization method for 2D and 3D fluorescence\nmicroscopy data.\n\nThe plugin takes two image layers, computes the RACC index in 3D whenever the\ninputs are volumes, and adds interactive overlay, RACC, side-by-side, MIP, and\nscatter-plot views to the napari viewer.\n\n## Screenshots\n\n![RACC 3D side-by-side volume view](https://raw.githubusercontent.com/rensutheart/napari-racc/main/docs/images/racc-side-by-side-volume.png)\n\n3D side-by-side view with the thresholded channel overlay on the left and the\nRACC volume on the right.\n\n![RACC side-by-side MIP view](https://raw.githubusercontent.com/rensutheart/napari-racc/main/docs/images/racc-side-by-side-mip.png)\n\n3D-derived maximum-intensity projection view.\n\n## Features\n\n- two-channel RACC calculation from napari `Image` layers\n- live threshold, theta, percentile, and Costes threshold controls\n- linked analysis/display cutoffs with optional display-only channel thresholds\n- independent RACC display minimum without changing the numeric result\n- synchronized translucent, maximum-intensity, and additive 3D rendering modes\n- 3D-only intensity and RACC opacity controls, plus background suppression for\n  clearer deep structures without making 2D slices or fixed MIPs faint\n- transparent zero-valued RACC voxels for clean volume rendering\n- thresholded RGB overlay volume with selectable probe colors\n- side-by-side overlay/RACC and 3D-derived MIP views\n- scatter histogram with visible axes, regression, threshold, and percentile-band overlays\n- XY and Z display scale controls for metadata-light TIFF stacks\n- scrollable control panel with expandable input layer selectors\n- export of the numeric RACC result stack as TIFF\n\n## Installation\n\nInstall from PyPI:\n\n```bash\npip install napari-racc\n```\n\nFor local development:\n\n```bash\ngit clone https://github.com/rensutheart/napari-racc.git\ncd napari-racc\nuv venv --python 3.11\nsource .venv/bin/activate\nuv pip install -e \".[dev]\"\n```\n\nFish shell users should activate the environment with:\n\n```fish\nsource .venv/bin/activate.fish\n```\n\n## Usage\n\n1. Open napari.\n2. Open two image stacks or use `File > Open Sample > RACC`.\n3. Start the widget from `Plugins > RACC (napari-racc)`.\n4. On **Analysis**, select channel 1 and channel 2.\n5. Adjust the background thresholds or press `Estimate thresholds (Costes)`.\n   Thresholds use the shared 0–255 working intensity scale. Review automatic\n   estimates against the image background.\n6. Press `Run RACC`.\n7. For volume inputs, use `3D channels`, `3D RACC map`, or `3D side by side`.\n   `2D Z max projection` compares fixed maximum-intensity projections along Z.\n   A short note below the buttons explains this projection. With 2D inputs,\n   the first three buttons are labelled 2D and the Z-projection action is disabled.\n8. On **Appearance**, expand `3D volume rendering` to adjust the rendering method,\n   intensity/RACC opacities,\n   and background suppression. These volume controls apply only to 3D views;\n   slices and fixed Z-projections show retained pixels at full opacity.\n9. Expand `Visibility filters` for channel cutoffs and the RACC minimum.\n   Leave `Link channel cutoffs to analysis thresholds` enabled for a directly\n   comparable intensity view, or disable it to set display-only cutoffs.\n   Expand `Colors` or `Scale & bounding box` for other appearance controls.\n   Appearance settings do not change the calculated or exported RACC values.\n10. On Analysis, expand `Advanced method settings` for theta and percentile,\n    or `Analysis diagnostics` for the scatter plot. Use `Log intensity` to space\n    both axes logarithmically and `Focus above thresholds` to emphasize the\n    voxels that meet both thresholds. Turn off `Show fit guides` to inspect\n    the histogram with only the channel threshold lines. `Update automatically`\n    controls recalculation after analysis edits.\n11. Press `Export RACC TIFF` to save the numeric RACC result stack for use in\n    other software.\n\nRACC is calculated over the full 3D volume when 3D inputs are used. The MIP view\nis derived from the 3D calculation; it is not a 2D recalculation.\n\n## Development\n\n```bash\npython -m npe2 validate src/napari_racc/napari.yaml\npython -m ruff check src\npython -m pytest\npython -m build\n```\n\nLaunch one example dimensionality at a time:\n\n```bash\npython scripts/launch_racc_examples.py --example 3d\npython scripts/launch_racc_examples.py --example 2d\n```\n\nFor a prepared presentation example, use:\n\n```bash\npython scripts/launch_racc_examples.py --example 3d --demo\n```\n\nThis loads a small, explicitly labelled synthetic example, calculates RACC,\nand opens the side-by-side comparison with Appearance selected. It uses no\nlocal legacy sample files. See [the demonstration guide](https://github.com/rensutheart/napari-racc/blob/main/docs/DEMO_GUIDE.md)\nfor a five-minute walkthrough and technical discussion points.\n\nDo not launch the napari viewer with `QT_QPA_PLATFORM=offscreen`; napari needs a\nreal Qt/OpenGL context for the viewer on macOS.\n\n## Citation\n\nIf you use this plugin or the RACC method in research, cite:\n\nTheart RP, Loos B, Niesler TR. Regression adjusted colocalisation colour mapping\n(RACC): A novel biological visual analysis method for qualitative\ncolocalisation analysis of 3D fluorescence micrographs. PLOS ONE 14(11):\ne0225141. <https://doi.org/10.1371/journal.pone.0225141>\n\n## License And Patent Notice\n\nThis software is licensed under the PolyForm Noncommercial License 1.0.0. It is\nsource-available for noncommercial research, education, and evaluation use, but\nit is not an OSI open-source license.\n\nUse of the RACC method may be covered by patent rights, including US patent\napplication US20220189129A1 and related patent family members. Commercial,\nclinical, diagnostic, or for-profit service use requires a separate license from\nthe rights holder. See `LICENSE`, `NOTICE`, and `PATENTS.md`.\n","description_content_type":"text/markdown","keywords":"colocalisation,colocalization,fluorescence microscopy,image analysis,napari,RACC,visualization","home_page":null,"download_url":null,"author":"Rensu P. Theart","author_email":null,"maintainer":null,"maintainer_email":null,"license":null,"classifier":["Framework :: napari","Intended Audience :: Science/Research","Programming Language :: Python :: 3","Programming Language :: Python :: 3 :: Only","Topic :: Scientific/Engineering :: Bio-Informatics","Topic :: Scientific/Engineering :: Image Processing","Topic :: Scientific/Engineering :: Visualization"],"requires_dist":["imageio>=2.20","magicgui>=0.7","numpy>=1.24","qtpy>=2.4","tifffile>=2022.7.28","build>=1.2; extra == \"dev\"","napari[pyqt6]>=0.6; extra == \"dev\"","npe2>=0.8; extra == \"dev\"","pytest>=8; extra == \"dev\"","pytest-qt>=4.4; extra == \"dev\"","ruff>=0.12; extra == \"dev\"","twine>=5; extra == \"dev\""],"requires_python":">=3.10","requires_external":null,"project_url":["Homepage, https://github.com/rensutheart/napari-racc","Repository, https://github.com/rensutheart/napari-racc","Issues, https://github.com/rensutheart/napari-racc/issues","Paper, https://doi.org/10.1371/journal.pone.0225141","Patent, https://patentimages.storage.googleapis.com/f1/10/5d/798b2ae1eea441/US20220189129A1.pdf"],"provides_extra":["dev"],"provides_dist":null,"obsoletes_dist":null},"npe1_shim":false}