Skip to main content

A tool for annotating images with polygons and rectangles, supporting multi-dimensional images

Project description

DigitalSreeni Image Annotator

Python Version License PyPI version

A powerful and user-friendly tool for annotating images with polygons and rectangles, built with PyQt5.

DigitalSreeni Image Annotator Demo

@DigitalSreeni Dr. Sreenivas Bhattiprolu

Features

  • Handling of multi-dimensional images (TIFF stacks and CZI files)
  • Load and annotate images with polygons and rectangles
  • Save annotations in COCO-compatible JSON format
  • Edit existing annotations
  • Ability to load and continue previous annotation work
  • Zoom and pan functionality for detailed annotations
  • Support for multiple classes with customizable colors
  • Import and export annotations
  • User-friendly interface with intuitive controls and dark mode

Installation

You can install the DigitalSreeni Image Annotator directly from PyPI:

pip install digitalsreeni-image-annotator

Important: PyQt5 Requirement

This application requires PyQt5 version 5.15.7 or higher. If you encounter any issues related to PyQt5, you may need to install or upgrade it separately:

pip install PyQt5>=5.15.7

If you're using an older version of PyQt5, please upgrade to ensure compatibility:

pip install --upgrade PyQt5>=5.15.7

On some systems, especially Linux, you might need to install additional system packages. For example, on Ubuntu or Debian:

sudo apt-get install python3-pyqt5

Note that the system package manager might not always provide the latest version. In such cases, using pip as shown above is recommended.

For other operating systems or if you encounter any issues, please refer to the PyQt5 documentation.

Usage

  1. Run the DigitalSreeni Image Annotator application:

    digitalsreeni-image-annotator
    

    or

    python -m digitalsreeni_image_annotator.main
    
  2. Using the application:

    • Click "Open New Image Set" to load a new set of images from your computer.
    • Use "Add More Images" to append images to the current set.
    • Add classes using the "Add Class" button.
    • Select a class and use the Polygon or Rectangle tool to create annotations.
    • Edit existing annotations by double-clicking on them.
    • Save your annotations using the "Save Annotations" button.
    • Use "Import Saved Annotations" to load previously created annotations.
    • Access the help documentation by clicking the "Help" button.
  3. Keyboard shortcuts:

    • Use the mouse wheel or trackpad to zoom in/out
    • Hold Ctrl and drag to pan the image
    • Press 'Esc' to cancel the current annotation
    • Press 'Enter' to finish the current polygon annotation

Development

For development purposes, you can clone the repository and install it in editable mode:

  1. Clone the repository:

    git clone https://github.com/bnsreenu/digitalsreeni-image-annotator.git
    cd digitalsreeni-image-annotator
    
  2. Create a virtual environment (optional but recommended):

    python -m venv venv
    source venv/bin/activate  # On Windows, use `venv\Scripts\activate`
    
  3. Install the package and its dependencies in editable mode:

    pip install -e .
    

Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

  1. Fork the repository
  2. Create your feature branch (git checkout -b feature/AmazingFeature)
  3. Commit your changes (git commit -m 'Add some AmazingFeature')
  4. Push to the branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

License

This project is licensed under the MIT License - see the LICENSE file for details.

Acknowledgments

  • Thanks to all my YouTube subscribers who inspired me to work on this project
  • Inspired by the need for efficient image annotation in computer vision tasks

Contact

Dr. Sreenivas Bhattiprolu - @DigitalSreeni

Project Link: https://github.com/bnsreenu/digitalsreeni-image-annotator

Citing

If you use this software in your research, please cite it as follows:

Bhattiprolu, S. (2024). DigitalSreeni Image Annotator [Computer software]. https://github.com/bnsreenu/digitalsreeni-image-annotator

@software{digitalsreeni_image_annotator,
  author = {Bhattiprolu, Sreenivas},
  title = {DigitalSreeni Image Annotator},
  year = {2024},
  url = {https://github.com/bnsreenu/digitalsreeni-image-annotator}
}

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

digitalsreeni_image_annotator-0.2.1.tar.gz (27.0 kB view details)

Uploaded Source

Built Distribution

File details

Details for the file digitalsreeni_image_annotator-0.2.1.tar.gz.

File metadata

File hashes

Hashes for digitalsreeni_image_annotator-0.2.1.tar.gz
Algorithm Hash digest
SHA256 c56805009d8fe5f4ecac478ca13e830d529ab9533b0b3088b7802922380df0e2
MD5 3fc4ace3443fa28d515eb8c35cba32e6
BLAKE2b-256 6adc3fc87ba1ef55b1b5fdc6cc5e3db70d4514c99afc946bfc48d4180523b780

See more details on using hashes here.

File details

Details for the file digitalsreeni_image_annotator-0.2.1-py3-none-any.whl.

File metadata

File hashes

Hashes for digitalsreeni_image_annotator-0.2.1-py3-none-any.whl
Algorithm Hash digest
SHA256 61319407af5f069b3630c6ddba68eb641782ca8657b8e3e3289092e457bc6683
MD5 76573529b9a9e544a8c1ef3e63490ca4
BLAKE2b-256 e6c688a7dcafc28e74ae214d292be95fb88da05984424da15a59d2155f30afce

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page