Files for processing raw data from the tidal tilting flume 'The Metronome' in Python
The main branch has the following sub-branches, with the following files:
Computes orthomosaics from overhead series through base model alignment and combines them into a single timelapse video
Computes a single orthomosaics from a specified overhead series (Experiment ...; cycle .....)
Computes water depth maps (or derived elevation) from overhead orthomosaics through the random forest models and combines them into a single timelapse video
Contains the function that translate and Overhead series into an orthomosaic
Contains the function that debayers raw overhead imagery and the functions that transform RGB orthomosaics into various color spaces
Contains the function that creates the timelapse of Overhead series orthomosaics
Contains the function that creates the timelapse of Overhead series water depth maps (or derived elevation) through Random Forest models
Contains the function that flattens arrays of Overhead data require to create an orthomosaic
Computes DEMs from laserscans through Base model geometry-based laserscan method and plots them in three possible ways.
Computes DoDs from two different DEMs. It is compatible for different DEM methods
Translates our NetCDF format to a GeoTIFF compatible for GIS applications
Contains the functions that translate gridded laserscan data into DEMs through Base model geometry-based laserscan method
Contains the function that translates our NetCDF format to a GeoTIFF compatible for GIS applications
Contains the functions that apply distortion correction to raw laserscan data
This file creates basic plots from Metronome DEMs in NetCDF format.
Computes orthomosaics from DSLR surveys through base model alignment
Computes orthomosaics and DEMs for Individually aligned and Base model-aligned DSLR surveys
Contains the function that translates an Agisoft GeoTIFF into the NetCDF format we use
Contains the functions that translate DSLR surveys into orthomosaics and DEMs
This script processes the water level measurements from the Metronome.
Apply Gaussian smoothing of Overhead orthomosaics
Transform smoothened RGB orhtomosaics into the relevant colorspaces
Train the Random Forest Classifier and Regressor models with the Validation datasets of the various dye concentrations.
Validate the Random Forest models with the Training and Validation dastsets of their respective dye concentrations
Apply cross-model validation of the Random Forest models with the Training and Validation datssets of the other dye concentrations
Validate the Random Forest models with the Experimental datssets
- python 3.10 (not tested for later versions). Environment (yml) file included in the main branch
- Agisoft Metashape v. 1.8.5 (tested for v. 2.0.4)
The .nc (NetCDF) files for the DEMs and water depth maps can be read using scripting software such as MATLAB, Python or R. Important is to know how these NetCDF files are constructed. They contain the following variables: X-axis: (start,end,step) of the entire X-axis. In numpy you can extract the whole axis as follows: np.arange(xAxis[0],xAxis[1],xAxis[2]) Y-axis: (start,end,step) of the entire Y-axis. In numpy you can extract the whole axis as follows: np.arange(yAxis[0],yAxis[1],yAxis[2]) Z percentiles: The Z-percentile values that are stored in the NetCDF file. This is by default only the median (i.e. [50]) Z-axis: List of Gridded Z-data (meshgrid described in X-axis and Y-axis), stored per percentile. As the default is only median, this list contains by default only one grid.
Data supplement to "Remote sensing of a gantry-equipped facility: optimizing accuracy by integrating SfM photogrammetry and laserscan computer graphics through fixed base model geometry" (https://doi.org/10.1016/j.jag.2026.105098).
Data supplement to "Quantitative water depth determination in large experimental timeseries through combining spectrophotometry and machine learning" (to be submitted).