An open-source python library to calculate and extract morphometrics from scrollbar floodplains.
If you intend to use ScrollStats for your own analysis, follow the User Installation instructions.
If you intend to develop or contribute to ScrollStats, follow the Developer Installation instructions.
Simply install ScrollStats to your python environment with pip
python -m pip install scrollstatsFirst, clone the repo locally, create a virtual environment for the project,
then install the [dev] optional dependencies listed in
pyproject.toml.
git clone https://github.com/tamu-edu/scrollstats
python -m venv venv/
source venv/bin/activate
(venv) python -m pip install -e ".[dev]"The ScrollStats Workflow can be broken up into the 3 major steps listed below. Each of these steps is covered in detail in docs with code examples using datasets generated from a bend on the Lower Brazos River, TX.
Delineate ridge areas from a DEM to create the ridge area raster. This is achieved by:
- applying the profile curvature and residual topography transforms to the DEM
- applying a threshold at 0 to these transformed rasters to create binary rasters
- finding the union of these binary rasters
- denoising the union raster
Create the following vector datasets to define key morphological features of the bend.
- bend boundary
- packet boundaries
- channel centerline
- ridge lines
- migration pathways
Some of these datasets are digitized manually, while others are generated by ScrollStats. Details of the vector data creation process can be found in the doc linked above.
Once all of the vector datasets are created and the raster areas are delineated, you can now calculate ridge metrics across the entire bend.
These metrics include ridge amplitude, width, and migration distance for every intersection of a ridge and migration pathway.
Contribution to ScrollStats is welcome. There will forever be a "frozen" branch that contains the code exactly as it was at the time of publication, but it is the intent of the maintainer to accept community feedback and suggestions to the project.
Submitting Feedback To submit feedback, please open an issue on this repository with the appropriate label. Currently used labels are:
documentation: issues concerning the workflow or clarity of instructionsfeature: issues requesting or proposing new features for scrollstatsbug: issues concerning errors in the code itself