MapReader

MapReader: Open software for the visual analysis of maps - Published in JOSS (2024)

https://github.com/maps-as-data/mapreader

Science Score: 100.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
    Found CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
    Found 8 DOI reference(s) in README and JOSS metadata
  • Academic publication links
    Links to: acm.org, joss.theoj.org, zenodo.org
  • Committers with academic emails
    4 of 18 committers (22.2%) from academic institutions
  • Institutional organization owner
  • JOSS paper metadata
    Published in Journal of Open Source Software

Keywords

article computer-vision deep-learning digital-humanities hut23 hut23-96 machine-learning maps pytorch spatial-data

Keywords from Contributors

calibration gaussian-processes mcmc sensitivity-analysis uncertainty-quantification metaheuristic annotation pypi mesh bids

Scientific Fields

Political Science Social Sciences - 90% confidence
Earth and Environmental Sciences Physical Sciences - 62% confidence
Last synced: 4 months ago · JSON representation ·

Repository

A computer vision pipeline for exploring and analyzing images at scale

Basic Info
Statistics
  • Stars: 118
  • Watchers: 9
  • Forks: 17
  • Open Issues: 83
  • Releases: 9
Topics
article computer-vision deep-learning digital-humanities hut23 hut23-96 machine-learning maps pytorch spatial-data
Created about 4 years ago · Last pushed 5 months ago
Metadata Files
Readme Changelog License Code of conduct Citation

README.md

MapReader

All Contributors PyPI License Integration Tests badge DOI CodeCov JOSS Paper

Table of Contents


What is MapReader?

MapReader is a open-source python library for exploring and analyzing map images at scale.

It contains two different pipelines:

  • Classification pipeline: This pipeline enables users to fine-tune a classification model and predict the labels of patches created from a parent image.
  • Text spotting pipeline: This pipeline enables users to detect and recognize text in map images.

MapReader was developed in the Living with Machines project to analyze large collections of historical maps but is a generalizable computer vision tool which can be applied to any images in a wide variety of domains.

Overview

MapReader classification pipeline

The MapReader classification pipeline enables users to train a classification model to recognize visual features within map images and to identify patches containing these features across entire map collections:

MapReader pipeline

MapReader text spotting pipeline

The MapReader text spotting pipeline enables users to detect and recognize text in map images using a pre-trained text spotting model:

MapReader text spotting pipeline

Documentation

The MapReader documentation can be found at https://mapreader.readthedocs.io/en/latest/.

New users should refer to the Installation instructions and Input guidance for help with the initial set up of MapReader.

All users should refer to our User Guide for guidance on how to use MapReader. This contains end-to-end instructions on how to use the MapReader pipeline.

Developers and contributors may also want to refer to the API documentation and Contribution guide for guidance on how to contribute to the MapReader package.

Stay in touch

All users are encouraged to join our community! Please refer to the Community and contributions page for information on ways to get involved.

Join our Slack workspace! Please fill out this form to receive an invitation to the Slack workspace.

What is included in this repo?

This repository contains everything needed for running MapReader.

The repository is structured as follows:

  • mapreader/: Contains the source code for the MapReader library.
  • docs/: Contains the documentation for the MapReader library.
  • tests/ and test_text_spotting/: Contains the tests for the MapReader library.

What is not included in this repo?

Our worked examples can be found in the mapreader-examples repository.

We also have a number of other MapReader and map related repositories which can be found on the maps-as-data GitHub organisation page.

How to cite MapReader

