Howdy, Stranger!

It looks like you're new here. If you want to get involved, click one of these buttons!

Supported by

[solved] SMI eye-tracker & backend

edited December 2013 in OpenSesame

We are using the SMI (iView-X MRI-LR, not sure if this matters) eye tracker with OpenSesame. Does it matter which backend is used? I am just trying to avoid PsychoPy if possible. While it seems fine when used with OpenSesame, we have had some major issues when using it on its own (long story, but a computer scientist colleague was involved in decision to avoid it, so I feel comfortable with the decision although it was based on PsychoPy alone, not with OpenSesame) and OpenSesame with the expyriment back-end has been excellent and reliable. But, it looks like the SMI website specifically mentions PsychoPy...

Sorry if this is a silly question, I haven't used eye-tracking before and don't have a chance to test anything out until our pilot subject, so I am being very careful.

Comments

  • edited 2:20AM

    Hi elizabeth,

    You could use any of the back-ends OpenSesame provides. As a matter of fact, we are currently working on plugins that should work with iViewX (although I can't promise that these will be finished within the time course of your study).

    I do not know why the SMI website specifically mentions PsychoPy. In my experience, PyGame (on which the legacy back-end is based) works equally well with SMI-trackers as PsychoPy does. This is mostly due to the fact that PsychoPy and PyGame are primarily used for displaying stimuli on the computer's display, whereas the iViewX API is used for communicating with your eye tracker.

    If you have any practical questions, please do not hesitate to ask.

    Best,

    Edwin

  • edited 2:20AM

    Hi Edwin,

    Our department are about to purchase a new eyetracker. Yesterday we had a demonstration of an SMI RED500 and a Tobii TX300.

    Whilst the instructors mentioned using other experimental software including PsychoPy and E-Prime, it was unclear whether Opensesame could be supported.

    Looking through COGSCIdotNL website, I came across this link:-

    http://files.cogsci.nl/documents/posters/mathot_schreij_theeuwes_opensesame_ecem2011.pdf

    It mentions here that the Tobii and Smi devices can be supported using the 3rd party's SDK.

    Alongside the development of an iViewX plugin, do you intend to create a plugin for the Tobii system in the future?

    This may decide on what system we intend to purchase in the near future.

    Thanks

    Anthony

  • edited April 2013

    Hi Anthony,

    In general, every eye tracker that has a Python library could be used together with OpenSesame. Usually, manufacturers that give out SDKs include a dll that is usable through Python, meaning that a lot of eye trackers, in theory, are compatible with OpenSesame. As long as you have the know-how to implement their functions.

    Tobii provides support for Python (http://www.tobii.com/en/eye-tracking-research/global/products/software/tobii-analytics-software-development-kit/tobii-software-development-kit/), but I do not have concrete plans for creating a plug-in for Tobii devices (mostly because I do not have access to one at the moment). Of course, on the long run, I would like to see plug-ins for as many eye trackers as possible. But I do not see it happening in the near future (unless somebody else is willing to work on it).

    The SMI plug-in is currently being developed using a RED-m as a testing device. It should work with other SMI-devices as well, since it's build on top of the universal SMI SDK, but no tests have been conducted yet!

    A sidenote on the poster you're referring to: we're going to be at ECEM 2013 as well, with OpenSesame plug-ins for both SMI and EyeLink devices (I even hope to give a demonstration, using SMI's RED-m).

    Good luck on choosing a device!

    Best,

    Edwin

  • edited 2:20AM

    Thanks Edwin, that is good to know. I will try it as is and see how it goes.

  • edited July 2013

    Hi @Evertox and @elizabeth,

    Update on the SMI functionality: a general eye-tracker plug-in is now available via GitHub, that should work with all iViewX based SMI devices (it is written on top of the SMI iViewXAPI).

    I have tested it on a SMI RED-m, using both the PyGame and PsychoPy back-ends. Both work beautifully! (apart from two small notes, see below) Feel free to download the plug-ins, test them and share your experience. I welcome all feedback!

    As I mentioned before: we will present this at ECEM this year (August 16th, during the Hardware poster session) and we'll probably have a demonstration setup.

    Best,

    Edwin

    NOTE: when using PsychoPy, the first attempt to calibrate will not work, since (for reasons I cannot yet grasp) the display isn't 'taken over' properly by iViewX. Solution is as simple as it is stupid: close the calibration screen on the first attempt, then press 'q' on the first drift check; this opens the calibration screen again, and now everything will work nicely.

    NOTE: when using PyGame, sometimes (seemingly random) after switching from iViewX display back to experiment display, the experiment is minimized (i.e.: the desktop is visible, not the experiment). The solution is simple: just click on the experiment in the task bar. This will bring forward the experiment again, and everything will work normally.

  • edited 2:20AM

    Hey @Edwin,

    I'm using a RED500 with a 2 PC setup (a stimulus PC with OpenSesame and another PC with the RED500 connected to it) and have attempted to use the generic plugins but get an error saying "instance of libsmi.libsmi does not have attribute sampleRate" or something along those lines.

    It can't be a connection issue as I'm able to remotely control the eyetracker fine so I was wondering if you knew what it could possibly be?

  • edited December 2013

    Hi!

    Nice to hear that somebody is using this! :) Are you using the EyeTracker plug-in, or the libsmi one from Sebastiaan? If you are using mine, would you be able to tell me what is in the Debug window? If the connection did fail for some reason, there should be output in there saying either one (but most likely the latter) of the following:

    "Error in libsmi.libsmi.init: failed to get system information (and then a more elaborate error message)"

    "Error in libsmi.libsmi.init: establishing connection failed (and then a more elaborate error message)"

    Cheers!

  • edited 2:20AM

    Hahaha I'm using the one that you supplied (and linked to) and it seems the problem is the fact that I'm using a 2 PC setup. There's only one input field for IP address in the plugin and I took a brief look at the code in libsmi and saw that the same IP address was being using for both listening and receiving.

    Hardcoding the IP addresses of both computers seemed to rectify the issue. Now I'm having problems with getting the accuracy data after verification. Same error as before, except now the error is dealing with attributes not existing and in particular "accuracyData" does not exist.

    Any help with that would also be helpful!

  • edited 2:20AM

    Ah, good that you mention this! Earlier testing was done on a single PC-setup and a setup that did in fact use the same IP for sending and receiving. In fact, I wonder what your setup looks like... Are you receiving data from the SMI on one PC, and then sending commands for the SMI to a second PC?

    Anyhow, the problem you have might very well be due to a shortcoming in SMI's Python bindings. If you look for a file called 'iViewXAPI.py', it should have the same contents as you can see here. If this is not the case (more specifically: if you are missing the CAccuracy struct), then simply add what is missing. That is: the CAccuracy class definition AND the bit where it says accuracyData = CAccuracy(0,0,0,0). You can find this in lines 64-68 and 87 in the link that I just mentioned.

    Also, if you are in fact missing the accuracyData, please do report back here, so I can adjust the bundling (on that note: from where did you download the plug-in?).

    Good luck! :)

  • edited December 2013

    Thanks for the quick reply Edwin! Yeah it seems the problem was with iViewXAPI.py. Weird that they give us a function to call upon to get accuracy data and then don't include the structure definition in the bindings!

    I downloaded the eye tracking plugin from here. If you're referring to the iViewX python bindings, I got them directly from SMI by emailing them.

  • edited 2:20AM

    Excellent, so now everything runs as it should?

    You're right, it's a bit odd that some structs (the accuracy one isn't the only one) are missing from the Python bindings. Luckily, it's an easy problem to solve. I have a feeling that the engineers at SMI, and at eye-tracker producers in general, prioritize the code in a language they prefer (usually C/C++), and regard bindings for other platforms as less important. That being said, I do really like the SMI SDK, as it is really easy to use compared to e.g. pylink and the Tobii Python bindings.

    I think I'll include our custom version of the iViewXAPI from now on. Thanks for pointing out the issue!

Sign In or Register to comment.

agen judi bola , sportbook, casino, togel, number game, singapore, tangkas, basket, slot, poker, dominoqq, agen bola. Semua permainan bisa dimainkan hanya dengan 1 ID. minimal deposit 50.000 ,- bonus cashback hingga 10% , diskon togel hingga 66% bisa bermain di android dan IOS kapanpun dan dimana pun. poker , bandarq , aduq, domino qq , dominobet. Semua permainan bisa dimainkan hanya dengan 1 ID. minimal deposit 10.000 ,- bonus turnover 0.5% dan bonus referral 20%. Bonus - bonus yang dihadirkan bisa terbilang cukup tinggi dan memuaskan, anda hanya perlu memasang pada situs yang memberikan bursa pasaran terbaik yaitu http://45.77.173.118/ Bola168. Situs penyedia segala jenis permainan poker online kini semakin banyak ditemukan di Internet, salah satunya TahunQQ merupakan situs Agen Judi Domino66 Dan BandarQ Terpercaya yang mampu memberikan banyak provit bagi bettornya. Permainan Yang Di Sediakan Dewi365 Juga sangat banyak Dan menarik dan Peluang untuk memenangkan Taruhan Judi online ini juga sangat mudah . Mainkan Segera Taruhan Sportbook anda bersama Agen Judi Bola Bersama Dewi365 Kemenangan Anda Berapa pun akan Terbayarkan. Tersedia 9 macam permainan seru yang bisa kamu mainkan hanya di dalam 1 ID saja. Permainan seru yang tersedia seperti Poker, Domino QQ Dan juga BandarQ Online. Semuanya tersedia lengkap hanya di ABGQQ. Situs ABGQQ sangat mudah dimenangkan, kamu juga akan mendapatkan mega bonus dan setiap pemain berhak mendapatkan cashback mingguan. ABGQQ juga telah diakui sebagai Bandar Domino Online yang menjamin sistem FAIR PLAY disetiap permainan yang bisa dimainkan dengan deposit minimal hanya Rp.25.000. DEWI365 adalah Bandar Judi Bola Terpercaya & resmi dan terpercaya di indonesia. Situs judi bola ini menyediakan fasilitas bagi anda untuk dapat bermain memainkan permainan judi bola. Didalam situs ini memiliki berbagai permainan taruhan bola terlengkap seperti Sbobet, yang membuat DEWI365 menjadi situs judi bola terbaik dan terpercaya di Indonesia. Tentunya sebagai situs yang bertugas sebagai Bandar Poker Online pastinya akan berusaha untuk menjaga semua informasi dan keamanan yang terdapat di POKERQQ13. Kotakqq adalah situs Judi Poker Online Terpercayayang menyediakan 9 jenis permainan sakong online, dominoqq, domino99, bandarq, bandar ceme, aduq, poker online, bandar poker, balak66, perang baccarat, dan capsa susun. Dengan minimal deposit withdraw 15.000 Anda sudah bisa memainkan semua permaina pkv games di situs kami. Jackpot besar,Win rate tinggi, Fair play, PKV Games