coralnet-toolbox 0.0.76__py2.py3-none-any.whl → 0.0.77__py2.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.
- coralnet_toolbox/Common/QtGraphicsUtility.py +18 -8
- coralnet_toolbox/IO/QtExportMaskAnnotations.py +45 -6
- coralnet_toolbox/IO/QtImportImages.py +7 -15
- coralnet_toolbox/IO/QtOpenProject.py +15 -19
- coralnet_toolbox/MachineLearning/ImportDataset/QtBase.py +33 -8
- coralnet_toolbox/QtAnnotationWindow.py +4 -0
- coralnet_toolbox/QtEventFilter.py +1 -1
- coralnet_toolbox/QtImageWindow.py +4 -0
- coralnet_toolbox/Rasters/RasterManager.py +5 -2
- coralnet_toolbox/SeeAnything/QtDeployGenerator.py +312 -170
- coralnet_toolbox/Tools/QtPatchTool.py +6 -2
- coralnet_toolbox/Tools/QtPolygonTool.py +5 -3
- coralnet_toolbox/Tools/QtRectangleTool.py +17 -9
- coralnet_toolbox/Tools/QtSAMTool.py +4 -0
- coralnet_toolbox/Tools/QtSeeAnythingTool.py +4 -0
- coralnet_toolbox/Tools/QtTool.py +79 -3
- coralnet_toolbox/Tools/QtWorkAreaTool.py +4 -0
- coralnet_toolbox/Transformers/Models/QtBase.py +2 -1
- coralnet_toolbox/__init__.py +1 -1
- {coralnet_toolbox-0.0.76.dist-info → coralnet_toolbox-0.0.77.dist-info}/METADATA +1 -1
- {coralnet_toolbox-0.0.76.dist-info → coralnet_toolbox-0.0.77.dist-info}/RECORD +25 -25
- {coralnet_toolbox-0.0.76.dist-info → coralnet_toolbox-0.0.77.dist-info}/WHEEL +0 -0
- {coralnet_toolbox-0.0.76.dist-info → coralnet_toolbox-0.0.77.dist-info}/entry_points.txt +0 -0
- {coralnet_toolbox-0.0.76.dist-info → coralnet_toolbox-0.0.77.dist-info}/licenses/LICENSE.txt +0 -0
- {coralnet_toolbox-0.0.76.dist-info → coralnet_toolbox-0.0.77.dist-info}/top_level.txt +0 -0
@@ -56,9 +56,13 @@ class PatchTool(Tool):
|
|
56
56
|
self.update_cursor_annotation(scene_pos)
|
57
57
|
|
58
58
|
def mouseMoveEvent(self, event: QMouseEvent):
|
59
|
-
#
|
59
|
+
# Call parent implementation to handle crosshair
|
60
|
+
super().mouseMoveEvent(event)
|
61
|
+
|
62
|
+
# Then clear any existing cursor annotation
|
60
63
|
self.clear_cursor_annotation()
|
61
|
-
|
64
|
+
|
65
|
+
# Continue with tool-specific behavior for cursor annotation
|
62
66
|
if self.annotation_window.active_image and self.annotation_window.selected_label:
|
63
67
|
scene_pos = self.annotation_window.mapToScene(event.pos())
|
64
68
|
if self.annotation_window.cursorInWindow(event.pos()):
|
@@ -78,15 +78,17 @@ class PolygonTool(Tool):
|
|
78
78
|
else:
|
79
79
|
self.cancel_annotation()
|
80
80
|
|
81
|
-
def mouseMoveEvent(self, event: QMouseEvent):
|
81
|
+
def mouseMoveEvent(self, event: QMouseEvent):
|
82
|
+
# Tool-specific behavior (non-crosshair related) for mouse move events
|
82
83
|
if self.drawing_continuous:
|
83
|
-
scene_pos = self.annotation_window.mapToScene(event.pos())
|
84
84
|
active_image = self.annotation_window.active_image
|
85
85
|
pixmap_image = self.annotation_window.pixmap_image
|
86
86
|
cursor_in_window = self.annotation_window.cursorInWindow(event.pos())
|
87
|
+
scene_pos = self.annotation_window.mapToScene(event.pos())
|
88
|
+
|
87
89
|
if active_image and pixmap_image and cursor_in_window and self.points:
|
88
90
|
if self.ctrl_pressed and self.last_click_point:
|
89
|
-
# Show a straight line preview
|
91
|
+
# Show a straight line preview
|
90
92
|
self.update_cursor_annotation(scene_pos)
|
91
93
|
else:
|
92
94
|
# Free-hand: add points as the mouse moves
|
@@ -2,7 +2,7 @@ import warnings
|
|
2
2
|
|
3
3
|
from PyQt5.QtCore import Qt, QPointF
|
4
4
|
from PyQt5.QtGui import QMouseEvent, QKeyEvent
|
5
|
-
from PyQt5.QtWidgets import QMessageBox
|
5
|
+
from PyQt5.QtWidgets import QMessageBox, QGraphicsPixmapItem
|
6
6
|
|
7
7
|
from coralnet_toolbox.Tools.QtTool import Tool
|
8
8
|
from coralnet_toolbox.Annotations.QtRectangleAnnotation import RectangleAnnotation
|
@@ -29,9 +29,7 @@ class RectangleTool(Tool):
|
|
29
29
|
self.annotation_window.setCursor(self.cursor)
|
30
30
|
|
31
31
|
def deactivate(self):
|
32
|
-
|
33
|
-
self.annotation_window.setCursor(self.default_cursor)
|
34
|
-
self.clear_cursor_annotation()
|
32
|
+
super().deactivate()
|
35
33
|
self.start_point = None
|
36
34
|
self.end_point = None
|
37
35
|
self.drawing_continuous = False
|
@@ -72,8 +70,11 @@ class RectangleTool(Tool):
|
|
72
70
|
self.cancel_annotation()
|
73
71
|
|
74
72
|
def mouseMoveEvent(self, event: QMouseEvent):
|
73
|
+
# Call parent implementation to handle crosshair
|
74
|
+
super().mouseMoveEvent(event)
|
75
|
+
|
76
|
+
# Continue with tool-specific behavior
|
75
77
|
if self.drawing_continuous:
|
76
|
-
# Update the end point while drawing the rectangle
|
77
78
|
self.end_point = self.annotation_window.mapToScene(event.pos())
|
78
79
|
|
79
80
|
# Update the cursor annotation if we're in the window
|
@@ -82,12 +83,19 @@ class RectangleTool(Tool):
|
|
82
83
|
cursor_in_window = self.annotation_window.cursorInWindow(event.pos())
|
83
84
|
if active_image and pixmap_image and cursor_in_window and self.start_point:
|
84
85
|
self.update_cursor_annotation(self.end_point)
|
86
|
+
|
87
|
+
# Show crosshair at current cursor position during drawing
|
88
|
+
self.update_crosshair(self.end_point)
|
85
89
|
else:
|
86
90
|
# Show a preview rectangle at the cursor position when not drawing
|
87
91
|
scene_pos = self.annotation_window.mapToScene(event.pos())
|
88
|
-
|
89
|
-
|
90
|
-
|
92
|
+
cursor_in_window = self.annotation_window.cursorInWindow(event.pos())
|
93
|
+
|
94
|
+
# Show crosshair guides when cursor is over the image
|
95
|
+
if cursor_in_window and self.active and self.annotation_window.selected_label:
|
96
|
+
self.update_crosshair(scene_pos)
|
97
|
+
else:
|
98
|
+
self.clear_crosshair()
|
91
99
|
|
92
100
|
def keyPressEvent(self, event: QKeyEvent):
|
93
101
|
if event.key() == Qt.Key_Backspace:
|
@@ -183,4 +191,4 @@ class RectangleTool(Tool):
|
|
183
191
|
def update_cursor_annotation(self, scene_pos: QPointF = None):
|
184
192
|
"""Update the rectangle cursor annotation."""
|
185
193
|
self.clear_cursor_annotation()
|
186
|
-
self.create_cursor_annotation(scene_pos)
|
194
|
+
self.create_cursor_annotation(scene_pos)
|
@@ -544,6 +544,10 @@ class SAMTool(Tool):
|
|
544
544
|
"""
|
545
545
|
Handle mouse move events.
|
546
546
|
"""
|
547
|
+
# Call parent implementation to handle crosshair
|
548
|
+
super().mouseMoveEvent(event)
|
549
|
+
|
550
|
+
# Continue with tool-specific behavior
|
547
551
|
scene_pos = self.annotation_window.mapToScene(event.pos())
|
548
552
|
self.hover_pos = scene_pos
|
549
553
|
|
@@ -455,6 +455,10 @@ class SeeAnythingTool(Tool):
|
|
455
455
|
Args:
|
456
456
|
event (QMouseEvent): The mouse move event.
|
457
457
|
"""
|
458
|
+
# Call parent implementation to handle crosshair
|
459
|
+
super().mouseMoveEvent(event)
|
460
|
+
|
461
|
+
# Continue with tool-specific behavior
|
458
462
|
scene_pos = self.annotation_window.mapToScene(event.pos())
|
459
463
|
self.hover_pos = scene_pos
|
460
464
|
|
coralnet_toolbox/Tools/QtTool.py
CHANGED
@@ -1,7 +1,8 @@
|
|
1
1
|
import warnings
|
2
2
|
|
3
3
|
from PyQt5.QtCore import Qt, QPointF
|
4
|
-
from PyQt5.QtGui import QMouseEvent
|
4
|
+
from PyQt5.QtGui import QMouseEvent, QColor
|
5
|
+
from PyQt5.QtWidgets import QGraphicsPixmapItem
|
5
6
|
|
6
7
|
warnings.filterwarnings("ignore", category=DeprecationWarning)
|
7
8
|
|
@@ -21,6 +22,11 @@ class Tool:
|
|
21
22
|
self.cursor = Qt.ArrowCursor
|
22
23
|
self.default_cursor = Qt.ArrowCursor
|
23
24
|
self.cursor_annotation = None
|
25
|
+
|
26
|
+
# Crosshair settings
|
27
|
+
self.show_crosshair = True # Flag to toggle crosshair visibility for this tool
|
28
|
+
self.h_crosshair_line = None
|
29
|
+
self.v_crosshair_line = None
|
24
30
|
|
25
31
|
def activate(self):
|
26
32
|
self.active = True
|
@@ -30,12 +36,26 @@ class Tool:
|
|
30
36
|
self.active = False
|
31
37
|
self.annotation_window.setCursor(self.default_cursor)
|
32
38
|
self.clear_cursor_annotation()
|
39
|
+
self.clear_crosshair() # Clear any crosshair when tool is deactivated
|
33
40
|
|
34
41
|
def mousePressEvent(self, event: QMouseEvent):
|
35
42
|
pass
|
36
43
|
|
37
44
|
def mouseMoveEvent(self, event: QMouseEvent):
|
38
|
-
|
45
|
+
"""
|
46
|
+
Base implementation of mouseMoveEvent that handles crosshair display.
|
47
|
+
Child classes should call super().mouseMoveEvent(event) in their implementation.
|
48
|
+
"""
|
49
|
+
# Handle crosshair display
|
50
|
+
scene_pos = self.annotation_window.mapToScene(event.pos())
|
51
|
+
cursor_in_window = self.annotation_window.cursorInWindow(event.pos())
|
52
|
+
|
53
|
+
if (cursor_in_window and self.active and
|
54
|
+
self.annotation_window.selected_label and
|
55
|
+
self.show_crosshair):
|
56
|
+
self.update_crosshair(scene_pos)
|
57
|
+
else:
|
58
|
+
self.clear_crosshair()
|
39
59
|
|
40
60
|
def mouseReleaseEvent(self, event: QMouseEvent):
|
41
61
|
pass
|
@@ -77,4 +97,60 @@ class Tool:
|
|
77
97
|
"""
|
78
98
|
if self.cursor_annotation:
|
79
99
|
self.cursor_annotation.delete()
|
80
|
-
self.cursor_annotation = None
|
100
|
+
self.cursor_annotation = None
|
101
|
+
|
102
|
+
def draw_crosshair(self, scene_pos):
|
103
|
+
"""
|
104
|
+
Draw crosshair guides at the current cursor position.
|
105
|
+
|
106
|
+
Args:
|
107
|
+
scene_pos: Position in scene coordinates where to draw the crosshair
|
108
|
+
"""
|
109
|
+
# Only draw if we have an active image and scene position
|
110
|
+
if (
|
111
|
+
not self.show_crosshair
|
112
|
+
or not self.annotation_window.active_image
|
113
|
+
or not scene_pos
|
114
|
+
or not self.annotation_window.pixmap_image
|
115
|
+
):
|
116
|
+
return
|
117
|
+
|
118
|
+
# Remove any existing crosshair lines
|
119
|
+
self.clear_crosshair()
|
120
|
+
|
121
|
+
# Get image bounds
|
122
|
+
image_rect = QGraphicsPixmapItem(self.annotation_window.pixmap_image).boundingRect()
|
123
|
+
|
124
|
+
# Create horizontal line across the full width of the image
|
125
|
+
self.h_crosshair_line = self.graphics_utility.create_guide_line(
|
126
|
+
QPointF(image_rect.left(), scene_pos.y()),
|
127
|
+
QPointF(image_rect.right(), scene_pos.y())
|
128
|
+
)
|
129
|
+
self.annotation_window.scene.addItem(self.h_crosshair_line)
|
130
|
+
|
131
|
+
# Create vertical line across the full height of the image
|
132
|
+
self.v_crosshair_line = self.graphics_utility.create_guide_line(
|
133
|
+
QPointF(scene_pos.x(), image_rect.top()),
|
134
|
+
QPointF(scene_pos.x(), image_rect.bottom())
|
135
|
+
)
|
136
|
+
self.annotation_window.scene.addItem(self.v_crosshair_line)
|
137
|
+
|
138
|
+
def clear_crosshair(self):
|
139
|
+
"""Remove any crosshair guide lines from the scene."""
|
140
|
+
if self.h_crosshair_line and self.h_crosshair_line.scene():
|
141
|
+
self.annotation_window.scene.removeItem(self.h_crosshair_line)
|
142
|
+
self.h_crosshair_line = None
|
143
|
+
if self.v_crosshair_line and self.v_crosshair_line.scene():
|
144
|
+
self.annotation_window.scene.removeItem(self.v_crosshair_line)
|
145
|
+
self.v_crosshair_line = None
|
146
|
+
|
147
|
+
def update_crosshair(self, scene_pos):
|
148
|
+
"""
|
149
|
+
Update the crosshair position. This is a convenience method that
|
150
|
+
clears and redraws the crosshair.
|
151
|
+
|
152
|
+
Args:
|
153
|
+
scene_pos: New position for the crosshair
|
154
|
+
"""
|
155
|
+
self.clear_crosshair()
|
156
|
+
self.draw_crosshair(scene_pos)
|
@@ -103,6 +103,10 @@ class WorkAreaTool(Tool):
|
|
103
103
|
|
104
104
|
def mouseMoveEvent(self, event: QMouseEvent):
|
105
105
|
"""Handle mouse move events to update the work area while drawing."""
|
106
|
+
# Call parent implementation to handle crosshair
|
107
|
+
super().mouseMoveEvent(event)
|
108
|
+
|
109
|
+
# Continue with tool-specific behavior
|
106
110
|
scene_pos = self.annotation_window.mapToScene(event.pos())
|
107
111
|
self.hover_pos = scene_pos # Track hover position for spacebar confirmation
|
108
112
|
|
@@ -98,7 +98,8 @@ class QtBaseModel(DetectionBaseModel, ABC):
|
|
98
98
|
confidence: Detection confidence threshold.
|
99
99
|
|
100
100
|
Returns:
|
101
|
-
A
|
101
|
+
A list containing a single combined Ultralytics Results object with detections from all input images.
|
102
|
+
Returns an empty list if no detections are found in any image.
|
102
103
|
"""
|
103
104
|
# Step 1: Normalize the input into a consistent list of images
|
104
105
|
normalized_inputs = self._normalize_input(inputs)
|
coralnet_toolbox/__init__.py
CHANGED
@@ -1,14 +1,14 @@
|
|
1
|
-
coralnet_toolbox/QtAnnotationWindow.py,sha256=
|
1
|
+
coralnet_toolbox/QtAnnotationWindow.py,sha256=Y_8jQVEWGp5cbTg7FWlSM75nn71BezAW3I_Y0KNN1v4,41132
|
2
2
|
coralnet_toolbox/QtConfidenceWindow.py,sha256=L5hR23uW91GpqnsNS9R1XF3zCTe2aU7w0iDoQMV0oyE,16190
|
3
|
-
coralnet_toolbox/QtEventFilter.py,sha256=
|
4
|
-
coralnet_toolbox/QtImageWindow.py,sha256=
|
3
|
+
coralnet_toolbox/QtEventFilter.py,sha256=6JQ6HzWhSeOvV6VVdn18eI-DmtglpRdit1N9NtCfqZk,7712
|
4
|
+
coralnet_toolbox/QtImageWindow.py,sha256=PofY9-7_r90J5X9A5yQK0RjPI_U6AAJJfnQwxUwZLWk,51463
|
5
5
|
coralnet_toolbox/QtLabelWindow.py,sha256=O-mLtE6ycuuGloYYZX0Z9JYZtsBMmspqNeJWslrjfFc,51419
|
6
6
|
coralnet_toolbox/QtMainWindow.py,sha256=4Znd0fezebQ-cWOKHjHTPVfj_DPH45A7tnUfxUEiqOQ,123615
|
7
7
|
coralnet_toolbox/QtPatchSampling.py,sha256=Ehj06auBGfQwIruLNYQjF8eFOCpl8G72p42UXXb2mUo,29013
|
8
8
|
coralnet_toolbox/QtProgressBar.py,sha256=L9V1dD9NQ5K-IK2NhJtESoieWGd1ULLsACEXuUDE4Ck,7922
|
9
9
|
coralnet_toolbox/QtSystemMonitor.py,sha256=KSsUZ11GcHPH0Q7Pl8TUsFSB_jnWzNqGmtnf7IYYXpQ,16567
|
10
10
|
coralnet_toolbox/QtWorkArea.py,sha256=YXRvHQKpWUtWyv_o9lZ8rmxfm28dUOG9pmMUeimDhQ4,13578
|
11
|
-
coralnet_toolbox/__init__.py,sha256=
|
11
|
+
coralnet_toolbox/__init__.py,sha256=IFl5I4PdkaZp2BugeAalSkzd3crH_pMIeSWcuJi3yG0,207
|
12
12
|
coralnet_toolbox/main.py,sha256=6j2B_1reC_KDmqvq1C0fB-UeSEm8eeJOozp2f4XXMLQ,1573
|
13
13
|
coralnet_toolbox/utilities.py,sha256=Up6_z0n-8p7KccFLgBvlSnhfgX8B_mVTSmIfajpkkug,31173
|
14
14
|
coralnet_toolbox/Annotations/QtAnnotation.py,sha256=4KxqDe_WPMGK18OYHZ1NqWzV87ARv8MnLAQdHFXo-Yg,27527
|
@@ -21,7 +21,7 @@ coralnet_toolbox/Annotations/__init__.py,sha256=bpMldC70tT_lzMrOdBNDkEhG9dCX3tXE
|
|
21
21
|
coralnet_toolbox/BreakTime/QtBreakout.py,sha256=KYlhLMHF_5HVkjR8JDjbNu8CB6SHsEpECAywXqWVw10,54763
|
22
22
|
coralnet_toolbox/BreakTime/QtSnake.py,sha256=XxmV64A_1avYf1uC_fXQpOZV3kCetz3CqboQsFwSIJk,22398
|
23
23
|
coralnet_toolbox/BreakTime/__init__.py,sha256=7d_CMXp7T872NV-a6xaGU4oq5wjWAWGyrnd-YD3BDJo,150
|
24
|
-
coralnet_toolbox/Common/QtGraphicsUtility.py,sha256=
|
24
|
+
coralnet_toolbox/Common/QtGraphicsUtility.py,sha256=M53aLq2AfHdyHwjz41ecw2tE8QZ6cjSzHHdObDNSFZI,6281
|
25
25
|
coralnet_toolbox/Common/QtMarginInput.py,sha256=RBpz6q_OkZxQH7_r7Gd8U3C8TvnvPzemgfoRxL427B8,7998
|
26
26
|
coralnet_toolbox/Common/QtOverlapInput.py,sha256=O9Dvwe4YmYSmf-W5fhAhl5kOIFsLa3AIuG6cdfxwQc4,5803
|
27
27
|
coralnet_toolbox/Common/QtTileSizeInput.py,sha256=qxts1ufiG6cGFJWEa8DFB9wHV9AVw5dgE5OyLMJMHP8,3164
|
@@ -41,7 +41,7 @@ coralnet_toolbox/IO/QtExportAnnotations.py,sha256=xeaS0BukC3cpkBIGT9DXRqHmvHhp-v
|
|
41
41
|
coralnet_toolbox/IO/QtExportCoralNetAnnotations.py,sha256=4royhF63EmeOlSIBX389EUjjvE-SF44_maW6qm52mdA,2778
|
42
42
|
coralnet_toolbox/IO/QtExportGeoJSONAnnotations.py,sha256=9HkHjQTRtH4VnYa50c5pyqQz30R_6gIH5i3xFF6kDWI,27759
|
43
43
|
coralnet_toolbox/IO/QtExportLabels.py,sha256=Vsav0wd1EK4g065aEWvxyNuvvM9BFB7UXxz6IJzwVBU,2588
|
44
|
-
coralnet_toolbox/IO/QtExportMaskAnnotations.py,sha256=
|
44
|
+
coralnet_toolbox/IO/QtExportMaskAnnotations.py,sha256=0nWAMdgDq_joI7aCpBIg4isi0sZ3HlLiE7IxiOgh2Wc,34213
|
45
45
|
coralnet_toolbox/IO/QtExportTagLabAnnotations.py,sha256=JL4r1a6_PUjCzWQjMxOzxtkF2gyqIttpD14OxEcW-dA,11330
|
46
46
|
coralnet_toolbox/IO/QtExportTagLabLabels.py,sha256=e6OL8UNtLRAJrovfs1cxVz0k2bHuJXdVmO-A0OVpgSk,3164
|
47
47
|
coralnet_toolbox/IO/QtExportViscoreAnnotations.py,sha256=AUTzVB-N9uwlQPSds74YXyPVZzEHph7HDq01R88OBJY,19166
|
@@ -49,12 +49,12 @@ coralnet_toolbox/IO/QtImportAnnotations.py,sha256=LYFmlsANRTdQqcQsIXfbWiTGNJcaeI
|
|
49
49
|
coralnet_toolbox/IO/QtImportCoralNetAnnotations.py,sha256=N6wQV48r2cs3_KkuxdM0MUQkgTMwv9iT9qAmLGpyCMk,9917
|
50
50
|
coralnet_toolbox/IO/QtImportCoralNetLabels.py,sha256=FKOawTboEEAC7M8KbyEtX7fXOoFKpU51EKNjWXb1DHk,4019
|
51
51
|
coralnet_toolbox/IO/QtImportFrames.py,sha256=7azCV-0dYTeySeXvlcawzwxswXNzxHU3u3nnaA0VoWs,45774
|
52
|
-
coralnet_toolbox/IO/QtImportImages.py,sha256=
|
52
|
+
coralnet_toolbox/IO/QtImportImages.py,sha256=KXl-Tlt_nSNZmhe63fHHkn2WlB15QQP-CXDD7sP6wKo,3911
|
53
53
|
coralnet_toolbox/IO/QtImportLabels.py,sha256=_xzm-TDoFVgAbjdBwvOscVskPcLN_z054P5IkT73ohU,3291
|
54
54
|
coralnet_toolbox/IO/QtImportTagLabAnnotations.py,sha256=AH970q5HYiBLfud8NHxxcfm58pyOX5qwic3x4bF5GlQ,12781
|
55
55
|
coralnet_toolbox/IO/QtImportTagLabLabels.py,sha256=cCqFBOrAlnbiOL0xFY8G_FSTmeVsnYWh-bmVE-rfg0k,3927
|
56
56
|
coralnet_toolbox/IO/QtImportViscoreAnnotations.py,sha256=TYlDzCLMXizoHFRiaofNdE-t9Cr7sJGj5NFsVUi6cjU,11871
|
57
|
-
coralnet_toolbox/IO/QtOpenProject.py,sha256=
|
57
|
+
coralnet_toolbox/IO/QtOpenProject.py,sha256=LVgT2t38MQ4GA4u2mAppTzFJiB3Pz1mynvOv161Q7lQ,14846
|
58
58
|
coralnet_toolbox/IO/QtSaveProject.py,sha256=g7Uydya1Rcvh6GX3NfpQUgyZzs0wUDq1sJnmihx-8cM,10441
|
59
59
|
coralnet_toolbox/IO/__init__.py,sha256=M3KH90zIoOVoPu1nDS-gvoVV3O24S_KM-4CvxXR-nfw,1538
|
60
60
|
coralnet_toolbox/Icons/1.png,sha256=Ygcz3idjoa-RNaPXQXbHfw853DhnpD6iBa3nNFVimJ4,180
|
@@ -137,7 +137,7 @@ coralnet_toolbox/MachineLearning/ExportDataset/QtClassify.py,sha256=5LB8m2zJ24hj
|
|
137
137
|
coralnet_toolbox/MachineLearning/ExportDataset/QtDetect.py,sha256=ptZ0rUoZ1Tc0RGjKuXU15ZTM87m3gO8vLu6I7w5PVgs,6669
|
138
138
|
coralnet_toolbox/MachineLearning/ExportDataset/QtSegment.py,sha256=7sDczfciPPbGgMdb6D9pZn27DHs_Spg1bd-bc9_hI7Y,6696
|
139
139
|
coralnet_toolbox/MachineLearning/ExportDataset/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
140
|
-
coralnet_toolbox/MachineLearning/ImportDataset/QtBase.py,sha256=
|
140
|
+
coralnet_toolbox/MachineLearning/ImportDataset/QtBase.py,sha256=hP-HZwYGV2q6cKYtRZb9_tuHxvYynaaNuvNy9JWGTEg,30600
|
141
141
|
coralnet_toolbox/MachineLearning/ImportDataset/QtDetect.py,sha256=1YQFAgfuPUUZ18fXbvs4GP9Mrp_-9kfeDdmJHEA5e7I,1121
|
142
142
|
coralnet_toolbox/MachineLearning/ImportDataset/QtSegment.py,sha256=D4bef57dCQa4nJWf8cUphrUILvbfT-a34C-rgpxi814,1163
|
143
143
|
coralnet_toolbox/MachineLearning/ImportDataset/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
@@ -173,7 +173,7 @@ coralnet_toolbox/MachineLearning/VideoInference/YOLO3D/load_camera_params.py,sha
|
|
173
173
|
coralnet_toolbox/MachineLearning/VideoInference/YOLO3D/run.py,sha256=eOXf7o9M9OB4T1BpvqBe3cx00VVTscw-YCCCHOOI2X8,26912
|
174
174
|
coralnet_toolbox/Rasters/ImageFilter.py,sha256=EhH1YoVjC29ER4qU4t9xwybeX9E012fLq04iPFfbaz4,7928
|
175
175
|
coralnet_toolbox/Rasters/QtRaster.py,sha256=qWqhKiZbBnv0JnCQvPXx6fQYENgSA7sp3vBUj4fdnhA,18435
|
176
|
-
coralnet_toolbox/Rasters/RasterManager.py,sha256=
|
176
|
+
coralnet_toolbox/Rasters/RasterManager.py,sha256=FH0d7Hj_E6sR2Eesd8sA8AA1Dlqteut9UyNd6WdrCBo,6622
|
177
177
|
coralnet_toolbox/Rasters/RasterTableModel.py,sha256=8ebirBkTUSy5Rdsoq10sqzDQBoYCH_Hu40dPiUhtlzc,15311
|
178
178
|
coralnet_toolbox/Rasters/__init__.py,sha256=Pi88uDQbtWxwHfJFdlsvbkwGNhtlyM_013l8bbJlFfw,428
|
179
179
|
coralnet_toolbox/Results/CombineResults.py,sha256=QrHyKhMrjNDtQ98PQabUflHhyv_8KXTGqU30tw9amV8,4523
|
@@ -187,7 +187,7 @@ coralnet_toolbox/SAM/QtDeployGenerator.py,sha256=UtJH1ZQ9g_Wqa4s09PBMCrmNRpqUZZa
|
|
187
187
|
coralnet_toolbox/SAM/QtDeployPredictor.py,sha256=7jOFFnNqY7Ylr1IKjTI_YSrPYgCxHpI4ZBda7Kp806g,24413
|
188
188
|
coralnet_toolbox/SAM/__init__.py,sha256=Zxd75pFMrt5DfSmNNVSsQeCucIQ2rVaEiS0hT_OVIMM,293
|
189
189
|
coralnet_toolbox/SeeAnything/QtBatchInference.py,sha256=k3aftVzva84yATB4Su5DSI0lhkHDggUg3mVAx4AHmjw,7134
|
190
|
-
coralnet_toolbox/SeeAnything/QtDeployGenerator.py,sha256=
|
190
|
+
coralnet_toolbox/SeeAnything/QtDeployGenerator.py,sha256=oF01_J46xm1kGLhT7wtMI9BurzhSsucXs7nsW3917xM,76953
|
191
191
|
coralnet_toolbox/SeeAnything/QtDeployPredictor.py,sha256=sfaaJoDFM2ntdqD0CXsTSHRZIuCRfviVg4vqhG0sGdI,26804
|
192
192
|
coralnet_toolbox/SeeAnything/QtTrainModel.py,sha256=dQ6ZkeIr1migU-edGO-gQMENVP4o7WJsIANlSVhFK8k,28031
|
193
193
|
coralnet_toolbox/SeeAnything/__init__.py,sha256=4OgG9-aQ6_RZ942-Ift_q-kkp14kObMT4lDIIx9YSxQ,366
|
@@ -202,18 +202,18 @@ coralnet_toolbox/Tile/TileDataset/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeR
|
|
202
202
|
coralnet_toolbox/Tools/QtCutSubTool.py,sha256=3mO8VLrS_sKuEukGQljF_gX8PMdf1za-dxudB6lyCGI,6456
|
203
203
|
coralnet_toolbox/Tools/QtMoveSubTool.py,sha256=K5uXEGGl8nwKvGI0DBGZ8ILZsxWf22HVSfyLr0hKhuE,2165
|
204
204
|
coralnet_toolbox/Tools/QtPanTool.py,sha256=q0g5Ryse6mIZ_Ss4qJw5NNwgoLuQQBIyQTXNFL643-s,3062
|
205
|
-
coralnet_toolbox/Tools/QtPatchTool.py,sha256
|
206
|
-
coralnet_toolbox/Tools/QtPolygonTool.py,sha256=
|
207
|
-
coralnet_toolbox/Tools/QtRectangleTool.py,sha256=
|
205
|
+
coralnet_toolbox/Tools/QtPatchTool.py,sha256=-kmuJeGoua8EW5tHzSP4LvzTbPajAYTMOfdSi7oxK84,5742
|
206
|
+
coralnet_toolbox/Tools/QtPolygonTool.py,sha256=P1Csvzu-gAreVRyI0YCB5jNLUK7sPcLY7teX2P9E3Gw,11282
|
207
|
+
coralnet_toolbox/Tools/QtRectangleTool.py,sha256=TduGaouBgphStyr1-gA0RqY6erTZs-qUA5FIr1qaXkQ,8969
|
208
208
|
coralnet_toolbox/Tools/QtResizeSubTool.py,sha256=cWJDx8PEtxoCLQKuyEyZ6ccBzFKau9j1djrSSpDgaq8,6524
|
209
|
-
coralnet_toolbox/Tools/QtSAMTool.py,sha256=
|
210
|
-
coralnet_toolbox/Tools/QtSeeAnythingTool.py,sha256=
|
209
|
+
coralnet_toolbox/Tools/QtSAMTool.py,sha256=fEEif1uah5DxNxS3oCIll4OiGgLETY87ue852MIekIk,36680
|
210
|
+
coralnet_toolbox/Tools/QtSeeAnythingTool.py,sha256=qo8IT8tOs_k7ck2xgMrL_Edc6otv_kQbhdo3yWs65aE,38666
|
211
211
|
coralnet_toolbox/Tools/QtSelectSubTool.py,sha256=_FIjLhnEVY19Q87jhRKXGdghNfMBxxy_sECAIUo0BZA,3294
|
212
212
|
coralnet_toolbox/Tools/QtSelectTool.py,sha256=qAXRIGmjdzWjaH6GwhvlQSodZuFa6OnyckzNVfVDG2w,20983
|
213
213
|
coralnet_toolbox/Tools/QtSubTool.py,sha256=H25FoFqywdi6Bl35MfpEXGrr48ZTgdRRvHMxUy1tqN4,1601
|
214
214
|
coralnet_toolbox/Tools/QtSubtractSubTool.py,sha256=u9zbkila7hJ_AEhWRM6e_z0OgGs5xqO5zbqVetvCAEU,2682
|
215
|
-
coralnet_toolbox/Tools/QtTool.py,sha256=
|
216
|
-
coralnet_toolbox/Tools/QtWorkAreaTool.py,sha256=
|
215
|
+
coralnet_toolbox/Tools/QtTool.py,sha256=Nvf8pqdanf3QMVEvSilFhijXIuj-18jUuVz-tlTuNgY,5677
|
216
|
+
coralnet_toolbox/Tools/QtWorkAreaTool.py,sha256=uncOi2vWanPxrxXQimuAR0wqokHWlsm4VhzV1wC6Q9s,22884
|
217
217
|
coralnet_toolbox/Tools/QtZoomTool.py,sha256=F9CAoABv1jxcUS7dyIh1FYjgjOXYRI1xtBPNIR1g62o,4041
|
218
218
|
coralnet_toolbox/Tools/__init__.py,sha256=UYStZw1eA_yJ07IVli1MYSvk0pSCs1aS169LcQo630s,867
|
219
219
|
coralnet_toolbox/Transformers/QtBatchInference.py,sha256=Adry1H-oIMV6Ppo8yRJRx79oeG1yUthT5jqszj7EJ20,5764
|
@@ -222,11 +222,11 @@ coralnet_toolbox/Transformers/__init__.py,sha256=Oef7mKgwlK_hi5ZtXlRTvpyKhf98JPw
|
|
222
222
|
coralnet_toolbox/Transformers/Models/GroundingDINO.py,sha256=V77tapTLsXtTISbqsV9ZSGYgkJQTI1RKsT95QagYhqk,2747
|
223
223
|
coralnet_toolbox/Transformers/Models/OWLViT.py,sha256=l9R9XKN7grw6gF7EC9DWxF5sUsApLfi0WO-zj6pVVHU,2781
|
224
224
|
coralnet_toolbox/Transformers/Models/OmDetTurbo.py,sha256=vaXaQNqBCvnEFcPMt6x_EJI-gf-Wy3eYZPak7a527WY,2592
|
225
|
-
coralnet_toolbox/Transformers/Models/QtBase.py,sha256=
|
225
|
+
coralnet_toolbox/Transformers/Models/QtBase.py,sha256=nB9a4ZZqo2H4NW-uiPPpZPapSChlEcviq-uw_lxWBUg,4640
|
226
226
|
coralnet_toolbox/Transformers/Models/__init__.py,sha256=icJnQkt2vZksubEJuih0sT0q2vLR_Y-12WuTGquvxt8,260
|
227
|
-
coralnet_toolbox-0.0.
|
228
|
-
coralnet_toolbox-0.0.
|
229
|
-
coralnet_toolbox-0.0.
|
230
|
-
coralnet_toolbox-0.0.
|
231
|
-
coralnet_toolbox-0.0.
|
232
|
-
coralnet_toolbox-0.0.
|
227
|
+
coralnet_toolbox-0.0.77.dist-info/licenses/LICENSE.txt,sha256=AURacZ_G_PZKqqPQ9VB9Sqegblk67RNgWSGAYKwXXMY,521
|
228
|
+
coralnet_toolbox-0.0.77.dist-info/METADATA,sha256=iwt0mxJ10RqbsFrHIrnkIrVYUlGLPUOTNMfPIScR-5Q,15381
|
229
|
+
coralnet_toolbox-0.0.77.dist-info/WHEEL,sha256=JNWh1Fm1UdwIQV075glCn4MVuCRs0sotJIq-J6rbxCU,109
|
230
|
+
coralnet_toolbox-0.0.77.dist-info/entry_points.txt,sha256=oEeMoDlJ_2lq95quOeDHIx9hZpubUlSo80OLtgbcrbM,63
|
231
|
+
coralnet_toolbox-0.0.77.dist-info/top_level.txt,sha256=SMWPh4_9JfB8zVpPOOvjucV2_B_hvWW7bNWmMjG0LsY,17
|
232
|
+
coralnet_toolbox-0.0.77.dist-info/RECORD,,
|
File without changes
|
File without changes
|
{coralnet_toolbox-0.0.76.dist-info → coralnet_toolbox-0.0.77.dist-info}/licenses/LICENSE.txt
RENAMED
File without changes
|
File without changes
|