If you are processing astronomy deep space images sooner or later you start to think that all these beautiful stars are not always wanted. When you picture dense Milky Way areas with a telephoto lens, then star clouds may obscure nebulae. But also in larger-scale images, you may want to make stars smaller or get rid of them totally to present synthetic gas and dust only frame. It is possible to remove stars manually in processing software, but that can be a very time-consuming process. This is the moment when you should take a look into star removal tools. There are several of them, and lately, I found out Starnet++ that in my opinion do this job the best, however, it also quite resources hungry and not blazing fast (especially for high-resolution files).

Starnet++ Melotte15 example

It is written at Starnet++ page, that:

StarNet is a neural network that can remove stars from images in one simple step leaving only background.
More technically it is a convolutional residual net with encoder-decoder architecture and with L1, Adversarial and Perceptual losses.

It sounds quite mysterious to me, but I am very happy about it because the outcome of this tool is very pleasant. All size stars are removed from both low scale images (like the ones made with a telephoto lens), and high scale astrophotos from medium and large telescopes. Star residues after removal are usually very small and easy to completely remove.

Starnet++ is available as standalone software and as a plugin (module) to PixInsight processing software. It will not work in 32 bit Windows (like XP) and requires a processor that supports AVX instructions set – which means that processors made before 2011 will not work with Starnet++. It also requires a decent amount of memory to work with higher resolution images. Quote from the readme file:

The code is quite heavy and will require decent amount of memory (with about 8.2 MP images I tested it with its up to 3 Gb at the start, about 1.1 Gb during the most runtime), so make sure you are not running a potato.

If you want to use PixInsight Starnet++ module, then make sure your Pix installation is not old. API version must be 160 or higher. You will find API version listed in the Processes -> Modules -> Manage modules menu.

Starnet++ NGC6888 example

The input image to Starnet++ must be 16 bit per channel TIF format. It may be a mono or RGB image – there are two Starnet++ executables available for both. Also, the image must be already stretched, not linear data. Starnet++ is a command-line tool, so you need to either call it from the console or write a simple batch file to call it with parameters. Executable accepts from one to three parameters. The first one is the input TIFF file name. The second one is the output file name. The third parameter is called STRIDE and represents the tile size that is being transformed. Only input filename is required. If you do not provide an output filename, then it will be called starless.tiff. If you do not provide a third parameter, then STRIDE will be set to 64 pixels. Peek to the readme file for more details.

For the widefield images made with short focal lengths (like camera lenses), the outcome is not always perfect and sometimes requires a little bit more work. As you can see in the image below – this image was made with a 135mm lens and QHY163M camera. After star removal (middle image), there was a significant amount of grainy noise. Plus the Crescent nebula is mostly missing because probably it was recognized as a star. So additional steps are required to achieve the outcome as in the image to the right – I applied dust and scratches filter and then restored the Crescent nebula from the original image using a mask with soft selection.

Starnet++ NGC6888 widefield example

Starnet++ tool removes stars from the image, but this starless image may be then used for subsequent processing. The usual workflow for such operations may contain the following steps:

– star removal
– obtaining star only image (the difference between original and starless image)
– processing starless image
– processing star-only image
– combining them together again

The example below shows such a simple case. Starless image was processed – increase of contrast. The star-only image was also processed – shrink star size. Then both were combined again, and the outcome image has better revealed nebulae with smaller stars.

Starnet++ example - separate star and nebula processing
Starnet++ example - separate star and nebula processing

I am both pretty happy and amazed with this tool. The user interface is maybe not ideal, but the most important – the outcome image – is good quality.

PROS:

  • doing its job
  • good quality output images
  • does not require to fiddle and adjust bazillion of options

CONS:

  • pretty large (500MB almost)
  • command-line tool (although PixInsight module also available)
  • processing takes some time and requires a significant amount of memory

Clear skies!