Skip to main content

An open-source python library to calculate and extract morphometrics from scroll bar floodplains

Project description

ScrollStats

Actions Status Documentation Status

PyPI version Conda-Forge PyPI platforms

GitHub Discussion

An open-source python library to calculate and extract morphometrics from scrollbar floodplains.

For further reading on the rationale behind ScrollStats and practical examples demonstrating how to use ScrollStats, check out the documentation here: https://scrollstats.readthedocs.io/en/latest

Introduction

Scroll bar floodplains, often characterized by a series undulating ridges and swales, exhibit a distinct geomorphic signature that can be seen in high-resolution digital elevation models (DEMs). These fine-scale topographic undulations reflect the dynamic balance between sediment deposition and erosional scouring associated with the fluvial processes along the inner bank at the time of their formation. DEM-based analyses of scroll bar floodplains provide critical insight into the temporal evolution of channel morphology and the underlying hydrologic and sedimentary controls that govern riverine landscape change.

The figure below is a visualization of the DEM of a bend on the Lower Brazos River, TX. We can clearly see the undulations in the DEM caused by the river migration as well as features such as cross-channels formed by water flow through the floodplain.

Image of a Bend in Brazos River

Getting Started

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.

User Installation

Install ScrollStats with pip

python -m pip install scrollstats

Or install with conda

conda install scrollstats

NOTE: scrollstats v0.1.3 must be installed with python <=3.12 when using conda

Developer Installation

First, 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

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.

1. Delineate Ridge Areas

Delineate ridge areas from a DEM to create the ridge area raster. This is achieved by:

  1. applying the profile curvature and residual topography transforms to the DEM
  2. applying a threshold at 0 to these transformed rasters to create binary rasters
  3. finding the union of these binary rasters
  4. denoising the union raster

2. Create Vector Datasets

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.

3. Calculate Ridge Metrics

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.

Contributing

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 instructions
  • feature: issues requesting or proposing new features for scrollstats
  • bug: issues concerning errors in the code itself

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

scrollstats-0.1.4.tar.gz (19.5 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

scrollstats-0.1.4-py3-none-any.whl (38.9 kB view details)

Uploaded Python 3

File details

Details for the file scrollstats-0.1.4.tar.gz.

File metadata

  • Download URL: scrollstats-0.1.4.tar.gz
  • Upload date:
  • Size: 19.5 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for scrollstats-0.1.4.tar.gz
Algorithm Hash digest
SHA256 ff85dd99e6c0c755e44d22441c6cf0db464aa080157b7d46471c1a92d24d4639
MD5 3bc4c617f07386e921b088cf949492f3
BLAKE2b-256 ddcb3ba634b6a355d1f901ea3fb1dafca9ecf8534d8a00f03ce3e86669175c43

See more details on using hashes here.

Provenance

The following attestation bundles were made for scrollstats-0.1.4.tar.gz:

Publisher: cd.yml on tamu-edu/scrollstats

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file scrollstats-0.1.4-py3-none-any.whl.

File metadata

  • Download URL: scrollstats-0.1.4-py3-none-any.whl
  • Upload date:
  • Size: 38.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for scrollstats-0.1.4-py3-none-any.whl
Algorithm Hash digest
SHA256 074074d2cf19c1db5468ec4ca3a9902b0c7b008f0a87f52b11a0043999be84c1
MD5 48248531964d46e8aae5431a3fe8c5a9
BLAKE2b-256 fd4879d8ac90c69b522fd3798b45251fc2559308b84d5a7093aefa871abbfd3c

See more details on using hashes here.

Provenance

The following attestation bundles were made for scrollstats-0.1.4-py3-none-any.whl:

Publisher: cd.yml on tamu-edu/scrollstats

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page