PixInsight Standard Tutorial
LRGB Combination Techniques in
PixInsight Standard: Jim Misti's M63 CCD Image


By Juan Conejero (PTeam)
Image raw data acquired by Jim Misti

:: PixInsight Home Page

0. Introduction
Source Data
The LRGBCombination Process in PixInsight Standard

1. Luminance Processing

1.1 Initial Luminance Stretch
1.2 Multiscale Luminance Processing
1.2.1 Initial Core Brightness Reduction
 Why not DDP?
1.2.2 The Wavelet Transform
The Advanced Way

2. Combining RGB Data
2.1 Setting Image Identifiers
2.2 Using the LRGBCombination Interface to Perform a RGB Combination
2.3 Initial Background Neutralization and Stretch of the RGB Combined Image

3. LRGB Combination

Mouseover Comparisons

4. Final Processing Steps

4.1 Final CurvesTransform
Applying Transfer Curves to the Luminance Versus Combined RGB Channel
4.2 Adjusting Core Brightness and Color Balance

Final Processed Image



0. Introduction

LRGB combination of raw luminance and color data is a fundamental processing technique for production of color CCD images. In this tutorial, we present an advanced software implementation of a rigorous LRGB combination procedure: the LRGBCombination process included in the default set of modules of the new PixInsight Standard application. At the time of writing this article, LRGBCombination is available in the time-limited public beta version of PixInsight Standard.


Source Data

We have written this tutorial around a CCD color image of the Sunflower galaxy, Messier 63. The luminance and RGB raw data of this image have been acquired by Jim Misti, who has kindly given us permission to use it. The raw data for this image, along with many others, all them of excellent quality, can be downloaded freely from Jim Misti's website:

http://www.mistisoftware.com/astronomy/index_fits.htm

From the page above, individual RGB and luminance FITS images can be downloaded. These raw CCD images have been registered and are ready to be processed, forming a wonderful data source to learn image processing and to try out new procedures and algorithms. We want to express our gratitude to Jim Misti for this valuable contribution.


The Sunflower galaxy (M63). Original raw data acquired by Jim Misti and processed by the author with the techniques described in this tutorial. Click on the image to see a larger version, approximately one half of the original size.


The LRGBCombination Process in PixInsight Standard

This is a summary of the main characteristics of the new LRGBCombination process:

  • LRGB combination procedure performed within colorimetrically defined, rigorously implemented CIE Lab and Lch color spaces. The entire process is carried out with perfect isolation between chrominance and luminance, so there are no hue changes and no noise transferences between chrominance and luminance.
  • Individual RGB channel weights applied into a uniform dynamic range. When combining RGB raw data, pixel sample values are rescaled to define a uniform dynamic range, where the RGB combination yields pure white for saturated objects. This maximizes usage of the available dynamic range and guarantees a coherent color balance from the shadows to the highlights.
  • Luminance combine ratio. If necessary, luminance data can be combined with the luminance derived from the RGB data, by means of a transparency factor.
  • Luminance and color saturation transfer functions. Independent midtones transfer functions (MTF) can be applied to the luminance and to the colorfulness component of the CIE Lch color space. The luminance MTF allows for a precise adaptation of the luminance to the available RGB data, which is essential to achieve the maximum possible color saturation, minimizing chrominance noise. The saturation MTF works cooperatively with a specific noise reduction algorithm (see below), allowing dramatic color saturation improvements with virtually zero chrominance noise.
  • High-performance chrominance noise reduction. A chrominance-specific, multiscale (wavelets-based) noise reduction algorithm has been developed by the Pleiades Development Team, and has been implemented in the LRGBCombination process. This noise reduction is applied at the final stages of the LRGB combination procedure, as part of the saturation MTF (see the preceding point).

Although the most important topic that we'll cover in this tutorial is LRGB combination, we'll describe this process in the context of a complete processing example. We won't give every detail of each individual step —which would make for several times the length of the present tutorial—, but this is the best way, in our opinion, to provide the necessary perspective to exploit the full potential of our implementation.


1. Luminance Processing

Figure 1 shows the raw luminance image in the PixInsight Standard application. The appearance is typical of a raw, linear CCD image: most of the data is represented by very low sample values; only the brightest (saturated) stars and the galaxy core are readily visible.


Figure 1— The raw luminance image. Click on the image to see a full-size version.


