|
5 months ago | |
---|---|---|
examples | 1 year ago | |
src | 5 months ago | |
test | 1 year ago | |
.gitignore | 1 year ago | |
Application example.png | 5 months ago | |
LICENSE | 1 year ago | |
README.md | 5 months ago | |
setup.py | 1 year ago | |
test.rtf | 5 months ago | |
test.txt | 5 months ago |
README.md
NoiseCut
NoiseCut is a Python package for denoising seismic records and specializes in denoising Ocean Bottom Seismometer (OBS) data. It effectively separates long-lasting narrowband signals from broadband transients using harmonic-percussive separation algorithms (Zali et al., 2021 & Zali et al., 2023). The advantage of NoiseCut is that it preserves the earthquake signal with its entire frequency and amplitude after denoising.
Links
Paper: https://se.copernicus.org/articles/14/181/2023/se-14-181-2023.pdf
Usage example
After installing the package to denoise a signal, you can use the following code. Outputs are the denoised signal and a figure showing the spectrogram of the input signal, the separated noise, and the denoised signal in the frequency range of [0-1] Hz.
import noisecut
import obspy
st = obspy.read('file_name')
hps_trace, spectrograms = noisecut.noisecut(st[0], ret_spectrograms=True)
noisecut.plot_noisecut_spectrograms(*spectrograms)
Installation instructions
You can clone the public repository:
git clone git://github.com/ZahraZali/NoiseCut
Once you have a copy of the source, you can cd to NoiseCut directory and install it with:
python setup.py install
You need the Numpy version of 2.21.
Licence
NoiseCut is licenced under the GNU Affero General Public License (AGPLv3).
Contact
- Developer: Zahra Zali, zali@gfz-potsdam.de