Skip to main content

Signal processing for field and experimental data for earthquake engineering

Project description

.. image:: https://travis-ci.org/eng-tools/eqsig.svg?branch=master
:target: https://travis-ci.org/eng-tools/eqsig
:alt: Testing Status

.. image:: https://img.shields.io/pypi/v/eqsig.svg
:target: https://pypi.python.org/pypi/eqsig
:alt: PyPi version

.. image:: https://coveralls.io/repos/github/eng-tools/eqsig/badge.svg
:target: https://coveralls.io/github/eng-tools/eqsig

.. image:: https://img.shields.io/badge/license-MIT-blue.svg
:target: https://github.com/eng-tools/eqsig/blob/master/LICENSE
:alt: License

.. image:: https://eng-tools.github.io/static/img/ecp-badge.svg
:target: https://eng-tools.github.io
:alt: ECP project

*****
eqsig
*****

A Python package for seismic signal processing.

How to Use
==========

[Eqsig documentation](https://eqsig.readthedocs.io)

Examples
--------

Generate response spectra

.. code-block:: python

import numpy as np
import matplotlib.pyplot as plt
import eqsig.single

bf, sub_fig = plt.subplots()
a = np.loadtxt("<path-to-acceleration-time-series>")
dt = 0.005 # time step of acceleration time series
periods = np.linspace(0.2, 5, 100) # compute the response for 100 periods between T=0.2s and 5.0s
record = eqsig.AccSignal(a * 9.8, dt)
record.generate_response_spectrum(response_times=periods)
times = record.response_times

sub_fig.plot(times, record.s_a, label="eqsig")
plt.show()


Useful material
===============

*

Contributing
============

How do I get set up?
--------------------

1. Run ``pip install -r requirements.txt``


Package conventions
-------------------

* A function that calculates a property the takes a signal as an input, should be named as `calc_<property>`,
if the calculation has multiple different implementations, then include the citation
as author and year as well `calc_<property>_<author>_<year>`
* If the function takes a raw array then it should contain the word array (or values).

Testing
-------

Tests are run with pytest

* Locally run: ``pytest`` on the command line.

* Tests are run on every push using travis, see the ``.travis.yml`` file


Deployment
----------

To deploy the package to pypi.com you need to:

1. Push to the *pypi* branch. This executes the tests on circleci.com

2. Create a git tag and push to github, run: ``trigger_deploy.py`` or manually:

.. code:: bash

git tag 0.5.2 -m "version 0.5.2"
git push --tags origin pypi


Documentation
-------------

Built via Sphinx following: https://codeandchaos.wordpress.com/2012/07/30/sphinx-autodoc-tutorial-for-dummies/

For development mode

1. cd to docs
2. Run ``make html``

Docstrings follow numpy convention (in progress): https://numpydoc.readthedocs.io/en/latest/format.html

To fix long_description in setup.py: ``pip install collective.checkdocs``, ``python setup.py checkdocs``

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

eqsig-0.6.0.tar.gz (24.3 kB view details)

Uploaded Source

File details

Details for the file eqsig-0.6.0.tar.gz.

File metadata

  • Download URL: eqsig-0.6.0.tar.gz
  • Upload date:
  • Size: 24.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.13.0 pkginfo/1.5.0.1 requests/2.21.0 setuptools/40.6.2 requests-toolbelt/0.9.1 tqdm/4.31.1 CPython/3.6.8

File hashes

Hashes for eqsig-0.6.0.tar.gz
Algorithm Hash digest
SHA256 a5e3c8b06530a29bfed423f42dc1b8c28cf021a51422a689843bb23cbd01c183
MD5 9e58f654a3ce122ab8e0180a9592729e
BLAKE2b-256 cb0e730b1e973413a7c69c9fbad42e601578751ef1b07e804c3996c56d9e0e50

See more details on using hashes here.

Supported by

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