PixInsight 1.8.8-9 Released

Juan Conejero

PixInsight Staff
Staff member
Hi all,

I am glad to announce a new version of the PixInsight core application: 1.8.8-9. This is an important maintenance release providing bug fixes, new features and stability improvements on all platforms.

Installation packages for PixInsight 1.8.8-9 are now available to all licensed users for Linux, macOS and Windows:

https://pixinsight.com/dist/

As happens with all updates to the PixInsight core application, this version cannot be downloaded as an application update. You have to install version 1.8.8-9 manually:
  • Linux: The installation packages are xz-compressed tar archives (.tar.xz). To install one of these archives, just extract its full contents on any directory, preferably on one located under your home directory. Then become root and run the installer program from a terminal. Normally you should just type "yes" and press Enter to accept the default settings. Say './installer --help' for detailed information on command-line arguments.

  • macOS: If you have a previous version of PixInsight already installed, you must uninstall it by moving the /Applications/PixInsight folder to trash (also known as bin on macOS 10.15 and later). Run the .pkg installation package and follow the instructions. All our macOS installation packages are digitally signed with our corporate Apple developer certificate and have been notarized by Apple.

  • Windows: If you have a previous version of PixInsight already installed, please uninstall it using Control Panel or Add or Remove Programs. Then run the installation package for version 1.8.8-9 and follow the instructions. All executable files in the PixInsight distribution for Windows, as well as our installation packages, have been signed with our corporate Extended Validation (EV) code signing certificate.
If you have version 1.8.6, 1.8.7, or any 1.8.8-x version 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.


Main Improvements

This version is an important maintenance release focused on performance and stability improvements, paving the way towards PixInsight 1.8.9. Version 1.8.8-9 fixes all confirmed bugs since the previous 1.8.8-8 release and provides some relevant new features. A partial list follows with the most important changes.

Separate CFA Channel Alignment Feature

With this feature, which was initially suggested by John Pane on this forum, you can demosaic calibrated raw CFA frames as separate red, green and blue components. This allows you to register all channels in a data set as independent images with distortion corrections, which is useful to fix channel misalignments caused by optical defects, such as lateral chromatic aberration, and differential atmospheric dispersion. The general procedure is as follows:

Debayer
Version 1.8.8-9 includes a new version of the Debayer tool with a new output mode parameter that you can use to select the separate RGB channels option. When this option is selected, Debayer will write three files for each demosaiced frame with the _R, _G and _B suffixes, respectively for the red, green and blue channels of the demosaiced image. These files will contain new metadata items that the StarAlignment and DrizzleIntegration tools will detect automatically.​
StarAlignment
Now you should register all of the individual (demosaiced) channel images with respect to the same reference image, which should be one of the green channels since green has the highest SNR. Depending on your data, you'll probably have to increase the noise reduction parameter of StarAlignment (Star Detection section) to 2 pixels or more, since demosaiced channel data have quite low SNR in general, especially for the red and blue channels. Select the thin plate splines registration model and enable distortion correction. You normally can disable local distortion if your channel misalignment issues are not very strong. Of course, make sure that the generate drizzle data parameter is enabled.​
ImageIntegration
Integrate your red, green and blue channel images separately to generate the corresponding integrated channels. Make sure that you are updating the .xdrz files generated by StarAlignment.​
DrizzleIntegration
Select the .xdrz files for your red, green and blue channels to generate three separate drizzle integrations. Enable the CFA drizzle option. This will produce your three drizzle-integrated channels.​
ChannelCombination
Use this tool to combine the three drizzle-integrated or normally integrated images into an RGB color image.​

The use of noise reduction for image registration is crucial in this specific case to achieve an accurate distortion correction. This is because the high amount of noise present in each demosaiced channel image, especially in red and blue frames, prevents the accurate determination of centroid coordinates for each alignment star. The following screenshot compares the results of image registration applied to the following images:
  • RGB: Unaligned demosaiced CFA channels.
  • RGB_DC: Demosaiced CFA channels aligned with distortion correction and no noise reduction.
  • RGB_DC_NR: Demosaiced CFA channels aligned with distortion correction and noise reduction set to 2 pixels.
  • RGB_DC_NR4: Demosaiced CFA channels aligned with distortion correction and noise reduction set to 4 pixels.
The screenshot shows the DynamicPSF tool being used to estimate centroid coordinates for a moderately bright star near the bottom right corner of the image, where the channel misalignment issue is very evident. The RGB images used in this example are combinations of single demosaiced red, green and blue channels resulting from step 1 above, i.e. single images generated by the Debayer process.


