[Versión en Español disponible en breve]Hi all,
We are pleased to announce the release of PixInsight 1.5.9 for Linux, Mac OS X and Windows.
This release fixes a number of critical bugs, so we encourage all our users to update their current installations as soon as possible.
Along with hundreds of bug fixes, PixInsight version 1.5.9 introduces important new features and optimizations, which we'll describe briefly in this document.
PixInsight 1.5.9 is actually a transitional release. It stabilizes the platform and adds some necessary building blocks to prepare it for version 1.6, which will introduce some crucial new functionalities.
Download AddressesPixInsight 1.5.9 is now available for download from our file servers:
* For commercial users (user name and password required):
http://dist.pixinsight.com/* For users of 30-day trial licenses:
http://pixinsight.com/download/STD/InstallationBefore installing PixInsight 1.5.9, it is advisable to uninstall a previous version. This is the recommended procedure:
Linux 1. Exit all running instances of the PixInsight core application, if any.
2. Delete the whole directory where a previous version of PixInsight was installed.
If you have created files of your own within PixInsight's installation directory, please don't forget to backup them first.
3. Unpack the .tar.gz file on a suitable directory, preferably one under the user's home directory (for example, $HOME/PixInsight).
4. To launch PixInsight, run the PixInsight.sh shell script from the bin installation directory.
Mac OS X 1. Exit all running instances of the PixInsight core application, if any.
2. Delete the previous version of the PixInsight.app application bundle. If you installed it on the standard location, it should be on the /Applications folder.
3. Double click the .zip installation archive for version 1.5.9. This will create a new PixInsight.app application bundle. PixInsight can be executed from any location, but we recommend copying PixInsight.app to the standard /Applications folder. You may want to add it to the Dock as well.
4. If you are a commercial Windows or Linux user, your existing license file works fine on the Mac; you do not need to reactivate your license to use it on Mac OS X. Do the following:
4.1 Locate your PixInsight license file. It is the .pixinsight-license file on your personal folder of your Linux or Windows machine.
4.2 Make a duplicate of .pixinsight-license, and rename it to pixinsight-license (that is, the same name but without a starting dot character).
4.3 Copy the pixinsight-license file to your home folder on the Mac. Now you can run PixInsight for Mac OS X with your commercial license.
Windows 1. Exit all running instances of the PixInsight core application, if any.
2. Uninstall PixInsight. There is a Start > PixInsight Platform > Uninstall menu item that should be used. Never try to uninstall PixInsight by manually removing files.
If you have created files of your own within PixInsight's installation directory, please don't forget to backup them first.
3. Run the PixInsight installation module for version 1.5.9.
4. To launch PixInsight, go to Start > PixInsight Platform > PixInsight Core.
Bug FixesVersion 1.5.9 fixes all confirmed bugs and regressions as of the date of release. It also includes a number of critical bug fixes for all platforms that were fixed by version 1.5.7 for Mac OS X on August. Please refer to the
Bug Reports board of this forum.
Here is a list with the main bugs fixed in PixInsight 1.5.9:
* [All platforms] Fixed a critical memory leak during ImageContainer execution. See the corresponding
bug report for more information. This also applies to the instance command and, in general, to all batch processes that iterate throughout a long list of disk image files, including scripts. This is a severe bug that has been completely fixed in version 1.5.9.
* [All platforms] Fixed a critical regression in the CloneStamp tool. See the corresponding
bug report. CloneStamp has also been largely optimized and works now twice as fast as in previous versions on all platforms.
* [Linux and Mac OS X] Fixed potential multiple executions of the same process when dropping a process icon or a process instance directly from a process window on a view.
* [All platforms] Fixed a potential segmentation fault upon application termination. This problem was more probable on Mac OS X.
* [Mac OS X] Fixed
File > Save As native OS X dialog that was not taking into account the file type of the image being saved (it always defaulted to *.bmp).
* [All platforms] NumericEdit controls (the typical single-line edit and a slide bar) were opening two identical error message boxes after the user entered an incorrect number. A single error message is always displayed in version 1.5.9.
* [All platforms] Fixed broken keyboard image view navigation. For example, now you can use the four direction arrow keys to navigate an image (when the scroll bars are visible) pixel by pixel.
* [All platforms] Fixed incorrect behavior of ScreenTransferFunction's AutoStretch feature for inverted images (images with main histogram peaks lying above 0.5).
* [Mac OS X] Fixed keyboard accelerators not working in the Script Editor window (e.g., Cmd+O = File > Open Script File).
* [Mac OS X] Fixed performance problems with the Real-Time Preview interface.
* [All platforms] Fixed performance problems when the GlobalPreferences interface is opened for the first time.
* [Mac OS X] Fixed a number of minor screen drawing problems on workspace and explorer windows.
* [All platforms] Fixed some screen flickering problems, especially on Mac OS X. PixInsight performs now all screen drawing as strictly double-buffered operations on all platforms.
* [Mac OS X] Fixed some annoying problems with the the Zoom In and Zoom Out commands applied with the mouse wheel or repeated key presses.
* [Linux] The ColorManagementSetup interface incorrectly stated that the local color directory is ~/color/icc. This was leading to confusion about PixInsight color management working properly on Linux/X11. Version 1.5.9 informs about the correct local color directory: ~/.color/icc.
* [All platforms] JavaScript runtime: Fixed the ByteArray.toString() method not working.
* [All platforms] JavaScript runtime: Fixed a bug in the File.createDirectory() method that was not working correctly when intermediate directories had to be created.
* [All platforms] JavaScript runtime: Fixed problems in several String properties of the Global PJSR object.
* [All platforms] JavaScript runtime: Fixed tool tip messages (the Control.toolTip property) not working on script dialogs.
* [All platforms] JavaScript runtime: Fixed missing script instances in initial state containers of image windows created from scripts.
* [All platforms] Fixed focus stealing from the Script Editor after closing a modal dialog (e.g., the Search/Replace dialog).
New Tools and FeaturesThese are the main changes and improvements introduced in PixInsight 1.5.9:
*
New floating preview windows. Please refer to
this thread on the Release Information board for a full description with several examples. In this version, floating previews include:
- Readout previews, when you click and drag over images in Readout and Center navigation modes.
- Workspace previews, when you move the mouse cursor over workspace selectors.
- Image icon previews, when you move the mouse cursor over image icons.
- Instance information previews, when you click View Info buttons of process icons.
*
New instantiable scripts. See
this thread on the Release Information board. This is a crucial feature that opens a new world of possibilities to JavaScript programming on PixInsight. Summarizing, scripts are now perfectly integrated within PixInsight's object-oriented architecture.
*
New style sheet interface customization support. PixInsight implements interface customization with
Qt style sheets (QSS). QSS provides exhaustive customization of the appearance of all controls in Qt-based applications, as PixInsight. QSS is similar in concept and syntax to HTML Cascading Style Sheets (CSS), but adapted to the world of graphical user interfaces.
PixInsight 1.5.9 fully supports QSS, but it still implements only a partial
GUI object model that includes a limited set of windows, controls and other interface elements. PixInsight's QSS implementation will be complete in version 1.6. Stay tuned because I'll post a complete description of PixInsight's QSS support on the Release Information board.
*
New license file naming policy. PixInsight license files (both commercial and trial licenses) can now have one of the following names on all supported platforms:
.pixinsight-license
pixinsight-license
So starting from PixInsight 1.5.9, the leading dot character is optional in PixInsight license files. A hidden license file (with the leading dot) is favored by default on Linux, while on Windows and Mac OS X, the default is now a regular file without the leading dot. This should solve a number of difficulties, especially on Windows, which doesn't like file names starting with dots too much.
The license file must still be stored on the user's personal folder on all platforms, as always.
*
New locations of PixInsight's configuration file on Linux and Mac OS X. On these paltforms, PixInsight configuration files are now stored at the following locations:
Linux:
$HOME/.PixInsight/PixInsight.conf
Mac OS X:
/Users/<user-name>/Library/PixInsight/PixInsight.conf
On Windows, there is no change so the configuration file continues being stored at:
%APPDATA%\Pleiades\PixInsight.ini
where %APPDATA% is usually:
Windows XP:
C:\Documents and Settings\<user-name>\Application Data
Windows Vista/7:
C:\Users\<user-name>\AppData\Roaming
*
New CanonBandingReduction script by Georg Viehover. This script is an excellent tool for reduction of Canon banding artifacts in DSLR images, including full real-time interface capabilities.
*
New StarHaloReducer script by Juan M. Gómez. A utility script for interactive star halo reduction, with a real-time preview interface. Works like magic by just defining a preview around each star requiring reduction of reflection artifacts.
*
New MakefileGenerator script for developers. This script automatically generates makefiles and project files for development of PCL-based PixInsight modules on all supported platforms and architectures: Linux/X11, Mac OS X and Window, x86 (32-bit) and x86_64 (64-bit).
*
New js command. The js command interprets a string of JavaScript source code and writes the resulting value to the console. For example, you can enter this command:
js Math.sqrt( 2 );
and you'll get the result (1.4142135623730951) on the console. The js command can be used as an extremely powerful calculator, or to try out small snippets of JavaScript code, as a helper feature for script development. Note that you can declare and define variables with several executions of the js command. You can also use the properties of all core PJSR objects. For example, the following command writes the file path of an image whose identifier is M57_LSNR:
js ImageWindow.windowById( "M57_LSNR" ).filePath;
*
New pid command. The pid command takes no arguments and simply writes the
process id of the PixInsight core application. A process id is an integer number that uniquely identifies a running process. This is very useful on Linux and Mac OS X to redefine the execution priority of PixInsight. For example, on RPM-based Linux distributions (Red Hat, Fedora, SuSE, Mandriva, etc.) the following command can be used to boost performance of PixInsight by assigning the maximum execution priority:
su -c "renice -20 <pid>"
where <pid> is the process id provided by the new pid command. On Debian and BSD distributions (including Darwin on Mac OS X):
sudo renice -20 <pid>
Please be careful to avoid mistakes here because incorrectly changing the priority of a system process may compromise stability of your operating system. You may want to try other nicety values in case -20 freezes your system too much <g>.
*
Improved noise estimation algorithm in ImageIntegration. The automatic noise estimation image weighting algorithm detects now situations (which are infrequent) where not enough significant pixel data can be identified as pertaining to the noise with the high-accuracy multiresolution noise estimation algorithm. In these situations, ImageIntegration issues a warning and chooses an alternate, less accurate but more robust, noise estimation method (iterative wavelet-based k-sigma clipping).
*
Improved performance of ImageIntegration's file cache. A file caching system is used by ImageIntegration to store image statistical data, which greatly improves efficiency when the process has to be executed repeatedly for the same set of images. The file cache has been improved in version 1.5.9 to run faster and more reliably.
*
Redesigned GlobalPreferences interface. The GlobalPreferences interface has been redesigned for faster execution and more control over several customizations. For example, you can now control individual workspace graphical effects, such as window animations and fading effects, exploding icons, etc.
*
Behavior change of the Center navigation mode. The Center navigation mode (used to accurately define the central location of a zoomed image view) no longer works by defining a rectangular selection. Now it works by just clicking on the image, optionally dragging the cursor, and releasing the mouse button. When the primary mouse button is released, the view is centered (if possible) at the cursor location. This allows using the new readout previews also in Center mode, for improved accuracy.
*
Behavior change of the DynamicAlignment interface. Bad alignment references are no longer placed outside the target image. When you select an alignment star and the computed target location goes outside target image boundaries, it is constrained to stay at the nearest border or corner of the target image. This greatly facilitates building large mosaics, or registration of very large images.
*
Bad background samples and alignment references signaled on DBE and DynamicAlignment. When a DBE sample gathers less than a 25% of background pixels, it is considered as a
bad sample and is drawn filled with a special color (red by default, selectable on the DynamicBackgroundExtraction interface). A similar feature has also been implemented for invalid alignment references in DynamicAlignment.
*
Behavior change of ScreenTransferFunction's AutoStretch feature. When the AutoStretch button of the STF interface is clicked, the default AutoStretch parameters are applied directly to the current image. To open the STF AutoStretch Parameters dialog, you must hold the Ctrl key (Cmd key on Mac OS X) pressed while you click the AutoStretch button.
*
New features of the run command. New arguments of the run command (-a, -p, -s) support the new instantiable scripts functionality. Refer to the built-in help by entering the "help run" command from the console.
*
New environment variable support. Environment variables are now fully supported by PixInsight's command line interface. For example, you can enter the following commands to verify this:
echo $PATH
ls $HOME
(On Windows, instead of $HOME you must use $USERPROFILE in the command above) As is customary in most shell interpreters, environment variable substitution is triggered by the $ sign. This works on all supported platforms. To include a literal dollar sign in a console command, escape it by prepending a backslash: \$.
*
Predefined environment variables. The PixInsight core application automatically defines the following environment variables upon execution:
PXI_COREFILE
The absolute file path of the running PixInsight core executable.
PXI_COREDIR
The absolute directory path of the running PixInsight core executable.
PXI_BASEDIR
The absolute root directory path of the running PixInsight instance (usually, the directory where PixInsight has been installed).
PXI_BINDIR
Equivalent to $PXI_BASEDIR/bin.
PXI_INCDIR
The main
include files search directory. Normally, this is equivalent to $PXI_BASEDIR/include.
PXI_SRCDIR
The main
source files directory. Normally, this is equivalent to $PXI_BASEDIR/src.
PXI_LIBDIR
The main
library files search directory. Normally, this is equivalent to $PXI_BASEDIR/lib.
PXI_DOCDIR
The main
documentation files directory. Normally, this is equivalent to $PXI_BASEDIR/doc.
*
New export command. The export command allows defining and replacing environment variables. Refer to the built-in help by entering the "help export" command from the console.
*
New JavaScript methods for environment variable management. Two new methods of the Global JavaScript object provide access to environment variables:
String getEnvironmentVariable( String varName )
Returns the current value of the specified varName environment variable, or an empty string if no such variable has been defined.
String replaceEnvironmentVariables( String s )
Replaces all variable specifications (identifiers with leading $ characters) in the specified string
s with their current values, and returns the resulting string. Undefined variable specifications are replaced with empty strings (deleted).
*
New Matrix/Image conversion JavaScript functionality. The following methods allow converting matrices into images and vice-versa:
Image Matrix.toImage()
Matrix Image.toMatrix()
The second method returns a Matrix representation of the currently selected image channel (Image.selectedChannel).
*
New matrix-based convolutions and wavelet transforms with JavaScript. The Image core JavaScript object supports now convolutions and wavelet transforms where the response functions and wavelet filters are specified as Matrix objects:
Array Image.aTrousWaveletTransform( Matrix scalingFunctionKernel,
int numberOfLayers[, int scalingSequence[, Array layerState]] )
void Image.convolve( Matrix kernel[,
Number kernelWeight[, Number thr0[, Number thr1[, int interlacing]]]] )
void Image.convolveFFT( Matrix kernel )
*
New Point and Rect methods for affine and projective matrix transformations. The Point and Rect core JavaScript objects provide new methods for 3x3 matrix transformations, including arbitrary translations, rotations, shearing and fully projective (8-parameter) transformations. These functions are necessary building blocks for a 3D graphics generation framework.
*
New Graphics.opacity property. The Graphics JavaScript object includes now an opacity property:
Number Graphics.opacity
opacity can be any real number in the [0,1] range. A value of zero produces completely transparent graphics output (no output at all, actually). A value of one produces opaque graphics output. Intermediate values generate translucent graphics.
*
New VectorGraphics JavaScript object. VectorGraphics allows generation of graphical contents with floating point coordinate accuracy. This is extremely useful for generation of truly scalable graphical content, including SVG output. Other than the fact that VectorGraphics uses real numbers to represent coordinates and dimensions instead of integers, VectorGraphics and Graphics provide exactly the same graphics generation capabilities.
*
New VectorGraphics C++ class. This is the PCL counterpart to the VectorGraphics JavaScript object.
Updated Third Party Tools* Integration of
Qt 4.5.3 on all platforms.
* Integration of
LittleCMS version 1.18.
* Integration of
dcraw revision 1.431 (supports 354 digital cameras).
* Integration of
cURL version 7.19.6.
Known Issues* We are still unable to release a 64-bit version of PixInsight for Mac OS X. On Mac OS X, PixInsight is still a Carbon-based, 32-bit x86 application. Unfortunately, the Cocoa port of Qt 4.5.3 (the latest Qt version) is still too unstable and buggy to release a 64-bit version of PixInsight for the Mac. We are working along with Qt/Nokia to solve this problem. We hope the upcoming Qt 4.6 (due before the end of the year) will be stable enough as to allow us to release a first 64-bit version of PixInsight for Mac OS X.
* On Mac OS X, sometimes the File > Print dialog doesn't let you change the physical printer resolution in dots per inch. While we figure out how to solve this problem, please preconfigure your printer with the desired resolution before opening the File > Print dialog for the first time.
* On Mac OS X, printer color management still doesn't work correctly. This is because we still have not implemented PostScript ICC profile support in PixInsight (on the Mac, all printing is made through PDF files). Please ensure that you manually convert your images to the target printer color space in PixInsight before printing them. Use the ICCProfileTransformation process.
* Linux/X11: On the gnome desktop manager, the default Plastique style seems to work incorrectly. If you experience screen drawing problems, you must select the GTK+ style and disable QSS style customization:
- Select
Window > GUI Style > GTK+.
- Select
Edit > Global Preferences.
- Select the
File Sheet / Special GUI Effects section.
- Remove "x11.qss" from the
Qt Style Sheet File field (leave it blank).
- Press F6 to execute the process globally.
- Exit PixInsight.
- Restart PixInsight. Everything should work correctly, but without QSS support...
* Linux/X11: On the KDE 4 desktop manager, the full screen mode (View > Full Screen) doesn't work correctly. This only occurs when fancy compositing-based and OpenGL-based effects are enabled on the desktop (window transparencies, window animations, 3D effects, etc.). Disabling these effects (which does NOT mean disabling composition extensions on the X11 server, of course) solves all issues.
Note for DevelopersPixInsight 1.5.9 introduces some changes to the low-level C API for modules (new API interface version 0x124). All modules built with previous versions of the PCL (including PCL 1.0.71) require full recompilation and linkage against the new PCL 1.0.73.
=================
I hope you'll like everything. Happy processing!