Geospatial (Sentinel2 Multi-Spectral) support for fastai
Project description
Welcome to fastgs
Introduction
This library is currently in alpha, neither the functionality nor the API is stable
This library provides geospatial multi-spectral image support for fastai. FastAI already has extensive support for RGB images in the pipeline. I try to achieve feature parity for multi-spectral images with this library, specifically in the context of Sentinel 2 geospatial imaging.
Sample Notebooks
You can find demo usage of the library at
- On the kaggle 38-cloud/95-cloud landsat dataset
- With a private Sentinel 2 dataset
These are boths works in progress and purposely designed to display the features of the library.
Install
pip install -Uqq fastgs
conda install -c restlessronin fastgs
How to use
The low-level functionality is wrapped into a class that loads sets of
Sentinel 2 channels into a multi-spectral tensor (a
TensorImageMS
subclass of fastai
TensorImage
which itself is a subclass of the
pytorch
Tensor
).
from fastgs.multispectral import *
The following code creates a class that can load 11 Sentinel 2 channels
into a
TensorImageMS
.
from fastgs.test.io import * # defines read_multichan_files_as_tensor
sentinel2 = createSentinel2Descriptor()
snt_12 = MSData.from_all(
sentinel2,
["B02","B03","B04","B05","B06","B07","B08","B8A","B11","B12","AOT"],
[sentinel2.rgb_combo["natural_color"], ["B07","B06","B05"],["B12","B11","B8A"],["B08"]],
get_channel_filenames,
read_multichan_files
)
The second parameter is a list of 4 channel sets that are minimally required to visualize all the individual channels.
img_12 = snt_12.load_image(66)
img_12.show()
[<AxesSubplot:>, <AxesSubplot:>, <AxesSubplot:>, <AxesSubplot:>]
Acknowledgements
This library is inspired by the following notebooks (and related works by the authors)
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.