用于信号重建的python包。

sigp的Python项目详细描述


https://img.shields.io/badge/License-BSD%203--Clause-blue.svghttps://travis-ci.com/mikgroup/sigpy.svg?branch=masterDocumentation Statushttps://codecov.io/gh/mikgroup/sigpy/branch/master/graph/badge.svg

Source CodeDocumentation{a7}

SigPy是一个信号处理软件包,重点是迭代方法它可以直接在CPU上的NumPy阵列和GPU上的CuPy阵列上运行SigPy还提供了几个特定于域的子模块:用于多维数组绘制的sigpy.plot,用于MRI迭代重建的sigpy.mri,以及用于字典学习的sigpy.learn

安装

sigpy要求python版本>;=3.5。核心模块依赖于numbanumpyPyWaveletsscipytqdm

通过安装适当的软件包可以解锁其他功能。要启用绘图功能,需要安装matplotlib要启用CUDA支持,您需要安装cupy要启用mpi支持,您需要安装mpi4py

通过conda

我们建议通过conda

安装sigpy
conda install -c frankong sigpy
# (optional for plot support) conda install matplotlib
# (optional for CUDA support) conda install cupy
# (optional for MPI support) conda install mpi4py

通过pip

sigpy也可以通过pip

安装
pip install sigpy
# (optional for plot support) pip install matplotlib
# (optional for CUDA support) pip install cupy
# (optional for MPI support) pip install mpi4py

开发者安装

如果您想贡献SigPy源代码,我们建议您在可编辑模式下使用pip安装它:

cd /path/to/sigpy
pip install -e .

要运行测试并提供帮助,我们建议安装以下软件包:

pip install coverage flake8 sphinx

运行脚本run_tests.sh

功能

CPU/GPU信号处理功能

sigpy提供具有统一cpu/gpu接口的信号处理功能。例如,相同的代码可以在输入阵列设备上执行cpu或gpu卷积:

# CPU convolvex=numpy.array([1,2,3,4,5])y=numpy.array([1,1,1])z=sigpy.convolve(x,y)# GPU convolvex=cupy.array([1,2,3,4,5])y=cupy.array([1,1,1])z=sigpy.convolve(x,y)

迭代算法

sigpy还为迭代算法提供了方便的抽象和类。压缩传感实验可以用sigpy在四行中实现:

# Given some observation vector y, and measurement matrix matA=sigpy.linop.MatMul([n,1],mat)# define forward linear operatorproxg=sigpy.prox.L1Reg([n,1],lamda=0.001)# define proximal operatorx_hat=sigpy.app.LinearLeastSquares(A,y,proxg=proxg).run()# run iterative algorithm

pytorch互操作性

想在不放弃信号处理的情况下进行机器学习吗?sigpy具有将数组和线性算子转换为pytorch张量和函数的方便功能。例如,给定一个cupy数组x和一个LinopA,我们可以将它们转换为Pytorch:

x_torch=sigpy.to_pytorch(x)A_torch=sigpy.to_pytorch_function(A)

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
opencv如何在java中将Ipl图像转换为Mat图像   带有Cordova CLI的java Android Studio   用于XML解析的JAXB的java替代方案   java LibGdx如何在保持纵横比的同时调整游戏窗口的大小?   java项目Euler,#1   java将活动中定义的布局更改为xml布局   java获得的位置和纬度分别为0.0和0.0   select语句的java Mybatis内联类型处理程序   使用ViewPager从应用程序中的主活动调用findViewById方法时发生java NullPointerException   java LRU缓存中的pair[]getAll()是什么意思?   sql查询Java不执行   java在IntelliJ中将JAR添加到WEBINF/lib目录的正确过程是什么   java在lucene中索引布尔值的最佳选择是什么?   java Sentry初始化崩溃,尝试查找jdk时出现NoSuchMethod错误。内部的反映反射寄存器方法过滤器