Giter Club home page Giter Club logo

pygazeanalyser's Introduction

version 0.1.0 (01-03-2014)

IF YOU DECIDE TO PUBLISH RESULTS OBTAINED WITH THIS SOFTWARE, PLEASE INCLUDE IN YOUR REFERENCES:

  • Dalmaijer, E.S., Mathôt, S., & Van der Stigchel, S. (2013). PyGaze: an open-source, cross-platform toolbox for minimal-effort programming of eye tracking experiments. Behaviour Research Methods. doi:10.3758/s13428-013-0422-2

This toolbox is developed by Edwin Dalmaijer and Sebastiaan Mathot. For more information on contributors, see: http://pygaze.org/contributors/

PyGaze is open source software and therefore free to use and modify at will. Warranty, however, is NOT given. If this software fails, causes your computer to blow up, your spouse to leave you, your toilet to clog and/or the entire supply of nuclear missles on earth to launch, or anything else that you might want to blame on us, the author(s) CANNOT IN ANY WAY be held responsible.

PyGaze was released under the GNU Public License (version 3), of which you should have received a copy of together with the software:

PyGaze is a Python package for easily creating gaze contingent experiments
or other software (as well as non-gaze contingent experiments/software)
Copyright (C) 2012-2014 Edwin S. Dalmaijer

This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.

This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
GNU General Public License for more details.

You should have received a copy of the GNU General Public License
along with this program.  If not, see <http://www.gnu.org/licenses/>

I hope PyGaze proves to be helpful to you!

pygazeanalyser's People

Contributors

esdalmaijer avatar mjschut avatar tamplier avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

pygazeanalyser's Issues

Issue with importing

When I try to import idfreader, an error always shows up:

ModuleNotFoundError: No module named 'detectors'

This is because idfreader imports functions from the file detectors but cant find its location.

Currently I have copied the pygazeanalyser folder from github into my dist-packages folder for Python 3.
Is there a formal way to install it so that the path to all the files of pygazeanalyser is recognised?

Bug in user input: slideshow example.

Hi esdalmaijer,
Although I could only find the "slideshow" example here: http://www.pygaze.org/resources/examples/slideshow.zip

I thought this is probably the best place to report the following bug

constants.py
Line 14: LOGFILENAME = input("Participant name: ")

doesn't work on python 2.6 / 7 (at least, it doesn't do what you intend... simple explanation here: http://cis.poly.edu/cs1114/pyLecturettes/raw_input-input.html

Perhaps the easiest work around here is to replace that line with something like the following (untested!)...

import sys
if sys.version_info < (3, 0):
LOGFILENAME = raw_input("Participant name: ")
else:
LOGFILENAME = input("Participant name: ")

Cheers,
Ben.

Sample data

Hello, there is some sample EDF files for analysis?

Recording can start with blinks

The code assumes that the recording starts with no blinks. I recommend adding 0 at the beginning of the 'miss' array to prevent miss identification of blinks.

TypeErrors in gazeplotter.draw_heatmap

Hello! I'm trying to produce a heatmap from an EyeTribe data file. The data seems to load and parse correctly, but gazeplotter.draw_heatmap keeps throwing TypeErrors.

import eyetribereader, gazeplotter, detectors
sub = eyetribereader.read_eyetribe("**********/subject-502.tsv", "start_trial", "stop_trial")
t = sub[15]
fixations = detectors.fixation_detection(t['x'], t['y'], t['time'])
gazeplotter.draw_heatmap(fixations[1], (1280, 1024))

In Python 2.7.13, this results in:

Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "gazeplotter.py", line 227, in draw_heatmap
    heatmap[y:y+gwh,x:x+gwh] += gaus * fix['dur'][i]
TypeError: slice indices must be integers or None or have an __index__ method

And in Python 3.6.0, it gives:

Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "************/PyGazeAnalyser/pygazeanalyser/gazeplotter.py", line 199, in draw_heatmap
    heatmap = numpy.zeros(heatmapsize, dtype=float)
TypeError: 'float' object cannot be interpreted as an integer

Can you tell what I'm doing wrong? I'm on Arch Linux, with matplotlib 2.0.0 and numpy 1.12.0.

No data cleaning in fixation_detection and saccade_detection

Hello.
I'm not sure if the project is still alive (last update was 2 years ago). But...
I've tried to create some pictures with analyser and found that data with zero values isn't excluded. Because of that I have many fixations and hight "temperature" in the upper left corner. Is it a bug? There are no problems to remove missing values with the following code:

#remove empty values
mx = numpy.array(x==missing, dtype=int)
my = numpy.array(y==missing, dtype=int)
x = x[(mx+my) != 2]
y = y[(mx+my) != 2]
time = time[(mx+my) != 2]

pygaze analyser with existing edf files

I want to create heatmaps from existing data not collected with pygaze (rather collected via python and eyelink). I am stuck trying to figure out what the required .txt file is supposed to contain as one was not created when I collected the data. I ran the example (slideshow) and tried to reconstruct a .txt file from that example, but ran into this error when I ran the analyzer script with my data:

saccades = edfdata[trialnr]['events']['Esac'] # [starttime, endtime, duration, startx, starty, endx, endy] IndexError: list index out of range

Any help is appreciated.

Tobii Pro 2 Glasses

I have data from Tobii Pro 2 Glasses. I have attached the CSV File. I want to plot fixations and heatmaps over the images. I have reader_tobii file. I don't have trials or events. I also want to know what is there in the .txt file as mentioned in the analysis.py code. I don't have any .txt file. Please help if possible.
gazeData_raw copy.csv

Using tsv files in analyzer

Hi,

Using the EyeTribe scanner creates a tsv file in the slideshow folder. But the code for the pygazeanalyzer requests a edf file and thus says no data found.

Do I have to convert tsv to edf ?

heatmaps do not work

It is the issue from ECEM workshop

File "/Applications/anaconda/lib/python2.7/site-packages/spyder/utils/site/sitecustomize.py", line 880, in runfile
execfile(filename, namespace)

File "/Applications/anaconda/lib/python2.7/site-packages/spyder/utils/site/sitecustomize.py", line 94, in execfile
builtins.execfile(filename, *where)

File "/Users/AShvarts/Documents/pyton/ECEMWorkshop/afternoon/analysis_mine.py", line 145, in
savefilename=plotpath)

File "pygazeanalyser/gazeplotter.py", line 227, in draw_heatmap
heatmap[y:y+gwh,x:x+gwh] += gaus * fix['dur'][i]

TypeError: slice indices must be integers or None or have an index method

Memory error for when the number of files greater than 12

Hi,

I have a file which contains readings from pytribe for more than 20 images. However, when I use the analyzer for doing the analysis, I get an error after the 12th one. The issue is with opening too many handles for the figures when its saving it.

It can easily be handled by splitting the files into two and doing the analysis but I just wanted to notify you regarding the error.

Thanks

no plots in analysis example

Hello. when i use analysis.py in example it gives me no plots in output. I have demo.asc and demo.edf files. what is the problem?
i think it's because of the demo.txt file. what should be in that file? thank you.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.