GithubHelp home page GithubHelp logo

boogui's Introduction

WARNING: This tool is not currently intended for use by the general public. There is no documentation and it is currently intended to process data from specific protocols. You can still download it as is if you wish, but chances are it won't be of much help to you in processing your data :-)

Boogui

Boogui (named so after the great Boo, who was always keen to "go for the eyes") is a software dedicated to viewing and processing gaze data recorded with EyeLink or SMI eye trackers.

Screenshot

Boogui currently includes:

  • Visualization of gaze data over time for each trial with target frames displayed
  • A video view that plays back the trial with eye movements overlaid
  • Filtering of SMI data based on fixation / saccade / blink parameters (e.g. duration). Compared to the default algorithm provided by SMI, it takes into account artifacts and allows to consider both dispersion and velocity for more accurate calculation of fixations.
  • Output reports (.txt or .csv files) that can then be directly imported in statistical analysis packages such as Statistica or R for further processing.

Boogui currently implements experiments conducted during a thesis work conducted by Jessica Bourgin:

  • Visual search
  • Pro-saccade/anti-saccade (Reference)
  • Gaze-contingent
  • Saccadic choice

Any further experiment may be implemented upon request.

Install

Requirements

On Windows

  1. Python 3.6

    This program requires Python 3.6. It was tested on versions 3.6.5 and 3.6.7.

  2. PIP

    If pip is not installed, download get-pip.py and run:

python get-pip.py
  1. PIPENV

    Dependencies are handled by Pipenv. To install Pipenv:

pip install pipenv

On Debian

  1. Python 3.6

    This program requires Python 3.6. It was tested on versions 3.6.5 and 3.6.7.

  2. PIP

    Further dependencies will be handled by the Pipenv, which requires the PIP package manager of Python. To install pip:

apt install pip
  1. PIPENV

    Dependencies are handled by Pipenv. To install Pipenv:

pip install pipenv
  1. MISC

    For ubuntu: see pypa/packaging-problems#211

sudo apt install libqt5multimedia5-plugins

sudo rm /usr/local/lib/python3.6/dist-packages/PyQt5/Qt/plugins/mediaservice/libgstmediaplayer.so

sudo ln -s /usr/lib/x86_64-linux-gnu/qt5/plugins/mediaservice/libgstmediaplayer.so /usr/local/lib/python3.6/dist-packages/PyQt5/Qt/plugins/mediaservice/libgstmediaplayer.so

Installation

Once the requirements are installed, the python environment is built by

pipenv install

Usage

To launch the gui, type

make run

or

pipenv run python test_gui.py

boogui's People

Contributors

jbourgin avatar marechalalex avatar jessicabourgin avatar

Stargazers

 avatar

Watchers

 avatar

Forkers

jahedcse555

boogui's Issues

ExperimentException : error while loading subjects

If subject not valid (file experiment.py), raise ExperimentException and the progression bar stops. Change it to : we have a choice between stopping and clear subjects (we did not select the correct experiment) or skip the subject and continue loading the remaining ones (the subject file is not appropriate for this experiment, or has specific errors we will look independently)

Is valid start trial

For Gaze Contingent experiment, the trial starts either on the left or right side of the Screen. The function isValidStartTrial needs to take into account this possibility.

Search function

The trial reader should provide a search bar to allow searching in the entries.

Use QButtonGroup

Replace the manual handling of button groups with QButtonGroup

Detect wrong file selection

When opening a file which is incorrect w.r.t the selected experiment (e.g. wrong selected expriment), the program should display a error message box instead of crashing!

Check parameters

Add check parameters are as expected in data (screen resolution, participant distance, size stimulus)

Calculate distance to ellipse

Currently, the distance between a point and an ellipse ROI is calculated as for a rectangle ROI. We should change that !

Comparison tool

Since we have both patients and controls, it would be useful to add a comparison tool. It would allow to compare patients and controls on similar trials.

Factorize export code

And use better coding ! For now data is accessed by index for data filtering, which is not safe. E.g.:
d['total_target'] = float(line[24])

Scanpath too slow

For now, each line of the input data gives an image in the scanpath. This is too much!
We should skip some of them to speed up the scanpath processing.

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.