# torchkbnufft -- non-uniform FFT (Kaiser-Bessel gridding, Fessler's NUFFT) in # PyTorch: forward/adjoint NUFFT, SENSE-NUFFT, Toeplitz embedding and density # compensation, differentiable, CPU or GPU. Pure Python. # # WHY IT IS HERE: non-Cartesian MRI. DeepInverse's radio-interferometry operator # (deepinv.physics.RadioInterferometry) is built on it, and it is the NUFFT most # PyTorch MRI reconstruction code uses for radial and spiral trajectories. # # Class 1 under docs/PACKAGING-POLICY.md: Fedora ships no package by this source # name and nothing provides python3dist(torchkbnufft). Verified 2026-10-12: # dnf repoquery --whatprovides 'python3dist(torchkbnufft)' -> empty %global pypi_name torchkbnufft Name: python-%{pypi_name} Version: 1.5.2 Release: 1%{?dist} Summary: PyTorch non-uniform FFT with Kaiser-Bessel gridding License: MIT URL: https://github.com/mmuckley/torchkbnufft # The sdist includes tests/ and their reference data (tests/data/*.pkl, produced # by tests/data/create_old_data.py from an earlier release, as regression data). Source0: %{pypi_source %{pypi_name}} BuildArch: noarch BuildRequires: python3-devel BuildRequires: python3dist(pytest) %global _description %{expand: torchkbnufft is a PyTorch implementation of the non-uniform fast Fourier transform with Kaiser-Bessel interpolation (Fessler and Sutton's NUFFT). It provides forward and adjoint NUFFT operators, multi-coil SENSE-NUFFT, Toeplitz embedding of the normal operator and density compensation, all as differentiable torch modules for 2-D and 3-D non-Cartesian MRI reconstruction.} %description %_description %package -n python3-%{pypi_name} Summary: %{summary} %description -n python3-%{pypi_name} %_description %prep %autosetup -p1 -n %{pypi_name}-%{version} %generate_buildrequires # Core requirements only: the "tests" extra pins exact old versions of black, # flake8, mypy, numpy, scipy and torch for upstream CI. %pyproject_buildrequires %build %pyproject_wheel %install %pyproject_install %pyproject_save_files -l %{pypi_name} %check %pyproject_check_import # The tests open tests/data/*.pkl by a path relative to the source root, so they # run from there. Upstream has no pytest configuration to drop beyond rootdir. %pytest -c /dev/null --rootdir=. tests -p no:cacheprovider -q -rs %files -n python3-%{pypi_name} -f %{pyproject_files} %doc README.md %changelog * Mon Oct 12 2026 Morgan Hough - 1.5.2-1 - Initial package: non-Cartesian MRI NUFFT for DeepInverse.