Author Topic: PixInsight Standard 01.00.01.227 Beta 3 Released  (Read 19593 times)

Offline Pleiades

  • Administrator
  • PixInsight Enthusiast
  • *****
  • Posts: 88
PixInsight Standard 01.00.01.227 Beta 3 Released
« on: 2006 November 16 08:48:02 »
Hello all,

The latest version of the PixInsight Standard core application, 1.0.1.227 Beta 3, is now available for download:

http://pleiades-astrophoto.com/download/STD/index.html

Build 227 is an extremely stable core application, very close to a first release candidate version.

This version is entirely based on our customized version of Qt 4.2.0, PCL 1.0.1.84 (third release version of the PixInsight Class Library), and the LittleCMS color management engine.
______________________________________________________________________________

New ACDNR (Adaptive Contrast-Driven Noise Reduction) Process

ACDNR stands for Adaptive Contrast-Driven Noise Reduction. ACDNR is the successor to our widely acclaimed SGBNR tool. It is the result of more than two years of continued research and development work. ACDNR is a highly flexible implementation of a novel noise reduction algorithm, based on advanced multiscale and mathematical morphology techniques. We are working on a series of online tutorials to unveil the true power of this new tool, but users of the old SGBNR will quickly find their way with the new ACDNR interface.

The idea behind ACDNR —as any nontrivial noise reduction algorithm— is to perform an efficient noise reduction work while preserving significant image structures. As its name suggests, ACDNR is able to adapt to the characteristics of the image by modifying its behavior as a function of detected contrast variations.

ACDNR includes two mechanisms that work cooperatively: a special low-pass filter and an edge protection device. Simply put, the low-pass filter smooths the image by removing or attenuating small-scale structures, and the edge protection device prevents significant image structures from being damaged during low-pass filtering.

You can think of ACDNR as a system with two contrary forces working in opposite directions: the low-pass filter tends to simplify the image by destroying irrelevant small-scale features (i.e., the noise), and the edge protection device tries to avoid destruction of important features by stopping the low-pass filter when it encounters relevant contrast variations.

Little automation can be used for the noise reduction task: it is a complex and extremely delicate task that requires accurate tools and their tight adaptation to each particular case. In this sense, ACDNR provides a high degree of flexibility. Both ACDNR's main subsystems, the low-pass filter and the edge protection device, can be controlled with corresponding sets of parameters that the user must define to adapt ACDNR to each particular situation and imaging context.

ACDNR Parameters

What follows is a succinct explanation of the purpose, limitations and features of ACDNR parameters, from a practical user perspective. We have tried to limit technical explanations to a required minimum. A more detailed discussion with step-by-step examples will be published as a specific ACDNR tutorial.

ACDNR offers two identical sets of parameters: one for the luminance and another for the chrominance of color images.

Chrominance ACDNR parameters are applied to the CIE a and b components in the CIE Lab color space. Luminance parameters are applied to the L component of Lab for color images, and to the nominal channel of grayscale images. In general, chrominance parameters are much less critical and can define a stronger noise reduction procedure than luminance ones. This is because the human vision system is very poor detecting image structures defined by chrominance variations. Almost all of the detail is perceived through the luminance. However, this doesn't mean that we can neglect fine-tuning chrominance noise reduction parameters, since by doing so we can cause severe lacks of information, especially for relatively small structures with high chrominance contents, as stars in deep-sky images.

ACDNR performs luminance/chrominance separations, as do all standard PixInsight processes, into colorimetrically-defined color spaces. Conversions to and from the CIE Lab space are carried out in the current RGB working space (RGBWS) of the target image. The RGBWS can be defined with the RGBWorkingSpace standard process and interface (available under the ColorSpaces category).

For both luminance and chrominance subsets, ACDNR parameters divide into two sections: filter parameters and edge protection parameters.

ACDNR Filter Parameters

Standard deviation of the low-pass filter (in pixels)— The low-pass filter is a mathematical function that is discretized on a small square matrix known as a kernel in the image processing jargon. This parameter controls the size in pixels of the kernel used. The kernel size directly defines the sizes of the image structures that the low-pass filter will tend to remove. For example, standard deviations between 1 and 1.5 pixels are appropriate to remove high-frequency noise that dominates most CCD images. Standard deviations between 2 and 3 pixels are quite usual when dealing with film images. Larger deviations, up to 4 or 6 pixels, can be used to smooth low-SNR regions of astronomical images (as the sky background) with the help of protection masks.

Amount— This value, in the range from 0.1 to 1, defines how the denoised and original images are combined. A zero amount value would leave the image unchanged, and an amount value of one would replace the image with its denoised version completely. This parameter is especially useful when the ACDNR filter is used iteratively (see the iterations parameter below). At each iteration, amount can be used to re-inject a small fraction of the image resulting from the preceding iteration. This leads to a recursive procedure that can help in fine-tuning and stabilizing the overall process.

Iterations— This is the number of times that the low-pass filter is applied. The ACDNR filter is much more efficient when applied iteratively. A relatively small filter (with a low standard deviation) applied several times is in general preferable to a larger, more aggressive filter applied once. When three or more iterations are used, ACDNR's edge protection is usually much more efficient and yields more robust results. The amount parameter (see above) can also be used along with iterations to turn ACDNR filtering into a recursive procedure, mixing the original and processed images.

ACDNR Edge Protection Parameters

We define an edge as a brightness variation that the edge protection device tries to preserve (protect) from the adverse effects of low-pass filtering. If we consider an edge as the locus of a brightness change, then for each edge there is a dark side and a bright side, depending on the direction we follow when crossing it. ACDNR's edge protection gives separate control over dark and bright sides of edges. For each side, there is a couple of identical parameters, namely threshold and overdrive.

