.. _example_filters_plot_denoise.py:


====================
Denoising a picture
====================

In this example, we denoise a noisy version of the picture of the astronaut
Eileen Collins using the total variation and bilateral denoising filter.

These algorithms typically produce "posterized" images with flat domains
separated by sharp edges. It is possible to change the degree of posterization
by controlling the tradeoff between denoising and faithfulness to the original
image.

Total variation filter
----------------------

The result of this filter is an image that has a minimal total variation norm,
while being as close to the initial image as possible. The total variation is
the L1 norm of the gradient of the image.

Bilateral filter
----------------

A bilateral filter is an edge-preserving and noise reducing filter. It averages
pixels based on their spatial closeness and radiometric similarity.


.. image:: images/plot_denoise_1.png
    :align: center


.. literalinclude:: plot_denoise.py
    :lines: 28-



**Python source code:** :download:`download <plot_denoise.py>`
(generated using ``skimage`` |version|)



**IPython Notebook:** :download:`download <./notebook/plot_denoise.ipynb>`
(generated using ``skimage`` |version|)

