File Exchange

image thumbnail


Spatiotemporal total variation implemented using the split Bregman formulation


Updated 01 Oct 2017

GitHub view license on GitHub

We provide an extension of the Split Bregman formulation to minimize the total variation in both space and time that can be used for compressed sensing MRI. It can be also easily modified to solve dynamic denoising problems.
The Split Bregman method separates L2- and L1-norm functionals in such a way that they can be solved analytically in two alternating steps. In the first step a linear system is efficiently solved in the Fourier domain, which can be done in MRI and image denoising problems where operators have representation in the Fourier domain. The computational cost is three FFT per iteration.
SpatioTemporalTVSB.m: Minimizes: beta_xy||grad_x,y u||_1 + beta_t||grad_t u||_1 st. ||Fu-f||^2 < delta, where u is the unknown image, F is the undersampled Fourier transform, f is the undersampled data, and beta_xy and beta_t| are spatial and temporal weighting sparsity parameters. This implementation allows selecting different weighting sparsity parameter for time and space.

Demo_SpatioTemporalTV_SplitBregman_Sim.m: This demo uses cardiac cine small-animal data as an exemplar to simulate an undersampling pattern based on a variable density pdf and compares ST-TV with spatial total variation (S-TV).

For additional information and citations, please refer to the following papers:
P Montesinos, J F P J Abascal, L Cussó, J J Vaquero, M Desco. Application of the compressed sensing technique to self-gated cardiac cine sequences in small animals. Magn Reson Med., 72(2): 369–380, 2013. DOI:

Goldstein T, Osher S. The split Bregman method for L1-regularized problems. SIAM J Imaging Sci, 2:323–343, 2009.

Cite As

Juan Felipe Pérez Juste Abascal (2020). HGGM-LIM/Split-Bregman-ST-Total-Variation-MRI (, GitHub. Retrieved .

Comments and Ratings (0)


Faster convergence by scaling forward and adjoint operators

Update of description

MATLAB Release Compatibility
Created with R2009b
Compatible with any release
Platform Compatibility
Windows macOS Linux