mapreader 1.3.4__tar.gz → 1.3.6__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 (52) hide show
  1. {mapreader-1.3.4 → mapreader-1.3.6}/PKG-INFO +46 -50
  2. {mapreader-1.3.4 → mapreader-1.3.6}/README.md +44 -49
  3. {mapreader-1.3.4 → mapreader-1.3.6}/mapreader/__init__.py +26 -9
  4. {mapreader-1.3.4 → mapreader-1.3.6}/mapreader/_version.py +3 -3
  5. {mapreader-1.3.4 → mapreader-1.3.6}/mapreader/annotate/annotator.py +2 -1
  6. {mapreader-1.3.4 → mapreader-1.3.6}/mapreader/annotate/utils.py +4 -1
  7. {mapreader-1.3.4 → mapreader-1.3.6}/mapreader/classify/classifier.py +118 -113
  8. {mapreader-1.3.4 → mapreader-1.3.6}/mapreader/classify/datasets.py +120 -120
  9. {mapreader-1.3.4 → mapreader-1.3.6}/mapreader/classify/load_annotations.py +31 -10
  10. {mapreader-1.3.4 → mapreader-1.3.6}/mapreader/download/data_structures.py +14 -6
  11. {mapreader-1.3.4 → mapreader-1.3.6}/mapreader/download/downloader.py +62 -8
  12. {mapreader-1.3.4 → mapreader-1.3.6}/mapreader/download/downloader_utils.py +8 -2
  13. {mapreader-1.3.4 → mapreader-1.3.6}/mapreader/download/sheet_downloader.py +83 -12
  14. {mapreader-1.3.4 → mapreader-1.3.6}/mapreader/download/tile_merging.py +4 -3
  15. {mapreader-1.3.4 → mapreader-1.3.6}/mapreader/load/images.py +51 -35
  16. {mapreader-1.3.4 → mapreader-1.3.6}/mapreader/load/loader.py +16 -13
  17. mapreader-1.3.4/mapreader/process/post_process.py → mapreader-1.3.6/mapreader/process/context_post_process.py +1 -1
  18. mapreader-1.3.6/mapreader/process/occlusion_analysis.py +307 -0
  19. {mapreader-1.3.4 → mapreader-1.3.6}/mapreader/spot_text/deepsolo_runner.py +32 -8
  20. {mapreader-1.3.4 → mapreader-1.3.6}/mapreader/spot_text/dptext_detr_runner.py +25 -5
  21. mapreader-1.3.6/mapreader/spot_text/maptext_runner.py +511 -0
  22. {mapreader-1.3.4 → mapreader-1.3.6}/mapreader/spot_text/runner_base.py +63 -1
  23. {mapreader-1.3.4 → mapreader-1.3.6}/mapreader.egg-info/PKG-INFO +46 -50
  24. {mapreader-1.3.4 → mapreader-1.3.6}/mapreader.egg-info/SOURCES.txt +4 -5
  25. {mapreader-1.3.4 → mapreader-1.3.6}/mapreader.egg-info/requires.txt +1 -0
  26. {mapreader-1.3.4 → mapreader-1.3.6}/setup.py +1 -0
  27. {mapreader-1.3.4 → mapreader-1.3.6}/tests/test_geo_pipeline.py +5 -3
  28. mapreader-1.3.4/tests/test_annotator.py +0 -276
  29. mapreader-1.3.4/tests/test_post_processing.py +0 -171
  30. mapreader-1.3.4/tests/test_sheet_downloader.py +0 -742
  31. {mapreader-1.3.4 → mapreader-1.3.6}/LICENSE +0 -0
  32. {mapreader-1.3.4 → mapreader-1.3.6}/mapreader/__main__.py +0 -0
  33. {mapreader-1.3.4 → mapreader-1.3.6}/mapreader/annotate/__init__.py +0 -0
  34. {mapreader-1.3.4 → mapreader-1.3.6}/mapreader/classify/__init__.py +0 -0
  35. {mapreader-1.3.4 → mapreader-1.3.6}/mapreader/classify/custom_models.py +0 -0
  36. {mapreader-1.3.4 → mapreader-1.3.6}/mapreader/download/__init__.py +0 -0
  37. {mapreader-1.3.4 → mapreader-1.3.6}/mapreader/download/tile_loading.py +0 -0
  38. {mapreader-1.3.4 → mapreader-1.3.6}/mapreader/load/__init__.py +0 -0
  39. {mapreader-1.3.4 → mapreader-1.3.6}/mapreader/load/geo_utils.py +0 -0
  40. {mapreader-1.3.4 → mapreader-1.3.6}/mapreader/process/__init__.py +0 -0
  41. {mapreader-1.3.4 → mapreader-1.3.6}/mapreader/process/process.py +0 -0
  42. {mapreader-1.3.4 → mapreader-1.3.6}/mapreader/spot_text/__init__.py +0 -0
  43. {mapreader-1.3.4 → mapreader-1.3.6}/mapreader/utils/__init__.py +0 -0
  44. {mapreader-1.3.4 → mapreader-1.3.6}/mapreader/utils/compute_and_save_stats.py +0 -0
  45. {mapreader-1.3.4 → mapreader-1.3.6}/mapreader/utils/slice_parallel.py +0 -0
  46. {mapreader-1.3.4 → mapreader-1.3.6}/mapreader.egg-info/dependency_links.txt +0 -0
  47. {mapreader-1.3.4 → mapreader-1.3.6}/mapreader.egg-info/entry_points.txt +0 -0
  48. {mapreader-1.3.4 → mapreader-1.3.6}/mapreader.egg-info/not-zip-safe +0 -0
  49. {mapreader-1.3.4 → mapreader-1.3.6}/mapreader.egg-info/top_level.txt +0 -0
  50. {mapreader-1.3.4 → mapreader-1.3.6}/setup.cfg +0 -0
  51. {mapreader-1.3.4 → mapreader-1.3.6}/tests/test_import.py +0 -0
  52. {mapreader-1.3.4 → mapreader-1.3.6}/versioneer.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: mapreader
