Page 1 of 1

Dark Anomoly Headroom and more..

Posted: Mon Jan 15, 2018 11:09 pm
by Rkonrad
I was wondering if someone could explain this to me. Though I've read the help note on the software, I can't seem to grasp the concept. I'm going to put together a video and think I should be able to explain this to viewers - especially since I've just started to play around with it and am happy with the results. :thumbsup:

Also, I wouldn't mind an explanation of the term, "minimum distance to 1/2 unity", especially how that applies to the Life module.

Thanks

Richard

Re: Dark Anomoly Headroom and more..

Posted: Wed Jan 17, 2018 10:01 am
by admin
Dark anomalies are - in StarTools - pixels (or clumps of pixels) that are darker than the "real" background. E.g. they don't describe real signal, but rather some form of signal obstruction or hindrance (dust, dead pixel, tree, stacking artefacts etc.).

A number of modules in StarTools really, really hate dark anomalies as they rely on taking measurements of the "real" background for various purposes. Dark anomalies can really throw off these measurements. Therefore filters like the Dark Anomaly filter exists for filtering these anomalies out if they are small, or masks for bigger areas/clumps.

The question in some modules is then, how should a module treat this anomalous data once it has been "worked around"/"ignored"? Should it just clip it to black/0? Maintain the original value? Something in between?

The dark anomaly headroom does exactly this; it controls the headroom (dynamic range) allocate to dark anomalies. No headroom = clip to black, full headroom = keep as-is.

Usually dynamic range taken up by dark anomalies is better allocated to real detail, but the choice is yours.

Minimum distance to 1/2 unity can be thought of as a decision making filter. 1/2 unity is a fancy word for "grey" :P
It works like this; given two images and an x,y location, which pixel at that x,y location is closest to grey? Is it the pixel in image1 or is it the pixel in image 2?
If pixel1 is closest to grey, we choose pixel 1. If pixel2 is closest to grey, we choose pixel 2.

The above is useful when trying to make a high dynamic range composite of two processed images. If you keep picking the pixels closest to grey, you avoid pixels that are either blown out ("full unity") or very dark (close to 0). E.g. pixels closest to grey tend to show the most human detectable detail.

Now, the only problem is that you end up with ugly borders of areas where the composite switches from on image to another. This can be counteracted by making the decision less black/white but more fuzzy (e.g. take a blend of image1 and image2 based on how many other pixels in the neighbourhood are also "in favor" of image1 or image2). This way you get a smoother, more gradual blend between the two images.

Hope this helps!

Ivo

Re: Dark Anomoly Headroom and more..

Posted: Wed Jan 17, 2018 7:11 pm
by Rkonrad
Thanks Ivo,

That's very helpful. I have experimented with using the dark anomaly setting in the contrast module to get a more general contrast that excludes such details as stars and other larger detail. By further adjusting the DA Headroom, I am now making those "anomalies" brighter or darker - correct?

Two more things:

1. Regarding the denoise under tracking - what exactly is happening when I adjust the "brightness and colour detail loss" sliders? Is this just intensifying the denoise - using the same values on the "scales"? I am recently using this function. Before I just used to increase the smoothing out to blend the noise I didn't feel was adequate.

2. During tracking, I often go to colour module to desaturate the image. I often find the "false"? colours distracting especially if I'm trying to gage contrast etc with say a background that is dark red rather than black. Is this an ok practice? I know you're not supposed to use that module except just before denoising.

Thanks again - wonderful program!

Richard

Re: Dark Anomoly Headroom and more..

Posted: Thu Jan 18, 2018 3:05 am
by admin
Rkonrad wrote: By further adjusting the DA Headroom, I am now making those "anomalies" brighter or darker - correct?
Correct! :thumbsup:
1. Regarding the denoise under tracking - what exactly is happening when I adjust the "brightness and colour detail loss" sliders? Is this just intensifying the denoise - using the same values on the "scales"? I am recently using this function. Before I just used to increase the smoothing out to blend the noise I didn't feel was adequate.
The detail loss parameters govern a threshold above which detail in a scale is considered "real" or "not real" in the context of larger scales ("super structures") and in the context of local noise levels.
Along with Smoothness, these parameters are the main noise reduction throttling mechanisms you have at your disposal.

Though grossly (and i mean GROSSLY) oversimplifying things, you can think of the detail loss parameters as edge detectors/preservers, while the smoothness parameter lets you throttle how much detail at other scales acts as a predictor for a single scale. These two factors (and a whole lot more) go into the mix when determining what's noise grain, what's detail and what could be either (e.g. sits somewhere in between).
2. During tracking, I often go to colour module to desaturate the image. I often find the "false"? colours distracting especially if I'm trying to gage contrast etc with say a background that is dark red rather than black. Is this an ok practice? I know you're not supposed to use that module except just before denoising.
That shouldn't be a problem - StarTools already separates luminance and color information where it really counts (i.e. it uses a "desaturated" version of the image in most instances anyway).

