GithubHelp home page GithubHelp logo

baxxos / scanpath-evaluator Goto Github PK

View Code? Open in Web Editor NEW
2.0 1.0 1.0 6.7 MB

Web app which allows users to view and evaluate previously collected eyetracking data

Python 12.91% HTML 11.52% JavaScript 71.82% CSS 3.76%
eye-tracking scanpath user-experience

scanpath-evaluator's Introduction

Scanpath Evaluator

Currently hosted on Heroku

Datasets

To keep this repository clean, all datasets containing TSV-formatted scanpath & AOI data have been moved to Google Drive. You can also download them already zipped together from here.

Local install

In order to run the app locally, clone this repository (development branch), download required packages (see below), compile SCSS files to CSS and fire it up via your IDE (main.py) or command line.

However, in order to run it properly, you will also need to set up the PostgreSQL database. All tables can be created automatically via SQLAlchemy's ORM - see the Base.metadata.create_all(engine) command in database.py (application re-launch is required).

If you want to save yourself some time, here is a template database backup containing 1 guest user and all the datasets linked above. You can use this file to set up your database within seconds by using the pgAdmin app or CLI. The guest user credentials can be found in the config.py file.

Dependencies:

Back-end:

  • Python (2.7.X)
  • Flask (0.12.X)
  • PostgreSQL (SQLalchemy + psycopg2)
  • Passlib

Front-end:

  • AngularJS 1.5.11
  • UI-Bootstrap JS - to get rid of jQuery required by default Bootstrap
  • UI-Router - to handle client-side navigation
  • Bootstrap 3 CSS
  • Angular-Breadcrumb
    • ncy-breadcrumb: marks element where the breadcrumbs panel will be placed. UI-Router configuration determines displayed text content and state hierarchy.
  • Bootstrap Nav Tree - for navigating between user datasets, tasks etc.
    • abn-tree: hierarchical tree navigation directive based on a custom-format JSON object.
  • ng-file-upload - for uploading user data
  • ng-csv - for exporting user calculations

Constraints:

  • File size - 100MB for scanpath data/10MB for AOI data
  • AOI count - maximum of 52 AOIs (26 lowercase + 26 uppercase characters)
  • AOI shape - exactly 4 vertices for each AOI (rect/square)
  • Nested and overlapping AOIs - try to avoid this for correct results
  • The original AOI image and its resolution must exactly match the uploaded AOI data

TODOs:

  • Write unit tests (Python & JS)
  • Upgrade backend to Python 3.X
  • Upgrade frontend to AngularJS 1.6.X
  • Upgrade frontend JS to ES6
  • Lazy load Angular modules & create a custom Bootstrap build
  • Allow users to download their uploaded data in JSON/TSV format
  • Exception & error logging
  • Write some more tests

scanpath-evaluator's People

Contributors

baxxos avatar

Stargazers

 avatar  avatar

Watchers

 avatar

Forkers

robom

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.