Skip to main content

A Python package to automate the classification of glacially derived bedforms.

Project description

bedfinder: A Python package for the Automatic Detection of Glacially-derived Bedforms

The bedfinder workflow automates the detection of glacially-derived bedforms for landforms identified from the Topographic Position Index (TPI) tool using machine learning. Users can pick one of three trained ensemble models (Random Forest, XGBoost, or the ensemble average of both) to detect bedforms from positive relief landforms, and choose to output detections as bedform probabilities or as binarized predictions. bedfinder also includes a routine for running a scientifically-driven prefiltering routine on TPI data to prepare it for use with machine learning models.

bedfinder can be used directly in Python, or as part of our ArcGIS pipeline, which incorporated with TPI, allows for the detection of bedforms directly from DEMs. Check out the notebooks available here or on CryoCloud for examples of how to apply bedfinder to your data, or follow the quickstart guide below.

Installation

bedfinder can be installed using pip:

pip install bedfinder

Note that the bedfinder package requires Python 3.9 or later.

Quickstart

Import the main interface:

from bedfinder import ClassifyBedforms

Automatically detect bedforms from a TPI output CSV:

# Instantiate bedfinder
landforms = ClassifyBedforms(
  input_csv='~/path/to/your/TPI/CSV',  # path to your input TPI csv
  model='ensemble_average',            # machine learning model choice
  threshold=0.45,                      # probability threshold
  probability=False                    # output as a binary prediction
)

# Define the predicted landforms
predicted_bedforms = landforms.predicted_bedforms

References & Attribution

The code is under development and will be described in a paper and Jupyter Book. If you make use of this code in your research, please cite:

LaTeX citations to go here.

If you make use of the training data in your research, please cite:

@misc{mckenzie2022_dataset,
 author={Marion A {McKenzie} and Lauren M {Simkins} and Sarah M {Principato}},
 title={{Streamlined subglacial bedforms across the deglaciated Northern Hemisphere}},
 year={2022},
 doi={10.1594/PANGAEA.939999},
 url={https://doi.org/10.1594/PANGAEA.939999},
 type={data set},
 publisher={PANGAEA}
}

If you make use of the Wisconsin Bay Lobe data in your research, please cite:

DOI

@misc{wiscbaylobe_dataset,
  author       = {Ellianna {Abrahams} and Marion A {McKenzie},
  title        = {bedfinder: A Python package for the Automatic Detection of Glacially-Derived Bedforms},
  year         = {2024},
  doi          = {10.5281/zenodo.11660146},
  url          = {https://zenodo.org/doi/10.5281/zenodo.11660146},
  note         = {Pre-release}
}

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

bedfinder-0.0.1.tar.gz (9.6 MB view details)

Uploaded Source

Built Distribution

bedfinder-0.0.1-py3-none-any.whl (9.4 MB view details)

Uploaded Python 3

File details

Details for the file bedfinder-0.0.1.tar.gz.

File metadata

  • Download URL: bedfinder-0.0.1.tar.gz
  • Upload date:
  • Size: 9.6 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.11.9

File hashes

Hashes for bedfinder-0.0.1.tar.gz
Algorithm Hash digest
SHA256 cc80cb04cc590af4776ea75c08d8d9d2a3b36d6f3cb32aa14beabe426b2a4878
MD5 2133d81bb49ea596e1b660148094110e
BLAKE2b-256 47d6f495bd134bd21834824c7de766944f09b608f2c6ee5dd3b0c4ca5bc36b42

See more details on using hashes here.

File details

Details for the file bedfinder-0.0.1-py3-none-any.whl.

File metadata

  • Download URL: bedfinder-0.0.1-py3-none-any.whl
  • Upload date:
  • Size: 9.4 MB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.11.9

File hashes

Hashes for bedfinder-0.0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 cd154bc735b9ced48d140a357dc555aa5cec981a0065834fd873ec9784330dd3
MD5 a1ad731e153ca03a6d669dfff02bfb54
BLAKE2b-256 72a7d5c91914eb0adaf9d80f989f58b8c519411ae88722dc581f2fa2baeb06d2

See more details on using hashes here.

Supported by

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