Commit b1bb1b3
committed
Remove pynufft and the legacy TransformerNUFFTPyNUFFT backend
Deletes the legacy pynufft-backed interferometer transformer and drops
pynufft from the `optional` and `dev` extras. The nufftax-backed
`TransformerNUFFT` has been the default backend since the nufftax
migration, and `TransformerDFT` remains as the pure-numpy transformer.
Removed:
- `TransformerNUFFTPyNUFFT`, the `NUFFTPlaceholder` / `NUFFT_cpu`
module-scope try-import, and `pynufft_exception()`
- the `TransformerNUFFTPyNUFFT` re-exports from `autoarray/__init__.py`
and `autoarray/type.py`, and its arm of the `Transformer` union
- the three `test__nufft_pynufft__*` tests and the `"pynufft"` arm of the
nufftax-absent skip filter in `test_autoarray/conftest.py`
- `pynufft` from `[project.optional-dependencies]` `optional` and the
`pynufft==2022.2.2` pin from `dev`
`nufftax_exception()` no longer points users at the deleted class; it now
names `TransformerDFT` as the fallback where JAX is unavailable, and the
`use_adjoint_scaling` docstrings no longer describe a pynufft-specific
normalisation.
This also resolves the pinned `pynufft==2022.2.2` dev-extra failure under
SciPy >= 1.17 (it calls the removed `scipy.linalg.pinv2`).
Note on import time: the measured saving is ~10 ms, not the ~230 ms the
task assumed. `pynufft`'s 0.19 s cumulative import is ~95% `scipy.sparse`,
which `autoarray/operators/derivative_util.py` imports eagerly for
`csr_matrix` regardless. Deferring that import is the real ~0.10 s win and
is filed separately.1 parent 0aa08d4 commit b1bb1b3
6 files changed
Lines changed: 37 additions & 429 deletions
File tree
- autoarray
- operators
- test_autoarray
- operators
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
64 | 64 | | |
65 | 65 | | |
66 | 66 | | |
67 | | - | |
68 | 67 | | |
69 | 68 | | |
70 | 69 | | |
| |||
0 commit comments