UvA facelab 5 extension for Presentation



Similar documents
Implementation of eye tracking functions in the Presentation interface for the EyeLink-II eye tracking system, Version 0.9-Beta

Preparing the Windows version of the software for use

753 Broad Street Phone: Suite 200 Fax: Augusta, GA Copyrights

Interfacing Basler GigE Cameras With Cognex VisionPro 7.2

Kurz MODBUS Client User s Guide

Immotec Systems, Inc. SQL Server 2005 Installation Document

Setting up an MS SQL Server for IGSS

School of Information Technology and Engineering (SITE) CEG 4395: Computer Network Management

1. CONFIGURING REMOTE ACCESS TO SQL SERVER EXPRESS

Sync IT. Detailed description of program. Tab: Sync

Using SQL-server as database engine

Capture Pro Software FTP Server Output Format

Docufide Client Installation Guide for Windows

SSL (Secure Socket Layer)

How To Create An Easybelle History Database On A Microsoft Powerbook (Windows)

Using RADIUS Agent for Transparent User Identification

Using IDENT M System T with Modbus/TCP

Original brief explanation

Backup Server DOC-OEMSPP-S/6-BUS-EN

MS Active Sync: Sync with External Memory Files

CALL REPORTING START GUIDE

KM-Net ServiceGateway Quick Start Guide. Version # November 2004

TVWall User s Manual (for WindowsXP/2003/Win7/Vista)

Capture Pro Software FTP Server System Output

Custom Solutions Center. Users Guide. Low Cost OEM PackML Templates L02 Release. Version LC-1.0

SHARP Digital Signage Software Pro PN-SS05 OPERATION MANUAL

3.1 RS-232/422/485 Pinout:PORT1-4(RJ-45) RJ-45 RS-232 RS-422 RS-485 PIN1 TXD PIN2 RXD PIN3 GND PIN4 PIN5 T PIN6 T PIN7 R+ PIN8 R-

ilaw Installation Procedure

MetroPro Remote Access OMP-0476F. Zygo Corporation Laurel Brook Road P.O. Box 448 Middlefield, Connecticut 06455

Burst Technology bt-loganalyzer SE

Option nv, Gaston Geenslaan 14, B-3001 Leuven Tel Fax Page 1 of 14

This configuration guide describes the installation process of SNMP on Windows and Linux with the NetBorder Express Gateway.

LPR for Windows 95/98/Me/2000/XP TCP/IP Printing User s Guide. Rev. 03 (November, 2001)

RemoteTM LAN Server User Guide

Konica Minolta s Optimised Print Services (OPS)

SYNCHRONIZE DIGITAL CLOCK SYSTEM NETWORK DIGITAL CLOCK VER 1.0 DYNATEK

Headtrackr Instructions

Keep it Simple Timing

Addonics T E C H N O L O G I E S. NAS Adapter. Model: NASU Key Features

Modbus and ION Technology

Connecting to the Staff Desktop Service

Streaming Media System Requirements and Troubleshooting Assistance

INTELLIscribe Installation and Setup for Windows 2000, XP, Server 2003, and Vista

Install MS SQL Server 2012 Express Edition

Creating client-server setup with multiple clients

Real-time Device Monitoring Using AWS

SALTO WINDOWS SERVICE. Using Service without Domain in a Workgroup

Informatica Cloud Connector for SharePoint 2010/2013 User Guide

DSX-HSCS Hot Swap Comm Server

Moxa Device Manager 2.3 User s Manual

User s Manual TCP/IP TO RS-232/422/485 CONVERTER. 1.1 Introduction. 1.2 Main features. Dynamic DNS

E-Prime Extensions for Tobii

Virtual Integrated Design Getting started with RS232 Hex Com Tool v6.0

SYMETRIX SOLUTIONS: TECH TIP August 2015

This document explains how to use your Web Browser to configure the 100BaseT Print Server models

Status Monitoring. Using Drivers by Seagull to Display Printer Status Information WHITE PAPER

ilaw Server Migration Guide

Unified Utility Manual Label Printer. Rev. 2.08

ScanWin Installation and Windows 7-64 bit operating system

Guideline for setting up a functional VPN

1 INTRODUCTION. This document describes the procedure to upgrade LTMR.

Troubleshooting Tools to Diagnose or Report a Problem February 23, 2012

eztcp Technical Document Modbus/TCP of eztcp Caution: Specifications of this document may be changed without prior notice for improvement.

