mapreader 1.6.1.post0.dev6__tar.gz → 1.6.1.post0.dev16__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.
Files changed (51) hide show
  1. {mapreader-1.6.1.post0.dev6 → mapreader-1.6.1.post0.dev16}/PKG-INFO +1 -1
  2. {mapreader-1.6.1.post0.dev6 → mapreader-1.6.1.post0.dev16}/mapreader/_version.py +3 -3
  3. {mapreader-1.6.1.post0.dev6 → mapreader-1.6.1.post0.dev16}/mapreader/load/images.py +17 -1
  4. {mapreader-1.6.1.post0.dev6 → mapreader-1.6.1.post0.dev16}/mapreader.egg-info/PKG-INFO +1 -1
  5. {mapreader-1.6.1.post0.dev6 → mapreader-1.6.1.post0.dev16}/LICENSE +0 -0
  6. {mapreader-1.6.1.post0.dev6 → mapreader-1.6.1.post0.dev16}/README.md +0 -0
  7. {mapreader-1.6.1.post0.dev6 → mapreader-1.6.1.post0.dev16}/mapreader/__init__.py +0 -0
  8. {mapreader-1.6.1.post0.dev6 → mapreader-1.6.1.post0.dev16}/mapreader/__main__.py +0 -0
  9. {mapreader-1.6.1.post0.dev6 → mapreader-1.6.1.post0.dev16}/mapreader/annotate/__init__.py +0 -0
  10. {mapreader-1.6.1.post0.dev6 → mapreader-1.6.1.post0.dev16}/mapreader/annotate/annotator.py +0 -0
  11. {mapreader-1.6.1.post0.dev6 → mapreader-1.6.1.post0.dev16}/mapreader/classify/__init__.py +0 -0
  12. {mapreader-1.6.1.post0.dev6 → mapreader-1.6.1.post0.dev16}/mapreader/classify/classifier.py +0 -0
  13. {mapreader-1.6.1.post0.dev6 → mapreader-1.6.1.post0.dev16}/mapreader/classify/custom_models.py +0 -0
  14. {mapreader-1.6.1.post0.dev6 → mapreader-1.6.1.post0.dev16}/mapreader/classify/datasets.py +0 -0
  15. {mapreader-1.6.1.post0.dev6 → mapreader-1.6.1.post0.dev16}/mapreader/classify/load_annotations.py +0 -0
  16. {mapreader-1.6.1.post0.dev6 → mapreader-1.6.1.post0.dev16}/mapreader/download/__init__.py +0 -0
  17. {mapreader-1.6.1.post0.dev6 → mapreader-1.6.1.post0.dev16}/mapreader/download/data_structures.py +0 -0
  18. {mapreader-1.6.1.post0.dev6 → mapreader-1.6.1.post0.dev16}/mapreader/download/downloader.py +0 -0
  19. {mapreader-1.6.1.post0.dev6 → mapreader-1.6.1.post0.dev16}/mapreader/download/downloader_utils.py +0 -0
  20. {mapreader-1.6.1.post0.dev6 → mapreader-1.6.1.post0.dev16}/mapreader/download/sheet_downloader.py +0 -0
  21. {mapreader-1.6.1.post0.dev6 → mapreader-1.6.1.post0.dev16}/mapreader/download/tile_loading.py +0 -0
  22. {mapreader-1.6.1.post0.dev6 → mapreader-1.6.1.post0.dev16}/mapreader/download/tile_merging.py +0 -0
  23. {mapreader-1.6.1.post0.dev6 → mapreader-1.6.1.post0.dev16}/mapreader/load/__init__.py +0 -0
  24. {mapreader-1.6.1.post0.dev6 → mapreader-1.6.1.post0.dev16}/mapreader/load/geo_utils.py +0 -0
  25. {mapreader-1.6.1.post0.dev6 → mapreader-1.6.1.post0.dev16}/mapreader/load/loader.py +0 -0
  26. {mapreader-1.6.1.post0.dev6 → mapreader-1.6.1.post0.dev16}/mapreader/process/__init__.py +0 -0
  27. {mapreader-1.6.1.post0.dev6 → mapreader-1.6.1.post0.dev16}/mapreader/process/context_post_process.py +0 -0
  28. {mapreader-1.6.1.post0.dev6 → mapreader-1.6.1.post0.dev16}/mapreader/process/occlusion_analysis.py +0 -0
  29. {mapreader-1.6.1.post0.dev6 → mapreader-1.6.1.post0.dev16}/mapreader/process/process.py +0 -0
  30. {mapreader-1.6.1.post0.dev6 → mapreader-1.6.1.post0.dev16}/mapreader/spot_text/__init__.py +0 -0
  31. {mapreader-1.6.1.post0.dev6 → mapreader-1.6.1.post0.dev16}/mapreader/spot_text/deepsolo_runner.py +0 -0
  32. {mapreader-1.6.1.post0.dev6 → mapreader-1.6.1.post0.dev16}/mapreader/spot_text/dptext_detr_runner.py +0 -0
  33. {mapreader-1.6.1.post0.dev6 → mapreader-1.6.1.post0.dev16}/mapreader/spot_text/maptext_runner.py +0 -0
  34. {mapreader-1.6.1.post0.dev6 → mapreader-1.6.1.post0.dev16}/mapreader/spot_text/rec_runner_base.py +0 -0
  35. {mapreader-1.6.1.post0.dev6 → mapreader-1.6.1.post0.dev16}/mapreader/spot_text/runner_base.py +0 -0
  36. {mapreader-1.6.1.post0.dev6 → mapreader-1.6.1.post0.dev16}/mapreader/utils/__init__.py +0 -0
  37. {mapreader-1.6.1.post0.dev6 → mapreader-1.6.1.post0.dev16}/mapreader/utils/compute_and_save_stats.py +0 -0
  38. {mapreader-1.6.1.post0.dev6 → mapreader-1.6.1.post0.dev16}/mapreader/utils/load_frames.py +0 -0
  39. {mapreader-1.6.1.post0.dev6 → mapreader-1.6.1.post0.dev16}/mapreader/utils/slice_parallel.py +0 -0
  40. {mapreader-1.6.1.post0.dev6 → mapreader-1.6.1.post0.dev16}/mapreader.egg-info/SOURCES.txt +0 -0
  41. {mapreader-1.6.1.post0.dev6 → mapreader-1.6.1.post0.dev16}/mapreader.egg-info/dependency_links.txt +0 -0
  42. {mapreader-1.6.1.post0.dev6 → mapreader-1.6.1.post0.dev16}/mapreader.egg-info/entry_points.txt +0 -0
  43. {mapreader-1.6.1.post0.dev6 → mapreader-1.6.1.post0.dev16}/mapreader.egg-info/not-zip-safe +0 -0
  44. {mapreader-1.6.1.post0.dev6 → mapreader-1.6.1.post0.dev16}/mapreader.egg-info/requires.txt +0 -0
  45. {mapreader-1.6.1.post0.dev6 → mapreader-1.6.1.post0.dev16}/mapreader.egg-info/top_level.txt +0 -0
  46. {mapreader-1.6.1.post0.dev6 → mapreader-1.6.1.post0.dev16}/setup.cfg +0 -0
  47. {mapreader-1.6.1.post0.dev6 → mapreader-1.6.1.post0.dev16}/setup.py +0 -0
  48. {mapreader-1.6.1.post0.dev6 → mapreader-1.6.1.post0.dev16}/tests/test_geo_pipeline.py +0 -0
  49. {mapreader-1.6.1.post0.dev6 → mapreader-1.6.1.post0.dev16}/tests/test_import.py +0 -0
  50. {mapreader-1.6.1.post0.dev6 → mapreader-1.6.1.post0.dev16}/tests/test_utils_load_frames.py +0 -0
  51. {mapreader-1.6.1.post0.dev6 → mapreader-1.6.1.post0.dev16}/versioneer.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: mapreader
