This repository contains few tools to sort and extract stats on MultiSenGE dataset. If you want to download the dataset, please follow this link
If you use this script and/or MultiSenGE dataset, please cite the paper as follow.
Romain Wenger, Anne Puissant, Jonathan Weber, Lhassane Idoumghar, & Germain Forestier. (2022). A new remote sensing benchmark dataset for machine learning applications : MultiSenGE (1.0) [Data set]. Zenodo. https://doi.org/10.5281/zenodo.6375466
@dataset{romain_wenger_2022_6375466,
author = {Romain Wenger and
Anne Puissant and
Jonathan Weber and
Lhassane Idoumghar and
Germain Forestier},
title = {{A new remote sensing benchmark dataset for machine
learning applications : MultiSenGE}},
month = mar,
year = 2022,
note = {ANR-17-CE23-0015},
publisher = {Zenodo},
version = {1.0},
doi = {10.5281/zenodo.6375466},
url = {https://doi.org/10.5281/zenodo.6375466}
}
And/or
Wenger, R., Puissant, A., Weber, J., Idoumghar, L., and Forestier, G.: MULTISENGE: A MULTIMODAL AND MULTITEMPORAL BENCHMARK DATASET FOR LAND USE/LAND COVER REMOTE SENSING APPLICATIONS, ISPRS Ann. Photogramm. Remote Sens. Spatial Inf. Sci., V-3-2022, 635–640, https://doi.org/10.5194/isprs-annals-V-3-2022-635-2022, 2022.
@Article{isprs-annals-V-3-2022-635-2022,
AUTHOR = {Wenger, R. and Puissant, A. and Weber, J. and Idoumghar, L. and Forestier, G.},
TITLE = {MULTISENGE: A MULTIMODAL AND MULTITEMPORAL BENCHMARK DATASET FOR LAND USE/LAND COVER REMOTE SENSING APPLICATIONS},
JOURNAL = {ISPRS Annals of the Photogrammetry, Remote Sensing and Spatial Information Sciences},
VOLUME = {V-3-2022},
YEAR = {2022},
PAGES = {635--640},
URL = {https://www.isprs-ann-photogramm-remote-sens-spatial-inf-sci.net/V-3-2022/635/2022/},
DOI = {10.5194/isprs-annals-V-3-2022-635-2022}
}
Normally, json is a built-in library available in Python. In case it is not installed, I invite you to set it up with conda :
conda install -c jmcmurray json
-
reconstruct_filename (Public) : Reconstruct the filename(s) of ground reference (gr) patch, Sentinel-2 (s2) patche(s) or Sentinel-1 (s1) patches.
-
matching_periods (Public) : Check if the patch have nb_data_per_period for each period in periods (list of a list)
-
has_nb_dates (Public) : Check if the patch has a certain number (nb_data patchs) of dates.
-
has_matching_monthes (Public) : Check if the patch has a certain number (nb_data_per_month patchs) for each months (dates) for S1 or S2.
-
get_centroid (Public) : Calculating the centroid of the patch.
-
create_points_shapefile (Public Static) : Compute shapefile map from a list of points/centroids (default EPSG : 4326).
-
change_coordinates (Public Static) : Changing coordinates from an epsg to an other.
-
has_days_gap_s2 (Public) : Check if there is at least days_gap between each S2 image in each month.
-
to_date (Public Static) : Convert a list of string dates in a format (date_format). Possibility to extract a date from a filename (S1 or S2 patches filename)
-
generate_list_patches (Public Static) : Create a list of patches objects from json files available in MultiSenGE (labels folder).
- This function read every json file in the folder. It returns a list containing x Patch objects according to the number of patches present in the dataset.
list_patches = Patch.generate_list_patches('./labels')
- There are two ways to use the constructor of the class. The first one is to give it a json filename from the labels folder.
constructor_wt_filename = Patch(json=os.path.join('./labels', '31UGP_2313_4883.json'))
The second one uses kwargs and you have to instantiate it with every parameters.
constructor_wt_params = Patch(x=x, y=y, tile=tile, s2_dates=s2_dates, s1_dates=s1_dates, projection=projection, labels=labels)
- With this function, you want to know if the current patch (mypatch) has at least 2 S2 patches for each period in periods.
periods = [['20200101', '20200731'], ['20200801', '20200930'], ['20201001', '20201231']]
mypatch.matching_periods(periods, 2)
You can follow this link to visualize some informations extracted from MultiSenGE.
This script was made by Romain Wenger. For any questions or suggestions, do not hesitate to contact us : Mail me