User Manual Gigabit Ethernet Vision Quick Start Guide

Back-up Server DOC-OEMSPP-S/2014-BUS-EN-10/12/13

NMS300 Network Management System

APPENDIX I Basic Windows NT Server 4.0 Installation and Configuration

PRINT FLEET MANAGER USER MANUAL

C-more Remote Access, Data Log, FTP File Transfer, and Tutorial

To perform Ethernet setup and communication verification, first perform RS232 setup and communication verification:

Eye-tracking. Benjamin Noël

DP-313 Wireless Print Server

DiskPulse DISK CHANGE MONITOR

Arduino Internet Connectivity: Maintenance Manual Julian Ryan Draft No. 7 April 24, 2015

1 PC to WX64 direction connection with crossover cable or hub/switch

Network/Floating License Installation Instructions

ebus Player Quick Start Guide

The MAC address, short for Media Access Control address, is a number in hexadecimal format that uniquely identifies every machine on a network.

DSA-1000 / PRT-1000 Device Server / Thermal Printer

Label Gallery Software for Microsoft Windows Terminal Services and Citrix MetaFrame

Self Help Guide IMPORTANT! Configuring Your Router With Your Modem. Please read the following carefully; This Guide refers to the following Products:

KINETIC SR (Survey and Request)

T-BOXN12R. First steps with T-BOXN12R. You can make it wireless. Date: Version 1.0

NaturalPoint Tracking Tools Users Manual : Getting Started 04/19/10 18:47:59

WorldExtend IronDoor 3.5 Publishing a Terminal Services Application

OPERATION MANUAL. MV-410RGB Layout Editor. Version 2.1- higher

VoIP Recorder V2 Setup Guide

PMS. Energy management and monitoring software. Installation and operation instructions

Migration Strategies and Tools for the HP Print Server Appliance

Printer Connection Manager

Short Manual Intellect v SP2 module Unipos Contents:

Installation Guide V1.0

Application & Quick-Start Guide

How to Install Multiple Monitoring Agents on a Microsoft Operating System. Version StoneGate Firewall/VPN 2.6 and SMC 3.2

ezvsp User's Manual ( Version 2.1d ) Sollae Systems Co., Ltd.

Setup Instructions for Secure Hummingbird FTP

Transcription:

UvA facelab 5 extension for Presentation a Presentation IEyeTracker2 interface Filename : UvA EyeTracker Author : B. Molenkamp 1/7

UvA facelab IEyeTracker2 interface for Presentation Installation of the DLL file To install the extension on your computer simply double click the facelab_et2.msi file. The default installation folder is C:\Program Files\Common Files\faceLAB_ET2. The installer will take care of registering the extension with Presentation, so no additional steps are required to start using the eyetracker functionality within your code. In Presentation the extension is registered with the name facelab and should be loaded with the following command: eye_tracker tracker = new eye_tracker( facelab );. The extension uses the TCP/IP or UDP network protocol to communicate with the facelab computer. The current version of facelab 5 starts sending tracking data over TCP/IP once the Start Tracking button is pressed. The current version of the extension was built with the SeeingMachines Coredata SDK version 3.0.2.61534. IEyeTracker2 implementation The UvA interface implements two ways of acquiring data from the eyetracker: a direct mode using the tracker.sendmessage() method to read the latest data from the eyetracker, and the preferred method of acquiring data through the tracker.get_nnn_data() and tracker.last_nnn_data() methods as documented in the Presentation Help Guide. When the eyetracker extension is loaded in the PCL script the extension starts polling the eyetracker hardware for data. After calling tracker.start_data( dt_type ) for a particular data type, Presentation takes care of storing the data. When tracker.start_data( dt_type ) was not called, the extension keeps only the last sample from the eyetracker hardware in memory. Filename : UvA EyeTracker Author : B. Molenkamp 2/7

