As shown in the figure, the Perception Studio provides core functionality such as “Plug-in Manager” for loading plug-ins, managing dependencies or version management. Further helpful functionality like our encryption based on AES, our project browser that manages all files generated by plug-ins and a predefined help system are integrated into the Perception Studio. All of this functionality can be used by all plug-ins including a way for plug-ins to register themselves with the Perception Studio and a protocol for the exchange of data with other plug-ins.

Plug-ins depend on the services provided by the Perception Studio and usually do not work by themselves. Conversely, the Perception Studio operates independently of the plug-ins, making it possible for end-users to add and update plug-ins dynamically without the need to make changes to the core program (Perception Studio).
A plug-in itself is simply a *.dll-File to be installed and is an extension to the core functionality of Perception Studio. Therefore Perception Studio provides various Extension Points where plug-ins can be integrated. This extension points are open for all developers and a SDK (Software Development Kit) is available.
The Perception Studio initializes the plugin system, decides what capabilities plugins can use and then proceed with its ordinary tasks.
Several plugins are provided which can be used with the Perception Studio and also with any other plug-in (if the plug-in allows them). For developing plug-ins, an SDK (Software Development Kit) is provided.
Extension Point for Hardware

The extension point for hardware is an interface for the communication with hardware components and allows the implementation of hardware devices like different cameras. There are no limitations which hardware can be integrated.
Consequently beside standard push-broom imagers also other sensors for staring imaging, whisk-broom imaging or snapshot imaging can be integrated. Further hardware like traversing tables, sampling devices or even acoustic cameras can be implemented too.
By this multi-camera-systems can easily be set up and controlled by one single software solution.
Extension Point for File Formats

The extension point for file formats allows the implementation of all needed file formats such as configuration files for hardware. It also supports a plug-in to save and convert data in various file formats.
This is commonly used by users that have a proprietary file format. Furthermore this interface is a possibility to use Perception Studio methodology with data from third party applications.
Extensionpoint for User Interface

The extension point for the user interface provides the possibility to design perspectives, wizards or editors which are specialized to a dedicated application. This is often necessary to make a whole workflow accessible and easy to use.
It is quite easy to access the user interface extension point due that the Perception Studio is based on the Qt Project. Qt is a cross-platform application and UI framework for developers using C++ or QML, a CSS & JavaScript like language.
Extension Point for Algorithms

Developers of algorithms for applications based on spatially resolved and multidimensional data (e.g. hyperspectral data) can bring their methodology into the Perception Studio by accessing the extension point for algorithms. Developers can implement their algorithms without worrying that their plug-ins could be reengineered.
Especially research organizations appreciate this functionality because they just need to develop methodology for their customers and can use the framework and basic functionality of Perception Studio to shorten time to market and to keep their own software solution extendable.