Metadata-Version: 2.1
Name: sigpy
Version: 0.0.8
Summary: Python package for signal reconstruction.
Home-page: http://github.com/mikgroup/sigpy
Author: Frank Ong
Author-email: frankong@berkeley.edu
License: BSD
Platform: UNKNOWN
Classifier: Programming Language :: Python :: 3
Classifier: License :: OSI Approved :: BSD License
Classifier: Operating System :: OS Independent
Description-Content-Type: text/markdown
Requires-Dist: numpy
Requires-Dist: pywavelets
Requires-Dist: numba
Requires-Dist: tqdm

Overview
========

Introduction
------------
SigPy is a package for signal processing, with emphasis on iterative methods. It is built to operate directly on numpy arrays on CPU and cupy arrays on GPU, so that users can easily use Sigpy with other packages. Its main features include:

- A unified CPU/GPU interface to signal processing functions, including convolution, FFT, NUFFT, wavelet transform, and thresholding functions.
- Linear operator classes (``Linop``) that can do adjoint, addition, composing, and stacking, including the above signal transforms. 
  For example, A.H * A creates a normal operator from the ``Linop`` A.
- Proximal operator classes (``Prox``) that can do stacking, and conjugation, including proximal operators for l1 norm, l2 norm, l1 ball, and l2 ball.
- Iterative algorithm classes (``Alg``) that include conjugate gradient, (accelerated/proximal) gradient method, and primal dual hybrid gradient.
- Application classes (``App``) that wrap ``Alg``, ``Linop``, and ``Prox`` to form a final deliverable for each application.

SigPy also provides a submodule sigpy.mri for MRI iterative reconstruction methods. Its main features include:

- Commonly used MRI reconstruction methods as an ``App``: SENSE reconstruction, l1-wavelet reconstruction, total-variation reconstruction, and JSENSE reconstruction
- Convenient simulation and sampling functions, including poisson-disc sampling function, and shepp-logan phantom generation function.

Finally, SigPy provides a preliminary submodule sigpy.learn that implements convolutional sparse coding, and linear regression, using the core module.

Installation
------------
The package can be installed via pip::

	# (optional for CUDA support) pip install cupy
	# (optional for MPI support) pip install mpi4py
	pip install sigpy


Or via conda::

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

Alternatively, the package can be installed from source with the following requirements:

- python3
- numpy
- pywavelets
- numba

Documentation
-------------
Our documentation is hosted on Read the Docs: https://sigpy.readthedocs.io


