PixInsight is an advanced image processing platform specialized in astrophotography and other technical imaging fields. It is the result of a dynamic collaboration between like-minded astrophotographers and software developers, who are constantly pushing the boundaries of astronomical image processing with the most powerful toolset available.
Open-Architecture, Modular, Portable Image Processing Platform
A rich, versatile, ever-evolving environment.
PixInsight is available as a native 64-bit application on FreeBSD, Linux, Apple Mac OS X and Microsoft Windows operating systems. PixInsight is a strongly multithreaded environment able to exploit all processors and processor cores available on all platforms and hardware architectures.
Its open architecture makes PixInsight an extremely evolving and versatile platform. Software developers can author new PixInsight modules and scripts to meet any image processing needs. PixInsight is being extended to the fields of CCD photometry, astrometry, and beyond astronomical imaging.
The PixInsight project originates from the inside of astrophotography: PixInsight is a software platform made by astrophotographers, for astrophotographers.
Manage processes and images independently to gain full control over your processing workflow.
PixInsight's graphical user interface (GUI) lets you handle images and processes independently through specific interface tools and resources. This gives you full control over all of the elements that take part in your processing workflow. Nothing is lost in PixInsight: every aspect of your work can be rescued at any point to modify and reuse it as you decide. Isolation between images and processes plays a key role in the PixInsight platform.
For example, you can extract an arbitrary subset of the processes that you have applied to a particular image to edit, organize and store them as disk files in XML format. Processes are reusable in multiple processing tasks in PixInsight. You can document your processes with user-defined textual information, so you can share them with other users, giving them detailed information about your processing strategies. Once you gain some experience with PixInsight's GUI, you'll hate having to use other simplistic approaches.
Process icons are characteristic of the PixInsight interface. A process icon encapsulates a process instance and allows you to handle all of its properties through an intuitive and flexible interface. The implementation of process icons in PixInsight LE has been widely acclaimed as a fresh, innovative contribution to graphical interfaces for imaging applications. The current PixInsight platform further boosts process icons, and introduces more iconic metaphors to key elements in the image processing workflow: image icons and image containers.
Projects allow you to save the entire state of PixInsight as a bundle of XML files and binary data on disk. Once you have saved a project, you can reload it to recover the state of PixInsight exactly as it was when you saved it. This includes all of your images, previews, processes, icons and processing histories on all workspaces. PixInsight projects are independent units that can be transported and shared across different machines and storage devices.
Workspaces allow you to organize your work by distributing images, tools and processes conveniently into separate containers. Workspaces can be managed, created and removed dynamically to fit your needs.
Five Pixel Data Formats Supported Transparently
Use the most adequate data format for each processing task, from 8-bit integers up to 64-bit floating point real and complex pixel data.
PixInsight's core processing engine supports five numeric types for internal storage and manipulation of pixel values:
- 8-bit, 16-bit and 32-bit unsigned integer pixels
- 32-bit and 64-bit IEEE 754 floating point real pixels
- 32-bit and 64-bit IEEE 754 floating point complex pixels
The 8-bit format allows you to save RAM and disk space to store some masks and intermediate images not requiring more than 256 discrete sample values. With 64-bit floating point images you can perform accurate and complex transformations into a huge dynamic range of 1015 discrete sample values. With PixInsight you have the freedom to select the pixel data format that best suits to each element of your processing workflow.
Advanced Masking System
Build and use masks to process your images selectively, with the most powerful and flexible masking system.
Any image can work as a mask in PixInsight. It's just that simple. Masking is an essential feature for virtually any nontrivial image processing task. When you activate a mask for a target image in PixInsight, black mask pixels protect target pixels completely, while white mask pixels allow full processing. A gray mask pixel yields a proportional mixture of original and processed target pixel values. This allows you to modulate image processing algorithms using fuzzy logic criteria. Masks are powerful tools to adapt each process to the natural uncertainty inherent to the data, where the signal coexists with noise as a function of illumination.
PixInsight implements the richest and most flexible masking system that you've ever seen in a technical imaging application: any image can work as a mask for an unlimited number of images, with the condition that the mask and all masked images must have the same pixel dimensions.
The GUI manages masking relations in a completely transparent and automatic way. You can modify a mask, and as long as mask changes don't invalidate masking relations, all masked images are notified and updated automatically.
Work in a color-managed environment to achieve consistent color renditions across output devices and color spaces.
PixInsight is a fully color-managed application based on standard ICC profiles. Color management is applied automatically to all screen and printer image renditions, and is fully configurable through dedicated tools and core application resources. PixInsight's color management uses the open-source LittleCMS engine to implement multiprofile color transformations, color proofing and gamut check functionality on all supported platforms.
Multiple Preview Interface
PixInsight's previews are accurate, modular and versatile image processing tools.
A preview is a temporary subimage that you can freely define over any image in PixInsight. You can use a preview to try out and accumulate any number of processes without modifying its parent image.
Previews are accurate: Every process that you apply to a preview works with actual pixels, just as it will do when you apply it to its parent image. You can obtain accurate histograms, statistics and any kind of numeric readouts from previews.
Finally, previews are versatile: A preview's processing history can be reused to apply it to other previews or images without limitations. You can define an unlimited number of previews for any image, where you can try out different processing strategies to compare their results rigorously.
The best of two worlds: A powerful command-line interface coexisting with a sophisticated GUI.
The Process Console window in PixInsight provides a powerful command-line interface that can be used along with the GUI. When you learn how to use PixInsight's command line, you'll realize that nothing can beat it to perform a large number of advanced, complex operations, especially when groups or sets of images and disk files have to be processed quickly and easily.
For example, you can open all JPEG images on the current directory by simply entering this command:
So simple, and so powerful. How about rotating a set of images 90 degrees counter-clockwise? Try this command:
FastRotation -r90 M33*
The command above would apply the FastRotation process to rotate +90 degrees every image whose name begins with "M33".
Along with a large set of internal and emulated UNIX commands, all installed processes can be invoked from the command-line in PixInsight. Tired to type the "FastRotation" word? No problem:
alias r FastRotation
Now you can use a command like "r -r90 M33*". What about running an operating system command without having to open a terminal window? No problem: PixInsight's console can execute any external process by just prefixing it with a bang sign (!). For example:
!ls -l /home/john/astroimages/2007/*.fit?
and you'll get a list of all FITS files on the specified directory, using the standard ls program. The output of ls is sent to PixInsight's console, which acts as a system terminal.
You can even launch a new instance of the PixInsight core application as a detached process (double bang prefix):
This is just a small sample of the large capabilities of PixInsight's command-line.
The only limit is your imagination: Create your own processing tools with a popular, easy-to-use and efficient scripting language.
This obviously makes the PixInsight platform much more powerful and versatile. Imagine for example, that you have to open and process one hundred images, adapting the applied processes to individual image properties. Wouldn't it be easier to have a script that makes it for you?
The Script Editor interface is an integrated development environment that includes a fully configurable code editor, syntax highlighting, an object browser tree that provides access to all properties and methods of core and installed objects, code completion, and much more.
Scripts are smoothly integrated with the whole PixInsight platform: all installed processes are automatically scriptable. You can apply any sequence of processes to an image, extract its processing history, and generate a script automatically with just a couple clicks. Imagine the power of this: imagine the power of your creativity.
Comprehensive Set of Image Processing Tools
PixInsight comes with a rich set of rigorous and efficient implementations to meet the needs of advanced CCD and DSLR astrophotography.
Included in the default set of processes you'll find, among many others:
- ImageCalibration tool including the following corrections: overscan (up to 4 user-definable overscan regions), master bias, master darks, and master flats. Our image calibration tool includes a powerful dark optimization/scaling algorithm based on multiscale noise evaluation.
- Automatic image registration and mosaic construction with the StarAlignment tool. StarAlignment performs automatic registration of deep-sky images under arbitrary translation, rotation, scaling and local distortions.
- ImageIntegration tool with average, median, minimum and maximum image combination operators; automatic image weighting/optimization based on multiscale noise evaluation; optional 64-bit integration result; automatic persistent file caching for fast retrieval of statistical data; min/max, percentile clipping, sigma clipping, Winsorized sigma clipping, averaged (Poisson-based) sigma clipping, linear fit clipping and CCD noise model rejection algorithms; automatic image normalization and scaling, generation of pixel rejection maps and exhaustive pixel rejection and SNR statistics.
- DrizzleIntegration tool. The Variable-Pixel Linear Reconstruction algorithm, better known as drizzle, was originally developed at the Space Telescope Science Institute to process Hubble Deep Field images. Drizzle is an algorithm for the linear reconstruction of images from undersampled, dithered data. Our implementation includes all the power and flexibility of our StarAlignment and ImageIntegration tools with arbitrary distortion correction, pixel rejection and automatic weighting based on multiscale noise evaluation.
- Bayer Drizzle algorithm for demosaicing of DSLR and OSC raw images without interpolation.
- Interactive and automatic gradient correction with enhanced implementations of our widely acclaimed DynamicBackgroundExtraction (DBE) and AutomaticBackgroundExtractor (ABE) tools.
- DynamicPSF tool for interactive point spread function (PSF) fitting with elliptical Gaussian and Moffat model functions.
- SubframeSelector script for batch evaluation, selection and weighting of images based on several subframe quality related measurements, including estimates of star profile full width at half maximum (FWHM), star profile eccentricity, and subframe signal to noise ratio weight.
- Blink tool for interactive visual inspection and statistical analysis of images, with integrated video generation functionality.
- ImageSolver script for automatic image plate solving of deep-sky images.
- MosaicByCoordinates script for automatic generation of wide field mosaics based on WCS plate solving.
- AperturePhotometry script for automatic measurement and analysis of flux intensities for known stars.
- GradientMergeMosaic tool for generation of seamless mosaics using gradient domain manipulation algorithms.
- Complete set of geometric transformations: resample, binning, crop/expand, arbitrary rotatation, fast rotations, translation, and dynamic cropping/rotation/scaling. Available pixel interpolation algorithms include: nearest neighbor, bilinear, bicubic spline, variable-order Lanczos with linear clamping for ringing suppression, cubic filter interpolations (parameterized Mitchell-Netravali, Catmull-Rom and cubic B-spline interpolations) with user-defined smoothness level, and Bourke's bicubic B-spline.
- High-precision histogram and curves transformations with full real-time previsualization, full real-time previsualization of output histogram functions, real-time readouts, luminance, hue and saturation curves, zoomable histogram functions and curves up to 1000:1.
- Iterative MaskedStretch algorithm for nonlinear image stretching with automatic protection of highlights.
- Advanced noise reduction algorithms: TGVDenoise tool for total generalized variation regularization, ACDNR (Adaptive Contrast-Driven Noise Reduction), MultiscaleMedianTransform, wavelet denoising, GREYCstoration image normalization and SCNR (Subtractive Chromatic Noise Reduction).
- Advanced multiscale processing. AtrousWaveletTransform tool with user-defined scaling functions, per-layer adaptive noise reduction and deringing, large-scale transfer functions, automatic significant structure detection and visualization, and the possibility of working with very large dimensional scales (only limited by the available RAM). MultiscaleMedianTransform tool for advanced multiscale morphological noise reduction and ringing-free sharpening.
- HDRComposition tool for automatic generation of high-dynamic range linear images.
- High-performance HDRWaveletTransform algorithm implementation that allows you to deal with any high dynamic range problem.
- State-of-the-art regularized Richardson-Lucy and Van Cittert deconvolution algorithms with fully customizable PSF, wavelet regularization parameters, and efficient deringing algorithms. Optional step-by-step interactive control of deconvolution procedures with full previewing and evaluation of results.
- Sophisticated PixelMath process with enhanced C syntax, multiple expressions, user-defined variables and constants, a large set of mathematical functions and operators, and an equation editor interface.
- Morphological transformations (erosion, dilation, opening, closure, median and selection filters) with customizable n-way structuring elements, including a structuring element editor and a structure database manager.
- Convolution tool for Gaussian and user-defined convolution filters with a powerful filter definition language and a large library of predefined, ready-to-use kernel filters.
- CloneStamp tool for cosmetic correction of images.
Besides this default set created by the PixInsight Development Team (PTeam), new processes, scripts, tools and utilities are being written by a growing community of developers, thanks to the open architecture of the PixInsight platform.
In preparation: Acceleration with Graphics Processing Units.