labelimgplusplus 2.0.0__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,9 @@
1
+ Copyright (c) <2015-Present> Tzutalin
2
+
3
+ Copyright (C) 2013 MIT, Computer Science and Artificial Intelligence Laboratory. Bryan Russell, Antonio Torralba, William T. Freeman
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
6
+
7
+ The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
8
+
9
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
@@ -0,0 +1,330 @@
1
+ Metadata-Version: 2.1
2
+ Name: labelimgplusplus
3
+ Version: 2.0.0
4
+ Summary: labelImg++ is an enhanced graphical image annotation tool with Gallery Mode for browsing and labeling images
5
+ Author-email: Abhik Sarkar <abhiksark@gmail.com>
6
+ License: Copyright (c) <2015-Present> Tzutalin
7
+
8
+ Copyright (C) 2013 MIT, Computer Science and Artificial Intelligence Laboratory. Bryan Russell, Antonio Torralba, William T. Freeman
9
+
10
+ Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
13
+
14
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
15
+
16
+ Project-URL: Homepage, https://github.com/abhiksark/labelImg-plus-plus
17
+ Project-URL: Repository, https://github.com/abhiksark/labelImg-plus-plus
18
+ Keywords: labelImg,labelImgPlusPlus,annotation,deeplearning,image-annotation,bounding-box,gallery
19
+ Classifier: Development Status :: 3 - Alpha
20
+ Classifier: Intended Audience :: Developers
21
+ Classifier: Intended Audience :: Science/Research
22
+ Classifier: Natural Language :: English
23
+ Classifier: Programming Language :: Python :: 3
24
+ Classifier: Programming Language :: Python :: 3.6
25
+ Classifier: Programming Language :: Python :: 3.7
26
+ Classifier: Programming Language :: Python :: 3.8
27
+ Classifier: Programming Language :: Python :: 3.9
28
+ Classifier: Programming Language :: Python :: 3.10
29
+ Classifier: Programming Language :: Python :: 3.11
30
+ Classifier: Topic :: Scientific/Engineering :: Artificial Intelligence
31
+ Classifier: Topic :: Scientific/Engineering :: Image Recognition
32
+ Requires-Python: >=3.6
33
+ Description-Content-Type: text/x-rst
34
+ License-File: LICENSE
35
+ Requires-Dist: pyqt5
36
+ Requires-Dist: lxml
37
+
38
+ ============
39
+ labelImg++
40
+ ============
41
+
42
+ *A modern, enhanced image annotation tool for machine learning*
43
+
44
+ .. image:: https://img.shields.io/pypi/v/labelImgPlusPlus.svg
45
+ :target: https://pypi.org/project/labelImgPlusPlus/
46
+
47
+ .. image:: https://img.shields.io/pypi/dm/labelImgPlusPlus.svg
48
+ :target: https://pypi.org/project/labelImgPlusPlus/
49
+
50
+ .. image:: https://github.com/abhiksark/labelImg-plus-plus/actions/workflows/ci.yaml/badge.svg
51
+ :target: https://github.com/abhiksark/labelImg-plus-plus/actions
52
+
53
+ .. image:: https://img.shields.io/badge/python-3.6+-blue.svg
54
+ :target: https://www.python.org/downloads/
55
+
56
+ .. image:: https://img.shields.io/badge/license-MIT-green.svg
57
+ :target: https://github.com/abhiksark/labelImg-plus-plus/blob/master/LICENSE
58
+
59
+ ----
60
+
61
+ **labelImg++** is a powerful graphical image annotation tool for creating bounding box labels, designed for machine learning and computer vision projects. Forked from the original LabelImg with significant enhancements.
62
+
63
+ **Version 2.0.0** - First stable release! Install with ``pip install labelImgPlusPlus``
64
+
65
+ .. image:: resources/demo/labelimg_screenshot.png
66
+ :alt: labelImg++ Screenshot
67
+ :align: center
68
+
69
+ Features
70
+ --------
71
+
72
+ Core Annotation Features
73
+ ~~~~~~~~~~~~~~~~~~~~~~~~
74
+
75
+ - **Multi-format support**: PASCAL VOC (XML), YOLO (TXT), CreateML (JSON)
76
+ - **Bounding box annotation** with drag-and-drop interface
77
+ - **Auto-save mode** for uninterrupted workflow
78
+ - **Predefined class labels** with customizable list
79
+ - **Verification system** to mark completed annotations
80
+
81
+ New in labelImg++ v2.0
82
+ ~~~~~~~~~~~~~~~~~~~~~~
83
+
84
+ **Undo/Redo Support**
85
+ Full undo/redo for all annotation actions. Press **Ctrl+Z** to undo and **Ctrl+Y** to redo. Never lose your work again!
86
+
87
+ **Gallery Mode with Annotation Preview**
88
+ Visual thumbnail gallery showing all images with bounding box overlays directly on thumbnails.
89
+
90
+ - Colored borders indicate status: Gray (no labels), Blue (has labels), Green (verified)
91
+ - Bounding boxes visible on thumbnails with corner markers (less clutter for nested boxes)
92
+ - Quick size presets (S/M/L/XL) plus slider for fine control
93
+ - Smart selection: click on nested boxes selects the inner box
94
+ - Press **Ctrl+G** to toggle gallery mode
95
+
96
+ **Modern UI with Feather Icons**
97
+ Clean, modern interface with beautiful Feather icons and improved visual design.
98
+
99
+ **Responsive DPI Scaling**
100
+ Icons and UI elements scale properly on high-DPI displays (4K, Retina).
101
+
102
+ **Expandable Toolbar**
103
+ Click the chevron at the bottom of the toolbar to expand/collapse and show full button labels.
104
+
105
+ **Consolidated File Menu**
106
+ Open File, Open Dir, and Change Save Dir combined into a single dropdown for cleaner toolbar.
107
+
108
+ **Brightness Adjustment**
109
+ Adjust image brightness on-the-fly to better see annotations on dark or light images.
110
+
111
+ Installation
112
+ ------------
113
+
114
+ From PyPI (Recommended)
115
+ ~~~~~~~~~~~~~~~~~~~~~~~
116
+
117
+ .. code:: shell
118
+
119
+ pip3 install labelImgPlusPlus
120
+ labelImgPlusPlus
121
+
122
+ With a specific image or directory:
123
+
124
+ .. code:: shell
125
+
126
+ labelImgPlusPlus [IMAGE_PATH] [PRE-DEFINED CLASS FILE] [SAVE_DIR]
127
+
128
+ Build from Source
129
+ ~~~~~~~~~~~~~~~~~
130
+
131
+ **Ubuntu/Linux:**
132
+
133
+ .. code:: shell
134
+
135
+ sudo apt-get install pyqt5-dev-tools
136
+ pip3 install -r requirements/requirements-linux-python3.txt
137
+ make qt5py3
138
+ python3 labelImg.py
139
+
140
+ **macOS:**
141
+
142
+ .. code:: shell
143
+
144
+ pip3 install pyqt5 lxml
145
+ make qt5py3
146
+ python3 labelImg.py
147
+
148
+ **Windows:**
149
+
150
+ .. code:: shell
151
+
152
+ pip install pyqt5 lxml
153
+ pyrcc5 -o libs/resources.py resources.qrc
154
+ python labelImg.py
155
+
156
+ Quick Start
157
+ -----------
158
+
159
+ 1. **Open images**: Click the file dropdown button or press **Ctrl+U** to load a directory
160
+ 2. **Create annotations**: Press **W** or click **Create RectBox**, then drag to draw
161
+ 3. **Label objects**: Select a class from the popup dialog
162
+ 4. **Save**: Press **Ctrl+S** to save annotations
163
+ 5. **Navigate**: Use **D** (next) and **A** (previous) to move between images
164
+ 6. **Review**: Press **Ctrl+G** for gallery mode to review all annotations
165
+
166
+ Supported Annotation Formats
167
+ ----------------------------
168
+
169
+ +---------------+------------+------------------------------------------+
170
+ | Format | Extension | Description |
171
+ +===============+============+==========================================+
172
+ | PASCAL VOC | .xml | ImageNet format, absolute coordinates |
173
+ +---------------+------------+------------------------------------------+
174
+ | YOLO | .txt | Normalized coordinates (0-1), with |
175
+ | | | classes.txt for class names |
176
+ +---------------+------------+------------------------------------------+
177
+ | CreateML | .json | Apple's ML format for iOS/macOS |
178
+ +---------------+------------+------------------------------------------+
179
+
180
+ Keyboard Shortcuts
181
+ ------------------
182
+
183
+ **File Operations**
184
+
185
+ +--------------------+--------------------------------------------+
186
+ | Ctrl + O | Open file |
187
+ +--------------------+--------------------------------------------+
188
+ | Ctrl + U | Open directory |
189
+ +--------------------+--------------------------------------------+
190
+ | Ctrl + R | Change save directory |
191
+ +--------------------+--------------------------------------------+
192
+ | Ctrl + S | Save current annotation |
193
+ +--------------------+--------------------------------------------+
194
+ | Ctrl + Shift + S | Save as |
195
+ +--------------------+--------------------------------------------+
196
+
197
+ **Navigation**
198
+
199
+ +--------------------+--------------------------------------------+
200
+ | D | Next image |
201
+ +--------------------+--------------------------------------------+
202
+ | A | Previous image |
203
+ +--------------------+--------------------------------------------+
204
+ | Ctrl + G | Toggle Gallery Mode |
205
+ +--------------------+--------------------------------------------+
206
+
207
+ **Annotation**
208
+
209
+ +--------------------+--------------------------------------------+
210
+ | W | Create bounding box |
211
+ +--------------------+--------------------------------------------+
212
+ | Ctrl + Z | Undo |
213
+ +--------------------+--------------------------------------------+
214
+ | Ctrl + Y | Redo |
215
+ +--------------------+--------------------------------------------+
216
+ | Ctrl + D | Duplicate selected box |
217
+ +--------------------+--------------------------------------------+
218
+ | Del | Delete selected box |
219
+ +--------------------+--------------------------------------------+
220
+ | Space | Mark image as verified |
221
+ +--------------------+--------------------------------------------+
222
+ | Arrow keys | Move selected box |
223
+ +--------------------+--------------------------------------------+
224
+
225
+ **View**
226
+
227
+ +--------------------+--------------------------------------------+
228
+ | Ctrl + + | Zoom in |
229
+ +--------------------+--------------------------------------------+
230
+ | Ctrl + - | Zoom out |
231
+ +--------------------+--------------------------------------------+
232
+ | Ctrl + F | Fit window |
233
+ +--------------------+--------------------------------------------+
234
+ | Ctrl + Shift + F | Fit width |
235
+ +--------------------+--------------------------------------------+
236
+
237
+ Configuration
238
+ -------------
239
+
240
+ **Predefined Classes**
241
+
242
+ Edit ``data/predefined_classes.txt`` to customize the label options:
243
+
244
+ .. code::
245
+
246
+ dog
247
+ cat
248
+ person
249
+ car
250
+ bicycle
251
+
252
+ **Reset Settings**
253
+
254
+ If you encounter issues, reset the settings:
255
+
256
+ .. code:: shell
257
+
258
+ rm ~/.labelImgSettings.pkl
259
+
260
+ Or use **Menu > File > Reset All**
261
+
262
+ Roadmap
263
+ -------
264
+
265
+ **v2.0.0 (Stable)** - *Current*
266
+ First stable release with bug fixes and UX improvements
267
+
268
+ - Silent error handling fixed
269
+ - YOLO format crash on missing classes.txt fixed
270
+ - Format change warning dialog added
271
+ - Save location visibility in title bar
272
+ - Auto-save menu items clarified
273
+ - Gallery status color legend added
274
+ - Progress indicator for large directories
275
+ - Gallery size presets (S/M/L/XL buttons)
276
+ - Corner markers on thumbnails for cleaner nested box display
277
+ - Improved nested bounding box selection (smallest box selected)
278
+ - Gallery freeze fix for large directories
279
+
280
+ **v2.1.0** - *Planned*
281
+ - Annotation review workflow
282
+ - Dataset splitting tool (train/val/test)
283
+ - Label consistency checker
284
+ - Annotation statistics dashboard
285
+ - Improved label dialog with search/filter
286
+ - Keyboard shortcuts customization
287
+
288
+ **v2.2.0** - *Future*
289
+ - Dark mode theme
290
+ - Polygon annotation support
291
+ - Recent files menu
292
+ - Snap to grid / alignment guides
293
+
294
+ **v3.0.0** - *Vision*
295
+ - Plugin architecture
296
+ - COCO format support
297
+ - Ultralytics/YOLOv8 direct export
298
+ - FiftyOne dataset integration
299
+
300
+ See the `GitHub Issues <https://github.com/abhiksark/labelImg-plus-plus/issues>`_ for detailed feature tracking.
301
+
302
+ Contributing
303
+ ------------
304
+
305
+ Contributions are welcome! Please feel free to submit a Pull Request.
306
+
307
+ 1. Fork the repository
308
+ 2. Create your feature branch (``git checkout -b feature/amazing-feature``)
309
+ 3. Commit your changes (``git commit -m 'Add amazing feature'``)
310
+ 4. Push to the branch (``git push origin feature/amazing-feature``)
311
+ 5. Open a Pull Request
312
+
313
+ License
314
+ -------
315
+
316
+ `MIT License <https://github.com/abhiksark/labelImg-plus-plus/blob/master/LICENSE>`_
317
+
318
+ Based on LabelImg by Tzutalin.
319
+
320
+ Author
321
+ ------
322
+
323
+ Maintained by `Abhik Sarkar <https://abhik.ai>`__
324
+
325
+ Acknowledgments
326
+ ---------------
327
+
328
+ - Original LabelImg by Tzutalin
329
+ - `Feather Icons <https://feathericons.com/>`__ for modern iconography
330
+ - All contributors and users of labelImg++
@@ -0,0 +1,31 @@
1
+ labelImg.py,sha256=ESEgMAcb4zK7rwORkTcu1NnTXRN9Kit8hejkcoyGung,105666
2
+ libs/__init__.py,sha256=USEgDASVn9G68_U3gYMXdqOsEBy4PXoAOiMuzHgyqhg,87
3
+ libs/canvas.py,sha256=IG3FnXVWvgr3PJoFw6ZVvLWVZjAFg5JsiNAC1WXpdKs,29380
4
+ libs/colorDialog.py,sha256=Y1YmP5wkeCX6PjZ7Nemi7v20woINM3HoJMlEncV8en0,1295
5
+ libs/combobox.py,sha256=UZIOgP51ptsAWKZzUi_zjChOQ3rDvig727kLBxIu6LE,967
6
+ libs/commands.py,sha256=Y5wChOJFF5JajiWuiWPDvC9rgwt0olsPZiHlLTOl7qc,9823
7
+ libs/constants.py,sha256=2wpLnBHgvsVwg_xCzg9BxAfFo0VF4i1zh6PnjyvDFnM,970
8
+ libs/create_ml_io.py,sha256=B8XRDRQ1PUjfuH2Qqw7jyvGbO6oCB7Oy2WhcqieaDpo,3978
9
+ libs/default_label_combobox.py,sha256=QlXWZMYy0oHjsgRiFBYbwv2Ir10qkuDjFu5vNoOBCJQ,880
10
+ libs/galleryWidget.py,sha256=eUZ217UhzQP-0ByZRcwkidcuHz7pa0lJ56ADOXdBYuk,23747
11
+ libs/hashableQListWidgetItem.py,sha256=eepvodkQzmIj2unPawBvrRN2yTfYa9xvJV9NxgrltUY,784
12
+ libs/labelDialog.py,sha256=VOgGncSs4owKbfzN7tq43cCxNEGFYu0Hw6XYNGz5-MY,3613
13
+ libs/labelFile.py,sha256=gUu-sJWQ4Q7BgCjli6t4l4lJ0c0ynzvV0gC9QVHN9bg,6267
14
+ libs/lightWidget.py,sha256=yHq2-slvWcCt86Nq7SCJbK6cyaTQ_Arf7e3FVN19poA,964
15
+ libs/pascal_voc_io.py,sha256=Vf_XGDto0uqVjkl3TsiJIEIna3m32AEjU7hX8j4uj3Q,6647
16
+ libs/resources.py,sha256=Sn1Ii-4oWXv4E7aORc9g9e_qKcwzhR7OdH45Prseakc,261286
17
+ libs/settings.py,sha256=BhK8HtuIytVG-v6Av5o5UBfDc6X-pYW51Bs_nMMrl9g,1510
18
+ libs/shape.py,sha256=1GxM_05XKOItV29h-qw7bfefOzKbhXmp7a8Aj2nXp2M,6693
19
+ libs/stringBundle.py,sha256=WUTinhTjREwP5H3mcdZbn0Cvc7hudkIh7q2CCpULwr0,2582
20
+ libs/styles.py,sha256=su9bHujVD-IlRo946EBz512-7Dqj2P_dUWc9eBDo-VE,1342
21
+ libs/toolBar.py,sha256=k3LhlYIv4RGZlrvuMFuBeXAjdp7oVRlcKvM9Xg7H7TU,9341
22
+ libs/ustr.py,sha256=sr_TkTfZx4UJ3Tu8Z7IvwxFSYykDm0v7477icRoJwRI,534
23
+ libs/utils.py,sha256=75-HxH3LGhHErl7iFpU9zRV9-DEFNRXe4f-a4z7n5fQ,2976
24
+ libs/yolo_io.py,sha256=-71HW9NVlypVanVK21U6DqXSBienrBhQt9xN1foLkAE,5693
25
+ libs/zoomWidget.py,sha256=-_LbMhnNMZor2meLYq43y6apiXi_RJ46wiv-Cc0UBfg,780
26
+ labelimgplusplus-2.0.0.dist-info/LICENSE,sha256=EtuQeyd5h-RJHwFcej4o_LY6Z3XAFSUWD2S-jOguuBE,1197
27
+ labelimgplusplus-2.0.0.dist-info/METADATA,sha256=Cd22aEsLiKxNMSWDta3e3x0LX8wKM3hzf2WVpM90dPw,12702
28
+ labelimgplusplus-2.0.0.dist-info/WHEEL,sha256=hPN0AlP2dZM_3ZJZWP4WooepkmU9wzjGgCLCeFjkHLA,92
29
+ labelimgplusplus-2.0.0.dist-info/entry_points.txt,sha256=3UUF4oE1S1MnYuMyxRPPTjecraRWyc9p-jIcYQeM7qo,51
30
+ labelimgplusplus-2.0.0.dist-info/top_level.txt,sha256=06w1MmKa8zn-c0QWeqC-AwvjJECWKsxGx76VMusXtDo,14
31
+ labelimgplusplus-2.0.0.dist-info/RECORD,,
@@ -0,0 +1,5 @@
1
+ Wheel-Version: 1.0
2
+ Generator: bdist_wheel (0.46.3)
3
+ Root-Is-Purelib: true
4
+ Tag: py3-none-any
5
+
@@ -0,0 +1,2 @@
1
+ [console_scripts]
2
+ labelImgPlusPlus = labelImg:main
@@ -0,0 +1,2 @@
1
+ labelImg
2
+ libs
libs/__init__.py ADDED
@@ -0,0 +1,2 @@
1
+ __version_info__ = ('2', '0', '0a')
2
+ __version__ = '.'.join(__version_info__) # 2.0.0a