(Click on the image to see a full-size version)

The separate CFA channel alignment feature involves critical changes to the Debayer, StarAlignment, ImageIntegration and DrizzleIntegration processes. With the only exception of Debayer, the rest of processes implement this feature in a completely automatic and transparent way. Special thanks to John Pane for suggesting this functionality and assisting us with testing and working data.

WeightedBatchPreprocessing Script version 2.2.0

With version 2.2.0 we have the new separate CFA channel alignment feature directly available in the Weighted Batch Preprocessing script. To implement this feature the script applies a series of process parameters that we have found to work well in most practical cases, removing the need to perform the entire channel demosaicing and alignment procedure manually, as described above, except for difficult data sets.

WBPP 2.2.0 also includes a long list of important bug fixes and improvements, which we prefer to describe in a dedicated announcement post. Once more we must point out the superb work carried out by Roberto Sartori and Adam Block, with the help of other PTeam members.

Other Improvements

Debayer. We have removed the Save/Load buttons since their functionality was not coherent with platform design guidelines. You can use process icons to save and restore different CFA settings and configurations.

CosmeticCorrection. We have implemented a robust trimmed average deviation from the median to improve reliability of this tool in AutoDetect mode. Previously a simple average deviation from the median was being used, which is a non-robust estimator of scale.

ImageCalibration. The default dark frame optimization window parameter has now a default value of zero, which means that entire frames are now used for dark frame optimization by default, for improved accuracy and robustness. Besides that, the dark frame optimization window parameter is no longer exposed on the tool's graphical interface. Previously this parameter had a default value of 1024 pixels, which was selected to limit noise estimation to a 1 Mpx square central region of the image, in order to accelerate the process. With today's common computing power this is no longer necessary. The same changes apply to the WBPP script, where we have removed the dark frame optimization window parameter since version 2.2.0.

PixelMath. The combine() generator has now a new op_atan2() operator. This feature has been suggested on this forum. The op_atan2() function represents a pixel wise arc tangent operation. Given two images X and Y, the expression:

combine( Y, X, op_atan2() )

will generate an image where each pixel will be equal to the arc tangent of y/x in radians, in the range [−π,+π], where y and x are, respectively, the corresponding pixels in the Y and X images. The signs of the arguments are used to determine the correct quadrant of the result. The generated image will always be in 64-bit floating point format.

JavaScript Runtime. A new method of the Image object is now available:

void Image.rotateUnclipped( Number angleRadians[, Number fill0[, Number fill1[, ..., Number fillN]]]] )
void Image.rotateUnclipped( Number angleRadians[, Array fillValues]] )

An unclipped rotation preserves the entire target image without clipping any pixels after rotating it. The unclipped rotation task doesn't have a rotation center parameter because it always rotates images with respect to their geometric centers. To accommodate all rotated pixels in the result, the unclipped rotated image will always be bigger than the original except for the trivial cases of rotations by 0 and 180 degrees.

PhotometricMosaic Script version 3.3.1, by John Murphy. See the dedicated forum thread.

NormalizeScaleGradient Script version 1.4.2, by John Murphy. See the dedicated forum thread.


Main Bug Fixes

Version 1.8.8-9 of PixInsight includes more than 100 bug fixes, most of them unnoticed by our users and hence unreported. Here are the most important bugs that we have fixed in this version:

Windows: silent crash on application exit. This bug was being caused by an incorrect finalization of the Chromium web browser component of the PixInsight core application. The bug was causing a crash each time the application was launched and terminated, fortunately without any consequences to the user. However, of course these crashes were being registered and could be reported by the Event Viewer application. This bug was only present on Windows, not on macOS and Linux. See one of the many bug reports.

Windows: RAW format support module unable to open files with non-ASCII characters in their file paths. This bug has been present in version 1.8.8-8 since the adoption of the latest LibRAW 202101-snapshot version. This bug was not present on macOS and Linux, and is now fixed on Windows. There are multiple reports and complaints about this bug, very especially from our Japanese, Chinese, Russian and French users, among many others. I apologize for the trouble.

Grayscale images were not being saved correctly as grayscale bitmaps in PNG format. This is now fixed. See the original bug report.

Rotation center coordinates wrongly applied by the pcl::Rotation class (C++), Image.rotate() method (JavaScript), and PixelMath's rotate() generator. This is now fixed and all of these functions work correctly. See the original bug report.


Breaking Changes

