ktrevlop / pykooh

Efficient implementations of the Konno Omachi filter in Python

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

pykooh

PyPi Cheese Shop Build Status Code Quality Test Coverage License DOI

Konno Ohmachi filter implemented in Numba.

This code implements Konno-Ohmachi spectral smoothing as defined in:

Konno, K. and Ohmachi, T., 1998. Ground-motion characteristics estimated
from spectral ratio between horizontal and vertical components of
microtremor. Bulletin of the Seismological Society of America, 88(1),
pp.228-241.

This code was originally written for smoothing sub-module in gmprocess by Bruce Worden. Dave Boore has provided notes on this topic, which also may be of interest. Notes regarding the characteristics of the Konno-Ohmachi filter and the implementation are provided in the implementation Jupyter Notebook.

Installation

pykooh is available via pip and can be installed with:

pip install pykooh

By default, pykooh uses numba for the fast implementation of the filter. Performance can be increased by using cython, but this requires a C complier. If a C compiler is available, install cython required dependencies with:

pip install pykooh[cython]

Usage

Smooth a signal using a bandwith of 30.

import pykooh
signal_smooth = pykooh.smooth(freqs, freqs_raw, signal_raw, 30)

Additional examples and comparison with obspy are provided in example.

Citation

Please cite this software using the following DOI.

About

Efficient implementations of the Konno Omachi filter in Python

License:MIT License


Languages

Language:Jupyter Notebook 95.7%Language:Python 2.7%Language:Makefile 0.6%Language:C 0.6%Language:Cython 0.4%