3
- Version: 1.6.1.post0.dev6
3
+ Version: 1.6.1.post0.dev16
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
@@ -8,11 +8,11 @@ import json
8
8
 
9
9
  version_json = '''
10
10
  {
11
- "date": "2024-12-16T10:16:13+0000",
11
+ "date": "2024-12-19T11:38:19+0000",
12
12
  "dirty": false,
13
13
  "error": null,
14
- "full-revisionid": "9fcc4a3dcd508633b905b347d9ae5ac54db29a20",
15
- "version": "1.6.1.post0.dev6"
14
+ "full-revisionid": "ae10e4bfa364a2009cbb449bd9c0c918f0732b9b",
15
+ "version": "1.6.1.post0.dev16"
16
16
  }
17
17
  ''' # END VERSION_JSON
18
18
 
@@ -1208,6 +1208,7 @@ See https://pillow.readthedocs.io/en/stable/handbook/concepts.html#modes for mor
1208
1208
  patch_size: int | None = 100,
1209
1209
  tree_level: str | None = "parent",
1210
1210
  path_save: str | None = None,
1211
+ skip_blank_patches: bool = False,
1211
1212
  add_to_parents: bool | None = True,
1212
1213
  square_cuts: bool | None = False,
1213
1214
  resize_factor: bool | None = False,