Sendmessage functions By using the tracker.send_message()method specific data fields can be acquired from the eyetracker: output_value = tracker.send_message( value_type ); output_value is a string which should be converted to the appropriate type: double x; x = double( tracker.send_message( GetFixation_X ) ); Currently the following messages are supported: Message: GetHeadPosition_X GetHeadPosition_Y GetHeadPosition_Z Return value: (double) position of the head in world coordinates (meter) (double) (double) GetHeadPosition_Conf (double) confidence value ranging from 0.0 to 1.0 GetHeadPosition_Time Message: GetPosition_X GetPosition_Y (int) sample time as reported by the tracker (ms from 1-1-1970 GMT) Return value: (int) gaze position on the target surface (pixels) (int) GetPupil_L GetPupil_R (double) pupil diameter in mm (double) GetSaccade* GetFrame GetTime (bool) true when saccade going, false otherwise (int) frame-number of the last data sample (int) time of the last data sample (ms from 1-1-1970 GMT) * saccade data is only available when Track Eyes is checked in the facelab 5 Controls/options window The times returned by the send_message() samples are times as reported by the eye tracker, and are not necessarily synchronous to Presentation time. Polling for eyetracker data fields in PCL code will produce many equal data points, as the sample speed of the tracker is considerably lower than the polling speed. Filename : UvA EyeTracker Author : B. Molenkamp 3/7

The functions above retrieve the latest data sent by the eyetracker. For HeadPositionData the interface can be instructed to store the samples from the eyetracker. The following send_message calls are available in PCL language: StartHeadPosition StopHeadPosition GetHeadPosition, -1 GetHeadPosition, 1 initiates storing of head position data stops adding head position data to the queue returns the number of head position events in the queue retrieves the first head position data element from the queue The maximum number of head position data elements is limited to 65536. When this amount of data events is reached, the interface simply stops storing data. To request the number of elements in the queue, call tracker.send_message( GetHeadPosition, -1 ). The function tracker.send_message( GetHeadPosition, 1 ) retrieves and removes the first element from the queue. The PCL code to use the commands: tracker.send_message( "StartHeadPosition" ); ##### PRESENT TRIAL ##### tracker.send_message( "StopHeadPosition" ); string snumberofevents = tracker.send_message( "GetHeadPosition, -1" ); int nr_events = int( snumberofevents ); loop n = 1; until n > nr_events begin end; out_file.print( tracker.send_message( "GetHeadPosition, 1" ) + "\n" ); n = n + 1; The output produced by the send_message( GetHeadPosition, 1 ) function is always a string with a fixed length, containing the acquisition time of the sample (integer, 10 positions), X, Y and Z positions (double, 6 positions per value), the confidence of the data (double, 6 positions) and the sample Filename : UvA EyeTracker Author : B. Molenkamp 4/7

frame number (integer, 8 positions) separated by single space characters. Retrieve individual measures by using the substring() method on the returned string: double Z_pos = double( tracker.send_message( GetHeadPosition, 1 ).substring( 26, 6) ); Filename : UvA EyeTracker Author : B. Molenkamp 5/7

The built-in Presentation IEyeTracker2 functions The Presentation help file explains how communication between the interface and pcl code should be programmed. The current version supports eye gaze position, pupil diameter, saccade, and blink events as reported by the eyetracker. Selected events will only be available when the eyetracker is set to send these events. The event.time field reports the number of milliseconds since the eyetracker interface was loaded in pcl code ( eye_tracker tracker = new eye_tracker("facelab"); ). This means that the time reported in the event s time field starts at 0 and increases in the pace of the eyetracker s sample clock. eye_tracker tracker = new eye_tracker( "facelab" ); tracker.send_string( "ip: 145.18.151.147" ); tracker.send_string( "port: 3000" ); tracker.send_string( "WorldModelItem: Plane (1)" ); eye_position_data eye_pos; tracker.set_max_buffer_size(dt_position,10000); tracker.start_tracking(); ######## PRESENT TRIAL ######## tracker.start_data( dt_position, false ); tracker.clear_buffer(dt_position); loop int i = 1; until i > tracker.buffer_position( dt_position ) begin eye_pos = tracker.get_position_data( i ); ### do something with your eye-position data ### i = i + 1; end; Filename : UvA EyeTracker Author : B. Molenkamp 6/7

Miscellaneous commands The tracker.send_string() method is used to send properties required to communicate with the eyetracker. The extension communicates through TCP/IP or UDP protocols with the facelab 5 computer. The port and ip address can be set using the send_string() command. TCP/IP requires both a port number and ip-address to be set, UDP only requires the port number. tracker.send_string( "ip: 145.18.151.147" ); sets the IP-address of the eyetracker PC. tracker.send_string( port: 3000 ); sets the port on the target PC to listen to. The target surface for eye-gaze position can be set as follows: tracker.send_string( WorldModelItem: Plane (1) ); This command sets the target surface for which eye gaze position data are calculated. Plane (1) is the name of the target surface as defined in the World - Desk window (Configuration tab -> Label). Filename : UvA EyeTracker Author : B. Molenkamp 7/7