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
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
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e96cada45019ed06513fcbf830b89138bef812a17bad8674228760bb1c602024
|
|
| MD5 |
bf758e4606ae2f3151229bd998cecf5b
|
|
| BLAKE2b-256 |
1ac779b2a182cf3ed120bb60a484389527cbb31835976a279b0a5550c4d0c9e7
|
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
5ba43e62a178d4e4886892eeab0ce9d35ba7b8cf6aae7b15e5ff7f2825b06d13
|
|
| MD5 |
d602812d3951419e5a7c9e64eba8fc49
|
|
| BLAKE2b-256 |
d9e8116a26e216de3d5089dfeeed96d20f5c6030d8ce51bd9c01b165fb2c5a1a
|