{ } Raw JSON

bundles / skimage 0.26.1rc0.dev0+git20260530.b607368ff / skimage / restoration / _denoise / denoise_tv_bregman

function

skimage.restoration._denoise:denoise_tv_bregman

source: /dev/scikit-image/src/skimage/restoration/_denoise.py :282

Signature

def   denoise_tv_bregman ( image weight = 5.0 max_num_iter = 100 eps = 0.001 isotropic = True * channel_axis = None )

Summary

Perform total variation denoising using split-Bregman optimization.

Extended Summary

Given , a noisy image (input data), total variation denoising (also known as total variation regularization) aims to find an image with less total variation than , under the constraint that remain similar to . This can be expressed by the Rudin--Osher--Fatemi (ROF) minimization problem:

where is a positive parameter. The first term of this cost function is the total variation; the second term represents data fidelity. As , the total variation term dominates, forcing the solution to have smaller total variation, at the expense of looking less like the input data.

This code is an implementation of the split Bregman algorithm of Goldstein and Osher to solve the ROF problem ([1], [2], [3]).

Parameters

image : ndarray

Input image to be denoised (converted using img_as_float).

weight : float, optional

Denoising weight. It is equal to . Therefore, the smaller the weight, the more denoising (at the expense of less similarity to image).

eps : float, optional

Tolerance for the stop criterion: The algorithm stops when .

max_num_iter : int, optional

Maximal number of iterations used for the optimization.

isotropic : bool, optional

Switch between isotropic and anisotropic TV denoising.

channel_axis : int or None, optional

If None, the image is assumed to be grayscale (single-channel). Otherwise, this parameter indicates which axis of the array corresponds to channels.

Returns

u : ndarray

Denoised image.

Notes

Ensure that channel_axis parameter is set appropriately for color images.

The principle of total variation denoising is explained in [4]. It is about minimizing the total variation of an image, which can be roughly described as the integral of the norm of the image gradient. Total variation denoising tends to produce cartoon-like images, that is, piecewise-constant images.

See also

denoise_tv_chambolle

Perform total variation denoising in nD.

Aliases

  • skimage.restoration.denoise_tv_bregman