All posts by ahashimoto

Timestamp

Format

All the timestamps in KUSK dataset follows to the next format.

%Y%m%d_%H%M%S_%N

Note: %N is nano seconds, but it is rounded into mili seconds or micro seconds in KUSK Dataset.

例: 13th May 2014, 12:21:29.662

20140513_122129_662000

Parse Code(Ruby)

A sample code for parsing the timestamp.

def parse_time(timestamp_str)
  buf = /(\d{4})(\d{2})(\d{2})_(\d{2})(\d{2})(\d{2})_(\d+)/.match(timestamp_str)
  return nil if nil == buf[0]  Time.utc($1.to_i,$2.to_i,$3.to_i,$4.to_i,$5.to_i,"#{$6}.#{$7}".to_r)
end

Data Format -Eye Tracker-

Sensor

Tobii X2-30 Eye Tracker

File Format

.csv (comma separated values)

Note

no data is stored while no eyeballs are detected by the sensor.

Data Alignment of a Column

  1. time stamp
  2. left eye position 3D x
  3. left eye position 3D y
  4. left eye position 3D z
  5. left eye position 3D relative x
  6. left eye position 3D relative y
  7. left eye position 3D relative z
  8. left gaze point 2D x
  9. left gaze point 2D y
  10. left gaze point 3D x
  11. left gaze point 3D y
  12. left gaze point 3D z
  13. left pupil diameter
  14. left validity
  15. right eye position 3D x
  16. right eye position 3D y
  17. right eye position 3D z
  18. right eye position 3D relative x
  19. right eye position 3D relative y
  20. right eye position 3D relative z
  21. right gaze point 2D x
  22. right gaze point 2D y
  23. right gaze point 3D x
  24. right gaze point 3D y
  25. right gaze point 3D z
  26. right pupil diameter
  27. right validity

Please refer Tobii’s SDK manual for the exact definition of each value.

You can download it from here.  Check out “Tobii Analytics SDK Developers Guide.pdf,” which is included in the SDK.

CHIFFON -Command-

function {message to navigator} arguments
next {“navigator”:”default”,”action”:{“name”:”next”}} check the displayed substep, and switch to the next substep
check {“navigator”:”default”,”action”:{“name”:”check”,”target”:”substep01_01″[,”value”=false]}} check/uncheck the target step/substep.
change {“navigator”:”default”,”action”:{“name”:”change”,”target”:”substep01_01″}} show the target substep with checking nothing.
undo {“navigator”:”default”,”action”:{“name”:”undo”[,”index”:”1″]}} undo the previous command

(including user’s operation through the viewer.)

redo {“navigator”:”default”,”action”:{“name”:”redo”}} redo the command
jump {“navigator”:”default”,”action”:{“name”:”jump”,”target”:”substep01_01″,”check”:”false”}} check the displayed substep (if “check”!=”false”), and display the substep indicated as “target.”
event {“navigator”:”default”,”mode”:”order”,”action”:{“name”:”event”,”target”:”event01″}} send event id to trigger elements along to HWML description.

If you want to develop own command, please contact us.

CHIFFON -Tutorial-

Prerequisites

Google Chrome 35 or later


Steps

1. Open the viewer in a browser tab (link), and log in by the guest account.

id: guest

pw: chiffon

2. Choose a recipe.


3.  Open the Wizard of OZ interface (link) in another browser (or even another PC is acceptable)


4. Now, you can control the viewer from WOZ interface!

(If it does not work properly, it can happen another person may have logged in at the same time. Do the process from step 1 again.)


Extra

[For more expert developper]

You can control the viewer without WOZ interface. A simple HTTP GET Request through browser or by wget/curl commands handle the viewer.

%wget -O - -q 'http://chiffon.mm.media.kyoto-u.ac.jp/receiver?sessionid=${session_id}&string=${command}'

${session_id} and ${command} should be replaced properly along your situation.

1. ${session_id}

You can get it from the address bar of WOZ interface.

http://chiffon.mm.media.kyoto-u.ac.jp/woz/guest-20YY.mm.dd_HH.MM.SS.xxxx

2.  ${command}

An example is {“navigator”:”default”,”action”:{“name”:”next”}}.

%wget -O - -q 'http://chiffon.mm.media.kyoto-u.ac.jp/receiver?sessionid=${session_id}&string={"navigator":"default","action":{"name":"next"}}'

You can find various commands in HTTP Request histroy shown on WOZ interface or here!