If you use MapReader in your work, please cite: - Our JOSS paper - to acknowledge the software irrespective of the version you used. - Our Zenodo record - to acknowledge the specific version of the software you used (or use the "Cite all versions?" option if your specific version isn't there). - Optionally, our SIGSPATIAL paper to acknowledge the development of the software and the research behind it.

Acknowledgements

This work was supported by Living with Machines (AHRC grant AH/S01179X/1), Data/Culture (AHRC grant AH/Y00745X/1) and The Alan Turing Institute (EPSRC grant EP/N510129/1).

Living with Machines, funded by the UK Research and Innovation (UKRI) Strategic Priority Fund, is a multidisciplinary collaboration delivered by the Arts and Humanities Research Council (AHRC), with The Alan Turing Institute, the British Library and the Universities of Cambridge, East Anglia, Exeter, and Queen Mary University of London.

Maps above reproduced with the permission of the National Library of Scotland https://maps.nls.uk/index.html

Contributors

Katie McDonough
Katie McDonough

🔬 🤔 📖 📆 👀 📢
Daniel C.S. Wilson
Daniel C.S. Wilson

🔬 🤔 📢 📖
Kasra Hosseini
Kasra Hosseini

💻 🤔 🔬 👀 📢
Rosie Wood
Rosie Wood

💻 📖 🤔 📢 👀 🚧 🔬
Kalle Westerling
Kalle Westerling

💻 📖 🚧 👀 📢
Chris Fleet
Chris Fleet

🔣
Kaspar Beelen
Kaspar Beelen

🤔 👀 🔬
Andy Smith
Andy Smith

💻 📖 🧑‍🏫 👀
Adam Cox
Adam Cox

💻 ⚠️

Owner

  • Name: Maps as Data
  • Login: maps-as-data
  • Kind: organization

JOSS Publication

MapReader: Open software for the visual analysis of maps
Published
September 26, 2024
Volume 9, Issue 101, Page 6434
Authors
Rosie Wood ORCID
The Alan Turing Institute, London, United Kingdom
Kasra Hosseini ORCID
Zalando SE, Berlin, Germany
Kalle Westerling ORCID
The Alan Turing Institute, London, United Kingdom
Andrew Smith ORCID
The Alan Turing Institute, London, United Kingdom
Kaspar Beelen ORCID
The Alan Turing Institute, London, United Kingdom, School of Advanced Study, University of London, London, United Kingdom
Daniel C.s. Wilson ORCID
The Alan Turing Institute, London, United Kingdom
Katherine McDonough ORCID
The Alan Turing Institute, London, United Kingdom, Lancaster University, Lancaster, United Kingdom
Editor
Elizabeth DuPre ORCID
Tags
image classification computer vision deep learning computational humanities digital humanities maps history

Citation (CITATION.cff)

# This CITATION.cff file was generated with cffinit.
# Visit https://bit.ly/cffinit to generate yours today!

cff-version: 1.2.0
title: MapReader
message: >-
  If you use this software, please cite it using the
  metadata from this file.
type: software
authors:
  - given-names: Kaspar
    family-names: Beelen
    email: kaspar.beelen@sas.ac.uk
    affiliation: 'School of Advanced Studies, University of London'
    orcid: 'https://orcid.org/0000-0001-7331-1174'
  - given-names: Kasra
    family-names: Hosseini
    email: k.hosseinizad@gmail.com
    orcid: 'https://orcid.org/0000-0003-4396-6019'
  - given-names: Katherine
    family-names: McDonough
    email: k.mcdonough@lancaster.ac.uk
    affiliation: Lancaster University
    orcid: 'https://orcid.org/0000-0001-7506-1025'
  - given-names: Andrew
    family-names: Smith
    orcid: 'https://orcid.org/0000-0002-4465-2284'
    affiliation: The Alan Turing Institute
    email: a.smith@turing.ac.uk
  - given-names: Daniel C. S.
    family-names: Wilson
    email: dwilson@turing.ac.uk
    affiliation: The Alan Turing Institute
    orcid: 'https://orcid.org/0000-0001-6886-775X'
  - given-names: Rosie
    family-names: Wood
    affiliation: The Alan Turing Institute
    email: rwood@turing.ac.uk
    orcid: 'https://orcid.org/0000-0003-1623-1949'
  - given-names: Kalle
    family-names: Westerling
    email: kwesterling@turing.ac.uk
    affiliation: The Alan Turing Institute
    orcid: 'https://orcid.org/0000-0002-2014-332X'
identifiers:
  - type: url
    value: >-
      https://github.com/Living-with-machines/MapReader/releases/tag/v1.0.1
    description: The GitHub release URL of tag 1.0.1
  - type: url
    value: 'https://arxiv.org/abs/2111.15592'
    description: MapReader paper on arxiv
  - type: doi
    value: 10.1145/3557919.3565812
    description: ACM SIGSPATIAL Geohumanities 2022 Proceedings DOI
repository-code: 'https://github.com/Living-with-machines/MapReader'
url: 'https://mapreader.readthedocs.io/en/latest/'
abstract: >-
  MapReader was developed in the Living with Machines
  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.
keywords:
  - maps
  - computational humanities
  - Living with Machines
  - cultural heritage
  - computer vision
license: MIT

GitHub Events

Total
  • Issues event: 47
  • Watch event: 27
  • Delete event: 21
  • Issue comment event: 96
  • Push event: 133
  • Pull request review comment event: 18
  • Pull request review event: 17
  • Pull request event: 46
  • Fork event: 7
  • Create event: 29
Last Year
  • Issues event: 47
  • Watch event: 27
  • Delete event: 21
  • Issue comment event: 96
  • Push event: 133
  • Pull request review comment event: 18
  • Pull request review event: 17
  • Pull request event: 46
  • Fork event: 7
  • Create event: 29

Committers

Last synced: 5 months ago

All Time
  • Total Commits: 1,628
  • Total Committers: 18
  • Avg Commits per committer: 90.444
  • Development Distribution Score (DDS): 0.343
Past Year
  • Commits: 295
  • Committers: 7
  • Avg Commits per committer: 42.143
  • Development Distribution Score (DDS): 0.129
Top Committers
Name Email Commits
Rosie Wood r****d@t****k 1,069
kasra-hosseini k****i@t****k 203
Katie McDonough k****2@g****m 78
Kalle Westerling k****g@g****m 78
Kalle Westerling k****g@b****k 62
Andy Smith a****h 51
allcontributors[bot] 4****] 30
Daniel C.S. Wilson 3****2 18
ChristinaLast c****t@o****m 11
Fan Yang f****r@b****k 6
dependabot[bot] 4****] 5
Adam Cox m****x@g****m 4
kasparvonbeelen k****n@m****l 3
Ubuntu k****i@p****t 3
Kasra Hosseini k****i@z****e 3
Elizabeth DuPre e****2@c****u 2
Evangeline Corcoran 8****n 1
OSHistory 9****y 1

