Over the past few years, we've been seeing an increasing number of veteran PixInsight users move to StarTools for their post-processing.
Thank you all! It's a big endorsement of StarTools' philosophy on signal processing, signal fidelity, data/input mining and its approach to user interfaces.
If that sounds rather strange to you, this short video explains why StarTools signal processing engine yields superior signal fidelity compared to traditional software like PixInsight and Photoshop, and why StarTools tends to attract signal processing purists. You can read more here.
For you newcomers as a quick-start, I thought I'd try to 'translate' to the best of my abilities PixInsight's modules and filters, into their StarTools equivalents. You may also find this useful if you're contemplating going the other way and you're curious about PixInsight and wish to give their 45-day trial a spin. While I (and as it seems many others) have strong views on their ageing linear engine/algorithm design and object oriented UI, PI's excellent pre-processing (stacking) and plate-solving capabilities are worth the price alone.
As opposed to the moderators of the PI forums, we encourage discussing and trying other software. It helps us learn and relate to all the different, fundamental facets of processing, which is a good thing. In particular, it is useful to understand algorithms in their isolated, basic form, so that it is possible to understand how StarTools improves on them by introducing signal evolution Tracking.
If you're coming from post-processing in PixInsight, then there are a number of important things that are different/new in StarTools;
- Signal evolution 'Tracking' plays an extremely important role in StarTools. StarTools performs temporal processing, whereas more basic applications like PixInsight perform spatial processing only. This makes workflows much less linear and allows for StarTools' engine to "time travel" between different versions of the data as needed. This also lets the engine insert modifications or consult the data in different points in time as needed ('change the past for a new present and future'). It is the primary reason for the lower noise and improved detail in the StarTools engine's output. It is also the reason why there is no difference between linear and non-linear data in StarTools. Finally, it is also why you can do things in StarTools that are otherwise very destructive (like deconvolution after stretching your data) in PixInsight. If you're not familiar with Tracking and what it means for your images, signal fidelity and simplification of the workflow & UI, please do read up on it! A 2021 video presentation is also available on the subject.
- StarTools' philosphy is to "do it objectively right the first time", rather than offering many, less sophisticated tools that correct/undo each other’s behavior or modifications.
- StarTools is able to process luminance (whether synthetic, real or a combination thereof), chrominance (color), and narrowband accent data in parallel. Apart from important enhancements in signal fidelity, this means that processing luminance, chrominance and any narrowband accents separately (and combining afterwards) is no longer required, nor considered best practice. (video examples here and here).
- The time-shifting freedom Tracking affords, makes some operations best applied at entirely different times than you might be used to;
- Noise reduction is always applied at the very end of your processing when switching Tracking off. This way, StarTools has had the longest time to monitor noise propagation throughout your processing decisions.
- Color calibration can be applied at any time, but is preferably applied at the end of your processing, as StarTools is able to completely negate the adverse effects of stretching (global and local). This yields perfect color constancy (e.g. no hacks or scripts such as 'Repaired HSV Separation' are necessary).
- As of the 1.6 alpha versions, extensive support for narrowband coloring schemes, means you can completely change the color presentation of your narrowband composite with a single click at any time during your processing, without having to re-composite.
- Deconvolution is preferably applied far into your workflow, after stretching and local detail enhancement. This is because, as of 1.6, Decon takes into account how signal has evolved in the stretched data when performing regularization of the linear equivalent.
- Traditional histogram stretching and white/black point setting is completely abstracted away. StarTools considers such tools sub-optimal and archaic approaches to image processing. You control a global dynamic range allocation optimisation algorithm (AutoDev) instead. Getting a handle on AutoDev is particularly important to get the superior results from StarTools.
- Many tools may appear simpler but, in reality, are more powerful. Data mining and analysis does away with parameters that can be objectively determined. Derivatives of parameters that you already specified in other modules earlier are used whenever possible. As such, truly destructive settings are neigh-impossible to achieve (for example StarTools refuses to clip your data) and objectively optimal constraints are automatically determined from prior input or robust statistics. Luminance masks or local supports are automatically generated and updated as needed without user intervention - the application automatically keeps the necessary statistics and image versions/instances available at all times (Tracking).
- StarTools does not treat processing as a linear, object-oriented process (e.g. an implied collection of independent processes), because optimal astronomical image signal processing emphatically is not a linear, nor independent process. In StarTools, as long as Tracking is on, processing steps depend on each other and reuse each other's data, statistics and previous user settings. StarTools is all about refinement and shaping of data, where you revisit, rather than reapply modules. A linear, object oriented approach is therefore not possible or even desirable if signal fidelity, noise mitigation and ease of use - as a side effect - are paramount. As such you will not find the equivalent of 'process containers', undo histories or similar in StarTools. Instead you'll find a single undo buffer and a 'Restore' button, which will let you negate the contributions that certain operations made to the currently visible end result, regardless of sequence. Processing sessions in StarTools are very short as a result; it is a converging process and "overcooking" an image (aka "just-one-more-tweak-syndrome") is not a problem or consideration in StarTools.
- While some prefer scientific purity of an image (the author included), others like to emphasize aesthetics. StarTools does not try to prescribe what is "right" or "what" is wrong in this regard. As such StarTools contains tools like the Heal Module, the Synth module, the Life(<1.7)/Super Structure(1.7+) module, the 3D Stereo module (and others) that can be (ab)used by the user to make educated guesses about what plausible data would look like, based on what is already in the image and based on what the user knows is definitely not in the image. Contrary to PixInsight, we take no stance in what should or should not be allowed by including or excluding these tools in the software. Some people like to be able to remove dust donuts or fix CCD blooming issues. Some people like diffraction spikes on their stars, some people don't like stars at all. You decide. However, we ask you to be upfront about any such manipulations when presenting your image to your peers as well as your audience.
- Finally, StarTools, as of 1.7 makes full use of GPU acceleration where possible.
This YouTube video shows a simple standard workflow. You will notice that virtually all workflows (even for complex composites such as LLSHO, HOO, etc.) follow the following general order;
- Load the data (using Open or Compose), indicate it is still linear (this switches signal evolution Tracking on).
- AutoDev to see what we have got to work with.
- Remove stacking artifacts with Crop
- Fractionally Bin the data with Bin if 1 unit of detail does not fit in 1 pixel until it does (or leave some oversampled data for deconvolution if desired, and if noise levels allow).
- Wipe away light pollution gradients and signal bias (masking out severe defects if needed).
- Redo Develop/FilmDev (for film emulation) or (more common) AutoDev for final global stretch.
- Use Contrast (for medium-large) and HDR for (medium-small) local dynamic range optimization
- Use Sharp (Multi-scale per-pixel SNR aware sharpening)
- Color calibration with the Color module
- Switch tracking off for final noise reduction.
|ABE||Wipe||Using Wipe without a mask functions similar to ABE - a gradient/bias model is created based on all pixels in the image.|
|DBE||Wipe||Using Wipe with a mask functions roughly similar to DBE, with the important distinction that instead of sample-setting (guessing where background is), you are sample-revoking (with certainty specifying where background is not). If a large area of the image is covered by a DSO or nebulosity, it is recommended to mask out this DSO or nebulosity, as Wipe may include aspects of the DSO or nebulosity in the background/bias model in extreme cases.|
|BackgroundNeutralization||Wipe||At the same time Wipe flattens the field and removes gradients, Wipe also calibrates the background and removes bias in the color channels. Note that this does not necessarily mean that the background becomes a nice neutral grey. Rather it makes sure that the background is luminance bias-free across all color channels. Subsequent color calibration will modify and neutralize the chrominance (color) information.|
|CanonBanding||Wipe||Wipe is a comprehensive synthetic calibration tool that treats synthetic calibration as the integrated whole it is in signal processing, including synthetic darks, synthetic bias (banding, amp glow) and synthetic flats (vignetting) functionality.|
|AssistedColorCalibration||Color||While in PixInsight it is mandatory that color calibration is performed on the linear data at the start, color calibration in StarTools may be performed at any time, preferably closer to the end of your workflow. This is to achieve pure, more scientifically correct color constancy (a more 'compromised' PixInsight style of coloring is also selectable if you're feeling nostalgic). As opposed to PixInsight, manufacturer-specific DSLR camera matrices are supported as of 1.6.|
|Repaired HSV Separation||Color||see above, (StarTools retains color information, rather than trying to recover it from neighboring pixels)|
|AutoHistogram||Develop/FilmDev||Develop/FilmDev automatically sets the white and black point.|
|AdaptiveStretch, MaskedStretch||AutoDev||StarTools employs an enhanced (and much faster) algorithm that yields optimal global dynamic range assignment (without masking artifacts), while being easier to control. Noise may be rejected for optimisation and a Region Of Interest may also be specified.|
|HistogramTransformation||osbsolete||In StarTools histogram transformations for global dynamic range assignment are considered obsolete and sub-optimal tools. Use AutoDev and Develop/FilmDev instead and optimize local dynamic range subsequently with Contrast, HDR and Sharp.|
|ArcsinStretch||osbsolete||In StarTools, color is restored independently by the Color module and no limiting, color-preserving stretches are needed.|
|ScreenTransferFunction||osbsolete||In StarTools the distinction between linear and non-linear data does not exist. Use Develop/FilmDev or AutoDev to redo your stretch as many times as you like.|
|LocalHistogramEqualization||HDR, Contrast, Sharp||LocalHistogramEqualization results can be approximated with the more flexible HDR, Contrast and Wavelet Sharpen modules.|
|MultiscaleLinearTransform, ATrousWaveletTransform, MulitscaleMedianTransform||Sharp||In StarTools Sharp does not clip or ring, allows control over interscale-fighting and does not exacerbate noise by being entirely noise-aware.|
|HDRWaveletTransform, CLAHE||Contrast, HDR||In StarTools, Contrast nor HDR clip the image and work locally instead of globally, leading to more optimised results.|
|GradientHDRComposition||Layer||The Min Distance to 1/2 Unity and Max Contrast filters in the Layer module will create High Dynamic Range composites from 2 images with different exposure lengths.|
|RangeSelection||Mask (Auto)||In StarTools the Mask editor's 'auto' feature allows for a great variety of automated ways of selecting pixels, including range selection and multi-step mask addition/overlaying.|
|ChannelExtraction||Compose||The Compose module performs channel extraction and even interpolation and re-weighting into new luminance masters.|
|ChannelCombination, LRGBCombination, NBAccent||Compose, Color||In StarTools the Compose module stays active in the background, allowing StarTools to process luminance and chrominance data separately, yet in parallel. The Color module as of 1.6 allows for complete change of color presentation at any time, without having to re-composite. As of 1.8, narrowband accents are processed in the same workflow in parallel, and are added via the dedicated NBAccent module.|
|Morphological Filters||Layer, Shrink||See 'filter type' parameter for a large selection of different filters in the Layer module. The Shrink module implements two AP-specific enhanced versions of the minimum filter specifically for the purpose of manipulating stellar profiles.|
|StarNet++||Starnet++, Shrink, Heal+Mask, Super Structure||Depending on the reason for wishing to use StarNet++, the software can be used standalone in conjunction with StarTools (for example like so), however for most purposes dedicated modules that solve specific problems in StarTools should yield better results without the "Deep Dream" artifacts that StarNet++ introduces.|
|PixelMath||Layer, Color||In StarTools, pixel math is performed in the Layer module by means of graphical user interface. A huge range of operations is selectable, while multiple operations can be chained by means of a buffer. Pixel math for the purpose of compositing narrowband images is performed by the Color module as luminance (detail) and chrominance (colour) is processed and composited separately at different, more optimal times.|
|Deconvolution||Decon, SVDecon||In StarTools, deconvolution is noise-aware and its regularization takes into account how you processed the image. As such, deconvolution is preferably applied towards the end of your processing flow. Decon is fully multi-threaded and renders previews in near-real-time. It is fully GPU accelerated as of 1.7. Applying deconvolution is always recommended in StarTools even with marginal data, whereas in PixInsight it is usually not recommended by the author. As of 1.8 StarTools offers Spatially Variant PSF deconvolution (aka 'adaptive kernel' or 'anisotropic' deconvolution). This fully models how the Point Spread Funciton in your image changes across the image, rather than using a one-size-fits all approach.|
|ACDNR, TGVDenoise||Denoise, Denoise 2 (<1.7), Unified Denoise (1.7+)||In StarTools, noise reduction is applied at the very end when Tracking is switched off. Due to StarTools' noise evolution Tracking noise reduction will much more targeted than any particular 2D noise reduction routine or combination thereof. No (sub-optimal) luminance masks or local supports are required. Dedicated walking noise reduction is part of Denoise as of 1.7.|
|MUREDenoise||obsolete||Noise reduction at the linear stage is considered sub-optimal in StarTools, as noise grain visibility is dependent on how an image is processed.|
|Star De-emphasis (Adam Block)||Super Structure (DimSmall and Isolate)||The Super Structure module's DimSmall and Isolate presets pushes back busy star fields, while keeping super structures intact. The Shrink module as of 1.7 allows deep control over stellar profiles.|
Welcome to the StarTools community and I hope you find this useful in your quest for a better image! Do let me know if anyone would like to see more/different info here. This post will be updated as required.