Skip to content

Algorithms, examples and tests for denoising, deblurring, zooming, dequantization and compressive imaging with total variation (TV) and second-order total generalized variation (TGV) regularization. GPU-accelerated code using PyCUDA.

License

Notifications You must be signed in to change notification settings

kbredies/tgv_pycuda

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

36 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

PyCUDA primal-dual algorithms for TV/TGV-constrained imaging problems

DOI

Algorithms, examples and tests for denoising, deblurring, zooming, dequantization and compressive imaging with total variation (TV) and second-order total generalized variation (TGV) regularization. Python implementation with GPU acceleration using PyCUDA.

The code reproduces, in particular, the numerical experiments in the associated publication:

Kristian Bredies. Recovering piecewise smooth multichannel images by minimization of convex functionals with total generalized variation penalty. Lecture Notes in Computer Science, 8293:44-77, 2014. doi:10.1007/978-3-642-54774-4_3

Getting started

One easy way of getting started is to create a Python virtual environment, install the dependencies and to call a test script. For instance, run in the project folder:

python -m venv venv
source ./venv/bin/activate
pip install -r requirements.txt
python test_denoise.py

Please note that a working CUDA installation is required, in particular, a CUDA-enabled GPU. The test scripts are best run in an interactive environment such as ipython or jupyter-notebook.

test_denoise.py
test_denoise2.py
test_denoise3.py
test_deblur.py
test_deblur2.py
test_zoom.py
test_zoom2.py
test_dequantize.py
test_compressed_sensing.py

Guided examples and figures

A Jupyter Notebook is available that guides through the examples and reproduces the figures in the above-mentioned publication.

jupyter-notebook examples.ipynb

Author

Acknowledgements

Support by the Austrian Science Fund (FWF) under grant SFB F32 (Mathematical Optimization and Applications in Biomedical Sciences) is gratefully acknowledged.

If you use this code, please cite the associated publication:

Kristian Bredies. Recovering piecewise smooth multichannel images by minimization of convex functionals with total generalized variation penalty. Lecture Notes in Computer Science, 8293:44-77, 2014. doi:10.1007/978-3-642-54774-4_3

@inbook{Bredies2014,
  title = {Recovering Piecewise Smooth Multichannel Images by Minimization of Convex Functionals with Total Generalized Variation Penalty},
  DOI = {10.1007/978-3-642-54774-4_3},
  booktitle = {Efficient Algorithms for Global Optimization Methods in Computer Vision},
  publisher = {Springer Berlin Heidelberg},
  author = {Bredies, Kristian},
  year = {2014},
  pages = {44–77}
}

License

This software, excluding third-party components, is licensed under the Apache License, Version 2.0 — see LICENSE for details.

About

Algorithms, examples and tests for denoising, deblurring, zooming, dequantization and compressive imaging with total variation (TV) and second-order total generalized variation (TGV) regularization. GPU-accelerated code using PyCUDA.

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published