coralnet-toolbox 0.0.75__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.
Files changed (50) hide show
  1. coralnet_toolbox/Annotations/QtPolygonAnnotation.py +57 -12
  2. coralnet_toolbox/Annotations/QtRectangleAnnotation.py +44 -14
  3. coralnet_toolbox/Common/QtGraphicsUtility.py +18 -8
  4. coralnet_toolbox/Explorer/transformer_models.py +13 -2
  5. coralnet_toolbox/IO/QtExportMaskAnnotations.py +576 -402
  6. coralnet_toolbox/IO/QtImportImages.py +7 -15
  7. coralnet_toolbox/IO/QtOpenProject.py +15 -19
  8. coralnet_toolbox/Icons/system_monitor.png +0 -0
  9. coralnet_toolbox/MachineLearning/ImportDataset/QtBase.py +33 -8
  10. coralnet_toolbox/QtAnnotationWindow.py +4 -0
  11. coralnet_toolbox/QtEventFilter.py +5 -5
  12. coralnet_toolbox/QtImageWindow.py +4 -0
  13. coralnet_toolbox/QtMainWindow.py +104 -64
  14. coralnet_toolbox/QtProgressBar.py +1 -0
  15. coralnet_toolbox/QtSystemMonitor.py +370 -0
  16. coralnet_toolbox/Rasters/RasterManager.py +5 -2
  17. coralnet_toolbox/Results/ConvertResults.py +14 -8
  18. coralnet_toolbox/Results/ResultsProcessor.py +3 -2
  19. coralnet_toolbox/SAM/QtDeployGenerator.py +1 -1
  20. coralnet_toolbox/SAM/QtDeployPredictor.py +10 -0
  21. coralnet_toolbox/SeeAnything/QtDeployGenerator.py +324 -177
  22. coralnet_toolbox/SeeAnything/QtDeployPredictor.py +10 -6
  23. coralnet_toolbox/Tile/QtTileBatchInference.py +4 -4
  24. coralnet_toolbox/Tools/QtPatchTool.py +6 -2
  25. coralnet_toolbox/Tools/QtPolygonTool.py +5 -3
  26. coralnet_toolbox/Tools/QtRectangleTool.py +17 -9
  27. coralnet_toolbox/Tools/QtSAMTool.py +144 -91
  28. coralnet_toolbox/Tools/QtSeeAnythingTool.py +4 -0
  29. coralnet_toolbox/Tools/QtTool.py +79 -3
  30. coralnet_toolbox/Tools/QtWorkAreaTool.py +4 -0
  31. coralnet_toolbox/Transformers/Models/GroundingDINO.py +72 -0
  32. coralnet_toolbox/Transformers/Models/OWLViT.py +72 -0
  33. coralnet_toolbox/Transformers/Models/OmDetTurbo.py +68 -0
  34. coralnet_toolbox/Transformers/Models/QtBase.py +121 -0
  35. coralnet_toolbox/{AutoDistill → Transformers}/Models/__init__.py +1 -1
  36. coralnet_toolbox/{AutoDistill → Transformers}/QtBatchInference.py +15 -15
  37. coralnet_toolbox/{AutoDistill → Transformers}/QtDeployModel.py +18 -16
  38. coralnet_toolbox/{AutoDistill → Transformers}/__init__.py +1 -1
  39. coralnet_toolbox/__init__.py +1 -1
  40. coralnet_toolbox/utilities.py +0 -15
  41. {coralnet_toolbox-0.0.75.dist-info → coralnet_toolbox-0.0.77.dist-info}/METADATA +9 -9
  42. {coralnet_toolbox-0.0.75.dist-info → coralnet_toolbox-0.0.77.dist-info}/RECORD +46 -44
  43. coralnet_toolbox/AutoDistill/Models/GroundingDINO.py +0 -81
  44. coralnet_toolbox/AutoDistill/Models/OWLViT.py +0 -76
  45. coralnet_toolbox/AutoDistill/Models/OmDetTurbo.py +0 -75
  46. coralnet_toolbox/AutoDistill/Models/QtBase.py +0 -112
  47. {coralnet_toolbox-0.0.75.dist-info → coralnet_toolbox-0.0.77.dist-info}/WHEEL +0 -0
  48. {coralnet_toolbox-0.0.75.dist-info → coralnet_toolbox-0.0.77.dist-info}/entry_points.txt +0 -0
  49. {coralnet_toolbox-0.0.75.dist-info → coralnet_toolbox-0.0.77.dist-info}/licenses/LICENSE.txt +0 -0
  50. {coralnet_toolbox-0.0.75.dist-info → coralnet_toolbox-0.0.77.dist-info}/top_level.txt +0 -0
@@ -1,34 +1,27 @@
1
- coralnet_toolbox/QtAnnotationWindow.py,sha256=YpE4e5gu0EcTqtzRNUcFqZl5SIjDaPK_FWxtFavfm4k,40950
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=qL3-FzQ2iZX1yITJb2mjn9_Q09nNNqKsgx-oCz4aT9Y,7717
4
- coralnet_toolbox/QtImageWindow.py,sha256=B_38VR_0QARyo05UEvInmQKd3N74Dfb0g_QDeGCTUuY,51291
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
- coralnet_toolbox/QtMainWindow.py,sha256=ctwSZiPql-nafxNacifHdZtNnIY-u-xvhKWptC7aBTk,122154
6
+ coralnet_toolbox/QtMainWindow.py,sha256=4Znd0fezebQ-cWOKHjHTPVfj_DPH45A7tnUfxUEiqOQ,123615
7
7
  coralnet_toolbox/QtPatchSampling.py,sha256=Ehj06auBGfQwIruLNYQjF8eFOCpl8G72p42UXXb2mUo,29013
