{"name":"napari-point-proofread","display_name":"Point Proofread","visibility":"public","icon":null,"categories":["Annotation"],"schema_version":"0.3.0","on_activate":null,"on_deactivate":null,"contributions":{"commands":[{"id":"napari-point-proofread.make_qwidget","title":"Make main proofreading widget","python_name":"napari_point_proofread._widget:MainWidget","short_title":null,"category":null,"icon":null,"enablement":null},{"id":"napari-point-proofread.threshold_prob","title":"Make prediction proofreading widget","python_name":"napari_point_proofread._widget:PredictionWidget","short_title":null,"category":null,"icon":null,"enablement":null},{"id":"napari-point-proofread.write_points","title":"Write points CSV preserving integer properties","python_name":"napari_point_proofread._io:write_points_csv_preserve_types","short_title":null,"category":null,"icon":null,"enablement":null}],"readers":null,"writers":[{"command":"napari-point-proofread.write_points","layer_types":["points"],"filename_extensions":[".csv"],"display_name":""}],"widgets":[{"command":"napari-point-proofread.make_qwidget","display_name":"Manual Proofread","autogenerate":false,"default_dock_area":"right","tabify":false},{"command":"napari-point-proofread.threshold_prob","display_name":"Proofread Predictions (from csv)","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-point-proofread","version":"0.4.0","dynamic":["license-file"],"platform":null,"supported_platform":null,"summary":"Proofreading point annotations on images with napari","description":"# napari-point-proofread\nhttps://github.com/LaboratoryOpticsBiosciences/napari-point-proofread\n\n[![License MIT](https://img.shields.io/pypi/l/napari-point-proofread.svg?color=green)](https://github.com/LaboratoryOpticsBiosciences/napari-point-proofread/raw/main/LICENSE)\n[![PyPI](https://img.shields.io/pypi/v/napari-point-proofread.svg?color=green)](https://pypi.org/project/napari-point-proofread)\n[![Python Version](https://img.shields.io/pypi/pyversions/napari-point-proofread.svg?color=green)](https://python.org)\n[![tests](https://github.com/LaboratoryOpticsBiosciences/napari-point-proofread/workflows/tests/badge.svg)](https://github.com/LaboratoryOpticsBiosciences/napari-point-proofread/actions)\n[![codecov](https://codecov.io/gh/LaboratoryOpticsBiosciences/napari-point-proofread/branch/main/graph/badge.svg)](https://codecov.io/gh/LaboratoryOpticsBiosciences/napari-point-proofread)\n[![napari hub](https://img.shields.io/endpoint?url=https://api.napari-hub.org/shields/napari-point-proofread)](https://napari-hub.org/plugins/napari-point-proofread)\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[![Copier](https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/copier-org/copier/master/img/badge/badge-grayscale-inverted-border-purple.json)](https://github.com/copier-org/copier)\n\nProofreading point annotations on images with napari\n\n----------------------------------\n\n> [!IMPORTANT]\n> Since v0.4.0 this plugin is published as `napari-point-proofread`. It was previously released as `napari-proofread-brainbow` (up to v0.3.3), which is no longer maintained. If you have the old package installed, run `pip uninstall napari-proofread-brainbow` before installing the new one.\n\n\nThis [napari] plugin was generated with [copier] using the [napari-plugin-template].\n\n<!--\nDon't miss the full getting started guide to set up your new package:\nhttps://github.com/napari/napari-plugin-template#getting-started\n\nand review the napari docs for plugin developers:\nhttps://napari.org/stable/plugins/index.html\n-->\n\n## Installation\n\nYou can install `napari-point-proofread` via [pip]:\n\n    pip install napari-point-proofread\n\nIf napari is not already installed, you can install `napari-point-proofread` with napari and Qt via:\n\n    pip install \"napari-point-proofread[all]\"\n\n## Beginner Quick Guide (Step-by-Step)\n\nThis plugin provides two panels in napari:\n\n- **Plugins > Point Proofread > Manual Proofread**\n- **Plugins > Point Proofread > Proofread Predictions (from csv)**\n\n### 1. Open napari and load your data\n\n1. Start napari:\n\n    ```bash\n    napari\n    ```\n2. Drag and drop your image into the viewer (or use **File > Open File(s)...**).\n3. If you have prediction points, also load the CSV file.\n\n![Screenshot placeholder: napari with raw image and optional CSV loaded](docs/images/step-1-load-data.png)\n\n### 2. Open the plugin widgets\n\n1. Open **Plugins > Point Proofread > Manual Proofread**.\n2. (Optional) Open **Plugins > Point Proofread > Proofread Predictions (from csv)** if you want to review model predictions.\n\n![Screenshot placeholder: plugin menu showing both widgets](docs/images/step-2-open-widgets.png)\n\n### 3. Prepare the image for proofreading\n\nIn **Manual Proofread**:\n\n1. Select your image in **Image layer**.\n2. Click **Convert to RGB** (for 4D channel-first/channel-middle data).\n3. Click **Normalize (perc=99)** to improve visibility.\n4. Use **Contrast max** and **ZYX scale** sliders as needed.\n5. (Optional) Click **Make grid** to create a labeled grid overlay for systematic review.\n\nTip: In napari layer list, right-click an RGB layer and use **Split RGB** when needed (often helpful for 3D inspection).\n\n![Screenshot placeholder: Manual Proofread panel and adjusted image view](docs/images/step-3-image-prep.png)\n\n### 4. Add or edit proofreading points\n\n1. Create or select a **Points** layer.\n2. In **Point Layer Tools**, set **Point size** for better visibility.\n3. (Optional) Enable **Enable class annotation**.\n4. Choose a class number and use **Assign class to selected** to label points.\n\n![Screenshot placeholder: points editing and class annotation controls](docs/images/step-4-points-annotation.png)\n\n### 5. Review prediction CSV points by confidence (optional)\n\nIn **Proofread Predictions (from csv)**:\n\n1. Select the loaded prediction points layer.\n2. Adjust **Min probability**.\n3. Click **Threshold probability (csv)** to create/update a filtered layer (`threshold_prob`).\n\n![Screenshot placeholder: thresholded prediction points layer](docs/images/step-5-threshold-predictions.png)\n\n### 6. Save your corrected points\n\n1. Select your final points layer.\n2. Save as CSV from napari.\n3. In the save dialog, set **Files of type** to **Point Proofread (*.csv)** (as shown in the image). Otherwise, values that should remain integers (for example, class labels) may not be saved correctly.\n\n![Screenshot placeholder: saving points layer to CSV](docs/images/step-6-save-csv.png)\n\n\n## Developer Setup\n\nAfter cloning the repository, you can set up a development environment with conda:\n\n### pip\n\n#### Step 1: Create and activate the corresponding conda environment\n\n```\nconda create -n napari-point-proofread -c conda-forge python=3.11 pip -y\nconda activate napari-point-proofread\n```\n\n#### Step 2: Install requirements with pip\n\n```\ncd napari-point-proofread\npip install -e . --group dev\n```\n\n`--group` requires pip >= 25.1.\n\n#### Step 3: Test the plugin by running napari\n\n```\nnapari\n```\n\nThe plugin should appear under *Plugins > Point Proofread*\n\n### With uv\n\n```\nuv sync\nuv run napari\n```\n\nRun the tests with `uv run pytest` (current environment) or `uv run tox` (full matrix).\n\n\n\n\n## Contributing\n\nContributions are very welcome. Tests can be run with [tox], please ensure\nthe coverage at least stays the same before you submit a pull request.\n\n## License\n\nDistributed under the terms of the [MIT] license,\n\"napari-point-proofread\" is free and open source software\n\n## Issues\n\nIf you encounter any problems, please [file an issue] along with a detailed description.\n\n[napari]: https://github.com/napari/napari\n[copier]: https://copier.readthedocs.io/en/stable/\n[@napari]: https://github.com/napari\n[MIT]: http://opensource.org/licenses/MIT\n[BSD-3]: http://opensource.org/licenses/BSD-3-Clause\n[GNU GPL v3.0]: http://www.gnu.org/licenses/gpl-3.0.txt\n[GNU LGPL v3.0]: http://www.gnu.org/licenses/lgpl-3.0.txt\n[Apache Software License 2.0]: http://www.apache.org/licenses/LICENSE-2.0\n[Mozilla Public License 2.0]: https://www.mozilla.org/media/MPL/2.0/index.txt\n[napari-plugin-template]: https://github.com/napari/napari-plugin-template\n\n[napari]: https://github.com/napari/napari\n[tox]: https://tox.readthedocs.io/en/latest/\n[pip]: https://pypi.org/project/pip/\n[PyPI]: https://pypi.org/\n","description_content_type":"text/markdown","keywords":null,"home_page":null,"download_url":null,"author":"Seongbin Lim","author_email":"sungbin246@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","Programming Language :: Python :: 3.14","Topic :: Scientific/Engineering :: Image Processing"],"requires_dist":["napari","numpy","magicgui","qtpy","napari[all]; extra == \"all\""],"requires_python":">=3.11","requires_external":null,"project_url":["Bug Tracker, https://github.com/LaboratoryOpticsBiosciences/napari-point-proofread/issues","Documentation, https://github.com/LaboratoryOpticsBiosciences/napari-point-proofread#README.md","Source Code, https://github.com/LaboratoryOpticsBiosciences/napari-point-proofread","User Support, https://github.com/LaboratoryOpticsBiosciences/napari-point-proofread/issues"],"provides_extra":["all"],"provides_dist":null,"obsoletes_dist":null},"npe1_shim":false}