Skip to content
Resource

MOSAIKS Satellite Imagery Open Source Package

Users of this package should acknowledge IDinsight and reference the MOSAIKS RCF algorithm as Rolf, Esther, et al. “A generalizable and accessible approach to machine learning with global satellite imagery.” Nature communications 12.1 (2021): 4392.

MOSAIKS is a Python package that performs parallelized encoding of satellite imagery into easy-to-use features using the MOSAIKS algorithm and Dask for parallel processing. This package enables users to generate feature vectors based on satellite images by providing a list of latitudes and longitudes and Microsoft’s Planetary Computer API key. It supports various satellites, image sizes, time periods, and parallelization options.

We implement the MOSAIKS algorithm based on work by Rolf et al., 2021 based on random convolutional features. The authors of this paper make a global cross-section of pre-computed features using Planet imagery from 2019 available at mosaiks.org, along with tutorials and related research.

This package extends the functionality of the original MOSAIKS implementation in the following ways:

  • Flexibility in choice of satellite (tested for Landsat-8 and Sentinel-2)
  • Ability to select the timeframe from which to pull imagery
  • Flexibility in choosing the size of the images centred on points of interest, image bands used, etc.
  • Flexible upload and download of data
  • Parallel processing with Dask to speed up fetching images and creating features.
  • Once installed, the package can be run on any machine (with the API key).

The package has been tested via Microsoft Planetary Computer on Landsat-8 or Sentinel-2 imagery. Please note this package has only been tested on Python 3.10 and 3.11. Using other versions of Python are expected to raise errors due to dependency conflicts.

For more detailed information on this package and how to use it, please see this blog post, and tech blogs 1 and 2. For information on preview and potential use cases for this package, please see this blog post. For more information on MOSAIKS and previous use cases, see the MOSAIKS website here.