Compressed sensing is an area of mathematics increasingly being applied in magnetic resonance imaging. MRI imagery is highly sparse and noisy making it an appropriate application to use these techniques. Compressed sensing complements existing techniques such as JPEG compression in computationally intensive applications such as MRI image processing to reduce acquisition time, in AI training time and can be used to build more robust systems with greater resilience to noise.

Compressed sensing is used in numerous applications from medical imaging, network tomography, radio astronomy, recommendation systems to name a few.

This talk focuses on applying compressed sensing to Magnetic Resonance Imaging as an example. Several algorithms will be discussed including singular value thresholding, total variation denoising and wiener filtering. I will highlight how Julia libraries were used to rapidly prototype algorithms, experiments and explore key mathematical / optimization methods that can be readily applied by the practitioner.

Julia has made it easy to apply common linear algebra subroutines such as the SVD and libraries exist to perform key tasks. These include: (i) reading in .h5 data used to store MRI images in k-space using HDF5.jl, (ii) to perform the IFFT (Inverse Fast Fourier Transform) using FFTW.jl, (iii) generate noise and perform some digital signal processing routines using Noise.jl and Deconvolution.jl respectively. The relevant libraries and methodologies and how they fit into an overall data processing architecture will be discussed in this presentation.

A demonstration will be performed on how Pluto.jl is used to communicate results and visualize MRI imagery using Plots.jl. Pluto.jl is a great tool especially for testing out imaging parameters that achieve a desirable result.

The talk describes how one takes an equation, implements it in Julia, imports data and visualizes results in 30 mins. It is highly appropriate to a diverse audience of engineers, applied mathematicians and scientists alike that donโt have time and need to understand how to apply compressed sensing to their problem in Julia.