用于信号重建的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第三方库


热门话题
java Android改造响应不等于邮递员响应   bean的spring初始化失败;嵌套的例外是java。lang.IllegalArgumentException:Pointcut格式不正确:应为“')”   java在运行时传递可选的未知参数   java Android:无法使用密码保护条目   java无法从SimpleIntegerProperty转换为属性<Integer>   java Ibatis:有没有办法在sqlmap xml中的Ibatis resultmap子选择中添加行处理程序?   java如何使用ant脚本运行maven项目?   java如何在DesignGridLayout库中动态创建JButton值?   java JPA多事务管理器   java Eclipse RCP,为编辑器添加了一个新视图   从源文件夹导入时,不会显示Java图像   使用hadoop2设置java单节点集群。4.0与cygwin   java如何连接图像?   JavaJPQL:向数据库中已经存在的值添加一个int值