Coder Social home page Coder Social logo

sediment-analyst's Introduction

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.

sediment-analyst's People

Contributors

beatriznegreiros avatar federicascolari8 avatar ricardovobarros avatar

Stargazers

Davide Vanzo avatar  avatar  avatar  avatar  avatar Lisa Meisinger avatar Henning_Niklas avatar Animesh Nepal avatar Luís Angélico avatar  avatar Lee avatar Xavier Nogueira avatar Kenneth Larrieu avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.