We always make big efforts to preserve backwards compatibility scrupulously in our development frameworks across successive versions of PixInsight. However, sometimes there are changes that are unavoidable and can generate problems with existing implementations. We have verified that the following change cannot cause any problems with the current source code pertaining to the official PixInsight 1.8.8-9 distribution (we already have implemented the necessary changes). However, we must inform about it because it could break unofficial third-party modules and scripts, although with very small probability. We apologize in advance for any possible trouble that this may generate.

pcl::Rotation class (C++) and PixelMath's rotate() generator: the meaning of center of rotation coordinates has changed. In previous versions the coordinates of the center of rotation were specified as displacements in pixels relative to the geometric center of the image. From now on the center of rotation is specified directly in the image coordinate system, where the origin is located at the top left corner of the image, and coordinates grow toward the right and bottom edges.


Updated Support Libraries

*
Qt updated to version 5.15.5 LTS on Linux, macOS and Windows.

* Clang version 12.0.5 with the macOS 11.3 SDK used for all macOS development.

* Microsoft Visual Studio 2019 version 16.11.2 used for all Windows development.


Recommended Platforms and Supported Operating Systems

The reference implementation of PixInsight, where you may expect the maximum performance and best user experience, is the Linux version. Currently our primary development platforms are:
On FreeBSD and Linux we strongly recommend running PixInsight on the KDE Plasma desktop environment.

PixInsight 1.8.8-9 for Linux requires GLIBC 2.27 or a newer version.

PixInsight 1.8.8-9 for macOS is only compatible with macOS 10.14, 10.15 and 11.x Big Sur. macOS 10.13 and older versions are no longer supported. All of our macOS installation packages are digitally signed with our corporate Apple developer certificates and have been notarized by Apple.

PixInsight 1.8.8-9 for Windows is compatible with Windows 10 exclusively. Windows 8.1, Windows 7 and older versions are not supported. The application might run on Windows 7, but there is no guarantee and please do not report problems on Windows 7 and Windows 8. All of our Windows installation executables have been digitally signed with our corporate extended validation (EV) code signing certificate.


Known Issues

FreeBSD and Linux
  • 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.

  • On recent versions of the KDE Plasma desktop environment, a display tearing prevention option (v-sync) is enabled by default. This option can cause input lag problems, such as slow cursor movement over image windows, with certain hardware configurations. If you experience these problems, this option should be disabled for optimal PixInsight performance:
    • System Settings > Display and Monitor > Tearing prevention: set to 'Never'
    • Click Apply
Linux
  • PixInsight is not compatible with the open-source Nouveau graphics driver. If your distribution is using Nouveau, you must remove it to use the proprietary NVIDIA driver in order to use PixInsight.

macOS
  • On Apple MacBook laptops with dual graphics cards,we recommend disabling the integrated Intel HD graphics adapter before running PixInsight for maximum performance and stability. This can be done very easily:
    • System Preferences > Energy Saver > Automatic graphics switching: disable.
Windows
  • 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 a version 1.8.6 or later and the interface looks correct, then you don't need to do this; this is only required for new installations.

Windows and macOS
  • There is a known bug in the Blink module that leads to a crash on Windows and macOS, but not on Linux. Steps to reproduce:
  1. Load some RGB color images into Blink
  2. Click on the 'Link RGB channels' icon in Blink
  3. Click on the 'Apply an automatic histogram stretch to all images' icon in Blink
  4. Click on the 'Link RGB channels' icon in Blink again
We are aware of this problem and will try to fix it as soon as possible. For now, just try to not repeat the above sequence of steps.

All Platforms
  • The StarNet module uses the TensorFlow library, which requires a processor with support of AVX2 and FMA instructions. This excludes very old machines with Intel processors released before 2013 and Apple machines with M1 processors (because the Rosetta emulator on macOS Big Sur does not support AVX2 instructions). The macOS installation package for version 1.8.8-9 includes a post-install script that will delete the StarNet module automatically when the host machine runs an ARM processor, so there should be no problems on Apple Silicon computers.

    UPDATEWe are receiving reports of Apple machines with M1 processors where the StarNet module is not being deleted automatically by the installer (probably because the system is not reporting the actual hardware architecture of the host machine to our post-installation script). In these cases you'll have to remove the StarNet module manually as described below. Sorry for the inconvenience.

    If you are using a vintage pre-2013 Intel processor, or if the StarNet module has not been deleted automatically on your M1 machine, PixInsight 1.8.8-9 won't work as it is installed by default. However, this problem is very easy to fix: just remove the StarNet module. Do the following:
