I am glad to announce that PixInsight 1.8.8 has been released today. This version is a new milestone in the history of PixInsight, with important new features and a strong focus on stability and performance. It is the result of an intense research and development work carried out during the last months. Expect much more during the months ahead.
Installation packages for PixInsight 1.8.8 are now available to all licensed users for FreeBSD, Linux, macOS and Windows:
https://pixinsight.com/dist/This version is a major update that you have to install manually. It is not available as an application update.
If you have version 1.8.6 or 1.8.7 already installed, this new version does not require a license reactivation. If you are still using a 1.8.5 version or older, see the
official 1.8.6 version announcement for a detailed description of our new licensing system. See also
FAQ 2.10 for additional information on license reactivations.
New FeaturesHere is a brief list with the most important changes and new features implemented in PixInsight 1.8.8.
Improved Real-Time PreviewThe Real-Time Preview interface has been largely redesigned and reimplemented in version 1.8.8 of PixInsight. You can now zoom the real-time preview image by clicking and dragging with the mouse to define a rectangular selection. This can be done in
Select Preview mode (click the concentric squares button), or directly by clicking the middle mouse button and dragging.
You can navigate through a chain of successive zoomed previews with the
Next Preview,
Previous Preview and
Full Preview buttons. Finally, you can adjust the size of the real-time preview window to fit the current image automatically by clicking the
Fit Preview button. The rest of real-time preview features and functions are basically the same as in previous versions.
Besides new user interface features, the Real-Time Preview interface is now faster, more accurate and reliable with all tools currently implementing real-time preview functionality.
New Pixel Rejection Algorithm: Generalized Extreme Studentized Deviate (ESD)The ImageIntegration tool implements a new pixel rejection algorithm:
Generalized Extreme Studentized Deviate (ESD) Test, or
ESD rejection for short. This is an implementation of the method described by Bernard Rosner in his 1983 paper
Percentage Points for a Generalized ESD Many-Outlier procedure, adapted to the image integration task. The ESD algorithm assumes that each pixel stack, in absence of outliers, follows an approximately normal (Gaussian) distribution. It aims at avoiding
masking, a serious issue that occurs when an outlier goes undetected because its value is similar to another outlier. The performance of this algorithm can be excellent for large data sets of 25 or more images, and especially for very large sets of 50 or more frames. I have seen very good results in some of our tests for more modest sets of 12-15 images.
ESD rejection takes just two parameters:
Expected maximum fraction of outliers. For example, a value of 0.2 applied to a stack of 10 pixels means that the ESD algorithm will be limited to detect a maximum of two outlier pixels, or in other words, only 0, 1 or 2 outliers will be detectable in such case. The default value is 0.3, which allows the algorithm to detect up to a 30% of outlier pixels in each pixel stack.
Significance level. This is the probability of making a Type I error (false positive), or the significance level of the outlier detection hypothesis test. For example, a significance level of 0.01 means that a 1% chance of being wrong when rejecting the null hypothesis (that there are no outliers in a given pixel stack) is acceptable. The default value is 0.05 (5% significance level).
The
documentation of the R implementation of this algorithm provides interesting information with the results of 10,000 simulations for different data sets and parameters. I'll describe this algorithm in detail, including our implmentation and its advantages for the image integration task, in the release information board of this forum during the coming days.
PixelMath: New Functions and FeaturesThe following PixelMath functions have been implemented in version 1.8.8 of PixInsight:
range( x, a, b )x constrained to the [a,b] range:
Returns x if x >= a and x <= b
Returns a if x < a
Returns b if x > b
rescale( x, a, b )x rescaled linearly from the [a,b] range to [0,1]:
Returns 0 if x < a or b - a is zero or insignificant.
Returns 1 if x > b
Returns (x - a)/(b - a) if x >= a and x <= b
a and b are swapped internally (and transparently) if b < a.
gauss()Normal (Gaussian) random deviate with zero mean and unit standard deviation. A typical application of this function to add normal distributed noise to the target image is:
$T + k*mdev( $T )*gauss()
where the median absolute deviation from the median (MAD), multiplied by an optional amplitude parameter k, defines the standard deviation of additive noise adaptively.
poisson( x )Random Poisson deviate for the specified pixel value x. A typical application of this function is:
poisson( 65535*$T )/65535
which will generate Poisson noise for the current pixel value in the [0,1] range, simulating a 16-bit detector of unit gain.
studentt( degreesOfFreedom )Random deviate from a Student's t distribution with the specified degrees of freedom, which must be > 0.
chisq( degreesOfFreedom )Random deviate from a chi squared distribution with the specified degrees of freedom, which must be > 0.
gamma( shape[, scale=1] )Random deviate from a Gamma distribution with the specified shape and (optional) scale parameters. If not specified, the default scale is 1.0.
PixelMath commentsThe PixelMath language supports now C-style comments with the '/*' and '*/' delimiters. This is very useful when one wants to document briefly the PixelMath expressions, or to try out several function parameters or subexpressions without having to create temporary process icons. For example, the following expression can be used to combine two images selectively:
iif( $T < k, $T + (1 - k)*A, $T )
If one wants to check which areas of the target image will be combined with pixels from A, a comment can be used as follows:
iif( $T < k, 1/*$T + (1 - k)*A*/, $T )
which will replace all target pixels less than k with white temporarily. After finding a good value for k in this way, the comment can be removed to apply the actual PixelMath transformation.
Improved Blink ToolBlink is now faster and more reliable. Besides important improvements in its graphical interface, Blink implements now a fully parallelized statistics calculation procedure. On machines with a reasonable number of CPU cores, Blink's automatic histogram transformation is orders of magnitude faster than before. The same applies to the series analysis report.
PixInsight Platform: Improved Multithreading PerformanceIn this version we have reimplemented a significant part of our code base to improve performance of multithreaded code. The improvement is especially relevant for machines with many cores running CPU-intensive tasks. See for example these benchmarks performed on the same workstation:
http://pixinsight.com/benchmark/benchmark-report.php?sn=4ON47FRJB0NF090S421V1LHNH2B6O9EWhttp://pixinsight.com/benchmark/benchmark-report.php?sn=2BEVIS11SHGMU7F0774YJ3HTN4YH1MDVBesides the difference in the amount of installed RAM, which is not relevant in this case, the machine is the same in both benchmarks: AMD Ryzen Threadripper 2990WX with 64 or 128 GiB of RAM (DDR4 UDIMM ECC 2666 MHz). With 32 physical cores and 64 threads, this machine shows a performance improvement close to a 10% in version 1.8.8 with respect to versions 1.8.6 and 1.8.7 (CPU performance indexes of 25087 and 22844, respectively).
PixInsight Platform: Improved Project ManagementBundled PixInsight projects (.pxiproj file suffix) can now be freely renamed without breaking their functionality. Of course, existing projects will work flawlessly and will be converted to the new format transparently when rewritten with the File > Save Project command.
Besides this, loading projects is now faster and the image reading tasks are now more responsive and provide more feedback on the process console.
PixInsight Platform: New Hack FontThe
Hack font has replaced
DejaVu Sans Mono as the standard core manospaced font on all platforms. Hack provides better screen legibility for source code and pixel readouts.
PixInsight Platform: New Pseudo-Random Number GeneratorsSince version 1.8.8 of PixInsight we use exclusively
xoshiro256** and xoroshiro1024** PRNGs (XOR/shift/rotate and XOR/rotate/shift/rotate, respectively) on the entire PixInsight/PCL/PJSR platform. Previously used Marsenne Twister and xorshift generators have been deprecated, although they are still available for compatibility.
PixInsight Platform: Support for Bitmaps Larger than 2 GiBBitmap objects (available on the PCL and PJSR development environments) can now be larger than 2 GiB. This includes pixel data allocation and direct pixel access, along with the entire drawing capabilities of our Graphics and VectorGraphics objects. This overcomes an important limitation present in core versions 1.8.7 and older.
Updated Third-Party Support LibrariesPixInsight 1.8.8 includes the following updates to critical support libraries:
* The RAW format support module integrates the latest
LibRaw 201910 snapshot version. This means that we now support
Canon CR3 raw files, among many other new camera raw formats and other improvements.
* Core application built with the latest
Qt version 5.13.2. The core PixInsight 1.8.8 application uses the latest version of the
Qt library (as of writing this) on Linux, macOS and Windows. We are still using Qt 5.12.2 on FreeBSD, but this will change as soon as possible.
Bug FixesPixInsight 1.8.8 fixes all confirmed bugs detected since the last 1.8.7 release, with a unique exception: a
complex bug involving the PixelMath and Statistics tools, which still is present in this version. I'll try to fix this problem as soon as possible with an update to the core application.
Known ProblemsFreeBSD* Recent versions of the KDE Plasma desktop environment include a
morphing popups desktop effect that causes problems with recent PixInsight versions. If this effect is enabled, it slows down some dragging operations in the PixInsight core application, such as dragging icons and view selectors. You should disable this effect, which is very easy from KDE's System Settings panel. This problem is also present on Linux.
Linux* PixInsight is not compatible with the open-source Nouveau graphics driver. If your distribution is using Nouveau, you must remove and replace it with the proprietary Nvidia driver in order to use PixInsight.
* The same problem with KDE's
morphing popups desktop effect exists on FreeBSD and Linux (see above).
macOS* On Apple laptops with dual graphics cards, the integrated Intel graphics driver causes problems with recent versions of PixInsight. If you use one of these laptops, we recommend you disable the
Automatic graphics switching option on System Preferences (Energy Saver section) before running the PixInsight core application. Otherwise you may experience some interface usability problems.
Windows* There are problems with Intel graphics drivers on machines where the only graphics card available is an integrated Intel HD graphics GPU. This mainly affects laptops. This does not mean that PixInsight cannot work on these machines, just that you can expect screen rendering and usability issues. Unfortunately, there is nothing I can do to solve these problems, for now.
* On some laptops with nonstandard screen resolutions, such as the Microsoft Surface, PixInsight cannot find valid screen scaling factors automatically. On these machines, you may have to run the PixInsight core application with the --ui-scaling command line argument. For example, to apply a UI scaling factor of 2:
C:\Program Files\PixInsight\bin\PixInsight.exe --ui-scaling=2
You only have to do this once, since the scaling factor will be stored in application preferences automatically. Of course, if you already are using version 1.8.6 and the interface looks correct, then you don't need to do this; this is only required for new installations.
* The Export as PDF feature of the integrated web browser component does not work on Windows. I'll try to fix this in a future release.
Recommended Platforms and Supported Operating SystemsThe reference implementations of PixInsight 1.8.8, where you may expect the maximum performance and best user experience, are the FreeBSD and Linux versions. Currently our primary development platforms are:
-
Kubuntu Linux 18.04 LTS-
FreeBSD 12.0On FreeBSD and Linux we strongly recommend running PixInsight on the KDE Plasma desktop environment. PixInsight 1.8.8 has been tested on the following Linux distributions:
Kubuntu 18.04 LTS
Kubuntu 19.04
Fedora 29
Fedora 30
Linux Mint 19.1
PixInsight 1.8.8 for Linux requires GLIBC 2.27 or a newer version.
PixInsight 1.8.8 for macOS is only compatible with macOS 10.12, 10.13, 10.14 and 10.15. Older versions are not supported. Our installation packages have been notarized by Apple.
PixInsight 1.8.8 for Windows is compatible with Windows 10 exclusively. Windows 8.1, Windows 7 and older versions are not supported. The application
may run well on Windows 7, but there is no guarantee.
Hardware Requirements: Breaking ChangesThe FreeBSD, Linux and macOS versions of PixInsight 1.8.7 and 1.8.8 require a processor with SSE4.2 instruction support.
Short-Term Development LinesDuring the next months we plan on releasing the following new products on the current PixInsight 1.8 platform:
* MosaicGenerator. An astrometry based automatic mosaic construction tool.
* DynamicBackground. An improved background modeling/correction tool, which will be the successor to the current DBE tool.
* A new tool (name still unknown) for astrometry based measurements, integrated with the core application.
* A new high-performance format for storage of large star databases. The Gaia DR2 catalog will be available for download as one of these databases. This will greatly improve all of our astrometry based tools, such as the ImageSolver script and the new MosaicGenerator tool, which will be able to work with local files without the limitations imposed by online services.
___________________
Thank you for your attention and continued support. Enjoy!