dsa-helpers 1.1.2.dev0__tar.gz → 1.1.3.dev0__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.
- {dsa_helpers-1.1.2.dev0/dsa_helpers.egg-info → dsa_helpers-1.1.3.dev0}/PKG-INFO +1 -1
- {dsa_helpers-1.1.2.dev0 → dsa_helpers-1.1.3.dev0}/dsa_helpers/__init__.py +1 -1
- {dsa_helpers-1.1.2.dev0 → dsa_helpers-1.1.3.dev0}/dsa_helpers/girder_utils.py +16 -2
- {dsa_helpers-1.1.2.dev0 → dsa_helpers-1.1.3.dev0}/dsa_helpers/tiling.py +2 -1
- {dsa_helpers-1.1.2.dev0 → dsa_helpers-1.1.3.dev0/dsa_helpers.egg-info}/PKG-INFO +1 -1
- {dsa_helpers-1.1.2.dev0 → dsa_helpers-1.1.3.dev0}/pyproject.toml +1 -1
- {dsa_helpers-1.1.2.dev0 → dsa_helpers-1.1.3.dev0}/.gitignore +0 -0
- {dsa_helpers-1.1.2.dev0 → dsa_helpers-1.1.3.dev0}/.readthedocs.yaml +0 -0
- {dsa_helpers-1.1.2.dev0 → dsa_helpers-1.1.3.dev0}/LICENSE +0 -0
- {dsa_helpers-1.1.2.dev0 → dsa_helpers-1.1.3.dev0}/README.md +0 -0
- {dsa_helpers-1.1.2.dev0 → dsa_helpers-1.1.3.dev0}/app.py +0 -0
- {dsa_helpers-1.1.2.dev0 → dsa_helpers-1.1.3.dev0}/dev.py +0 -0
- {dsa_helpers-1.1.2.dev0 → dsa_helpers-1.1.3.dev0}/docs/requirements.txt +0 -0
- {dsa_helpers-1.1.2.dev0 → dsa_helpers-1.1.3.dev0}/docs/source/conf.py +0 -0
- {dsa_helpers-1.1.2.dev0 → dsa_helpers-1.1.3.dev0}/docs/source/index.rst +0 -0
- {dsa_helpers-1.1.2.dev0 → dsa_helpers-1.1.3.dev0}/dsa_helpers/cli_utils.py +0 -0
- {dsa_helpers-1.1.2.dev0 → dsa_helpers-1.1.3.dev0}/dsa_helpers/dash/__init__.py +0 -0
- {dsa_helpers-1.1.2.dev0 → dsa_helpers-1.1.3.dev0}/dsa_helpers/dash/dash_paperdragon_utils.py +0 -0
- {dsa_helpers-1.1.2.dev0 → dsa_helpers-1.1.3.dev0}/dsa_helpers/dash/header.py +0 -0
- {dsa_helpers-1.1.2.dev0 → dsa_helpers-1.1.3.dev0}/dsa_helpers/dash/header_callbacks.py +0 -0
- {dsa_helpers-1.1.2.dev0 → dsa_helpers-1.1.3.dev0}/dsa_helpers/gpd_utils.py +0 -0
- {dsa_helpers-1.1.2.dev0 → dsa_helpers-1.1.3.dev0}/dsa_helpers/image_utils.py +0 -0
- {dsa_helpers-1.1.2.dev0 → dsa_helpers-1.1.3.dev0}/dsa_helpers/imread.py +0 -0
- {dsa_helpers-1.1.2.dev0 → dsa_helpers-1.1.3.dev0}/dsa_helpers/imwrite.py +0 -0
- {dsa_helpers-1.1.2.dev0 → dsa_helpers-1.1.3.dev0}/dsa_helpers/ml/__init__.py +0 -0
- {dsa_helpers-1.1.2.dev0 → dsa_helpers-1.1.3.dev0}/dsa_helpers/ml/callbacks.py +0 -0
- {dsa_helpers-1.1.2.dev0 → dsa_helpers-1.1.3.dev0}/dsa_helpers/ml/datasets/SegFormerSegmentationDataset.py +0 -0
- {dsa_helpers-1.1.2.dev0 → dsa_helpers-1.1.3.dev0}/dsa_helpers/ml/datasets/__init__.py +0 -0
- {dsa_helpers-1.1.2.dev0 → dsa_helpers-1.1.3.dev0}/dsa_helpers/ml/datasets/utils.py +0 -0
- {dsa_helpers-1.1.2.dev0 → dsa_helpers-1.1.3.dev0}/dsa_helpers/ml/evaluate.py +0 -0
- {dsa_helpers-1.1.2.dev0 → dsa_helpers-1.1.3.dev0}/dsa_helpers/ml/metrics.py +0 -0
- {dsa_helpers-1.1.2.dev0 → dsa_helpers-1.1.3.dev0}/dsa_helpers/ml/object_detection/__init__.py +0 -0
- {dsa_helpers-1.1.2.dev0 → dsa_helpers-1.1.3.dev0}/dsa_helpers/ml/object_detection/get_pearce_roi_images.py +0 -0
- {dsa_helpers-1.1.2.dev0 → dsa_helpers-1.1.3.dev0}/dsa_helpers/ml/object_detection/tile_image.py +0 -0
- {dsa_helpers-1.1.2.dev0 → dsa_helpers-1.1.3.dev0}/dsa_helpers/ml/object_detection/utils.py +0 -0
- {dsa_helpers-1.1.2.dev0 → dsa_helpers-1.1.3.dev0}/dsa_helpers/ml/segformer_semantic_segmentation/__init__.py +0 -0
- {dsa_helpers-1.1.2.dev0 → dsa_helpers-1.1.3.dev0}/dsa_helpers/ml/segformer_semantic_segmentation/inference.py +0 -0
- {dsa_helpers-1.1.2.dev0 → dsa_helpers-1.1.3.dev0}/dsa_helpers/ml/transforms/__init__.py +0 -0
- {dsa_helpers-1.1.2.dev0 → dsa_helpers-1.1.3.dev0}/dsa_helpers/ml/transforms/segformer_transforms.py +0 -0
- {dsa_helpers-1.1.2.dev0 → dsa_helpers-1.1.3.dev0}/dsa_helpers/mongo_utils.py +0 -0
- {dsa_helpers-1.1.2.dev0 → dsa_helpers-1.1.3.dev0}/dsa_helpers/tile_utils.py +0 -0
- {dsa_helpers-1.1.2.dev0 → dsa_helpers-1.1.3.dev0}/dsa_helpers/utils.py +0 -0
- {dsa_helpers-1.1.2.dev0 → dsa_helpers-1.1.3.dev0}/dsa_helpers.egg-info/SOURCES.txt +0 -0
- {dsa_helpers-1.1.2.dev0 → dsa_helpers-1.1.3.dev0}/dsa_helpers.egg-info/dependency_links.txt +0 -0
- {dsa_helpers-1.1.2.dev0 → dsa_helpers-1.1.3.dev0}/dsa_helpers.egg-info/requires.txt +0 -0
- {dsa_helpers-1.1.2.dev0 → dsa_helpers-1.1.3.dev0}/dsa_helpers.egg-info/top_level.txt +0 -0
- {dsa_helpers-1.1.2.dev0 → dsa_helpers-1.1.3.dev0}/setup.cfg +0 -0
- {dsa_helpers-1.1.2.dev0 → dsa_helpers-1.1.3.dev0}/tests/app/Dockerfile +0 -0
- {dsa_helpers-1.1.2.dev0 → dsa_helpers-1.1.3.dev0}/tests/app/app.py +0 -0
- {dsa_helpers-1.1.2.dev0 → dsa_helpers-1.1.3.dev0}/tests/docker-compose.yaml +0 -0
- {dsa_helpers-1.1.2.dev0 → dsa_helpers-1.1.3.dev0}/tests/test.ipynb +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: dsa_helpers
|
|
3
|
-
Version: 1.1.
|
|
3
|
+
Version: 1.1.3.dev0
|
|
4
4
|
Summary: Utility functions for working with the DSA girder client.
|
|
5
5
|
Author-email: "Juan C. Vizcarra" <jvizcar@emory.edu>
|
|
6
6
|
Maintainer-email: "Juan C. Vizcarra" <jvizcar@emory.edu>
|
|
@@ -21,7 +21,7 @@ from pathlib import Path
|
|
|
21
21
|
import cv2 as cv
|
|
22
22
|
from copy import deepcopy
|
|
23
23
|
import geopandas as gpd
|
|
24
|
-
from shapely.geometry import Polygon
|
|
24
|
+
from shapely.geometry import Polygon, box
|
|
25
25
|
from .gpd_utils import remove_gdf_overlaps
|
|
26
26
|
|
|
27
27
|
|
|
@@ -687,7 +687,9 @@ def get_thumbnail_with_mask(
|
|
|
687
687
|
|
|
688
688
|
|
|
689
689
|
def remove_overlapping_annotations(
|
|
690
|
-
annotation: dict,
|
|
690
|
+
annotation: dict,
|
|
691
|
+
group_order: list[str],
|
|
692
|
+
max_coords: tuple[int, int] | None = None,
|
|
691
693
|
) -> dict:
|
|
692
694
|
"""Remove overlapping regions from elements.
|
|
693
695
|
|
|
@@ -697,6 +699,11 @@ def remove_overlapping_annotations(
|
|
|
697
699
|
earlier in the list will take precedence over those later when
|
|
698
700
|
removing overlapping regions. Groups in the document that are
|
|
699
701
|
not in the list will be kept as is.
|
|
702
|
+
max_coords (tuple[int, int], optional): The maximum coordinates in
|
|
703
|
+
the width and height dimension. If annotation element
|
|
704
|
+
coordinates are larger than this, they will be clipped to the
|
|
705
|
+
maximum coordinate. If None is passed then no clipping will be
|
|
706
|
+
performed. Defaults to None.
|
|
700
707
|
|
|
701
708
|
Returns:
|
|
702
709
|
dict: The modified annotation document.
|
|
@@ -781,6 +788,13 @@ def remove_overlapping_annotations(
|
|
|
781
788
|
# Remove the overlapping polygons.
|
|
782
789
|
gdf = remove_gdf_overlaps(gdf, "order")
|
|
783
790
|
|
|
791
|
+
if max_coords is not None:
|
|
792
|
+
# Create a bounding box polygon.
|
|
793
|
+
bbox = box(0, 0, max_coords[0], max_coords[1])
|
|
794
|
+
|
|
795
|
+
# Clip the polygons to the bounding box.
|
|
796
|
+
gdf = gdf.clip(bbox)
|
|
797
|
+
|
|
784
798
|
# Convert the GeoDataFrame back to a list of dictionaries.
|
|
785
799
|
elements_to_process = gdf.to_dict(orient="records")
|
|
786
800
|
|
|
@@ -75,7 +75,7 @@ def _proccess_tile_with_masks_from_dsa_annotations(
|
|
|
75
75
|
)
|
|
76
76
|
|
|
77
77
|
# Create a blank tile mask.
|
|
78
|
-
tile_mask = np.zeros(
|
|
78
|
+
tile_mask = np.zeros((tile_size, tile_size), dtype=np.uint8)
|
|
79
79
|
|
|
80
80
|
# Loop through contours to draw on tile mask.
|
|
81
81
|
for idx, contour_dict in contours.items():
|
|
@@ -106,6 +106,7 @@ def _proccess_tile_with_masks_from_dsa_annotations(
|
|
|
106
106
|
tile_mask[label_mask == 1] = idx
|
|
107
107
|
|
|
108
108
|
# Save the image and mask.
|
|
109
|
+
|
|
109
110
|
imwrite(img_fp, tile_img)
|
|
110
111
|
imwrite(mask_fp, tile_mask, grayscale=True)
|
|
111
112
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: dsa_helpers
|
|
3
|
-
Version: 1.1.
|
|
3
|
+
Version: 1.1.3.dev0
|
|
4
4
|
Summary: Utility functions for working with the DSA girder client.
|
|
5
5
|
Author-email: "Juan C. Vizcarra" <jvizcar@emory.edu>
|
|
6
6
|
Maintainer-email: "Juan C. Vizcarra" <jvizcar@emory.edu>
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{dsa_helpers-1.1.2.dev0 → dsa_helpers-1.1.3.dev0}/dsa_helpers/dash/dash_paperdragon_utils.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{dsa_helpers-1.1.2.dev0 → dsa_helpers-1.1.3.dev0}/dsa_helpers/ml/object_detection/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
{dsa_helpers-1.1.2.dev0 → dsa_helpers-1.1.3.dev0}/dsa_helpers/ml/object_detection/tile_image.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{dsa_helpers-1.1.2.dev0 → dsa_helpers-1.1.3.dev0}/dsa_helpers/ml/transforms/segformer_transforms.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|