Linux
Enter the following command from a terminal:
sudo rm /opt/PixInsight/bin/StarNet-pxm.so

macOS
Remove the following file:
/Applications/PixInsight/bin/StarNet-pxm.dylib

Windows
Remove the following file:
C:\Program Files\PixInsight\bin\StarNet-pxm.dll

In all cases you need administrative privileges to remove the required file, which you also need to install PixInsight. After this simple action, PixInsight will run without problems on your old machine.


—————————————

Thank you for your attention.
 
It is really great to see this renewed focus on the core functionality of PixInsight. Thank you for the updates. Is there a time frame for a native release on Apple Silicon (M1, M1X, etc)? We're really looking forward to that.
 
I just installed 1.8.8-9 on my M1 Mac Mini and it did include starnet. I needed to manually remove it so Pixinsight would run. Did I misunderstand something? I thought the release notes stated that it would not install.
 
I was unable to remove 1.8.8-8 under control panel with Win64 so 1.8.8-9 would not install telling me 1.8.8-8 was still there. I tried once again to remove it and probably answered yes to a follow on question that (unknowingly) then removed Pixinsight from the list because it is no longer even visible in control panel repair or remove programs list. Any way to get past this?
-Jeff
P.S. I don't know if this is what happened but MS support site says programs can disappear from the Control Panel list:
"Problem: After you install a program on your computer, the program is not listed in the Add/Remove Programs tool in Control Panel. Also, other programs that are installed on your computer and that were previously listed in Add/Remove Programs may no longer be listed.
Cause: This problem can occur if the program your installed program creates a registry key name that is longer than 60 characters in length. Add/Remove Programs only lists program names it locates up to the point it encounters this situation."
Is there some way to install 1.8.8-9 even though 1.8.8-8 is still there? Or some other way to remove 1.8.8-8 than the Control Panel if it no longer appears on the program list? 1.8.8-8 is still running correctly on the machine.
 
Last edited:
Hi,
thanks for the great work,
but Cuda not longer works for me,
do I have to copy the old TensorFlow.dll into the Pixinsight/bin directory again?

CS
Chris

I couldn't wait and just tried it out. It works great for me
 
Last edited:
Hi,
thanks for the great work,
but Cuda not longer works for me,
do I have to copy the old TensorFlow.dll into the Pixinsight/bin directory again?

CS
Chris

I couldn't wait and just tried it out. It works great for me
Yes indeed, I have a GPU version copy in another folder so I can overwrite the CPU versoin again after the install.
 
I'm in the same boat as JeffWeiss9. I cannot uninstall Pixinsight 1.8.8-8 as it cannot be found in the Windows 10 "Remove programme uninstall list"
due to the Windows registry identification for Pixinsight exceeding the 32 character limit. Any recommendations for:-
a) Uninstalling the previous version of the Pixinsight software.
b) Reducing the Pixinsight registration below the 32 character limit on future updates.

Kind regards

Steve
 
I'm in the same boat as JeffWeiss9. I cannot uninstall Pixinsight 1.8.8-8 as it cannot be found in the Windows 10 "Remove programme uninstall list"
due to the Windows registry identification for Pixinsight exceeding the 32 character limit. Any recommendations for:-
a) Uninstalling the previous version of the Pixinsight software.
b) Reducing the Pixinsight registration below the 32 character limit on future updates.

Kind regards

Steve
I have win10 and had no problem uninstalling the previous version. Anyone have an idea why some computers would have a problem and others not?

Larry
 
Hi,
I have a similar problem as JeffWeiss9 and sloz1664. The 1.8.8-8 uninstaller hangs, without doing anything.
Fortunately the uninstaller is not corrupting the current installation, that keeps working.
Any manual turnaround suggested to cancel the old version?

I am using Windows 10 10.0.19043.

Many thanks in advance,
Mau
 
I did the uninstallation and the new deployment okay.
Win10 Pro
Version: 20H2
Build number: 19042.662
 
Searching further: "When a program installs on Windows 10, it also comes with an uninstaller. It is mandatory for every application to offer a script that will, on program uninstallation, clean up all related files & Registry entries. Many a time, because of missing Registry or programming errors, the uninstaller does not register correctly." I've tried to apply several alternate methods to remove v1.8.8-8 but none succeeded in even finding it or its uninstall file to use to delete it. Even though the 1.8.8-8 is still there and running fine (fortunately).
 