1.1 Initial Luminance Stretch

To achieve reasonable levels, we have to expand the data on a larger portion of the available dynamic range. This implies a nonlinear transform, and also some clipping of unused and/or spurious data in the shadows. This operation is critical and must be carried out with great care and sufficient accuracy.

A common error is to perform this initial transform as a series of (sometimes quite numerous) repeated histogram stretches and clippings, applied directly to 16-bit data. While the impact of these practices on the final result can vary widely, they should be avoided, especially because there is no actual reason to accumulate roundoff errors and data truncations at this initial processing stage.

The initial stretch can and must be applied to the raw data in a single operation, as the most healthy option, in the numerical sense. Of course, this requires a high-precision tool. We'll demonstrate how this task can be carried out with the HistogramTransform interface in PixInsight.


Figure 2— Initial stretch of the luminance with the HistogramTransform interface, working in real-time preview mode. Click on the image to see a full-size version.


Figure 2 shows how the initial luminance stretch has been accurately defined with the HistogramTransform interface. The Real-Time Preview interface has been completely redesigned and rewritten in the PixInsight Standard application, with respect to the LE freeware version. In particular, among many other improvements and added functionality, the new real-time previewing system works internally with 16-bit images, which allows for accurate renditions of extremely drastic midtones transfer functions, as are usually necessary when working with linear CCD images.

On Figure 2, note the magnification factors (16x) being used for the input histogram. Also note the 16-bit plotting resolution. Both aspects are important to achieve a high-precision transform. Histograms are rendered as vectorial graphics and can be magnified up to 999:1.

The applied histogram transform has been defined with the following parameters (click on the image of Figure 2 to see a full-size version, so you can verify parameters on the HistogramTransform interface):

  • Shadows clipping: 0.0625. This has clipped the 1.27% of the total pixels. Most clipped pixels come from a secondary, small peak to the left of the main histogram peak. These pixels are located on dark rows and columns close to the borders of the image, resulting from lacking data after registration of subexposure frames. Note how the shadows clipping point has been located just where the main peak starts to grow.
  • Highlights clipping: 1.0 (no clipping). Never clip the highlights of an astronomical image, unless there exists a unused portion of the dynamic range at the highlights end of the histogram, which is not the case in the present image.
  • Midtones balance: 0.025. This is a moderately aggressive value, necessary to achieve the desired overall brightness. This parameter defines a nonlinear midtones transfer function (MTF) applied to the raw image.

    A midtones balance value of 0.5 defines a linear, identity function (i.e., no change occurs). Values below 0.5 increase midtones, while values above 0.5 darken midtones in the image. MTF curves are implemented as special rational interpolation functions in the PixInsight/PCL framework. A common misunderstanding is to assume that MTFs are gamma curves in PixInsight. Actually, rational interpolation allows for much more flexible, accurate and controllable MTF curves in PixInsight than gamma curves are in other applications.


Figure 3— Verifying the histogram and statistical data after the initial stretch of the luminance. Click on the image to see a full-size version.


After applying the initial stretch to the raw luminance image, the Statistics and HistogramTransform interfaces can be used to verify the result. In this case, a preview has been defined to avoid spurious dark areas due to registration mismatches.

For the numerically-oriented user, the Statistics window always gives valuable information. For example, on Figure 3, it is interesting to note how the difference between the mean and median values informs us about a pixel value distribution that is not too concentrated into a narrow peak. This can be seen graphically on the histogram: the main peak starts growing very quickly, almost vertically, but its falling edge is much slower. When this happens, the mean becomes a poor estimate of the distribution's central value, and hence its difference with the median increases. The standard deviation, as an estimate of the width of a distribution's central peak, confirms the fact that the image has its pixels distributed over a relatively wide range of values. This denotes that the midtones are well populated.


1.2 Multiscale Luminance Processing

The luminance of this image can be greatly improved in terms of detail visibility at small and medium dimensional scales. The image restoration task can be achieved in a physically justified context, by defining an appropriate PSF (Point-Spread Function) and applying a deconvolution procedure to the linear raw data, that is, before the initial nonlinear stretch. This requires the help of some tool to allow inspecting the data without actually modifying it, as the Screen Transfer Function (STF) in PixInsight Standard, or the screen stretch facilities in other applications.