Threshold— This parameter defines the relative brightness difference that triggers the edge protection mechanism. For example, a threshold value of 0.05 means that the edge protection device will try to protect image structures defined by brightness changes equal to or greater than a 5%, with respect to their surrounding areas. Higher thresholds are less protective. Too high of a threshold value can allow excessive low-pass filtering, and thus lead to destruction of significant image features. Lower thresholds are more protective, but too low of a threshold can lead to poor noise reduction results. In general, protection thresholds are critical and require some trial and error work.

Overdrive— This parameter controls the strength of edge protection. When overdrive is zero (its default value), edge protection just tries to preserve the existing pixel values of protected edges. When overdrive is greater than zero, the edge protection mechanism tends to be more aggressive, exaggerating the contrast of protected edges. This parameter can be useful because it may allow a larger threshold value, which in turn gives better noise reduction, while still protecting significant edges. However, overdrive is an advanced parameter that requires experience and must always be used with care: incorrect overdrive dosage can easily generate undesirable artifacts.

In addition to side-specific edge protection parameters, ACDNR includes two additional parameters that control the overall behavior of the edge protection device: robustness enforcing method and prefiltering.

Robustness enforcing method— When ACDNR's edge protection has to operate in presence of strong small-scale noise, it may have a hard time defining accurate edges of significant structures. For example, isolated noisy pixels can be very bright or dark, and their contributions to the definition of protected edges can be relevant. Robustness refers here to the ability of ACDNR to become immune to small-scale noise when discriminating significant image structures. Two robustness enforcing methods have been implemented: weighted average and morphological median. In both methods, for each pixel a neighborhood is defined and a robust reference value is calculated from the neighbor pixels, which is then used to command the edge protection device. Both methods have their strong points. The method based on the morphological median is especially good to preserve sharp edges. On the other hand, the weighted average method can yield more natural-looking images. You can try both of them and see which is best for your specific needs, according to your preferences.

Prefilter— If necessary, ACDNR can apply an initial filtering process to remove small-scale structures from the image. This can help to achieve a more robust edge protection, for the reasons explained above. Two prefiltering methods have been implemented: multiscale and recursive. Both methods employ special wavelet-based routines to remove all bright and dark image structures smaller than two pixels. The recursive method is extremely efficient. This feature should only be used in presence of huge amounts of noise, when all significant image structures have sizes well above the two-pixel limit.

ACDNR Luminance Mask Generation

We have implemented an additional feature to improve ACDNR's flexibility and applicability. It is an inverse luminance mask that modulates the noise reduction work. Where the mask is black, original (unprocessed) pixels are fully preserved; where the mask is white, noise reduction acts completely. Intermediate (gray) mask levels define a proportional mixture of unprocessed and processed pixel values. This mask can be useful to protect high-SNR regions while applying a strong noise reduction to low-SNR ones. A typical example of this is to smooth the background of a deep-sky image while leaving bright regions intact.

The ACDNR mask is generated and controlled with the help of three parameters: midtones balance, shadows clipping and highlights clipping. These parameters define a simple histogram transform that is applied to a copy of the luminance that is used to mask the noise reduction process. Take into account that an inverse mask is always generated, which means that you must reverse your logic when varying these histogram parameters. To help achieving a correct mask with a minimal effort, the ACDNR interface includes a special mask preview mode. When this mode is enabled, the ACDNR process simply generates the mask, copies it to the target image, and terminates execution. When used along with the real-time preview interface, this mask preview mode is particularly useful.
______________________________________________________________________________

New UnsharpMask Process

This is our implementation of a fundamental classic. However, we have boosted it a lot (did you seriously think we wouldn't improve something like unsharp mask?). Our implementation of unsharp mask includes:

- An efficient deringing algorithm. This means absolutely no dark halos or rings around bright image features, as stars.

- Accurate threshold parameter. You can use it to protect dark, low-SNR regions (as the background) from adverse unsharp masking effects.

- Dynamic range extension parameters. This means absolutely no oversaturated bright regions.

- Real-Time Preview. Now you can see how your image changes as you vary unsharp mask parameters, with the accuracy and flexibility of PixInsight's real-time preview interface.
______________________________________________________________________________

New ColorSaturation Process

This process allows you to modify color saturation as a function of hue. This means that color saturation can be increased/decreased for a range of selected colors with the new ColorSaturation interface, as opposed to the CurvesTransform interface, which allows varying saturation as a function of itself. ColorSaturation works in a colorimetrically-defined HSVL space, which prevents noise transferences from chrominance to luminance and ensures full preservation of color balance.

The ColorSaturation interface is very similar to CurvesTransform. The ColorSaturation curve is defined with respect to a horizontal axis that covers the entire range of hue angles from –pi to +pi. Vertical curve values are saturation biases. Each point in a ColorSaturation curve can take saturation bias values (that is, vertical, or Y-axis values) in the range from –10 to +10, including zero. Positive saturation biases increase color saturation, while negative bias values desaturate colors.

In addition, we have implemented a hue shift parameter that can be extremely useful. It is an offset value that simply moves the origin of the hue axis. By varying hue shift, you can modify the ranges of colors which a given saturation curve acts on, without changing any curve points. For example, if you change hue shift from its default zero value to 0.5, what the original saturation curve was applying to blue/cyan colors will now be applied to orange/red colors. In this way you have a high freedom to fine-tune color saturation transforms with very little effort.
______________________________________________________________________________

Feel free to write on PixInsight Forum to let us know your suggestions, opinions, complaints, criticisms, and of course bug discoveries. Congratulations are also well received :)

Enjoy it!

The Pleiades Software Development Team