SAnTex

SAnTex: A Python-based Library for Seismic Anisotropy Calculation - Published in JOSS (2025)

https://github.com/utpal-singh/santex

Science Score: 93.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
    Found 7 DOI reference(s) in README and JOSS metadata
  • Academic publication links
    Links to: joss.theoj.org
  • Academic email domains
  • Institutional organization owner
  • JOSS paper metadata
    Published in Journal of Open Source Software

Scientific Fields

Artificial Intelligence and Machine Learning Computer Science - 83% confidence
Last synced: 4 months ago · JSON representation

Repository

Basic Info
Statistics
  • Stars: 4
  • Watchers: 2
  • Forks: 2
  • Open Issues: 1
  • Releases: 1
Created about 2 years ago · Last pushed 4 months ago
Metadata Files
Readme License

README.md

SAnTex: Seismic Anisotropy from Texture

License: GPL v3 DOI

SAnTex is a Python library which calculates the full elastic tensor of rocks from modal mineral composition, crystallographic orientation, and a crystal stiffness tensor catalogue that accounts for the dependency of elasticity with pressure and temperature.

Features

  • Pre-processing and cleaning of EBSD data: SAnTex facilitates the processing and cleaning of EBSD data. To enhance data completeness, SAnTex offers the option to fill not-indexed pixels or indexed pixels removed during the cleaning process, using machine learning techniques.
  • Tensor operations: Tensor conversions between Voigt matrix and full stiffness tensors, as well as rotations based on euler angles.
  • Material analysis: SAnTex provides a catalogue of minerals, users can load the catalogue and can either utilise them to load stiffness tensors for their EBSD phases or make a modal rock and can calculate seismic anisotropy for the modal rock.
  • Seismic Anisotropy: SAnTex performs calculations of seismic anisotropy at a range of pressure and temperature conditions. It also offers visualisation capabilities, allowing users to view the calculated seismic anisotropy in 2D and 3D plots.
  • Isotropic velocities: Calculates isotropic seismic wave velocities (Vp, Vs and vbulk), isothermal bulk modulus, and density at elevated temperatures and pressures (Hacker & Abers, 2004).

How to Cite

If you are using this library in a scientific publication, please consider citing the following paper:

  • Singh, U., zaydn, S., Chatzaras, V., & Rey, P. (2025). SAnTex: A Python-based Library for Seismic Anisotropy Calculation. Journal of Open Source Software, 10(110), 6886, https://doi.org/10.21105/joss.06886.

Bibtex:

```bibtex @article{Sing2025, title={SAnTex: A Python-based Library for Seismic Anisotropy Calculation}, author={Singh, Utpal and {\"O}zayd{\i}n, Sinan and Chatzaras, Vasileios and Rey, Patrice}, journal={Journal of Open Source Software}, volume={10}, number={110}, pages={6886}, year={2025}, doi={10.21105/joss.06886} }

```

Installation

For Linux and Mac

You can install SAnTex using pip from your terminal:

bash git clone https://github.com/utpal-singh/SAnTex.git cd santex pip install .

or

bash pip install santex

For Windows

SAnTex depends on 'orix', which in turn uses 'PyCifrw' for ODF and PDF calculations. However, 'PyCifrw' requires a C compiler to function properly. Since Windows does not include a C compiler by default, you can create a conda environment and install the GCC compiler along with SAnTex using the following steps:

bash conda create -n santex python=3.9 conda install -c conda-forge m2w64-gcc pip install orix pip install santex

Workflow

Example Notebooks

To help users get started quickly, we provide example notebooks demonstrating typical usage and workflows.
You can find them here or in the notebooks/ directory of this repository.

The documentation is found here

Contributing

We welcome contributions from the community! To get started:

  • Fork the repository
  • Create a new branch (git checkout -b feature-xyz)
  • Commit your changes (git commit -am 'Add some feature')
  • Push to the branch (git push origin feature-xyz)
  • Open a Pull Request

Reporting Issues

If you encounter any bugs, unexpected behavior, or have feature requests:

  • Search the Issues to check if its already been reported.
  • If not, open a new issue and include details such as:
    • Steps to reproduce the problem
    • Expected and actual behavior
    • Relevant logs, screenshots, or code snippets

Support