An alternative to deconvolution, very efficient in terms of versatility and execution speed, is to apply multiscale processing techniques, based on wavelet transforms, to nonlinear data. This is the path that we'll follow in this case.


1.2.1 Initial Core Brightness Reduction

Before applying a detail enhancement technique, we have a small problem though: the galaxy core is a little too bright. This may cause some problems. In particular, these bright regions can limit our possibilities to bring out small structures with a wavelet transform, due to oversaturation.


Figure 4— Subtracting a large-scale mask to reduce brightness on the galaxy core. Click on the image to see a full-size version.


Figure 4 shows how we have fixed this problem. A specific mask has been built by isolating very large scale structures in a duplicate of the original luminance. Then a histogram stretch has been applied to the image containing only very large structures. The resulting mask can be seen as the core_mask view on Figure 4. The mask has been subtracted from the luminance image to reduce core brightness. This work has been done in the PixInsight LE application, since at the time of writing this tutorial the PixInsight Standard beta application still lacks wavelet-based processing tools.

On Figure 4, note the weighing factor of 0.35 that has been applied to the core mask before subtraction (the K coefficient on the Pixel Math window). By controlling this factor and conveniently using a preview, one can reduce core brightness with high precision. Note also the active Rescale option, necessary to maximize dynamic range usage.

This initial core brightness control step is of course optional. If not applied though, a subsequent wavelet transform can find some difficulties to reveal all of the small structures close to the core. There are alternatives to subtracting the core mask directly from the image. In particular, a Curves transform can be applied just to the core region, by loading the core_mask image as an active mask for the luminance. This technique provides even more control and has less potential problems, but is more complicated.

Why not DDP?

Many readers may wonder now why we have not applied DDP (Digital Development Processing). Of course this is an alternative, and we in fact have a DDP process implemented in PixInsight Standard, including full real-time preview. This is a matter of personal preferences. In my humble opinion, DDP is a sort of fast food processing technique: DDP is to masked curves as unsharp mask is to wavelets: just too rough.


Figure 5— Multiscale processing of the luminance image. Click on the image to see a full-size version.


1.2.2 The Wavelet Transform

Figure 5 shows the setup used for multiscale processing of the luminance. The À Trous Wavelets process has been applied in PixInsight LE. This is an extremely powerful and versatile tool, combining the tasks of selective improvement of image structures and noise reduction, which can be adapted mutually. Besides that, our implementation includes an efficient deringing algorithm, k-sigma noise thresholding, dynamic range extension, and the possibility of working at very large scales up to 2048 pixels. Wavelet scaling functions can be arbitrarily defined and customized by means of a kernel filter editor with integrated management of filter storage in special disk files.

Perhaps the most interesting aspect of our multiscale processing in this example lies in the masks used. Actually, two masks have been combined to protect both the stars and the regions with low signal-to-noise ratio, where small-scale structures must not be enhanced at all. Both masks can be seen on Figure 5. The star_mask view contains most stellar objects as an inverted image. This mask has been generated by means of a wavelet-based technique that is beyond the scope of this tutorial. The wvlt_mask view contains a heavily stretched duplicate of the luminance, which has been multiplied by star_mask. wvlt_mask has been loaded as an active mask for the luminance image (Mask > Select Mask) being processed. In this way we can protect the stars, the background, and partially some dim regions of M63, while multiscale detail enhancement is fully applied just where we need it.

The À Trous Wavelets window represented on Figure 5 shows the wavelet transform that we have applied. We have acted on three wavelet layers, corresponding to scales of 2, 4 and 8 pixels. The scales of 2 and 4 pixels is where we have applied most of the detail enhancement force. The scale of 8 pixels has been slightly biased to enhance contrast of the numerous dust lanes, which are relatively large structures. Note the active noise reduction parameters for the two layers where we have applied larger biases.

The integrated deringing algorithm should be used in most cases, but it is very important when processing images like this one, where there are high-contrast, small structures that are being considerably improved. Note that this rule includes planetary and lunar images, not just deep-sky. In the present case, the fact that the stars have been conveniently protected with a mask does not completely eliminate the possibility of dark rings appearing around them. There are also many small objects on M63, like HII regions for example, that can suffer from ringing problems.

The Advanced Way

