Skip to main content

Python implementation of the A.Lomax Filter-Picker

Project description

Filter-Picker

DOI Travis (.org) Documentation Status

AUTHOR: Matteo Bagagli

VERSION: 1.1.0

DATE: 05/2022


FilterPicker is a general purpose, broad-band, phase detector and picker which is applicable to real-time seismic monitoring and earthquake early-warning. This module is a Python implementation of the A.Lomax Filter Picker and has has been rewritten using NumPy libraries. For a full method description the reader is referred to the main authors paper.

If you make use of this package, please consider citing* it with the provided DOI. Thanks :)

@misc{mbagagli_2019_3609025,
    author       = {Matteo Bagagli},
    title        = {filterpicker: general purpose, broad-band, phase detector and picker},
    month        = Nov,
    year         = 2019,
    doi          = {10.5281/zenodo.3609025},
    version      = {1.0.3},
    publisher    = {Zenodo},
    url          = {https://doi.org/10.5281/zenodo.3609025}
    }

Installation

PyPI

The package has been uploaded in PyPI repository. For the stable releases you could just type:

pip install filterpicker  # (latest 1.1.0)

and be ready to go. If you want all the newest features and bugfix, please fork the project or clone it locally (see below the manual installation procedures).

Please note that PyPI releases don't support Python=3.5. If you would like to have it, download the GitHub release v1.0.5.

Since version v1.1.0 the support for Python=3.5 has been dropped! All commits are always tested on CI to ensure stability over releases.

Manual installation and contribution

If you want to install the library manually or just being updated to the latest patches, the installation is pretty easy because the package comes with an installer. All the dependencies are explained in the requirements.txt file. It is still recommended, though, to use a virtual environment (conda or pipenv)

Just open a terminal and type

$ git clone https://github.com/billy4all/filterpicker /somwhere/in/my/pc
$ cd where/you/cloned
$ # optionally activate your virtual env
$ pip install .
$ pytest  # to double-check the correct installation (need to install pytest first)

For contributions (that are very welcome), please use the DEVELOP branch as the upstream one.

How to

If you did install manually the package you can try the software by running the scripts in the example folder (manual installation).

Although being used mostly as a seismic phase-picker, this software is a great transient detector that could come handy for other time-series analysis as well. For this reason, I tried to mantain the library dependencies as clean as possible (only numpy and matplotlib). In fact, in order to work the software needs only a numpy.array and a sampling time.

From v1.1.0 I provide a python wrapper for seismic-phases picking: bin/run_filter_picker.py. The script can be called from commandline and comes with an helper (run_filter_picker.py --help) n order to work, the scripts needs to have the ObsPy library installed in order to handle the I/O operations. Example usage:

$ run_filter_picker.py OBSPY-STREAM-PATH -p 0.20  1.0  0.1  5  10  2 -x bp 2 1 30 --plot

For any issues bug reports, the use of the GitHub issues panel is preferred. Otherwise, send an email to the maintainer.

References

  • Lomax, A., C. Satriano and M. Vassallo (2012), Automatic picker developments and optimization: FilterPicker - a robust, broadband picker for real-time seismic monitoring and earthquake early-warning, Seism. Res. Lett. , 83, 531-540, doi: 10.1785/gssrl.83.3.531.

  • Vassallo, M., C. Satriano and A. Lomax, (2012), Automatic picker developments and optimization: A strategy for improving the performances of automatic phase pickers, Seism. Res. Lett. , 83, 541-554, doi: 10.1785/gssrl.83.3.541.

  • MATLAB package

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

filterpicker-1.1.0.tar.gz (59.0 kB view details)

Uploaded Source

Built Distribution

filterpicker-1.1.0-py3-none-any.whl (11.8 kB view details)

Uploaded Python 3

File details

Details for the file filterpicker-1.1.0.tar.gz.

File metadata

  • Download URL: filterpicker-1.1.0.tar.gz
  • Upload date:
  • Size: 59.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.0 CPython/3.9.12

File hashes

Hashes for filterpicker-1.1.0.tar.gz
Algorithm Hash digest
SHA256 fd8b5fbabe8a3f5dcbb5497ac3b539fe87d1a6a5e9462b5ebf121fe964d9f6b2
MD5 68c8a39f63a4098a99403bff0244103c
BLAKE2b-256 99d6ef618fbf67e1f93059297a604be53bf150b7cd9bd30db94418ebcda7e516

See more details on using hashes here.

File details

Details for the file filterpicker-1.1.0-py3-none-any.whl.

File metadata

File hashes

Hashes for filterpicker-1.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 95444784301d68105a605944bece90107b98f9abc1874c8d2c41683871ce4645
MD5 dd5fb7cef99a05c60d5696e727d6728d
BLAKE2b-256 9177f100b56119a2ee6dd993179e4b45da77e5d9f9d19a452579bc17fcea004e

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page