TV-norm tools
Open, WishlistPublic

Description

TV-norm regularization is a way to both smooth and interpolate a signal. It is particularly useful in image processing.

Most of the time we are speaking about L1 based tv-norm, which has the advantage of preserving sharp edges while still reducing noise and interpolating.

For more details one can take a look at those papers:
http://www.ipol.im/pub/art/2012/g-tvd/
http://www.ipol.im/pub/art/2012/g-tvi/

Both of them use L1 based tv-norm, but during my master thesis I also implemented an L2 version to do inpainting (which do not preserve sharp edges but has some statistical properties).

Noise reduction is a nice thing to have, but we have already another filter in krita. (And gmic has a TV-norm denoising algorithm).

For the inpainting part we have the healing brush that is currently implemented. TV-norm inpainting is usefull in other cases (essentially small pixels areas like electric lines, dust on the sensor)...
L2 tv-norm inpainting is also really nice for some artistic effects, for example in that graph from my master thesis:

(ok, it was not supposed to be artistic, it is the interpolation of some point measurements. But many people find it artistic). Gmic do not have TV-norm inpainting but has some alternative methods.

The question is, do we want to have such a feature in krita ? If yes in which form, filters ? Or something like Wavelet decompose which would allow users to separate the noise from the image and put each of them in a different layer ?

Do we want it as an internal functions used in easy to use filters or do we expose all options in a TV-regularization tool/filter (like selecting L1 or L2 norms, the number of iterations for the iterative algorithm, the regularization parameters...)

jospin created this task.Aug 14 2017, 11:29 AM

well, the first question I would ask is how it would fit in an artistic workflow.

If I am getting this right, this could become a cool sort of gradient fill tool? (As it, the artist draws contours or outlines an then this method can paint in gradient) or am I misunderstanding your examples?

Yes, that's one of the possible applications (gradient fill from lines or points too).

rempt added a subscriber: rempt.Aug 14 2017, 8:14 PM

Um... I don't know much about this, but the second option, separate into layers sounds like it offers most flexibility, to me. It does sound pretty cool, and I think the option could be useful, especially for matte painters who need to separate chaff from corn in the base images they use.