The procedure that we have just described tells you the truth about multiscale processing of deep-sky images at small and medium scales. However, it does not tell you all the truth, by no means. If you want to follow a really advanced path, you cannot handle your images as a whole: you have to split them into at least two subimages containing small-scale and large-scale structures, respectively (and possibly a third one containing medium-scale structures), process them separately, and merge them to obtain a final processed image. Of course, this is neither easy nor fast. If you want to read an introductory work about this topic, we have a specific tutorial, written by PTeam member Vicent Peris.


2. Combining RGB Data

Back in the PixInsight Standard application, we are going to combine the three individual color raw images as a single RGB image. Figure 6 shows the three raw files loaded and the LRGBCombination interface ready to perform this task.


Figure 6— The LRGBCombination interface ready to combine raw RGB data. Click on the image to see a full-size version.


If one wants to see the true contents of the linear raw images without altering them, the ScreenTransferFunction interface can be used. However, for our purposes, we just want to combine these images to apply a nonlinear stretch, which will be quite similar to what we did with the luminance. ScreenTransferFunction is not strictly necessary to perform these tasks in PixInsight.


2.1 Setting Image Identifiers

Before going on, it is very important to assign appropriate image identifiers to the individual RGB raw images. In this example (Figure 6), the identifiers are M63_R, M63_G and M63_B, respectively. By design, the _L, _R, _G and _B suffixes (also _l, _r, _g and _b) are used by the LRGBCombination interface to look for the appropriate images automatically, which greatly simplifies the task.

To assign an image identifier, double-click on the view selector of the corresponding image window, and a dialog box will open. Recall that view selectors are those vertical tabs to the left side of image windows in PixInsight. Alternatively, you can use the ImageIdentifier interface (Process > Image > ImageIdentifier).


2.2 Using the LRGBCombination Interface to Perform a RGB Combination

We'll explain now all relevant LRGBCombination parameters in turn. You may want to have a look at Figure 6, especially at the full-size version of the screenshot.

  • On the Channels / Source Images group box, the individual (grayscale) raw RGB images must be selected in their corresponding channel slots. Note that we have disabled the luminance slot, since we (still) are not combining a LRGB image. To select a channel image, just click the corresponding down arrow button, and a dialog box will let you choose the desired image. If you have set image identifiers suffixed with _R, _G and _B, the dialog box will select the appropriate images by default.

    The Target view list is optional; you don't have to select an image with it. However, if you do so, the LRGBCombination interface will limit selectable channel images to those with the same dimensions as the selected target image. This is useful when you have many image windows open that could be potential candidates to individual RGB channels.

    By default, when no source image has been selected for a particular channel, the interface shows an <Auto> tag. This refers to the automatic channel selection ability of the LRGBCombination process. For example, suppose that you have a color image whose identifier is MyRGBImage. If you have also MyRGBImage_R, MyRGBImage_G and MyRGBImage_B as grayscale images, and you want to replace MyRGBImage's channels with them, then you don't have to select any source image because the process will select them automatically when you apply it to MyRGBImage.

    In our present example, we don't need any of these extended capabilities, since what we want is to generate a new combined RGB image, and we have just the required raw images open. For this reason, the Target view list has been left with no selection.
  • On the Channel Weights group box we must enter the precise weights, also known as combine ratios, for each individual RGB channel. The entire PixInsight environment works with normalized pixel sample values and coefficients in a consistent way, so the fact that RGB weights are expressed in the range from zero to one should be no surprise.

    If you are accustomed to work with arbitrary RGB weights, say 1.2:1.0:1.4 for example, you probably need a pocket calculator, unless you have good mental calculation abilities (not my case, I must confess). Just divide all weights by the greatest one, and you'll obtain the normalized values that the LRGBCombination interface expects. For example, 1.2 : 1.0 : 1.4 correspond to 1.2/1.4 : 1.0/1.4 : 1.4/1.4, that is, 0.85714 : 0.71429 : 1.0.

    The Uniform RGB dynamic range check box must be left checked, unless you have a vital reason to unckeck it. If this option is not active, the LRGBCombination process will express the resulting RGB data in their original dynamic range. Note that this is actually an error if different weights are being used, since then a saturated star, for example, will no longer be white. When a uniform dynamic range is used, the process automatically rescales RGB data linearly, taking into account the different weights, to ensure that the three resulting channels are expressed into a unique, optimized dynamic range.
  • The Transfer Functions and Chrominance Noise Reduction group boxes are not normally used when performing a RGB combination. We'll use these powerful features in the LRGB combination stage. For now, we have left the transfer function parameters with their default 0.5 values, and the Chrominance Noise Reduction check box unchecked.

