Skip to main content

WaveDP is a large dual-task deep learning model to reduce background noise and measure signal arrival times from seismic signals.

Project description

WaveDP

A large deep learning model to reduce background noise from seismic signals in the time domain and measuring signal arrival times. The model was developed by Chengping Chai, Derek Rose, Scott Stewart, Nathan Martindale, Mark Adams, Anibely Torres Polanco, Lisa Linville, Christopher Stanley, and Philip Bingham.

Introduction

This model is trained on STEAD (Mousavi et al., 2019) for reducing background noise from seismic signals and measuring signal arrival times simultaneously. The model was trained using earthquake data at local distances (0-350 km). The model uses 57s-long three-component seismograms sampled at 100 Hz as input. The output of the model are denoised three-component seismograms and probability channels corresponding to P wave, S wave, and noise. These probabilities can be used to compute P- and S-wave arrival times.

Installation

Creating a virtual environment is highly encouraged.

pip3 install wavedp

To install only for CPU (e.g., macOS), you may use the following commands.

pip3 install torch torchvision torchaudio
pip3 install wavedp

Example Usage

import h5py
import numpy as np  
from wavedp.wavedp import DenoiserPicker
model = DenoiserPicker()
#
fid = h5py.File("example_waveforms.h5", "r")
data_group = fid["data"]
example_data = []
true_p_index = []
true_s_index = []
for akey in data_group.keys():
    dataset = data_group[akey]
    example_data.append(dataset[...])
    true_p_index.append(float(dataset.attrs["p_arrival_sample"]))
    true_s_index.append(float(dataset.attrs["s_arrival_sample"]))
fid.close()
#
example_data = np.array(example_data)
denoised, picker_prob = model.predict_probability(example_data)
p_index, s_index, denoised = model.predict_arrivals(example_data)
print("True P-wave arrival index:", true_p_index)
print("Predicted P-wave arrival index:", p_index)
print("True S-wave arrival index:", true_s_index)
print("Predicted S-wave arrival index:", s_index)

Test the Package

First, go to the top directory of the package. Then, using the following commands.

cd tests
python run_tests.py

example image

Known Limitations

  • The model may have a less-than-optimal performance for earthquake data outside of a source-receiver distance range of 10–110 km and a magnitude range of 0–4.5 because of biases in the training data.
  • The model may produce false detections when applied to continuous seismic data.
  • The model may not perform well for earthquake data at larger distances or for non-earthquake sources.

Reference

TBD

License

GNU GENERAL PUBLIC LICENSE version 3

Credit

The architecture of the deep learning model was modified from SeisBench (Woollam et al., 2022).

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

wavedp-0.2.4.tar.gz (24.8 MB view details)

Uploaded Source

Built Distribution

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

wavedp-0.2.4-py3-none-any.whl (24.8 MB view details)

Uploaded Python 3

File details

Details for the file wavedp-0.2.4.tar.gz.

File metadata

  • Download URL: wavedp-0.2.4.tar.gz
  • Upload date:
  • Size: 24.8 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.12

File hashes

Hashes for wavedp-0.2.4.tar.gz
Algorithm Hash digest
SHA256 35799cc2951ecf401f7ea25e85e493de3d93a83b0801720d749e17677f262115
MD5 b39995eaa4456082f1d6d0ba0546c25e
BLAKE2b-256 3a78a76bd425083668e43f8519b68f23706a6a1f7a878991cce9de8b6ea8d3f1

See more details on using hashes here.

File details

Details for the file wavedp-0.2.4-py3-none-any.whl.

File metadata

  • Download URL: wavedp-0.2.4-py3-none-any.whl
  • Upload date:
  • Size: 24.8 MB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.12

File hashes

Hashes for wavedp-0.2.4-py3-none-any.whl
Algorithm Hash digest
SHA256 545df98de773ea0d53e5fbd9c6f99895478faf73958a69dd6ea4e53ec1709cbb
MD5 4a9cea0a606c60984b5dc6b7f03a7661
BLAKE2b-256 b9beaa4f7d3f8fe7ad49f4dc6a17d09884abe09170de3c0679dec772e7a35aa6

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