3
- Version: 1.3.4
3
+ Version: 1.3.6
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
@@ -58,6 +58,7 @@ Requires-Dist: geopandas<1.0.0
58
58
  Requires-Dist: pyogrio>=0.7.2
59
59
  Requires-Dist: cartopy>=0.22.0
60
60
  Requires-Dist: joblib>=1.4.0
61
+ Requires-Dist: opencv-python<5.0.0.0
61
62
  Provides-Extra: dev
62
63
  Requires-Dist: pytest<9.0.0; extra == "dev"
63
64
  Requires-Dist: pytest-cov<6.0.0,>=4.1.0; extra == "dev"
@@ -66,44 +67,46 @@ Requires-Dist: transformers<5.0.0; extra == "dev"
66
67
  Requires-Dist: black<25.0.0,>=23.7.0; extra == "dev"
67
68
  Requires-Dist: flake8<8.0.0,>=6.0.0; extra == "dev"
68
69
 
69
- <div align="center">
70
- <br>
71
- <p align="center">
72
- <h1>MapReader</h1>
73
- <h2>A computer vision pipeline for exploring and analyzing images at scale</h2>
74
- </p>
75
- </div>
76
-
77
- <p align="center">
78
- <a href="https://pypi.org/project/mapreader/">
79
- <img alt="PyPI" src="https://img.shields.io/pypi/v/MapReader">
80
- </a>
81
- <a href="https://github.com/Living-with-machines/MapReader/blob/main/LICENSE">
82
- <img alt="License" src="https://img.shields.io/badge/License-MIT-yellow.svg">
83
- </a>
84
- <a href="https://github.com/Living-with-machines/MapReader/actions/workflows/mr_ci.yml/badge.svg">
85
- <img alt="Integration Tests badge" src="https://github.com/Living-with-machines/MapReader/actions/workflows/mr_ci.yml/badge.svg">
86
- </a>
87
- <a href="https://zenodo.org/badge/latestdoi/430661738"><img src="https://zenodo.org/badge/430661738.svg" alt="DOI"></a>
88
- <br/>
89
- <a href="https://codecov.io/github/Living-with-machines/MapReader" >
90
- <img src="https://codecov.io/github/Living-with-machines/MapReader/graph/badge.svg?token=38GQ3O1GB5"/>
91
- </a>
92
- </p>
70
+ # MapReader
93
71
 
72
+ > [!IMPORTANT] A computer vision pipeline for exploring and analyzing images at scale
94
73
 
