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.
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.
st = obspy.read('file_name') hps_trace, spectrograms = noisecut.noisecut(st, ret_spectrograms=True) noisecut.plot_noisecut_spectrograms(*spectrograms)
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.
NoiseCut is licenced under the GNU Affero General Public License (AGPLv3).
- Developer: Zahra Zali, email@example.com