Skip to content

Commit

Permalink
Renamed WaveletRecon to L1WaveletRecon.
Browse files Browse the repository at this point in the history
  • Loading branch information
frankong committed Jul 15, 2018
1 parent f975cce commit 2452714
Show file tree
Hide file tree
Showing 3 changed files with 21 additions and 21 deletions.
26 changes: 13 additions & 13 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,34 +1,34 @@
``sigpy`` Overview
================
`Overview
=========

Introduction
------------

``sigpy`` is a Python package for signal reconstruction, with GPU support using ``cupy``.

``sigpy`` provides commonly used signal processing functions, including convolution, FFT, NUFFT, wavelet transform, and thresholding functions. All operations, except wavelet transform, can run on GPU. These operations are wrapped either in a linear operator class (``Linop``) or a proximal operator class (``Prox``) for easy usage in iterative algorithms. ``sigpy`` also implements popular iterative algorithms, such as conjugate gradient, (accelerated/proximal) gradient method, and primal dual hybrid gradient.

``sigpy`` provides a submodule ``sigpy.mri`` that uses the core module to implement common MRI iterative reconstruction methods, including SENSE reconstruction, L1-wavelet reconstruction, and total-variation reconstruction. In addition, it provides convenient simulation and sampling functions, such as poisson-disk sampling function.
``sigpy`` provides a submodule ``sigpy.mri`` that uses the core module to implement common MRI iterative reconstruction methods, including SENSE reconstruction, L1-wavelet reconstruction, total-variation reconstruction, and JSENSE reconstruction. In addition, it provides convenient simulation and sampling functions, such as poisson-disk sampling function.

``sigpy`` also provides a preliminary submodule ``sigpy.learn`` that implements convolutional sparse coding, and linear regression.

Installation
------------
The package is on PyPI, and can be installed via pip
The package is on PyPI, and can be installed via pip:

pip install sigpy

Alternatively, the package can also be installed with the following required packages.

Requirements
------------
This package requires python3, numpy, scipy, pywavelets, and numba.
For optional gpu support, the package requires ``cupy``.

For optional gpu support, the package requires cupy.
For optional distributed programming support, the package requires ``mpi4py``.

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

For optional distributed programming support, the package requires mpi4py.
- python3
- numpy
- scipy
- pywavelets
- numba

Documentation
-------------

Our documentation is hosted on Read the Docs: https://sigpy.readthedocs.io
4 changes: 2 additions & 2 deletions sigpy/mri/app.py
Original file line number Diff line number Diff line change
Expand Up @@ -101,7 +101,7 @@ def __init__(self, ksp, mps, eps,
super().__init__(A, ksp, self.img, proxg, eps, weights=weights, **kwargs)


class WaveletRecon(sp.app.LinearLeastSquares):
class L1WaveletRecon(sp.app.LinearLeastSquares):
r"""L1 Wavelet regularized reconstruction.
Considers the problem
Expand Down Expand Up @@ -145,7 +145,7 @@ def g(input):
super().__init__(A, ksp, self.img, proxg=proxg, g=g, weights=weights, **kwargs)


class WaveletConstrainedRecon(sp.app.L2ConstrainedMinimization):
class L1WaveletConstrainedRecon(sp.app.L2ConstrainedMinimization):
r"""L1 wavelet regularized constrained reconstruction.
Considers the problem
Expand Down
12 changes: 6 additions & 6 deletions sigpy/mri/app_test.py
Original file line number Diff line number Diff line change
Expand Up @@ -47,23 +47,23 @@ def test_shepp_logan_SenseConstrainedRecon(self):
img_rec = app.SenseConstrainedRecon(ksp, mps, std).run()
npt.assert_allclose(img, img_rec, atol=1e-1, rtol=1e-1)

def test_shepp_logan_WaveletRecon(self):
def test_shepp_logan_L1WaveletRecon(self):
img, mps, ksp = self.shepp_logan_setup()
lamda = 0

img_rec = app.WaveletRecon(
img_rec = app.L1WaveletRecon(
ksp, mps, lamda, alg_name='GradientMethod').run()
npt.assert_allclose(img, img_rec, atol=1e-1, rtol=1e-1)

img_rec = app.WaveletRecon(ksp, mps, lamda, alg_name='PrimalDualHybridGradient',
max_iter=100).run()
img_rec = app.L1WaveletRecon(ksp, mps, lamda, alg_name='PrimalDualHybridGradient',
max_iter=100).run()
npt.assert_allclose(img, img_rec, atol=1e-1, rtol=1e-1)

def test_shepp_logan_WaveletConstrainedRecon(self):
def test_shepp_logan_L1WaveletConstrainedRecon(self):
img, mps, ksp = self.shepp_logan_setup()
std = 0

img_rec = app.WaveletConstrainedRecon(ksp, mps, std).run()
img_rec = app.L1WaveletConstrainedRecon(ksp, mps, std).run()
npt.assert_allclose(img, img_rec, atol=1e-1, rtol=1e-1)

def test_shepp_logan_TotalVariationRecon(self):
Expand Down

0 comments on commit 2452714

Please sign in to comment.