lazylabel-gui 1.1.0__py3-none-any.whl → 1.1.2__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.
Files changed (38) hide show
  1. lazylabel/__init__.py +8 -8
  2. lazylabel/config/__init__.py +6 -6
  3. lazylabel/config/hotkeys.py +168 -168
  4. lazylabel/config/paths.py +40 -40
  5. lazylabel/config/settings.py +65 -65
  6. lazylabel/core/__init__.py +6 -6
  7. lazylabel/core/file_manager.py +105 -105
  8. lazylabel/core/model_manager.py +97 -94
  9. lazylabel/core/segment_manager.py +171 -140
  10. lazylabel/main.py +36 -22
  11. lazylabel/models/__init__.py +4 -4
  12. lazylabel/models/sam_model.py +195 -154
  13. lazylabel/ui/__init__.py +7 -7
  14. lazylabel/ui/control_panel.py +241 -220
  15. lazylabel/ui/editable_vertex.py +64 -51
  16. lazylabel/ui/hotkey_dialog.py +383 -383
  17. lazylabel/ui/hoverable_pixelmap_item.py +22 -22
  18. lazylabel/ui/hoverable_polygon_item.py +39 -39
  19. lazylabel/ui/main_window.py +1659 -1264
  20. lazylabel/ui/numeric_table_widget_item.py +9 -9
  21. lazylabel/ui/photo_viewer.py +54 -54
  22. lazylabel/ui/reorderable_class_table.py +61 -61
  23. lazylabel/ui/right_panel.py +315 -239
  24. lazylabel/ui/widgets/__init__.py +8 -7
  25. lazylabel/ui/widgets/adjustments_widget.py +108 -107
  26. lazylabel/ui/widgets/model_selection_widget.py +93 -93
  27. lazylabel/ui/widgets/settings_widget.py +105 -105
  28. lazylabel/ui/widgets/status_bar.py +109 -0
  29. lazylabel/utils/__init__.py +5 -5
  30. lazylabel/utils/custom_file_system_model.py +132 -132
  31. lazylabel/utils/utils.py +12 -12
  32. {lazylabel_gui-1.1.0.dist-info → lazylabel_gui-1.1.2.dist-info}/METADATA +197 -197
  33. lazylabel_gui-1.1.2.dist-info/RECORD +37 -0
  34. {lazylabel_gui-1.1.0.dist-info → lazylabel_gui-1.1.2.dist-info}/licenses/LICENSE +21 -21
  35. lazylabel_gui-1.1.0.dist-info/RECORD +0 -36
  36. {lazylabel_gui-1.1.0.dist-info → lazylabel_gui-1.1.2.dist-info}/WHEEL +0 -0
  37. {lazylabel_gui-1.1.0.dist-info → lazylabel_gui-1.1.2.dist-info}/entry_points.txt +0 -0
  38. {lazylabel_gui-1.1.0.dist-info → lazylabel_gui-1.1.2.dist-info}/top_level.txt +0 -0