8
- coralnet_toolbox/QtProgressBar.py,sha256=kFcq0ftj4Hljesev-jwWMLVc_OOjlOwQrGc4r2yGMAs,7877
8
+ coralnet_toolbox/QtProgressBar.py,sha256=L9V1dD9NQ5K-IK2NhJtESoieWGd1ULLsACEXuUDE4Ck,7922
9
+ coralnet_toolbox/QtSystemMonitor.py,sha256=KSsUZ11GcHPH0Q7Pl8TUsFSB_jnWzNqGmtnf7IYYXpQ,16567
9
10
  coralnet_toolbox/QtWorkArea.py,sha256=YXRvHQKpWUtWyv_o9lZ8rmxfm28dUOG9pmMUeimDhQ4,13578
10
- coralnet_toolbox/__init__.py,sha256=kdpxYZD8oO9MggK9OdvUGRRyKAyDN3KovZN_ORG88jM,207
11
+ coralnet_toolbox/__init__.py,sha256=IFl5I4PdkaZp2BugeAalSkzd3crH_pMIeSWcuJi3yG0,207
11
12
  coralnet_toolbox/main.py,sha256=6j2B_1reC_KDmqvq1C0fB-UeSEm8eeJOozp2f4XXMLQ,1573
12
- coralnet_toolbox/utilities.py,sha256=xF13RAadniOPQEzzE4L9-iYrL4G_acMwuMBCp8_8vV8,31498
13
+ coralnet_toolbox/utilities.py,sha256=Up6_z0n-8p7KccFLgBvlSnhfgX8B_mVTSmIfajpkkug,31173
13
14
  coralnet_toolbox/Annotations/QtAnnotation.py,sha256=4KxqDe_WPMGK18OYHZ1NqWzV87ARv8MnLAQdHFXo-Yg,27527
14
15
  coralnet_toolbox/Annotations/QtMaskAnnotation.py,sha256=Hs8p-Lxv4OYqcx4Y7dayer1KxTaX-G0kuQe-W2JuGIE,16269
15
16
  coralnet_toolbox/Annotations/QtMultiPolygonAnnotation.py,sha256=u0vPQPeaBCEdw5lMFygpBbjDKDSjvtV7Jkj03MDfj8M,16463
16
17
  coralnet_toolbox/Annotations/QtPatchAnnotation.py,sha256=huoCsPloSA5uCZxG7pwIoO02GcHFDwW8-VohLxbCVnY,16608
17
- coralnet_toolbox/Annotations/QtPolygonAnnotation.py,sha256=D8VajJ1pBtb5NOSYIspAxonkiVWn0yuWSNo8vRjreSw,33371
18
- coralnet_toolbox/Annotations/QtRectangleAnnotation.py,sha256=FnKDHRNg_v9pUEqhdyvbGBGSxtNww3AZU_rulYU0878,21357
18
+ coralnet_toolbox/Annotations/QtPolygonAnnotation.py,sha256=NYzca916tfZDOxbP9TBC5CaFEoiMiZec8QkwHtpfGLQ,35198
19
+ coralnet_toolbox/Annotations/QtRectangleAnnotation.py,sha256=F49Cc3MyPPHQp-qhfjsFACE5ZRwT4Hsq0jDi8nt9iVg,22492
19
20
  coralnet_toolbox/Annotations/__init__.py,sha256=bpMldC70tT_lzMrOdBNDkEhG9dCX3tXEBd48IrcUg3E,419
20
- coralnet_toolbox/AutoDistill/QtBatchInference.py,sha256=k871aW3XRX8kc4BDaS1aipbPh9WOZxgmilF2c4KOdVA,5646
21
- coralnet_toolbox/AutoDistill/QtDeployModel.py,sha256=Fycm7wuydUfr1E2CUy00ridiI2JaNDZqAeoVB_HVydY,25923
22
- coralnet_toolbox/AutoDistill/__init__.py,sha256=-cJSCr3HSVcybbkvdSZY_zz9EDLESq9A3gisHu3gIgM,206
23
- coralnet_toolbox/AutoDistill/Models/GroundingDINO.py,sha256=xG20nLOrKjtzRhZznIIdwFXxBJ7RCeQ7h1z0V0J6trE,2781
24
- coralnet_toolbox/AutoDistill/Models/OWLViT.py,sha256=disVxSQ80sS4SVYdwrQocFP_LN6YDQQhzfeORWe4veU,2572
25
- coralnet_toolbox/AutoDistill/Models/OmDetTurbo.py,sha256=i2k9C0U8CzojKvv58CE_4wvquvR_JHUHRCe93Yzb5QQ,2526
26
- coralnet_toolbox/AutoDistill/Models/QtBase.py,sha256=P9dzGgzOZJZr-hQltAIswWqUyfaUP40GcXc_X11GOv8,4220
27
- coralnet_toolbox/AutoDistill/Models/__init__.py,sha256=3woEIkWjoNLlZhNijnyAwAimsBoy2AGCt_tks3Y4q6M,259
28
21
  coralnet_toolbox/BreakTime/QtBreakout.py,sha256=KYlhLMHF_5HVkjR8JDjbNu8CB6SHsEpECAywXqWVw10,54763
29
22
  coralnet_toolbox/BreakTime/QtSnake.py,sha256=XxmV64A_1avYf1uC_fXQpOZV3kCetz3CqboQsFwSIJk,22398
30
23
  coralnet_toolbox/BreakTime/__init__.py,sha256=7d_CMXp7T872NV-a6xaGU4oq5wjWAWGyrnd-YD3BDJo,150
31
- coralnet_toolbox/Common/QtGraphicsUtility.py,sha256=i5pCEQJdzNJ4K4NC0OjTZY8b88cOUxgKbonoarXOUoo,5802
24
+ coralnet_toolbox/Common/QtGraphicsUtility.py,sha256=M53aLq2AfHdyHwjz41ecw2tE8QZ6cjSzHHdObDNSFZI,6281
32
25
  coralnet_toolbox/Common/QtMarginInput.py,sha256=RBpz6q_OkZxQH7_r7Gd8U3C8TvnvPzemgfoRxL427B8,7998
