The best kept secret amongst signal processing purists

As opposed to all other software on the market today, StarTools monitors your signal and its noise component, per-pixel, throughout your processing (time). As a result, it sports image quality and unique functionality that far surpasses other software. Big claim? Let us back it up.


Your signal and its noise component

An overstretched, noisy image
When you stretch your dataset, you will notice noise grain becoming visible quickly in the darker areas..

If you have ever processed an astrophotographical image, you will have had to non-linearly stretch the image at some point, to make the darker parts with faint signal visible. Whether you used levels & curves, digital development, or some other tool, you will have noticed noise grain becoming visible quickly.

You may have also noticed that the noise grain always seems to be worse in the darker areas than the in brighter areas. The reason is simple; when you stretch the image to bring out the darker signal, you are also stretching the noise component of the signal along with it.

And that's just a simple stretch. Every pixel's noise component goes through many transformations and changes as you process your image. Once you get into the more esoteric and advanced operations such as local contrast enhancements or wavelet sharpening, noise levels get distorted in all sorts of different ways in all sorts of different places.

The result? In your final image, noise is worse in some areas, less in others. A one-noise-reduction-pass-fits-all no longer applies. Yet that's all that other software offers.


Traditional astrophotography image processing software is fundamentally broken

In this example, brightness has been deliberately modified locally (top right), enhancing contrast. Unfortunatley, traditional software cannot know that area has a much hgher signal-to-noise ratio. As a result noise reduction treats all areas the same, destroying much detail.

Chances are you have used a noise reduction routine at some stage. In astrophotography, the problem with most noise reduction routines, is that they have no idea how much worse the noise grain has become in the darker parts. They have no idea how you stretched and processed your image earlier. And they certainly have no idea how you squashed and stretched the noise component locally with wavelet sharpening or local contrast optimisation.

The separation of image processing into dumb filters and objects, is one of the biggest problems for signal fidelity in astrophotographical image processing software today.

In short, the big problem, is that separate image processing routines and filters have no idea what came before, nor what will come after when you invoke them. All pixels are treated the same, regardless of their history. Trying to, for example, squash noise this way in your final image, is like chasing your tail; you'll never get there. What's too much in one area, is too little in another, all because of the way prior filters have modified the noise component beforehand.

The separation of image processing into dumb filters and objects, is one of the biggest problems for signal fidelity in astrophotographical image processing software today. It is the sole reason for poorer final images, with steeper learning curves than are necessary.

But what if a noise reduction routine could work backwards from the finished image, and trace noise propagation, per-pixel, all the way back to the source signal? The things it could do! Indeed. Welcome to Tracking!


Tracking is the solution

In this example, brightness has been deliberately modified locally (top right), enhancing contrast. Yet StarTools still knows exactly where the noise grain is, even in images that have had their brightness modified locally like this. It does not touch the dark detail in the galaxy, but effectively noise reduces other dark parts that have visible noise grain.

Tracking is time travel

Tracking in StarTools makes sure that every module and algorithm can trace back how a pixel was modified at any point in time. It's the Tracking engine's job to allow modules and algorithms "travel in time" to consult data and even change data (changing the past) and then forward-propagate the changes to the present. The latter sees the Tracking module re-apply every operation made since that point in time, however with the changed data as a starting point; changing the past for a better future. This is effectively signal processing in three dimensions; X, Y and time (X, Y, t).


The power of 3D (X, Y, t) signal processing

Correct deconvolution of extremely noisy, stretched, locally contrast-enhanced (top left) data. No further masks (other than simple auto-generated star mask), local supports or selective processing was performed. Noise grain is correctly identified and ignored. Only areas with sufficient SNR are enhanced.

Deconvolution; an example

This remarkable feature is responsible for never-seen-before functionality that allows you to, for example, apply deconvolution to heavily processed data. The deconvolution module "simply" travels back in time to a point where the data was still linear (deconvolution can only be applied to linear data!), does its thing and then Tracking forward-propagates the changes. The result is exactly what your processed data would have looked like with if you had applied deconvolution earlier and then processed it further. But wait, there's more!

A side-by-side image of M42's core
Signal evolution Tracking allows for many more enhancements over traditional software. For example color constancy (right), effortlessly visualizing features with similar chemical/phsycial properties, regardless of brightness.

Deconvolution; an example that gets even better

Time travelling like this is very useful and amazing in its own right, but it there is another major, major difference in StarTools' deconvolution module.

The major difference, is that, because you initiated deconvolution at a later stage, the deconvolution module can take into account how you processed the image after the moment deconvolution should normally have been invoked (e.g. when the data was still linear). In a sense, the deconvolution module now has knowledge about a future it should normally never have been privy to. Specifically, that future tells it exactly how you stretched and modified every pixel after the time its job should have been done, including pixels' noise components.

You know what really loves per-pixel noise component statistics like these? Deconvolution regularization algorithms! A regularization algorithm suppresses the creation of artefacts caused by the deconvolution of - you guessed it - noise grain. Now that the deconvolution algorithm knows how noise grain will propagate in the "future", it can take that into account when applying deconvolution at the time when your data is still linear, thereby avoiding a grainy "future". It is like going back in time a week and telling yourself the lottery numbers to today's draw.

What does this look like in practice? It looks like a deconvolution routine that just "magically" brings into focus what it can. No local supports, luminance masks, or selective blending needed. No exaggerated noise grain, just enhanced detail. And that's just what Tracking does for the deconvolution module. There are many more modules that rely on Tracking in a similar manner.


TL;DR

In StarTools, your signal is processed (read and written) in a time-fluid way. Being able to change the past for a better future not only gives you amazing new functionality, changing the past with knowledge of the future also means a cleaner signal. Tracking always knows how to accurately estimate the noise component in your signal, no matter how heavily modified.


Success

Thank you!

We have received your message and will be in contact shortly.

×