Krita Gaussian Noise Reduction

Text and images Copyright (C) 2002 Atte André Jensen and may not be used without permission of the author.

Intention¶

Gaussian filter is a linear filter that can effectively suppress noise and smooth the image. Its working principle is similar to that of an average filter, and both take the average value of the pixels in the filter window as the output. Two-dimensional Gaussian kernel template or convolution kernel. Digital cameras often have quite some noise in their pictures. Some are worse than others, but it’s there. Here I’ll show you a way to get rid of that noise using the selective Gaussian blur filter. The basic idea behind selective Gaussian blur is that areas in the photo with contrast below a certain threshold gets blurred. The purpose of this work was to investigate the potential impact of different noise reduction schemes on the CT number bias. Methods: Three different filtration methods: Gaussian, adaptive trimmed mean (ATM), and anisotropic diffusion (AD) were implemented to reduce noise. All filters were independently applied in three different domains: raw.

Digital cameras often have quite some noise in their pictures. Some are worse than others, but it’s there. Here I’ll show you a way to get rid of that noise using the selective Gaussian blur filter.

The basic idea behind selective Gaussian blur is that areas in the photo with contrast below a certain threshold gets blurred. You could think of it like the opposite of unsharpen mask (that sharpens everything with contrast above a certain threshold.

Step 1¶

Since the selective Gaussian blur filter doesn’t have a preview and is quite heavy to compute (proportional with blur radius), it’s easier to only work on a cropped version of you picture. Select the crop tool from the tool box, draw a selection and click “crop”.

For best results, this should a part where there’s some noise you want to remove and some detail you want to preserve.

Step 2¶

The next thing is to experiment with different combinations of the settings (“blur radius” and “maximum delta”) in the selective Gaussian blur filter.

Normally I find that both settings should be between 5 and 10, where low numbers has less effect and higher numbers more, but this is very depending on the camera. In short, maximum delta should be just high enough for the filter to kick in on the noise and blur radius should be just high enough to remove it (actually blend it with neighboring areas).

For a more in depth explanation of what the settings do see https://docs.gimp.org/2.8/en/plug-in-sel-gauss.html.

After playing with the settings a bit I liked the clean look of a blur radius of 10 and maximum delta of 10. Then I checked what those settings looked like on another crop (which is always a good idea to do), I decided that it was on the very edge, and maybe even too much. There was too much loss of detail in the hair.

An option would have been to back off a bit and use settings around blur radius 7 and maximum delta 6, but then again the only offending area was the hair. I finally decided to go with settings of 8/7.

You’ll often find yourself in these arguments with yourself over when it’s too much and when it’s too little. All I can say is that you develop a feel for it, and I’m still not finished developing that feel. In any case, it’s good to know that the first things that start to look funny are often faces and hair.

The result¶

After 8 minutes my AMD-K6 300 running Linux finished the process, and I got the following (note they are resized to 640x480 from 1280x960, you can get the larger files at the bottom of this page):

First image: Before.Last image: After (blur radius:8, maximum delta:7).

Files¶

Krita Gaussian Noise Reduction System

Auto Brush¶

The generic circle or square. These brush tips are generated by Krita through certain parameters.

Types¶

First, there are three mask-types, with each the circle and square shape:

Default

This is the ultimate generic type. The Fade parameter produces the below results. Of the three auto brushes, this is the fastest.

Soft

This one’s fade is controlled by a curve!

Gaussian

This one uses the gaussian algorithm to determine the fade. Out of the three auto brushes, this is the slowest.

Parameters¶

Diameter

The pixel size of the brush.

Ratio

Whether the brush is elongated or not.

Fade

this sets the softness of the brush. You can click the chain-symbol to lock and unlock these settings. Fade has a different effect per mask-type, so don’t be alarmed if it looks strange, perhaps you have the wrong mask-type.

With fade locked.

With fade separately horizontal and vertical.

Angle

This changes the angle a which the brush is at.

Spikes

This gives the amount of tips related to the ratio.

Density

This determines how much area the brush-covers over its size: It makes it noisy. In the example below, the brush is set with density 0%, 50% and 100% respectively.

Gaussian
Randomness

This changes the randomness of the density. In the example below, the brush is set with randomness 0%, 50% and 100% respectively.

Spacing

Krita Gaussian Noise Reduction Device

This affects how far brushes are spaced apart. In the below picture, the three examples on the left are with spacing 0, 1 and 5.

Auto (spacing)

Ticking this will set the brush-spacing to a different (quadratic) algorithm. The result is fine control over the spacing. In the below picture, the three examples on right are with auto spacing, 0, 1 and 5 respectively.

Smooth lines

This toggles the super-smooth anti-aliasing. In the below example, both strokes are drawn with a default brush with fade set to 0. On the left without smooth lines, and the right with. Very useful for inking brushes. This option is best used in combination with Auto Spacing.

Precision

This changes how smooth the brush is rendered. The lower, the faster the brush, but the worse the rendering looks.You’d want an inking brush to have a precision of 5 at all times, but a big filling brush for painting doesn’t require such precision, and can be easily sped up by setting precision to 1.

Auto (precision)

This allows you to set the precision linked to the size. The first value is the brush size at which precision is at last 5, and the second is the size-difference at which the precision will decrease.

For example: A brush with ‘’starting brush size’’ 10 and ‘’delta’’ 4, will have…

  • precision 5 at size 10

  • precision 4 at size 14

  • precision 3 at size 18

  • precision 2 at size 22

  • precision 1 at sizes above 26.

Predefined Brushes¶

If you have used other applications like GIMP or Photoshop, you will have used this kind of brush. Krita is (mostly) compatible with the brush tip definitions files of these applications:

abr

Gimp autobrush tip definitions.

*.gbr
Krita

Gimp single bitmap brush tip. Can be black and white or colored.

*.gih

Gimp Image Hose brush tip: contains a series of brush tips that are painted randomly or in order after each other. Can be black and white or colored. Krita does not yet support all the parameters yet.

abr

Photoshop brush tip collections. We support many of the features of these brush files, though some advanced features are not supported yet.

Note that the definition of ABR brushes has been reverse engineered since Adobe does not make the specification public. We strongly recommend every Krita user to share brush tips in GBR and GIH format and more complex brushes as Krita presets.

All predefined brush tips are shown in one selector. There are four more options that influence the initial bitmap brush tip you start painting with:

Scale

Scales the brush tip. 1.0 is the native size of the brush tip. This can be fairly large! When painting with variable size (for instance governed by pressure), this is the base for the calculations.

Rotation

Initial rotation of the brush tip.

Spacing

Distance between the brush tip impressions.

Brush Mode¶

Alpha Mask

For colored brushes, don’t paint the actual colors, but make a grayscale brush tip that will be colored by your selected foreground/background color. Lighter areas will be interpreted as more transparent.

Color Image

Krita Gaussian Noise Reduction

Use the brush tip image exactly as it is. Especially useful for image stamps.

Lightness Map

Krita Gaussian Noise Reduction Systems

New in version 4.3: Combines the features of Alpha Mask and Image Stamp modes. Transparency is preserved as it is in Image Stamp mode, but colors or gray tones in the brush are replaced by the foreground color. The Lightness values of the brush tip image (if thinking in HSL mode) are preserved, so dark parts of the image are dark, and bright parts are bright. This allows image stamps where you can choose the color, but preserve highlights and shadows, and can even create an effect of thick paint in a brush stroke by simulating the highlights and shadows caused by the texture of the paint and brush stroke (sometimes called an “impasto” effect).

Krita Gaussian Noise Reduction Software

There are three sliders here, to control the exact feel of the current brush tip in Lightness or Gradient mode:

Neutral point

This is the lightness level that will be the same as your current foreground color. Higher values than this will be lighter versions of the current foreground color, and lower, darker versions of the current color.

Brightness

Makes the tip as a whole brighter or darker.

Contrast

Increase the contrast between dark and light areas in the tip.

Gradient Map

New in version 4.4: Use the lightness values of the brush tip image as a map to a gradient. Black maps to the left side of the gradient, and white to the right side of the gradient. The gradient used is the currently selected gradient in the main window, so you can change the gradient quickly and easily while painting. This mode allows image stamps with multiple colors that can be changed (great for flowers or other colorful vegetation), and can allow paint brushes that have multiple colors. Image adjustment sliders for Lightness Map mode can be used for this mode too.