Processing Example

Shooting from light polluted areas

by Alejandro Tombolini

Introduction

Image of Scott publicated in Image Processing Challenges - Noise image and lack of signal - Main notes: Contrast with Adaptive Stretch protecting with a special RangeMask and noise reduction. Date: September 2013

Processing

This image is a difficult one to process due the lack of information and the high level of noise, and the most recomendable thing to do is definitly have more exposure time in order to increase the signal to noise ratio.
We can not think in a good result in this process, however I like exploring how the different tools works as it is very usefull to learn.

To reduce the gradient, I use DynamicBackgrounExtraction placing the samples carefully excluding stars.

scott

Select a small preview of the background to be used as Reference image in BackgroundNeutralization tool.

scott

ColorCalibration using the same preview as Reference image and the target image as Reference image for white. I have deselected Structure detection.

scott

It can be seen banding horizontal and vertical, then I apply CanonBandingReduction first horizontaly and then rotate the image with FastRotation 90° clockwise and apply again. Finally rotate again Counter clockwise

scott

scott

First stretching using HistogramTransformation Tool.

scott

Now I will stretch again using AdaptiveStretch and with the help of a mask that is protecting background. AdaptiveStretch gives contrast but I use the mask as there is too much noise and I want to avoid increasing contrast between noise areas.
The description of the mask used (as it is long) is at the end. See Rangemask1.

scott

Generate a new Rangemask to be used with InterchannelCuves protecting the background in order to increase Saturation in bright areas, setting CIE L as Reference Channel and Saturation as Target Channel.

scott

Noise reduction using TGVDenoise and without using mask.

scott

Protecting the background with rangemask, apply ExponentialTransformation.

scott

Noise reduction using MultiscaleMedianTransformation working with Adaptive in layer 1,2,3 and 4 and protecting the bright areas with rangemask.

scott

Noise reduction using GREYCstoration and protecting the bright areas with rangemask.

scott

Curves moving Luminance to give contrast in the dark areas protecting the bright ones with Rangemask1.

scott

Noise reduction: SCNR to Green.

scott

Again CurvesTransformation tool to increase Saturation and more contrast adjusting luminance without using mask.

scott

Noise reduction to Chrominace using ACDNR.

scott

Clip shadows with HistogramTransformation.

scott

To work on the stars first build a starmask and protecting the background apply MorphologicalTransformation in stars.

scott

Finally CurvesTransformation to increase Saturation and Luminance in the stars.

scott

Resample and final image.

scott

Rangemask1:

Two clones of the image. In one of them apply ATrousWaveletTransform deleting layer of 256 pixels to have only stars.

scott

With PixelMath substract "cygnus_40_60sec_clone1" from "cygnus_40_60sec_clone".

scott

Noise reduction to the image without stras using TGVDenoise.

scott

Clone again "cygnus_40_60sec_clone" and using ATrousWaveletTransform let remain only layer 1,2 and 3.

scott

With PixelMath substract "cygnus_40_60sec_clone_clone" from "cygnus_40_60sec_clone".

scott

Delete layers 1,2,3 and 4.

scott

Clone again "cygnus_40_60sec_clone" and using ATrousWaveletTransform let remain layers 1,2,3,4 and 5.

scott

With PixelMath substract "cygnus_40_60sec_clone_clone1" from "cygnus_40_60sec_clone".

scott

Using ExtractWaveletLayers extract the residual.

scott

With RangeSelection tool generate Rangemask1 over the residual.

scott

Last Update: 27/11/2023 03:45 UT