95
- ## What is MapReader?
74
+ <!-- ALL-CONTRIBUTORS-BADGE:START - Do not remove or modify this section -->
75
+ [![All Contributors](https://img.shields.io/badge/all_contributors-8-orange.svg?style=flat-square)](#contributors)
76
+ <!-- ALL-CONTRIBUTORS-BADGE:END -->
96
77
 
97
- <div align="center">
98
- <figure>
99
- <img src="https://raw.githubusercontent.com/Living-with-machines/MapReader/main/figs/river_banner_8bit.png"
100
- alt="Annotated Map with Prediction Outputs"
101
- width="70%">
102
- </figure>
103
- </div>
78
+ ![PyPI](https://img.shields.io/pypi/v/MapReader)
79
+ ![License](https://img.shields.io/badge/License-MIT-yellow.svg)
80
+ ![Integration Tests badge](https://github.com/Living-with-machines/MapReader/actions/workflows/mr_ci.yml/badge.svg)
81
+ ![DOI](https://zenodo.org/badge/430661738.svg)
82
+ ![CodeCov](https://codecov.io/github/Living-with-machines/MapReader/graph/badge.svg?token=38GQ3O1GB5)
83
+
84
+ ## Table of Contents
85
+
86
+ - [MapReader](#mapreader)
87
+ - [Table of Contents](#table-of-contents)
88
+ - [What is MapReader?](#what-is-mapreader)
89
+ - [Overview](#overview)
90
+ - [MapReader pipeline](#mapreader-pipeline)
91
+ - [Documentation](#documentation)
92
+ - [What is included in this repo?](#what-is-included-in-this-repo)
93
+ - [How to cite MapReader](#how-to-cite-mapreader)
94
+ - [Acknowledgements](#acknowledgements)
95
+ - [Contributors](#contributors)
96
+
97
+ ---
98
+ <!--- sphinx-include --->
99
+
100
+ ## What is MapReader?
104
101
 
105
102
  MapReader is an end-to-end computer vision (CV) pipeline for exploring and analyzing images at scale.
106
103
 
104
+ <figure align="center">
105
+ <img src="https://raw.githubusercontent.com/Living-with-machines/MapReader/main/docs/source/_static/river_banner_8bit.png"
106
+ alt="Annotated Map with Prediction Outputs"
107
+ width="70%">
108
+ </figure>
109
+
107
110
  MapReader was developed in the [Living with Machines](https://livingwithmachines.ac.uk/) project to analyze large collections of historical maps but is a _**generalizable**_ computer vision pipeline which can be applied to _**any images**_ in a wide variety of domains.
108
111
 
109
112
  ## Overview
@@ -112,30 +115,28 @@ MapReader is a groundbreaking interdisciplinary tool that emerged from a specifi
112
115
 
113
116
  ### MapReader pipeline
114
117
 
115
- <div align="center">
116
- <figure>
117
- <img src="https://raw.githubusercontent.com/Living-with-machines/MapReader/main/docs/source/figures/pipeline_explained.png"
118
+ The MapReader pipeline consists of a linear sequence of tasks which, together, can be used to train a computer vision (CV) classifier to recognize visual features within maps and identify patches containing these features across entire map collections:
119
+
120
+ <figure align="center">
121
+ <img src="https://raw.githubusercontent.com/Living-with-machines/MapReader/main/docs/source/_static/pipeline_explained.png"
118
122
  alt="MapReader pipeline"
119
123
  width="70%">
120
- </figure>
121
- </div>
122
-
123
- The MapReader pipeline consists of a linear sequence of tasks which, together, can be used to train a computer vision (CV) classifier to recognize visual features within maps and identify patches containing these features across entire map collections.
124
+ </figure>
124
125
 
125
- See our [About MapReader](https://mapreader.readthedocs.io/en/latest/About.html) page to learn more.
126
+ See our [Introduction to MapReader](https://mapreader.readthedocs.io/en/latest/introduction-to-mapreader/) page to learn more.
126
127
 
127
128
  ## Documentation
128
129
 
129
- The MapReader documentation can be found at https://mapreader.readthedocs.io/en/latest/index.html.
130
+ The MapReader documentation can be found at https://mapreader.readthedocs.io/en/latest/.
130
131
 
131
- **New users** should refer to the [Installation instructions](https://mapreader.readthedocs.io/en/latest/Install.html) and [Input guidance](https://mapreader.readthedocs.io/en/latest/Input-guidance.html) for help with the initial set up of MapReader.
132
+ **New users** should refer to the [Installation instructions](https://mapreader.readthedocs.io/en/latest/getting-started/installation-instructions/index.html) and [Input guidance](https://mapreader.readthedocs.io/en/latest/using-mapreader/input-guidance/) for help with the initial set up of MapReader.
132
133
 
133
- **All users** should refer to our [User Guide](https://mapreader.readthedocs.io/en/latest/User-guide/User-guide.html) for guidance on how to use MapReader. This contains end-to-end instructions on how to use the MapReader pipeline, plus a number of worked examples illustrating use cases such as:
134
+ **All users** should refer to our [User Guide](https://mapreader.readthedocs.io/en/latest/using-mapreader/) for guidance on how to use MapReader. This contains end-to-end instructions on how to use the MapReader pipeline, plus a number of worked examples illustrating use cases such as:
134
135
 
135
136
  - Geospatial images (i.e. maps)
136
137
  - Non-geospatial images
137
138
 
138
- **Developers and contributors** may also want to refer to the [API documentation](https://mapreader.readthedocs.io/en/latest/api/index.html) and [Contribution guide](https://mapreader.readthedocs.io/en/latest/Contribution-guide/Contribution-guide.html) for guidance on how to contribute to the MapReader package.
139
+ **Developers and contributors** may also want to refer to the [API documentation](https://mapreader.readthedocs.io/en/latest/in-depth-resources/api/mapreader/) and [Contribution guide](https://mapreader.readthedocs.io/en/latest/community-and-contributions/contribution-guide/) for guidance on how to contribute to the MapReader package.
139
140
 
140
141
  **Join our Slack workspace!**
141
142
  Please fill out [this form](https://forms.gle/dXjECHZQkwrZ3Xpt9) to receive an invitation to the Slack workspace.
@@ -163,7 +164,6 @@ If you use MapReader in your work, please cite both the MapReader repo and [our
163
164
  - Kasra Hosseini, Daniel C. S. Wilson, Kaspar Beelen, and Katherine McDonough. 2022. MapReader: a computer vision pipeline for the semantic exploration of maps at scale. In Proceedings of the 6th ACM SIGSPATIAL International Workshop on Geospatial Humanities (GeoHumanities '22). Association for Computing Machinery, New York, NY, USA, 8–19. https://doi.org/10.1145/3557919.3565812
164
165
  - Kasra Hosseini, Rosie Wood, Andy Smith, Katie McDonough, Daniel C.S. Wilson, Christina Last, Kalle Westerling, and Evangeline Mae Corcoran. “Living-with-machines/mapreader: End of Lwm”. Zenodo, July 27, 2023. https://doi.org/10.5281/zenodo.8189653.
165
166
 
166
-
167
167
  ## Acknowledgements
168
168
 
169
169
  This work was supported by Living with Machines (AHRC grant AH/S01179X/1) and The Alan Turing Institute (EPSRC grant EP/N510129/1).
@@ -174,10 +174,6 @@ Maps above reproduced with the permission of the National Library of Scotland ht
174
174
 
175
175
  ## Contributors
176
176
 
177
- <!-- ALL-CONTRIBUTORS-BADGE:START - Do not remove or modify this section -->
178
- [![All Contributors](https://img.shields.io/badge/all_contributors-8-orange.svg?style=flat-square)](#contributors-)
179
- <!-- ALL-CONTRIBUTORS-BADGE:END -->
180
-
181
177
  <!-- ALL-CONTRIBUTORS-LIST:START - Do not remove or modify this section -->
182
178
  <!-- prettier-ignore-start -->
183
179
  <!-- markdownlint-disable -->
@@ -1,41 +1,43 @@
1
- <div align="center">
2
- <br>
3
- <p align="center">
4
- <h1>MapReader</h1>
5
- <h2>A computer vision pipeline for exploring and analyzing images at scale</h2>
6
- </p>
7
- </div>
8
-
9
- <p align="center">
10
- <a href="https://pypi.org/project/mapreader/">
11
- <img alt="PyPI" src="https://img.shields.io/pypi/v/MapReader">
12
- </a>
13
- <a href="https://github.com/Living-with-machines/MapReader/blob/main/LICENSE">
14
- <img alt="License" src="https://img.shields.io/badge/License-MIT-yellow.svg">
15
- </a>
16
- <a href="https://github.com/Living-with-machines/MapReader/actions/workflows/mr_ci.yml/badge.svg">
17
- <img alt="Integration Tests badge" src="https://github.com/Living-with-machines/MapReader/actions/workflows/mr_ci.yml/badge.svg">
18
- </a>
19
- <a href="https://zenodo.org/badge/latestdoi/430661738"><img src="https://zenodo.org/badge/430661738.svg" alt="DOI"></a>
20
- <br/>
21
- <a href="https://codecov.io/github/Living-with-machines/MapReader" >
22
- <img src="https://codecov.io/github/Living-with-machines/MapReader/graph/badge.svg?token=38GQ3O1GB5"/>
23
- </a>
24
- </p>
1
+ # MapReader
25
2
 
3
+ > [!IMPORTANT] A computer vision pipeline for exploring and analyzing images at scale
26
4
 
27
- ## What is MapReader?
5
+ <!-- ALL-CONTRIBUTORS-BADGE:START - Do not remove or modify this section -->
6
+ [![All Contributors](https://img.shields.io/badge/all_contributors-8-orange.svg?style=flat-square)](#contributors)
7
+ <!-- ALL-CONTRIBUTORS-BADGE:END -->
28
8
 
29
- <div align="center">
30
- <figure>
31
- <img src="https://raw.githubusercontent.com/Living-with-machines/MapReader/main/figs/river_banner_8bit.png"
32
- alt="Annotated Map with Prediction Outputs"
33
- width="70%">
34
- </figure>
35
- </div>
9
+ ![PyPI](https://img.shields.io/pypi/v/MapReader)
10
+ ![License](https://img.shields.io/badge/License-MIT-yellow.svg)
11
+ ![Integration Tests badge](https://github.com/Living-with-machines/MapReader/actions/workflows/mr_ci.yml/badge.svg)
12
+ ![DOI](https://zenodo.org/badge/430661738.svg)
13
+ ![CodeCov](https://codecov.io/github/Living-with-machines/MapReader/graph/badge.svg?token=38GQ3O1GB5)
14
+
15
+ ## Table of Contents
16
+
17
+ - [MapReader](#mapreader)
18
+ - [Table of Contents](#table-of-contents)
19
+ - [What is MapReader?](#what-is-mapreader)
20
+ - [Overview](#overview)
21
+ - [MapReader pipeline](#mapreader-pipeline)
22
+ - [Documentation](#documentation)
23
+ - [What is included in this repo?](#what-is-included-in-this-repo)
24
+ - [How to cite MapReader](#how-to-cite-mapreader)
25
+ - [Acknowledgements](#acknowledgements)
26
+ - [Contributors](#contributors)
27
+
28
+ ---
29
+ <!--- sphinx-include --->
30
+
31
+ ## What is MapReader?
36
32
 
37
33
  MapReader is an end-to-end computer vision (CV) pipeline for exploring and analyzing images at scale.
38
34
 
35
+ <figure align="center">
36
+ <img src="https://raw.githubusercontent.com/Living-with-machines/MapReader/main/docs/source/_static/river_banner_8bit.png"
37
+ alt="Annotated Map with Prediction Outputs"
38
+ width="70%">
39
+ </figure>
40
+
39
41
  MapReader was developed in the [Living with Machines](https://livingwithmachines.ac.uk/) project to analyze large collections of historical maps but is a _**generalizable**_ computer vision pipeline which can be applied to _**any images**_ in a wide variety of domains.
40
42
 
41
43
  ## Overview
@@ -44,30 +46,28 @@ MapReader is a groundbreaking interdisciplinary tool that emerged from a specifi
44
46
 
45
47
  ### MapReader pipeline
46
48
 
47
- <div align="center">
48
- <figure>
49
- <img src="https://raw.githubusercontent.com/Living-with-machines/MapReader/main/docs/source/figures/pipeline_explained.png"
49
+ The MapReader pipeline consists of a linear sequence of tasks which, together, can be used to train a computer vision (CV) classifier to recognize visual features within maps and identify patches containing these features across entire map collections:
50
+
51
+ <figure align="center">
52
+ <img src="https://raw.githubusercontent.com/Living-with-machines/MapReader/main/docs/source/_static/pipeline_explained.png"
50
53
  alt="MapReader pipeline"
51
54
  width="70%">
52
- </figure>
53
- </div>
54
-
55
- The MapReader pipeline consists of a linear sequence of tasks which, together, can be used to train a computer vision (CV) classifier to recognize visual features within maps and identify patches containing these features across entire map collections.
55
+ </figure>
56
56
 
57
- See our [About MapReader](https://mapreader.readthedocs.io/en/latest/About.html) page to learn more.
57
+ See our [Introduction to MapReader](https://mapreader.readthedocs.io/en/latest/introduction-to-mapreader/) page to learn more.
58
58
 
59
59
  ## Documentation
60
60
 
61
- The MapReader documentation can be found at https://mapreader.readthedocs.io/en/latest/index.html.
61
+ The MapReader documentation can be found at https://mapreader.readthedocs.io/en/latest/.
62
62
 
63
- **New users** should refer to the [Installation instructions](https://mapreader.readthedocs.io/en/latest/Install.html) and [Input guidance](https://mapreader.readthedocs.io/en/latest/Input-guidance.html) for help with the initial set up of MapReader.
63
+ **New users** should refer to the [Installation instructions](https://mapreader.readthedocs.io/en/latest/getting-started/installation-instructions/index.html) and [Input guidance](https://mapreader.readthedocs.io/en/latest/using-mapreader/input-guidance/) for help with the initial set up of MapReader.
64
64
 
65
- **All users** should refer to our [User Guide](https://mapreader.readthedocs.io/en/latest/User-guide/User-guide.html) for guidance on how to use MapReader. This contains end-to-end instructions on how to use the MapReader pipeline, plus a number of worked examples illustrating use cases such as:
65
+ **All users** should refer to our [User Guide](https://mapreader.readthedocs.io/en/latest/using-mapreader/) for guidance on how to use MapReader. This contains end-to-end instructions on how to use the MapReader pipeline, plus a number of worked examples illustrating use cases such as:
66
66
 
67
67
  - Geospatial images (i.e. maps)
68
68
  - Non-geospatial images
69
69
 
70
- **Developers and contributors** may also want to refer to the [API documentation](https://mapreader.readthedocs.io/en/latest/api/index.html) and [Contribution guide](https://mapreader.readthedocs.io/en/latest/Contribution-guide/Contribution-guide.html) for guidance on how to contribute to the MapReader package.
70
+ **Developers and contributors** may also want to refer to the [API documentation](https://mapreader.readthedocs.io/en/latest/in-depth-resources/api/mapreader/) and [Contribution guide](https://mapreader.readthedocs.io/en/latest/community-and-contributions/contribution-guide/) for guidance on how to contribute to the MapReader package.
71
71
 
72
72
  **Join our Slack workspace!**
73
73
  Please fill out [this form](https://forms.gle/dXjECHZQkwrZ3Xpt9) to receive an invitation to the Slack workspace.
@@ -95,7 +95,6 @@ If you use MapReader in your work, please cite both the MapReader repo and [our
95
95
  - Kasra Hosseini, Daniel C. S. Wilson, Kaspar Beelen, and Katherine McDonough. 2022. MapReader: a computer vision pipeline for the semantic exploration of maps at scale. In Proceedings of the 6th ACM SIGSPATIAL International Workshop on Geospatial Humanities (GeoHumanities '22). Association for Computing Machinery, New York, NY, USA, 8–19. https://doi.org/10.1145/3557919.3565812
96
96
  - Kasra Hosseini, Rosie Wood, Andy Smith, Katie McDonough, Daniel C.S. Wilson, Christina Last, Kalle Westerling, and Evangeline Mae Corcoran. “Living-with-machines/mapreader: End of Lwm”. Zenodo, July 27, 2023. https://doi.org/10.5281/zenodo.8189653.
97
97
 
98
-
99
98
  ## Acknowledgements
100
99
 
101
100
  This work was supported by Living with Machines (AHRC grant AH/S01179X/1) and The Alan Turing Institute (EPSRC grant EP/N510129/1).
@@ -106,10 +105,6 @@ Maps above reproduced with the permission of the National Library of Scotland ht
106
105
 
107
106
  ## Contributors
108
107
 
109
- <!-- ALL-CONTRIBUTORS-BADGE:START - Do not remove or modify this section -->
110
- [![All Contributors](https://img.shields.io/badge/all_contributors-8-orange.svg?style=flat-square)](#contributors-)
111
- <!-- ALL-CONTRIBUTORS-BADGE:END -->
112
-
113
108
  <!-- ALL-CONTRIBUTORS-LIST:START - Do not remove or modify this section -->
114
109
  <!-- prettier-ignore-start -->
115
110
  <!-- markdownlint-disable -->
@@ -1,17 +1,25 @@
1
+ # download
2
+ from mapreader.download.sheet_downloader import SheetDownloader
3
+ from mapreader.download.downloader import Downloader
4
+ from mapreader.download.downloader_utils import create_polygon_from_latlons, create_line_from_latlons
5
+
6
+
7
+ # load
1
8
  from mapreader.load.images import MapImages
2
9
  from mapreader.load.loader import loader
3
10
  from mapreader.load.loader import load_patches
4
11
 
5
- from mapreader.download.sheet_downloader import SheetDownloader
6
- from mapreader.download.downloader import Downloader
7
- from mapreader.download.downloader_utils import create_polygon_from_latlons, create_line_from_latlons
12
+ # annotate
13
+ from mapreader.annotate.annotator import Annotator
8
14
 
15
+ # classify
9
16
  from mapreader.classify.load_annotations import AnnotationsLoader
10
17
  from mapreader.classify.datasets import PatchDataset
11
18
  from mapreader.classify.datasets import PatchContextDataset
12
19
  from mapreader.classify.classifier import ClassifierContainer
13
20
  from mapreader.classify import custom_models
14
21
 
22
+ # spot_text
15
23
  try:
16
24
  from mapreader.spot_text.deepsolo_runner import DeepSoloRunner
17
25
  except ImportError:
@@ -22,17 +30,26 @@ try:
22
30
  except ImportError:
23
31
  pass
24
32
 
25
- from mapreader.process import process
26
-
27
- from mapreader.annotate.annotator import Annotator
33
+ try:
34
+ from mapreader.spot_text.maptext_runner import MapTextRunner
35
+ except ImportError:
36
+ pass
28
37
 
29
- from . import _version
30
38
 
31
- __version__ = _version.get_versions()["version"]
39
+ # post process
40
+ from mapreader.process.context_post_process import ContextPostProcessor
41
+ from mapreader.process.occlusion_analysis import OcclusionAnalyzer
32
42
 
43
+ # utils
33
44
  from mapreader.load import geo_utils
34
45
 
46
+
47
+ # version
48
+ from . import _version
49
+ __version__ = _version.get_versions()["version"]
50
+
35
51
  import mapreader
36
52
 
37
53
  def print_version():
38
- print(mapreader.__version__)
54
+ """Print the current version of mapreader."""
55
+ print(mapreader.__version__)
@@ -8,11 +8,11 @@ import json
8
8
 
9
9
  version_json = '''
10
10
  {
11
- "date": "2024-07-05T11:21:59+0100",
11
+ "date": "2024-08-09T14:10:51+0100",
12
12
  "dirty": false,
13
13
  "error": null,
14
- "full-revisionid": "add823a499b1d0763327f9d56962c2a6af0e2d42",
15
- "version": "1.3.4"
14
+ "full-revisionid": "5ba6c479346a58dc6d937776c895b30d6c21f833",
15
+ "version": "1.3.6"
16
16
  }
17
17
  ''' # END VERSION_JSON
18
18
 
@@ -680,7 +680,8 @@ class Annotator:
680
680
 
681
681
  Notes
682
682
  -----
683
- This method is a wrapper for the ``_annotate`` method.
683
+ This method is a wrapper for the
684
+ :meth:`~.annotate.annotator.Annotate._annotate` method.
684
685
  """
685
686
  if sortby is not None:
686
687
  self._sortby = sortby
@@ -310,7 +310,10 @@ def annotation_interface(
310
310
  # stream=True so we don't download the whole page, only check if
311
311
  # the page exists
312
312
  response = requests.get(url, stream=True)
313
- assert response.status_code < 400
313
+ if not response.status_code < 400:
314
+ raise RuntimeError(
315
+ f"URL could not get a response: {response.status_code}"
316
+ )
314
317
  print()
315
318
  print(f"URL: {url}")
316
319
  except: