Skip to content

A python package for performing sedimentological analyses, including user interface (app).

License

Notifications You must be signed in to change notification settings

beatriznegreiros/sediment-analyst

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

43 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Sediment Analyst

Inn River

Welcome

Sediment Analyst is a modularized Python package and dash app that enables sedimentological analyses. By using sieving datasets as input, Sediment Analyst computes sediment statistics. For a complete list of computed statistics see section below (Outputs). For using our app, please watch our video tutorial here.

Requirements

Python > 3.0 is required, but Python 3.9 is preferable due to stable behaviors in regard to the packages.

The used Python libraries are: numpy, scipy, pathlib, matplotlib, openpyxl, pandas, seaborn, dash, pyproj, plotly.

Standard libraries include: re, locale, logging, glob, sys, os, math

Important! Checkout the requirements.txt file for the version requirements of the packages.

Running the Codes and preparing Inputs

The input data for sediment-analyst consists of CSV files for each sediment sample. Accepted extensions are therefore .csv and .xlsx.

Use Sediment Analyst locally by cloning this repository or online with our app. Checkout:

Clone the repository

$ git clone https://github.com/beatriznegreiros/sediment-analyst

For running the code in your computer, clone this repository and make sure to install the necessary packages (checkout the requirements.txt file). Change the input parameters in the config.py and run main.py in the subpackage analyzer.

Please note that the plots provided in the analyzer subpackage are static (not interactive plots). These may be useful for reports and single sediment sample analyses.

Sediment Analyst features a novel app for enabling interactive analyses. The app can be hosted locally if you run web_application.py in the app subpackage. Click on the link provided by your console (the link is similar to http://127.0.0.1), which is your local host (hosted in your own PC and not served on the web). We provide a full video tutorial on how you can correctly input where the index information is, so that Sediment Analyst can parse your data files, in case you are not using our template as input file. Optional inputs for the app are: latitude and longitude, SF (sphericity index) and Porosity index.

Use the app

The app will also be served online soon. More information will be released in February 2023.

Image

Outputs and Capabilities

Sediment Analyst computes the following:

  • A summary of sediment characteristics, which can be exported as csv:
  • Cumulative grain size distribution curves, which are available as:
    • Static plots per sample with the analyzer subpackage.
    • Interactive plots with user-selected samples using the app subpackage.
  • Only in the app:
    • Bar chart of statistics.
    • Interactive map listing sample information (optional, is generated when latitude (y) and longitude (x) values are available).

For more information see the readthedocs of the class StatisticalAnalyzer.

Package Structure

Sediment Analyst is structured in two Python subpackagess: analyzer and app. The app subpackage imports the analyzer subpackage for computing sediment statistics and for using utils. Code UML

Code Documentation

Access the readthedocs for checking the code documentation. We recommend, however, the usage of our video tutorial for the app.

About

A python package for performing sedimentological analyses, including user interface (app).

Resources

License

Stars

Watchers

Forks

Packages

No packages published