DeepSNR for PixInsight was released in December 2022 by Nikita Misiura, the creator of the famous StarNet++ and StarNet V2 star removal software. Like StarNet++ and StarNet V2, this is a free plugin for PixInsight.

Understanding DeepSNR

Like Misiura’s other tools that are based on artificial intelligence and deep learning, artificial intelligence is at the center of DeepSNR. Unlike StarNet and StarNet V2 which are neural nets, DeepSNR uses a different approach to artificial intelligence called NAFNet, or Nonlinear Activation Free Network for Image Restoration. Unlike other state-of-the-art implementations specialized for images, NAFNet does not use nonlinear activation functions, which are like switches that turn features in an image on or off, it instead removes these nonlinear activation functions altogether and uses approaches like multiplication instead thereby using less computational power than other state-of-the-art methods and producing better results.

Like other artificial intelligence-based tools, DeepSNR is based on training and Misiura has trained the NAFNet using astronomical images to create DeepSNR. Misiura trained DeepSNR on RGB images, so it is not recommended to use DeepSNR with greyscale images – Misiura says that he’s currently working on training DeepSNR on greyscale images and expects to release an update soon.

Misiura has said in online posts that DeepSNR is intended to work with linear images and is best used when very little processing has been done on the RGB image. As you’ll soon see, though, your results may vary.

Result of using DeepSNR

The following is a linear image of a partial view of the Shapley 1 nebula in the Norma constellation; the view is made up of half of the nebula and a field of stars and I chose this region because it has a lot of variation in brightness levels and contains various types of objects.

Although the total exposure time of this image is 30 minutes, the image is still pretty noisy, so it is a good example to test for noise reduction.

The following is a zoomed-in area of the linear image after applying to the image DeepSNR at its default settings:

The noise has indeed been reduced, however, it appears DeepSNR has introduced variations in brightness around the nebula and in between stars. I tried my best to choose a stretch that brought out the best in the image, so this is not the default screen stretch which actually looks much worse; however, to be fair, the default screen stretch is not necessarily the most optimal for a given image and our eyes and brains are the best judge of a particular stretch.

The following is the same image but, this time it was nonlinear before I ran DeepSNR on it:

The result is striking – there’s much less noise in the image and the details of the stars have been preserved – there’s also no banding around the nebula and the region between the stars is much smoother than the linear image.

Note for Patreon Subscribers

Patreon Pro subscribers get access to a PixInsight project that makes it easy to compare various noise reduction techniques using the linear and nonlinear image featured in this article. In the project, I compare the result of using TGVDenoise, EZDeNoise, NoiseXTerminator, and of course, DeepSNR so you can compare the results side by side with the full processing history of each image available to you to make experimentation easier. Visit the Patreon page for details.

Acquiring and Installing DeepSNR

Misiura has created a website to distribute DeepSNR – visit deepsnrastro.com and navigate to the download page.

There are two downloads available: a download for users of StarNet and a download for users without StarNet installed on their system (the difference between the two downloads is the inclusion of the TensorFlow library in the version for users that don’t have StarNet installed on their system).

Once you download the appropriate file, open the ZIP file and navigate to the folder where you’ll find a ReadMe.txt file that contains installation directions and troubleshooting tips. Follow the directions in the ReadMe file to install DeepSNR – the process is straightforward.

Using DeepSNR

As mentioned earlier, DeepSNR is intended to be used as early as possible in your processing workflow, so it should be ideally used right after using ChannelCombination or right after image integration; however, as the result shows in this article, I was able to get better results with a nonlinear image. As with all other processes in PixInsight, experimentation is key so you should use DeepSNR both early in your workflow as well as after stretching your image.

The DeepSNR interface has two parameters: Strength and a Linear data option, as shown below:  

Think of the Strength option as the amount of noise reduction that is applied to your image – a higher value offers stronger noise reduction than a lower value. Use the Linear data option to indicate when an image is in its linear state and uncheck the option when using DeepSNR with a stretched image.

Experiment with different values for the Strength parameter to find what works best for your image. If you use other noise reduction techniques, like TGVDenoise, EZDenoise, or NoiseXTerminator, experiment by applying those processes to your image in addition to DeepSNR (before or after it) to find out what works best for your image. Assess the effect on the noise in your image but also consider the effect on small-scale details like small stars and the transitions between light and dark areas of your image – some noise reduction techniques might sacrifice small-scale details in order to reduce noise; DeepSNR is shown to preserve these small-scale details.

Conclusion

DeepSNR for PixInsight, developed by Nikita Misiura, provides a powerful and innovative AI-based tool for noise reduction in astrophotography. Utilizing NAFNet, DeepSNR delivers high-quality results with less computational power than other state-of-the-art methods. Although primarily designed for linear RGB images, it can also be effective for nonlinear images, with outcomes varying depending on image properties.