Skip to content

Chuan1937/SeisPolarity

Repository files navigation

SeisPolarity

SeisPolarity Logo

A comprehensive framework for seismic first-motion polarity picking with unified APIs.

Python PyTorch License: BSD 3-Clause

Documentation

Full documentation is available at: https://seispolarity.readthedocs.io/

Build documentation locally:

cd docs
make html

Installation

Install via pip (Recommended)

pip install seispolarity

From Source

git clone https://github.com/Chuan1937/SeisPolarity.git
cd SeisPolarity
pip install -e .

Features

  • Unified Data Interface: Support for SCSN, Txed, DiTing, Instance, PNW datasets with automatic download
  • Multiple Models: Ross, Eqpolarity, APP, DiTingMotion, CFM, RPNet, PolarCAP with pre-trained weights
  • Flexible Data Loading: RAM/Disk streaming for datasets of any size
  • High-level Inference: Predictor class with auto-download from Hugging Face/ModelScope
  • Data Augmentation: Comprehensive augmentation pipeline with balanced sampling
  • Unified Training: Trainer with checkpointing, early stopping, and logging
  • Cross-platform Support: Works on Linux, macOS, and Windows

Supported Datasets

Dataset Description Samples Auto-download
SCSN Southern California Seismic Network 100k+ Yes
Txed Texas Earthquake Data 50k+ Yes
DiTing Chinese seismic network 80k+ No(must apply)
Instance Instance-based dataset 30k+ Yes
PNW Pacific Northwest 20k+ Yes

Supported Models

Model Input Length Classes
Ross (SCSN) 400 3 (U/D/N)
Eqpolarity 600 2 (U/D)
DiTingMotion 128 3 (U/D/N)
CFM 160 2 (U/D)
RPNet 400 2 (U/D)
PolarCAP 64 2 (U/D)
APP 400 3 (U/D/N)

Model Zoo

Pre-trained models are automatically downloaded from:

Examples

See the examples/ directory for complete notebooks:

Contributing

We welcome contributions! Please see our Contributing Guide for details.

  1. Fork the repository
  2. Create a feature branch
  3. Make your changes
  4. Add tests if applicable
  5. Submit a pull request

Citation

Paper will come soon...

License

This project is licensed under the BSD 3-Clause License - see the LICENSE file for details.

Acknowledgments

  • SeisBench framework for inspiration
  • Hugging Face and ModelScope for model hosting
  • All dataset providers

Links

Contact

For questions and support, please open an issue on GitHub or contact: [chuanjun1978@gmail.com]

About

A Toolbox for First-Motion Polarity Determination in Seismology.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages