coralnet-toolbox 0.0.75__tar.gz → 0.0.76__tar.gz
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-0.0.75 → coralnet_toolbox-0.0.76}/PKG-INFO +9 -9
- {coralnet_toolbox-0.0.75 → coralnet_toolbox-0.0.76}/README.md +4 -6
- {coralnet_toolbox-0.0.75 → coralnet_toolbox-0.0.76}/coralnet_toolbox/Annotations/QtPolygonAnnotation.py +57 -12
- {coralnet_toolbox-0.0.75 → coralnet_toolbox-0.0.76}/coralnet_toolbox/Annotations/QtRectangleAnnotation.py +44 -14
- {coralnet_toolbox-0.0.75 → coralnet_toolbox-0.0.76}/coralnet_toolbox/Explorer/transformer_models.py +13 -2
- coralnet_toolbox-0.0.76/coralnet_toolbox/IO/QtExportMaskAnnotations.py +727 -0
- coralnet_toolbox-0.0.76/coralnet_toolbox/Icons/system_monitor.png +0 -0
- {coralnet_toolbox-0.0.75 → coralnet_toolbox-0.0.76}/coralnet_toolbox/QtEventFilter.py +4 -4
- {coralnet_toolbox-0.0.75 → coralnet_toolbox-0.0.76}/coralnet_toolbox/QtMainWindow.py +104 -64
- {coralnet_toolbox-0.0.75 → coralnet_toolbox-0.0.76}/coralnet_toolbox/QtProgressBar.py +1 -0
- coralnet_toolbox-0.0.76/coralnet_toolbox/QtSystemMonitor.py +370 -0
- {coralnet_toolbox-0.0.75 → coralnet_toolbox-0.0.76}/coralnet_toolbox/Results/ConvertResults.py +14 -8
- {coralnet_toolbox-0.0.75 → coralnet_toolbox-0.0.76}/coralnet_toolbox/Results/ResultsProcessor.py +3 -2
- {coralnet_toolbox-0.0.75 → coralnet_toolbox-0.0.76}/coralnet_toolbox/SAM/QtDeployGenerator.py +1 -1
- {coralnet_toolbox-0.0.75 → coralnet_toolbox-0.0.76}/coralnet_toolbox/SAM/QtDeployPredictor.py +10 -0
- {coralnet_toolbox-0.0.75 → coralnet_toolbox-0.0.76}/coralnet_toolbox/SeeAnything/QtDeployGenerator.py +15 -10
- {coralnet_toolbox-0.0.75 → coralnet_toolbox-0.0.76}/coralnet_toolbox/SeeAnything/QtDeployPredictor.py +10 -6
- {coralnet_toolbox-0.0.75 → coralnet_toolbox-0.0.76}/coralnet_toolbox/Tile/QtTileBatchInference.py +4 -4
- {coralnet_toolbox-0.0.75 → coralnet_toolbox-0.0.76}/coralnet_toolbox/Tools/QtSAMTool.py +140 -91
- coralnet_toolbox-0.0.76/coralnet_toolbox/Transformers/Models/GroundingDINO.py +72 -0
- coralnet_toolbox-0.0.76/coralnet_toolbox/Transformers/Models/OWLViT.py +72 -0
- coralnet_toolbox-0.0.76/coralnet_toolbox/Transformers/Models/OmDetTurbo.py +68 -0
- coralnet_toolbox-0.0.76/coralnet_toolbox/Transformers/Models/QtBase.py +120 -0
- {coralnet_toolbox-0.0.75/coralnet_toolbox/AutoDistill → coralnet_toolbox-0.0.76/coralnet_toolbox/Transformers}/Models/__init__.py +1 -1
- {coralnet_toolbox-0.0.75/coralnet_toolbox/AutoDistill → coralnet_toolbox-0.0.76/coralnet_toolbox/Transformers}/QtBatchInference.py +15 -15
- {coralnet_toolbox-0.0.75/coralnet_toolbox/AutoDistill → coralnet_toolbox-0.0.76/coralnet_toolbox/Transformers}/QtDeployModel.py +18 -16
- {coralnet_toolbox-0.0.75/coralnet_toolbox/AutoDistill → coralnet_toolbox-0.0.76/coralnet_toolbox/Transformers}/__init__.py +1 -1
- {coralnet_toolbox-0.0.75 → coralnet_toolbox-0.0.76}/coralnet_toolbox/__init__.py +1 -1
- {coralnet_toolbox-0.0.75 → coralnet_toolbox-0.0.76}/coralnet_toolbox/utilities.py +0 -15
- {coralnet_toolbox-0.0.75 → coralnet_toolbox-0.0.76}/coralnet_toolbox.egg-info/PKG-INFO +9 -9
- {coralnet_toolbox-0.0.75 → coralnet_toolbox-0.0.76}/coralnet_toolbox.egg-info/SOURCES.txt +11 -9
- {coralnet_toolbox-0.0.75 → coralnet_toolbox-0.0.76}/coralnet_toolbox.egg-info/requires.txt +4 -2
- coralnet_toolbox-0.0.76/diagram.svg +1 -0
- {coralnet_toolbox-0.0.75 → coralnet_toolbox-0.0.76}/mkdocs.yml +1 -0
- {coralnet_toolbox-0.0.75 → coralnet_toolbox-0.0.76}/pyproject.toml +2 -2
- {coralnet_toolbox-0.0.75 → coralnet_toolbox-0.0.76}/requirements.txt +4 -2
- {coralnet_toolbox-0.0.75 → coralnet_toolbox-0.0.76}/uv.lock +598 -498
- coralnet_toolbox-0.0.75/coralnet_toolbox/AutoDistill/Models/GroundingDINO.py +0 -81
- coralnet_toolbox-0.0.75/coralnet_toolbox/AutoDistill/Models/OWLViT.py +0 -76
- coralnet_toolbox-0.0.75/coralnet_toolbox/AutoDistill/Models/OmDetTurbo.py +0 -75
- coralnet_toolbox-0.0.75/coralnet_toolbox/AutoDistill/Models/QtBase.py +0 -112
- coralnet_toolbox-0.0.75/coralnet_toolbox/IO/QtExportMaskAnnotations.py +0 -592
- coralnet_toolbox-0.0.75/diagram.svg +0 -1
- {coralnet_toolbox-0.0.75 → coralnet_toolbox-0.0.76}/.editorconfig +0 -0
- {coralnet_toolbox-0.0.75 → coralnet_toolbox-0.0.76}/.gitallowed +0 -0
- {coralnet_toolbox-0.0.75 → coralnet_toolbox-0.0.76}/.github/ISSUE_TEMPLATE/bug_report.md +0 -0
- {coralnet_toolbox-0.0.75 → coralnet_toolbox-0.0.76}/.github/ISSUE_TEMPLATE/config.yml +0 -0
- {coralnet_toolbox-0.0.75 → coralnet_toolbox-0.0.76}/.github/ISSUE_TEMPLATE/feature_request.md +0 -0
- {coralnet_toolbox-0.0.75 → coralnet_toolbox-0.0.76}/.github/ISSUE_TEMPLATE/general_question.md +0 -0
- {coralnet_toolbox-0.0.75 → coralnet_toolbox-0.0.76}/.github/workflows/diagram.yml +0 -0
- {coralnet_toolbox-0.0.75 → coralnet_toolbox-0.0.76}/.github/workflows/docs-build.yml +0 -0
- {coralnet_toolbox-0.0.75 → coralnet_toolbox-0.0.76}/.github/workflows/docs.yml +0 -0
- {coralnet_toolbox-0.0.75 → coralnet_toolbox-0.0.76}/.github/workflows/installation.yml +0 -0
- {coralnet_toolbox-0.0.75 → coralnet_toolbox-0.0.76}/.github/workflows/macos.yml +0 -0
- {coralnet_toolbox-0.0.75 → coralnet_toolbox-0.0.76}/.github/workflows/pypi.yml +0 -0
- {coralnet_toolbox-0.0.75 → coralnet_toolbox-0.0.76}/.github/workflows/ubuntu.yml +0 -0
- {coralnet_toolbox-0.0.75 → coralnet_toolbox-0.0.76}/.github/workflows/windows.yml +0 -0
- {coralnet_toolbox-0.0.75 → coralnet_toolbox-0.0.76}/.gitignore +0 -0
- {coralnet_toolbox-0.0.75 → coralnet_toolbox-0.0.76}/LICENSE.txt +0 -0
- {coralnet_toolbox-0.0.75 → coralnet_toolbox-0.0.76}/MANIFEST.in +0 -0
- {coralnet_toolbox-0.0.75 → coralnet_toolbox-0.0.76}/coralnet_toolbox/Annotations/QtAnnotation.py +0 -0
- {coralnet_toolbox-0.0.75 → coralnet_toolbox-0.0.76}/coralnet_toolbox/Annotations/QtMaskAnnotation.py +0 -0
- {coralnet_toolbox-0.0.75 → coralnet_toolbox-0.0.76}/coralnet_toolbox/Annotations/QtMultiPolygonAnnotation.py +0 -0
- {coralnet_toolbox-0.0.75 → coralnet_toolbox-0.0.76}/coralnet_toolbox/Annotations/QtPatchAnnotation.py +0 -0
- {coralnet_toolbox-0.0.75 → coralnet_toolbox-0.0.76}/coralnet_toolbox/Annotations/__init__.py +0 -0
- {coralnet_toolbox-0.0.75 → coralnet_toolbox-0.0.76}/coralnet_toolbox/BreakTime/QtBreakout.py +0 -0
- {coralnet_toolbox-0.0.75 → coralnet_toolbox-0.0.76}/coralnet_toolbox/BreakTime/QtSnake.py +0 -0
- {coralnet_toolbox-0.0.75 → coralnet_toolbox-0.0.76}/coralnet_toolbox/BreakTime/__init__.py +0 -0
- {coralnet_toolbox-0.0.75 → coralnet_toolbox-0.0.76}/coralnet_toolbox/Common/QtGraphicsUtility.py +0 -0
- {coralnet_toolbox-0.0.75 → coralnet_toolbox-0.0.76}/coralnet_toolbox/Common/QtMarginInput.py +0 -0
- {coralnet_toolbox-0.0.75 → coralnet_toolbox-0.0.76}/coralnet_toolbox/Common/QtOverlapInput.py +0 -0
- {coralnet_toolbox-0.0.75 → coralnet_toolbox-0.0.76}/coralnet_toolbox/Common/QtTileSizeInput.py +0 -0
- {coralnet_toolbox-0.0.75 → coralnet_toolbox-0.0.76}/coralnet_toolbox/Common/QtUpdateImagePaths.py +0 -0
- {coralnet_toolbox-0.0.75 → coralnet_toolbox-0.0.76}/coralnet_toolbox/CoralNet/QtAuthenticate.py +0 -0
- {coralnet_toolbox-0.0.75 → coralnet_toolbox-0.0.76}/coralnet_toolbox/CoralNet/QtDownload.py +0 -0
- {coralnet_toolbox-0.0.75 → coralnet_toolbox-0.0.76}/coralnet_toolbox/CoralNet/__init__.py +0 -0
- {coralnet_toolbox-0.0.75 → coralnet_toolbox-0.0.76}/coralnet_toolbox/Explorer/QtDataItem.py +0 -0
- {coralnet_toolbox-0.0.75 → coralnet_toolbox-0.0.76}/coralnet_toolbox/Explorer/QtExplorer.py +0 -0
- {coralnet_toolbox-0.0.75 → coralnet_toolbox-0.0.76}/coralnet_toolbox/Explorer/QtFeatureStore.py +0 -0
- {coralnet_toolbox-0.0.75 → coralnet_toolbox-0.0.76}/coralnet_toolbox/Explorer/QtSettingsWidgets.py +0 -0
- {coralnet_toolbox-0.0.75 → coralnet_toolbox-0.0.76}/coralnet_toolbox/Explorer/QtViewers.py +0 -0
- {coralnet_toolbox-0.0.75 → coralnet_toolbox-0.0.76}/coralnet_toolbox/Explorer/__init__.py +0 -0
- {coralnet_toolbox-0.0.75 → coralnet_toolbox-0.0.76}/coralnet_toolbox/Explorer/yolo_models.py +0 -0
- {coralnet_toolbox-0.0.75 → coralnet_toolbox-0.0.76}/coralnet_toolbox/IO/QtExportAnnotations.py +0 -0
- {coralnet_toolbox-0.0.75 → coralnet_toolbox-0.0.76}/coralnet_toolbox/IO/QtExportCoralNetAnnotations.py +0 -0
- {coralnet_toolbox-0.0.75 → coralnet_toolbox-0.0.76}/coralnet_toolbox/IO/QtExportGeoJSONAnnotations.py +0 -0
- {coralnet_toolbox-0.0.75 → coralnet_toolbox-0.0.76}/coralnet_toolbox/IO/QtExportLabels.py +0 -0
- {coralnet_toolbox-0.0.75 → coralnet_toolbox-0.0.76}/coralnet_toolbox/IO/QtExportTagLabAnnotations.py +0 -0
- {coralnet_toolbox-0.0.75 → coralnet_toolbox-0.0.76}/coralnet_toolbox/IO/QtExportTagLabLabels.py +0 -0
- {coralnet_toolbox-0.0.75 → coralnet_toolbox-0.0.76}/coralnet_toolbox/IO/QtExportViscoreAnnotations.py +0 -0
- {coralnet_toolbox-0.0.75 → coralnet_toolbox-0.0.76}/coralnet_toolbox/IO/QtImportAnnotations.py +0 -0
- {coralnet_toolbox-0.0.75 → coralnet_toolbox-0.0.76}/coralnet_toolbox/IO/QtImportCoralNetAnnotations.py +0 -0
- {coralnet_toolbox-0.0.75 → coralnet_toolbox-0.0.76}/coralnet_toolbox/IO/QtImportCoralNetLabels.py +0 -0
- {coralnet_toolbox-0.0.75 → coralnet_toolbox-0.0.76}/coralnet_toolbox/IO/QtImportFrames.py +0 -0
- {coralnet_toolbox-0.0.75 → coralnet_toolbox-0.0.76}/coralnet_toolbox/IO/QtImportImages.py +0 -0
- {coralnet_toolbox-0.0.75 → coralnet_toolbox-0.0.76}/coralnet_toolbox/IO/QtImportLabels.py +0 -0
- {coralnet_toolbox-0.0.75 → coralnet_toolbox-0.0.76}/coralnet_toolbox/IO/QtImportTagLabAnnotations.py +0 -0
- {coralnet_toolbox-0.0.75 → coralnet_toolbox-0.0.76}/coralnet_toolbox/IO/QtImportTagLabLabels.py +0 -0
- {coralnet_toolbox-0.0.75 → coralnet_toolbox-0.0.76}/coralnet_toolbox/IO/QtImportViscoreAnnotations.py +0 -0
- {coralnet_toolbox-0.0.75 → coralnet_toolbox-0.0.76}/coralnet_toolbox/IO/QtOpenProject.py +0 -0
- {coralnet_toolbox-0.0.75 → coralnet_toolbox-0.0.76}/coralnet_toolbox/IO/QtSaveProject.py +0 -0
- {coralnet_toolbox-0.0.75 → coralnet_toolbox-0.0.76}/coralnet_toolbox/IO/__init__.py +0 -0
- {coralnet_toolbox-0.0.75 → coralnet_toolbox-0.0.76}/coralnet_toolbox/Icons/1.png +0 -0
- {coralnet_toolbox-0.0.75 → coralnet_toolbox-0.0.76}/coralnet_toolbox/Icons/2.png +0 -0
- {coralnet_toolbox-0.0.75 → coralnet_toolbox-0.0.76}/coralnet_toolbox/Icons/3.png +0 -0
- {coralnet_toolbox-0.0.75 → coralnet_toolbox-0.0.76}/coralnet_toolbox/Icons/4.png +0 -0
- {coralnet_toolbox-0.0.75 → coralnet_toolbox-0.0.76}/coralnet_toolbox/Icons/5.png +0 -0
- {coralnet_toolbox-0.0.75 → coralnet_toolbox-0.0.76}/coralnet_toolbox/Icons/__init__.py +0 -0
- {coralnet_toolbox-0.0.75 → coralnet_toolbox-0.0.76}/coralnet_toolbox/Icons/add.png +0 -0
- {coralnet_toolbox-0.0.75 → coralnet_toolbox-0.0.76}/coralnet_toolbox/Icons/all.png +0 -0
- {coralnet_toolbox-0.0.75 → coralnet_toolbox-0.0.76}/coralnet_toolbox/Icons/apple.png +0 -0
- {coralnet_toolbox-0.0.75 → coralnet_toolbox-0.0.76}/coralnet_toolbox/Icons/breakout.png +0 -0
- {coralnet_toolbox-0.0.75 → coralnet_toolbox-0.0.76}/coralnet_toolbox/Icons/coral.png +0 -0
- {coralnet_toolbox-0.0.75 → coralnet_toolbox-0.0.76}/coralnet_toolbox/Icons/edit.png +0 -0
- {coralnet_toolbox-0.0.75 → coralnet_toolbox-0.0.76}/coralnet_toolbox/Icons/eye.png +0 -0
- {coralnet_toolbox-0.0.75 → coralnet_toolbox-0.0.76}/coralnet_toolbox/Icons/hide.png +0 -0
- {coralnet_toolbox-0.0.75 → coralnet_toolbox-0.0.76}/coralnet_toolbox/Icons/home.png +0 -0
- {coralnet_toolbox-0.0.75 → coralnet_toolbox-0.0.76}/coralnet_toolbox/Icons/lock.png +0 -0
- {coralnet_toolbox-0.0.75 → coralnet_toolbox-0.0.76}/coralnet_toolbox/Icons/machine.png +0 -0
- {coralnet_toolbox-0.0.75 → coralnet_toolbox-0.0.76}/coralnet_toolbox/Icons/magic.png +0 -0
- {coralnet_toolbox-0.0.75 → coralnet_toolbox-0.0.76}/coralnet_toolbox/Icons/opaque.png +0 -0
- {coralnet_toolbox-0.0.75 → coralnet_toolbox-0.0.76}/coralnet_toolbox/Icons/parameters.png +0 -0
- {coralnet_toolbox-0.0.75 → coralnet_toolbox-0.0.76}/coralnet_toolbox/Icons/patch.png +0 -0
- {coralnet_toolbox-0.0.75 → coralnet_toolbox-0.0.76}/coralnet_toolbox/Icons/polygon.png +0 -0
- {coralnet_toolbox-0.0.75 → coralnet_toolbox-0.0.76}/coralnet_toolbox/Icons/rabbit.png +0 -0
- {coralnet_toolbox-0.0.75 → coralnet_toolbox-0.0.76}/coralnet_toolbox/Icons/rectangle.png +0 -0
- {coralnet_toolbox-0.0.75 → coralnet_toolbox-0.0.76}/coralnet_toolbox/Icons/remove.png +0 -0
- {coralnet_toolbox-0.0.75 → coralnet_toolbox-0.0.76}/coralnet_toolbox/Icons/rocket.png +0 -0
- {coralnet_toolbox-0.0.75 → coralnet_toolbox-0.0.76}/coralnet_toolbox/Icons/select.png +0 -0
- {coralnet_toolbox-0.0.75 → coralnet_toolbox-0.0.76}/coralnet_toolbox/Icons/settings.png +0 -0
- {coralnet_toolbox-0.0.75 → coralnet_toolbox-0.0.76}/coralnet_toolbox/Icons/snake.png +0 -0
- {coralnet_toolbox-0.0.75 → coralnet_toolbox-0.0.76}/coralnet_toolbox/Icons/target.png +0 -0
- {coralnet_toolbox-0.0.75 → coralnet_toolbox-0.0.76}/coralnet_toolbox/Icons/tile.png +0 -0
- {coralnet_toolbox-0.0.75 → coralnet_toolbox-0.0.76}/coralnet_toolbox/Icons/transparent.png +0 -0
- {coralnet_toolbox-0.0.75 → coralnet_toolbox-0.0.76}/coralnet_toolbox/Icons/turtle.png +0 -0
- {coralnet_toolbox-0.0.75 → coralnet_toolbox-0.0.76}/coralnet_toolbox/Icons/unlock.png +0 -0
- {coralnet_toolbox-0.0.75 → coralnet_toolbox-0.0.76}/coralnet_toolbox/Icons/user.png +0 -0
- {coralnet_toolbox-0.0.75 → coralnet_toolbox-0.0.76}/coralnet_toolbox/Icons/wizard.png +0 -0
- {coralnet_toolbox-0.0.75 → coralnet_toolbox-0.0.76}/coralnet_toolbox/Icons/workarea.png +0 -0
- {coralnet_toolbox-0.0.75 → coralnet_toolbox-0.0.76}/coralnet_toolbox/Icons/www.png +0 -0
- {coralnet_toolbox-0.0.75 → coralnet_toolbox-0.0.76}/coralnet_toolbox/MachineLearning/BatchInference/QtBase.py +0 -0
- {coralnet_toolbox-0.0.75 → coralnet_toolbox-0.0.76}/coralnet_toolbox/MachineLearning/BatchInference/QtClassify.py +0 -0
- {coralnet_toolbox-0.0.75 → coralnet_toolbox-0.0.76}/coralnet_toolbox/MachineLearning/BatchInference/QtDetect.py +0 -0
- {coralnet_toolbox-0.0.75 → coralnet_toolbox-0.0.76}/coralnet_toolbox/MachineLearning/BatchInference/QtSegment.py +0 -0
- {coralnet_toolbox-0.0.75 → coralnet_toolbox-0.0.76}/coralnet_toolbox/MachineLearning/BatchInference/__init__.py +0 -0
- {coralnet_toolbox-0.0.75 → coralnet_toolbox-0.0.76}/coralnet_toolbox/MachineLearning/Community/cfg/__init__.py +0 -0
- {coralnet_toolbox-0.0.75 → coralnet_toolbox-0.0.76}/coralnet_toolbox/MachineLearning/Community/cfg/classify/convnext_tiny.yaml +0 -0
- {coralnet_toolbox-0.0.75 → coralnet_toolbox-0.0.76}/coralnet_toolbox/MachineLearning/Community/cfg/classify/efficientnet_b0.yaml +0 -0
- {coralnet_toolbox-0.0.75 → coralnet_toolbox-0.0.76}/coralnet_toolbox/MachineLearning/Community/cfg/classify/mobilenet_v3_large.yaml +0 -0
- {coralnet_toolbox-0.0.75 → coralnet_toolbox-0.0.76}/coralnet_toolbox/MachineLearning/Community/cfg/classify/swin_t.yaml +0 -0
- {coralnet_toolbox-0.0.75 → coralnet_toolbox-0.0.76}/coralnet_toolbox/MachineLearning/Community/cfg/detect/convnext_tiny.yaml +0 -0
- {coralnet_toolbox-0.0.75 → coralnet_toolbox-0.0.76}/coralnet_toolbox/MachineLearning/Community/cfg/detect/mobilenet_v3_large-fpn.yaml +0 -0
- {coralnet_toolbox-0.0.75 → coralnet_toolbox-0.0.76}/coralnet_toolbox/MachineLearning/Community/cfg/detect/mobilenet_v3_small-fpn.yaml +0 -0
- {coralnet_toolbox-0.0.75 → coralnet_toolbox-0.0.76}/coralnet_toolbox/MachineLearning/Community/cfg/detect/resnet101.yaml +0 -0
- {coralnet_toolbox-0.0.75 → coralnet_toolbox-0.0.76}/coralnet_toolbox/MachineLearning/Community/cfg/detect/swin_t-fpn.yaml +0 -0
- {coralnet_toolbox-0.0.75 → coralnet_toolbox-0.0.76}/coralnet_toolbox/MachineLearning/Community/cfg/detect/swin_t.yaml +0 -0
- {coralnet_toolbox-0.0.75 → coralnet_toolbox-0.0.76}/coralnet_toolbox/MachineLearning/Community/cfg/detect/yolo11-p2.yaml +0 -0
- {coralnet_toolbox-0.0.75 → coralnet_toolbox-0.0.76}/coralnet_toolbox/MachineLearning/Community/cfg/detect/yolo11-p6.yaml +0 -0
- {coralnet_toolbox-0.0.75 → coralnet_toolbox-0.0.76}/coralnet_toolbox/MachineLearning/Community/cfg/segment/convnext_tiny.yaml +0 -0
- {coralnet_toolbox-0.0.75 → coralnet_toolbox-0.0.76}/coralnet_toolbox/MachineLearning/Community/cfg/segment/swin_t-fpn.yaml +0 -0
- {coralnet_toolbox-0.0.75 → coralnet_toolbox-0.0.76}/coralnet_toolbox/MachineLearning/Community/cfg/segment/swin_t.yaml +0 -0
- {coralnet_toolbox-0.0.75 → coralnet_toolbox-0.0.76}/coralnet_toolbox/MachineLearning/Community/cfg/segment/yolo11-p2.yaml +0 -0
- {coralnet_toolbox-0.0.75 → coralnet_toolbox-0.0.76}/coralnet_toolbox/MachineLearning/Community/cfg/segment/yolo11-p6.yaml +0 -0
- {coralnet_toolbox-0.0.75 → coralnet_toolbox-0.0.76}/coralnet_toolbox/MachineLearning/ConfusionMatrix.py +0 -0
- {coralnet_toolbox-0.0.75 → coralnet_toolbox-0.0.76}/coralnet_toolbox/MachineLearning/DeployModel/QtBase.py +0 -0
- {coralnet_toolbox-0.0.75 → coralnet_toolbox-0.0.76}/coralnet_toolbox/MachineLearning/DeployModel/QtClassify.py +0 -0
- {coralnet_toolbox-0.0.75 → coralnet_toolbox-0.0.76}/coralnet_toolbox/MachineLearning/DeployModel/QtDetect.py +0 -0
- {coralnet_toolbox-0.0.75 → coralnet_toolbox-0.0.76}/coralnet_toolbox/MachineLearning/DeployModel/QtSegment.py +0 -0
- {coralnet_toolbox-0.0.75 → coralnet_toolbox-0.0.76}/coralnet_toolbox/MachineLearning/DeployModel/__init__.py +0 -0
- {coralnet_toolbox-0.0.75 → coralnet_toolbox-0.0.76}/coralnet_toolbox/MachineLearning/EvaluateModel/QtBase.py +0 -0
- {coralnet_toolbox-0.0.75 → coralnet_toolbox-0.0.76}/coralnet_toolbox/MachineLearning/EvaluateModel/QtClassify.py +0 -0
- {coralnet_toolbox-0.0.75 → coralnet_toolbox-0.0.76}/coralnet_toolbox/MachineLearning/EvaluateModel/QtDetect.py +0 -0
- {coralnet_toolbox-0.0.75 → coralnet_toolbox-0.0.76}/coralnet_toolbox/MachineLearning/EvaluateModel/QtSegment.py +0 -0
- {coralnet_toolbox-0.0.75 → coralnet_toolbox-0.0.76}/coralnet_toolbox/MachineLearning/EvaluateModel/__init__.py +0 -0
- {coralnet_toolbox-0.0.75 → coralnet_toolbox-0.0.76}/coralnet_toolbox/MachineLearning/ExportDataset/QtBase.py +0 -0
- {coralnet_toolbox-0.0.75 → coralnet_toolbox-0.0.76}/coralnet_toolbox/MachineLearning/ExportDataset/QtClassify.py +0 -0
- {coralnet_toolbox-0.0.75 → coralnet_toolbox-0.0.76}/coralnet_toolbox/MachineLearning/ExportDataset/QtDetect.py +0 -0
- {coralnet_toolbox-0.0.75 → coralnet_toolbox-0.0.76}/coralnet_toolbox/MachineLearning/ExportDataset/QtSegment.py +0 -0
- {coralnet_toolbox-0.0.75 → coralnet_toolbox-0.0.76}/coralnet_toolbox/MachineLearning/ExportDataset/__init__.py +0 -0
- {coralnet_toolbox-0.0.75 → coralnet_toolbox-0.0.76}/coralnet_toolbox/MachineLearning/ImportDataset/QtBase.py +0 -0
- {coralnet_toolbox-0.0.75 → coralnet_toolbox-0.0.76}/coralnet_toolbox/MachineLearning/ImportDataset/QtDetect.py +0 -0
- {coralnet_toolbox-0.0.75 → coralnet_toolbox-0.0.76}/coralnet_toolbox/MachineLearning/ImportDataset/QtSegment.py +0 -0
- {coralnet_toolbox-0.0.75 → coralnet_toolbox-0.0.76}/coralnet_toolbox/MachineLearning/ImportDataset/__init__.py +0 -0
- {coralnet_toolbox-0.0.75 → coralnet_toolbox-0.0.76}/coralnet_toolbox/MachineLearning/MergeDatasets/QtBase.py +0 -0
- {coralnet_toolbox-0.0.75 → coralnet_toolbox-0.0.76}/coralnet_toolbox/MachineLearning/MergeDatasets/QtClassify.py +0 -0
- {coralnet_toolbox-0.0.75 → coralnet_toolbox-0.0.76}/coralnet_toolbox/MachineLearning/MergeDatasets/__init__.py +0 -0
- {coralnet_toolbox-0.0.75 → coralnet_toolbox-0.0.76}/coralnet_toolbox/MachineLearning/OptimizeModel/QtBase.py +0 -0
- {coralnet_toolbox-0.0.75 → coralnet_toolbox-0.0.76}/coralnet_toolbox/MachineLearning/OptimizeModel/__init__.py +0 -0
- {coralnet_toolbox-0.0.75 → coralnet_toolbox-0.0.76}/coralnet_toolbox/MachineLearning/TrainModel/QtBase.py +0 -0
- {coralnet_toolbox-0.0.75 → coralnet_toolbox-0.0.76}/coralnet_toolbox/MachineLearning/TrainModel/QtClassify.py +0 -0
- {coralnet_toolbox-0.0.75 → coralnet_toolbox-0.0.76}/coralnet_toolbox/MachineLearning/TrainModel/QtDetect.py +0 -0
- {coralnet_toolbox-0.0.75 → coralnet_toolbox-0.0.76}/coralnet_toolbox/MachineLearning/TrainModel/QtSegment.py +0 -0
- {coralnet_toolbox-0.0.75 → coralnet_toolbox-0.0.76}/coralnet_toolbox/MachineLearning/TrainModel/__init__.py +0 -0
- {coralnet_toolbox-0.0.75 → coralnet_toolbox-0.0.76}/coralnet_toolbox/MachineLearning/TuneModel/QtBase.py +0 -0
- {coralnet_toolbox-0.0.75 → coralnet_toolbox-0.0.76}/coralnet_toolbox/MachineLearning/TuneModel/QtClassify.py +0 -0
- {coralnet_toolbox-0.0.75 → coralnet_toolbox-0.0.76}/coralnet_toolbox/MachineLearning/TuneModel/QtDetect.py +0 -0
- {coralnet_toolbox-0.0.75 → coralnet_toolbox-0.0.76}/coralnet_toolbox/MachineLearning/TuneModel/QtSegment.py +0 -0
- {coralnet_toolbox-0.0.75 → coralnet_toolbox-0.0.76}/coralnet_toolbox/MachineLearning/TuneModel/__init__.py +0 -0
- {coralnet_toolbox-0.0.75 → coralnet_toolbox-0.0.76}/coralnet_toolbox/MachineLearning/TuneModel/tuner.py +0 -0
- {coralnet_toolbox-0.0.75 → coralnet_toolbox-0.0.76}/coralnet_toolbox/MachineLearning/VideoInference/QtBase.py +0 -0
- {coralnet_toolbox-0.0.75 → coralnet_toolbox-0.0.76}/coralnet_toolbox/MachineLearning/VideoInference/QtClassify.py +0 -0
- {coralnet_toolbox-0.0.75 → coralnet_toolbox-0.0.76}/coralnet_toolbox/MachineLearning/VideoInference/QtDetect.py +0 -0
- {coralnet_toolbox-0.0.75 → coralnet_toolbox-0.0.76}/coralnet_toolbox/MachineLearning/VideoInference/QtInference.py +0 -0
- {coralnet_toolbox-0.0.75 → coralnet_toolbox-0.0.76}/coralnet_toolbox/MachineLearning/VideoInference/QtSegment.py +0 -0
- {coralnet_toolbox-0.0.75 → coralnet_toolbox-0.0.76}/coralnet_toolbox/MachineLearning/VideoInference/QtVideoWidget.py +0 -0
- {coralnet_toolbox-0.0.75 → coralnet_toolbox-0.0.76}/coralnet_toolbox/MachineLearning/VideoInference/YOLO3D/__init__.py +0 -0
- {coralnet_toolbox-0.0.75 → coralnet_toolbox-0.0.76}/coralnet_toolbox/MachineLearning/VideoInference/YOLO3D/bbox3d_utils.py +0 -0
- {coralnet_toolbox-0.0.75 → coralnet_toolbox-0.0.76}/coralnet_toolbox/MachineLearning/VideoInference/YOLO3D/depth_model.py +0 -0
- {coralnet_toolbox-0.0.75 → coralnet_toolbox-0.0.76}/coralnet_toolbox/MachineLearning/VideoInference/YOLO3D/detection_model.py +0 -0
- {coralnet_toolbox-0.0.75 → coralnet_toolbox-0.0.76}/coralnet_toolbox/MachineLearning/VideoInference/YOLO3D/load_camera_params.py +0 -0
- {coralnet_toolbox-0.0.75 → coralnet_toolbox-0.0.76}/coralnet_toolbox/MachineLearning/VideoInference/YOLO3D/run.py +0 -0
- {coralnet_toolbox-0.0.75 → coralnet_toolbox-0.0.76}/coralnet_toolbox/MachineLearning/VideoInference/__init__.py +0 -0
- {coralnet_toolbox-0.0.75 → coralnet_toolbox-0.0.76}/coralnet_toolbox/MachineLearning/VideoInference/analytics.py +0 -0
- {coralnet_toolbox-0.0.75 → coralnet_toolbox-0.0.76}/coralnet_toolbox/MachineLearning/WeightedDataset.py +0 -0
- {coralnet_toolbox-0.0.75 → coralnet_toolbox-0.0.76}/coralnet_toolbox/MachineLearning/__init__.py +0 -0
- {coralnet_toolbox-0.0.75 → coralnet_toolbox-0.0.76}/coralnet_toolbox/QtAnnotationWindow.py +0 -0
- {coralnet_toolbox-0.0.75 → coralnet_toolbox-0.0.76}/coralnet_toolbox/QtConfidenceWindow.py +0 -0
- {coralnet_toolbox-0.0.75 → coralnet_toolbox-0.0.76}/coralnet_toolbox/QtImageWindow.py +0 -0
- {coralnet_toolbox-0.0.75 → coralnet_toolbox-0.0.76}/coralnet_toolbox/QtLabelWindow.py +0 -0
- {coralnet_toolbox-0.0.75 → coralnet_toolbox-0.0.76}/coralnet_toolbox/QtPatchSampling.py +0 -0
- {coralnet_toolbox-0.0.75 → coralnet_toolbox-0.0.76}/coralnet_toolbox/QtWorkArea.py +0 -0
- {coralnet_toolbox-0.0.75 → coralnet_toolbox-0.0.76}/coralnet_toolbox/Rasters/ImageFilter.py +0 -0
- {coralnet_toolbox-0.0.75 → coralnet_toolbox-0.0.76}/coralnet_toolbox/Rasters/QtRaster.py +0 -0
- {coralnet_toolbox-0.0.75 → coralnet_toolbox-0.0.76}/coralnet_toolbox/Rasters/RasterManager.py +0 -0
- {coralnet_toolbox-0.0.75 → coralnet_toolbox-0.0.76}/coralnet_toolbox/Rasters/RasterTableModel.py +0 -0
- {coralnet_toolbox-0.0.75 → coralnet_toolbox-0.0.76}/coralnet_toolbox/Rasters/__init__.py +0 -0
- {coralnet_toolbox-0.0.75 → coralnet_toolbox-0.0.76}/coralnet_toolbox/Results/CombineResults.py +0 -0
- {coralnet_toolbox-0.0.75 → coralnet_toolbox-0.0.76}/coralnet_toolbox/Results/MapResults.py +0 -0
- {coralnet_toolbox-0.0.75 → coralnet_toolbox-0.0.76}/coralnet_toolbox/Results/Masks.py +0 -0
- {coralnet_toolbox-0.0.75 → coralnet_toolbox-0.0.76}/coralnet_toolbox/Results/__init__.py +0 -0
- {coralnet_toolbox-0.0.75 → coralnet_toolbox-0.0.76}/coralnet_toolbox/SAM/QtBatchInference.py +0 -0
- {coralnet_toolbox-0.0.75 → coralnet_toolbox-0.0.76}/coralnet_toolbox/SAM/__init__.py +0 -0
- {coralnet_toolbox-0.0.75 → coralnet_toolbox-0.0.76}/coralnet_toolbox/SeeAnything/QtBatchInference.py +0 -0
- {coralnet_toolbox-0.0.75 → coralnet_toolbox-0.0.76}/coralnet_toolbox/SeeAnything/QtTrainModel.py +0 -0
- {coralnet_toolbox-0.0.75 → coralnet_toolbox-0.0.76}/coralnet_toolbox/SeeAnything/__init__.py +0 -0
- {coralnet_toolbox-0.0.75 → coralnet_toolbox-0.0.76}/coralnet_toolbox/Tile/QtTileCreation.py +0 -0
- {coralnet_toolbox-0.0.75 → coralnet_toolbox-0.0.76}/coralnet_toolbox/Tile/TileDataset/QtBase.py +0 -0
- {coralnet_toolbox-0.0.75 → coralnet_toolbox-0.0.76}/coralnet_toolbox/Tile/TileDataset/QtClassify.py +0 -0
- {coralnet_toolbox-0.0.75 → coralnet_toolbox-0.0.76}/coralnet_toolbox/Tile/TileDataset/QtDetect.py +0 -0
- {coralnet_toolbox-0.0.75 → coralnet_toolbox-0.0.76}/coralnet_toolbox/Tile/TileDataset/QtSegment.py +0 -0
- {coralnet_toolbox-0.0.75 → coralnet_toolbox-0.0.76}/coralnet_toolbox/Tile/TileDataset/__init__.py +0 -0
- {coralnet_toolbox-0.0.75 → coralnet_toolbox-0.0.76}/coralnet_toolbox/Tile/__init__.py +0 -0
- {coralnet_toolbox-0.0.75 → coralnet_toolbox-0.0.76}/coralnet_toolbox/Tools/QtCutSubTool.py +0 -0
- {coralnet_toolbox-0.0.75 → coralnet_toolbox-0.0.76}/coralnet_toolbox/Tools/QtMoveSubTool.py +0 -0
- {coralnet_toolbox-0.0.75 → coralnet_toolbox-0.0.76}/coralnet_toolbox/Tools/QtPanTool.py +0 -0
- {coralnet_toolbox-0.0.75 → coralnet_toolbox-0.0.76}/coralnet_toolbox/Tools/QtPatchTool.py +0 -0
- {coralnet_toolbox-0.0.75 → coralnet_toolbox-0.0.76}/coralnet_toolbox/Tools/QtPolygonTool.py +0 -0
- {coralnet_toolbox-0.0.75 → coralnet_toolbox-0.0.76}/coralnet_toolbox/Tools/QtRectangleTool.py +0 -0
- {coralnet_toolbox-0.0.75 → coralnet_toolbox-0.0.76}/coralnet_toolbox/Tools/QtResizeSubTool.py +0 -0
- {coralnet_toolbox-0.0.75 → coralnet_toolbox-0.0.76}/coralnet_toolbox/Tools/QtSeeAnythingTool.py +0 -0
- {coralnet_toolbox-0.0.75 → coralnet_toolbox-0.0.76}/coralnet_toolbox/Tools/QtSelectSubTool.py +0 -0
- {coralnet_toolbox-0.0.75 → coralnet_toolbox-0.0.76}/coralnet_toolbox/Tools/QtSelectTool.py +0 -0
- {coralnet_toolbox-0.0.75 → coralnet_toolbox-0.0.76}/coralnet_toolbox/Tools/QtSubTool.py +0 -0
- {coralnet_toolbox-0.0.75 → coralnet_toolbox-0.0.76}/coralnet_toolbox/Tools/QtSubtractSubTool.py +0 -0
- {coralnet_toolbox-0.0.75 → coralnet_toolbox-0.0.76}/coralnet_toolbox/Tools/QtTool.py +0 -0
- {coralnet_toolbox-0.0.75 → coralnet_toolbox-0.0.76}/coralnet_toolbox/Tools/QtWorkAreaTool.py +0 -0
- {coralnet_toolbox-0.0.75 → coralnet_toolbox-0.0.76}/coralnet_toolbox/Tools/QtZoomTool.py +0 -0
- {coralnet_toolbox-0.0.75 → coralnet_toolbox-0.0.76}/coralnet_toolbox/Tools/__init__.py +0 -0
- {coralnet_toolbox-0.0.75 → coralnet_toolbox-0.0.76}/coralnet_toolbox/main.py +0 -0
- {coralnet_toolbox-0.0.75 → coralnet_toolbox-0.0.76}/coralnet_toolbox.egg-info/dependency_links.txt +0 -0
- {coralnet_toolbox-0.0.75 → coralnet_toolbox-0.0.76}/coralnet_toolbox.egg-info/entry_points.txt +0 -0
- {coralnet_toolbox-0.0.75 → coralnet_toolbox-0.0.76}/coralnet_toolbox.egg-info/top_level.txt +0 -0
- {coralnet_toolbox-0.0.75 → coralnet_toolbox-0.0.76}/requirements_dev.txt +0 -0
- {coralnet_toolbox-0.0.75 → coralnet_toolbox-0.0.76}/setup.cfg +0 -0
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.4
|
2
2
|
Name: coralnet-toolbox
|
3
|
-
Version: 0.0.
|
3
|
+
Version: 0.0.76
|
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
|
@@ -16,7 +16,7 @@ License-File: LICENSE.txt
|
|
16
16
|
Requires-Dist: PyQt5>=5.15.11
|
17
17
|
Requires-Dist: pyqtdarktheme
|
18
18
|
Requires-Dist: pyqtgraph
|
19
|
-
Requires-Dist: ultralytics>=8.3.
|
19
|
+
Requires-Dist: ultralytics>=8.3.191
|
20
20
|
Requires-Dist: lap>=0.5.12
|
21
21
|
Requires-Dist: open-clip-torch>=2.20.0
|
22
22
|
Requires-Dist: supervision>=0.24.0
|
@@ -27,7 +27,7 @@ Requires-Dist: pycocotools
|
|
27
27
|
Requires-Dist: ujson
|
28
28
|
Requires-Dist: timm==0.9.2
|
29
29
|
Requires-Dist: autodistill
|
30
|
-
Requires-Dist: transformers>=4.
|
30
|
+
Requires-Dist: transformers>=4.56.0
|
31
31
|
Requires-Dist: hf_xet
|
32
32
|
Requires-Dist: x-segment-anything>=0.0.8
|
33
33
|
Requires-Dist: yolo-tiling>=0.0.19
|
@@ -39,6 +39,8 @@ Requires-Dist: beautifulsoup4>=4.12.2
|
|
39
39
|
Requires-Dist: webdriver_manager
|
40
40
|
Requires-Dist: dill
|
41
41
|
Requires-Dist: seaborn
|
42
|
+
Requires-Dist: GPUtil
|
43
|
+
Requires-Dist: psutil
|
42
44
|
Provides-Extra: all
|
43
45
|
Requires-Dist: coralnet-toolbox[extra]; extra == "all"
|
44
46
|
Dynamic: license-file
|
@@ -114,6 +116,7 @@ For a complete installation guide (including CUDA setup), see the [Installation
|
|
114
116
|
| **Overview** | Get the big picture | [📋 Read More](https://jordan-pierce.github.io/CoralNet-Toolbox/overview) |
|
115
117
|
| **Installation** | Detailed setup instructions | [⚙️ Setup Guide](https://jordan-pierce.github.io/CoralNet-Toolbox/installation) |
|
116
118
|
| **Usage** | Learn the tools | [🛠️ User Manual](https://jordan-pierce.github.io/CoralNet-Toolbox/usage) |
|
119
|
+
| **Hot Keys** | Keyboard shortcuts | [⌨️ Shortcuts](https://jordan-pierce.github.io/CoralNet-Toolbox/hot-keys) |
|
117
120
|
| **Classification** | Community tutorial | [🧠 AI Tutorial](https://jordan-pierce.github.io/CoralNet-Toolbox/classify) |
|
118
121
|
|
119
122
|
</div>
|
@@ -179,7 +182,7 @@ The toolbox integrates state-of-the-art models for efficient annotation workflow
|
|
179
182
|
| **Framework** | **Models** | **Capability** |
|
180
183
|
|:---:|:---:|:---:|
|
181
184
|
| **YOLOE** | See Anything | Visual prompt detection |
|
182
|
-
| **
|
185
|
+
| **Transformers** | Grounding DINO • OWLViT • OmDetTurbo | Zero-shot detection |
|
183
186
|
|
184
187
|
</div>
|
185
188
|
|
@@ -277,12 +280,9 @@ uv pip install coralnet-toolbox
|
|
277
280
|
### 🚀 **Step 3: GPU Acceleration (Optional)**
|
278
281
|
For CUDA-enabled systems:
|
279
282
|
```bash
|
280
|
-
# Example for CUDA
|
281
|
-
conda install nvidia/label/cuda-11.8.0::cuda-nvcc -y
|
282
|
-
conda install nvidia/label/cuda-11.8.0::cuda-toolkit -y
|
283
|
-
|
283
|
+
# Example for CUDA 12.9
|
284
284
|
# Install PyTorch with CUDA support
|
285
|
-
uv pip install torch torchvision --index-url https://download.pytorch.org/whl/
|
285
|
+
uv pip install torch torchvision --index-url https://download.pytorch.org/whl/cu129 --upgrade
|
286
286
|
```
|
287
287
|
|
288
288
|
### 🏃♂️ **Step 4: Launch**
|
@@ -69,6 +69,7 @@ For a complete installation guide (including CUDA setup), see the [Installation
|
|
69
69
|
| **Overview** | Get the big picture | [📋 Read More](https://jordan-pierce.github.io/CoralNet-Toolbox/overview) |
|
70
70
|
| **Installation** | Detailed setup instructions | [⚙️ Setup Guide](https://jordan-pierce.github.io/CoralNet-Toolbox/installation) |
|
71
71
|
| **Usage** | Learn the tools | [🛠️ User Manual](https://jordan-pierce.github.io/CoralNet-Toolbox/usage) |
|
72
|
+
| **Hot Keys** | Keyboard shortcuts | [⌨️ Shortcuts](https://jordan-pierce.github.io/CoralNet-Toolbox/hot-keys) |
|
72
73
|
| **Classification** | Community tutorial | [🧠 AI Tutorial](https://jordan-pierce.github.io/CoralNet-Toolbox/classify) |
|
73
74
|
|
74
75
|
</div>
|
@@ -134,7 +135,7 @@ The toolbox integrates state-of-the-art models for efficient annotation workflow
|
|
134
135
|
| **Framework** | **Models** | **Capability** |
|
135
136
|
|:---:|:---:|:---:|
|
136
137
|
| **YOLOE** | See Anything | Visual prompt detection |
|
137
|
-
| **
|
138
|
+
| **Transformers** | Grounding DINO • OWLViT • OmDetTurbo | Zero-shot detection |
|
138
139
|
|
139
140
|
</div>
|
140
141
|
|
@@ -232,12 +233,9 @@ uv pip install coralnet-toolbox
|
|
232
233
|
### 🚀 **Step 3: GPU Acceleration (Optional)**
|
233
234
|
For CUDA-enabled systems:
|
234
235
|
```bash
|
235
|
-
# Example for CUDA
|
236
|
-
conda install nvidia/label/cuda-11.8.0::cuda-nvcc -y
|
237
|
-
conda install nvidia/label/cuda-11.8.0::cuda-toolkit -y
|
238
|
-
|
236
|
+
# Example for CUDA 12.9
|
239
237
|
# Install PyTorch with CUDA support
|
240
|
-
uv pip install torch torchvision --index-url https://download.pytorch.org/whl/
|
238
|
+
uv pip install torch torchvision --index-url https://download.pytorch.org/whl/cu129 --upgrade
|
241
239
|
```
|
242
240
|
|
243
241
|
### 🏃♂️ **Step 4: Launch**
|
@@ -306,20 +306,30 @@ class PolygonAnnotation(Annotation):
|
|
306
306
|
self.set_cropped_bbox()
|
307
307
|
# Get the bounding box of the polygon
|
308
308
|
min_x, min_y, max_x, max_y = self.cropped_bbox
|
309
|
-
|
309
|
+
|
310
|
+
# Ensure min/max values are correctly ordered
|
311
|
+
min_x, max_x = min(min_x, max_x), max(min_x, max_x)
|
312
|
+
min_y, max_y = min(min_y, max_y), max(min_y, max_y)
|
313
|
+
|
314
|
+
# Clamp values to image bounds
|
315
|
+
min_x = max(0, min(rasterio_src.width - 1, min_x))
|
316
|
+
min_y = max(0, min(rasterio_src.height - 1, min_y))
|
317
|
+
max_x = max(min_x + 1, min(rasterio_src.width, max_x))
|
318
|
+
max_y = max(min_y + 1, min(rasterio_src.height, max_y))
|
319
|
+
|
310
320
|
# Calculate the window for rasterio
|
311
321
|
window = Window(
|
312
|
-
col_off=
|
313
|
-
row_off=
|
314
|
-
width=
|
315
|
-
height=
|
322
|
+
col_off=int(min_x),
|
323
|
+
row_off=int(min_y),
|
324
|
+
width=int(max_x - min_x),
|
325
|
+
height=int(max_y - min_y)
|
316
326
|
)
|
317
|
-
|
327
|
+
|
318
328
|
# Convert rasterio to QImage
|
319
329
|
q_image = rasterio_to_cropped_image(self.rasterio_src, window)
|
320
330
|
# Convert QImage to QPixmap
|
321
331
|
self.cropped_image = QPixmap.fromImage(q_image)
|
322
|
-
|
332
|
+
|
323
333
|
self.annotationUpdated.emit(self) # Notify update
|
324
334
|
|
325
335
|
def create_graphics_item(self, scene: QGraphicsScene):
|
@@ -423,7 +433,7 @@ class PolygonAnnotation(Annotation):
|
|
423
433
|
self.update_graphics_item()
|
424
434
|
self.annotationUpdated.emit(self) # Notify update
|
425
435
|
|
426
|
-
def update_annotation_size(self,
|
436
|
+
def update_annotation_size(self, scale_factor: float):
|
427
437
|
"""
|
428
438
|
Grow/shrink the polygon and its holes by scaling vertices radially from the centroid.
|
429
439
|
"""
|
@@ -433,18 +443,53 @@ class PolygonAnnotation(Annotation):
|
|
433
443
|
return
|
434
444
|
|
435
445
|
# 1. Use the true geometric centroid as the pivot for scaling.
|
436
|
-
# This is correctly calculated by the new set_centroid() method.
|
437
446
|
centroid_x = self.center_xy.x()
|
438
447
|
centroid_y = self.center_xy.y()
|
439
448
|
|
440
|
-
# 2. Determine the scale factor
|
449
|
+
# 2. Determine the scale factor.
|
441
450
|
step = 0.01 # Adjust for finer or coarser changes
|
442
|
-
if
|
451
|
+
if scale_factor > 1.0:
|
443
452
|
scale = 1.0 + step
|
444
|
-
elif
|
453
|
+
elif scale_factor < 1.0:
|
445
454
|
scale = 1.0 - step
|
446
455
|
else:
|
447
456
|
scale = 1.0
|
457
|
+
|
458
|
+
# Check for image boundaries before scaling
|
459
|
+
if hasattr(self, 'rasterio_src'):
|
460
|
+
# Before scaling, check if any point would go beyond image boundaries
|
461
|
+
img_width = self.rasterio_src.width
|
462
|
+
img_height = self.rasterio_src.height
|
463
|
+
padding = 10 # pixels of padding
|
464
|
+
|
465
|
+
# Check outer boundary points
|
466
|
+
for p in self.points:
|
467
|
+
dx = p.x() - centroid_x
|
468
|
+
dy = p.y() - centroid_y
|
469
|
+
new_x = centroid_x + dx * scale
|
470
|
+
new_y = centroid_y + dy * scale
|
471
|
+
|
472
|
+
if new_x < -padding or \
|
473
|
+
new_y < -padding or \
|
474
|
+
new_x > img_width + padding or \
|
475
|
+
new_y > img_height + padding:
|
476
|
+
# Point would be out of bounds, don't scale
|
477
|
+
return
|
478
|
+
|
479
|
+
# Check holes points too
|
480
|
+
for hole in self.holes:
|
481
|
+
for p in hole:
|
482
|
+
dx = p.x() - centroid_x
|
483
|
+
dy = p.y() - centroid_y
|
484
|
+
new_x = centroid_x + dx * scale
|
485
|
+
new_y = centroid_y + dy * scale
|
486
|
+
|
487
|
+
if new_x < -padding or \
|
488
|
+
new_y < -padding or \
|
489
|
+
new_x > img_width + padding or \
|
490
|
+
new_y > img_height + padding:
|
491
|
+
# Point would be out of bounds, don't scale
|
492
|
+
return
|
448
493
|
|
449
494
|
# 3. Scale the outer boundary points.
|
450
495
|
new_points = []
|
@@ -213,23 +213,29 @@ class RectangleAnnotation(Annotation):
|
|
213
213
|
# Get the bounding box of the rectangle
|
214
214
|
min_x, min_y, max_x, max_y = self.cropped_bbox
|
215
215
|
|
216
|
-
# Ensure min/max values are correctly ordered
|
216
|
+
# Ensure min/max values are correctly ordered
|
217
217
|
min_x, max_x = min(min_x, max_x), max(min_x, max_x)
|
218
218
|
min_y, max_y = min(min_y, max_y), max(min_y, max_y)
|
219
|
-
|
219
|
+
|
220
|
+
# Clamp values to image bounds
|
221
|
+
min_x = max(0, min(rasterio_src.width - 1, min_x))
|
222
|
+
min_y = max(0, min(rasterio_src.height - 1, min_y))
|
223
|
+
max_x = max(min_x + 1, min(rasterio_src.width, max_x))
|
224
|
+
max_y = max(min_y + 1, min(rasterio_src.height, max_y))
|
225
|
+
|
220
226
|
# Calculate the window for rasterio
|
221
227
|
window = Window(
|
222
|
-
col_off=
|
223
|
-
row_off=
|
224
|
-
width=
|
225
|
-
height=
|
228
|
+
col_off=int(min_x),
|
229
|
+
row_off=int(min_y),
|
230
|
+
width=int(max_x - min_x),
|
231
|
+
height=int(max_y - min_y)
|
226
232
|
)
|
227
|
-
|
233
|
+
|
228
234
|
# Convert rasterio to QImage
|
229
235
|
q_image = rasterio_to_cropped_image(self.rasterio_src, window)
|
230
236
|
# Convert QImage to QPixmap
|
231
237
|
self.cropped_image = QPixmap.fromImage(q_image)
|
232
|
-
|
238
|
+
|
233
239
|
self.annotationUpdated.emit(self) # Notify update
|
234
240
|
|
235
241
|
def create_graphics_item(self, scene: QGraphicsScene):
|
@@ -282,13 +288,37 @@ class RectangleAnnotation(Annotation):
|
|
282
288
|
# Clear the machine confidence
|
283
289
|
self.update_user_confidence(self.label)
|
284
290
|
|
285
|
-
#
|
286
|
-
|
287
|
-
|
288
|
-
|
289
|
-
|
291
|
+
# Calculate new dimensions
|
292
|
+
current_width = self.bottom_right.x() - self.top_left.x()
|
293
|
+
current_height = self.bottom_right.y() - self.top_left.y()
|
294
|
+
new_width = current_width * scale_factor
|
295
|
+
new_height = current_height * scale_factor
|
296
|
+
|
297
|
+
# Calculate tentative new corners
|
298
|
+
new_left = self.center_xy.x() - new_width / 2
|
299
|
+
new_top = self.center_xy.y() - new_height / 2
|
300
|
+
new_right = self.center_xy.x() + new_width / 2
|
301
|
+
new_bottom = self.center_xy.y() + new_height / 2
|
302
|
+
|
303
|
+
# Check if we're within valid image bounds (or use a reasonable padding)
|
304
|
+
# Assuming we have access to the image dimensions
|
305
|
+
if hasattr(self, 'rasterio_src'):
|
306
|
+
img_width = self.rasterio_src.width
|
307
|
+
img_height = self.rasterio_src.height
|
308
|
+
|
309
|
+
# Apply reasonable bounds with some margin
|
310
|
+
padding = 10 # pixels
|
311
|
+
if new_left < -padding or new_top < -padding or new_right > img_width + padding or new_bottom > img_height + padding:
|
312
|
+
# Don't resize beyond these limits
|
313
|
+
return
|
314
|
+
|
315
|
+
# Update the rectangle coordinates
|
316
|
+
self.top_left = QPointF(new_left, new_top)
|
317
|
+
self.bottom_right = QPointF(new_right, new_bottom)
|
318
|
+
|
319
|
+
# Update graphics and notify
|
290
320
|
self.update_graphics_item()
|
291
|
-
self.annotationUpdated.emit(self)
|
321
|
+
self.annotationUpdated.emit(self)
|
292
322
|
|
293
323
|
def resize(self, handle: str, new_pos: QPointF):
|
294
324
|
"""Resize the annotation based on the handle and new position."""
|
{coralnet_toolbox-0.0.75 → coralnet_toolbox-0.0.76}/coralnet_toolbox/Explorer/transformer_models.py
RENAMED
@@ -7,12 +7,23 @@ Qt dependencies.
|
|
7
7
|
"""
|
8
8
|
|
9
9
|
TRANSFORMER_MODELS = {
|
10
|
+
'ResNet-50': 'microsoft/resnet-50',
|
11
|
+
'ResNet-101': 'microsoft/resnet-101',
|
10
12
|
'DINOv2 (Small)': 'facebook/dinov2-small',
|
11
13
|
'DINOv2 (Base)': 'facebook/dinov2-base',
|
12
14
|
'DINOv2 (Large)': 'facebook/dinov2-large',
|
15
|
+
'DINOv2 (Giant)': 'facebook/dinov2-giant',
|
16
|
+
'DINOv2 (Giant ImageNet1k)': 'facebook/dinov2-giant-imagenet1k-1-layer',
|
13
17
|
'DINOv3 ConvNext (Tiny)': 'facebook/dinov3-convnext-tiny-pretrain-lvd1689m',
|
14
|
-
'
|
15
|
-
'
|
18
|
+
'DINOv3 ConvNext (Small)': 'facebook/dinov3-convnext-small-pretrain-lvd1689m',
|
19
|
+
'DINOv3 ConvNext (Base)': 'facebook/dinov3-convnext-base-pretrain-lvd1689m',
|
20
|
+
'DINOv3 ConvNext (Large)': 'facebook/dinov3-convnext-large-pretrain-lvd1689m',
|
21
|
+
'DINOv3 ViT (Small/16)': 'facebook/dinov3-vits16-pretrain-lvd1689m',
|
22
|
+
'DINOv3 ViT (Small/16+)': 'facebook/dinov3-vits16plus-pretrain-lvd1689m',
|
23
|
+
'DINOv3 ViT (Base/16)': 'facebook/dinov3-vitb16-pretrain-lvd1689m',
|
24
|
+
'DINOv3 ViT (Large/16)': 'facebook/dinov3-vitl16-pretrain-lvd1689m',
|
25
|
+
'DINOv3 ViT (Huge/16+)': 'facebook/dinov3-vith16plus-pretrain-lvd1689m',
|
26
|
+
'DINOv3 ViT (7B/16)': 'facebook/dinov3-vit7b16-pretrain-lvd1689m',
|
16
27
|
'Swin Transformer (Tiny)': 'microsoft/swin-tiny-patch4-window7-224',
|
17
28
|
'Swin Transformer (Base)': 'microsoft/swin-base-patch4-window7-224',
|
18
29
|
'ViT (Base)': 'google/vit-base-patch16-224',
|