From 732db51ef773dd815c2f22f6a393d40643ea8a1f Mon Sep 17 00:00:00 2001 From: Pierre-antoine Comby Date: Thu, 18 Jan 2024 14:33:18 +0100 Subject: [PATCH] docs: update getting started --- docs/getting_started.rst | 32 +++++++++++++++++++++++++------- docs/index.rst | 9 ++++++++- docs/misc/related.rst | 2 +- pyproject.toml | 8 ++++++-- 4 files changed, 40 insertions(+), 11 deletions(-) diff --git a/docs/getting_started.rst b/docs/getting_started.rst index f6a85a8c..b4252d2c 100644 --- a/docs/getting_started.rst +++ b/docs/getting_started.rst @@ -41,8 +41,10 @@ finufft_ CPU ✔ single/double numpy gpunufft_ GPU ✔ single/double numpy tensorflow-nufft_ GPU (CUDA) ✘ single tensorflow pynufft-cpu_ CPU ✘ single/double numpy -pynfft_ (*) CPU ✘ singles/double numpy -stacked (**) CPU/GPU ✔ single/double numpy +pynfft_ CPU ✘ single/double numpy +bart_ CPU/GPU ✔ single numpy +sigpy_ CPU ✔ single numpy +stacked (*) CPU/GPU ✔ single/double numpy ==================== ============ =================== =============== ================= @@ -51,10 +53,11 @@ stacked (**) CPU/GPU ✔ single/double numpy .. _tensorflow-nufft: https://github.com/flatironinstitute/pynufft .. _gpunufft: https://github.com/chaithyagr/gpuNUFFT .. _pynufft-cpu: https://github.com/jyhmiinlin/pynufft -.. _pynfft: https://github.com/ghisvail/pynfft +.. _pynfft: https://github.com/pynfft/pynfft +.. _bart: https://github.com/mrirecon/bart +.. _sigpy: https://github.com/sigpy/sigpy -- (*) PyNFFT is only working with Cython < 3.0.0 , and is not actively maintained (https://github.com/mind-inria/mri-nufft/issues/19) -- (**) stacked-nufft allow to use any supported backend to perform a stack of 2D NUFFT and adds a z-axis FFT (using scipy or cupy) +- (*) stacked-nufft allow to use any supported backend to perform a stack of 2D NUFFT and adds a z-axis FFT (using scipy or cupy) **The NUFFT operation is often not enough to provide good image quality by itself (even with density compensation)**. @@ -72,7 +75,7 @@ To benefit the most from certain backend we recommend to use the following instr finufft / cufinufft ~~~~~~~~~~~~~~~~~~~ -Those are develop by the `flatiron-institute ` and are installable with `pip install finufft` and `pip install cufinufft`. +Those are develop by the `flatiron-institute `_ and are installable with `pip install finufft` and `pip install cufinufft`. .. warning:: @@ -81,7 +84,7 @@ Those are develop by the `flatiron-institute `. +an active gpuNUFFT fork is maintained by `chaithyagr `_. .. warning:: @@ -95,6 +98,21 @@ To install it use `pip install gpuNUFFT` or for local development. cd gpuNUFFT python setup.py install +BART +~~~~ + +BART has to be installed separately and `bart` command needs to be runnable from your `PATH`. +See `installation instructions `_ + + +PyNFFT +~~~~~~ + +PyNFFT requires Cython<3.0.0 to work. and can be installed using + +.. code-block:: sh + + pip install cython<3.0.0 pynfft2 Which backend to use -------------------- diff --git a/docs/index.rst b/docs/index.rst index 9a79df16..53665bab 100644 --- a/docs/index.rst +++ b/docs/index.rst @@ -35,4 +35,11 @@ misc/code_of_conduct misc/license misc/development - misc/related + +.. toctree:: + :hidden: + :caption: Related Projects + + PySAP + ModOpt + Brainweb-dl diff --git a/docs/misc/related.rst b/docs/misc/related.rst index e303af00..6b0b545f 100644 --- a/docs/misc/related.rst +++ b/docs/misc/related.rst @@ -5,6 +5,6 @@ Related Projects .. toctree:: :maxdepth: 2 - PySAP + PySAP ModOpt Brainweb-dl diff --git a/pyproject.toml b/pyproject.toml index e6f407a0..8bc8d2aa 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -11,10 +11,14 @@ dynamic = ["version"] [project.optional-dependencies] -gpu = ["cupy-wheel"] +gpunufft = ["gpunufft", "cupy-cuda11x"] +cufinufft = ["cufinufft", "cupy-cuda11x"] +finufft = ["finufft"] +pynfft = ["pynfft2", "cython<3.0.0"] +pynufft = ["pynufft"] + test = ["pytest", "pytest-cov", "pytest-xdist", "pytest-sugar", "pytest-cases"] dev = ["black", "isort", "ruff"] - doc = ["sphinx-book-theme","sphinx-copybutton", "sphinx-gallery", "matplotlib", "pooch", "brainweb-dl"] # pooch is for scipy.datasets