coralnet-toolbox 0.0.66__py2.py3-none-any.whl → 0.0.67__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/Annotations/QtMultiPolygonAnnotation.py +1 -1
- coralnet_toolbox/Annotations/QtPatchAnnotation.py +1 -1
- coralnet_toolbox/Annotations/QtPolygonAnnotation.py +1 -1
- coralnet_toolbox/Annotations/QtRectangleAnnotation.py +1 -1
- coralnet_toolbox/AutoDistill/QtDeployModel.py +4 -0
- coralnet_toolbox/Explorer/QtAnnotationDataItem.py +97 -0
- coralnet_toolbox/Explorer/QtAnnotationImageWidget.py +183 -0
- coralnet_toolbox/Explorer/QtEmbeddingPointItem.py +30 -0
- coralnet_toolbox/Explorer/QtExplorer.py +2067 -0
- coralnet_toolbox/Explorer/QtSettingsWidgets.py +490 -0
- coralnet_toolbox/Explorer/__init__.py +7 -0
- coralnet_toolbox/IO/QtImportViscoreAnnotations.py +2 -4
- coralnet_toolbox/IO/QtOpenProject.py +2 -1
- coralnet_toolbox/Icons/magic.png +0 -0
- coralnet_toolbox/MachineLearning/DeployModel/QtDetect.py +4 -0
- coralnet_toolbox/MachineLearning/DeployModel/QtSegment.py +4 -0
- coralnet_toolbox/MachineLearning/TrainModel/QtClassify.py +1 -1
- coralnet_toolbox/QtConfidenceWindow.py +2 -23
- coralnet_toolbox/QtEventFilter.py +2 -2
- coralnet_toolbox/QtLabelWindow.py +23 -8
- coralnet_toolbox/QtMainWindow.py +81 -2
- coralnet_toolbox/QtProgressBar.py +12 -0
- coralnet_toolbox/SAM/QtDeployGenerator.py +4 -0
- coralnet_toolbox/__init__.py +1 -1
- coralnet_toolbox/utilities.py +24 -0
- {coralnet_toolbox-0.0.66.dist-info → coralnet_toolbox-0.0.67.dist-info}/METADATA +2 -1
- {coralnet_toolbox-0.0.66.dist-info → coralnet_toolbox-0.0.67.dist-info}/RECORD +31 -24
- {coralnet_toolbox-0.0.66.dist-info → coralnet_toolbox-0.0.67.dist-info}/WHEEL +0 -0
- {coralnet_toolbox-0.0.66.dist-info → coralnet_toolbox-0.0.67.dist-info}/entry_points.txt +0 -0
- {coralnet_toolbox-0.0.66.dist-info → coralnet_toolbox-0.0.67.dist-info}/licenses/LICENSE.txt +0 -0
- {coralnet_toolbox-0.0.66.dist-info → coralnet_toolbox-0.0.67.dist-info}/top_level.txt +0 -0
coralnet_toolbox/QtMainWindow.py
CHANGED
@@ -22,6 +22,8 @@ from coralnet_toolbox.QtConfidenceWindow import ConfidenceWindow
|
|
22
22
|
from coralnet_toolbox.QtImageWindow import ImageWindow
|
23
23
|
from coralnet_toolbox.QtLabelWindow import LabelWindow
|
24
24
|
|
25
|
+
from coralnet_toolbox.Explorer import ExplorerWindow
|
26
|
+
|
25
27
|
from coralnet_toolbox.QtPatchSampling import PatchSamplingDialog
|
26
28
|
|
27
29
|
from coralnet_toolbox.Tile import (
|
@@ -185,6 +187,8 @@ class MainWindow(QMainWindow):
|
|
185
187
|
self.image_window = ImageWindow(self)
|
186
188
|
self.label_window = LabelWindow(self)
|
187
189
|
self.confidence_window = ConfidenceWindow(self)
|
190
|
+
|
191
|
+
self.explorer_window = None # Initialized in open_explorer_window
|
188
192
|
|
189
193
|
# TODO update IO classes to have dialogs
|
190
194
|
# Create dialogs (I/O)
|
@@ -438,11 +442,18 @@ class MainWindow(QMainWindow):
|
|
438
442
|
self.save_project_action.triggered.connect(self.open_save_project_dialog)
|
439
443
|
self.file_menu.addAction(self.save_project_action)
|
440
444
|
|
445
|
+
# Explorer menu
|
446
|
+
self.explorer_menu = self.menu_bar.addMenu("Explorer")
|
447
|
+
# Open Explorer
|
448
|
+
self.open_explorer_action = QAction("Open Explorer", self)
|
449
|
+
self.open_explorer_action.triggered.connect(self.open_explorer_window)
|
450
|
+
self.explorer_menu.addAction(self.open_explorer_action)
|
451
|
+
|
441
452
|
# Sampling Annotations menu
|
442
453
|
self.annotation_sampling_action = QAction("Sample", self)
|
443
454
|
self.annotation_sampling_action.triggered.connect(self.open_patch_annotation_sampling_dialog)
|
444
455
|
self.menu_bar.addAction(self.annotation_sampling_action)
|
445
|
-
|
456
|
+
|
446
457
|
# Tile menu
|
447
458
|
self.tile_menu = self.menu_bar.addMenu("Tile")
|
448
459
|
|
@@ -471,6 +482,7 @@ class MainWindow(QMainWindow):
|
|
471
482
|
|
472
483
|
# CoralNet menu
|
473
484
|
self.coralnet_menu = self.menu_bar.addMenu("CoralNet")
|
485
|
+
|
474
486
|
# CoralNet Authenticate
|
475
487
|
self.coralnet_authenticate_action = QAction("Authenticate", self)
|
476
488
|
self.coralnet_authenticate_action.triggered.connect(self.open_coralnet_authenticate_dialog)
|
@@ -952,6 +964,15 @@ class MainWindow(QMainWindow):
|
|
952
964
|
super().showEvent(event)
|
953
965
|
self.showMaximized()
|
954
966
|
|
967
|
+
def closeEvent(self, event):
|
968
|
+
"""Ensure the explorer window is closed when the main window closes."""
|
969
|
+
if self.explorer_window:
|
970
|
+
# Setting parent to None prevents it from being deleted with main window
|
971
|
+
# before it can be properly handled.
|
972
|
+
self.explorer_window.setParent(None)
|
973
|
+
self.explorer_window.close()
|
974
|
+
super().closeEvent(event)
|
975
|
+
|
955
976
|
def changeEvent(self, event):
|
956
977
|
"""Handle window state changes (minimize, maximize, restore)."""
|
957
978
|
super().changeEvent(event)
|
@@ -1594,8 +1615,66 @@ class MainWindow(QMainWindow):
|
|
1594
1615
|
self.export_mask_annotations_dialog.exec_()
|
1595
1616
|
except Exception as e:
|
1596
1617
|
QMessageBox.critical(self, "Critical Error", f"{e}")
|
1618
|
+
|
1619
|
+
def open_explorer_window(self):
|
1620
|
+
"""Open the Explorer window, moving the LabelWindow into it."""
|
1621
|
+
# Check if there are any images in the project
|
1622
|
+
if not self.image_window.raster_manager.image_paths:
|
1623
|
+
QMessageBox.warning(self,
|
1624
|
+
"No Images Loaded",
|
1625
|
+
"Please load images into the project before opening Explorer.")
|
1626
|
+
return
|
1627
|
+
|
1628
|
+
# Check if there are any annotations
|
1629
|
+
if not self.annotation_window.annotations_dict:
|
1630
|
+
QMessageBox.warning(self,
|
1631
|
+
"Explorer",
|
1632
|
+
"No annotations are present in the project.")
|
1633
|
+
return
|
1634
|
+
|
1635
|
+
try:
|
1636
|
+
self.untoggle_all_tools()
|
1637
|
+
# Recreate the explorer window, passing the main window instance
|
1638
|
+
self.explorer_window = ExplorerWindow(self)
|
1639
|
+
|
1640
|
+
# Move the label_window from the main layout to the explorer
|
1641
|
+
# The ExplorerWindow's __init__ will handle adding it to its own layout.
|
1642
|
+
self.left_layout.removeWidget(self.label_window)
|
1643
|
+
self.label_window.setParent(self.explorer_window.left_panel) # Re-parent
|
1644
|
+
self.explorer_window.left_layout.insertWidget(1, self.label_window) # Add to explorer layout
|
1645
|
+
|
1646
|
+
# Make the explorer window modal to block interaction with main window
|
1647
|
+
self.explorer_window.setWindowModality(Qt.ApplicationModal)
|
1648
|
+
# Disable the main window explicitly
|
1649
|
+
self.setEnabled(False)
|
1650
|
+
|
1651
|
+
self.explorer_window.showMaximized()
|
1652
|
+
self.explorer_window.activateWindow()
|
1653
|
+
self.explorer_window.raise_()
|
1654
|
+
except Exception as e:
|
1655
|
+
QMessageBox.critical(self, "Critical Error", f"{e}")
|
1656
|
+
if self.explorer_window:
|
1657
|
+
self.explorer_window.close() # Ensure cleanup
|
1658
|
+
self.explorer_window = None
|
1659
|
+
|
1660
|
+
def explorer_closed(self):
|
1661
|
+
"""Handle the explorer window being closed."""
|
1662
|
+
if self.explorer_window:
|
1663
|
+
# Move the label_window back to the main window's layout
|
1664
|
+
self.label_window.setParent(self.central_widget) # Re-parent back
|
1665
|
+
self.left_layout.addWidget(self.label_window, 15) # Add it back to the layout
|
1666
|
+
self.label_window.show()
|
1667
|
+
self.label_window.resizeEvent(None)
|
1668
|
+
self.resizeEvent(None)
|
1669
|
+
|
1670
|
+
# Re-enable the main window
|
1671
|
+
self.setEnabled(True)
|
1672
|
+
|
1673
|
+
# Clean up reference
|
1674
|
+
self.explorer_window = None
|
1597
1675
|
|
1598
1676
|
def open_patch_annotation_sampling_dialog(self):
|
1677
|
+
"""Open the Patch Annotation Sampling dialog to sample annotations from images"""
|
1599
1678
|
# Check if there are any images in the project
|
1600
1679
|
if not self.image_window.raster_manager.image_paths:
|
1601
1680
|
QMessageBox.warning(self,
|
@@ -2312,4 +2391,4 @@ class ClickableAction(QAction):
|
|
2312
2391
|
def mousePressEvent(self, event: QMouseEvent):
|
2313
2392
|
if event.button() == Qt.LeftButton:
|
2314
2393
|
self.trigger()
|
2315
|
-
super().mousePressEvent(event)
|
2394
|
+
super().mousePressEvent(event)
|
@@ -69,6 +69,18 @@ class ProgressBar(QDialog):
|
|
69
69
|
self.canceled = False
|
70
70
|
self.progress_bar.setValue(0)
|
71
71
|
QApplication.processEvents()
|
72
|
+
|
73
|
+
def set_busy_mode(self, busy_text="Processing..."):
|
74
|
+
"""
|
75
|
+
Sets the progress bar to an indeterminate "busy" state for tasks
|
76
|
+
of unknown duration.
|
77
|
+
"""
|
78
|
+
# Update the title to reflect the current task
|
79
|
+
self.set_title(busy_text)
|
80
|
+
|
81
|
+
# Setting the min and max to 0 enables the busy/indeterminate mode
|
82
|
+
self.progress_bar.setRange(0, 0)
|
83
|
+
QApplication.processEvents()
|
72
84
|
|
73
85
|
def start_progress(self, max_value):
|
74
86
|
"""
|
@@ -564,6 +564,10 @@ class DeployGeneratorDialog(QDialog):
|
|
564
564
|
self.update_sam_task_state()
|
565
565
|
if self.task != 'segment':
|
566
566
|
return results_list
|
567
|
+
|
568
|
+
if not self.sam_dialog or self.use_sam_dropdown.currentText() == "False":
|
569
|
+
# If SAM is not deployed or not selected, return the results as is
|
570
|
+
return results_list
|
567
571
|
|
568
572
|
if self.sam_dialog.loaded_model is None:
|
569
573
|
# If SAM is not loaded, ensure we do not use it accidentally
|
coralnet_toolbox/__init__.py
CHANGED
coralnet_toolbox/utilities.py
CHANGED
@@ -18,6 +18,7 @@ from rasterio.windows import Window
|
|
18
18
|
from shapely.validation import make_valid
|
19
19
|
from shapely.geometry import Polygon, MultiPolygon, LineString, GeometryCollection
|
20
20
|
|
21
|
+
from PyQt5.QtCore import Qt
|
21
22
|
from PyQt5.QtGui import QImage
|
22
23
|
from PyQt5.QtWidgets import QMessageBox, QApplication, QPushButton
|
23
24
|
|
@@ -518,6 +519,29 @@ def pixmap_to_numpy(pixmap):
|
|
518
519
|
return numpy_array
|
519
520
|
|
520
521
|
|
522
|
+
def scale_pixmap(pixmap, max_size):
|
523
|
+
"""Scale pixmap and graphic if they exceed max dimension while preserving aspect ratio"""
|
524
|
+
width = pixmap.width()
|
525
|
+
height = pixmap.height()
|
526
|
+
|
527
|
+
# Check if scaling is needed
|
528
|
+
if width <= max_size and height <= max_size:
|
529
|
+
return pixmap
|
530
|
+
|
531
|
+
# Calculate scale factor based on largest dimension
|
532
|
+
scale = max_size / max(width, height)
|
533
|
+
|
534
|
+
# Scale pixmap
|
535
|
+
scaled_pixmap = pixmap.scaled(
|
536
|
+
int(width * scale),
|
537
|
+
int(height * scale),
|
538
|
+
Qt.KeepAspectRatio,
|
539
|
+
Qt.SmoothTransformation
|
540
|
+
)
|
541
|
+
|
542
|
+
return scaled_pixmap
|
543
|
+
|
544
|
+
|
521
545
|
def attempt_download_asset(app, asset_name, asset_url):
|
522
546
|
"""
|
523
547
|
Attempt to download an asset from the given URL.
|
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.4
|
2
2
|
Name: coralnet-toolbox
|
3
|
-
Version: 0.0.
|
3
|
+
Version: 0.0.67
|
4
4
|
Summary: Tools for annotating and developing ML models for benthic imagery
|
5
5
|
Author-email: Jordan Pierce <jordan.pierce@noaa.gov>
|
6
6
|
License: MIT License
|
@@ -21,6 +21,7 @@ Requires-Dist: lap>=0.5.12
|
|
21
21
|
Requires-Dist: open-clip-torch>=2.20.0
|
22
22
|
Requires-Dist: supervision>=0.24.0
|
23
23
|
Requires-Dist: scikit-learn
|
24
|
+
Requires-Dist: umap-learn
|
24
25
|
Requires-Dist: pycocotools
|
25
26
|
Requires-Dist: ujson
|
26
27
|
Requires-Dist: timm==0.9.2
|
@@ -1,23 +1,23 @@
|
|
1
1
|
coralnet_toolbox/QtAnnotationWindow.py,sha256=ohYkvUdUAdNmZJXqKtCGnnXQ3cPtnSkFEtwH_mWnn3c,37808
|
2
|
-
coralnet_toolbox/QtConfidenceWindow.py,sha256=
|
3
|
-
coralnet_toolbox/QtEventFilter.py,sha256=
|
2
|
+
coralnet_toolbox/QtConfidenceWindow.py,sha256=L5hR23uW91GpqnsNS9R1XF3zCTe2aU7w0iDoQMV0oyE,16190
|
3
|
+
coralnet_toolbox/QtEventFilter.py,sha256=mOtprjouvjHSo7II98dtYjtQkejh9GBUU8ORqQVfj-w,6014
|
4
4
|
coralnet_toolbox/QtImageWindow.py,sha256=vLziMSEWFfVRSBN0nUNkosgk3LiNxZDqPwbinz9ZivQ,49356
|
5
|
-
coralnet_toolbox/QtLabelWindow.py,sha256=
|
6
|
-
coralnet_toolbox/QtMainWindow.py,sha256=
|
5
|
+
coralnet_toolbox/QtLabelWindow.py,sha256=ZRJilFpp6hIJohKv6L_dKdt6gnwmyNWnHVtU5IyjrEg,50326
|
6
|
+
coralnet_toolbox/QtMainWindow.py,sha256=kkd27oCLnrwQkTi_dxcPE83gJg4ZSMy7MJdPW2qJ1FE,110105
|
7
7
|
coralnet_toolbox/QtPatchSampling.py,sha256=Ehj06auBGfQwIruLNYQjF8eFOCpl8G72p42UXXb2mUo,29013
|
8
|
-
coralnet_toolbox/QtProgressBar.py,sha256=
|
8
|
+
coralnet_toolbox/QtProgressBar.py,sha256=pnozUOcVjfO_yTS9z8wOMPcrrrOtG_FeCknTcdI6eyk,6250
|
9
9
|
coralnet_toolbox/QtWorkArea.py,sha256=YXRvHQKpWUtWyv_o9lZ8rmxfm28dUOG9pmMUeimDhQ4,13578
|
10
|
-
coralnet_toolbox/__init__.py,sha256=
|
10
|
+
coralnet_toolbox/__init__.py,sha256=H0IXXlx-vwZwsjELFjOcUWDaJgGmf3_swUlksKpj5L4,207
|
11
11
|
coralnet_toolbox/main.py,sha256=6j2B_1reC_KDmqvq1C0fB-UeSEm8eeJOozp2f4XXMLQ,1573
|
12
|
-
coralnet_toolbox/utilities.py,sha256=
|
12
|
+
coralnet_toolbox/utilities.py,sha256=eUkxXuWaNFH83LSW-KniwujkXKJ2rK04czx3k3OPiAY,27115
|
13
13
|
coralnet_toolbox/Annotations/QtAnnotation.py,sha256=I2Givo3p92gfyVYnnFHBjxso-hmQCCXM531Pygiebfw,29242
|
14
|
-
coralnet_toolbox/Annotations/QtMultiPolygonAnnotation.py,sha256=
|
15
|
-
coralnet_toolbox/Annotations/QtPatchAnnotation.py,sha256=
|
16
|
-
coralnet_toolbox/Annotations/QtPolygonAnnotation.py,sha256=
|
17
|
-
coralnet_toolbox/Annotations/QtRectangleAnnotation.py,sha256=
|
14
|
+
coralnet_toolbox/Annotations/QtMultiPolygonAnnotation.py,sha256=ErAT31gw-zhEVNxkPRpyB9uw-NSpPh-ShCBxpscXdRw,15579
|
15
|
+
coralnet_toolbox/Annotations/QtPatchAnnotation.py,sha256=67fNnK_-muyhGZdGB0kBDx-JGuflv1TM6q5ikfW_zOk,20076
|
16
|
+
coralnet_toolbox/Annotations/QtPolygonAnnotation.py,sha256=1EkZEJlO4VZ4so01Sat2T8LeO1LNs7HbGJLO-G2_73Q,26886
|
17
|
+
coralnet_toolbox/Annotations/QtRectangleAnnotation.py,sha256=nLL_HIkcnuB6CeqE-v8LMAoFgTEhZGHwt5yeEnLaVWQ,20090
|
18
18
|
coralnet_toolbox/Annotations/__init__.py,sha256=bpMldC70tT_lzMrOdBNDkEhG9dCX3tXEBd48IrcUg3E,419
|
19
19
|
coralnet_toolbox/AutoDistill/QtBatchInference.py,sha256=k871aW3XRX8kc4BDaS1aipbPh9WOZxgmilF2c4KOdVA,5646
|
20
|
-
coralnet_toolbox/AutoDistill/QtDeployModel.py,sha256=
|
20
|
+
coralnet_toolbox/AutoDistill/QtDeployModel.py,sha256=6alhzvA3KYEeLaQj-Qhs9GicjNQyVoQbnvgZ3lxGnCU,25162
|
21
21
|
coralnet_toolbox/AutoDistill/__init__.py,sha256=-cJSCr3HSVcybbkvdSZY_zz9EDLESq9A3gisHu3gIgM,206
|
22
22
|
coralnet_toolbox/AutoDistill/Models/GroundingDINO.py,sha256=xG20nLOrKjtzRhZznIIdwFXxBJ7RCeQ7h1z0V0J6trE,2781
|
23
23
|
coralnet_toolbox/AutoDistill/Models/OWLViT.py,sha256=disVxSQ80sS4SVYdwrQocFP_LN6YDQQhzfeORWe4veU,2572
|
@@ -35,6 +35,12 @@ coralnet_toolbox/Common/QtUpdateImagePaths.py,sha256=_hJYx6hXdAOfH_m77f75AQduQ0W
|
|
35
35
|
coralnet_toolbox/CoralNet/QtAuthenticate.py,sha256=Y__iY0Kcosz6AOV7dlJBwiB6Hte40wHahHe-OmRngZA,13267
|
36
36
|
coralnet_toolbox/CoralNet/QtDownload.py,sha256=HBb8TpZRIEFirGIaIAV1v8qg3fL4cP6Bf-hUiqXoiLE,48516
|
37
37
|
coralnet_toolbox/CoralNet/__init__.py,sha256=ILkAZh6mlAK1UaCCZjCB9JZxd-oY4cIgfnIC8UgjjIU,188
|
38
|
+
coralnet_toolbox/Explorer/QtAnnotationDataItem.py,sha256=Med4WHv-m-hQGKpjqBVnQskP0lgJBY55FxoiqaGCJao,3773
|
39
|
+
coralnet_toolbox/Explorer/QtAnnotationImageWidget.py,sha256=OKz8B8d0HWthhz7rYM1xzoBPjKAqttCOsfxjPmvqvpM,7384
|
40
|
+
coralnet_toolbox/Explorer/QtEmbeddingPointItem.py,sha256=zxLzC5-qBUoMaDem-e6Tw8IazPT_Nhv_nRPkIbn_QqY,1178
|
41
|
+
coralnet_toolbox/Explorer/QtExplorer.py,sha256=cyo6X4W2pbIJqj-QFtbGk328Fmw63D9XxCIriGl2WMI,90169
|
42
|
+
coralnet_toolbox/Explorer/QtSettingsWidgets.py,sha256=9SUcGaxBBoIDWNhjKGzJoJ4iFwvg1Om4XmZ9T4WsjrE,20584
|
43
|
+
coralnet_toolbox/Explorer/__init__.py,sha256=wZPhf2oaUUyIQ2WK48Aj-4q1ENIZG2dGl1HF_mjhI6w,116
|
38
44
|
coralnet_toolbox/IO/QtExportAnnotations.py,sha256=xeaS0BukC3cpkBIGT9DXRqHmvHhp-vOU47h6EoANpNg,4474
|
39
45
|
coralnet_toolbox/IO/QtExportCoralNetAnnotations.py,sha256=4royhF63EmeOlSIBX389EUjjvE-SF44_maW6qm52mdA,2778
|
40
46
|
coralnet_toolbox/IO/QtExportGeoJSONAnnotations.py,sha256=9HkHjQTRtH4VnYa50c5pyqQz30R_6gIH5i3xFF6kDWI,27759
|
@@ -51,8 +57,8 @@ coralnet_toolbox/IO/QtImportImages.py,sha256=apgv16dzcg-j6ugimvG_Houtu3m--Y9jyAZ
|
|
51
57
|
coralnet_toolbox/IO/QtImportLabels.py,sha256=_xzm-TDoFVgAbjdBwvOscVskPcLN_z054P5IkT73ohU,3291
|
52
58
|
coralnet_toolbox/IO/QtImportTagLabAnnotations.py,sha256=os4D7SLy6BkzZ1DlWSA_QOoREXUuji0I7XGZS1az5GQ,12321
|
53
59
|
coralnet_toolbox/IO/QtImportTagLabLabels.py,sha256=cCqFBOrAlnbiOL0xFY8G_FSTmeVsnYWh-bmVE-rfg0k,3927
|
54
|
-
coralnet_toolbox/IO/QtImportViscoreAnnotations.py,sha256=
|
55
|
-
coralnet_toolbox/IO/QtOpenProject.py,sha256=
|
60
|
+
coralnet_toolbox/IO/QtImportViscoreAnnotations.py,sha256=TYlDzCLMXizoHFRiaofNdE-t9Cr7sJGj5NFsVUi6cjU,11871
|
61
|
+
coralnet_toolbox/IO/QtOpenProject.py,sha256=aiQ8J7ROv8D1cPaMRaRr7arMxou4_-w5IJ7fTzWNS1o,15841
|
56
62
|
coralnet_toolbox/IO/QtSaveProject.py,sha256=TRUfg9AnyHe79mqNzV4Pzw60RVd65xEjxzBb_-ttzXM,11397
|
57
63
|
coralnet_toolbox/IO/__init__.py,sha256=M3KH90zIoOVoPu1nDS-gvoVV3O24S_KM-4CvxXR-nfw,1538
|
58
64
|
coralnet_toolbox/Icons/1.png,sha256=Ygcz3idjoa-RNaPXQXbHfw853DhnpD6iBa3nNFVimJ4,180
|
@@ -72,6 +78,7 @@ coralnet_toolbox/Icons/hide.png,sha256=eEV9v7i5_tQM25ktzknBKtIR0uOhuqacvPhhhbwop
|
|
72
78
|
coralnet_toolbox/Icons/home.png,sha256=YGOhpX2yZuFU-GkuO8jH8-4Kfwu8qBILw9k_kw_NATo,738
|
73
79
|
coralnet_toolbox/Icons/lock.png,sha256=ap_g-9bNu4w6fiXVve6ktdEnzldR_VkmAFK0MVtQrCc,1682
|
74
80
|
coralnet_toolbox/Icons/machine.png,sha256=W6vcCd8zfxv8znGwF7bAtG5YskpWoYidkme4BHq_S6A,1044
|
81
|
+
coralnet_toolbox/Icons/magic.png,sha256=V2ULBwI2ClnKyYRiCKeJ1g-hi1jLSZRKSc0NQLYH9Yo,1889
|
75
82
|
coralnet_toolbox/Icons/opaque.png,sha256=53S_jopgS7jffpNLB2pCBex5cWN86vNr801j30kP-2s,823
|
76
83
|
coralnet_toolbox/Icons/parameters.png,sha256=tdSCfhr_dauBmZoJdxgu6LhiOXmRsfoQeJO0IfAFZKE,1362
|
77
84
|
coralnet_toolbox/Icons/patch.png,sha256=ZcvdB15jrnqtzVh344OQgSq0buIKY9BZ7NRsxDNMo90,543
|
@@ -119,8 +126,8 @@ coralnet_toolbox/MachineLearning/Community/cfg/segment/yolo11-p2.yaml,sha256=H2P
|
|
119
126
|
coralnet_toolbox/MachineLearning/Community/cfg/segment/yolo11-p6.yaml,sha256=jg2PDDeIPvBG_QXNOMyro7LYLy0HNZ5F4s7fiAg0xys,3283
|
120
127
|
coralnet_toolbox/MachineLearning/DeployModel/QtBase.py,sha256=ZK2p9euv9AM2hhpAYWyVLcIk_8UwMVgeTAEYQbXWJBw,12609
|
121
128
|
coralnet_toolbox/MachineLearning/DeployModel/QtClassify.py,sha256=4YSEENGY2pZpiFqt1tfr-m1oHhP9V4uID8gdOVkZwwI,6331
|
122
|
-
coralnet_toolbox/MachineLearning/DeployModel/QtDetect.py,sha256=
|
123
|
-
coralnet_toolbox/MachineLearning/DeployModel/QtSegment.py,sha256=
|
129
|
+
coralnet_toolbox/MachineLearning/DeployModel/QtDetect.py,sha256=RL_S88RxX0c7FBSy0Mmzeq7AErIyjRh-k0SjzTcjczU,14930
|
130
|
+
coralnet_toolbox/MachineLearning/DeployModel/QtSegment.py,sha256=jL2tdLzOixdJ9pwloqJH2Bq6FOew3yg1ebBrLFrr5_Q,14658
|
124
131
|
coralnet_toolbox/MachineLearning/DeployModel/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
125
132
|
coralnet_toolbox/MachineLearning/EvaluateModel/QtBase.py,sha256=stOQlB9NP1kZLwfQipA8J8_EzcgKi-9rvxar_AyWwjc,11526
|
126
133
|
coralnet_toolbox/MachineLearning/EvaluateModel/QtClassify.py,sha256=EsUBbSxcoOymO3ezPUI1X0M_g9x7Y2oVU5myflet7pw,2268
|
@@ -142,7 +149,7 @@ coralnet_toolbox/MachineLearning/MergeDatasets/__init__.py,sha256=47DEQpj8HBSa-_
|
|
142
149
|
coralnet_toolbox/MachineLearning/OptimizeModel/QtBase.py,sha256=06irheL8aKvtwKBQLLJUohvWvrMqKFC-jhEEoVqIYdg,8890
|
143
150
|
coralnet_toolbox/MachineLearning/OptimizeModel/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
144
151
|
coralnet_toolbox/MachineLearning/TrainModel/QtBase.py,sha256=lLGmgDSvjQFYD2RdF7eC6U5xU5in2rC26RQ3lmKvfLY,37460
|
145
|
-
coralnet_toolbox/MachineLearning/TrainModel/QtClassify.py,sha256=
|
152
|
+
coralnet_toolbox/MachineLearning/TrainModel/QtClassify.py,sha256=ss5ppGbrpULzUPmeRmfqZjiqZPp7XbdUZ4BzSX0ehu0,3267
|
146
153
|
coralnet_toolbox/MachineLearning/TrainModel/QtDetect.py,sha256=uxopZkrNkl3tImMNSDwC2ENpFAxdG0NLiwRwqNnbep0,4467
|
147
154
|
coralnet_toolbox/MachineLearning/TrainModel/QtSegment.py,sha256=y8bpNS24SQxyg967RSi6TraqHSmlJYj8kbvC_5HMBIM,3597
|
148
155
|
coralnet_toolbox/MachineLearning/TrainModel/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
@@ -178,7 +185,7 @@ coralnet_toolbox/Results/Masks.py,sha256=C-zoobRaWXP_QdGcL7ZgSxytHOBdHIBUbQuGnoM
|
|
178
185
|
coralnet_toolbox/Results/ResultsProcessor.py,sha256=q_UZNYggpZyY4_P6RpDLbY1ygNH49GXlP1s9ZFI3yF0,17261
|
179
186
|
coralnet_toolbox/Results/__init__.py,sha256=WPdlq8aXzjrdQo5T3UqFh7jxge33iNEHiSRAmm0eJuw,630
|
180
187
|
coralnet_toolbox/SAM/QtBatchInference.py,sha256=zG0vVPBIozZQu043hwjI3_gjlwx-iWeikhu3QxMam4U,6931
|
181
|
-
coralnet_toolbox/SAM/QtDeployGenerator.py,sha256=
|
188
|
+
coralnet_toolbox/SAM/QtDeployGenerator.py,sha256=CcedOASyV_jLJyqsLRdkeGKBY8Y_AjwWt2-_xgLcdk4,25789
|
182
189
|
coralnet_toolbox/SAM/QtDeployPredictor.py,sha256=D1DyqjLXQDTNiLp9OVgsiI97fMFftab_goEkQvDH1DU,23516
|
183
190
|
coralnet_toolbox/SAM/__init__.py,sha256=Zxd75pFMrt5DfSmNNVSsQeCucIQ2rVaEiS0hT_OVIMM,293
|
184
191
|
coralnet_toolbox/SeeAnything/QtBatchInference.py,sha256=1UMogdTWgO3eEwTquJpIYjILUbjkhLEHFDGsHSGzY-I,16200
|
@@ -209,9 +216,9 @@ coralnet_toolbox/Tools/QtTool.py,sha256=2MCjT151gYBN8KbsK0GX4WOrEg1uw3oeSkp7Elw1
|
|
209
216
|
coralnet_toolbox/Tools/QtWorkAreaTool.py,sha256=-CDrEPenOdSI3sf5wn19Cip4alE1ef7WsRDxQFDkHlc,22162
|
210
217
|
coralnet_toolbox/Tools/QtZoomTool.py,sha256=F9CAoABv1jxcUS7dyIh1FYjgjOXYRI1xtBPNIR1g62o,4041
|
211
218
|
coralnet_toolbox/Tools/__init__.py,sha256=218iQ8IFXIkKXiUDVYtXk9e08UY9-LhHjcryaJAanQ0,797
|
212
|
-
coralnet_toolbox-0.0.
|
213
|
-
coralnet_toolbox-0.0.
|
214
|
-
coralnet_toolbox-0.0.
|
215
|
-
coralnet_toolbox-0.0.
|
216
|
-
coralnet_toolbox-0.0.
|
217
|
-
coralnet_toolbox-0.0.
|
219
|
+
coralnet_toolbox-0.0.67.dist-info/licenses/LICENSE.txt,sha256=AURacZ_G_PZKqqPQ9VB9Sqegblk67RNgWSGAYKwXXMY,521
|
220
|
+
coralnet_toolbox-0.0.67.dist-info/METADATA,sha256=2XfsFYzFeUyltrApg9HVRc8Smn5ALfwLriIwc6zv994,17096
|
221
|
+
coralnet_toolbox-0.0.67.dist-info/WHEEL,sha256=JNWh1Fm1UdwIQV075glCn4MVuCRs0sotJIq-J6rbxCU,109
|
222
|
+
coralnet_toolbox-0.0.67.dist-info/entry_points.txt,sha256=oEeMoDlJ_2lq95quOeDHIx9hZpubUlSo80OLtgbcrbM,63
|
223
|
+
coralnet_toolbox-0.0.67.dist-info/top_level.txt,sha256=SMWPh4_9JfB8zVpPOOvjucV2_B_hvWW7bNWmMjG0LsY,17
|
224
|
+
coralnet_toolbox-0.0.67.dist-info/RECORD,,
|
File without changes
|
File without changes
|
{coralnet_toolbox-0.0.66.dist-info → coralnet_toolbox-0.0.67.dist-info}/licenses/LICENSE.txt
RENAMED
File without changes
|
File without changes
|