Re: Dark Anomoly Headroom and more..

Posted: Sun Jan 21, 2018 2:02 pm
by Guy
Hi Ivo,

Thanks for the description of Dark Anomaly Headroom.

Which modules use the Dark Anomaly Headroom - I was assuming it was all those that use a Dark Anomaly Filter.
I was guessing Develop, Wipe and Contrast - is this right? Does Autodev use it too?

- For the modules that use the Dark Anomaly Headroom but where it isn't set - is a value assumed or is there some other way it gets the setting?

Also, does the diagram below accurately show how the Dark Anomaly Filter/Headroom affects a pixel value?
Dark Anomaly Headroom
Dark Anomaly Headroom
Wipe01_m7.png (21.12 KiB) Viewed 9059 times
Thanks,

Guy

Re: Dark Anomoly Headroom and more..

Posted: Tue Jan 23, 2018 1:03 am
by admin
That's roughly it, Guy!

Dark anomaly dynamic range is "crunched" like so;
Dark Anomaly Explainer_crop.png
Dark Anomaly Explainer_crop.png (33.07 KiB) Viewed 9040 times
(the 5% vs 100% dark anomaly headroom is obviously not to scale, but you get the idea)

You can see that by crunching down the dynamic range allocated to dark anomalies, the average background level now sits much closer to black. This effectively makes dark anomalies harder to see, while re-purposing the freed up dynamic range for the 'Interesting stuff'.

Modules that don't explicity offer a dynamic range control over dark anomalies use 100% for any remaining dark anomalies after any filtering. E.g. they largely retain the dynamic range allocated to dark anomalies for any large anomalies not caught by small anomaly filtering.

Re: Dark Anomoly Headroom and more..

Posted: Tue Jan 23, 2018 9:44 pm
by Guy
Hi Ivo,

Many thanks. I mistakenly throught the global background level was raised by the (squashed) amount of the darkest anomaly rather than the global background level being reduced to the (squashed) amount of the darkest anomaly.

In the Contrast Module - the description on the web site it says "the 'Dark anomaly headroom' parameter controls how heavily the Contrast module 'squashes' the dynamic range of larger scale features it deems 'unnecessary'".

So is the Contrast Module using the Dark Anomaly Headroom to control the amount of 'squashing' of larger scale features in different areas of the dynamic range, as well as elements identified by the Dark Anomaly Filter at the dark end?

Regards,
Guy

Re: Dark Anomoly Headroom and more..

Posted: Wed Jan 24, 2018 8:14 am
by admin
Guy wrote: rather than the global background level being reduced to the (squashed) amount of the darkest anomaly.
To be be clear, the global background level is being reduced to the (squashed) amount of the brightest (approaching background level in brightness) dark anomaly. Dynamic range below that level is reserved to still describe the dark anomaly, however now there is much less headroom - it is "squashed" - to do that.
In the Contrast Module - the description on the web site it says "the 'Dark anomaly headroom' parameter controls how heavily the Contrast module 'squashes' the dynamic range of larger scale features it deems 'unnecessary'".
So is the Contrast Module using the Dark Anomaly Headroom to control the amount of 'squashing' of larger scale features in different areas of the dynamic range, as well as elements identified by the Dark Anomaly Filter at the dark end?
The Dark Anomaly Filter in the Contrast module works exactly the same as in - for example - the Wipe module. However, its effect is much more pronounced as this is the only module that is intended for stretched data (and its effects are much easier to see). Somewhat similar to the Wipe module, the Contrast module models large scale light distribution and subtracts this from the image to reveal smaller scale detail.

What happens to the image when more is subtracted than what the local background (as determined by the filter) allows for, is determined by the Dark Anomaly Headroom setting.

Without any headroom allocated (e.g. 0%), the Dark Anomaly Filter clips pixels to 0 (pure black) if more is subtracted than there is signal. The only time where there is not enough signal, is when we are dealing with a dark anomaly. Any other time the global background should provide enough signal for subtraction without clipping.

To avoid clipping clipped pixels are not set to 0, but instead the global background is raised (for the whole image!) to accommodate the subtraction. The every undershoot is, however scaled by the Headroom parameter. This means that the global background level may be raised less than 100%, thereby "squashing" undershoot (e.g. darker-than-background pixels) dynamic range, while leaving more dynamic range for the pixels that are brighter than the background.

You can see, for example that varying the Dark Anomaly Filter from 1px to 20px (or beyond) has no effect when Headroom allocation is set to 100%. This makes sense, as the background is simply raised/restored to what it was before the subtraction (e.g. 100%).