# 🌊 napari-floodfill
Interactive object annotation in Napari using a *flood fill* tool. This tool is based on the [`flood`](https://scikit-image.org/docs/stable/api/skimage.segmentation.html#skimage.segmentation.flood) function of Scikit-image.
<p align="center">
<img src="https://github.com/MalloryWittwer/napari-floodfill/blob/main/assets/screenshot.gif" height="400">
</p>
## Installation
You can install `napari-floodfill` via [pip]:
pip install napari-floodfill
## Usage
- Select the plugin from the `Plugins` menu of Napari.
- Open an image to annotate (2D, RGB, 2D+t, or 3D).
- Click on the button "Start flood fill" or press `S`. A new `Labels` layer *Flood fill (current edit)* should appear.
- With the *Flood fill* layer selected, move your cursor arounda nd click on the image to annotate objects.
- Double-click to confirm the annotation of an object and move to the next.
**Options and parameters**
- *Auto-increment label index*: Tick this option to increment the label index every time a new object is annotated (e.g. if you are annotating multiple objects).
- *Intensity range*: Pixels outside of this range will not trigger the flood fill computation. The extremities of the range represent the absolute minimum and maximum of the image. Set the range somewhere to the left if you are annotating dark objects on a bright background, or to the right if you are annotating bright objects.
- *Flood fill tolerance*: Controls the extent of the flood fill. A higher value will fill more pixels. The value selected is relative to the image intensity range.
## Contributing
Contributions are very welcome. Please get in touch if you'd like to be involved in improving or extending the package.
## License
Distributed under the terms of the [BSD-3] license,
"napari-floodfill" is free and open source software
## Issues
If you encounter any problems, please file an issue along with a detailed description.
----------------------------------
This [napari] plugin was generated with [Cookiecutter] using [@napari]'s [cookiecutter-napari-plugin] template.
[napari]: https://github.com/napari/napari
[Cookiecutter]: https://github.com/audreyr/cookiecutter
[@napari]: https://github.com/napari
[MIT]: http://opensource.org/licenses/MIT
[BSD-3]: http://opensource.org/licenses/BSD-3-Clause
[GNU GPL v3.0]: http://www.gnu.org/licenses/gpl-3.0.txt
[GNU LGPL v3.0]: http://www.gnu.org/licenses/lgpl-3.0.txt
[Apache Software License 2.0]: http://www.apache.org/licenses/LICENSE-2.0
[Mozilla Public License 2.0]: https://www.mozilla.org/media/MPL/2.0/index.txt
[cookiecutter-napari-plugin]: https://github.com/napari/cookiecutter-napari-plugin
[napari]: https://github.com/napari/napari
[tox]: https://tox.readthedocs.io/en/latest/
[pip]: https://pypi.org/project/pip/
[PyPI]: https://pypi.org/
Raw data
{
"_id": null,
"home_page": "https://github.com/MalloryWittwer/napari-floodfill.git",
"name": "napari-floodfill",
"maintainer": "",
"docs_url": null,
"requires_python": ">=3.8",
"maintainer_email": "",
"keywords": "",
"author": "Mallory Wittwer",
"author_email": "mallory.wittwer@epfl.ch",
"download_url": "https://files.pythonhosted.org/packages/be/4b/d321be39317148154759982f9c05f7a89568791f2195b8a134b0da5a0fd0/napari-floodfill-0.0.1.tar.gz",
"platform": null,
"description": "# \ud83c\udf0a napari-floodfill\n\nInteractive object annotation in Napari using a *flood fill* tool. This tool is based on the [`flood`](https://scikit-image.org/docs/stable/api/skimage.segmentation.html#skimage.segmentation.flood) function of Scikit-image.\n\n<p align=\"center\">\n <img src=\"https://github.com/MalloryWittwer/napari-floodfill/blob/main/assets/screenshot.gif\" height=\"400\">\n</p>\n\n## Installation\n\nYou can install `napari-floodfill` via [pip]:\n\n pip install napari-floodfill\n\n## Usage\n\n- Select the plugin from the `Plugins` menu of Napari.\n- Open an image to annotate (2D, RGB, 2D+t, or 3D).\n- Click on the button \"Start flood fill\" or press `S`. A new `Labels` layer *Flood fill (current edit)* should appear.\n- With the *Flood fill* layer selected, move your cursor arounda nd click on the image to annotate objects.\n- Double-click to confirm the annotation of an object and move to the next.\n\n**Options and parameters**\n- *Auto-increment label index*: Tick this option to increment the label index every time a new object is annotated (e.g. if you are annotating multiple objects).\n- *Intensity range*: Pixels outside of this range will not trigger the flood fill computation. The extremities of the range represent the absolute minimum and maximum of the image. Set the range somewhere to the left if you are annotating dark objects on a bright background, or to the right if you are annotating bright objects.\n- *Flood fill tolerance*: Controls the extent of the flood fill. A higher value will fill more pixels. The value selected is relative to the image intensity range.\n\n## Contributing\n\nContributions are very welcome. Please get in touch if you'd like to be involved in improving or extending the package.\n\n## License\n\nDistributed under the terms of the [BSD-3] license,\n\"napari-floodfill\" 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----------------------------------\n\nThis [napari] plugin was generated with [Cookiecutter] using [@napari]'s [cookiecutter-napari-plugin] template.\n\n[napari]: https://github.com/napari/napari\n[Cookiecutter]: https://github.com/audreyr/cookiecutter\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[cookiecutter-napari-plugin]: https://github.com/napari/cookiecutter-napari-plugin\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",
"bugtrack_url": null,
"license": "BSD-3-Clause",
"summary": "Livewire-based annotation of objects.",
"version": "0.0.1",
"project_urls": {
"Homepage": "https://github.com/MalloryWittwer/napari-floodfill.git"
},
"split_keywords": [],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "3e7cb5f1abfd7d511fee6daa0023a8a4a3bbff2fdb883ac218173dc91d0ccfdf",
"md5": "f39765233caca431922e623a17a1cea2",
"sha256": "1f7d38a63bf117eeb13e9bc16e4ac4a2cd8f6088e94b95b7871f88e54f44989e"
},
"downloads": -1,
"filename": "napari_floodfill-0.0.1-py3-none-any.whl",
"has_sig": false,
"md5_digest": "f39765233caca431922e623a17a1cea2",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.8",
"size": 7349,
"upload_time": "2023-11-10T15:11:36",
"upload_time_iso_8601": "2023-11-10T15:11:36.109624Z",
"url": "https://files.pythonhosted.org/packages/3e/7c/b5f1abfd7d511fee6daa0023a8a4a3bbff2fdb883ac218173dc91d0ccfdf/napari_floodfill-0.0.1-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "be4bd321be39317148154759982f9c05f7a89568791f2195b8a134b0da5a0fd0",
"md5": "f493c94b6a42042843ae0bb10f10d65c",
"sha256": "157cd9cb77ad518bc57aff447e4a01f52ea4dfb9a00beee792f8c4b9a676288a"
},
"downloads": -1,
"filename": "napari-floodfill-0.0.1.tar.gz",
"has_sig": false,
"md5_digest": "f493c94b6a42042843ae0bb10f10d65c",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.8",
"size": 8217,
"upload_time": "2023-11-10T15:11:38",
"upload_time_iso_8601": "2023-11-10T15:11:38.475524Z",
"url": "https://files.pythonhosted.org/packages/be/4b/d321be39317148154759982f9c05f7a89568791f2195b8a134b0da5a0fd0/napari-floodfill-0.0.1.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2023-11-10 15:11:38",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "MalloryWittwer",
"github_project": "napari-floodfill",
"travis_ci": false,
"coveralls": false,
"github_actions": false,
"tox": true,
"lcname": "napari-floodfill"
}