A short listing in tabular form of some of our projects can be inquired at contact(at)

Full measurement and data analysis application for photoemission experiments

In the technical computing framework Igor Pro an application was implemented that allows to acquire images from a high resolution scientific camera, control power supplies, control motors in the experimental setup and drive a monochromator on a synchrotron radiation facility. Each control module runs in its own thread and is controlled through a central graphical user interface via messages. This allows realtime data acquisition including image preprocessing, visualization and monitoring of critical values. While acquiring, data can be saved in HDF5 format. For the control of the power supplies and the camera additional library extensions for Igor Pro (XOPs) were created . The motor and monochromator control part uses serial communication protocols.

Technical properties:

  • platform: Igor Pro 8 (Windows 10)
  • xops:
    • C++11
    • Visual Studio 2019
    • build system: CMake
  • CI: Gitlab


Device server for scientific camera in the TANGO framework

For a state of the art scientific camera with integrated FPGA data analysis, device servers were implemented that allow data acquisition, image presentation as well as saving of acquired data. The camera streams single events as well as full image data that is received by the controlling device server. Further device servers allow saving data as TIFF and/or in HDF-5 format. Additionally a graphical user interface was created using qtango to control the device servers.

Technical properties:

  • platform: C++11 (Linux), GUI using qwt 6.1.3/qtango, QT-Designer
  • build system: qmake

Module for delay-line detectors in the EPICS framework for scientific measurements

An Input Output Control module (IOC) was implemented that reads data from a delay-line detector used for photo-emission experiments. The delay-line detector utilizes time-to-digital converters to resolve three dimensional coordinates of hit events. The control module receives a stream of these events and allows to generate multiple views where the events are binned in multi-dimensional histograms. The layout and properties of these views can be configured freely by the user. Additionally the event stream is sent by network using a light-weight protocol to a client that writes the data to a mass storage device in HDF-5 format. The IOC as well as the client use multi threading to allow realtime data analysis and pre-conversion of the stream data. On top of the IOC a graphical user interface was created that allows full control of the measurement acquisition, data analysis and saving of data.

Technical properties:

  • platform: C, C++11 / Eclipse CDT (Linux), GUI in Control Systems Studio
  • build system: CMake
  • CI: Gitlab

XOP for solving ODEs with sparse matrices

The stock Igor Pro operation IntegrateODE is a very good fit for problems with dense matrices. For sparse matrices however, problem sizes of more than a thousand equations result in unbearable long execution times.

Based on the Sundials/SuiteSparse libraries we developed an XOP optimized for very large problem sizes and sparse matrices. Now more than a million equations can be solved in a very short time. The customers are a university and a government research facility (USA).

Technical details

  • Platform: Igor Pro 8 (Windows 10 und MacOSX)
  • C++11
  • CMake
  • Tests (Igor UTF)
  • Documentation in Igor ihf-format

MatrixFileReader XOP

Measurement data of a ultra-high vacuum scanning tunneling microscope from Scienta Omicron can be read fast and conveniently. more...

STM/STS Data Evaluation Framework

Based on the project MatrixFileReader XOP a graphical user interface for data evaluation for loading, evaluation and export of STM measurement data was developed. more...