code

DarkMappy: Mapping the dark universe

A lightweight python package that implements hybrid sparse-Bayesian dark-matter reconstruction techniques.

harmonic: Learnt harmonic mean estimator for Bayesian model selection

Compute the Bayesian evidence (marginal likelihood) from posterior samples generated by any sampling approach.

LeAI: Learned image reconstruction in astronomy

Reconstruct interferometric observations using learned post-processing and learned unrolled methods.

OptimusPrimal: A lightweight primal-dual solver

A lightweight proximal splitting Forward Backward Primal Dual based solver for convex optimization problems.

ProxNest: Proximal nested sampling for high-dimensional Bayesian model selection

Compute the Bayesian evidence for high-dimensional log-convex problems by proximal nested sampling.

PURIFY: Next generation radio interferometric imaging

PURIFY provides functionality to perform radio interferometric imaging, i.e. to recover images from the Fourier measurements taken by radio interferometric telescopes. PURIFY leverages recent developments in the field of compressive sensing and convex optimisation, adapted, in some cases extended, and applied to radio interferometric imaging. PURIFY itself contains functionality specific to radio interferometry, whereas all sparse optimisation functionality is implemented in the companion code SOPT. SOPT provides very general algorithms for solving sparse regularisation problems and is being applied in many areas become radio interferometry.

QuantifAI: Scalable Bayesian uncertainty quantification with data-driven (learned) priors

Scalable Bayesian uncertainty quantification with data-driven (learned) priors for radio interferometric imaging.

S2BALL: Differentiable and accelerated wavelets on the ball

S2BALL is a JAX package for computing the scale-discretised wavelet transform on the ball and rotational ball. It leverages autodiff to provide differentiable transforms, which are also deployable on modern hardware accelerators (e.g. GPUs and TPUs). The transforms S2BALL provides are optimally fast but come with a substantial memory overhead and cannot be used above a harmonic bandlimit of L ~ 256, at least with current GPU memory limitations. That being said, many applications are more than comfortable at these resolutions, for which these JAX transforms are ideally suited, e.

S2FFT: Differentiable and accelerated spherical transforms

S2FFT is a JAX package for computing Fourier transforms on the sphere and rotation group. It leverages autodiff to provide differentiable transforms, which are also deployable on modern hardware accelerators (e.g. GPUs and TPUs). More specifically, S2FFT provides support for spin spherical harmonic and Wigner transforms (for both real and complex signals), with support for adjoint transformations where needed, and comes with different optimisations (precompute or not) that one may select depending on available resources and desired angular resolution.

S2SCAT: Differentiable and accelerated spherical scattering transforms

S2SCAT is a Python package for computing scattering covariances on the sphere using JAX. It exploits autodiff to provide differentiable transforms, which are also deployable on hardware accelerators (e.g. GPUs and TPUs), leveraging the differentiable and accelerated spherical harmonic and wavelet transforms implemented in S2FFT and S2WAV, respectively. Scattering covariances are useful both for field-level generative modelling of complex non-Gaussian textures and for statistical compression of high dimensional field-level data, a key step of e.