References

Development of a new major version of a data analysis tool for Parallel Electrical Debye Response Analysis (PEDRA)

The original PEDRA tool from about 25 years ago allows to fit data from
electrical impedance spectroscopy (EIS) with the Debye equivalent circuit model. It provides
the flexibility necessary for a user-assisted iterative fitting process to match complex systems and to find the physical attributes of surface films.

For the new version the old legacy code was rewritten to match current standards.
Several new key features were implemented, such as adding a dependent cascading Randles model as new fitting model. PEDRA was extended to be able to analyze multiple data sets at once and directly compare their results with overlay plots. The data import capabilities were improved supporting various common data formats and even custom formats. The tool now supports up to four dielectric responses and parallel elements for high- (barrier films) and low-impedance (e.g. batteries and super capacitors).

PEDRA 9.0 is now available as open source software, see also the announcement on LinkedIn.

Technical properties:

  • Platform: Igor Pro 9 (Windows 11)

Development of a library integration for Oxford Instrument Andor3 cameras

We've developed Igor Pro code which uses the CallFunction XOP and the freely available JSON XOP to make the Andor3 SDK interface available in Igor Pro. Part of the project was also to deliever example code to show camera acquisition and control. A special role played the usage of the CallFunction XOP, which allowed to create the calls to the Andor3 SDK at runtime. As this is done in the Igor Pro programming language, the customer herself can easily adapt the code to changed requirements without needing any C++ knowledge.

Technical properties:

  • Platform: Igor Pro 9 (Windows 11)
  • CallFunction XOP
  • JSON XOP

Analysis and visualization application for data of triple electron coincidence experiments

According to customer specification we developed algorithms for the analysis of measurement data from a photoemission experiment with four detectors, which measured triple electron coincidence. The 3D experimental setup is reproduced in the program. It offers a GUI to read in the 12D raw data and for setting the analysis and visualisation parameters. The complex calculations are implemented in multiple threads to speedup the interactive data evaluation and analysis. The visualization contains numerous interactive graphs in 1D, 2D and 3D. By supplying order parameters the user can select subgroups of the raw data for visualization. A separate programming module allows to generate artificial measurement data according to physical boundary conditions. These datasets can be imported into the analysis program to explore specific hypotheses.

Technical properties:

  • Igor Pro 9 (Windows 10)

Developement of an Igor Pro extension (XOP) to control devices from Zurich Instruments

We developed an extension (XOP) for Igor Pro with about 100 new functions to control devices from Zurich Instruments. A very large part of functionality of the Zurich Instruments LabOne framework is mapped.

Possibilities are e.g.:

  • Connect to the data server and instruments
  • Set and read back of parameters
  • Register to events, i.e. on change of a sensor value
  • Status handling

The extension was tested with hardware devices from Zurich Instruments.

Technical properties:

  • Platform: Igor Pro 8
  • CMake
  • C++ 17

Analysis and visualization application for data of triple electron coincidence experiments

Starting from a simple customer program for data collection in Labview 7, we developed a program for the analysis and visualization of data from electron coincidence experiments. The experimental setup was reproduced in the program for the analysis and visualized. The program offers a GUI to read in the 12D raw data and for setting the analysis and visualization parameters. The complex calculations are implemented in Labview. The visualization consists of numerous graphs in 1D and 2D.

Technical properties:

  • Platform: Labview 2020 (Windows 7)

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


Publication: https://arxiv.org/abs/2105.15055
Demo: https://www.youtube.com/watch?v=-ZM04K_lhwU

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...