The All-Purpose Labeling Tool is a framework designed to offer simple and easy-to-use annotation possibilities for medical images. The underlying code is designed in a way that it can be integrated into a machine learning pipeline. Therefore, the framework offers many possibilities regarding not only medicine but also research and AI modelling.
The application is based on PyQT 5.15 and allows for creating annotation projects where you can:
- import your own images
- assign patient names or IDs
- mark areas in the image and assign labels to them
Over time, it is therefore possible to create extensive databases of annotated medical images, which may lay the foundation for information exchange or machine learning applications.
The framework is inspired by labelme with improved functionality. This includes performance fixes, an altered structure and more readable code. Additionally, the drawing of shapes is refined as well as the saving.
The underlying database is realized by SQL which provides simple yet effective storing of the annotations.
After starting the software, it is possible to create an example project to get you started. Select "Macros -> Example" Project in the Menubar to do so.
Select "New Project" in the Menubar to open up the project manager. There, you can select a project directory and add your first images. To open this project in your next session, click "Open Project" and navigate to your project directory. After selecting the database file, the project will open up again.
- Open up the Toolbar on the left side
- Select the desired drawing tool
- Draw an area inside the image
- Assign a label
Every time you save your changes, the annotations will be stored in the database. Click "Macros -> Preview Database" to preview the current version of the database and see how it fills up with every new annotation.
- tight SQL integration
- efficient labeling
- context menu
- export options for COCO/VOC Segmentation
- undo/redo buttons to revert to previous states
- Ubuntu / macOS / Windows
- Python3
- PyQt5
something with setup.py ? I don't really know
This project was ported from its original creation by Nico Lösch at segmentation_utils, which was inspired by labelme.