This is a pre-production deployment of Warehouse, however changes made here WILL affect the production instance of PyPI.
Latest Version Dependencies status unknown Test status unknown Test coverage unknown
Project Description

This is a python interface to harminv, a library for performing harmonic inversion on a signal.

Requirements:

  • BLAS & LAPACK
  • libharminv-dev
  • numpy

Installation:

Make sure that you have the requirements above, then

pip install pharminv

See below for help with installing harminv.

Usage:

harminv.invert contains the basic functionality of the harminv tool. This function should remain stable but the API elsewhere is subject to change.

import numpy as np
import harminv

time = np.linspace(0, 1, 1000)

signal = np.cos(2 * np.pi * time * 10) + np.cos(2 * np.pi * time * 20)

inversion = harminv.invert(signal, fmin=1, fmax=100)

inversion.freq        # mode frequencies
inversion.decay       # decay rates
inversion.Q           # Q factor
inversion.amplitudes  # absolute amplitudes
inversion.phase       # phase shift

License:

harminv was written by Steven G. Johnson and is licensed under the GNU GPLv2+, copyright 2005 by the Massachusetts Institute of Technology.

This python interface to harminv is licensed under the standard BSD 3-clause license.

Installing libharminv

On Debian / Ubuntu this is available with

sudo apt-get install libharminv-dev

Otherwise you’ll need to build it yourself. Download the sources from here.

You need to install libharminv somewhere that python can find it at runtime. This should happen by default (installs to /usr/local), but you may need to change this to /usr:

PREFIX=/usr

Now install with the following:

./configure --with-pic --enable-shared --prefix=$PREFIX
make
make install

User installation

If you don’t have admin rights on your system you’ll need to install to a directory that you have access to. Here I’ll assume that is $HOME/.local.

Here is how I do it (using Anaconda python with the mkl libraries on CentOS 5):

./configure --with-pic --enable-shared --prefix=$HOME/.local --with-blas=$HOME/.local/lib/libopenblas.so
make
make install

Note that I’ve linked to openblas. I installed this separately. If you have BLAS/LAPACK installed on your system elsewhere you might not need to do this. There might be a way to link against Anaconda mkl libraries but I don’t know what it is.

Now you need to set LD_LIBRARY_PATH to include your directory. I have this in my bashrc:

export LD_LIBRARY_PATH=$HOME/.local

Finally, when you install pharminv, you need to tell pip where to look for your installation of libharminv:

CFLAGS="-I$HOME/.local/include -L$HOME/.local/lib" pip install pharminv
Release History

Release History

0.3

This version

History Node

TODO: Figure out how to actually get changelog content.

Changelog content for this version goes here.

Donec et mollis dolor. Praesent et diam eget libero egestas mattis sit amet vitae augue. Nam tincidunt congue enim, ut porta lorem lacinia consectetur. Donec ut libero sed arcu vehicula ultricies a non tortor. Lorem ipsum dolor sit amet, consectetur adipiscing elit.

Show More

0.2.4

History Node

TODO: Figure out how to actually get changelog content.

Changelog content for this version goes here.

Donec et mollis dolor. Praesent et diam eget libero egestas mattis sit amet vitae augue. Nam tincidunt congue enim, ut porta lorem lacinia consectetur. Donec ut libero sed arcu vehicula ultricies a non tortor. Lorem ipsum dolor sit amet, consectetur adipiscing elit.

Show More

0.2.3

History Node

TODO: Figure out how to actually get changelog content.

Changelog content for this version goes here.

Donec et mollis dolor. Praesent et diam eget libero egestas mattis sit amet vitae augue. Nam tincidunt congue enim, ut porta lorem lacinia consectetur. Donec ut libero sed arcu vehicula ultricies a non tortor. Lorem ipsum dolor sit amet, consectetur adipiscing elit.

Show More

0.2.2

History Node

TODO: Figure out how to actually get changelog content.

Changelog content for this version goes here.

Donec et mollis dolor. Praesent et diam eget libero egestas mattis sit amet vitae augue. Nam tincidunt congue enim, ut porta lorem lacinia consectetur. Donec ut libero sed arcu vehicula ultricies a non tortor. Lorem ipsum dolor sit amet, consectetur adipiscing elit.

Show More

0.2.1

History Node

TODO: Figure out how to actually get changelog content.

Changelog content for this version goes here.

Donec et mollis dolor. Praesent et diam eget libero egestas mattis sit amet vitae augue. Nam tincidunt congue enim, ut porta lorem lacinia consectetur. Donec ut libero sed arcu vehicula ultricies a non tortor. Lorem ipsum dolor sit amet, consectetur adipiscing elit.

Show More

0.2.0

History Node

TODO: Figure out how to actually get changelog content.

Changelog content for this version goes here.

Donec et mollis dolor. Praesent et diam eget libero egestas mattis sit amet vitae augue. Nam tincidunt congue enim, ut porta lorem lacinia consectetur. Donec ut libero sed arcu vehicula ultricies a non tortor. Lorem ipsum dolor sit amet, consectetur adipiscing elit.

Show More

0.2

History Node

TODO: Figure out how to actually get changelog content.

Changelog content for this version goes here.

Donec et mollis dolor. Praesent et diam eget libero egestas mattis sit amet vitae augue. Nam tincidunt congue enim, ut porta lorem lacinia consectetur. Donec ut libero sed arcu vehicula ultricies a non tortor. Lorem ipsum dolor sit amet, consectetur adipiscing elit.

Show More

Download Files

Download Files

TODO: Brief introduction on what you do with files - including link to relevant help section.

File Name & Checksum SHA256 Checksum Help Version File Type Upload Date
pharminv-0.3.tar.gz (48.9 kB) Copy SHA256 Checksum SHA256 Source Apr 30, 2015

Supported By

WebFaction WebFaction Technical Writing Elastic Elastic Search Pingdom Pingdom Monitoring Dyn Dyn DNS HPE HPE Development Sentry Sentry Error Logging CloudAMQP CloudAMQP RabbitMQ Heroku Heroku PaaS Kabu Creative Kabu Creative UX & Design Fastly Fastly CDN DigiCert DigiCert EV Certificate Rackspace Rackspace Cloud Servers DreamHost DreamHost Log Hosting