@@ -1,197 +1,197 @@
1
- Metadata-Version: 2.4
2
- Name: lazylabel-gui
3
- Version: 1.1.0
4
- Summary: An image segmentation GUI for generating ML ready mask tensors and annotations.
5
- Author-email: "Deniz N. Cakan" <deniz.n.cakan@gmail.com>
6
- License: MIT License
7
-
8
- Copyright (c) 2025 Deniz N. Cakan
9
-
10
- Permission is hereby granted, free of charge, to any person obtaining a copy
11
- of this software and associated documentation files (the "Software"), to deal
12
- in the Software without restriction, including without limitation the rights
13
- to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
14
- copies of the Software, and to permit persons to whom the Software is
15
- furnished to do so, subject to the following conditions:
16
-
17
- The above copyright notice and this permission notice shall be included in all
18
- copies or substantial portions of the Software.
19
-
20
- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
21
- IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
22
- FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
23
- AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
24
- LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
25
- OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
26
- SOFTWARE.
27
-
28
- Project-URL: Homepage, https://github.com/dnzckn/lazylabel
29
- Project-URL: Bug Tracker, https://github.com/dnzckn/lazylabel/issues
30
- Classifier: Programming Language :: Python :: 3
31
- Classifier: License :: OSI Approved :: MIT License
32
- Classifier: Operating System :: OS Independent
33
- Classifier: Topic :: Scientific/Engineering :: Image Processing
34
- Classifier: Environment :: X11 Applications :: Qt
35
- Requires-Python: >=3.10
36
- Description-Content-Type: text/markdown
37
- License-File: LICENSE
38
- Requires-Dist: PyQt6>=6.9.0
39
- Requires-Dist: pyqtdarktheme==2.1.0
40
- Requires-Dist: torch>=2.7.1
41
- Requires-Dist: torchvision>=0.22.1
42
- Requires-Dist: segment-anything==1.0
43
- Requires-Dist: numpy>=2.1.2
44
- Requires-Dist: opencv-python>=4.11.0.86
45
- Requires-Dist: scipy>=1.15.3
46
- Requires-Dist: requests>=2.32.4
47
- Requires-Dist: tqdm>=4.67.1
48
- Dynamic: license-file
49
-
50
- # <img src="https://raw.githubusercontent.com/dnzckn/LazyLabel/main/src/lazylabel/demo_pictures/logo2.png" alt="LazyLabel Logo" style="height:60px; vertical-align:middle;" /> <img src="https://raw.githubusercontent.com/dnzckn/LazyLabel/main/src/lazylabel/demo_pictures/logo_black.png" alt="LazyLabel Cursive" style="height:60px; vertical-align:middle;" />
51
-
52
- LazyLabel is an intuitive, AI-assisted image segmentation tool built with a modern, modular architecture. It uses Meta's Segment Anything Model (SAM) for quick, precise mask generation, alongside advanced polygon editing for fine-tuned control. Features comprehensive model management, customizable hotkeys, and outputs in clean, one-hot encoded `.npz` format for easy machine learning integration.
53
-
54
- Inspired by [LabelMe](https://github.com/wkentaro/labelme?tab=readme-ov-file#installation) and [Segment-Anything-UI](https://github.com/branislavhesko/segment-anything-ui/tree/main).
55
-
56
- ![LazyLabel Screenshot](https://raw.githubusercontent.com/dnzckn/LazyLabel/main/src/lazylabel/demo_pictures/gui.PNG)
57
-
58
- ---
59
-
60
- ## ✨ Core Features
61
-
62
- ### **AI-Powered Segmentation**
63
- * Generate masks with simple left-click (positive) and right-click (negative) interactions
64
- * Multiple SAM model support with easy switching
65
- * Custom model loading from any directory
66
-
67
- ### **Advanced Editing Tools**
68
- * **Vector Polygon Tool**: Full control to draw, edit, and reshape polygons
69
- * **Vertex Editing**: Drag vertices or move entire shapes with precision
70
- * **Selection & Merging**: Select, merge, and re-order segments intuitively
71
-
72
- ### **Professional Workflow**
73
- * **Customizable Hotkeys**: Personalize keyboard shortcuts for all functions
74
- * **Advanced Class Management**: Assign multiple segments to single class IDs
75
- * **Smart I/O**: Load existing `.npz` masks; save as clean, one-hot encoded outputs
76
- * **Interactive UI**: Color-coded segments, sortable lists, and hover highlighting
77
-
78
- ### **Modern Architecture**
79
- * **Modular Design**: Clean, maintainable codebase with separated concerns
80
- * **Model Management**: Dedicated model storage and switching system
81
- * **Persistent Settings**: User preferences saved between sessions
82
-
83
- ---
84
-
85
- ## 🚀 Getting Started
86
-
87
- ### Prerequisites
88
- **Python 3.10+**
89
-
90
- ### Installation
91
-
92
- #### For Users [via PyPI](https://pypi.org/project/lazylabel-gui/)
93
- 1. Install LazyLabel directly:
94
- ```bash
95
- pip install lazylabel-gui
96
- ```
97
- 2. Run the application:
98
- ```bash
99
- lazylabel-gui
100
- ```
101
-
102
- #### For Developers (from Source)
103
- 1. Clone the repository:
104
- ```bash
105
- git clone https://github.com/dnzckn/LazyLabel.git
106
- cd LazyLabel
107
- ```
108
- 2. Install in editable mode:
109
- ```bash
110
- pip install -e .
111
- ```
112
- 3. Run the application:
113
- ```bash
114
- lazylabel-gui
115
- ```
116
-
117
- ### Model Management
118
- * **Default Storage**: Models are stored in `src/lazylabel/models/` directory
119
- * **Custom Models**: Click "Browse Models" to select custom model folders
120
- * **Model Switching**: Use the dropdown to switch between available models
121
- * **Auto-Detection**: Application automatically detects all `.pth` files in selected directories
122
-
123
- **Note**: On the first run, the application will automatically download the SAM model checkpoint (~2.5 GB) from Meta's repository to the models directory. This is a one-time download.
124
-
125
- ---
126
-
127
- ## ⌨️ Controls & Keybinds
128
-
129
- > **💡 Tip**: All hotkeys are fully customizable! Click the "Hotkeys" button in the control panel to personalize your shortcuts.
130
-
131
- ### Modes
132
- | Key | Action |
133
- |---|---|
134
- | `1` | Enter **Point Mode** (for AI segmentation). |
135
- | `2` | Enter **Polygon Drawing Mode**. |
136
- | `E` | Toggle **Selection Mode** to select existing segments. |
137
- | `R` | Enter **Edit Mode** for selected polygons (drag shape or vertices). |
138
- | `Q` | Toggle **Pan Mode** (click and drag the image). |
139
-
140
- ### Actions
141
- | Key(s) | Action |
142
- |---|---|
143
- | `L-Click` | Add positive point (Point Mode) or polygon vertex. |
144
- | `R-Click` | Add negative point (Point Mode). |
145
- | `Ctrl + Z` | Undo last point. |
146
- | `Spacebar` | Finalize and save current AI segment. |
147
- | `Enter` | **Save final mask for the current image to a `.npz` file.** |
148
- | `M` | **Merge** selected segments into a single class. |
149
- | `V` / `Delete` / `Backspace`| **Delete** selected segments. |
150
- | `C` | Clear temporary points/vertices. |
151
- | `W/A/S/D` | Pan image. |
152
- | `Scroll Wheel` | Zoom-in or -out. |
153
-
154
- ---
155
-
156
- ## 📦 Output Format
157
-
158
- LazyLabel saves your work as a compressed NumPy array (`.npz`) with the same name as your image file.
159
-
160
- The file contains a single data key, `'mask'`, holding a **one-hot encoded tensor** with the shape `(H, W, C)`:
161
- * `H`: Image height.
162
- * `W`: Image width.
163
- * `C`: Total unique classes.
164
-
165
- Each channel is a binary mask for a class, combining all assigned segments into a clean, ML-ready output.
166
-
167
- ---
168
-
169
- ## 🏗️ Architecture
170
-
171
- LazyLabel features a modern, modular architecture designed for maintainability and extensibility:
172
-
173
- * **Modular Design**: Clean separation between UI, business logic, and configuration
174
- * **Signal-Based Communication**: Loose coupling between components using PyQt signals
175
- * **Persistent Configuration**: User settings and preferences saved between sessions
176
- * **Extensible Model System**: Easy integration of new SAM models and types
177
-
178
- For detailed technical documentation, see [ARCHITECTURE.md](src/lazylabel/ARCHITECTURE.md).
179
-
180
- ---
181
-
182
- ## ⌨️ Hotkey Customization
183
-
184
- LazyLabel includes a comprehensive hotkey management system:
185
-
186
- * **Full Customization**: Personalize keyboard shortcuts for all 27+ functions
187
- * **Category Organization**: Hotkeys organized by function (Modes, Actions, Navigation, etc.)
188
- * **Primary & Secondary Keys**: Set multiple shortcuts for the same action
189
- * **Persistent Settings**: Custom hotkeys saved between sessions
190
- * **Conflict Prevention**: System prevents duplicate key assignments
191
-
192
- For complete hotkey documentation, see [HOTKEY_FEATURE.md](src/lazylabel/HOTKEY_FEATURE.md).
193
-
194
- ---
195
-
196
- ## ☕ Support LazyLabel
197
- [If you found LazyLabel helpful, consider supporting the project!](https://buymeacoffee.com/dnzckn)
1
+ Metadata-Version: 2.4
2
+ Name: lazylabel-gui
3
+ Version: 1.1.2
4
+ Summary: An image segmentation GUI for generating ML ready mask tensors and annotations.
5
+ Author-email: "Deniz N. Cakan" <deniz.n.cakan@gmail.com>
6
+ License: MIT License
7
+
8
+ Copyright (c) 2025 Deniz N. Cakan
9
+
10
+ Permission is hereby granted, free of charge, to any person obtaining a copy
11
+ of this software and associated documentation files (the "Software"), to deal
12
+ in the Software without restriction, including without limitation the rights
13
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
14
+ copies of the Software, and to permit persons to whom the Software is
15
+ furnished to do so, subject to the following conditions:
16
+
17
+ The above copyright notice and this permission notice shall be included in all
18
+ copies or substantial portions of the Software.
19
+
20
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
21
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
22
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
23
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
24
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
25
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
26
+ SOFTWARE.
27
+
28
+ Project-URL: Homepage, https://github.com/dnzckn/lazylabel
29
+ Project-URL: Bug Tracker, https://github.com/dnzckn/lazylabel/issues
30
+ Classifier: Programming Language :: Python :: 3
31
+ Classifier: License :: OSI Approved :: MIT License
32
+ Classifier: Operating System :: OS Independent
33
+ Classifier: Topic :: Scientific/Engineering :: Image Processing
34
+ Classifier: Environment :: X11 Applications :: Qt
35
+ Requires-Python: >=3.10
36
+ Description-Content-Type: text/markdown
37
+ License-File: LICENSE
38
+ Requires-Dist: PyQt6>=6.9.0
39
+ Requires-Dist: pyqtdarktheme==2.1.0
40
+ Requires-Dist: torch>=2.7.1
41
+ Requires-Dist: torchvision>=0.22.1
42
+ Requires-Dist: segment-anything==1.0
43
+ Requires-Dist: numpy>=2.1.2
44
+ Requires-Dist: opencv-python>=4.11.0.86
45
+ Requires-Dist: scipy>=1.15.3
46
+ Requires-Dist: requests>=2.32.4
47
+ Requires-Dist: tqdm>=4.67.1
48
+ Dynamic: license-file
49
+
50
+ # <img src="https://raw.githubusercontent.com/dnzckn/LazyLabel/main/src/lazylabel/demo_pictures/logo2.png" alt="LazyLabel Logo" style="height:60px; vertical-align:middle;" /> <img src="https://raw.githubusercontent.com/dnzckn/LazyLabel/main/src/lazylabel/demo_pictures/logo_black.png" alt="LazyLabel Cursive" style="height:60px; vertical-align:middle;" />
51
+
52
+ LazyLabel is an intuitive, AI-assisted image segmentation tool built with a modern, modular architecture. It uses Meta's Segment Anything Model (SAM) for quick, precise mask generation, alongside advanced polygon editing for fine-tuned control. Features comprehensive model management, customizable hotkeys, and outputs in clean, one-hot encoded `.npz` format for easy machine learning integration.
53
+
54
+ Inspired by [LabelMe](https://github.com/wkentaro/labelme?tab=readme-ov-file#installation) and [Segment-Anything-UI](https://github.com/branislavhesko/segment-anything-ui/tree/main).
55
+
56
+ ![LazyLabel Screenshot](https://raw.githubusercontent.com/dnzckn/LazyLabel/main/src/lazylabel/demo_pictures/gui.PNG)
57
+
58
+ ---
59
+
60
+ ## ✨ Core Features
61
+
62
+ ### **AI-Powered Segmentation**
63
+ * Generate masks with simple left-click (positive) and right-click (negative) interactions
64
+ * Multiple SAM model support with easy switching
65
+ * Custom model loading from any directory
66
+
67
+ ### **Advanced Editing Tools**
68
+ * **Vector Polygon Tool**: Full control to draw, edit, and reshape polygons
69
+ * **Vertex Editing**: Drag vertices or move entire shapes with precision
70
+ * **Selection & Merging**: Select, merge, and re-order segments intuitively
71
+
72
+ ### **Professional Workflow**
73
+ * **Customizable Hotkeys**: Personalize keyboard shortcuts for all functions
74
+ * **Advanced Class Management**: Assign multiple segments to single class IDs
75
+ * **Smart I/O**: Load existing `.npz` masks; save as clean, one-hot encoded outputs
76
+ * **Interactive UI**: Color-coded segments, sortable lists, and hover highlighting
77
+
78
+ ### **Modern Architecture**
79
+ * **Modular Design**: Clean, maintainable codebase with separated concerns
80
+ * **Model Management**: Dedicated model storage and switching system
81
+ * **Persistent Settings**: User preferences saved between sessions
82
+
83
+ ---
84
+
85
+ ## 🚀 Getting Started
86
+
87
+ ### Prerequisites
88
+ **Python 3.10+**
89
+
90
+ ### Installation
91
+
92
+ #### For Users [via PyPI](https://pypi.org/project/lazylabel-gui/)
93
+ 1. Install LazyLabel directly:
94
+ ```bash
95
+ pip install lazylabel-gui
96
+ ```
97
+ 2. Run the application:
98
+ ```bash
99
+ lazylabel-gui
100
+ ```
101
+
102
+ #### For Developers (from Source)
103
+ 1. Clone the repository:
104
+ ```bash
105
+ git clone https://github.com/dnzckn/LazyLabel.git
106
+ cd LazyLabel
107
+ ```
108
+ 2. Install in editable mode:
109
+ ```bash
110
+ pip install -e .
111
+ ```
112
+ 3. Run the application:
113
+ ```bash
114
+ lazylabel-gui
115
+ ```
116
+
117
+ ### Model Management
118
+ * **Default Storage**: Models are stored in `src/lazylabel/models/` directory
119
+ * **Custom Models**: Click "Browse Models" to select custom model folders
120
+ * **Model Switching**: Use the dropdown to switch between available models
121
+ * **Auto-Detection**: Application automatically detects all `.pth` files in selected directories
122
+
123
+ **Note**: On the first run, the application will automatically download the SAM model checkpoint (~2.5 GB) from Meta's repository to the models directory. This is a one-time download.
124
+
125
+ ---
126
+
127
+ ## ⌨️ Controls & Keybinds
128
+
129
+ > **💡 Tip**: All hotkeys are fully customizable! Click the "Hotkeys" button in the control panel to personalize your shortcuts.
130
+
131
+ ### Modes
132
+ | Key | Action |
133
+ |---|---|
134
+ | `1` | Enter **Point Mode** (for AI segmentation). |
135
+ | `2` | Enter **Polygon Drawing Mode**. |
136
+ | `E` | Toggle **Selection Mode** to select existing segments. |
137
+ | `R` | Enter **Edit Mode** for selected polygons (drag shape or vertices). |
138
+ | `Q` | Toggle **Pan Mode** (click and drag the image). |
139
+
140
+ ### Actions
141
+ | Key(s) | Action |
142
+ |---|---|
143
+ | `L-Click` | Add positive point (Point Mode) or polygon vertex. |
144
+ | `R-Click` | Add negative point (Point Mode). |
145
+ | `Ctrl + Z` | Undo last point. |
146
+ | `Spacebar` | Finalize and save current AI segment. |
147
+ | `Enter` | **Save final mask for the current image to a `.npz` file.** |
148
+ | `M` | **Merge** selected segments into a single class. |
149
+ | `V` / `Delete` / `Backspace`| **Delete** selected segments. |
150
+ | `C` | Clear temporary points/vertices. |
151
+ | `W/A/S/D` | Pan image. |
152
+ | `Scroll Wheel` | Zoom-in or -out. |
153
+
154
+ ---
155
+
156
+ ## 📦 Output Format
157
+
158
+ LazyLabel saves your work as a compressed NumPy array (`.npz`) with the same name as your image file.
159
+
160
+ The file contains a single data key, `'mask'`, holding a **one-hot encoded tensor** with the shape `(H, W, C)`:
161
+ * `H`: Image height.
162
+ * `W`: Image width.
163
+ * `C`: Total unique classes.
164
+
165
+ Each channel is a binary mask for a class, combining all assigned segments into a clean, ML-ready output.
166
+
167
+ ---
168
+
169
+ ## 🏗️ Architecture
170
+
171
+ LazyLabel features a modern, modular architecture designed for maintainability and extensibility:
172
+
173
+ * **Modular Design**: Clean separation between UI, business logic, and configuration
174
+ * **Signal-Based Communication**: Loose coupling between components using PyQt signals
175
+ * **Persistent Configuration**: User settings and preferences saved between sessions
176
+ * **Extensible Model System**: Easy integration of new SAM models and types
177
+
178
+ For detailed technical documentation, see [ARCHITECTURE.md](src/lazylabel/ARCHITECTURE.md).
179
+
180
+ ---
181
+
182
+ ## ⌨️ Hotkey Customization
183
+
184
+ LazyLabel includes a comprehensive hotkey management system:
185
+
186
+ * **Full Customization**: Personalize keyboard shortcuts for all 27+ functions
187
+ * **Category Organization**: Hotkeys organized by function (Modes, Actions, Navigation, etc.)
188
+ * **Primary & Secondary Keys**: Set multiple shortcuts for the same action
189
+ * **Persistent Settings**: Custom hotkeys saved between sessions
190
+ * **Conflict Prevention**: System prevents duplicate key assignments
191
+
192
+ For complete hotkey documentation, see [HOTKEY_FEATURE.md](src/lazylabel/HOTKEY_FEATURE.md).
193
+
194
+ ---
195
+
196
+ ## ☕ Support LazyLabel
197
+ [If you found LazyLabel helpful, consider supporting the project!](https://buymeacoffee.com/dnzckn)
@@ -0,0 +1,37 @@
1
+ lazylabel/__init__.py,sha256=CMyTPww0XpRH2jkzASEBHgcxqHWAE_z8RHf6Q4a3cXk,189
2
+ lazylabel/main.py,sha256=C-IrTrV9oxAlFBGP8FXK5dRM4z-GO92IhFfW-Hme4lA,730
3
+ lazylabel/config/__init__.py,sha256=VJcI9o4JaWV0Iv8uJFg1jHrnfP7kRaBo-HXTnRrcZjg,255
4
+ lazylabel/config/hotkeys.py,sha256=smCXepxirWcgEDrPsSGYUlNQz8aurg6geSNs157caVc,7445
5
+ lazylabel/config/paths.py,sha256=5bGcZWrdchBZ0KPBz-90N0rU4NVTpS1ADi_LUbMnvXw,1280
6
+ lazylabel/config/settings.py,sha256=kMmAvCiA9z361i0btJxmS0dpD-N4U1Dsjd-omMjKYP0,1795
7
+ lazylabel/core/__init__.py,sha256=q_rJpdWsiknrYqFMfMi1XG1LVXPoOYxljagF7nua9eI,224
8
+ lazylabel/core/file_manager.py,sha256=laucWfOoe_gXeAUPg4aTLpDtkN4VFfd8VzGE68Z-3yo,4629
9
+ lazylabel/core/model_manager.py,sha256=BrJLKgDPB22-HiNRwKjZVguFEgWEslWUlhJiSSYr6nk,3338
10
+ lazylabel/core/segment_manager.py,sha256=8c5VTu3HPxeEP_14hj6xSUWkTrkZbS3RGb2CVBaH6oc,5835
11
+ lazylabel/models/__init__.py,sha256=G4gdlvIRqvUshkAGUPXTvBkGG2GaR3DSjzbqk4mUKUM,85
12
+ lazylabel/models/sam_model.py,sha256=o0RCGNFFDaUhEowUzBwUNQXUaxYXJVAr-IX0SRXmAzY,7567
13
+ lazylabel/ui/__init__.py,sha256=FurYdXg9YUB-l191pH1W_knPiFY5P3PzW2q1XqWvG7A,259
14
+ lazylabel/ui/control_panel.py,sha256=lflY0IzcZfJnSis08QnVI5_PYwn-y99Y_vrYjke6iIA,8794
15
+ lazylabel/ui/editable_vertex.py,sha256=FrOedWvtaLkp3oLIH8ILe-S97dr8SRq3Jtcx1BR_VRQ,2335
16
+ lazylabel/ui/hotkey_dialog.py,sha256=3ziKtmdzNwfq3Mj6hHBs5cR-5p23aO0N-k2ph2fz7bE,14869
17
+ lazylabel/ui/hoverable_pixelmap_item.py,sha256=gfPxhHVrlhQo9mhNXs5nZVJ7yJm1z5wLq02Fj_LphOk,706
18
+ lazylabel/ui/hoverable_polygon_item.py,sha256=yTTEGRrw6eWjpPG4qflm0nn0aFTh0iySNco3yoccrc8,1212
19
+ lazylabel/ui/main_window.py,sha256=T7n01M7cW1YqR2R6z870EYeQ6alBUoRDcqG5cu5xjR0,67961
20
+ lazylabel/ui/numeric_table_widget_item.py,sha256=s5_7JqVtVSGTTDFrRNwaYlGtfnjUbNNi4qe5aEy4bPs,274
21
+ lazylabel/ui/photo_viewer.py,sha256=MZv_aIhJBeR2czqIx18YUubxxxs8kBekn_l63RA37B0,2001
22
+ lazylabel/ui/reorderable_class_table.py,sha256=CZ1GLyG8M4BvXFRv-IXwRv_BQSY5t0rlGCW4exLxEOM,2345
23
+ lazylabel/ui/right_panel.py,sha256=1ukyS7qQ0aUGGlkD4WrP3iR4125WcYrdboSgAmx3GXY,12139
24
+ lazylabel/ui/widgets/__init__.py,sha256=6ocNFu2JQgRgTNfNcFG4MULaLSgb6LkYdXWxWOZrb74,306
25
+ lazylabel/ui/widgets/adjustments_widget.py,sha256=7SqdIJhIagBXjZF2mv_vYpZzE4OorQIE1i58cukmBiA,3903
26
+ lazylabel/ui/widgets/model_selection_widget.py,sha256=gWKRzh3rLoxHZej3Q3UCiuzDBDI08wEgrKgdblRaIFU,3497
27
+ lazylabel/ui/widgets/settings_widget.py,sha256=Gw4ggWerDHhwvrSLJ6yCiRJPZ86Qy282uISwN6cRlv4,4256
28
+ lazylabel/ui/widgets/status_bar.py,sha256=6sRaKb4MapVlS9V1PMclSqOnKd-fCGab4XZnIg_KY84,3917
29
+ lazylabel/utils/__init__.py,sha256=n82W9lJYc_yVfgdmrj-2m5qU2ijJS0EZHiJ-fe1scZ0,172
30
+ lazylabel/utils/custom_file_system_model.py,sha256=YSYxgZ5EOf-Mfjx2FxvcvTxG6fuARLmxidc3vLZfU68,4735
31
+ lazylabel/utils/utils.py,sha256=OseNpUevRtg8dUCT-ycjodDdAlvIf-ctuu8-m2XLGZ0,402
32
+ lazylabel_gui-1.1.2.dist-info/licenses/LICENSE,sha256=8vRrtA5ZMPlySwK4sxFYXFHAxAFMjxHrQDPwRCuFQWI,1071
33
+ lazylabel_gui-1.1.2.dist-info/METADATA,sha256=gMzapYP2aAWB0zY4ZKN4ZmY5u7-BmED-lLPTQP6dZGY,8276
34
+ lazylabel_gui-1.1.2.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
35
+ lazylabel_gui-1.1.2.dist-info/entry_points.txt,sha256=Hd0WwEG9OPTa_ziYjiD0aRh7R6Fupt-wdQ3sspdc1mM,54
36
+ lazylabel_gui-1.1.2.dist-info/top_level.txt,sha256=YN4uIyrpDBq1wiJaBuZLDipIzyZY0jqJOmmXiPIOUkU,10
37
+ lazylabel_gui-1.1.2.dist-info/RECORD,,
@@ -1,21 +1,21 @@
1
- MIT License
2
-
3
- Copyright (c) 2025 Deniz N. Cakan
4
-
5
- Permission is hereby granted, free of charge, to any person obtaining a copy
6
- of this software and associated documentation files (the "Software"), to deal
7
- in the Software without restriction, including without limitation the rights
8
- to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
- copies of the Software, and to permit persons to whom the Software is
10
- furnished to do so, subject to the following conditions:
11
-
12
- The above copyright notice and this permission notice shall be included in all
13
- copies or substantial portions of the Software.
14
-
15
- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
- IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
- FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
- AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
- LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
- OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
- SOFTWARE.
1
+ MIT License
2
+
3
+ Copyright (c) 2025 Deniz N. Cakan
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
@@ -1,36 +0,0 @@
1
- lazylabel/__init__.py,sha256=XTAPk-88MdkJX5IKg0f51CxNlARQ-SZIiqLneV6B3II,197
2
- lazylabel/main.py,sha256=EQdIfp4GX3Qt9Hz1KFldxKiqjG0Wm0-GmuECdfGwL_8,426
3
- lazylabel/config/__init__.py,sha256=ahAF6cneEVmq2zyGwydGgGAOzJKkv_aumq5cWmokOms,261
4
- lazylabel/config/hotkeys.py,sha256=LrQ4nmLWVOZvNOe4mEARFU3Wd3bZ7nvvsxGeFY6N9wA,7618
5
- lazylabel/config/paths.py,sha256=d6lJ0rwdlnLjrhR5fIzb3Pc9Fhl4lsGIf2IZNmi4vZ8,1320
6
- lazylabel/config/settings.py,sha256=IkUGz-FdDapF71k_LRpUOLHScglGeYjdLbbELGJ4hOs,1860
7
- lazylabel/core/__init__.py,sha256=YIj3IAI6Er5nN7gSuo9E8eoQKbBbSq2Jy2prtU8Fp50,230
8
- lazylabel/core/file_manager.py,sha256=cXaSPSUiqTm57hfpUxkuzgqApOZCK1RAJdfjmKRJKRA,4734
9
- lazylabel/core/model_manager.py,sha256=Prski8UZCSj6Rkk5uCtJwhsxSSnZPos-RZwM5CgF0KY,3442
10
- lazylabel/core/segment_manager.py,sha256=mrP6QqeHRFvX4HaX3hUsesnfWqAwUjLVfkxB8Wdy3cY,5097
11
- lazylabel/models/__init__.py,sha256=qH0EvkWsou0boS85yM6DfRhJnrPOLc-QzWI0grAwnRI,89
12
- lazylabel/models/sam_model.py,sha256=NPC_Zwc973jos1hV-EfUTlnX44QREgjI-QT2nDd4NUY,6408
13
- lazylabel/ui/__init__.py,sha256=i5hgblzrydTkFSJDiFyfRZMNl4Z4J2dumuwx3bWEPvA,266
14
- lazylabel/ui/control_panel.py,sha256=LKPfIgS12rzMbORunUpoHFGKEtEjsJTHtlU1BUAcD7g,8742
15
- lazylabel/ui/editable_vertex.py,sha256=pMuXvlCkbguUsFisEzj3bC2UZ_xKqfGuM8kyPug5yws,1852
16
- lazylabel/ui/hotkey_dialog.py,sha256=3QkthYil_SWYWxRGL_U8cZCsQ4y-6SExQZXJuE5aO8s,15252
17
- lazylabel/ui/hoverable_pixelmap_item.py,sha256=kJFOp7WXiyHpNf7l73TZjiob85jgP30b5MZvu_z5L3c,728
18
- lazylabel/ui/hoverable_polygon_item.py,sha256=hQKax3vzhtrdB5ThwTINjOCwOYy718zw5YZPLCfLnGM,1251
19
- lazylabel/ui/main_window.py,sha256=DVBmTtGd8EoiN-Qhl_Cx3o9ajNENyAf-OnYnHTs3mOI,52596
20
- lazylabel/ui/numeric_table_widget_item.py,sha256=dQUlIFu9syCxTGAHVIlmbgkI7aJ3f3wmDPBz1AGK9Bg,283
21
- lazylabel/ui/photo_viewer.py,sha256=PNgm0gU2gnIqvRkrGlQugdobGsKwAi3m3X6ZF487lCo,2055
22
- lazylabel/ui/reorderable_class_table.py,sha256=4c-iuSkPcmk5Aey5n2zz49O85x9TQPujKG-JLxtuBCo,2406
23
- lazylabel/ui/right_panel.py,sha256=m5PBRtzwB2x8CKtLzRwVYAsp1Mq-hvIGl7KEGMCcLrg,9988
24
- lazylabel/ui/widgets/__init__.py,sha256=O4FFoTYecZ_dUIpNjqNBVmG5b3HLhv-gYNW7cevbtsE,264
25
- lazylabel/ui/widgets/adjustments_widget.py,sha256=Az8GZgu4Uvhm6nEnwjiYDyShOqwieinjFnTOiUfxdzo,3940
26
- lazylabel/ui/widgets/model_selection_widget.py,sha256=X3qVH90yCaCpLDauj-DLWJgAwAkAVQrzhG9X5mESa-o,3590
27
- lazylabel/ui/widgets/settings_widget.py,sha256=8zhjLxUxqFqxqMYDzkXWD1Ye5V-a7HNhPjPJjYBxeZw,4361
28
- lazylabel/utils/__init__.py,sha256=SX_aZvmFojIJ4Lskat9ly0dmFBXgN7leBdmc68aDLpg,177
29
- lazylabel/utils/custom_file_system_model.py,sha256=zK0Z4LY2hzYVtycDWsCLEhXZ0zKZz-Qy5XGwHYrqazQ,4867
30
- lazylabel/utils/utils.py,sha256=sYSCoXL27OaLgOZaUkCAhgmKZ7YfhR3Cc5F8nDIa3Ig,414
31
- lazylabel_gui-1.1.0.dist-info/licenses/LICENSE,sha256=kSDEIgrWAPd1u2UFGGpC9X71dhzrlzBFs8hbDlENnGE,1092
32
- lazylabel_gui-1.1.0.dist-info/METADATA,sha256=HT1KUNRWJsGUjtU8OhcEcIyK8W9TiMqB_00cmpQElfE,8473
33
- lazylabel_gui-1.1.0.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
34
- lazylabel_gui-1.1.0.dist-info/entry_points.txt,sha256=Hd0WwEG9OPTa_ziYjiD0aRh7R6Fupt-wdQ3sspdc1mM,54
35
- lazylabel_gui-1.1.0.dist-info/top_level.txt,sha256=YN4uIyrpDBq1wiJaBuZLDipIzyZY0jqJOmmXiPIOUkU,10
36
- lazylabel_gui-1.1.0.dist-info/RECORD,,