I am happy to let you all know that PixInsight 1.8.5 has just been released. A lot of hard work has been put into it, making 1.8.5 the best version we have developed so far.
Installation packages are now available to all licensed users for Linux, macOS and Windows on our software distribution system:
https://pixinsight.com/dist/New FeaturesWith PixInsight 1.8.5 we have had a strong focus on performance and stability. This version also comes with new tools and features, and an enormous amount of work done with our C++ and JavaScript development platforms, to establish solid foundations for the numerous development projects that will start in September.
Here is a reduced, non-comprehensive list with some important changes in PixInsight 1.8.5:
* New installer packages for macOS and Windows. For macOS, now we have a custom
Installer package. For Windows, we have a completely redesigned installer application that registers PixInsight as the application to open .xisf, .xosm, .xpsm and .psm files. As has always been the case for Linux and Windows, installing PixInsight on macOS requires administrative privileges. All executable files in the PixInsight distribution, including the installer packages, have been digitally signed on macOS and Windows. On Windows, an
Extended Validation (EV) certificate has been used.
* Core application developed and built with the latest Qt 5.9 version on all platforms. Latest versions of the LittleCMS engine, cURL, LibTIFF, JPEGLib, etc.
* New incremental project writing feature. Basically, when you save (rewrite) an existing project, only the block files corresponding to modified images and image states are written to disk. Unmodified blocks are left intact and just renamed for project security purposes. This makes saving big projects orders of magnitude faster than before. This has been a very necessary improvement for a long time, and is now implemented and working in version 1.8.5.
* New Recently Used and Most Used categories in Process Explorer. Both lists are generated and updated in a completely automatic fashion. There are specific items in Preferences to control this functionality.
* New drag and drop functionality implemented in all tools. For example, now you can drag a file selection to the list of input files in ImageIntegration, including images and .xdrz files. Or you can drag a folder and the tool will find all relevant files automatically. Do this with the Ctrl(Cmd) key pressed and all files will be searched recursively. You can also drag a file to StarAlignment's reference image field. And so on... Of course, this works nicely with File Explorer.
* New view drag and drop functionality. The same as above, but dragging a view selector anywhere a view is required throughout the entire platform. For example, drag a preview selector to the ROI section of ImageIntegration and its coordinates will be selected automatically. Ctrl(Cmd)-click and drag to select a view without making it the active view of its parent image window.
* FileExplorer has a new Reload button that reloads data from the relevant section of the file system, in case some files change in size (which cannot be always monitored automatically), or if you are exploring network drives, which usually don't refresh automatically. This, along with the new file drag/drop functionality and the possibility to filter file selections easily with wildcards, makes File Explorer the perfect choice to select files in PixInsight.
* FileExplorer uses the WebP image format to generate its cache of image thumbnails. This provides support for image transparencies through alpha channels and can save up to a 50% of disk space.
* Added support for the
WebP image format (read/write). This initial implementation of the WebP format is a relatively basic one. Color profiles are still not supported, but I plan on writing a separate, feature-rich WebP module later this year.
* The FormatExplorer window provides complete information on file format hints for all supported formats. Select a format on the left panel, then double-click the "implementation" item.
* New user-definable wallpapers, selectable for each workspace. There are specific options in Preferences to customize workspace wallpapers, including the possibility to define your own images. The default set of wallpapers consists of 10 SVG images with PixInsight's "pixelon" logo.
* Completely rewritten SVG support. This version of PixInsight has one of the best and most complete SVG rendering engines, based on Chromium's SVG implementation. This improvement is a fundamental building block of the graphics capabilities being implemented in the next generation of PixInsight tools. LocalNormalization (see below) is a good example.
* Gnuplot version 5.0.6 integrated in all standard distributions. It is on the bin installation directory and can be invoked from PCL and PJSR code to generate graphs in SVG format. Again, LocalNormalization makes an excellent use of this integration.
* New XML-based drizzle data format (.xdrz files) with LZ4 real-time compression, which replaces the old .drz format. ImageIntegration and DrizzleIntegration are still backwards-compatible with existing .drz files, but StarAlignment and ImageIntegration generate .xdrz exclusively.
* New XML-based local normalization data format (.xnml files) with LZ4 real-time compression. .xnml files are used by the LocalNormalization, ImageIntegration and DrizzleIntegration tools to implement local normalization for pixel rejection and integration output.
* DrizzleIntegration can now work with monochrome CFA frames directly. That is, Bayer drizzle is now supported directly without needing to create RGB Bayer images anymore. The BatchPreprocessing script has also been updated accordingly.
* New automatic Bayer pattern selection mode. For raw frames loaded from DSLR raw files (.cr2, .nef, etc.), Debayer always knows the Bayer pattern that has to be applied automatically. The same applies to DrizzleIntegration in CFA mode. Obviously, this does not work for FITS frames, since FITS has no standard way to store CFA pattern information.
* The Debayer tool can now work in batch mode with
high level parallelization. This fixes the last bottleneck that was remaining in our preprocessing pipeline. Debayer runs now much faster, and its performance scales almost linearly with the number of processor cores available. Naturally, the BatchPreprocessing script makes use of this feature.
* Added support for nonstandard CFA patterns. Besides the new "Auto" mode, the Debayer tool supports the following patterns: RGGB, BGGR, GBRG, GRBG, GRGB, GBGR, RGBG, BGRG.
* New
PhotometricColorCalibration (PCC) tool. Simply put: you're gonna love it!
* New LocalNormalization (LN) tool. This tool implements a new multiscale local normalization algorithm of our own design. LN deserves a separate description with examples, which I'll publish over the coming days. LocalNormalization is tightly integrated with the ImageIntegration and DrizzleIntegration tools, both for pixel rejection and integration output normalization.
* New large-scale pixel rejection algorithm implemented in ImageIntegration. No more plane and satellite trails in your integrated images. No more star trails on your sky flats. Large-scale pixel rejection is also available for integration of sky flats in BatchPreprocessing.
* The DynamicCrop tool has a new 'preserve aspect ratio' feature to resize the cropping rectangle. Just press Ctrl(Cmd) while you drag from a corner or side of the cropping rectangle and its proportions will be preserved.
* All "Output extension" interface options have been removed. This is because some current and most future improvements and new features will depend on image properties that can only be serialized with the XISF format. As you know, the FITS format has been deprecated in PixInsight about two years ago. During the 1.8.5 cycle, all dependencies on FITS header keywords will be removed in all standard modules and scripts. The output extension parameters are still available but only by editing instance source code.
* The Matrix, Vector, ByteArray and Image core JavaScript objects can now be constructed from and transformed to JavaScript typed arrays, such as Float32Array, Float64Array, Uint32Array, etc. The Math core object also has extensive support for typed arrays. This allows for dramatic performance improvements in scripts because typed arrays allow for much faster access to container elements (for example, to individual pixels, or matrix elements) than native implementations.
* New script execution capabilities implemented in PCL. Basically, now you can execute and evaluate arbitrary JavaScript source code from C++ (subject to security constraints, obviously). This makes possible writing hybrid modules that can reuse and extend the functionality of existing scripts. A good example is the new PhotometricColorCalibration tool, which makes use of plate solving and photometric analysis scripts integrated in the standard PixInsight distribution.
* New
WebView PCL and core JavaScript objects. WebView is a specialized control with full HTML 5 support and an integrated V8 JavaScript engine. It can be used to add interactive graphics functionality to any PixInsight tool. You'll see it in action in PhotometricColorCalibration.
* New Compression core JavaScript object. This is the JS counterpart to the
Compression PCL class, along with
ZLibCompression,
LZ4Compression and
LZ4HCCompression.
* The
Dygraphs JavaScript graphing library is now part of the standard PixInsight distribution (please see the
demos). PCC uses this library along with WebView to generate interactive scatter plots. It is on the src/scripts/Dygraph distribution directory.
* Comprehensive set of
Astrometry C++ classes integrated in PCL, contributed by PTeam member Andrés del Pozo.
* Support for generation and deployment of analytic telescope pointing models in the INDIClient module. This is a nice implementation written and contributed by PTeam member Klaus Kretzschmar.
* The
ColorMask script, written by PTeam member Rick Stevenson, is now part of the official PixInsight 1.8.5 distribution.
* Thousands (literally) of bug fixes and lots of performance and stability improvements accumulated during more than one year of development.
I would like to express my gratitude and appreciation to all the people who have helped me in testing and evaluating this new version, as well as to the developers who have contributed to make it possible with their excellent work and continued support. This includes a lot of users and members of this forum, but very especially the following members of our development and testing group: Alejandro Tombolini, Andrés del Pozo, Enzo de Bernardini, Georg Viehoever, Harry Page, Klaus Kretzschmar, Mike Schuster, Mike Smythers, Niall Saunders, Sander Pool, Rob Pfile, Rick Stevenson, Mark Shelley, and Vicent Peris.
Known Problems* On macOS, a long-standing,
unresolved Qt bug, which has become an important regression in Qt 5.9, has forced me to change the way drag items are moved on the workspace. You'll notice that icons, view selectors and other drag items are now moved to the right side of the mouse cursor while they are being dragged. This is ugly but you'll become accustomed. For now, it is what it is.
* On macOS with Retina displays, the History Explorer window may show some screen rendering issues. This is just a small cosmetic problem without further consequences.
* On Windows 10 with high-dpi 4K and 5K displays, the main menu does not work well when the main application window is shown in full screen mode. I'll fix this issue in the next version.
* On Windows, we have seen a very strange behavior on a small Dell laptop with a high-dpi 4K screen, when the Process Explorer window is extended to show the web browser component, and the main application window is maximized. When this happens on this laptop, the main menu disappears 'mysteriously'. The issue is consistently reproducible on the machine in question, but otherwise 1.8.5 works perfectly. In the unlikely event that this happens to you, just keep Process Explorer collapsed and read documentation on an external browser. I'll try to understand and fix this problem ASAP.
* The existing reference documentation is now largely obsolete for many tools, especially for the ImageIntegration and StarAlignment tools. I am conscious of this serious problem and will try to rewrite most of these documents as soon as possible, along with writing new documentation for more tools, as possible.
Future DevelopmentMany exciting new development projects will start in September. Among many others great things, you can expect the following to happen in approximate chronological order:
* A rewritten StarAlignment tool, including a new, much more accurate and efficient distortion correction algorithm, and a redesigned user interface.
* An astrometry-based mosaic generation tool with integrated multiscale subband blending of mosaic frames (seamless mosaics, not only in terms of local brightness/contrast, but also in terms of texture).
* DynamicBackground, the successor to DBE. A completely redesigned background modeling tool, much more accurate, much more versatile, and easier to use.
* Exciting new features will be added to the PhotometricColorCalibration tool, which will change the way you think about color in astrophotography.
* More features, including new PSF modeling functions, will be added to the DynamicPSF tool.
* Significant improvements to the Script Editor component.
* New astrometry-based functionality implemented in the PixInsight core application.
* A new, faster and up-to-date JavaScript engine integrated in the core application.
* A C++ compiler integrated with the PixInsight core application.
* A new open-source software distribution model. As most of you know, we already have a significant amount of open-source image processing and development tools available at our
official GitHub repositories. Our C++ and JavaScript development platforms are completely open-source under
PCL license (a BSD-like license). My intention is to release all standard PixInsight tools as open-source products in the short-medium term, to include all of them in our GitHub repositories. I am firmly convinced that opening such a significant part of our code base is the best way to build up a dynamic software development community around PixInsight, which ultimately is the only way to ensure the brilliant and evolving future that the PixInsight project requires and deserves.
I hope you'll enjoy this release. Thank you for your attention and continued support.