#1
|
|||
|
|||
connecting to SMI iViewX running a RED tracker
Hi,
I followed the hardware reference for connecting to the SMI eye tracker using iViewX, but there are no changes to the XY pupil position that I'm printing in Vizard. I'm assuming the values it prints should change a little because my is moving. It just prints [0.0, 1.0, 0.0] for the normalized data (and [0 1023 0] for the raw pixel value). A related question: Why is the output a 3 element vector (and not just two for the XY?)? Let me describe our setup. We have the SMI laptop that runs iView X (address= 192.168.10.1, port=4444). We have another computer running Vizard (address=192.168.10.7, port=5555) and the SMI Experiment Center (to which we need to connect for the study; we configure this with remote interface 2 in iViewX). According to the Vizard help instructions, I setup the hardware section of iViewX to communicate to remote interface 1 via Ethernet. The iViewX network config is set to listen to 192.168.10.1 (port 4444), which is the laptop running iViewX, and send UDP packets to 192.168.10.7, which is the Vizard computer. According to the Vizard reference, I set the port value for both listening and sending as 4444 (the iView laptop). (What's the logic behind that?) Am I missing something? The tracker is a RED4 using FireWire. pete |
#2
|
|||
|
|||
Can you post an example script you've tested with?
Are you getting the data within the SMI Experiment Center? Do you have any firewalls/virus scanners enabled? |
#3
|
|||
|
|||
I am using Experiment Center to collect the data, but it is actually getting the raw eye data from the dedicated laptop running iView.
I have everything (iView laptop, Experiment Center desktop, Biopac, and Biopac recording laptop) running through a network switch and they are all communicating fine so there's no firewall issue. Code:
# data aggregation of Eye tracking from SMI and synching with Biopac recording channels smi = viz.add('smi.dle') tracker = smi.addEyeTracker(address='192.168.10.1', port=4444) while 1: print tracker.getPosition(smi.PIXELS) print 'Calibration size:',tracker.getCalibrationSize() end |
#4
|
|||
|
|||
Are your results any different if you get the data in a timer function?
Code:
def showData(): print tracker.getPosition(smi.PIXELS) print 'Calibration size:',tracker.getCalibrationSize() vizact.ontimer(0,showData) |
#5
|
|||
|
|||
Does your script output any error messages when adding the eye tracker? What version if iView X are you running? The plugin is based on the the network protocol defined in version 2.1.14.
|
#6
|
|||
|
|||
Jeff, when I use the timer, I don't get any results. I'm not sure why there is no output because the timer should lead to the same behavior as the continuous while loop.
I'm using iView 2.7 build 9 (2011). I just checked the release notes and v 2.1 is from 2008. |
#7
|
|||
|
|||
Can you post the entire contents of the script you are running? Also, would you mind emailing me the iView X CHM help file? It should contain information about the remote command network interface. My email is lashkari@worldviz.com.
|
#8
|
|||
|
|||
Here's the script again, now using timers instead of the while.
I sent you the CHM file. Code:
# data aggregation of Eye tracking from SMI and synching with Biopac recording channels smi = viz.add('smi.dle') tracker = smi.addEyeTracker(address='192.168.10.1', port=4444) def showData(): print tracker.getPosition(smi.PIXELS) print 'Calibration size:',tracker.getCalibrationSize() vizact.ontimer(0,showData) |
#9
|
|||
|
|||
If that's your entire script, then nothing will be output since you are not creating the main graphics window using viz.go(). Try running this script:
Code:
# data aggregation of Eye tracking from SMI and synching with Biopac recording channels import viz import vizact viz.go() smi = viz.add('smi.dle') tracker = smi.addEyeTracker(address='192.168.10.1', port=4444) def showData(): print tracker.getPosition(smi.PIXELS) print 'Calibration size:',tracker.getCalibrationSize() vizact.ontimer(0,showData) |
#10
|
|||
|
|||
I added those lines and am now outputting the same thing that I was getting with the while loop.
Namely, [0.0, 1023.0, 0.0] Calibration size: (1280,1024) .... [0.0, 1023.0, 0.0] Calibration size: (1280,1024) Again, I'm not getting any errors when adding the SMI.dle |
#11
|
|||
|
|||
Does the iView program show that the gaze position is changing? It appears Vizard is connecting properly to the iView program since it is receiving a valid calibration size. So if the position is not changing within Vizard, then either iView is sending the same data values or not sending any data values at all.
|
#12
|
|||
|
|||
Yes, iView shows changing position.
|
Tags |
eyetracking, iview, smi |
Thread Tools | |
Display Modes | Rate This Thread |
|
|
Similar Threads | ||||
Thread | Thread Starter | Forum | Replies | Last Post |
Intersense wand and Head tracker | blessonisaac | Vizard | 0 | 01-10-2011 04:39 PM |
The problem of tracker using via VRPN | _kj_ | Vizard | 2 | 08-13-2009 01:03 AM |
Simple Head Tracker | PHart | Vizard | 1 | 05-10-2009 06:35 PM |
Interface with Tobii Eye Tracker | Uttama_vizard | Precision Position Tracker (PPT) | 1 | 12-12-2007 12:31 PM |
Problems running R3 and R2.5 on the same computer | cade_mccall | Vizard | 5 | 09-05-2006 12:26 PM |