33
26
  coralnet_toolbox/Common/QtOverlapInput.py,sha256=O9Dvwe4YmYSmf-W5fhAhl5kOIFsLa3AIuG6cdfxwQc4,5803
34
27
  coralnet_toolbox/Common/QtTileSizeInput.py,sha256=qxts1ufiG6cGFJWEa8DFB9wHV9AVw5dgE5OyLMJMHP8,3164
@@ -42,13 +35,13 @@ coralnet_toolbox/Explorer/QtFeatureStore.py,sha256=3VwGezs1stmu65Z4ZQpvY27rGEIJq
42
35
  coralnet_toolbox/Explorer/QtSettingsWidgets.py,sha256=wwgMje5hga6GpJsAwFYXqd3G_Hew0oKmtu3tEr061Hs,36042
43
36
  coralnet_toolbox/Explorer/QtViewers.py,sha256=2qtzxSQNsRoHYUdm2t046QCUJd51pKOts5DNtgMRmUY,69408
44
37
  coralnet_toolbox/Explorer/__init__.py,sha256=wZPhf2oaUUyIQ2WK48Aj-4q1ENIZG2dGl1HF_mjhI6w,116
45
- coralnet_toolbox/Explorer/transformer_models.py,sha256=JlNNht2xEXlVC258-AXE4S_HBh37LGkEloNxFeSEamQ,2063
38
+ coralnet_toolbox/Explorer/transformer_models.py,sha256=yNgGoYEIWcSgCnCOSKdAatG4M6GRbtf4pVmUWGPxvWo,2878
46
39
  coralnet_toolbox/Explorer/yolo_models.py,sha256=GicZrypDE699gut5KEW68Ui_KiTk4Ojt1uRkyDWJVI8,3473
47
40
  coralnet_toolbox/IO/QtExportAnnotations.py,sha256=xeaS0BukC3cpkBIGT9DXRqHmvHhp-vOU47h6EoANpNg,4474
48
41
  coralnet_toolbox/IO/QtExportCoralNetAnnotations.py,sha256=4royhF63EmeOlSIBX389EUjjvE-SF44_maW6qm52mdA,2778
49
42
  coralnet_toolbox/IO/QtExportGeoJSONAnnotations.py,sha256=9HkHjQTRtH4VnYa50c5pyqQz30R_6gIH5i3xFF6kDWI,27759
50
43
  coralnet_toolbox/IO/QtExportLabels.py,sha256=Vsav0wd1EK4g065aEWvxyNuvvM9BFB7UXxz6IJzwVBU,2588
51
- coralnet_toolbox/IO/QtExportMaskAnnotations.py,sha256=U-2sQyA154La5-QCovkJkrz_2-2bmuZytTw05VKinCE,24268
44
+ coralnet_toolbox/IO/QtExportMaskAnnotations.py,sha256=0nWAMdgDq_joI7aCpBIg4isi0sZ3HlLiE7IxiOgh2Wc,34213
52
45
  coralnet_toolbox/IO/QtExportTagLabAnnotations.py,sha256=JL4r1a6_PUjCzWQjMxOzxtkF2gyqIttpD14OxEcW-dA,11330
53
46
  coralnet_toolbox/IO/QtExportTagLabLabels.py,sha256=e6OL8UNtLRAJrovfs1cxVz0k2bHuJXdVmO-A0OVpgSk,3164
54
47
  coralnet_toolbox/IO/QtExportViscoreAnnotations.py,sha256=AUTzVB-N9uwlQPSds74YXyPVZzEHph7HDq01R88OBJY,19166
@@ -56,12 +49,12 @@ coralnet_toolbox/IO/QtImportAnnotations.py,sha256=LYFmlsANRTdQqcQsIXfbWiTGNJcaeI
56
49
  coralnet_toolbox/IO/QtImportCoralNetAnnotations.py,sha256=N6wQV48r2cs3_KkuxdM0MUQkgTMwv9iT9qAmLGpyCMk,9917
57
50
  coralnet_toolbox/IO/QtImportCoralNetLabels.py,sha256=FKOawTboEEAC7M8KbyEtX7fXOoFKpU51EKNjWXb1DHk,4019
58
51
  coralnet_toolbox/IO/QtImportFrames.py,sha256=7azCV-0dYTeySeXvlcawzwxswXNzxHU3u3nnaA0VoWs,45774
59
- coralnet_toolbox/IO/QtImportImages.py,sha256=apgv16dzcg-j6ugimvG_Houtu3m--Y9jyAZgB-k7BrQ,4260
52
+ coralnet_toolbox/IO/QtImportImages.py,sha256=KXl-Tlt_nSNZmhe63fHHkn2WlB15QQP-CXDD7sP6wKo,3911
60
53
  coralnet_toolbox/IO/QtImportLabels.py,sha256=_xzm-TDoFVgAbjdBwvOscVskPcLN_z054P5IkT73ohU,3291
61
54
  coralnet_toolbox/IO/QtImportTagLabAnnotations.py,sha256=AH970q5HYiBLfud8NHxxcfm58pyOX5qwic3x4bF5GlQ,12781
62
55
  coralnet_toolbox/IO/QtImportTagLabLabels.py,sha256=cCqFBOrAlnbiOL0xFY8G_FSTmeVsnYWh-bmVE-rfg0k,3927
63
56
  coralnet_toolbox/IO/QtImportViscoreAnnotations.py,sha256=TYlDzCLMXizoHFRiaofNdE-t9Cr7sJGj5NFsVUi6cjU,11871
