mapreader 1.6.3.post0.dev12__tar.gz → 1.6.3.post0.dev18__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.
- {mapreader-1.6.3.post0.dev12 → mapreader-1.6.3.post0.dev18}/PKG-INFO +4 -3
- {mapreader-1.6.3.post0.dev12 → mapreader-1.6.3.post0.dev18}/mapreader/_version.py +3 -3
- {mapreader-1.6.3.post0.dev12 → mapreader-1.6.3.post0.dev18}/mapreader/spot_text/dataclasses.py +5 -1
- {mapreader-1.6.3.post0.dev12 → mapreader-1.6.3.post0.dev18}/mapreader/spot_text/dptext_detr_runner.py +1 -1
- {mapreader-1.6.3.post0.dev12 → mapreader-1.6.3.post0.dev18}/mapreader/spot_text/runner_base.py +103 -3
- {mapreader-1.6.3.post0.dev12 → mapreader-1.6.3.post0.dev18}/mapreader.egg-info/PKG-INFO +4 -3
- {mapreader-1.6.3.post0.dev12 → mapreader-1.6.3.post0.dev18}/mapreader.egg-info/requires.txt +1 -1
- {mapreader-1.6.3.post0.dev12 → mapreader-1.6.3.post0.dev18}/setup.py +1 -1
- {mapreader-1.6.3.post0.dev12 → mapreader-1.6.3.post0.dev18}/LICENSE +0 -0
- {mapreader-1.6.3.post0.dev12 → mapreader-1.6.3.post0.dev18}/README.md +0 -0
- {mapreader-1.6.3.post0.dev12 → mapreader-1.6.3.post0.dev18}/mapreader/__init__.py +0 -0
- {mapreader-1.6.3.post0.dev12 → mapreader-1.6.3.post0.dev18}/mapreader/__main__.py +0 -0
- {mapreader-1.6.3.post0.dev12 → mapreader-1.6.3.post0.dev18}/mapreader/annotate/__init__.py +0 -0
- {mapreader-1.6.3.post0.dev12 → mapreader-1.6.3.post0.dev18}/mapreader/annotate/annotator.py +0 -0
- {mapreader-1.6.3.post0.dev12 → mapreader-1.6.3.post0.dev18}/mapreader/classify/__init__.py +0 -0
- {mapreader-1.6.3.post0.dev12 → mapreader-1.6.3.post0.dev18}/mapreader/classify/classifier.py +0 -0
- {mapreader-1.6.3.post0.dev12 → mapreader-1.6.3.post0.dev18}/mapreader/classify/custom_models.py +0 -0
- {mapreader-1.6.3.post0.dev12 → mapreader-1.6.3.post0.dev18}/mapreader/classify/datasets.py +0 -0
- {mapreader-1.6.3.post0.dev12 → mapreader-1.6.3.post0.dev18}/mapreader/classify/load_annotations.py +0 -0
- {mapreader-1.6.3.post0.dev12 → mapreader-1.6.3.post0.dev18}/mapreader/download/__init__.py +0 -0
- {mapreader-1.6.3.post0.dev12 → mapreader-1.6.3.post0.dev18}/mapreader/download/data_structures.py +0 -0
- {mapreader-1.6.3.post0.dev12 → mapreader-1.6.3.post0.dev18}/mapreader/download/downloader.py +0 -0
- {mapreader-1.6.3.post0.dev12 → mapreader-1.6.3.post0.dev18}/mapreader/download/downloader_utils.py +0 -0
- {mapreader-1.6.3.post0.dev12 → mapreader-1.6.3.post0.dev18}/mapreader/download/sheet_downloader.py +0 -0
- {mapreader-1.6.3.post0.dev12 → mapreader-1.6.3.post0.dev18}/mapreader/download/tile_loading.py +0 -0
- {mapreader-1.6.3.post0.dev12 → mapreader-1.6.3.post0.dev18}/mapreader/download/tile_merging.py +0 -0
- {mapreader-1.6.3.post0.dev12 → mapreader-1.6.3.post0.dev18}/mapreader/load/__init__.py +0 -0
- {mapreader-1.6.3.post0.dev12 → mapreader-1.6.3.post0.dev18}/mapreader/load/geo_utils.py +0 -0
- {mapreader-1.6.3.post0.dev12 → mapreader-1.6.3.post0.dev18}/mapreader/load/images.py +0 -0
- {mapreader-1.6.3.post0.dev12 → mapreader-1.6.3.post0.dev18}/mapreader/load/loader.py +0 -0
- {mapreader-1.6.3.post0.dev12 → mapreader-1.6.3.post0.dev18}/mapreader/process/__init__.py +0 -0
- {mapreader-1.6.3.post0.dev12 → mapreader-1.6.3.post0.dev18}/mapreader/process/context_post_process.py +0 -0
- {mapreader-1.6.3.post0.dev12 → mapreader-1.6.3.post0.dev18}/mapreader/process/occlusion_analysis.py +0 -0
- {mapreader-1.6.3.post0.dev12 → mapreader-1.6.3.post0.dev18}/mapreader/process/process.py +0 -0
- {mapreader-1.6.3.post0.dev12 → mapreader-1.6.3.post0.dev18}/mapreader/spot_text/__init__.py +0 -0
- {mapreader-1.6.3.post0.dev12 → mapreader-1.6.3.post0.dev18}/mapreader/spot_text/deepsolo_runner.py +0 -0
- {mapreader-1.6.3.post0.dev12 → mapreader-1.6.3.post0.dev18}/mapreader/spot_text/maptext_runner.py +0 -0
- {mapreader-1.6.3.post0.dev12 → mapreader-1.6.3.post0.dev18}/mapreader/utils/__init__.py +0 -0
- {mapreader-1.6.3.post0.dev12 → mapreader-1.6.3.post0.dev18}/mapreader/utils/compute_and_save_stats.py +0 -0
- {mapreader-1.6.3.post0.dev12 → mapreader-1.6.3.post0.dev18}/mapreader/utils/load_frames.py +0 -0
- {mapreader-1.6.3.post0.dev12 → mapreader-1.6.3.post0.dev18}/mapreader/utils/slice_parallel.py +0 -0
- {mapreader-1.6.3.post0.dev12 → mapreader-1.6.3.post0.dev18}/mapreader.egg-info/SOURCES.txt +0 -0
- {mapreader-1.6.3.post0.dev12 → mapreader-1.6.3.post0.dev18}/mapreader.egg-info/dependency_links.txt +0 -0
- {mapreader-1.6.3.post0.dev12 → mapreader-1.6.3.post0.dev18}/mapreader.egg-info/entry_points.txt +0 -0
- {mapreader-1.6.3.post0.dev12 → mapreader-1.6.3.post0.dev18}/mapreader.egg-info/not-zip-safe +0 -0
- {mapreader-1.6.3.post0.dev12 → mapreader-1.6.3.post0.dev18}/mapreader.egg-info/top_level.txt +0 -0
- {mapreader-1.6.3.post0.dev12 → mapreader-1.6.3.post0.dev18}/setup.cfg +0 -0
- {mapreader-1.6.3.post0.dev12 → mapreader-1.6.3.post0.dev18}/tests/test_geo_pipeline.py +0 -0
- {mapreader-1.6.3.post0.dev12 → mapreader-1.6.3.post0.dev18}/tests/test_import.py +0 -0
- {mapreader-1.6.3.post0.dev12 → mapreader-1.6.3.post0.dev18}/tests/test_utils_load_frames.py +0 -0
- {mapreader-1.6.3.post0.dev12 → mapreader-1.6.3.post0.dev18}/versioneer.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
Metadata-Version: 2.
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
2
|
Name: mapreader
|
|
3
|
-
Version: 1.6.3.post0.
|
|
3
|
+
Version: 1.6.3.post0.dev18
|
|
4
4
|
Summary: A computer vision pipeline for the semantic exploration of maps/images at scale
|
|
5
5
|
Home-page: https://github.com/Living-with-machines/MapReader
|
|
6
6
|
Download-URL: https://github.com/Living-with-machines/MapReader/archive/refs/heads/main.zip
|
|
@@ -66,7 +66,7 @@ Provides-Extra: dev
|
|
|
66
66
|
Requires-Dist: pytest<9.0.0; extra == "dev"
|
|
67
67
|
Requires-Dist: pytest-cov<6.0.0,>=4.1.0; extra == "dev"
|
|
68
68
|
Requires-Dist: timm<1.0.0; extra == "dev"
|
|
69
|
-
Requires-Dist: transformers
|
|
69
|
+
Requires-Dist: transformers!=4.50.0,<5.0.0; extra == "dev"
|
|
70
70
|
Requires-Dist: black<25.0.0,>=23.7.0; extra == "dev"
|
|
71
71
|
Requires-Dist: flake8<8.0.0,>=6.0.0; extra == "dev"
|
|
72
72
|
Dynamic: author
|
|
@@ -77,6 +77,7 @@ Dynamic: download-url
|
|
|
77
77
|
Dynamic: home-page
|
|
78
78
|
Dynamic: keywords
|
|
79
79
|
Dynamic: license
|
|
80
|
+
Dynamic: license-file
|
|
80
81
|
Dynamic: platform
|
|
81
82
|
Dynamic: provides-extra
|
|
82
83
|
Dynamic: requires-dist
|
|
@@ -8,11 +8,11 @@ import json
|
|
|
8
8
|
|
|
9
9
|
version_json = '''
|
|
10
10
|
{
|
|
11
|
-
"date": "2025-03-
|
|
11
|
+
"date": "2025-03-22T19:46:10+0000",
|
|
12
12
|
"dirty": false,
|
|
13
13
|
"error": null,
|
|
14
|
-
"full-revisionid": "
|
|
15
|
-
"version": "1.6.3.post0.
|
|
14
|
+
"full-revisionid": "65e309226586e0ca4d1ae9babee54ab766803f2f",
|
|
15
|
+
"version": "1.6.3.post0.dev18"
|
|
16
16
|
}
|
|
17
17
|
''' # END VERSION_JSON
|
|
18
18
|
|
{mapreader-1.6.3.post0.dev12 → mapreader-1.6.3.post0.dev18}/mapreader/spot_text/dataclasses.py
RENAMED
|
@@ -2,12 +2,13 @@ from __future__ import annotations
|
|
|
2
2
|
|
|
3
3
|
from dataclasses import dataclass
|
|
4
4
|
|
|
5
|
-
from shapely.geometry import Polygon
|
|
5
|
+
from shapely.geometry import LineString, Polygon
|
|
6
6
|
|
|
7
7
|
|
|
8
8
|
@dataclass(frozen=True)
|
|
9
9
|
class PatchPrediction:
|
|
10
10
|
pixel_geometry: Polygon
|
|
11
|
+
pixel_line: LineString
|
|
11
12
|
score: float
|
|
12
13
|
text: str = None
|
|
13
14
|
|
|
@@ -15,6 +16,7 @@ class PatchPrediction:
|
|
|
15
16
|
@dataclass(frozen=True)
|
|
16
17
|
class ParentPrediction:
|
|
17
18
|
pixel_geometry: Polygon
|
|
19
|
+
pixel_line: LineString
|
|
18
20
|
score: float
|
|
19
21
|
patch_id: str
|
|
20
22
|
text: str = None
|
|
@@ -23,8 +25,10 @@ class ParentPrediction:
|
|
|
23
25
|
@dataclass(frozen=True)
|
|
24
26
|
class GeoPrediction:
|
|
25
27
|
pixel_geometry: Polygon
|
|
28
|
+
pixel_line: LineString
|
|
26
29
|
score: float
|
|
27
30
|
patch_id: str
|
|
28
31
|
geometry: Polygon
|
|
32
|
+
line: LineString
|
|
29
33
|
crs: str
|
|
30
34
|
text: str = None
|
{mapreader-1.6.3.post0.dev12 → mapreader-1.6.3.post0.dev18}/mapreader/spot_text/runner_base.py
RENAMED
|
@@ -325,6 +325,7 @@ class DetRunner:
|
|
|
325
325
|
self.parent_predictions[parent_id] = []
|
|
326
326
|
|
|
327
327
|
for instance in prediction:
|
|
328
|
+
# convert polygon
|
|
328
329
|
polygon = instance.pixel_geometry
|
|
329
330
|
|
|
330
331
|
xx, yy = (np.array(i) for i in polygon.exterior.xy)
|
|
@@ -332,9 +333,26 @@ class DetRunner:
|
|
|
332
333
|
yy = yy + self.patch_df.loc[image_id, "pixel_bounds"][1] # add min_y
|
|
333
334
|
|
|
334
335
|
parent_polygon = Polygon(zip(xx, yy)).buffer(0)
|
|
336
|
+
|
|
337
|
+
# convert line
|
|
338
|
+
if instance.pixel_line is not None:
|
|
339
|
+
line = instance.pixel_line
|
|
340
|
+
xx, yy = (np.array(i) for i in line.xy)
|
|
341
|
+
xx = (
|
|
342
|
+
xx + self.patch_df.loc[image_id, "pixel_bounds"][0]
|
|
343
|
+
) # add min_x
|
|
344
|
+
yy = (
|
|
345
|
+
yy + self.patch_df.loc[image_id, "pixel_bounds"][1]
|
|
346
|
+
) # add min_y
|
|
347
|
+
|
|
348
|
+
parent_line = LineString(zip(xx, yy))
|
|
349
|
+
else:
|
|
350
|
+
parent_line = None
|
|
351
|
+
|
|
335
352
|
self.parent_predictions[parent_id].append(
|
|
336
353
|
ParentPrediction(
|
|
337
354
|
pixel_geometry=parent_polygon,
|
|
355
|
+
pixel_line=parent_line,
|
|
338
356
|
score=instance.score,
|
|
339
357
|
text=instance.text,
|
|
340
358
|
patch_id=image_id,
|
|
@@ -446,6 +464,7 @@ class DetRunner:
|
|
|
446
464
|
self.geo_predictions[parent_id] = []
|
|
447
465
|
|
|
448
466
|
for instance in prediction:
|
|
467
|
+
# convert polygon
|
|
449
468
|
polygon = instance.pixel_geometry
|
|
450
469
|
|
|
451
470
|
xx, yy = (np.array(i) for i in polygon.exterior.xy)
|
|
@@ -461,13 +480,32 @@ class DetRunner:
|
|
|
461
480
|
parent_polygon_geo = Polygon(zip(xx, yy)).buffer(0)
|
|
462
481
|
crs = self.parent_df.loc[parent_id, "crs"]
|
|
463
482
|
|
|
483
|
+
# convert line
|
|
484
|
+
if instance.pixel_line is not None:
|
|
485
|
+
line = instance.pixel_line
|
|
486
|
+
|
|
487
|
+
xx, yy = (np.array(i) for i in line.xy)
|
|
488
|
+
xx = (
|
|
489
|
+
xx * self.parent_df.loc[parent_id, "dlon"]
|
|
490
|
+
+ self.parent_df.loc[parent_id, "coordinates"][0]
|
|
491
|
+
)
|
|
492
|
+
yy = (
|
|
493
|
+
self.parent_df.loc[parent_id, "coordinates"][3]
|
|
494
|
+
- yy * self.parent_df.loc[parent_id, "dlat"]
|
|
495
|
+
)
|
|
496
|
+
parent_line_geo = LineString(zip(xx, yy))
|
|
497
|
+
else:
|
|
498
|
+
parent_line_geo = None
|
|
499
|
+
|
|
464
500
|
self.geo_predictions[parent_id].append(
|
|
465
501
|
GeoPrediction(
|
|
466
502
|
pixel_geometry=instance.pixel_geometry,
|
|
503
|
+
pixel_line=instance.pixel_line,
|
|
467
504
|
score=instance.score,
|
|
468
505
|
text=instance.text,
|
|
469
506
|
patch_id=instance.patch_id,
|
|
470
507
|
geometry=parent_polygon_geo,
|
|
508
|
+
line=parent_line_geo,
|
|
471
509
|
crs=crs,
|
|
472
510
|
)
|
|
473
511
|
)
|
|
@@ -711,6 +749,17 @@ class DetRunner:
|
|
|
711
749
|
lambda x: from_wkt(x)
|
|
712
750
|
)
|
|
713
751
|
|
|
752
|
+
# convert lines to shapely geometry
|
|
753
|
+
# if line and pixel_line are not in the columns, add them as None values
|
|
754
|
+
if "line" in preds_df.columns:
|
|
755
|
+
preds_df["line"] = preds_df["line"].apply(lambda x: from_wkt(x))
|
|
756
|
+
else:
|
|
757
|
+
preds_df["line"] = None
|
|
758
|
+
if "pixel_line" in preds_df.columns:
|
|
759
|
+
preds_df["pixel_line"] = preds_df["pixel_line"].apply(lambda x: from_wkt(x))
|
|
760
|
+
else:
|
|
761
|
+
preds_df["pixel_line"] = None
|
|
762
|
+
|
|
714
763
|
self.geo_predictions = {}
|
|
715
764
|
self.parent_predictions = {}
|
|
716
765
|
|
|
@@ -724,16 +773,19 @@ class DetRunner:
|
|
|
724
773
|
self.geo_predictions[image_id].append(
|
|
725
774
|
GeoPrediction(
|
|
726
775
|
pixel_geometry=v.pixel_geometry,
|
|
776
|
+
pixel_line=v.pixel_line,
|
|
727
777
|
score=v.score,
|
|
728
778
|
text=v.text if "text" in v.index else None,
|
|
729
779
|
patch_id=v.patch_id,
|
|
730
780
|
geometry=v.geometry,
|
|
781
|
+
line=v.line,
|
|
731
782
|
crs=v.crs,
|
|
732
783
|
)
|
|
733
784
|
)
|
|
734
785
|
self.parent_predictions[image_id].append(
|
|
735
786
|
ParentPrediction(
|
|
736
787
|
pixel_geometry=v.pixel_geometry,
|
|
788
|
+
pixel_line=v.pixel_line,
|
|
737
789
|
score=v.score,
|
|
738
790
|
text=v.text if "text" in v.index else None,
|
|
739
791
|
patch_id=v.patch_id,
|
|
@@ -747,6 +799,7 @@ class DetRunner:
|
|
|
747
799
|
if instance.patch_id not in self.patch_predictions.keys():
|
|
748
800
|
self.patch_predictions[instance.patch_id] = []
|
|
749
801
|
|
|
802
|
+
# convert polygon
|
|
750
803
|
polygon = instance.pixel_geometry
|
|
751
804
|
|
|
752
805
|
xx, yy = (np.array(i) for i in polygon.exterior.xy)
|
|
@@ -756,11 +809,27 @@ class DetRunner:
|
|
|
756
809
|
yy = (
|
|
757
810
|
yy - self.patch_df.loc[instance.patch_id, "pixel_bounds"][1]
|
|
758
811
|
) # add min_y
|
|
759
|
-
|
|
760
812
|
patch_polygon = Polygon(zip(xx, yy)).buffer(0)
|
|
813
|
+
|
|
814
|
+
# convert line
|
|
815
|
+
if instance.pixel_line is not None:
|
|
816
|
+
line = instance.pixel_line
|
|
817
|
+
|
|
818
|
+
xx, yy = (np.array(i) for i in line.xy)
|
|
819
|
+
xx = (
|
|
820
|
+
xx - self.patch_df.loc[instance.patch_id, "pixel_bounds"][0]
|
|
821
|
+
) # add min_x
|
|
822
|
+
yy = (
|
|
823
|
+
yy - self.patch_df.loc[instance.patch_id, "pixel_bounds"][1]
|
|
824
|
+
) # add min_y
|
|
825
|
+
patch_line = LineString(zip(xx, yy))
|
|
826
|
+
else:
|
|
827
|
+
patch_line = None
|
|
828
|
+
|
|
761
829
|
self.patch_predictions[instance.patch_id].append(
|
|
762
830
|
PatchPrediction(
|
|
763
831
|
pixel_geometry=patch_polygon,
|
|
832
|
+
pixel_line=patch_line,
|
|
764
833
|
score=instance.score,
|
|
765
834
|
text=instance.text,
|
|
766
835
|
)
|
|
@@ -789,6 +858,15 @@ class DetRunner:
|
|
|
789
858
|
lambda x: from_wkt(x)
|
|
790
859
|
)
|
|
791
860
|
|
|
861
|
+
# convert lines to shapely geometry
|
|
862
|
+
# if line and pixel_line are not in the columns, add them as None values
|
|
863
|
+
if "pixel_line" in patch_preds.columns:
|
|
864
|
+
patch_preds["pixel_line"] = patch_preds["pixel_line"].apply(
|
|
865
|
+
lambda x: from_wkt(x)
|
|
866
|
+
)
|
|
867
|
+
else:
|
|
868
|
+
patch_preds["pixel_line"] = None
|
|
869
|
+
|
|
792
870
|
self.patch_predictions = {} # reset patch predictions
|
|
793
871
|
|
|
794
872
|
for image_id in patch_preds["image_id"].unique():
|
|
@@ -796,9 +874,12 @@ class DetRunner:
|
|
|
796
874
|
self.patch_predictions[image_id] = []
|
|
797
875
|
|
|
798
876
|
for _, v in patch_preds[patch_preds["image_id"] == image_id].iterrows():
|
|
877
|
+
if not hasattr(v, "pixel_line"):
|
|
878
|
+
v.pixel_line = None
|
|
799
879
|
self.patch_predictions[image_id].append(
|
|
800
880
|
PatchPrediction(
|
|
801
881
|
pixel_geometry=v.pixel_geometry,
|
|
882
|
+
pixel_line=v.pixel_line,
|
|
802
883
|
score=v.score,
|
|
803
884
|
text=v.text if "text" in v.index else None,
|
|
804
885
|
)
|
|
@@ -879,7 +960,9 @@ class DetRecRunner(DetRunner):
|
|
|
879
960
|
score = f"{score:.2f}"
|
|
880
961
|
|
|
881
962
|
self.patch_predictions[image_id].append(
|
|
882
|
-
PatchPrediction(
|
|
963
|
+
PatchPrediction(
|
|
964
|
+
pixel_geometry=polygon, pixel_line=line, score=score, text=text
|
|
965
|
+
)
|
|
883
966
|
)
|
|
884
967
|
|
|
885
968
|
def search_predictions(
|
|
@@ -1009,6 +1092,7 @@ class DetRecRunner(DetRunner):
|
|
|
1009
1092
|
geo_search_results[parent_id] = []
|
|
1010
1093
|
|
|
1011
1094
|
for instance in prediction:
|
|
1095
|
+
# convert polygon
|
|
1012
1096
|
polygon = instance.pixel_geometry
|
|
1013
1097
|
|
|
1014
1098
|
xx, yy = (np.array(i) for i in polygon.exterior.xy)
|
|
@@ -1021,16 +1105,32 @@ class DetRecRunner(DetRunner):
|
|
|
1021
1105
|
- yy * self.parent_df.loc[parent_id, "dlat"]
|
|
1022
1106
|
)
|
|
1023
1107
|
|
|
1108
|
+
parent_polygon_geo = Polygon(zip(xx, yy)).buffer(0)
|
|
1024
1109
|
crs = self.parent_df.loc[parent_id, "crs"]
|
|
1025
1110
|
|
|
1026
|
-
|
|
1111
|
+
# convert line
|
|
1112
|
+
line = instance.pixel_line
|
|
1113
|
+
|
|
1114
|
+
xx, yy = (np.array(i) for i in line.xy)
|
|
1115
|
+
xx = (
|
|
1116
|
+
xx * self.parent_df.loc[parent_id, "dlon"]
|
|
1117
|
+
+ self.parent_df.loc[parent_id, "coordinates"][0]
|
|
1118
|
+
)
|
|
1119
|
+
yy = (
|
|
1120
|
+
self.parent_df.loc[parent_id, "coordinates"][3]
|
|
1121
|
+
- yy * self.parent_df.loc[parent_id, "dlat"]
|
|
1122
|
+
)
|
|
1123
|
+
parent_line_geo = LineString(zip(xx, yy))
|
|
1124
|
+
|
|
1027
1125
|
geo_search_results[parent_id].append(
|
|
1028
1126
|
GeoPrediction(
|
|
1029
1127
|
pixel_geometry=instance.pixel_geometry,
|
|
1128
|
+
pixel_line=instance.pixel_line,
|
|
1030
1129
|
score=instance.score,
|
|
1031
1130
|
text=instance.score,
|
|
1032
1131
|
patch_id=instance.patch_id,
|
|
1033
1132
|
geometry=parent_polygon_geo,
|
|
1133
|
+
line=parent_line_geo,
|
|
1034
1134
|
crs=crs,
|
|
1035
1135
|
)
|
|
1036
1136
|
)
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
Metadata-Version: 2.
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
2
|
Name: mapreader
|
|
3
|
-
Version: 1.6.3.post0.
|
|
3
|
+
Version: 1.6.3.post0.dev18
|
|
4
4
|
Summary: A computer vision pipeline for the semantic exploration of maps/images at scale
|
|
5
5
|
Home-page: https://github.com/Living-with-machines/MapReader
|
|
6
6
|
Download-URL: https://github.com/Living-with-machines/MapReader/archive/refs/heads/main.zip
|
|
@@ -66,7 +66,7 @@ Provides-Extra: dev
|
|
|
66
66
|
Requires-Dist: pytest<9.0.0; extra == "dev"
|
|
67
67
|
Requires-Dist: pytest-cov<6.0.0,>=4.1.0; extra == "dev"
|
|
68
68
|
Requires-Dist: timm<1.0.0; extra == "dev"
|
|
69
|
-
Requires-Dist: transformers
|
|
69
|
+
Requires-Dist: transformers!=4.50.0,<5.0.0; extra == "dev"
|
|
70
70
|
Requires-Dist: black<25.0.0,>=23.7.0; extra == "dev"
|
|
71
71
|
Requires-Dist: flake8<8.0.0,>=6.0.0; extra == "dev"
|
|
72
72
|
Dynamic: author
|
|
@@ -77,6 +77,7 @@ Dynamic: download-url
|
|
|
77
77
|
Dynamic: home-page
|
|
78
78
|
Dynamic: keywords
|
|
79
79
|
Dynamic: license
|
|
80
|
+
Dynamic: license-file
|
|
80
81
|
Dynamic: platform
|
|
81
82
|
Dynamic: provides-extra
|
|
82
83
|
Dynamic: requires-dist
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{mapreader-1.6.3.post0.dev12 → mapreader-1.6.3.post0.dev18}/mapreader/classify/classifier.py
RENAMED
|
File without changes
|
{mapreader-1.6.3.post0.dev12 → mapreader-1.6.3.post0.dev18}/mapreader/classify/custom_models.py
RENAMED
|
File without changes
|
|
File without changes
|
{mapreader-1.6.3.post0.dev12 → mapreader-1.6.3.post0.dev18}/mapreader/classify/load_annotations.py
RENAMED
|
File without changes
|
|
File without changes
|
{mapreader-1.6.3.post0.dev12 → mapreader-1.6.3.post0.dev18}/mapreader/download/data_structures.py
RENAMED
|
File without changes
|
{mapreader-1.6.3.post0.dev12 → mapreader-1.6.3.post0.dev18}/mapreader/download/downloader.py
RENAMED
|
File without changes
|
{mapreader-1.6.3.post0.dev12 → mapreader-1.6.3.post0.dev18}/mapreader/download/downloader_utils.py
RENAMED
|
File without changes
|
{mapreader-1.6.3.post0.dev12 → mapreader-1.6.3.post0.dev18}/mapreader/download/sheet_downloader.py
RENAMED
|
File without changes
|
{mapreader-1.6.3.post0.dev12 → mapreader-1.6.3.post0.dev18}/mapreader/download/tile_loading.py
RENAMED
|
File without changes
|
{mapreader-1.6.3.post0.dev12 → mapreader-1.6.3.post0.dev18}/mapreader/download/tile_merging.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{mapreader-1.6.3.post0.dev12 → mapreader-1.6.3.post0.dev18}/mapreader/process/occlusion_analysis.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{mapreader-1.6.3.post0.dev12 → mapreader-1.6.3.post0.dev18}/mapreader/spot_text/deepsolo_runner.py
RENAMED
|
File without changes
|
{mapreader-1.6.3.post0.dev12 → mapreader-1.6.3.post0.dev18}/mapreader/spot_text/maptext_runner.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{mapreader-1.6.3.post0.dev12 → mapreader-1.6.3.post0.dev18}/mapreader/utils/slice_parallel.py
RENAMED
|
File without changes
|
|
File without changes
|
{mapreader-1.6.3.post0.dev12 → mapreader-1.6.3.post0.dev18}/mapreader.egg-info/dependency_links.txt
RENAMED
|
File without changes
|
{mapreader-1.6.3.post0.dev12 → mapreader-1.6.3.post0.dev18}/mapreader.egg-info/entry_points.txt
RENAMED
|
File without changes
|
|
File without changes
|
{mapreader-1.6.3.post0.dev12 → mapreader-1.6.3.post0.dev18}/mapreader.egg-info/top_level.txt
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|