Skip to main content

Petrology tools

Project description

Lydwhitt_tools

A collection of functions and tools I have developed and find useful during my volcanology PhD.

Whilst I have a lot of tools and functions on my computer that I use regularly, I haven't yet put them all in a place to help others. There are a lot of very simple tasks that waste time, which I've created tools to complete, and I will be adding them to this repository over time.

I started collating this in August 2025 — so bear with me whilst I get it going!


Install

pip install lydwhitt-tools


Quickstart

Here’s the simplest way to run the geochemical filter tool: import pandas as pd import lydwhitt_tools as lwt Load your geochemical dataset df = pd.read_csv("my_data.csv") Apply the filter (defaults: total_perc=96, percentiles=(98, 98)) filtered_df = lwt.geochemical_filter(df, phase="Cpx") print(filtered_df.head())


Detailed Usage

The geochemical_filter function filters geochemical datasets using the Mahalanobis distance method in two passes.

Function signature: lwt.geochemical_filter(df, phase, total_perc=None, percentiles=None)

Parameters:

  • phase (str) – e.g., "Cpx", "Plg", "Liq". Must match the suffix used after oxide wt% values in your dataset.
  • total_perc (float, optional) – Minimum total oxide percentage allowed. Defaults to 96.
  • percentiles (int, float, or tuple, optional) – Percentile cutoffs for Pass 1 and Pass 2.
    • Single value applies to both passes (e.g., percentiles=98).
    • Tuple gives different cutoffs for each pass (e.g., percentiles=(95, 99)).

Example: Use different percentiles for each pass filtered_df = lwt.geochemical_filter(df, phase="Plg", total_perc=97, percentiles=(95, 99))


Output

The function returns the filtered DataFrame, including flags for each pass:

  • Mahalanobis – Mahalanobis distance for each row in the given pass.
  • P1_Outlier – Boolean flag indicating if the row was an outlier in Pass 1.
  • P2_Outlier – Boolean flag indicating if the row was an outlier in Pass 2.

Features Coming Soon

This repository will grow to include: -formula recalculations for different phases -simple plotting frameworks -data re-oragnisation tools for popular gothermobarometry packages


License

This project is licensed under the MIT License.

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

lydwhitt_tools-1.0.5.tar.gz (10.1 kB view details)

Uploaded Source

Built Distribution

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

lydwhitt_tools-1.0.5-py3-none-any.whl (9.9 kB view details)

Uploaded Python 3

File details

Details for the file lydwhitt_tools-1.0.5.tar.gz.

File metadata

  • Download URL: lydwhitt_tools-1.0.5.tar.gz
  • Upload date:
  • Size: 10.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for lydwhitt_tools-1.0.5.tar.gz
Algorithm Hash digest
SHA256 950b877b8138c785172b208ee70112109c07aeeebfa97c9bb9988feab96faf42
MD5 7c7ab6a2451a34bef2ce73d4c6f0926f
BLAKE2b-256 ed76fec1c5fd067cd2a55ab78dfff670b61a38412c6d5c0d2a00a20d4c641b25

See more details on using hashes here.

Provenance

The following attestation bundles were made for lydwhitt_tools-1.0.5.tar.gz:

Publisher: publish.yml on lydwhitt7/Lydwhitt_tools

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

File details

Details for the file lydwhitt_tools-1.0.5-py3-none-any.whl.

File metadata

  • Download URL: lydwhitt_tools-1.0.5-py3-none-any.whl
  • Upload date:
  • Size: 9.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for lydwhitt_tools-1.0.5-py3-none-any.whl
Algorithm Hash digest
SHA256 0185aa82c948d9fd2c9b1250f6cc32d610f00ac02c96b3cbf719c2c05261f97d
MD5 a9cb5df91d8b9abec17927af87e724d7
BLAKE2b-256 d8c1eed606dea358a7088e55647ec272a56571a12d6d35f29b57d54487352ea8

See more details on using hashes here.

Provenance

The following attestation bundles were made for lydwhitt_tools-1.0.5-py3-none-any.whl:

Publisher: publish.yml on lydwhitt7/Lydwhitt_tools

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