The normalized weights that we have used, namely 0.8:0.9:1.0, differ slightly from the original ratios applied by Jim Misti (0.83...:1.0:1.0). It must be pointed out that we have not used a rigorous method to derive our ratios; we simply have chosen these values after some experimentation, which undoubtedly should be improved and/or replaced with a more robust procedure.

Once all parameters have been set on the LRGBCombination interface, by clicking the Apply Global standard interface button a new image is generated with the result of the RGB combination. See Figure 6; the Apply Global button is a circular-shaped, blue tool button on the interface's control bar.


Figure 7— The RGB combined image just generated by LRGBCombination. Click on the image to see a full-size version.


2.3 Initial Background Neutralization and Stretch of the RGB Combined Image

Figure 7 shows the generated RGB combined image, after LRGBCombination. As was the case with the luminance, linear RGB data must be stretched by means of a nonlinear transform. Again, this can be accomplished with HistogramTransform in PixInsight Standard. However, this time we are going to achieve two tasks for the price of one: at the same time that we clip spurious values at the shadows and apply a midtones transfer function to stretch the data, we'll obtain a neutral background, all in a single operation.

You can check the setup on Figure 8. The basic procedure is essentially the same that we used for the luminance (see Figure 2): the histogram is clipped just where the main peak starts to grow, but this time this operation has to be carried out for each individual RGB channel.


Figure 8— Stretching linear color data and neutralizing the background in a single operation. Click on the image to see a full-size version.


The HistogramTransform interface can be used to achieve a neutral background during the stretching process. Shadows clipping must be adjusted carefully for each individual RGB channel, preferably using a high magnification, on the input histogram graphic (bottom side). The output histogram (top side) shows a prediction of the histogram as it will be after applying the HistogramTransform process. By matching the three histogram peaks on the output histogram, the HistogramTransform instance can be adjusted to achieve a neutral background.

Matching histogram peaks by guessing them on the output histogram can work quite well, but if high accuracy is desired, or if it becomes hard to interpret the histogram graphics, the Statistics interface can be used with one or more small previews distributed over background regions of the image. This is what we did in the present example, as shown on Figure 8. Background neutralization can be implemented as an iterative technique:

  1. Adjust clipping parameters as required on the HistogramTransform, having the whole image (and hence its histogram functions) selected. If a midtones balance has to be used, it must be defined for the RGB/K combined channel of the HistogramTransform interface. This guarantees that the same nonlinear transfer function is being applied to the three color channels, which in turn ensures that we are introducing no color cast.

  2. Apply the HistogramTransform instance to the small preview(s).

  3. Having the preview selected on the Statistics interface, watch its three median values. When these values are mutually very close, the preview's background is neutral: go to Step 4. If the values don't match, proceed as follows:

    • Take one of the three channels as reference. For example, suppose that we take green as reference. Then, either one of the red and blue median values, or both, require further adjustment.

    • If a median value is less than the reference value, the corresponding shadows clipping parameter value must be decreased, and vice-versa. Feed back this information by jumping to Step 1.

  4. Apply the HistogramTransform instance to the whole image.

Our development team is planning the implementation of an automatic process for background neutralization, which will be released as a module for the PixInsight Standard platform. However, matching the accuracy and flexibility of the above manual procedure is not the easiest task to implement as an automatized process.


Figure 9— Another view during the initial stretching / background neutralization procedure. Click on the image to see a full-size version.


On Figure 9 you can see where the small reference preview has been defined. If necessary, the ScreenTransferFunction interface can be used to improve visibility of data, in order to ensure the correct location and dimensions of the preview. On the HistogramTransform interface represented on Figure 9, note the aggressive midtones balance value of 0.005. This value defines a wildly nonlinear transfer function, necessary in this case to bring the color data to acceptable levels.

A preview of the final stretched/neutralized, combined RGB image can be seen on Figure 10. The result is an almost unsaturated image. However, all the color information that can be seen on the final processed image is there, in the form of subtle imbalances between RGB channels. Boosting these imbalances to yield a colorful astrophoto is a prodigy of digital image processing.