Issues and Pull Requests

Last synced: 4 months ago

All Time
  • Total issues: 79
  • Total pull requests: 73
  • Average time to close issues: 7 months
  • Average time to close pull requests: 3 months
  • Total issue authors: 14
  • Total pull request authors: 10
  • Average comments per issue: 1.76
  • Average comments per pull request: 1.67
  • Merged pull requests: 57
  • Bot issues: 0
  • Bot pull requests: 1
Past Year
  • Issues: 35
  • Pull requests: 45
  • Average time to close issues: 2 months
  • Average time to close pull requests: 10 days
  • Issue authors: 8
  • Pull request authors: 7
  • Average comments per issue: 1.23
  • Average comments per pull request: 1.36
  • Merged pull requests: 36
  • Bot issues: 0
  • Bot pull requests: 1
Top Authors
Issue Authors
  • rwood-97 (26)
  • kmcdono2 (11)
  • kasra-hosseini (6)
  • ChristinaLast (5)
  • kallewesterling (5)
  • kmlilley (2)
  • andrewphilipsmith (2)
  • DGalexander (2)
  • mradamcox (1)
  • kflau2 (1)
  • dcsw2 (1)
  • iamliamdt (1)
  • MonikaBarget (1)
  • sergejfr23 (1)
Pull Request Authors
  • rwood-97 (63)
  • kallewesterling (13)
  • andrewphilipsmith (4)
  • kasra-hosseini (3)
  • mradamcox (2)
  • OSHistory (2)
  • allcontributors[bot] (2)
  • DGalexander (2)
  • st7ma784 (2)
  • ChristinaLast (1)
Top Labels
Issue Labels
enhancement (25) new feature (25) documentation (9) bug (9) download (4) post-processing (3) experiment (2) load (2) annotate (2) text on maps (2) funding (2) project management (1) integrations (1) community (1) workshop2023march (1) important (1) workshop (1) classify (1) march-2025-wrap-up (1)
Pull Request Labels
no changelog (19) documentation (8) download (3) bug (2) text on maps (2) enhancement (2) new feature (2) dependencies (1) installation (1)

Dependencies

.github/workflows/mr_ci.yml actions
  • actions/checkout v2 composite
  • actions/setup-python v1 composite
.github/workflows/mr_pip_ci.yml actions
  • actions/checkout v2 composite
  • actions/setup-python v1 composite
.github/workflows/joss-draft-pdf.yml actions
  • actions/checkout v4 composite
  • actions/upload-artifact v1 composite
  • openjournals/openjournals-draft-action master composite
.github/workflows/publish-to-conda-forge.yml actions
  • actions/checkout v3 composite
  • actions/setup-python v4 composite
.github/workflows/publish-to-pypi.yml actions
  • actions/checkout v3 composite
  • actions/setup-python v2 composite
  • pypa/gh-action-pypi-publish release/v1 composite
