Name | napari-simpleannotate JSON |
Version |
0.1.0
JSON |
| download |
home_page | None |
Summary | A napari plugin for simple image and video annotation |
upload_time | 2025-07-16 09:54:40 |
maintainer | None |
docs_url | None |
author | None |
requires_python | >=3.8 |
license | None |
keywords |
|
VCS |
 |
bugtrack_url |
|
requirements |
No requirements were recorded.
|
Travis-CI |
No Travis.
|
coveralls test coverage |
No coveralls.
|
# napari-simpleannotate
[](https://github.com/hiroalchem/napari-simpleannotate/raw/main/LICENSE)
[](https://pypi.org/project/napari-simpleannotate)
[](https://python.org)
[](https://github.com/hiroalchem/napari-simpleannotate/actions)
[](https://codecov.io/gh/hiroalchem/napari-simpleannotate)
[](https://napari-hub.org/plugins/napari-simpleannotate)
A napari plugin for simple image and video annotation that provides three main annotation workflows:
1. **Bounding Box Annotation (YOLO format)**: For object detection training data on images
2. **Video Bounding Box Annotation**: For object detection training data on video files
3. **Image Classification Labeling**: For image classification training data
----------------------------------
This [napari] plugin was generated with [Cookiecutter] using [@napari]'s [cookiecutter-napari-plugin] template.
<!--
Don't miss the full getting started guide to set up your new package:
https://github.com/napari/cookiecutter-napari-plugin#getting-started
and review the napari docs for plugin developers:
https://napari.org/stable/plugins/index.html
-->

## Installation
You can install `napari-simpleannotate` via [pip]:
pip install napari-simpleannotate
To install latest development version :
pip install git+https://github.com/hiroalchem/napari-simpleannotate.git
## How to use
### Bounding Box Annotation (for images)
1. **Opening Files or Directories**:
- Click the `Open File` button to open an image file.
- Click the `Open Directory` button to open a directory containing images.
- If there's a `class.yaml` in the directory of the selected file or within the selected directory, it will be automatically detected. A popup will appear, giving you the option to load it.
2. **Class Management**:
- Enter the class name in the textbox and click the `Add class` button to add a class. When adding a class name, a number is automatically assigned to it. This number will be used when saving annotations.
- Select a class from the class list and click the `Delete selected class` button to remove it.
3. **Annotating Images**:
- Use napari's rectangle tool to annotate the images. If you have a class selected, the annotation will automatically be assigned to that class.
- For existing rectangles, you can change their class by selecting the rectangle and then choosing a different class from the list.
4. **Saving Annotations**:
- Click the `Save Annotations` button to save the annotations in YOLO format.
- Along with saving the annotations, the `class.yaml` will also be saved. If a `class.yaml` already exists and its content is different from the current one, a popup will appear asking for confirmation to overwrite it.
### Video Bounding Box Annotation
1. **Opening Videos**:
- Click the `Open Video` button to open a video file (supports MP4, AVI, MOV, MKV, WMV, FLV, WebM formats).
- The video will be loaded and displayed in napari's time-aware viewer.
2. **Navigation**:
- Use napari's time slider to navigate between frames.
- Current frame information is displayed in the widget.
3. **Class Management**:
- Same as image annotation: add/delete classes with automatic ID assignment.
- Classes are saved to `class.yaml` in the video directory.
4. **Annotating Videos**:
- Navigate to the desired frame using the time slider.
- Use napari's rectangle tool to create bounding boxes.
- Each annotation automatically includes the current frame number.
- Annotations are frame-aware and will only be visible on their respective frames.
5. **Saving Annotations**:
- Click `Save Annotations` to save annotations in extended YOLO format.
- Annotations are saved as `video_name.txt` with format: `class_id frame x_center y_center width height`
- Frame images are automatically extracted and saved alongside annotations.
### Image Classification Labeling
1. **Opening Directory**:
- Click the `Open Directory` button to select a directory containing images.
- Supported formats: PNG, TIF, JPG, JPEG, TIFF (recursive search).
2. **Display Options**:
- Check `Split Channels` to display multi-channel images as separate layers.
- Contrast settings are preserved when switching between images.
3. **Class Management**:
- Enter class names in the text box and press Enter to add/remove classes.
- Classes are automatically saved to `class.txt` in the target directory.
4. **Labeling Workflow**:
- Select an image from the file list to display it.
- Click on a class name to assign that label to the current image.
- Labels are automatically saved to `labels.csv` in real-time.
5. **Resume Capability**:
- Previous labels and classes are automatically loaded when reopening a directory.
- The workflow can be resumed from where you left off.
## Contributing
Contributions are very welcome. Tests can be run with [tox], please ensure
the coverage at least stays the same before you submit a pull request.
## License
Distributed under the terms of the [BSD-3] license,
"napari-simpleannotate" is free and open source software
## Issues
If you encounter any problems, please [file an issue] along with a detailed description.
[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
[file an issue]: https://github.com/hiroalchem/napari-simpleannotate/issues
[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": null,
"name": "napari-simpleannotate",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.8",
"maintainer_email": null,
"keywords": null,
"author": null,
"author_email": "Hiroki Kawai <h.kawai888@gmail.com>",
"download_url": "https://files.pythonhosted.org/packages/27/a4/845d9ba411cb370a191fe6a91a8f78df7bd5afa7dd680c264f26bc27c017/napari_simpleannotate-0.1.0.tar.gz",
"platform": null,
"description": "# napari-simpleannotate\n\n[](https://github.com/hiroalchem/napari-simpleannotate/raw/main/LICENSE)\n[](https://pypi.org/project/napari-simpleannotate)\n[](https://python.org)\n[](https://github.com/hiroalchem/napari-simpleannotate/actions)\n[](https://codecov.io/gh/hiroalchem/napari-simpleannotate)\n[](https://napari-hub.org/plugins/napari-simpleannotate)\n\nA napari plugin for simple image and video annotation that provides three main annotation workflows:\n\n1. **Bounding Box Annotation (YOLO format)**: For object detection training data on images\n2. **Video Bounding Box Annotation**: For object detection training data on video files\n3. **Image Classification Labeling**: For image classification training data\n\n----------------------------------\n\nThis [napari] plugin was generated with [Cookiecutter] using [@napari]'s [cookiecutter-napari-plugin] template.\n\n<!--\nDon't miss the full getting started guide to set up your new package:\nhttps://github.com/napari/cookiecutter-napari-plugin#getting-started\n\nand review the napari docs for plugin developers:\nhttps://napari.org/stable/plugins/index.html\n-->\n\n\n\n\n## Installation\n\nYou can install `napari-simpleannotate` via [pip]:\n\n pip install napari-simpleannotate\n\n\n\nTo install latest development version :\n\n pip install git+https://github.com/hiroalchem/napari-simpleannotate.git\n\n\n## How to use\n\n### Bounding Box Annotation (for images)\n\n1. **Opening Files or Directories**:\n - Click the `Open File` button to open an image file.\n - Click the `Open Directory` button to open a directory containing images.\n - If there's a `class.yaml` in the directory of the selected file or within the selected directory, it will be automatically detected. A popup will appear, giving you the option to load it.\n\n2. **Class Management**:\n - Enter the class name in the textbox and click the `Add class` button to add a class. When adding a class name, a number is automatically assigned to it. This number will be used when saving annotations.\n - Select a class from the class list and click the `Delete selected class` button to remove it.\n\n3. **Annotating Images**:\n - Use napari's rectangle tool to annotate the images. If you have a class selected, the annotation will automatically be assigned to that class.\n - For existing rectangles, you can change their class by selecting the rectangle and then choosing a different class from the list.\n\n4. **Saving Annotations**:\n - Click the `Save Annotations` button to save the annotations in YOLO format.\n - Along with saving the annotations, the `class.yaml` will also be saved. If a `class.yaml` already exists and its content is different from the current one, a popup will appear asking for confirmation to overwrite it.\n\n### Video Bounding Box Annotation\n\n1. **Opening Videos**:\n - Click the `Open Video` button to open a video file (supports MP4, AVI, MOV, MKV, WMV, FLV, WebM formats).\n - The video will be loaded and displayed in napari's time-aware viewer.\n\n2. **Navigation**:\n - Use napari's time slider to navigate between frames.\n - Current frame information is displayed in the widget.\n\n3. **Class Management**:\n - Same as image annotation: add/delete classes with automatic ID assignment.\n - Classes are saved to `class.yaml` in the video directory.\n\n4. **Annotating Videos**:\n - Navigate to the desired frame using the time slider.\n - Use napari's rectangle tool to create bounding boxes.\n - Each annotation automatically includes the current frame number.\n - Annotations are frame-aware and will only be visible on their respective frames.\n\n5. **Saving Annotations**:\n - Click `Save Annotations` to save annotations in extended YOLO format.\n - Annotations are saved as `video_name.txt` with format: `class_id frame x_center y_center width height`\n - Frame images are automatically extracted and saved alongside annotations.\n\n### Image Classification Labeling\n\n1. **Opening Directory**:\n - Click the `Open Directory` button to select a directory containing images.\n - Supported formats: PNG, TIF, JPG, JPEG, TIFF (recursive search).\n\n2. **Display Options**:\n - Check `Split Channels` to display multi-channel images as separate layers.\n - Contrast settings are preserved when switching between images.\n\n3. **Class Management**:\n - Enter class names in the text box and press Enter to add/remove classes.\n - Classes are automatically saved to `class.txt` in the target directory.\n\n4. **Labeling Workflow**:\n - Select an image from the file list to display it.\n - Click on a class name to assign that label to the current image.\n - Labels are automatically saved to `labels.csv` in real-time.\n\n5. **Resume Capability**:\n - Previous labels and classes are automatically loaded when reopening a directory.\n - The workflow can be resumed from where you left off.\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 [BSD-3] license,\n\"napari-simpleannotate\" 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[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[file an issue]: https://github.com/hiroalchem/napari-simpleannotate/issues\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": null,
"summary": "A napari plugin for simple image and video annotation",
"version": "0.1.0",
"project_urls": {
"Bug Tracker": "https://github.com/hiroalchem/napari-simpleannotate/issues",
"User Support": "https://github.com/hiroalchem/napari-simpleannotate/issues",
"documentation": "https://github.com/hiroalchem/napari-simpleannotate#README.md",
"homepage": "https://github.com/hiroalchem/napari-simpleannotate",
"repository": "https://github.com/hiroalchem/napari-simpleannotate"
},
"split_keywords": [],
"urls": [
{
"comment_text": null,
"digests": {
"blake2b_256": "2f684d1241c0639b957b362f1cb211d88032d787e4923ed4f6f0e851ce5cdd5c",
"md5": "372869d44fd221038ce1ecf1fa4b6941",
"sha256": "cde73525e8cba1c5ae6634c59f862fb9540ef9259ebfd241a1dc3f48e2ec788a"
},
"downloads": -1,
"filename": "napari_simpleannotate-0.1.0-py3-none-any.whl",
"has_sig": false,
"md5_digest": "372869d44fd221038ce1ecf1fa4b6941",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.8",
"size": 28297,
"upload_time": "2025-07-16T09:54:39",
"upload_time_iso_8601": "2025-07-16T09:54:39.086636Z",
"url": "https://files.pythonhosted.org/packages/2f/68/4d1241c0639b957b362f1cb211d88032d787e4923ed4f6f0e851ce5cdd5c/napari_simpleannotate-0.1.0-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "27a4845d9ba411cb370a191fe6a91a8f78df7bd5afa7dd680c264f26bc27c017",
"md5": "bbf44e8c7224eec1ecdba98ac9275917",
"sha256": "57812e9117fc3c2543329af49dfd04a24abbc8c7ae0bf0bae215d1729ba66875"
},
"downloads": -1,
"filename": "napari_simpleannotate-0.1.0.tar.gz",
"has_sig": false,
"md5_digest": "bbf44e8c7224eec1ecdba98ac9275917",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.8",
"size": 25523,
"upload_time": "2025-07-16T09:54:40",
"upload_time_iso_8601": "2025-07-16T09:54:40.619821Z",
"url": "https://files.pythonhosted.org/packages/27/a4/845d9ba411cb370a191fe6a91a8f78df7bd5afa7dd680c264f26bc27c017/napari_simpleannotate-0.1.0.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2025-07-16 09:54:40",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "hiroalchem",
"github_project": "napari-simpleannotate",
"travis_ci": false,
"coveralls": false,
"github_actions": false,
"tox": true,
"lcname": "napari-simpleannotate"
}