3. MATERIALES Y MÉTODOS
3.4. Generación de ratones transgénicos mediante
3.4.3. Microinyección del ADN transgénico en los oocitos
measures calculated from raw eye movement data. Thus the concept, as described by Salvucci & Goldberg, of using a fixation identification algorithm as input to an area-based algorithm for further higher level analysis, can be used in the application.
The fixation identification algorithm used in the application is velocity-based and duration sensitive. For all Smart Eye data points an angular velocity is cal- culated using the point before and the point after. Points with velocity higher than a certain threshold, which can be set in the application (125°/sec as stan- dard), are marked as saccades. Remaining points are thus fixations. Consecutive fixation points in the raw data are then collapsed into single fixation tuples con- taining start time, stop time, average gaze direction, and average eye position. The durations are then calculated, and fixations with duration lower than the duration threshold (which can also be set in the application, 100 ms as standard) are removed.
One problem with pure velocity threshold algorithms occurs when the veloc- ities stay near the threshold for some period of time [17]. If the velocities cross the threshold value several times during this time period, a number of fixations containing only one or a few consecutive points are identified, resulting in a flicker between fixations and saccades. This problem is however solved, partly by the duration threshold removing short fixations, and partly by the fact that the fix- ations are the input to the higher level calculation of glances. Two consecutive fixations identified near the velocity threshold then simply become part of the same glance (given that they pass the duration threshold and occur in the same target). Calculation of glances and glance based measures are described further ahead.
4.5
Targets
Targets are important in the definition of glances and related measures. A target is defined as a predetermined area within the visual scene [10] and typical targets are road scene ahead, mirrors, instrument panel, information displays, etc. The targets of interest may differ from trial to trial, the purpose of one trial may be to evaluate the distraction caused by a new type of information display situated on the dashboard, while another trial aims to measure visual scanning patterns for sleepy drivers. Different trials require different sets of targets, and these targets need to be defined somewhere. The Smart Eye software allows the user to define a world model with a set of targets. Intersections of the gaze direction with these targets are then output in the data from the system. However, this does not allow one to change the targets or add new ones once the trial has been run, which is a serious limitation. Therefore VTEye includes functionality for definition of targets and calculation of intersections between targets and gaze directions.
34 CHAPTER 4. AUTOMATIC EYE MOVEMENT ANALYSIS
Figure 4.8: Simple convex quadrilateral
4.5.1 Definition of targets
The targets used in the application are simple convex quadrilaterals, i.e. non- self-intersecting polygons with four sides (see figure 4.8). The user defines a target simply by inputting the x, y, and z coordinates of its four vertices. The coordinates are given in the coordinate system used by Smart Eye, with its origin in the center of the chessboard-pattern described in section 3.2.1. No check is made by the program that the targets are correctly input, but this is easily inspected by the user, as the targets are drawn on the screen and can be rotated using the mouse (see figure4.2). An improperly defined target (i.e. concave, self- intersecting, or non-planar) can result in incorrectly calculated intersections for that target.
For each target, a priority value must also be assigned. This priority is used when intersections with multiple targets occur. A fixation can have only one target assigned to it, since it is unlikely that a person has his or her attention at two locations at the same time. If for example the center mirror and windshield are defined as targets, both these targets will be intersected by the gaze of the test subject when he or she looks in the center mirror, but the attention of the test subject lies solely on the mirror. One way of dealing with this situation would be to simply consider the closest target as the focus of attention, but this may not be suitable for other situations. Consider for example when the subject looks through the side window target into the side mirror target. In this case attention does not lie on the closest target. This is the reason why the user must specify a priority for each target.
4.5.2 Intersections
For each fixation, the application checks for intersections of the gaze direction with all of the defined targets. The algorithm used for this is a ray/triangle inter- section algorithm developed by M¨oller & Trumbore in 1997 [13]. The algorithm was originally developed for the C programming language, so some adaptation was required for it to work in Matlab. Matrix and vector operations are used as much as possible instead of loops, to speed up the calculations (Matlab is not