In recent years narrow band filters astrophotograpy has spread widely among amateurs for various reasons.
Personally I chose this technique because I can successfully take pictures from skies with a certain amount of light pollution.
The better targets for this kind of photography are emission nebulas like HII regions and planetary nebulas, objects in which the light emission occurs in narrow spectral bands.
The main problem with this kind of photograpy is to build a color picture starting with images taken in a so narrow spectral region.
One possible approach is to produce false color images, assigning different images to RGB channels in an arbitrary manner (see for example the Hubble Palette).
A different technique is trying to produce color images with likely colors by suitablycombining images on the basis of the effective wavelength of the filter used.
In the vast park of techniques and combinations used by different photographers I found particularly interesting the one developed by Steve Cannistra (http://www.starrywonders.com/bicolortechniquenew.html) using only two spectral bands H-alpha and OIII to produce images with convincing colors.
Steve Cannistra technique takes advantage of some specific characteristics of Photoshop such as the use of layers, clipping masks, and blend modes that are not directly available in PixInsight but that can be reproduced fairly easily with PixelMath.
In the first part of this tutorial I will try to strictily reproduce theSteve Cannistra procedure in PixInsight, in the second part I will optimize it in order to better use the strengths of PixInsigth getting a considerably more efficient procedure.
If you cannot wait for it go directly to The PixInsight way section of the tutorial
The images that I'm using in this tutorial are part of a multispectral setmade available by Chris Purves within the section Image processing challenge of the PixInsight Forum (http://pixinsight.com/forum/index.php?topic=6676.0): the processed image by Don Goldmann was named APOD on January 10th, 2014.
I thank Chris for giving me the opportunity to use his beautiful images.
The method consists in using the Halphaimage in the red channel , OIII in the blue channel and to create a synthetic green channel by multiplying the first two and rescaling it appropriately in order to recover the dynamic range lost in the operation of multiplication.
To do this, Steve Cannistra uses a clever combination of layers , clipping mask . adjustment layers and blending modes to obtain the desired result in a single step .
It starts from two nonlinear images previously aligned: it is important not to use linear images because multiplication operation tends to produce a dark resulting image. Multipling linear images , you run the risk of getting a green synthetic too dark or even black .
The first step is to produce the synthetic green :
Let's call Ha and OIII the two starting images and put the expression Ha * OIII in PixelMath asking the process to generate a new image which we call sG .
Here PixelMath settings for getting the syntetic green
Here the Images set
Now the three images must be colorized: Steve Cannistra uses a Hue / Saturation adjustment layer setting the saturation to 100%, the Hue respectively to 0 (red) 120 (green) and 240 (blue) and a different lightnesssetting for each color: -50% for red, -20%for green, -40% for blue.
Weakening of the images is necessary to avoid the saturation of the pixels in the next step.
In PixInsight the colorization can be performed using the processes
ConvertToRGBColor to change the color space of the image
PixelMath to weaken the image
ChannelCombination to colorize the image.
But first you need to create the support images to be used in ChannelCombination
we will use PixelMath four times with the following setting to create such images
|Saturation at 100%
For example in the following image the settings for creating the green hue image can be seen. Use it by dragging the "triangle" icon over the image sG
When obtained the four support images you can proceed with the colorization.
- Use ConvertToRGBColor to convert the color space of the image
- Use PixelMath to weaken the image of the desired quantity by multiplying it by a constant between 0 and 1
for example , in the case of the red image Steve Cannistra recommend a lightness setting of -50 % , which corresponds to multiplying the image to 0.5 (equal to ( 100-50 ) / 100 )
Initial values recommended by Steve Cannistra (R = 50% , G = 20% , B = 40% ) correspond to R = 0.5, G = 0.8, B = 0.6 values that can be trimmed to best fit your image .
- Use ChannelCombination to colorize the image : Select the HSI color space , insert in the H coordinate the support image for the desired color, in the coordinate S the White image ( 100% saturation ) and disable the checkbox for the coordinate I, then drag the triangle icon on the corresponding picture .
In the following pictures you can see the steps for colorizing the green image
PixelMath (constant 0,75 tantamount -25%)
at the end of the workflow you should get something similar to the following image
Now it's time to blend together our three images: Steve Cannistra uses three different layers putting the red one on the bottom, the blue one on the top and the green in the middle, then sets the blending mode of the second and third layers to Screen wint 100% opacity.
PixInsight does not supports layering, but once againg PixelMath helps us.
The expression to reproduce the screen blending mode is 1-((1-$T) * (1-Blend)) wich in PixelMath language could be written also as ~(~$T * ~Blend) (this notation is not necessary, but it is shorter and more elegant)
Here $T is the bottom layer in Photoshop (the target image), while Blend is the upper layer (the blending one).
If you also want to take Opacity into account the expression become($T*~Opacity)+(~(~$T * ~Blend))*Opacity
In our case we have to compose the green picture above the red one first, then the blue on the result of the first operation. The complete expressions are
($T*~Opacity)+(~(~$T * ~sG))*Opacity dragging the triangle icon over the red image
($T*~Opacity)+(~(~$T * ~OIII))*Opacity dragging the triangle icon over the result of the first operation.
In both cases Opacity = 1 (100%)
Blend Green on red creating SyntRGB
Blend Blue on SyntRGB
The final result should be similar to
Now we only need to align the bottom part of the histograms in order to obtain a neutral background: in PixInsight this task can be done simply using the process BackgroundNeutralization:
Create a small preview containing a small patch of backgroun sky, execute BackgroundNeutralization setting the preview as Reference image and the upper limit higher then the average level of the sky background in oll three colors.
the final result will be
Now the image is ready for further processing.
Who is interested can download the whole process icons In the download section of the site
THE PixInsight WAY
Observing the workflow described before the first question that comes in my mind is:
how is it possible that a procedure that is quite simple in Photoshop becomes so complex in PixInsight?
The answer is simple: Because PixInsight is not Photoshop!
Trying to strictly implement a procedure designed for Photoshop to PixInsight is simply wrong.
Let's see how to change the procedure so that it fits better to the characteristics of PixInsight .
To summarize the basic concepts of Steve Cannistra's procedure we have:
Starts with two images , H alpha and OIII , previously processed with a non-linear stretching ( histogramtransformation, curves )
- Put the H alpha image in the red channel
- Put the OIII image in the blue channel
- Put in the green channel a synthetic image obtained by multiplying H alpha with OIII
- Expand the dynamic range of the green channel
- Align the bottom of the histograms of the three channels
The rest of the Steve Cannistra procedure is simply the application of these points to the Photoshop features in order to make the composition in a single step .
In PixInsight you can do the same thing with PixelMath that allows you to manage separately the Red Green and Blue channels by disabling the option Use a single RGB / K expression.
As before we call Ha and OIII the two starting images pre-aligned and delinearized.
We put in PixelMath the following expressions :
In the Destination section we activate the Create new image option with Image id SyntRGB
As Color space select RGB color
The first three steps are done
Expand the dynamic range of an image corresponds to multiply by a constant greater than 1.
In the above procedure was reduced dynamic range for all channels: 0.5 (-50%) for the red and blue, 0.75 (-25%) for the green, to avoid saturating the pixels when we use Screen as the blending mode for the levels; in PixInsight this is not necessary because we are working separately with the three channels and you will then operate an effective merger of the channels.
So the only thing to do is to expand the green channel.
The value of 1.5 was chosen on the basis of the values given by the above procedure: since we leave unchanged the red and blue channels I'll have to expand the green one of a value equal to 0.5/0.75 = 1.5
In general we may want to change the range of each of the channel, so we could think of multiplying each channel with a different constant.
Now you can do a first test to see the result of the expression: create a preview on one of the two images keeping a good part of the photographed object and drag the triangle icon on the preview.
Even the step 4 has been completed, it remains to align the bottom of the histograms: this means adding a constant to each channel in order to move to the right, with a positive constant, or to the left with a negative constant, the base of the histograms.
To help in the choice of the constant open the tool HistogramTransformation linking it to th preview in order to analyze the histogram on the shadows side (left)
As you can see the base of the histogram of the green channel is approximately 0.016, that of the blue 0.08, that of red 0.11; if we want to align the histograms to 0.02 expressions become
The final result is
Thinking to generalize the process of PixelMath is possible to use Symbols to define the various additive and multiplicative constants which serve to balance the colors in order to make the process reusable with different images.
HaGain: changes the dynamic of the red channel: in my case = 1,
HaShift: shifts the hystogram of the red channel: in my case = -0.09,
sGGain: changes the dynamic of the green channel: in my case = 1.5,
sGShift: shifts the hystogram of the greenchannel: in my case= 0.004,
OIIIGain: changes the dynamic of the blue channel: in my case = 1,
OIIIShift: shifts the hystogram of the bluechannel: in my case= -0.06
The expressions become
Now the image is ready for further processing.
Here is a comparison of the same image processed with Steve Cannistra method in three different ways with similar settings
Who is interested can download the PixelMath icon In the download section of the site