@@ -1234,6 +1235,8 @@ See https://pillow.readthedocs.io/en/stable/handbook/concepts.html#modes for mor
1234
1235
  Directory to save the patches.
1235
1236
  If None, will be set as f"patches_{patch_size}_{method}" (e.g. "patches_100_pixel").
1236
1237
  By default None.
1238
+ skip_blank_patches : bool
1239
+ If True, any patch that only contains 0 values will be skipped, by default ``False``. Uses PIL.Image().get_bbox().
1237
1240
  add_to_parents : bool, optional
1238
1241
  If True, patches will be added to the MapImages instance's
1239
1242
  ``images`` dictionary, by default ``True``.
@@ -1313,6 +1316,7 @@ See https://pillow.readthedocs.io/en/stable/handbook/concepts.html#modes for mor
1313
1316
  add_to_parents=add_to_parents,
1314
1317
  resize_factor=resize_factor,
1315
1318
  output_format=output_format,
1319
+ skip_blank_patches=skip_blank_patches,
1316
1320
  rewrite=rewrite,
1317
1321
  verbose=verbose,
1318
1322
  overlap=overlap,
@@ -1326,6 +1330,7 @@ See https://pillow.readthedocs.io/en/stable/handbook/concepts.html#modes for mor
1326
1330
  add_to_parents: bool | None = True,
1327
1331
  resize_factor: bool | None = False,
1328
1332
  output_format: str | None = "png",
1333
+ skip_blank_patches: bool = False,
1329
1334
  rewrite: bool | None = False,
1330
1335
  verbose: bool | None = False,
1331
1336
  overlap: int | None = 0,
@@ -1347,6 +1352,8 @@ See https://pillow.readthedocs.io/en/stable/handbook/concepts.html#modes for mor
1347
1352
  If True, resize the images before patchifying, by default ``False``.
1348
1353
  output_format : str, optional
1349
1354
  Format to use when writing image files, by default ``"png"``.
1355
+ skip_blank_patches : bool
1356
+ If True, any patch that only contains 0 values will be skipped, by default ``False``. Uses PIL.Image().get_bbox().
1350
1357
  rewrite : bool, optional
1351
1358
  If True, existing patches will be rewritten, by default ``False``.
1352
1359
  verbose : bool, optional
@@ -1370,6 +1377,7 @@ See https://pillow.readthedocs.io/en/stable/handbook/concepts.html#modes for mor
1370
1377
  )
1371
1378
 
1372
1379
  height, width = img.height, img.width
1380
+ overlap_pixels = int(patch_size * overlap)
1373
1381
 
1374
1382
  x = 0
1375
1383
  while x < width:
@@ -1389,6 +1397,15 @@ See https://pillow.readthedocs.io/en/stable/handbook/concepts.html#modes for mor
1389
1397
 
1390
1398
  else:
1391
1399
  patch = img.crop((x, y, max_x, max_y))
1400
+
1401
+ # skip if blank and don't add to parents
1402
+ if skip_blank_patches and patch.getbbox() is None:
1403
+ self._print_if_verbose(
1404
+ f"[INFO] Skipping empty patch: {patch_id}.", verbose
1405
+ )
1406
+ y = y + patch_size - overlap_pixels
1407
+ continue
1408
+
1392
1409
  if max_x == width:
1393
1410
  patch = ImageOps.pad(
1394
1411
  patch, (patch_size, patch.height), centering=(0, 0)
@@ -1416,7 +1433,6 @@ See https://pillow.readthedocs.io/en/stable/handbook/concepts.html#modes for mor
1416
1433
  self._add_patch_coords_id(patch_id)
1417
1434
  self._add_patch_polygons_id(patch_id)
1418
1435
 
1419
- overlap_pixels = int(patch_size * overlap)
1420
1436
  y = y + patch_size - overlap_pixels
1421
1437
  x = x + patch_size - overlap_pixels
1422
1438
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: mapreader
3
- Version: 1.6.1.post0.dev6
3
+ Version: 1.6.1.post0.dev16
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