Metadata-Version: 2.4
Name: PyImageLabeling
Version: 1.0.3
Summary: PyImageLabeling is a tool designed to help create image masks, i.e., labeled images for training machine learning models.
Author-email: Szczepanski Nicolas <szczepanski@cril.fr>, Fayette Pierre-Marie <pmarie.fayette@univ-artois.fr>
Maintainer-email: Szczepanski Nicolas <szczepanski@cril.fr>, Fayette Pierre-Marie <pmarie.fayette@univ-artois.fr>
License: MIT
Project-URL: Git, https://github.com/crillab/PyImageLabeling
Keywords: AI,ML,labeling,learning,image
Classifier: Topic :: Scientific/Engineering :: Artificial Intelligence
Classifier: Topic :: Education
Requires-Python: >=3.12
Description-Content-Type: text/markdown
License-File: LICENCE
Requires-Dist: numpy
Requires-Dist: pyqt6
Requires-Dist: opencv-python
Requires-Dist: pillow
Requires-Dist: matplotlib
Dynamic: license-file



PyImageLabeling is designed to assist in the creation of image masks (labeled images) that can be used to train Machine Learning models. 

## Principle

You load a study image and use a variety of tools to annotate key data points. 
Once your work is saved, a save directory will be automatically created in your working folder, containing the mask in PNG format.

## Navigation and control

| Movement          | Function                                     |
| ----------------- | -------------------------------------------- |
| Mouse wheel       | Zoom in/out                                  |
| Left-click + drag | Move the image (only when "Move" is enabled) |
| Arrow keys        | Pan the image in fixed steps                 |

## Tools

| Tool               | Functionality                                                                                          |
| ------------------ | ------------------------------------------------------------------------------------------------------ |
| **Load image**     | Load an image from your local system.                                                                  |
| **Load layer**     | Add a layer on top of the loaded image (useful for editing existing masks). Changes are irreversible.  |
| **Unload layer**   | Remove the currently loaded layer.                                                                     |
| **Save**           | Save the current layer with all modifications.                                                         |
| **Move**           | Activate image movement using the mouse. Enabled by default.                                           |
| **Reset**          | Reset zoom and pan to default.                                                                         |
| **Undo**           | Undo the last action.                                                                                  |
| **Opacity**        | Adjust the transparency of the active layer.                                                           |
| **Contour Filling**| Automatically detect and extract shapes from the image. Shapes can be filled by clicking.              |
| **Paintbrush**     | Draw on the image using a customizable brush (size, color). These points feed smart tools.             |
| **Magic Pen**      | Automatically fill shapes based on the clicked pixel's color and tolerance. Uses paint-defined points. |
| **Rectangle**      | Draw rectangles to select areas of interest and assign labels. Saved in the `save` folder.             |
| **Eraser**         | Remove drawn points. Adjustable size and "Absolute" mode allows erasing from loaded layers.            |
| **Clear all**      | Delete all drawn points from the canvas.                                                               |
