Skip to main content

Scattering network for seismology.

Project description

Welcome to the scatseisnet repository

Scatseisnet
Scattering network for seismic data analysis.

Python Version PyPI Version GitHub last commit

About

This library contains programs to transform time series into scattering coefficients with a scattering network. The scattering network is a deep neural network with wavelet filters as convolutional layers.

The package supports Python 3.8+ including the latest Python 3.13.

This package was written and documented by Léonard Seydoux and René Steinmann. Any contributions are very welcomed.

This work was supported by the European Advanced Grant F-IMAGE (ERC PE10, ERC-2016-ADG) and by the Multidisciplinary Institute of Artificial Intelligence (MIAI) at the University of Grenoble Alpes.

Scatseisnet: a toolbox for scattering networks in seismology
Copyright ©️ 2023 Léonard Seydoux and René Steinmann

This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see https://www.gnu.org/licenses/.

Installation

The package is available from the PyPI repository. To install using pip, execute the following line:

Basic installation (CPU only)

pip install scatseisnet

GPU acceleration (optional)

For GPU acceleration with CUDA, install with the GPU extras:

pip install scatseisnet[gpu]

Or install CuPy separately:

pip install cupy

The package will automatically detect and use CuPy if available, providing significant speedup for large-scale computations.

Tutorials and examples

To run the tutorial notebooks, install with tutorial dependencies:

pip install scatseisnet[tutorials]

Documentation

Please check the documentation. You can find tutorials therein in the form of notebooks.

Testing

The package includes a comprehensive test suite with 51 tests covering all major functionality. Tests are compatible with Python 3.8+ including Python 3.13.

# Run tests with pytest
pytest tests/ -v

# Run tests with unittest (no additional dependencies)
python -m unittest discover tests/ -v

# With coverage report
pytest tests/ --cov=scatseisnet --cov-report=html

See tests/README.md for detailed testing documentation and CI/CD information.

Citation

Seydoux, L. S., Steinmann, R., Gärtner, M., Tong, F., Esfahani, R., & Campillo, M. (2025). Scatseisnet, a Scattering network for seismic data analysis (0.3). Zenodo. https://doi.org/10.5281/zenodo.15110686

Contribution guidelines

Thank you for your interest in contributing to this project! Here are some guidelines to help ensure a smooth and successful contribution process. Please read them carefully before contributing. We are happy to answer any questions you may have, and to welcome you as a contributor.

  1. Fork the project to your own GitHub account by clicking the "Fork" button in the top right corner of the repository page. This will allow you to make changes to the project without affecting the main project.

  2. Create a new branch for your contribution. This will keep your changes separate from the main branch and make it easier to review and merge your changes. The name of your branch should be concise and descriptive. For example, if you are adding a new feature, you might call your branch "add-feature".

  3. Write concise commit messages that describe the changes you made. Use the present tense and avoid redundant information. We try to follow the Conventional Commits specification.

  4. Make sure your changes work as intended and do not introduce new bugs or problems. Write tests if applicable.

  5. Document your changes with following the numpydoc format. This step is important to ensure that the package documentation is up to date and complete. If you are not sure about this step, we can help you.

  6. When you are ready to submit your changes, create a pull request from your branch to the main branch of the original repository. Provide a clear description of your changes and why they are necessary, and we will review your contribution.

Thank you again for your interest in contributing to this project!

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

scatseisnet-0.4.1.tar.gz (22.8 kB view details)

Uploaded Source

Built Distribution

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

scatseisnet-0.4.1-py3-none-any.whl (23.9 kB view details)

Uploaded Python 3

File details

Details for the file scatseisnet-0.4.1.tar.gz.

File metadata

  • Download URL: scatseisnet-0.4.1.tar.gz
  • Upload date:
  • Size: 22.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for scatseisnet-0.4.1.tar.gz
Algorithm Hash digest
SHA256 e768e4d14a9040cdeb80013042889636b118a965c0ec9fa488f272d82f27c3ce
MD5 789b1e644b9db5d0064b7ffba5caa9e1
BLAKE2b-256 77a66fef071e5b1ac1802eb4fb1ca580e97d5c52ade467073c4b36c31328f49a

See more details on using hashes here.

File details

Details for the file scatseisnet-0.4.1-py3-none-any.whl.

File metadata

  • Download URL: scatseisnet-0.4.1-py3-none-any.whl
  • Upload date:
  • Size: 23.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for scatseisnet-0.4.1-py3-none-any.whl
Algorithm Hash digest
SHA256 c3984919c067f0ca16b35129553722d9261854b25d2e35acb3807154d63431fa
MD5 58bafaa51522ffad150437c64db0cabb
BLAKE2b-256 fc435abf507fbc5fa52c3b0aba21b4ac105b0dff7b44e2c4a6916b57edf36175

See more details on using hashes here.

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