64
- coralnet_toolbox/IO/QtOpenProject.py,sha256=1nsntv5mlC6hmtLbquebIOuTAn6wNNgJVZTCulp14LQ,15060
57
+ coralnet_toolbox/IO/QtOpenProject.py,sha256=LVgT2t38MQ4GA4u2mAppTzFJiB3Pz1mynvOv161Q7lQ,14846
65
58
  coralnet_toolbox/IO/QtSaveProject.py,sha256=g7Uydya1Rcvh6GX3NfpQUgyZzs0wUDq1sJnmihx-8cM,10441
66
59
  coralnet_toolbox/IO/__init__.py,sha256=M3KH90zIoOVoPu1nDS-gvoVV3O24S_KM-4CvxXR-nfw,1538
67
60
  coralnet_toolbox/Icons/1.png,sha256=Ygcz3idjoa-RNaPXQXbHfw853DhnpD6iBa3nNFVimJ4,180
@@ -93,6 +86,7 @@ coralnet_toolbox/Icons/rocket.png,sha256=iMlRGlrNBS_dNBD2XIpN4RSrphCGbw_Ds1AYJ01
93
86
  coralnet_toolbox/Icons/select.png,sha256=twnMIO9ylQYjvyGnAR28V6K3ds6xpArZQTrvf0uxS6g,1896
94
87
  coralnet_toolbox/Icons/settings.png,sha256=rklROt3oKrfEk_qwN9J-JwvKok08iOkZy3OD4oNsLJQ,1376
95
88
  coralnet_toolbox/Icons/snake.png,sha256=cwcekSkXwDi_fhtTU48u7FN4bIybbY53cWK0n7-IN9A,2361
89
+ coralnet_toolbox/Icons/system_monitor.png,sha256=ui6377kyFMHLnbfSFiE5NAJVnC16tku4RDi7Rv5vJ-0,739
96
90
  coralnet_toolbox/Icons/target.png,sha256=jzb-S_sXWT8MfbvefhDNsuTdAZgV2nGf1ieawaCkByM,1702
97
91
  coralnet_toolbox/Icons/tile.png,sha256=WiXKBpWVBfPv7gC8dnkc_gW3wuLQmLUyxYMWEM-G9ZU,382
98
92
  coralnet_toolbox/Icons/transparent.png,sha256=ZkuGkVzh6zLVNau1Wj166-TtUlbCRqJObGt4vxMxnLk,1098
@@ -143,7 +137,7 @@ coralnet_toolbox/MachineLearning/ExportDataset/QtClassify.py,sha256=5LB8m2zJ24hj
143
137
  coralnet_toolbox/MachineLearning/ExportDataset/QtDetect.py,sha256=ptZ0rUoZ1Tc0RGjKuXU15ZTM87m3gO8vLu6I7w5PVgs,6669
144
138
  coralnet_toolbox/MachineLearning/ExportDataset/QtSegment.py,sha256=7sDczfciPPbGgMdb6D9pZn27DHs_Spg1bd-bc9_hI7Y,6696
145
139
  coralnet_toolbox/MachineLearning/ExportDataset/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
146
- coralnet_toolbox/MachineLearning/ImportDataset/QtBase.py,sha256=BQ_o5l_QHPm2dFD1jUkQxaQJ8ya1zysg3_14J7wei8E,29369
140
+ coralnet_toolbox/MachineLearning/ImportDataset/QtBase.py,sha256=hP-HZwYGV2q6cKYtRZb9_tuHxvYynaaNuvNy9JWGTEg,30600
147
141
  coralnet_toolbox/MachineLearning/ImportDataset/QtDetect.py,sha256=1YQFAgfuPUUZ18fXbvs4GP9Mrp_-9kfeDdmJHEA5e7I,1121
148
142
  coralnet_toolbox/MachineLearning/ImportDataset/QtSegment.py,sha256=D4bef57dCQa4nJWf8cUphrUILvbfT-a34C-rgpxi814,1163
149
143
  coralnet_toolbox/MachineLearning/ImportDataset/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -179,25 +173,25 @@ coralnet_toolbox/MachineLearning/VideoInference/YOLO3D/load_camera_params.py,sha
179
173
  coralnet_toolbox/MachineLearning/VideoInference/YOLO3D/run.py,sha256=eOXf7o9M9OB4T1BpvqBe3cx00VVTscw-YCCCHOOI2X8,26912
180
174
  coralnet_toolbox/Rasters/ImageFilter.py,sha256=EhH1YoVjC29ER4qU4t9xwybeX9E012fLq04iPFfbaz4,7928
181
175
  coralnet_toolbox/Rasters/QtRaster.py,sha256=qWqhKiZbBnv0JnCQvPXx6fQYENgSA7sp3vBUj4fdnhA,18435
182
- coralnet_toolbox/Rasters/RasterManager.py,sha256=GuTeuty3x4k8DWZ34FQ4BTNwRfjWu0lEhv3NfF2t5u4,6534
176
+ coralnet_toolbox/Rasters/RasterManager.py,sha256=FH0d7Hj_E6sR2Eesd8sA8AA1Dlqteut9UyNd6WdrCBo,6622
183
177
  coralnet_toolbox/Rasters/RasterTableModel.py,sha256=8ebirBkTUSy5Rdsoq10sqzDQBoYCH_Hu40dPiUhtlzc,15311
184
178
  coralnet_toolbox/Rasters/__init__.py,sha256=Pi88uDQbtWxwHfJFdlsvbkwGNhtlyM_013l8bbJlFfw,428
185
179
  coralnet_toolbox/Results/CombineResults.py,sha256=QrHyKhMrjNDtQ98PQabUflHhyv_8KXTGqU30tw9amV8,4523
186
- coralnet_toolbox/Results/ConvertResults.py,sha256=uh7tfJxDiH_cJHxWsr8KQQOcsfzC59-k6PQDVtl3ZaY,6015
180
+ coralnet_toolbox/Results/ConvertResults.py,sha256=f9L1C7JQMVt7x2eSG4CAqpUDRhhc6eQZvTaqCiGUWmk,6310
187
181
  coralnet_toolbox/Results/MapResults.py,sha256=sDieekB93RVKvD-9mW1zRsHOs85shYVIQklt9-kFJZI,8088
188
182
  coralnet_toolbox/Results/Masks.py,sha256=C-zoobRaWXP_QdGcL7ZgSxytHOBdHIBUbQuGnoMZthE,5183
189
- coralnet_toolbox/Results/ResultsProcessor.py,sha256=q_UZNYggpZyY4_P6RpDLbY1ygNH49GXlP1s9ZFI3yF0,17261
183
+ coralnet_toolbox/Results/ResultsProcessor.py,sha256=WPyq4nETrnk9WpMaeFw0rlQRFqZkzAYz_qttT3_jaoA,17332
190
184
  coralnet_toolbox/Results/__init__.py,sha256=WPdlq8aXzjrdQo5T3UqFh7jxge33iNEHiSRAmm0eJuw,630
191
185
  coralnet_toolbox/SAM/QtBatchInference.py,sha256=UyuYLfPF4JrOmmuMOzshbKDEEribV669d9LURmuu6gg,6866
192
- coralnet_toolbox/SAM/QtDeployGenerator.py,sha256=S05ZdoimMWQV0imLTymGFDEhpdQqd2kCdlHKKZ_gX2w,26498
193
- coralnet_toolbox/SAM/QtDeployPredictor.py,sha256=4Lwp4e95HX3rdL25jfEuA0EH6mP_2u30zDLuikJfhgo,23944
186
+ coralnet_toolbox/SAM/QtDeployGenerator.py,sha256=UtJH1ZQ9g_Wqa4s09PBMCrmNRpqUZZaTMpE7lfH_Xq0,26491
187
+ coralnet_toolbox/SAM/QtDeployPredictor.py,sha256=7jOFFnNqY7Ylr1IKjTI_YSrPYgCxHpI4ZBda7Kp806g,24413
194
188
  coralnet_toolbox/SAM/__init__.py,sha256=Zxd75pFMrt5DfSmNNVSsQeCucIQ2rVaEiS0hT_OVIMM,293
195
189
  coralnet_toolbox/SeeAnything/QtBatchInference.py,sha256=k3aftVzva84yATB4Su5DSI0lhkHDggUg3mVAx4AHmjw,7134
196
- coralnet_toolbox/SeeAnything/QtDeployGenerator.py,sha256=CFGhrMOkP9YGhjqRCrdsTlQR5qk7k4OaSpeQsg4M2cs,68456
197
- coralnet_toolbox/SeeAnything/QtDeployPredictor.py,sha256=HGZLgoqYwPiwMMc7vZLlGcaOpHDmjU-C3dPs4v3duPk,26610
190
+ coralnet_toolbox/SeeAnything/QtDeployGenerator.py,sha256=oF01_J46xm1kGLhT7wtMI9BurzhSsucXs7nsW3917xM,76953
191
+ coralnet_toolbox/SeeAnything/QtDeployPredictor.py,sha256=sfaaJoDFM2ntdqD0CXsTSHRZIuCRfviVg4vqhG0sGdI,26804
198
192
  coralnet_toolbox/SeeAnything/QtTrainModel.py,sha256=dQ6ZkeIr1migU-edGO-gQMENVP4o7WJsIANlSVhFK8k,28031
199
193
  coralnet_toolbox/SeeAnything/__init__.py,sha256=4OgG9-aQ6_RZ942-Ift_q-kkp14kObMT4lDIIx9YSxQ,366
200
- coralnet_toolbox/Tile/QtTileBatchInference.py,sha256=chSo-TOwpnAgIQpTetZnbhWQIBzbDJO01xAQ3z0-ubk,10730
194
+ coralnet_toolbox/Tile/QtTileBatchInference.py,sha256=oo7NeqEwwmxMEGBMo5v2SCnyQwJYq9pg-9yj3G_-vaM,10727
201
195
  coralnet_toolbox/Tile/QtTileCreation.py,sha256=Cw6q0ZVXx0hU4uMuXA3OZ3_5bKu6oQgnlMFwaXSZbS0,39963
202
196
  coralnet_toolbox/Tile/__init__.py,sha256=BlV-1bO9u-olfNAIvukUMPRzlw8dx-ayjrjMRQ-bSsk,463
203
197
  coralnet_toolbox/Tile/TileDataset/QtBase.py,sha256=5zWtnNVbril0i3aVFv5q0VyMYcFP0Qb09ylqQ4smBXw,18623
@@ -208,23 +202,31 @@ coralnet_toolbox/Tile/TileDataset/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeR
208
202
  coralnet_toolbox/Tools/QtCutSubTool.py,sha256=3mO8VLrS_sKuEukGQljF_gX8PMdf1za-dxudB6lyCGI,6456
209
203
  coralnet_toolbox/Tools/QtMoveSubTool.py,sha256=K5uXEGGl8nwKvGI0DBGZ8ILZsxWf22HVSfyLr0hKhuE,2165
210
204
  coralnet_toolbox/Tools/QtPanTool.py,sha256=q0g5Ryse6mIZ_Ss4qJw5NNwgoLuQQBIyQTXNFL643-s,3062
211
- coralnet_toolbox/Tools/QtPatchTool.py,sha256=57vFeR2jQ_VQRlMEIC_mH8NigUqOlVvmhaVkXDvd_Gw,5574
212
- coralnet_toolbox/Tools/QtPolygonTool.py,sha256=mQB2NuGGUmo7W4Pf8DJI9PDa3PW7Hu2nOMf4uTyWAq8,11236
213
- coralnet_toolbox/Tools/QtRectangleTool.py,sha256=VJWKktDiDN1TUZATRSe_1kjppFjV0AMYDZ8bK78dCXc,8672
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
214
208
  coralnet_toolbox/Tools/QtResizeSubTool.py,sha256=cWJDx8PEtxoCLQKuyEyZ6ccBzFKau9j1djrSSpDgaq8,6524