Need help or have questions?

  • Open an issue for reporting bugs or feature discussions.
  • Use the Discussions tab.
  • Alternatively, you can contact us at [utpal.singh@sydney.edu.au] or [sinan.ozaydin@sydney.edu.au].

Funding

This research was supported by the Australian Research Council grants ARC-DP220100709 and ARC-LP190100146, and the School of Geosciences at The University of Sydney.

Contacts

| Utpal Singh | utpal.singh@sydney.edu.au

Owner

  • Name: Utpal Singh
  • Login: utpal-singh
  • Kind: user
  • Location: Pune, India

MS, Earth and Climate Sciences

JOSS Publication

SAnTex: A Python-based Library for Seismic Anisotropy Calculation
Published
June 03, 2025
Volume 10, Issue 110, Page 6886
Authors
Utpal Singh ORCID
The University of Sydney, School of Geosciences, Sydney, NSW, Australia
Sinan Özaydın ORCID
The University of Sydney, School of Geosciences, Sydney, NSW, Australia
Vasileios Chatzaras ORCID
The University of Sydney, School of Geosciences, Sydney, NSW, Australia
Patrice Rey
The University of Sydney, School of Geosciences, Sydney, NSW, Australia
Editor
Rachel Kurchin ORCID
Tags
geoscience seismic anisotropy crystallographic orientation

GitHub Events

Total
  • Create event: 2
  • Release event: 1
  • Issues event: 30
  • Watch event: 4
  • Issue comment event: 26
  • Push event: 47
  • Pull request event: 4
  • Fork event: 2
Last Year
  • Create event: 2
  • Release event: 1
  • Issues event: 30
  • Watch event: 4
  • Issue comment event: 26
  • Push event: 47
  • Pull request event: 4
  • Fork event: 2

Issues and Pull Requests

Last synced: 4 months ago

All Time
  • Total issues: 15
  • Total pull requests: 2
  • Average time to close issues: 4 months
  • Average time to close pull requests: 3 months
  • Total issue authors: 2
  • Total pull request authors: 2
  • Average comments per issue: 1.67
  • Average comments per pull request: 0.0
  • Merged pull requests: 2
  • Bot issues: 0
  • Bot pull requests: 0
Past Year
  • Issues: 15
  • Pull requests: 2
  • Average time to close issues: 4 months
  • Average time to close pull requests: 3 months
  • Issue authors: 2
  • Pull request authors: 2
  • Average comments per issue: 1.67
  • Average comments per pull request: 0.0
  • Merged pull requests: 2
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
  • elena-pascal (11)
  • hakonanes (8)
  • sinanozaydin (2)
Pull Request Authors
  • sinanozaydin (1)
  • utpal-singh (1)
Top Labels
Issue Labels
Pull Request Labels

Packages

  • Total packages: 1
  • Total downloads:
    • pypi 74 last-month
  • Total dependent packages: 1
  • Total dependent repositories: 0
  • Total versions: 7
  • Total maintainers: 1
pypi.org: santex

SAnTeX is a Python library which calculates seismic anisotropy from full elastic tensor of rocks from modal mineral composition, crystallographic orientation, and a crystal stiffness tensor catalogue that accounts for the dependency of elasticity with pressure and temperature. SAnTex facilitates the processing and cleaning of EBSD data and calculation of Orientation Distribution Function (ODF) and Inverse pole figure (IPF)

  • Versions: 7
  • Dependent Packages: 1
  • Dependent Repositories: 0
  • Downloads: 74 Last month
Rankings
Dependent packages count: 9.5%
Average: 36.2%
Dependent repos count: 62.9%
Maintainers (1)
Last synced: 4 months ago

Dependencies

.github/workflows/draft-pdf.yml actions
  • actions/checkout v4 composite
  • actions/upload-artifact v1 composite
  • openjournals/openjournals-draft-action master composite
  • openjournals/openjournals-draft-action v.1.0 composite
docs/requirements.txt pypi
  • commonmark ==0.9.1
  • mock ==1.0.1
  • recommonmark ==0.5.0
  • sphinx ==6.2.1
  • sphinx-rtd-theme ==1.2.2
setup.py pypi
  • joblib *
  • matplotlib *
  • numpy *
  • orix *
  • pandas *
  • plotly *
  • scikit-learn *
  • sphinx_rtd_theme *
  • tabulate *
  • tqdm *
  • vtk *