Main repository for Chapter 1 of my dissertation:
Multi-Sensor Monitoring of Wetland Inundation Using a Machine Learning and Data Fusion Framework
Authors: Jenna Abrahamson, Josh Gray, Mirela Tulbure, Erin Schliep
Preprint available at: https://doi.org/10.31223/X51F4Q
This repo is separated into two primary categories:
datascripts
data contains the results data sets that were small enough to include in this repo, and scripts contains the main scripts used to conduct the analysis. Please note that scripts for plotting figures, miscellaneous results investigation, and exploratory data analysis are not included.
- Note: These scripts were developed and tested on a macOS and Linux HPC environment.
File structure showing an overview of all scripts and data sets included in this repo:
.
├── data
│ ├── fusion
│ │ ├── fuseA_perc_in_50.tif
│ │ ├── fuseB_perc_in_50.tif
│ │ ├── fuseC_perc_in_50.tif
│ │ └── simulated_data150.Rdata
│ │
│ └── machine_learning
│ ├── mapped_area_proportions
│ │ ├── DSWE1_bulk.Rdata
│ │ ├── DSWE2_bulk.Rdata
│ │ ├── DSWE3_bulk.Rdata
│ │ ├── DSWE4_bulk.Rdata
│ │ ├── ps_binary_bulk.Rdata
│ │ ├── ps_multiclass_bulk.Rdata
│ │ ├── s1_binary_bulk.Rdata
│ │ ├── s1_multiclass_bulk.Rdata
│ │ ├── s2_binary_bulk.Rdata
│ │ ├── s2_multiclass_bulk.Rdata
│ │ └── README.md
│ │
│ ├── models
│ │ ├── ps_rf.joblib
│ │ ├── ps_xgb.json
│ │ ├── s1_rf.joblib
│ │ ├── s1_xgb.json
│ │ ├── s2_rf.joblib
│ │ └── s2_xgb.json
│ │
│ ├── training
│ │ ├── train_01_26_18.geojson
│ │ ├── train_03_01_20.geojson
│ │ ├── train_05_01_19.geojson
│ │ ├── train_08_29_19.geojson
│ │ ├── train_10_08_17.geojson
│ │ ├── train_10_13_18.geojson
│ │ ├── train_11_27_17.geojson
│ │ └── train_12_06_20.geojson
│ │
│ └── validation
│ ├── val_01_26_18.geojson
│ ├── val_03_01_20.geojson
│ ├── val_05_01_19.geojson
│ └── val_08_29_19.geojson
│
├── scripts
│ ├── data_fusion
│ │ ├── fit_models.R
│ │ ├── params.yaml
│ │ └── write_yamls.py
│ │
│ ├── data_processing
│ │ ├── calc_terrain_features.R
│ │ ├── engineer_ps_features.py
│ │ ├── engineer_s1_features.py
│ │ └── engineer_s2_features.py
│ │
│ └── machine_learning
│ ├── planetscope
│ │ ├── ps_predict.py
│ │ ├── ps_split_train_test.py
│ │ ├── ps_train_RF.py
│ │ └── ps_train_XGB.py
│ ├── sentinel1
│ │ ├── s1_predict.py
│ │ ├── s1_split_train_test.py
│ │ ├── s1_train_RF.py
│ │ └── s1_train_XGB.py
│ ├── sentinel2
│ │ ├── s2_predict.py
│ │ ├── s2_split_train_test.py
│ │ ├── s2_train_RF.py
│ │ └── s2_train_XGB.py
│ └── supplemental_processing
│ ├── calc_area_bulk.R
│ └── calc_area_bydate.R
│
└── README.md
If you are unfamiliar with remote sensing data or processing the data used in this repo, here are some helpful links:
This work was supported by NASA through the Future Investigators in NASA Earth and Space (FINESST) Program Grant No. 80NSSC24K0016; and author Jenna Abrahamson is also supported by a National Science Foundation Graduate Research Fellowship Grant No. DGE-2137100. Any opinions, findings, and conclusions or recommendations expressed in this material are those of the author(s) and do not necessarily reflect the views of the National Science Foundation.