Skip to main content

WaveDenoiser is a large deep learning model to reduce background noise from seismic signals.

Project description

WaveDenoiser

A large deep learning model to reduce background noise from seismic signals in the time domain. 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. The model was trained using earthquake data at local distances (0-350 km). The model may not perform well for earthquake data at larger distances or for non-earthquake sources. 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 due to biases in the training data.

The model uses 57s-long three-component seismograms sampled at 100 Hz as input. The output of the model are denoised three-component seismograms.

Installation

Creating a virtual environment is highly encouraged. For example, you can run the following command if you use mamba.

mamba create -n wavedenoiser python=3.12
mamba activate wavedenoiser

To install WaveDenoiser with GPU support, you can use the following command.

pip3 install wavedenoiser

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

pip3 install torch==2.7 torchvision torchaudio
pip3 install wavedenoiser

Example Usage

import h5py
import numpy as np  
from wavedenoiser.wavedenoiser import Denoiser
model = Denoiser()
#
fid = h5py.File("example_waveforms.h5", "r")
data_group = fid["data"]
example_data = []
for akey in data_group.keys():
    dataset = data_group[akey]
    example_data.append(dataset[...])
fid.close()
#
example_data = np.array(example_data)
preds = model.predict(example_data)

Test the Package

First, download the GitHub repostory and go to the top directory of the package. Then, run the following command.

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 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 adapted 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

wavedenoiser-0.2.0.tar.gz (18.0 MB view details)

Uploaded Source

Built Distribution

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

wavedenoiser-0.2.0-py3-none-any.whl (15.8 MB view details)

Uploaded Python 3

File details

Details for the file wavedenoiser-0.2.0.tar.gz.

File metadata

  • Download URL: wavedenoiser-0.2.0.tar.gz
  • Upload date:
  • Size: 18.0 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.11

File hashes

Hashes for wavedenoiser-0.2.0.tar.gz
Algorithm Hash digest
SHA256 e96cada45019ed06513fcbf830b89138bef812a17bad8674228760bb1c602024
MD5 bf758e4606ae2f3151229bd998cecf5b
BLAKE2b-256 1ac779b2a182cf3ed120bb60a484389527cbb31835976a279b0a5550c4d0c9e7

See more details on using hashes here.

File details

Details for the file wavedenoiser-0.2.0-py3-none-any.whl.

File metadata

  • Download URL: wavedenoiser-0.2.0-py3-none-any.whl
  • Upload date:
  • Size: 15.8 MB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.11

File hashes

Hashes for wavedenoiser-0.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 5ba43e62a178d4e4886892eeab0ce9d35ba7b8cf6aae7b15e5ff7f2825b06d13
MD5 d602812d3951419e5a7c9e64eba8fc49
BLAKE2b-256 d9e8116a26e216de3d5089dfeeed96d20f5c6030d8ce51bd9c01b165fb2c5a1a

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