Parametric Max-Flow Method and Total Variation

A parametric max-flow code for total variation and non-local total variation minimization
Author: Wotao Yin

Supported Models (either 2D or 3D)

  • TV/L2 (ROF) model: minu TV(u) + lambda||u-f||22
  • weighted TV/L2 (ROF) model: minu TV(u) + sumi (lambdai |ui-fi|2)
  • TV/L1 model: minu TV(u) + lambda||u-f||1
  • weighted TV/L1 model: minu TV(u) + sumi (lambdai |ui-fi|)

Source code download

Version 2.32: [zip package]



  • Last update on Jan 17, 2010. A bug causing crash of the TV/L2 code has been fixed.

  • Previous update on Oct 04, 2009. Supporting both 2D and 3D images, both 32-bit and 64-bit compilers, and it is open source!

  • Support: Windows/Unix, MATLAB, 32/64-bit.

    > Please contact me [email] if you need further platform support.


Mr. HAN Hu reported successful compilation on both Win XP 32bit + VS2005 + MATLAB 7.7 R2008b and Win 2003 Server 64bit + VS2008 + MATLAB 7.7 R2008b. Thanks to Hu!



    An old version on Aug 08, 2007. New version link is above.


  1. The TV/L1 binary code with demo: [zip]
  2. The ROF (TV/L2) code with demo: [zip]

Citation, Paper and Slides

  • Citation:

    D. Goldfarb and W. Yin. Parametric Maximum Flow Algorithmsfor Fast Total Variation Minimization. SIAM Journal on Scientific Computing, 31(5), 3712-3743. [pdf]


  • Slides for the talk at UCLA Math on 06/01/2007: [ppt]