Version history

v2022.2.4rc1

  • Explain the scaling factor for NUFFT.adjoint in the document.

v2022.2.3

  • Same as v2022.2.3rc2

v2022.2.3-rc2

  • Add experimental NUFFT_cupy for cupy backend.

  • Change scipy.linalg.pinv2 (deprecate) to pinv. Track for possible errors.

v2022.2.3-rc1

  • Add experimental NUFFT_torch, NUFFT_tf

v2022.2.2

  • Maintenance release

v2022.2.1

  • Maintenance release

v2022.1.1

  • some typos fixed.

  • move to Python 3.10

  • update installation for MSVC 2022 and Win 10

v2021.2.0

  • typo fixed: ocl_add() imaglptr -> imagptr

v2021.1.0

  • removed twosum algorithm.

v2020.2.1

  • tested with an AMD card.

  • Deprecate batch as this is not the most essential function in NUFFT.

  • Deprecate NUFFT_cpu, NUFFT_hsa

  • Update some docs.

v2020.1.2

  • new_index: change the khatri_rao_k(), OMEGA_k() in helper.py; col += kindx[index];// + 1

  • Add code of conduct of Contributor Covenant v2.0

  • Update some documentations

v2020.1.0

  • add batch mode to nudft_cpu

v2020.0.0

  • fix batch=1. This can cause error in Riekna fft.

v2019.2.3

-(experimental) Add the unified NUFFT() class. Now CPU, GPU, and legacy GPU mode are encapsuled in a single class.

-Tested using Intel Neo OpenCL driver (see https://github.com/intel/compute-runtime) and IntelPython3.

-The old NUFFT_cpu() and NUFFT_legacy() will be kept in the system for compatibility.

v2019.2.1-2019.2.2

-Remove lsmr as scipy 1.13 has caused unknown error.

v2019.2.0

  • Bump

v2019.1.2

  • BUGFIX: fix the loss of accuracy in cSpmvh(). Replace the group/local by global memory (the group/local sizes have caused the unknown run-time behaviour on cuda)

v2019.1.1

  • Refactor the re_subroutine.py

  • Adopt tensor form

v0.4.0.0

  • 0.4.0.0 is a beta version.

  • Major updates for the NUFFT_hsa class, including memory reduction and split-radix. Multiple NUFFT_hsa() using cuda backend becomes possible, by pushing the context to the top of the stack when a method is called.

  • Tested in Windows 10 with PyCUDA 2018.1.1, nvidia-driver 417.35, CUDA 9.2, Visual Studio 2015 Community, and Anaconda Python 3.7 64-bit. PyOpenCL in Windows is yet to be tested.

  • Add batch mode.

v0.3.3.12

  • 0.3.3.12 is a bug-fixed version.

  • Removal of the keyword async for compatibility reasons because Reikna has changed the keyword to async_.

v0.3.3.8

  • Bugfix: mm = numpy.tile(mm, [numpy.prod(Jd).astype(int), 1]) to fix the wrong type when numpy.prod(Jd) is not cast as int

  • Bugfix: fix rcond=None error in Anaconda 3.6.5 and Numpy 1.13.1 (the recommended None in Numpy 1.14 is backward incompatible with 1.13)

  • Bugfix: indx1 = indx.copy() is replaced by indx1 = list(indx) for Python2 compatibility

v0.3.3.7

  • Bugfix in 0.3.3.7 Toeplitz is removed from the NUFFT_cpu and NUFFT_gpu to avoid the MemoryError.

v0.3.3.6

  • Bugfix: correct the error of import. Now import NUFFT_cpu, NUFFT_hsa at the top level.

v0.3.3

  • Note: GPU support is superseded by Heterogeneous System Architecture (HSA).

  • A variety of nonlinear solvers are provided, including the conjugate gradient method (cg), L1 total-variation ordinary least square (L1TVOLS), and L1 total-variation least absolute deviation (L1TVLAD).

  • The CPU version support other nonlinear solvers, lsqr, gmr, cg, bicgstab, bicg, cgs, gmres, lgmres , apart from cg, L1TVOLS and L1TVLAD.

  • Support multi-dimensional transform and reconstruction (experimentally).

v0.3.2.9

  • Experimental support of NVIDIA’s graphic processing unit (GPU).

  • The experimental class gpuNUFFT requires pycuda, scikit-cuda, and python-cuda-cffi. scikit-cuda can be installed from standard command.

v0.3.2.8

  • Tested under Linux and Windows Anaconda3

v0.3

  • Updated setup.py

  • Removal of pyfftw due to segfault under some Linux distributions