Worked Examples

We have provided a number of worked examples to demonstrate how to use the MapReader package. These examples can be found in the worked_examples directory of the repository.

Maps and geospatial images

MapReader was developed for maps and geospatial images.

Classification of one-inch OS maps

https://raw.githubusercontent.com/Living-with-machines/MapReader/main/figs/tutorial_classification_one_inch_maps_001.png

We have provided two examples of how to use MapReader to identify railspace patches in one-inch OS maps. Both examples demonstrate how to use MapReader with maps hosted on a tileserver.

Our examples show a full end-to-end use of the MapReader pipeline, including downloading, loading and patchifying map images, annotating patches to create training data, training a model and using the model to classify patches.

The first examples demonstrates how to use MapReader to classify patches using a standard patch-level classification model in which patches are used as inputs to the model. It can be found here.

The second example demonstrates how to use MapReader to classify patches using a context-level classification model in which patches and their surrounding patches (i.e. context) are used as inputs to the model. It can be found here.

Non-geospatial images

MapReader can also for non-geospatial images. We have provided two examples of this.

Classification of plant phenotypes

https://raw.githubusercontent.com/Living-with-machines/MapReader/main/figs/tutorial_classification_plant_phenotype.png

In our plant phenotypes example, we demonstrate how to use MapReader to classify plant phenotypes in images of plants. Importantly, this worked example demonstrates how to use MapReader with non-georeferenced images (e.g. non-georeferenced map images). It can be found here.

Classification of MNIST digits

https://raw.githubusercontent.com/Living-with-machines/MapReader/main/figs/tutorial_classification_mnist.png

In our MNIST example, we demonstrate how to use MapReader to classify MNIST digits. Importantly, this example demonstrates how to use MapReader to classify whole images instead of patches and therefore how MapReader can generalize to much broader use cases. It can be found here.