215
- coralnet_toolbox/Tools/QtSAMTool.py,sha256=PKSQU0gBsbI5rDCHRs46fUsS8QDkaqYT7aF8CEreNBQ,34068
216
- coralnet_toolbox/Tools/QtSeeAnythingTool.py,sha256=ZjqaM0At7MCB5R0wgibph75FkH2ZIePfRnXQUQko6wE,38515
209
+ coralnet_toolbox/Tools/QtSAMTool.py,sha256=fEEif1uah5DxNxS3oCIll4OiGgLETY87ue852MIekIk,36680
210
+ coralnet_toolbox/Tools/QtSeeAnythingTool.py,sha256=qo8IT8tOs_k7ck2xgMrL_Edc6otv_kQbhdo3yWs65aE,38666
217
211
  coralnet_toolbox/Tools/QtSelectSubTool.py,sha256=_FIjLhnEVY19Q87jhRKXGdghNfMBxxy_sECAIUo0BZA,3294
218
212
  coralnet_toolbox/Tools/QtSelectTool.py,sha256=qAXRIGmjdzWjaH6GwhvlQSodZuFa6OnyckzNVfVDG2w,20983
219
213
  coralnet_toolbox/Tools/QtSubTool.py,sha256=H25FoFqywdi6Bl35MfpEXGrr48ZTgdRRvHMxUy1tqN4,1601
220
214
  coralnet_toolbox/Tools/QtSubtractSubTool.py,sha256=u9zbkila7hJ_AEhWRM6e_z0OgGs5xqO5zbqVetvCAEU,2682
221
- coralnet_toolbox/Tools/QtTool.py,sha256=2MCjT151gYBN8KbsK0GX4WOrEg1uw3oeSkp7Elw1AUA,2531
222
- coralnet_toolbox/Tools/QtWorkAreaTool.py,sha256=ApsIiEbkyWFWKW6qnFPPnL_Wgs2xa_Edif5kZU5_n8M,22733
215
+ coralnet_toolbox/Tools/QtTool.py,sha256=Nvf8pqdanf3QMVEvSilFhijXIuj-18jUuVz-tlTuNgY,5677
216
+ coralnet_toolbox/Tools/QtWorkAreaTool.py,sha256=uncOi2vWanPxrxXQimuAR0wqokHWlsm4VhzV1wC6Q9s,22884
223
217
  coralnet_toolbox/Tools/QtZoomTool.py,sha256=F9CAoABv1jxcUS7dyIh1FYjgjOXYRI1xtBPNIR1g62o,4041
224
218
  coralnet_toolbox/Tools/__init__.py,sha256=UYStZw1eA_yJ07IVli1MYSvk0pSCs1aS169LcQo630s,867
