Prerequisites and supported platforms

Prerequisites and supported platforms#

Requirements#

Requirement

Version

Python

3.10 or later; each wheel is tested on 3.10 and 3.14

PyTorch

2.2 or later (2.3 on macOS, the first to carry libomp.dylib; 2.7.1 on Linux, the first whose libgomp is named libgomp.so.1), CPU or CUDA build

NumPy, SciPy

NumPy 1.24 and SciPy 1.10 or later; MRI-NUFFT, a dependency, raises these to NumPy 2.2 and SciPy 1.13

TorchSim, MRI-NUFFT

TorchSim 0.0.8 and MRI-NUFFT 1.0 or later, installed as dependencies

Platforms#

Platform

Distribution

Notes

Linux x86-64, glibc 2.28 or later

Wheel

CPU build on PyPI; CUDA build attached to the GitHub release of each version

macOS 11 or later on Apple silicon

Wheel

CPU only; OpenMP is the runtime PyTorch installs (see The OpenMP runtime)

Linux aarch64

Source distribution

BART and FINUFFT are compiled on installation

macOS on Intel

Source distribution

BART and FINUFFT are compiled on installation

Windows 10 or later on x86-64

Wheel

CPU only; OpenMP is the runtime PyTorch installs

A source installation needs the toolchain listed under Source builds. Apple MPS devices are not supported; the device paths are CPU and CUDA.

Optional components#

Extra

Installs

Needed for

mkl

Intel MKL (Linux x86-64)

MKL as the source of BLAS, LAPACK and FFT routines, and of FINUFFT’s FFT

deepinv

DeepInverse

bartorch.interop.to_deepinv(), and DeepInverse’s denoisers for ImplicitPrior

learning

Lightning, TorchIO

The training stages and the complex-valued augmentation in bartorch.learning (Learning)

correct

SimpleITK

Bias field and gradient nonlinearity correction in bartorch.tools

motion

SimpleITK

Rigid registration of navigator planes in bartorch.tools

pyhysco

PyHySCO (GPL-3.0-only)

bartorch.tools.correct_susceptibility()

PyHySCO is not distributed with bartorch; it is imported only when correct_susceptibility() is called. The spiral deblurring of deblur() uses Triton on a CUDA device when it is installed.

The examples additionally need brainweb-dl, matplotlib and cmap; the learned-regularization examples lightning, torchio, monai and deepinv, and the tours SimpleITK (Examples).