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.