Figure 10— Trying out the LRGB combination on a preview of the RGB combined image. Click on the image to see a full-size version.


3. LRGB Combination

The setup for LRGB combination can be seen on Figure 10. On the LRGBCombination interface, the following parameters must be paid attention to:

  • On the Channels / Source Images group box, the R, G and B slots must be disabled, since we are going to combine the luminance image with the already combined and stretched RGB image. When a channel slot is disabled, the LRGBCombination process simply obtains the corresponding channel data from the target image. This is just what we want.

    In the luminance slot (L) the (stretched and wavelet-processed) luminance image has been selected. It is the M63_wvlt_L image, that obviously has to be loaded. On Figure 10, this image appears iconized at the upper right corner of the work space.

    Again, the Target view list is not used since it is not required for the task that we are going to perform. See Section 2.2 for more information on the Target view list.
  • On the Channel Weights group box, all weights must be set to one. This is because we don't want to alter the existing color balance of the combined/stretched RGB image; that would be a serious error —whose effects would be so conspicuous that it could be detected immediately, anyway.

    The luminance weight is actually a transparency factor. If set to a value less than one, the luminance of the target RGB image would be combined proportionally with the specified source luminance. Once again, this is not what we want (by no means), so all four weights must be set to one.

    Since all weights are equal, the Uniform RGB dynamic ranges option is irrelevant. We leave it checked, as it is by default.
  • The Transfer Functions group box is where the true fun will begin. Both parameters in this group box are midtones balance values, which define midtones transfer functions (MTF) applied, respectively, to the luminance and to the colorfulness component of the CIE Lch color space. These midtones balances work exactly like their counterparts on the HistogramTransform interface (see the end of Section 1.1): a value of 0.5 does not change existing values, < 0.5 increases midtones, and > 0.5 decreases midtones.

    The luminance MTF can be used, if necessary, to adapt the luminance to the existing brightness and contrast of the RGB data. This is very important, since the luminance and chrominance components in a LRGB combination should be well matched in brightness to maximize the possibilities of increasing color saturation with minimal noise boost.

    The saturation MTF is one of those parameters that you'll love, especially when you discover that we have a virtually perfect cure for chrominance noise. Try decreasing the saturation balance to improve color saturation in your LRGB combined image or, heaven forbid, increasing it to desaturate the result.
  • The Chrominance Noise Reduction group box is what will definitely make you hate living without LRGBCombination. By selecting this option, a chrominance-specific noise reduction algorithm comes into play. This algorithm will remove virtually all of the noise introduced by the saturation MTF. The neat result is that you can increase wildly the saturation of your LRGB combined image with virtually zero noise in the a and b components of the equivalent CIE Lab image.

    Considering its complexity, it is surprising that this noise reduction algorithm requires just two simple parameters to work:

    • The number of smoothed wavelet layers determines the dimensional scales where the algorithm will remove noise in the chrominance of the image. More layers means more noise reduction. Normally a value of 4 or 5 layers is appropriate for most CCD images.

    • The number of protected wavelet layers defines a set of scales where the algorithm will pay special care to preserve small chrominance structures. More protected layers can help in preserving the color saturation of small structures, like tiny stars or background galaxies, but can result in a comparatively less efficient noise reduction. This parameter usually gives good results when it is set to S-1 or S-2, where S is the number of smoothed wavelet layers.

The LRGBCombination process should be tried out on relatively small previews, since it is processor-intensive, especially the noise reduction algorithm. When we are done with the optimal parameters, the process must be applied to the whole combined RGB image.


Figure 11— Trying out the LRGB combination with an aggressive saturation midtones transfer function and the chrominance noise reduction algorithm active. Click on the image to see a full-size version.



Mouseover Comparisons

Below we have included a number of mouseover comparisons that will help the reader in evaluating LRGBCombination results. Of particular importance are the comparisons that show the effects of different chrominance noise reduction parameters.


Mouseout: LRGB combined image, no saturation increment.
Mouseover: RGB combined image.


Mouseout: LRGB image, saturated 0.04 + noise reduction: 4 smoothed layers, 1 protected.
Mouseover: LRGB image, saturated 0.04, no noise reduction.


Mouseout: LRGB image, saturated 0.04 + noise reduction: 5 smoothed layers, 2 protected.
Mouseover: LRGB image, saturated 0.04, no noise reduction.