.github/workflows/publish-to-test-pypi.yml actions
  • actions/checkout v3 composite
  • actions/setup-python v4 composite
  • pypa/gh-action-pypi-publish release/v1 composite
conda/ipyannotate/conda/setup.py pypi
  • ipywidgets >=7.0.0
docs/requirements.txt pypi
  • myst-parser *
  • nbsphinx *
  • pandoc *
  • sphinx-autoapi *
  • sphinx-copybutton *
  • sphinx-togglebutton *
  • sphinx_rtd_theme *
  • sphinxcontrib-napoleon *
setup.py pypi
  • Cython >=0.29.24,<0.30.0
  • PyYAML >=6.0,<7.0
  • Shapely >=2.0.0,<3.0.0
  • aiohttp >=3.8.1,<4.0.0
  • azure-storage-blob >=12.9.0,<13.0.0
  • geopy ==2.1.0
  • ipyannotate ==0.1.0
  • ipykernel >=6.5.1,<7.0.0
  • ipywidgets >=7.7.3,<8.0.0
  • jupyter >=1.0.0,<2.0.0
  • keplergl >=0.3.2,<0.4.0
  • matplotlib >=3.5.0,<4.0.0
  • nest-asyncio >=1.5.1,<2.0.0
  • numpy >=1.21.5,<2.0.0
  • openpyxl <4.0.0
  • pandas >=1.3.4,<2.0.0
  • parhugin >=0.0.3,<0.0.4
  • proj >=0.2.0,<0.3.0
  • pyproj >=3.2.0,<4.0.0
  • rasterio >=1.2.10,<2.0.0
  • scikit-image >=0.18.3
  • scikit-learn >=1.0.1,<2.0.0
  • simplekml >=1.3.6,<2.0.0
  • tensorboard >=2.7.0,<3.0.0
  • torch >=1.10.0,<2.0.0
  • torchinfo <2.0.0
  • torchvision >=0.11.1,<0.12.1
  • tqdm <5.0.0
  • versioneer >=0.28
.github/workflows/dependapot-review.yml actions
  • actions/checkout v4 composite
  • actions/dependency-review-action v4 composite
.github/workflows/mr_ci_text_spotting.yml actions
  • actions/checkout v2 composite
  • actions/setup-python v2 composite
.github/workflows/changelog.yml actions
  • tarides/changelog-check-action v2 composite
text-requirements.txt pypi
container/Dockerfile docker
  • nvcr.io/nvidia/pytorch 24.06-py3 build
container/requirements.txt pypi
  • Cython >=0.29.24,<0.30.0
  • PyYAML >=6.0,<7.0
  • Shapely >=2.0.0,<3.0.0
  • aiohttp >=3.8.1,<4.0.0
  • azure-storage-blob >=12.9.0,<13.0.0
  • black >=23.7.0,<25.0.0
  • cartopy >=0.22.0
  • fiona >=1.10.1
  • flake8 >=6.0.0,<8.0.0
  • geopandas <1.0.0
  • geopy ==2.1.0
  • ipyannotate ==0.1.0
  • ipykernel >=6.5.1,<7.0.0
  • ipywidgets >=8.0.0,<9.0.0
  • isodate >=0.7.2
  • joblib >=1.4.0
  • jupyter >=1.0.0,<2.0.0
  • jupyter-console >=6.6.3
  • jupyterlab-widgets >=3.0.13
  • mapclassify >=2.0.0,<3.0.0
  • matplotlib >=3.5.0,<4.0.0
  • nest-asyncio >=1.5.1,<2.0.0
  • numpy >=1.21.5,<2.0.0
  • opencv-python >=4.8.1.78,<5.0.0
  • pandas >=2.0.0
  • parhugin >=0.0.3,<0.0.4
  • pyogrio >=0.7.2
  • pyproj >=3.2.0,<4.0.0
  • pytest <9.0.0
  • pytest-cov >=4.1.0,<6.0.0
  • rasterio >=1.2.10,<2.0.0
  • scikit-image >=0.18.3
  • scikit-learn >=1.0.1,<2.0.0
  • simplekml >=1.3.6,<2.0.0
  • tensorboard >=2.7.0,<3.0.0
  • timm <1.0.0
  • torchinfo <2.0.0
  • tqdm <5.0.0
  • transformers <5.0.0
  • versioneer >=0.28
  • widgetsnbextension >=4.0.13
  • xyzservices ==2024.9.0