lazylabel-gui 1.2.1__py3-none-any.whl → 1.3.1__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.
- lazylabel/config/settings.py +3 -0
- lazylabel/main.py +1 -0
- lazylabel/models/sam2_model.py +166 -18
- lazylabel/ui/control_panel.py +17 -15
- lazylabel/ui/editable_vertex.py +72 -0
- lazylabel/ui/hoverable_pixelmap_item.py +25 -0
- lazylabel/ui/hoverable_polygon_item.py +26 -0
- lazylabel/ui/main_window.py +5632 -232
- lazylabel/ui/modes/__init__.py +6 -0
- lazylabel/ui/modes/base_mode.py +52 -0
- lazylabel/ui/modes/multi_view_mode.py +1173 -0
- lazylabel/ui/modes/single_view_mode.py +299 -0
- lazylabel/ui/photo_viewer.py +31 -3
- lazylabel/ui/test_hover.py +48 -0
- lazylabel/ui/widgets/adjustments_widget.py +2 -2
- lazylabel/ui/widgets/border_crop_widget.py +11 -0
- lazylabel/ui/widgets/channel_threshold_widget.py +50 -6
- lazylabel/ui/widgets/fft_threshold_widget.py +116 -22
- lazylabel/ui/widgets/model_selection_widget.py +117 -4
- {lazylabel_gui-1.2.1.dist-info → lazylabel_gui-1.3.1.dist-info}/METADATA +194 -200
- {lazylabel_gui-1.2.1.dist-info → lazylabel_gui-1.3.1.dist-info}/RECORD +25 -20
- {lazylabel_gui-1.2.1.dist-info → lazylabel_gui-1.3.1.dist-info}/WHEEL +0 -0
- {lazylabel_gui-1.2.1.dist-info → lazylabel_gui-1.3.1.dist-info}/entry_points.txt +0 -0
- {lazylabel_gui-1.2.1.dist-info → lazylabel_gui-1.3.1.dist-info}/licenses/LICENSE +0 -0
- {lazylabel_gui-1.2.1.dist-info → lazylabel_gui-1.3.1.dist-info}/top_level.txt +0 -0
@@ -1,200 +1,194 @@
|
|
1
|
-
Metadata-Version: 2.4
|
2
|
-
Name: lazylabel-gui
|
3
|
-
Version: 1.
|
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
|
-
Provides-Extra: dev
|
49
|
-
Requires-Dist: pytest>=7.0.0; extra == "dev"
|
50
|
-
Requires-Dist: pytest-cov>=4.0.0; extra == "dev"
|
51
|
-
Requires-Dist: pytest-mock>=3.10.0; extra == "dev"
|
52
|
-
Requires-Dist: pytest-qt>=4.2.0; extra == "dev"
|
53
|
-
Requires-Dist: ruff>=0.8.0; extra == "dev"
|
54
|
-
Dynamic: license-file
|
55
|
-
|
56
|
-
# <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;" />
|
57
|
-
|
58
|
-
**AI-Assisted Image Segmentation Made Simple**
|
59
|
-
|
60
|
-
LazyLabel combines Meta's Segment Anything Model (SAM) with intuitive editing tools for fast, precise image labeling. Perfect for machine learning datasets and computer vision research.
|
61
|
-
|
62
|
-

