跳转到主要内容

harminv的Python接口

项目描述

这是一个harminv的Python接口,harminv是一个用于对信号进行谐波反演的库。

需求

  • BLAS & LAPACK

  • libharminv-dev

  • numpy

安装

确保您已安装上述需求,然后

pip install pharminv

请参阅以下内容以获取安装harminv的帮助。

用法

harminv.invert 包含 harminv 工具的基本功能。此函数应保持稳定,但其他地方的API可能会更改。

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, dt=0.001)

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

许可证

harminv 由 Steven G. Johnson 编写,并受 GNU GPLv2+ 许可证的许可,版权所有为麻省理工学院,版权年份为2005。

此harminv的Python接口受标准BSD 3条款许可证的许可。

安装libharminv

在Debian / Ubuntu上,这可以通过以下方式获得

sudo apt-get install libharminv-dev

否则,您需要自行构建。从此处下载源代码。

您需要将libharminv安装到Python可以在运行时找到的位置。默认情况下,这应该会自动完成(安装到/usr/local),但您可能需要将其更改为/usr

PREFIX=/usr

现在使用以下命令进行安装

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

用户安装

如果您没有系统管理员权限,您需要将安装到您有访问权限的目录中。以下假设是$HOME/.local

以下是我如何进行操作(使用Anaconda Python和CentOS 5上的mkl库)

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

请注意,我已经链接到openblas。我单独安装了这个。如果你已经在系统其他地方安装了BLAS/LAPACK,你可能不需要这样做。可能有一种方法可以链接到Anaconda mkl库,但我不知道是什么。

现在你需要设置 LD_LIBRARY_PATH 以包含你的目录。我在我的bashrc中设置了这个

export LD_LIBRARY_PATH=$HOME/.local

最后,当你安装pharminv时,你需要告诉pip你的libharminv安装位置

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

项目详情


下载文件

下载适用于您平台的文件。如果您不确定该选择哪个,请了解更多关于 安装包 的信息。

源分布

pharminv-0.4.tar.gz (55.0 kB 查看散列)

上传时间

支持