CIE a component of the combined LRGB image. Move the mouse cursor over one of links below:
No color saturation
Color saturation = 0.04, no noise reduction
Color saturation = 0.04, chrominance noise reduction: 4 smoothed layers, 1 protected.
Color saturation = 0.04, chrominance noise reduction: 5 smoothed layers, 2 protected.


CIE b component of the combined LRGB image. Move the mouse cursor over one of links below:
No color saturation
Color saturation = 0.04, no noise reduction
Color saturation = 0.04, chrominance noise reduction: 4 smoothed layers, 1 protected.
Color saturation = 0.04, chrominance noise reduction: 5 smoothed layers, 2 protected.


4. Final Processing Steps

The LRGB image looks fine, but it still needs some work. In our opinion, the following processing steps are required:

  • The image shows a slight color gradient that should be corrected with the DynamicBackgroundExtraction process in PixInsight LE (since at the time of writing this tutorial the PixInsight Standard beta application still lacks background modeling capabilities).
  • Some noise reduction should be applied to the luminance. We'll do so with the SGBNR process in PixInsight LE.
  • The image would greatly benefit from a midtones enhancement. This can be done with the CurvesTransform process in PixInsight.
  • By toning up the blue channel in the midtones we could make the outer spiral arms more conspicuous. This can be achieved with the same CurvesTransform instance that will be used in the previous step.
  • Finally, the core of M63 should be brighter and yellower. This must be corrected with a masked CurvesTransform.

We won't comment on the luminance noise reduction and gradient correction tasks, since they deserve dedicated tutorials. The reader can find sufficient reference material among the set of processing tutorials available on our website.


4.1 Final CurvesTransform

Figure 12 shows the CurvesTransform interface working in real-time preview mode. As we have said, in our opinion the combined LRGB image needs more blue in the midtones. In the same CurvesTransform instance, we can fix this color problem and enhance the overall midtones of the image at the same time. Rising the midtones will allow us to show a good part of the outer halo of M63.


Figure 12— The CurvesTransform interface working in real-time mode, on a dual monitor system. Note the transfer curves being defined for the blue channel and the luminance. Click on the image to see a full-size version.


Applying Transfer Curves to the Luminance Versus Combined RGB Channel

It must be pointed out that at this stage, the curve to improve the midtones must be applied to the luminance of the image, not to the combined RGB channel.

We have obtained excellent results by making great efforts to isolate the luminance and the chrominace of the image during the whole processing (you should be a programmer and have a look at some source code for the tools that we have applied to fully understand what we mean with efforts). So, why mix them now with a curve applied equally to the three individual R, G and B channels? By doing so, some chrominance noise could be transferred to the luminance, and vice-versa.

The CurvesTransform process in PixInsight allows you to define a specific curve for the luminance, that is, the L component of the CIE Lab color space, so you can adjust brightness and contrast (within reasonable limits, of course) without affecting the chrominance, thanks to a colorimetrically defined color space.


4.2 Adjusting Core Brightness and Color Balance

This is our final processing step. Do you remember that we toned down core brightness at the early stages of our processing (See Section 1.2.1). By doing so, we have been able to reveal some subtle structures close to the core of M63. It has also been beneficial to enhance color saturation in the core, because color saturation can be higher when the luminance is neither too bright nor too dim.

However, now that we are almost done, the core seems a little too flat, so to say, which confers a somewhat unnatural look to the image. In addition, we think —and this is strictly a matter of personal taste, based on our own experience— that the core should be greener. At this point, G2V supporters will blame us severely, and they probably have pretty good reasons.

Taking the blame, we'll implement this final correction by means of a masked CurvesTransform instance. The mask will be essentially the same that we used to reduce core brightness in Section 1.2.1. Figure 13 shows how the mask is being activated for the image through the Mask > Select Mask main menu option.


Figure 13— Selecting the core mask for the LRGB image. Click on the image to see a full-size version.


Finally, on Figure 14 you can see the CurvesTransform interface, working in real-time preview mode. Note that the luminance curve, besides enhancing the highlights to make the inner core brighter, also compensates for the brightness increment that the green channel curve introduces in the midtones.


Figure 14— Masked CurvesTransform to adjust core brightness and color balance. Click on the image to see a full-size version.



:: PixInsight Home Page