|
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:
- 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.
- Apply the HistogramTransform
instance to the small preview(s).
- 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.
- 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.
|