PixInsight Class Library

PixInsight is an advanced image processing software platform designed specifically for astrophotography and other technical imaging fields. PixInsight is a modular, open-architecture system where the entire processing and file handling capabilities are implemented as external installable modules.

The PixInsight core application provides the infrastructure on top of which external modules can implement processes, image file formats, and their associated user interfaces. The PixInsight Class Library (PCL) is a C++ development framework to build PixInsight modules.

PixInsight + PCL: A Toolset to Build New Imaging Tools

PixInsight modules are special shared libraries (.so files on FreeBSD and Linux; .dylib under OS X; .dll files on Windows) that communicate with the PixInsight core application through a high-level API provided by PCL. Along with a core communication API, PCL includes a comprehensive set of image processing algorithms, ranging from geometrical transformations to multiscale analysis algorithms, most of them available as multithreaded parallel implementations.

Portable Image Processing Development Platform

PCL is highly portable code. As of writing this document, it is available on the same platforms supported by the PixInsight core application: 64-bit FreeBSD, Linux, OS X, and Windows. PixInsight modules written around PCL are directly portable to all supported platforms without changing a single line of source code. This is possible because PCL is a high-level framework. PCL isolates your module from platform-specific implementation details: all platform-dependent complexities are handled behind the scenes by the PixInsight core application and internal PCL routines.

Open-Source Development Platform

Starting from version 2.0, PCL is released as an open-source library released under the PixInsight Class Library License (PCLL). In essence, PCLL is a liberal BSD-like license that allows you to develop open-source and closed-source, free and commercial PixInsight modules without restrictions. As long as you observe all PCLL terms, you can modify PCL and use your modified version with or without releasing your source code. If you have any doubts or questions related to PCL development or licensing topics, please feel free to contact us at info(at)pixinsight(dot)com. If you are a developer interested in PixInsight, we encourage you to join us at PixInsight Forum.

PCL Reference Documentation

The official reference documentation for the PixInsight Class Library has been generated automatically from PCL source code files with the Doxygen documentation tool.

Currently the existing PCL documentation is rather complete, although there are still a few classes and functions lacking detailed descriptions. If you find errors or inaccuracies in our documentation, we'd like to hear you to get them fixed. If you want to collaborate with us to enhance the existing PCL documentation, you are also welcome.

Note that a copy of this reference documentation is also included in the PCL Standard Distribution package. It is installed on the doc subdirectory of the PCL installation directory.

GitLab PCL Repository

Since PCL version 2.1 (released August 2015), all open-source components of PixInsight are only available at our official GitLab repositories.

If you are a software developer interested in PixInsight, you can become a contributor by sending us your GitLab user account name. If you have authored some PixInsight modules or scripts, we'll be glad to check them for their inclusion in the official repositories.