Library for high speed calcualtion of z positions from an image stack

Vertragsart:
Remote
Start:
ab sofort
Dauer:
1 Monate (Verlängerung möglich)
Von:
Confovis GmbH
Ort:
Jena
Eingestellt:
15.10.2020
Land:
flag_no Deutschland
Ansprechpartner:
Michael Himmelreich
Projekt-ID:
1983338


For our confocal measurement systems, we need a library for calculating z positions from an recorded image stack.

Image stack:
The measurement data is provided in the form of an image stack. Each image in the image stack consist of 16-bit monochrome pixels. The intensity of each pixels represents a modulation value. An individual z position is assigned to each image.

Pixel stack:
A pixel stack describes a sequence of pixel of all images in the image stack at the same pixel position. To each pixel in the pixel stack the z position of the image the pixel comes from is assigned. So, a pixel stack contains measurement data for one measurement point at the surface of the probe, measured at several z positions.
The modulation value of each pixel depends on the distance between the z position of the pixel and the z-position of the surface of the probe. The signal sequence of the modulation values of one measurement point in respect to the z position resembles a Gaussian distribution.

Calculating z coordinates:
Since the modulation signal is sampled by stepping along the z axis and the measurement data is affected by camera noise, position sensor errors and optical distortions, the maximum modulation value does not necessarily represent the sought-after z position.
Therefor if a Gaussian function is fitted to the data points, the sought-after z position is the position at which the maximum of this Gaussian function is calculated.

Implementation:
The library needs to be implemented for the x64 platform. The library need to be compatible to Windows 10 and provide an .Net interface. The library can be implemented in any language. If it is implemented in a non .Net language a .Net wrapper needs to be provided.
The library must include error handling and must not cause the software that uses the library to crash.

Our intention is to reduce the processing time compared to the currently used algorithm by 66%. If necessary the GPU can be used for calculation. If a special graphics board is needed, it must be approved by us.