I've tried to apply several alternate methods to remove v1.8.8-8 but none succeeded in even finding it or its uninstall file to use to delete it. Even though the 1.8.8-8 is still there and running fine (fortunately).

Any manual turnaround suggested to cancel the old version?

Anyone have an idea why some computers would have a problem and others not?

I'm in the same boat as JeffWeiss9. I cannot uninstall Pixinsight 1.8.8-8 as it cannot be found in the Windows 10 "Remove programme uninstall list"



Usually the fix for this problem is to rerun the PixInsight installer for the the currently installed version, which upon launch should give you the option of Modify, Repair or Remove, that is if it is still registered correctly, or allow you to run the installer as a clean install, after which you can deinstall via Windows Programs and Features options.
Have you tried this?

If you did not retain the currently installed version installer you can still find that on the PixInsight distribution server.

We see this App uninstall problem in IT support with our students computers all the time, with many different pieces of software, often as the result of running third party registry and disk cleanup Apps that delete the (de)installer files along with their registry entries and type libraries, but sometimes also caused by Windows updates that are incomplete, or running at the same time as the user tries to uninstall an application.

HTH
 
HTH-
That did the trick for me (choosing Remove from the 1.8.8-8 installer). It removed 1.8.8-8 and I was then able to install 1.8.8-9.
Thanks.
CS/Jeff
 
Last edited:
Hello Juan,

I tried the atan2 with the new release but was a little surprised that the calculation time seemed to be longer than what seems a more complex calculation, see 2 examples of old and new, all applied to the same image (I use it multiple times in my script, hence my focus on speed).

PixelMath: Processing view: theta
Solved 1 invariant subexpression(s).
Executing PixelMath expression:
sign(west)^2*atan(south/west)+0.5*(1-sign(west))*(1+sign(south)-sign(south)^2)*pi()
channel #0: done
72.080 ms

2nd example
sign(west)^2*atan(south/west)+0.5*(1-sign(west))*(1+sign(south)-sign(south)^2)*pi()
channel #0: done
70.469 ms

PixelMath: Processing view: theta
Solved 1 invariant subexpression(s).
Executed 1 image generator(s), 29.841 MiB
Executing PixelMath expression:
combine(south, west, op_atan2())
channel #0: done
140.014 ms

2nd example
combine(south, west, op_atan2())
channel #0: done
145.658 ms

Not a major issue, was just wondering if this was your expectation, or maybe I'm not using it correctly.
 
Thank you very much Juan for your effort in the development of this release. Since I use an OSC camera (ASI071MC Pro which has 4944x3284 pixels), I did the procedure for testing the Separate CFA Channel Alignment. The image is of the Crab Nebula M1, taken with a C9.25 EdgeHD at f10 and the IDAS D1 light pollution filter. I found that this new feature indeed corrects the slight misalignment in the color channels, whatever reason was the cause (to me, atmospheric dispersion most likely since the optics are very well corrected).

These are the misalignment in the channels of a star, in the center of the image, showing the difference in the debayered, stacked image, drizzle integration and by doing the separate CFA Channel Alignment (I called it RGB_DrizzlePerChannel). It can be seen that the misalignment is really small since always the centroid is around coordinates (2707, 1577). Nevertheless, this feature eliminated it , since the three channels now share the same center:

2021-09-05 Separate CFA Channel Alignment - Center.png


I also checked a star on the very bottom right corner and found the same result (4818, 3236 coordinates):

2021-09-05 Separate CFA Channel Alignment -  Bottom Right.png


Note that in despite of the fact that the misalignment in both cases is in fraction of pixels, it was very well corrected.

I did it using the WBPP. A very good feature that for sure will help us, the OSC imagers!

Regards,

Alfredo
 
Usually the fix for this problem is to rerun the PixInsight installer for the the currently installed version, which upon launch should give you the option of Modify, Repair or Remove, that is if it is still registered correctly, or allow you to run the installer as a clean install, after which you can deinstall via Windows Programs and Features options.
Have you tried this?

If you did not retain the currently installed version installer you can still find that on the PixInsight distribution server.

We see this App uninstall problem in IT support with our students computers all the time, with many different pieces of software, often as the result of running third party registry and disk cleanup Apps that delete the (de)installer files along with their registry entries and type libraries, but sometimes also caused by Windows updates that are incomplete, or running at the same time as the user tries to uninstall an application.

HTH

Thanlk WillB, for sharing this trick of the trade!

Mau
 
I understood your explanation. But please, answer my question: will the module StarNet work on the processor with support of AVX?
Evgeniy
 
Back
Top