225
- coralnet_toolbox-0.0.75.dist-info/licenses/LICENSE.txt,sha256=AURacZ_G_PZKqqPQ9VB9Sqegblk67RNgWSGAYKwXXMY,521
226
- coralnet_toolbox-0.0.75.dist-info/METADATA,sha256=PRpW31atpfxGpf3hPm1eQdqdGEg5OlY6WEXZWFhFWr4,15328
227
- coralnet_toolbox-0.0.75.dist-info/WHEEL,sha256=JNWh1Fm1UdwIQV075glCn4MVuCRs0sotJIq-J6rbxCU,109
228
- coralnet_toolbox-0.0.75.dist-info/entry_points.txt,sha256=oEeMoDlJ_2lq95quOeDHIx9hZpubUlSo80OLtgbcrbM,63
229
- coralnet_toolbox-0.0.75.dist-info/top_level.txt,sha256=SMWPh4_9JfB8zVpPOOvjucV2_B_hvWW7bNWmMjG0LsY,17
230
- coralnet_toolbox-0.0.75.dist-info/RECORD,,
219
+ coralnet_toolbox/Transformers/QtBatchInference.py,sha256=Adry1H-oIMV6Ppo8yRJRx79oeG1yUthT5jqszj7EJ20,5764
220
+ coralnet_toolbox/Transformers/QtDeployModel.py,sha256=oH82XtP07f0n6fUhlPADUbFujTJt0ppSvitX15KeuaQ,25669
221
+ coralnet_toolbox/Transformers/__init__.py,sha256=Oef7mKgwlK_hi5ZtXlRTvpyKhf98JPwBELWE3zjrp9U,207
222
+ coralnet_toolbox/Transformers/Models/GroundingDINO.py,sha256=V77tapTLsXtTISbqsV9ZSGYgkJQTI1RKsT95QagYhqk,2747
223
+ coralnet_toolbox/Transformers/Models/OWLViT.py,sha256=l9R9XKN7grw6gF7EC9DWxF5sUsApLfi0WO-zj6pVVHU,2781
224
+ coralnet_toolbox/Transformers/Models/OmDetTurbo.py,sha256=vaXaQNqBCvnEFcPMt6x_EJI-gf-Wy3eYZPak7a527WY,2592
225
+ coralnet_toolbox/Transformers/Models/QtBase.py,sha256=nB9a4ZZqo2H4NW-uiPPpZPapSChlEcviq-uw_lxWBUg,4640
226
+ coralnet_toolbox/Transformers/Models/__init__.py,sha256=icJnQkt2vZksubEJuih0sT0q2vLR_Y-12WuTGquvxt8,260
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,,
@@ -1,81 +0,0 @@
1
- from dataclasses import dataclass
2
-
3
- import cv2
4
- import numpy as np
5
-
6
- import supervision as sv
7
-
8
- from transformers import AutoProcessor, AutoModelForZeroShotObjectDetection
9
-
10
- from autodistill.detection import CaptionOntology
11
- from autodistill.helpers import load_image
12
-
13
- from coralnet_toolbox.AutoDistill.Models.QtBase import QtBaseModel
14
-
15
-
16
- # ----------------------------------------------------------------------------------------------------------------------
17
- # Classes
18
- # ----------------------------------------------------------------------------------------------------------------------
19
-
20
-
21
- @dataclass
22
- class GroundingDINOModel(QtBaseModel):
23
- def __init__(self, ontology: CaptionOntology, model="SwinB", device: str = "cpu"):
24
- super().__init__(ontology, device)
25
-
26
- if model == "SwinB":
27
- model_name = "IDEA-Research/grounding-dino-base"
28
- else:
29
- model_name = "IDEA-Research/grounding-dino-tiny"
30
-
31
- self.processor = AutoProcessor.from_pretrained(model_name, use_fast=True)
32
- self.model = AutoModelForZeroShotObjectDetection.from_pretrained(model_name).to(self.device)
33
-
34
- def _process_predictions(self, image, texts, class_idx_mapper, confidence):
35
- """Process model predictions for a single image."""
36
- inputs = self.processor(text=texts, images=image, return_tensors="pt").to(self.device)
37
- outputs = self.model(**inputs)
38
-
39
- results = self.processor.post_process_grounded_object_detection(
40
- outputs,
41
- inputs.input_ids,
42
- box_threshold=confidence,
43
- text_threshold=confidence,
44
- target_sizes=[image.shape[:2]],
45
- )[0]
46
-
47
- boxes, scores, labels = (
48
- results["boxes"],
49
- results["scores"],
50
- results["text_labels"],
51
- )
52
-
53
- final_boxes, final_scores, final_labels = [], [], []
54
-
55
- for box, score, label in zip(boxes, scores, labels):
56
- try:
57
- box = box.detach().cpu().numpy().astype(int).tolist()
58
- score = score.item()
59
- # Grounding Dino issues...
60
- label = class_idx_mapper[label.split(" ")[0]]
61
-
62
- # Amplify scores
63
- if score < confidence:
64
- continue
65
-
66
- final_boxes.append(box)
67
- final_scores.append(score)
68
- final_labels.append(label)
69
-
70
- except Exception as e:
71
- print(f"Error: Issue converting predictions:\n{e}")
72
- continue
73
-
74
- if len(final_boxes) == 0:
75
- return None
76
-
77
- return sv.Detections(
78
- xyxy=np.array(final_boxes),
79
- class_id=np.array(final_labels),
80
- confidence=np.array(final_scores)
81
- )
@@ -1,76 +0,0 @@
1
- from dataclasses import dataclass
2
-
3
- import cv2
4
- import numpy as np
5
-
6
- import supervision as sv
7
-
8
- from transformers import OwlViTForObjectDetection, OwlViTProcessor
9
-
10
- from autodistill.detection import CaptionOntology
11
- from autodistill.helpers import load_image
12
-
13
- from coralnet_toolbox.AutoDistill.Models.QtBase import QtBaseModel
14
-
15
-
16
- # ----------------------------------------------------------------------------------------------------------------------
17
- # Classes
18
- # ----------------------------------------------------------------------------------------------------------------------
19
-
20
-
21
- @dataclass
22
- class OWLViTModel(QtBaseModel):
23
- def __init__(self, ontology: CaptionOntology, device: str = "cpu"):
24
- super().__init__(ontology, device)
25
-
26
- model_name = "google/owlvit-base-patch32"
27
- self.processor = OwlViTProcessor.from_pretrained(model_name, use_fast=True)
28
- self.model = OwlViTForObjectDetection.from_pretrained(model_name).to(self.device)
29
-
30
- def _process_predictions(self, image, texts, class_idx_mapper, confidence):
31
- """Process model predictions for a single image."""
32
- inputs = self.processor(text=texts, images=image, return_tensors="pt").to(self.device)
33
- outputs = self.model(**inputs)
34
-
35
- results = self.processor.post_process_object_detection(
36
- outputs,
37
- threshold=confidence,
38
- target_sizes=[image.shape[:2]]
39
- )[0]
40
-
41
- boxes, scores, labels = (
42
- results["boxes"],
43
- results["scores"],
44
- results["labels"],
45
- )
46
-
47
- final_boxes, final_scores, final_labels = [], [], []
48
-
49
- for box, score, label in zip(boxes, scores, labels):
50
- try:
51
- box = box.detach().cpu().numpy().astype(int).tolist()
52
- score = score.item()
53
- label_index = label.item()
54
- class_label = texts[label_index]
55
- label = class_idx_mapper[class_label]
56
-
57
- # Filter by confidence
58
- if score < confidence:
59
- continue
60
-
61
- final_boxes.append(box)
62
- final_scores.append(score)
63
- final_labels.append(label)
64
-
65
- except Exception as e:
66
- print(f"Error: Issue converting predictions:\n{e}")
67
- continue
68
-
69
- if len(final_boxes) == 0:
70
- return None
71
-
72
- return sv.Detections(
73
- xyxy=np.array(final_boxes),
74
- class_id=np.array(final_labels),
75
- confidence=np.array(final_scores)
76
- )
@@ -1,75 +0,0 @@
1
- from dataclasses import dataclass
2
-
3
- import cv2
4
- import numpy as np
5
-
6
- import supervision as sv
7
-
8
- from transformers import AutoProcessor, OmDetTurboForObjectDetection
9
-
10
- from autodistill.detection import CaptionOntology
11
- from autodistill.helpers import load_image
12
-
13
- from coralnet_toolbox.AutoDistill.Models.QtBase import QtBaseModel
14
-
15
-
16
- # ----------------------------------------------------------------------------------------------------------------------
17
- # Classes
18
- # ----------------------------------------------------------------------------------------------------------------------
19
-
20
-
21
- @dataclass
22
- class OmDetTurboModel(QtBaseModel):
23
- def __init__(self, ontology: CaptionOntology, device: str = "cpu"):
24
- super().__init__(ontology, device)
25
-
26
- model_name = "omlab/omdet-turbo-swin-tiny-hf"
27
- self.processor = AutoProcessor.from_pretrained(model_name, use_fast=True)
28
- self.model = OmDetTurboForObjectDetection.from_pretrained(model_name).to(self.device)
29
-
30
- def _process_predictions(self, image, texts, class_idx_mapper, confidence):
31
- """Process model predictions for a single image."""
32
- inputs = self.processor(text=texts, images=image, return_tensors="pt").to(self.device)
33
- outputs = self.model(**inputs)
34
-
35
- results = self.processor.post_process_grounded_object_detection(
36
- outputs,
37
- threshold=confidence,
38
- target_sizes=[image.shape[:2]],
39
- text_labels=texts,
40
- )[0]
41
-
42
- boxes, scores, labels = (
43
- results["boxes"],
44
- results["scores"],
45
- results["text_labels"],
46
- )
47
-
48
- final_boxes, final_scores, final_labels = [], [], []
49
-
50
- for box, score, label in zip(boxes, scores, labels):
51
- try:
52
- box = box.detach().cpu().numpy().astype(int).tolist()
53
- score = score.item()
54
- label = class_idx_mapper[label]
55
-
56
- # Amplify scores
57
- if score < confidence:
58
- continue
59
-
60
- final_boxes.append(box)
61
- final_scores.append(score)
62
- final_labels.append(label)
63
-
64
- except Exception as e:
65
- print(f"Error: Issue converting predictions:\n{e}")
66
- continue
67
-
68
- if len(final_boxes) == 0:
69
- return None
70
-
71
- return sv.Detections(
72
- xyxy=np.array(final_boxes),
73
- class_id=np.array(final_labels),
74
- confidence=np.array(final_scores)
75
- )
@@ -1,112 +0,0 @@
1
- from dataclasses import dataclass
2
- from abc import ABC, abstractmethod
3
-
4
- import cv2
5
- import numpy as np
6
-
7
- from autodistill.detection import CaptionOntology, DetectionBaseModel
8
- from autodistill.helpers import load_image
9
-
10
-
11
- # ----------------------------------------------------------------------------------------------------------------------
12
- # Classes
13
- # ----------------------------------------------------------------------------------------------------------------------
14
-
15
-
16
- @dataclass
17
- class QtBaseModel(DetectionBaseModel, ABC):
18
- """
19
- Base class for CoralNet foundation models that provides common functionality for
20
- handling inputs, processing image data, and formatting detection results.
21
- """
22
- ontology: CaptionOntology
23
-
24
- def __init__(self, ontology: CaptionOntology, device: str = "cpu"):
25
- """
26
- Initialize the base model with ontology and device.
27
-
28
- Args:
29
- ontology: The CaptionOntology containing class labels
30
- device: The compute device (cpu, cuda, etc.)
31
- """
32
- self.ontology = ontology
33
- self.device = device
34
- self.processor = None
35
- self.model = None
36
-
37
- @abstractmethod
38
- def _process_predictions(self, image, texts, class_idx_mapper, confidence):
39
- """
40
- Process model predictions for a single image.
41
-
42
- Args:
43
- image: The input image
44
- texts: The text prompts from the ontology
45
- class_idx_mapper: Mapping from text labels to class indices
46
- confidence: Confidence threshold
47
-
48
- Returns:
49
- sv.Detections object or None if no detections
50
- """
51
- pass
52
-
53
- def predict(self, input, confidence=0.01):
54
- """
55
- Run inference on input images.
56
-
57
- Args:
58
- input: Can be an image path, a list of image paths, a numpy array, or a list of numpy arrays
59
- confidence: Detection confidence threshold
60
-
61
- Returns:
62
- Either a single sv.Detections object or a list of sv.Detections objects
63
- """
64
- # Normalize input into a list of CV2-format images
65
- images = []
66
- if isinstance(input, str):
67
- # Single image path
68
- images = [load_image(input, return_format="cv2")]
69
- elif isinstance(input, np.ndarray):
70
- # Single image numpy array or batch of images
71
- if input.ndim == 3:
72
- images = [cv2.cvtColor(input, cv2.COLOR_RGB2BGR)]
73
- elif input.ndim == 4:
74
- for img in input:
75
- images.append(cv2.cvtColor(img, cv2.COLOR_RGB2BGR))
76
- else:
77
- raise ValueError("Unsupported numpy array dimensions.")
78
- elif isinstance(input, list):
79
- if all(isinstance(i, str) for i in input):
80
- # List of image paths
81
- for path in input:
82
- images.append(load_image(path, return_format="cv2"))
83
- elif all(isinstance(i, np.ndarray) for i in input):
84
- # List of image arrays
85
- for img in input:
86
- images.append(cv2.cvtColor(img, cv2.COLOR_RGB2BGR))
87
- else:
88
- raise ValueError("List must contain all image paths or all numpy arrays.")
89
- else:
90
- raise ValueError(
91
- "Input must be an image path, a list of image paths, a numpy array, or a list/array of numpy arrays."
92
- )
93
-
94
- detections_result = []
95
-
96
- # Get text prompts and create class index mapper
97
- texts = self.ontology.prompts()
98
- class_idx_mapper = {label: idx for idx, label in enumerate(texts)}
99
-
100
- # Loop through images
101
- for image in images:
102
- # Process predictions for this image
103
- detection = self._process_predictions(image, texts, class_idx_mapper, confidence)
104
- if detection is not None:
105
- detections_result.append(detection)
106
-
107
- # Return detections for a single image directly,
108
- # or a list of detections if multiple images were passed
109
- if len(detections_result) == 1:
110
- return detections_result[0]
111
- else:
112
- return detections_result