Document toolboxDocument toolbox

Zeisberg GmbH

merlin/eyeimpulse

Topic

merlin/eyeimpulse

QoS

1

Retain

true

Data

struct

A json formatted message is sent on this topic, when a head impulse is detected and when it’s recording is completed.

index

The system maintains an index for head impulses, which is used to align eye- and head-impulses. Both are sent asynchronously and can be mapped to each other using the index.

curve

Curve is a structure within the eye-impulse that carries the actual information on the recorded pupil positions.

curve.length

The length is the theoretical maximum buffer size which is reserved by the system for each eye-impulse.

curve.imgcount

This is the total number of images that have been recorded for the corresponding head impulse. This might be more images then the number of images actually analysed for the eye-impulse-recording.

curve.fps

Is the frame rate (frames per second) that the system has achieved for the present eye-impulse recording.

curve.starttime

Is the system time at the start of the recording.

curve.endtime

Is the system time at the end of the recording.

curve.duration

Is the total time span of the recording.

curve.dppx / dppy

Are the factors in horizontal (x) and vertical (y) direction for mapping pixels to angles → Degree Per Pixel.

These are initially set to default values that technically match the pupil motion to head motion taking filtering into account.

curve.iscal

Indicates if dppx / dppy values are default values or determined by calibration.

curve.positions []

Positions is an array of a structure that specifies pupil positions. The array has <imgcount> elements. Please find below a description of the fields of the structure:

curve.positions.t

Is the timestamp at the time of the recording of the image in UnixMicros().

curve.positions.x

Is the horizontal position of the pupil in the image measured from the center of the image in pixel. Multiply the value with dppx to get the horizontal motion of the pupil from the center position.

curve.position.y

Is the vertical position of the pupil in the image measured from the center of the image in pixel. Multiply the value with dppy to get the horizontal motion of the pupil from the center position.

curve.position.valid

Is a boolean value that indicated if the eyetracker was able to find the pupil in this image (true) or not (false).

curve.speed[]

Speed is an array that has formerly provided the speed of the eye movement between images. However, since several post-processing steps are required to derive the actual eye velocity from the images, this part of the head impulse processing has been moved from backend to frontend.

curve.TrigCnt

Is an internal value. It is used to note the image position at the time when the head impulse was triggered to synchronise the recording of eye- and head-positions.

curve.Presampling

Presampling is an adjustment value that is used to align the recording of the eye position to the recording of the head position. Both, the eye and head positions are recorded continuously. At the time the head impulse motion triggers the recording, the beginning of the curves is already passed. The preasampling value indicated the time that the actual start of the curve lies before the Trigger point.

curve.StopIdx

Internal value that specifies the index in the internal image buffer at which the recording was stopped.

curve.PointsTotal

Is the total number of images used for the analysis of the eye-impulse-recording. This includes invalid images, i.e. images in which the eyetracker could not find a pupil.

curve.PointsValid

Is the number of valid points in the eye-impulse-recording, i.e. the number of images, in which the eyetracker has found the pupil.

Gutenbergstrasse 39 * 72555 Metzingen

Achtung: Ausgedruckte gelenkte Dokumente sind nicht gültig!
Die gültige Fassung ist in Confluence abrufbar.