eyetracker | Software for our self-calibrating eye tracker | Machine Learning library
kandi X-RAY | eyetracker Summary
kandi X-RAY | eyetracker Summary
The code contained in this repository implements a self-calibrating eyetracker as described in the following paper:. Davide F. Zoccolan, Brett J. Graham, David D. Cox (2010) A self-calibrating, camera-based eye tracker for the recording of rodent eye movements. Frontiers in Neuroscience 4. Please see for details. The development of this system was supported by the National Science Foundation (IOS0947777).
Support
Quality
Security
License
Reuse
Top functions reviewed by kandi - BETA
Currently covering the most popular Java, JavaScript and Python libraries. See a Sample of eyetracker
eyetracker Key Features
eyetracker Examples and Code Snippets
Community Discussions
Trending Discussions on eyetracker
QUESTION
I have Tkinter GUI app with two frames. What I want to do is to run two infinity loops at the same time. While one loop can get data from another.
I have main.py
...ANSWER
Answered 2021-Jan-03 at 11:43One could use something like this:
QUESTION
I'm creating a small demo where objects shall move based on the eyetracker data from a FOVE VR headset.
When I try to move my two objects around ("Gaze Responder - Target" and "Gaze Responder - Fixation"): They don't move, and the colliders stop working.
I have the following hierarchy in Unity3d (2017.4.40f1)
The following Code is attached to GazeContingenVisualField
...ANSWER
Answered 2020-Aug-06 at 09:45I'm not exactly sure how FOVE works, but is it somehow resetting the "-Target" objects transform?
When I was working with AR, some GameObjects (the targets) couldn't be moved around because their transforms were handled by the library and trying to do so caused all sorts of weird problems.
Perhaps what you want to move are the actual "Gazable Objects" (I know this is VR, but maybe it's the same issue).
And if anything, on the last case statement you're setting the local position of Fixation to the local position of TargetGazeObj but their coordinate references are probably different, so you may want to utilize the global position there.
QUESTION
I am working bulid a eye gaze visualization tool just like this by PyQt5, and I also checked this post. here is the code by modifing the above links. turn out it's worked, but the video always get stuck sometime (the audio is normal, the the frames stuck, both video content and ellipse,just like this video),anyone can help?
...ANSWER
Answered 2020-Feb-18 at 18:40According to the warning message:
QUESTION
I have two dataframes, one (called "trialTS") which contains a series of "trials" (1,2,3, etc) and a start and an end timestamp:
...ANSWER
Answered 2019-Dec-12 at 16:52you can use the package fuzzyjoin :
QUESTION
I am trying to find the gaze co-ordinates of a user wearing a HTC Vive with integrated Tobii Eyetracker. The user is viewing a 360-degree video playing inside a Unity Skybox. I am using the Tobii Pro SDK.
I have used the VREyeTracker Prefab of Tobii and am getting parameters and values in the XML file (more details below in results). How is Unity Data different from Raw Data? Since I am not able to find any document with relevant description, I am not sure if the results obtained in the XML contain the information I am looking for.
Unity Data:
...ANSWER
Answered 2019-Sep-04 at 11:43If you compare both data sets you can quite easily see the following relations:
Unity Data
QUESTION
A separate process calls a function whenever data is available and provides that data as the input to the called function
In the function I process the data, and want to make results of it globally available (i.e., a globally available variable changes its value dynamically)
What is a clean method to achieve this across modules, when within a module, this job would be performed well through a global variable?
I use an eyetracking device (Tobii 4C) that can provide gaze data of a human via a Python API
The typical flow would be to:
- initialize an
eyetracker
object, pointing to the eyetracking device - "subscribe" the eyetracker object to the actual data:
eyetracker.subscribe_to(DATA, callback)
The callback
is a function handle that gets called everytime the eyetracking device has new data available. Typically it would be used to save data, e.g.:
ANSWER
Answered 2019-May-20 at 17:22A workaround to this problem is to use for example a global dict. I will show you a code snippet based on the linked question that demonstrates the idea:
file1.py:
QUESTION
I have a Windows Form Application. I want some functions to work with the space key. But when I press the space key, the function I want is not working and it goes to the next form. (I did KeyPreview = true)
...ANSWER
Answered 2018-Jul-29 at 15:00Because:
1- If you have buttons, ... keydown won't work as form won't have focus anymore 2-you must handle the keydown so that it is not passed to ohter controls
Solution for 1:
set KeyPreview
property of your form to true
Solution for 2:
set e.Handled = true
:
QUESTION
The goal is simple: show a dialog with options, then when a option is selected it will automatically replace some values (to decrease the possibility of making an error while typing the values manually). The following code is part of a larger code, but this is the most important part. The larger piece of code was written by someone else. I wrote the following block:
...ANSWER
Answered 2018-Jun-18 at 13:46expInfo['refOrientation':'-45','x':'-4.24','y':'-4.24']
QUESTION
I have got a class that records eyetracking data asynchronously. There are methods to start
and stop
the recording process. The data is collected in a collection and the collection can only be accessed if the recording thread has finished its work. It basically encapsulates all the threading and synchronizing so the user of my library doesn't have to do it.
The heavily shortened code (generics and error handling omitted):
...ANSWER
Answered 2017-Feb-28 at 10:47There is a better way using a CountDownLatch.
The non-deterministic part of the test stems from two variables in time you do not account for:
- creating and starting a thread takes time and the thread may not have started executing the runnable when
Thread.start()
returns (the runnable will get executed, but it may be a bit later). - the stop/interrupt will break the while-loop in the Runnable but not immediately, it may be a bit later.
This is where a CountDownLatch
comes in: it gives you precise information about where another thread is in execution. E.g. let the first thread wait on the latch, while the second "counts down" the latch as last statement within a runnable and now the first thread knows that the runnable finished. The CountDownLatch
also acts as a synchronizer: whatever the second thread was writing to memory, can now be read by the first thread.
Instead of using an interrupt, you can also use a volatile
boolean. Any thread reading the volatile
variable is guaranteed to see the last value set by any other thread.
A CountDownLatch
can also be given a timeout which is useful for tests that can hang: if you have to wait to long you can abort the whole test (e.g. shutdown executors, interrupt threads) and throw an AssertionError
. In the code below I re-used the timeout to wait for a certain amount of data to collect instead of 'sleeping'.
As an optimization, use an Executor (ThreadPool) instead of creating and starting threads. The latter is relative expensive, using an Executor can really make a difference.
Below the updated code, I made it runnable as an application (main
method). (edit 28/02/17: check maxCollect > 0 in while-loop)
QUESTION
I implemented a service that asynchronously fetches data from an eyetracker and provides a PublishSubject that anyone who is interested can subscribe to to get a stream of the latest eyetracking events.
What i have no clue about is how to get these events into my GUI thread (since eyetracking is pretty useless without the information of what is being displayed) and how to throttle the received events enough so the GUI does not lag because of blocking the thread.
Can someone give me a hint on how to do that using RxJava?
...ANSWER
Answered 2017-Feb-13 at 16:28... You can move computations or blocking IO to some other thread via subscribeOn. Once the data is ready, you can make sure they get processed on the foreground or GUI thread via observeOn
Community Discussions, Code Snippets contain sources that include Stack Exchange Network
Vulnerabilities
No vulnerabilities reported
Install eyetracker
Support
Reuse Trending Solutions
Find, review, and download reusable Libraries, Code Snippets, Cloud APIs from over 650 million Knowledge Items
Find more librariesStay Updated
Subscribe to our newsletter for trending solutions and developer bootcamps
Share this Page