Noise Reduction, Color Noise, and the XiMagic Plug-In

One of Sagelight’s users, with the username adb on the discussion board, found a nice 16-bit plug-in for noise reduction.

Anistropic Noise Reduction in the works for Sagelight in the near future.  But, until then, XiMagic is a very nice plug-in, and I am particularly impressed with the NL Means algorithm.

It can be found at:  It works fine with Sagelight, and at 16-bits per-channel.

Noise Reduction in General

Here is what we’re discussing on the discussion board. ADB has contributed this photograph to look at in terms of noise-reduction.  The following is a blog/newslatter-shaped version of the discussion to make it purely informational.  The discussion link is at the end.

Let’s look at this image by using XiMagic on it. Because I recommend XiMagic, with one serious caveat and suggestion: consider reducing the color noise first.

The Original RAW Image (after standard RAW processing in Sagelight)

Original Image (after generic RAW processing)

Here is the original image, for reference. It’s only been processed as a standard RAW, so this is representative of the actual picture (as opposed to the ‘raw’ RAW image, which is a different thing), though Sagelight typically presents low-contrast RAW conversions on purpose, as compared to many other RAW converters.

First, let’s look at the sky:

Sky, 500% closeup (original image, no augmentation)

This is from the RAW file, after automatic adjustment by Sagelight. So, in terms of noise in the image, this is basically the pure RAW. It doesn’t have much noise at all, and I’ve found that making a picture incredibly smooth can make it look unrealistic, and causes banding on most displays that have to scale it down to 8-bits per-channel, not to mention the need to compress it to a .JPG file first, then decompressing it for display.


Dark Areas, 500% Closeup (original image, no augmentation)

Still, not bad! That’s a pretty decent camera. But, with any camera (with the exception, perhaps, of these new high ISO cameras coming out), this is where problems are going to start showing the second you start wanting to get any brighter levels out of it.

Let’s look at the dark areas:

Here is an augmented view of the dark areas


Noise, 500% Closeup (after adjusting levels)

All I had to do was isolate the dark areas and then perform an auto-levels. This is slightly unrealistic, in the sense that you’d probably never want to do this with this particular picture, but I say… why not? Maybe you would, and this noise issue here is representative of something you might want to do with many pictures, and this is from a RAW file from a good camera at (I assume) at least 12-bits per-channel, if not 14.

Here is the greater view, for reference:


Levels-Adjust Image

With this image, especially if you want to use the UNDO Brush in Sagelight (or layers, the history brush, or whatever in Photoshop or other editors), you can see where you might want to do this to highlight the surfers, and then deal with the sky areas separately, to merge the two areas into something very interesting that focuses more on the foreground than the sunset.

For example, if I augment this already-augmented image and add some color:


Toned Levels-Adjust Image

This starts to show how I could merge this with the sky to create a fairly realistic HDR image — if I could get rid of the noise. Adding the light caused noise, but then adding the color added another level of noise.

This points out, in my mind anyway, a very important aspect of this entire conversation — it’s very important to deal with the noise in this highlighted area before color toning it, because the color toning exacerbated the noise to a point where it would be impossible to get rid of it without making the picture look too decimated and artificial.

A Pass with XiMagic using the “NL Means” noise reduction

This is the result of using the “NL Means” noise reduction:


XiMagic noise-Reduced Image

I’ve found I like the “NL Means” noise reduction in XiMagic for this large-scale noise in these dark areas. I don’t think that’s universally true, though — I probably prefer ANR overall, because (what is not seen in this crop of the picture) the edges on the tree-lines, for example, become a little blurred here. But, I think it depends on what you’re going to do. Sometimes, it’s very useful to brighten the shadow areas of an image to reduce the noise, just to bring down the shadows again — blurred tree-line shadows aren’t going to be an issue in such a case.

That would be another difference that I intend for Sagelight in this area — previews on data that lift the highlights and do other functions to make the noise more visible so you don’t have to do that.

Using XiMagic (or any noise-reduction) after removing some color noise

Here is the same noisy image, after I used the color noise-reduction functions in Sagelight:


Noisy Image after reducing the color noise with Sagelight

I used a setting of 1.6 in the color noise-reduction, which is a very high setting. It was needed for this area. In this case (and, I think, any case where the setting is above .5-.7), I think the UNDO brush should be used to limit the noise reduction to the selected area. Even with the lower settings, I think any image should be spot-checked with the before/after buttions for specular areas that may become diminished — a good example would be the rear-brake light on a car, traffic-light-sized, brightly-colored “spot” areas, etc.

Finally, here is the same image (after color-noise reduction) using XiMagic, but with less agressive settings:


XiMagic noise-reduced Image (after removing color noise as a pre-step)

As I mentioned, I used less agressive settings and, as I look at again, I can see it’s even smoother than the non-color-noise-reduced image. I probably over-did it on the color-noise removal, because some of that color was the definition in the image. So, I should probably back off on the 1.6 setting.

But, the main thing is that I was able to remove more noise with less agressive settings by removing color-noise first. This ultimately leads to keeping more defined edges, even though, in this case, I probably went too agressive with it.

Sometimes it’s a choice

Here is another version of the same noise-reduction where I pulled back on the controls in XiMagic:


XiMagic noise-reduced Image, with less aggressive settings (after removing color noise as a pre-step)

In this version, there is more definition in the water and the structure clearly has more definition. But, there is also a lot more color noise in the shadow areas. It’s a lot better than it was in the non-color-noise-reduced version, but I liked the previous version that came out smoother overall.

This is image is 500% blown-up, so this difference in definition isn’t going to show at all, since these 12MP+ images are always sized down, causing sharpness for just these areas. So, I’d probably go with the previous version. But, sometimes that’s the choice, unless you want to do a few iterations on the image, by reducing the noise, undoing some areas and keeping others, and do it again.

It makes me wonder if, when I do get these algorithms into Sagelight, if I shouldn’t add some form of masking areas so you can use a brush to define different areas, so you can look at the image overall as you’re getting rid of the noise, using different levels for different areas. But, maybe that’s getting too extreme or purist; another example of something useful that would only be used by two people, one of them being me.

Well, those are my thoughts. I think color-noise removal gets to be very important. That is to say, if we’re looking into noise-reduction at all, it definitely tends to be a factor, and I think doing this pre-step really helps out.

Join the Discussion:

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s