|
63
|
-
|
64
|
-
---
|
65
|
-
|
66
|
-
## 🚀 Quick Start
|
67
|
-
|
68
|
-
### Installation
|
69
|
-
```bash
|
70
|
-
pip install lazylabel-gui
|
71
|
-
lazylabel-gui
|
72
|
-
```
|
73
|
-
|
74
|
-
### Optional: SAM-2 Support
|
75
|
-
For advanced SAM-2 models, install manually:
|
76
|
-
```bash
|
77
|
-
pip install git+https://github.com/facebookresearch/sam2.git
|
78
|
-
```
|
79
|
-
*Note: SAM-2 is optional - LazyLabel works with SAM 1.0 models by default*
|
80
|
-
|
81
|
-
### Usage
|
82
|
-
1. **Open Folder** → Select your image directory
|
83
|
-
2. **Click on image** → AI generates instant masks
|
84
|
-
3. **Fine-tune** → Edit polygons, merge segments
|
85
|
-
4. **Export** → Clean `.npz` files ready for ML training
|
86
|
-
|
87
|
-
---
|
88
|
-
|
89
|
-
## ✨ Key Features
|
90
|
-
|
91
|
-
- **🧠 One-click AI segmentation** with Meta's SAM and SAM2 models
|
92
|
-
- **🎨 Manual polygon drawing** with full vertex control
|
93
|
-
- **⚡ Smart editing tools** - merge segments, adjust class names, and class order
|
94
|
-
- **📊 ML-ready exports** - One-hot encoded `.npz` format and `.json` for YOLO format
|
95
|
-
- **🔧 Image enhancement** - brightness, contrast, gamma adjustment
|
96
|
-
- **🔍 Image viewer** - zoom, pan, brightness, contrast, and gamma adjustment
|
97
|
-
- **✂️ Edge cropping** - define custom crop areas to focus on specific regions
|
98
|
-
- **🔄 Undo/Redo** - full history of all actions
|
99
|
-
- **💾 Auto-saving** - Automatic saving of your labels when navigating between images
|
100
|
-
- **🎛️ Advanced filtering** - FFT thresholding and color channel thresholding
|
101
|
-
- **⌨️ Customizable hotkeys** for all functions
|
102
|
-
|
103
|
-
---
|
104
|
-
|
105
|
-
## ⌨️ Essential Hotkeys
|
106
|
-
|
107
|
-
| Action | Key | Description |
|
108
|
-
|--------|-----|-------------|
|
109
|
-
| **AI Mode** | `1` | Point-click segmentation |
|
110
|
-
| **Draw Mode** | `2` | Manual polygon drawing |
|
111
|
-
| **Edit Mode** | `E` | Select and modify shapes |
|
112
|
-
| **Save Segment** | `Space` | Confirm current mask |
|
113
|
-
| **Merge** | `M` | Combine selected segments |
|
114
|
-
| **Pan** | `Q` + drag | Navigate large images |
|
115
|
-
| **Positive Point** | `Left Click` | Add to segment |
|
116
|
-
| **Negative Point** | `Right Click` | Remove from segment |
|
117
|
-
|
118
|
-
💡 **All hotkeys customizable** - Click "Hotkeys" button to personalize
|
119
|
-
|
120
|
-
---
|
121
|
-
|
122
|
-
## 📦 Output Format
|
123
|
-
|
124
|
-
Perfect for ML training - clean, structured data:
|
125
|
-
|
126
|
-
```python
|
127
|
-
import numpy as np
|
128
|
-
|
129
|
-
# Load your labeled data
|
130
|
-
data = np.load('your_image.npz')
|
131
|
-
mask = data['mask'] # Shape: (height, width, num_classes)
|
132
|
-
|
133
|
-
# Each channel is a binary mask for one class
|
134
|
-
class_0_mask = mask[:, :, 0] # Background
|
135
|
-
class_1_mask = mask[:, :, 1] # Object type 1
|
136
|
-
class_2_mask = mask[:, :, 2] # Object type 2
|
137
|
-
```
|
138
|
-
|
139
|
-
|
140
|
-
**Ideal for:**
|
141
|
-
- Semantic segmentation datasets
|
142
|
-
- Instance segmentation training
|
143
|
-
- Computer vision research
|
144
|
-
- Automated annotation pipelines
|
145
|
-
|
146
|
-
---
|
147
|
-
|
148
|
-
## 🛠️ Development
|
149
|
-
|
150
|
-
**Requirements:** Python 3.10+
|
151
|
-
**2.5GB** disk space for SAM model (auto-downloaded)
|
152
|
-
|
153
|
-
### Installation from Source
|
154
|
-
```bash
|
155
|
-
git clone https://github.com/dnzckn/LazyLabel.git
|
156
|
-
cd LazyLabel
|
157
|
-
pip install -e .
|
158
|
-
lazylabel-gui
|
159
|
-
```
|
160
|
-
|
161
|
-
### Testing & Quality
|
162
|
-
```bash
|
163
|
-
# Run full test suite
|
164
|
-
python -m pytest --cov=lazylabel --cov-report=html
|
165
|
-
|
166
|
-
# Code formatting & linting
|
167
|
-
ruff check . && ruff format .
|
168
|
-
```
|
169
|
-
|
170
|
-
### Architecture
|
171
|
-
- **Modular design** with clean component separation
|
172
|
-
- **Signal-based communication** between UI elements
|
173
|
-
- **Extensible model system** for new SAM variants
|
174
|
-
- **Comprehensive test suite** (150+ tests, 60%+ coverage)
|
175
|
-
|
176
|
-
---
|
177
|
-
|
178
|
-
## 🤝 Contributing
|
179
|
-
|
180
|
-
LazyLabel welcomes contributions! Check out:
|
181
|
-
- [Architecture Guide](src/lazylabel/ARCHITECTURE.md) for technical details
|
182
|
-
- [Hotkey System](src/lazylabel/HOTKEY_FEATURE.md) for customization
|
183
|
-
- Issues page for feature requests and bug reports
|
184
|
-
|
185
|
-
---
|
186
|
-
|
187
|
-
## 🙏 Acknowledgments
|
188
|
-
|
189
|
-
- [LabelMe](https://github.com/wkentaro/labelme)
|
190
|
-
- [Segment-Anything-UI](https://github.com/branislavhesko/segment-anything-ui)
|
191
|
-
|
192
|
-
---
|
193
|
-
|
194
|
-
|
195
|
-
|
196
|
-
If LazyLabel saves you time on annotation tasks, [consider supporting the project!](https://buymeacoffee.com/dnzckn)
|
197
|
-
|
198
|
-
---
|
199
|
-
|
200
|
-
**Made with ❤️ for the computer vision community**
|
1
|
+
Metadata-Version: 2.4
|
2
|
+
Name: lazylabel-gui
|
3
|
+
Version: 1.3.1
|
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
|
+
Provides-Extra: dev
|
49
|
+
Requires-Dist: pytest>=7.0.0; extra == "dev"
|
50
|
+
Requires-Dist: pytest-cov>=4.0.0; extra == "dev"
|
51
|
+
Requires-Dist: pytest-mock>=3.10.0; extra == "dev"
|
52
|
+
Requires-Dist: pytest-qt>=4.2.0; extra == "dev"
|
53
|
+
Requires-Dist: ruff>=0.8.0; extra == "dev"
|
54
|
+
Dynamic: license-file
|
55
|
+
|
56
|
+
# <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;" />
|
57
|
+
|
58
|
+
**AI-Assisted Image Segmentation Made Simple**
|
59
|
+
|
60
|
+
LazyLabel combines Meta's Segment Anything Model (SAM) with intuitive editing tools for fast, precise image labeling. Perfect for machine learning datasets and computer vision research.
|
61
|
+
|
62
|
+

|
63
|
+
|
64
|
+
---
|
65
|
+
|
66
|
+
## 🚀 Quick Start
|
67
|
+
|
68
|
+
### Installation
|
69
|
+
```bash
|
70
|
+
pip install lazylabel-gui
|
71
|
+
lazylabel-gui
|
72
|
+
```
|
73
|
+
|
74
|
+
### Optional: SAM-2 Support
|
75
|
+
For advanced SAM-2 models, install manually:
|
76
|
+
```bash
|
77
|
+
pip install git+https://github.com/facebookresearch/sam2.git
|
78
|
+
```
|
79
|
+
*Note: SAM-2 is optional - LazyLabel works with SAM 1.0 models by default*
|
80
|
+
|
81
|
+
### Usage
|
82
|
+
1. **Open Folder** → Select your image directory
|
83
|
+
2. **Click on image** → AI generates instant masks
|
84
|
+
3. **Fine-tune** → Edit polygons, merge segments
|
85
|
+
4. **Export** → Clean `.npz` files ready for ML training
|
86
|
+
|
87
|
+
---
|
88
|
+
|
89
|
+
## ✨ Key Features
|
90
|
+
|
91
|
+
- **🧠 One-click AI segmentation** with Meta's SAM and SAM2 models
|
92
|
+
- **🎨 Manual polygon drawing** with full vertex control
|
93
|
+
- **⚡ Smart editing tools** - merge segments, adjust class names, and class order
|
94
|
+
- **📊 ML-ready exports** - One-hot encoded `.npz` format and `.json` for YOLO format
|
95
|
+
- **🔧 Image enhancement** - brightness, contrast, gamma adjustment
|
96
|
+
- **🔍 Image viewer** - zoom, pan, brightness, contrast, and gamma adjustment
|
97
|
+
- **✂️ Edge cropping** - define custom crop areas to focus on specific regions
|
98
|
+
- **🔄 Undo/Redo** - full history of all actions
|
99
|
+
- **💾 Auto-saving** - Automatic saving of your labels when navigating between images
|
100
|
+
- **🎛️ Advanced filtering** - FFT thresholding and color channel thresholding
|
101
|
+
- **⌨️ Customizable hotkeys** for all functions
|
102
|
+
|
103
|
+
---
|
104
|
+
|
105
|
+
## ⌨️ Essential Hotkeys
|
106
|
+
|
107
|
+
| Action | Key | Description |
|
108
|
+
|--------|-----|-------------|
|
109
|
+
| **AI Mode** | `1` | Point-click segmentation |
|
110
|
+
| **Draw Mode** | `2` | Manual polygon drawing |
|
111
|
+
| **Edit Mode** | `E` | Select and modify shapes |
|
112
|
+
| **Save Segment** | `Space` | Confirm current mask |
|
113
|
+
| **Merge** | `M` | Combine selected segments |
|
114
|
+
| **Pan** | `Q` + drag | Navigate large images |
|
115
|
+
| **Positive Point** | `Left Click` | Add to segment |
|
116
|
+
| **Negative Point** | `Right Click` | Remove from segment |
|
117
|
+
|
118
|
+
💡 **All hotkeys customizable** - Click "Hotkeys" button to personalize
|
119
|
+
|
120
|
+
---
|
121
|
+
|
122
|
+
## 📦 Output Format
|
123
|
+
|
124
|
+
Perfect for ML training - clean, structured data:
|
125
|
+
|
126
|
+
```python
|
127
|
+
import numpy as np
|
128
|
+
|
129
|
+
# Load your labeled data
|
130
|
+
data = np.load('your_image.npz')
|
131
|
+
mask = data['mask'] # Shape: (height, width, num_classes)
|
132
|
+
|
133
|
+
# Each channel is a binary mask for one class
|
134
|
+
class_0_mask = mask[:, :, 0] # Background
|
135
|
+
class_1_mask = mask[:, :, 1] # Object type 1
|
136
|
+
class_2_mask = mask[:, :, 2] # Object type 2
|
137
|
+
```
|
138
|
+
|
139
|
+
|
140
|
+
**Ideal for:**
|
141
|
+
- Semantic segmentation datasets
|
142
|
+
- Instance segmentation training
|
143
|
+
- Computer vision research
|
144
|
+
- Automated annotation pipelines
|
145
|
+
|
146
|
+
---
|
147
|
+
|
148
|
+
## 🛠️ Development
|
149
|
+
|
150
|
+
**Requirements:** Python 3.10+
|
151
|
+
**2.5GB** disk space for SAM model (auto-downloaded)
|
152
|
+
|
153
|
+
### Installation from Source
|
154
|
+
```bash
|
155
|
+
git clone https://github.com/dnzckn/LazyLabel.git
|
156
|
+
cd LazyLabel
|
157
|
+
pip install -e .
|
158
|
+
lazylabel-gui
|
159
|
+
```
|
160
|
+
|
161
|
+
### Testing & Quality
|
162
|
+
```bash
|
163
|
+
# Run full test suite
|
164
|
+
python -m pytest --cov=lazylabel --cov-report=html
|
165
|
+
|
166
|
+
# Code formatting & linting
|
167
|
+
ruff check . && ruff format .
|
168
|
+
```
|
169
|
+
|
170
|
+
### Architecture
|
171
|
+
- **Modular design** with clean component separation
|
172
|
+
- **Signal-based communication** between UI elements
|
173
|
+
- **Extensible model system** for new SAM variants
|
174
|
+
- **Comprehensive test suite** (150+ tests, 60%+ coverage)
|
175
|
+
|
176
|
+
---
|
177
|
+
|
178
|
+
## 🤝 Contributing
|
179
|
+
|
180
|
+
LazyLabel welcomes contributions! Check out:
|
181
|
+
- [Architecture Guide](src/lazylabel/ARCHITECTURE.md) for technical details
|
182
|
+
- [Hotkey System](src/lazylabel/HOTKEY_FEATURE.md) for customization
|
183
|
+
- Issues page for feature requests and bug reports
|
184
|
+
|
185
|
+
---
|
186
|
+
|
187
|
+
## 🙏 Acknowledgments
|
188
|
+
|
189
|
+
- [LabelMe](https://github.com/wkentaro/labelme)
|
190
|
+
- [Segment-Anything-UI](https://github.com/branislavhesko/segment-anything-ui)
|
191
|
+
|
192
|
+
---
|
193
|
+
|
194
|
+
**Made with ❤️ for the computer vision community**
|
@@ -1,44 +1,49 @@
|
|
1
1
|
lazylabel/__init__.py,sha256=0yitHZYNNuF4Rqj7cqE0TrfDV8zhzKD3A5W1vOymHK4,199
|
2
2
|
lazylabel/__main__.py,sha256=5IWklQrNkzeMH6rchzZxxoeSnZlkz-HRiPWXqjjj2yA,139
|
3
|
-
lazylabel/main.py,sha256=
|
3
|
+
lazylabel/main.py,sha256=g_QhEWNhgxp8LLFfxTXDMVTpdaHog_wrs5cv01xRL0Q,904
|
4
4
|
lazylabel/config/__init__.py,sha256=TnDXH0yx0zy97FfjpiVPHleMgMrM5YwWrUbvevSNJjg,263
|
5
5
|
lazylabel/config/hotkeys.py,sha256=PwxBUy7RvIUU3HCXT74NnexPbg2VFQrbR5FTGek31h8,8008
|
6
6
|
lazylabel/config/paths.py,sha256=ZVKbtaNOxmYO4l6JgsY-8DXaE_jaJfDg2RQJJn3-5nw,1275
|
7
|
-
lazylabel/config/settings.py,sha256=
|
7
|
+
lazylabel/config/settings.py,sha256=myBqkgnYv_P1OomieXt8luCOSNjBiDVN-TybSqHkAgA,1990
|
8
8
|
lazylabel/core/__init__.py,sha256=FmRjop_uIBSJwKMGhaZ-3Iwu34LkoxTuD-hnq5vbTSY,232
|
9
9
|
lazylabel/core/file_manager.py,sha256=CmRLd3FtOa64mt9Wz-eYErDerFOm1gt3roGlibviqwo,6013
|
10
10
|
lazylabel/core/model_manager.py,sha256=NmgnIrw9sb_vSwRVkBr2Z_Mc2kFfdFukFgUhqs2e-L0,6829
|
11
11
|
lazylabel/core/segment_manager.py,sha256=M6kHcYeiub3WqL01NElCvKOc2GNmf72LUM1W8XwSaxc,6465
|
12
12
|
lazylabel/models/__init__.py,sha256=fIlk_0DuZfiClcm0XlZdimeHzunQwBmTMI4PcGsaymw,91
|
13
|
-
lazylabel/models/sam2_model.py,sha256=
|
13
|
+
lazylabel/models/sam2_model.py,sha256=lleJ6j7B2k9v4gqhfU7tP_3yxiVGAPTZG5Tq26AwKR4,15612
|
14
14
|
lazylabel/models/sam_model.py,sha256=Q1GAaFG6n5JoZXhClcUZKN-gvA_wmtVuUYzELG7zhPg,8833
|
15
15
|
lazylabel/ui/__init__.py,sha256=4qDIh9y6tABPmD8MAMGZn_G7oSRyrcHt2HkjoWgbGH4,268
|
16
|
-
lazylabel/ui/control_panel.py,sha256=
|
17
|
-
lazylabel/ui/editable_vertex.py,sha256=
|
16
|
+
lazylabel/ui/control_panel.py,sha256=I2Bpij2Xe-4yW1t1iKBS0H3vomuSW_26QvkNhO0mj2I,33140
|
17
|
+
lazylabel/ui/editable_vertex.py,sha256=ofo3r8ZZ3b8oYV40vgzZuS3QnXYBNzE92ArC2wggJOM,5122
|
18
18
|
lazylabel/ui/hotkey_dialog.py,sha256=U_B76HLOxWdWkfA4d2XgRUaZTJPAAE_m5fmwf7Rh-5Y,14743
|
19
|
-
lazylabel/ui/hoverable_pixelmap_item.py,sha256=
|
20
|
-
lazylabel/ui/hoverable_polygon_item.py,sha256=
|
21
|
-
lazylabel/ui/main_window.py,sha256=
|
19
|
+
lazylabel/ui/hoverable_pixelmap_item.py,sha256=UbWVxpmCTaeae_AeA8gMOHYGUmAw40fZBFTS3sZlw48,1821
|
20
|
+
lazylabel/ui/hoverable_polygon_item.py,sha256=gZalImJ_PJYM7xON0iiSjQ335ZBREOfSscKLVs-MSh8,2314
|
21
|
+
lazylabel/ui/main_window.py,sha256=r1Vk3aY346O3T1H8-4xmha0KpeWxANV27JthFQNX7ss,381615
|
22
22
|
lazylabel/ui/numeric_table_widget_item.py,sha256=dQUlIFu9syCxTGAHVIlmbgkI7aJ3f3wmDPBz1AGK9Bg,283
|
23
|
-
lazylabel/ui/photo_viewer.py,sha256=
|
23
|
+
lazylabel/ui/photo_viewer.py,sha256=D_t2DS0AYckzlXjotTVC5ZxCsMYC-0xjBjeVQCrhqws,5631
|
24
24
|
lazylabel/ui/reorderable_class_table.py,sha256=sxHhQre5O_MXLDFgKnw43QnvXXoqn5xRKMGitgO7muI,2371
|
25
25
|
lazylabel/ui/right_panel.py,sha256=-PeXcu7Lr-xhZniBMvWLDPiFb_RAHYAcILyw8fPJs6I,13139
|
26
|
+
lazylabel/ui/test_hover.py,sha256=5H7J2jhMlhDYwbvGJXgfTupwO9VRylK30ESAG85Ju7I,1521
|
27
|
+
lazylabel/ui/modes/__init__.py,sha256=ikg47aeexLQavSda_3tYn79xGJW38jKoUCLXRe2w8ok,219
|
28
|
+
lazylabel/ui/modes/base_mode.py,sha256=0R3AkjN_WpYwetF3uuOvkTxb6Q1HB-Z1NQPvLh9eUTY,1315
|
29
|
+
lazylabel/ui/modes/multi_view_mode.py,sha256=TKdqTHokIk267aFVvwXikAtAcuxpG6ezIOlQwoque9c,50606
|
30
|
+
lazylabel/ui/modes/single_view_mode.py,sha256=khGUXVQ_lv9cCXkOAewQN8iH7R_CPyIVtQjUqEF1eC0,11852
|
26
31
|
lazylabel/ui/widgets/__init__.py,sha256=6VDoMnanqVm3yjOovxie3WggPODuhUsIO75RtxOhQhI,688
|
27
|
-
lazylabel/ui/widgets/adjustments_widget.py,sha256=
|
28
|
-
lazylabel/ui/widgets/border_crop_widget.py,sha256=
|
29
|
-
lazylabel/ui/widgets/channel_threshold_widget.py,sha256=
|
30
|
-
lazylabel/ui/widgets/fft_threshold_widget.py,sha256=
|
32
|
+
lazylabel/ui/widgets/adjustments_widget.py,sha256=5xldhdEArX3H2P7EmHPjURdwpV-Wa2WULFfspp0gxns,12750
|
33
|
+
lazylabel/ui/widgets/border_crop_widget.py,sha256=8NTkHrk_L5_T1psVuXMspVVZRPTTeJyIEYBfVxdGeQA,7529
|
34
|
+
lazylabel/ui/widgets/channel_threshold_widget.py,sha256=CSdqiv-x1povttaLn_mY7NtU9IlMBAsZ8RIJo8_GATs,20588
|
35
|
+
lazylabel/ui/widgets/fft_threshold_widget.py,sha256=UT4QMMllPezK75hpUC7Fh1QqcD_bSHpn9fZEJCqc968,20630
|
31
36
|
lazylabel/ui/widgets/fragment_threshold_widget.py,sha256=YtToua1eAUtEuJ3EwdCMvI-39TRrFnshkty4tnR4OMU,3492
|
32
|
-
lazylabel/ui/widgets/model_selection_widget.py,sha256=
|
37
|
+
lazylabel/ui/widgets/model_selection_widget.py,sha256=mHaVMLOACL7Yc1IVA648OOYBu4yIxb6xnEGPgXTc2Ns,8160
|
33
38
|
lazylabel/ui/widgets/settings_widget.py,sha256=ShTaLJeXxwrSuTV4kmtV2JiWjfREil2D1nvPUIfAgDs,4859
|
34
39
|
lazylabel/ui/widgets/status_bar.py,sha256=wTbMQNEOBfmtNj8EVFZS_lxgaemu-CbRXeZzEQDaVz8,4014
|
35
40
|
lazylabel/utils/__init__.py,sha256=V6IR5Gim-39HgM2NyTVT-n8gy3mjilCSFW9y0owN5nc,179
|
36
41
|
lazylabel/utils/custom_file_system_model.py,sha256=-3EimlybvevH6bvqBE0qdFnLADVtayylmkntxPXK0Bk,4869
|
37
42
|
lazylabel/utils/logger.py,sha256=R7z6ifgA-NY-9ZbLlNH0i19zzwXndJ_gkG2J1zpVEhg,1306
|
38
43
|
lazylabel/utils/utils.py,sha256=sYSCoXL27OaLgOZaUkCAhgmKZ7YfhR3Cc5F8nDIa3Ig,414
|
39
|
-
lazylabel_gui-1.
|
40
|
-
lazylabel_gui-1.
|
41
|
-
lazylabel_gui-1.
|
42
|
-
lazylabel_gui-1.
|
43
|
-
lazylabel_gui-1.
|
44
|
-
lazylabel_gui-1.
|
44
|
+
lazylabel_gui-1.3.1.dist-info/licenses/LICENSE,sha256=kSDEIgrWAPd1u2UFGGpC9X71dhzrlzBFs8hbDlENnGE,1092
|
45
|
+
lazylabel_gui-1.3.1.dist-info/METADATA,sha256=8Q4xKBHglQ2KIOuIzCM1W84pUQ4h_k-omx6uuzO_naw,6898
|
46
|
+
lazylabel_gui-1.3.1.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
|
47
|
+
lazylabel_gui-1.3.1.dist-info/entry_points.txt,sha256=Hd0WwEG9OPTa_ziYjiD0aRh7R6Fupt-wdQ3sspdc1mM,54
|
48
|
+
lazylabel_gui-1.3.1.dist-info/top_level.txt,sha256=YN4uIyrpDBq1wiJaBuZLDipIzyZY0jqJOmmXiPIOUkU,10
|
49
|
+
lazylabel_gui-1.3.1.dist-info/RECORD,,
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|