WorldViz User Forum

WorldViz User Forum (https://forum.worldviz.com/index.php)
-   Vizard (https://forum.worldviz.com/forumdisplay.php?f=17)
-   -   connecting to SMI iViewX running a RED tracker (https://forum.worldviz.com/showthread.php?t=3970)

pkhoosh 10-18-2011 03:23 PM

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

Jeff 10-18-2011 05:20 PM

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?

pkhoosh 10-20-2011 11:32 AM

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


Jeff 10-20-2011 11:51 AM

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)


farshizzo 10-20-2011 11:57 AM

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.

pkhoosh 10-20-2011 12:32 PM

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.

farshizzo 10-20-2011 12:37 PM

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.

pkhoosh 10-20-2011 01:07 PM

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)


farshizzo 10-20-2011 02:44 PM

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)


pkhoosh 10-20-2011 03:01 PM

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

farshizzo 10-20-2011 04:02 PM

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.

pkhoosh 10-20-2011 04:17 PM

Yes, iView shows changing position.


All times are GMT -7. The time now is 07:23 AM.

Powered by vBulletin® Version 3.8.7
Copyright ©2000 - 2024, vBulletin Solutions, Inc.
Copyright 2002-2023 WorldViz LLC