Skip to content

saifwarraich/BPPV-Eye-Tracker

Repository files navigation

BPPV - Eye Tracker 💡

Overview

This project focuses on capturing videos along with head positions for analyzing Benign Paroxysmal Positional Vertigo (BPPV). The application is a desktop-based solution built to process and analyze data from vertigo glasses in real time or offline, with annotation and editing functionalities.

Technology Stack

  • Frontend: Built using Electron JS and React JS for a interactive user interface.
  • Video Processing: Utilizes the Pupil-UVC library and FFmpeg in Python for efficient handling and processing of video streams.

Demo of Eye Tracker

Prerequisites

Node.js Version

This project requires Node.js version v20.7.0. Please ensure you have this version installed. If you're using NVM (Node Version Manager), you can switch to the correct version by running:

nvm use

If you haven't installed this Node version yet, you can do so with:

nvm install v20.7.0

Pyhton Version

This project requires Python version Python 3.10.12. Please ensure you have this version installed.

Hardware Used

Vertigo Glasses

The application is specifically designed to interface with Pupil Labs’ Vertigo Glasses, a sophisticated device that captures high-quality eye-tracking and head-movement data. These glasses provide the foundation for analyzing eye movement patterns and diagnosing vertigo triggers, making them integral to the project.

Python Module Details

Purpose

The Python module in this project acts as the interface between the desktop application and the Vertigo Glasses. Its primary functions include:

1- Capturing Data: Establishing a connection with the glasses to retrieve real-time video streams of eye movements and head positions. 2- Data Conversion: Utilizing tools like FFmpeg to convert video codecs from the format generated by the glasses to formats compatible with the application. 3- Integration: Enabling seamless communication between the glasses and the application, allowing live data analysis, video annotation, and storage for offline usage. 4- The module was developed using libraries provided by Pupil Labs, ensuring accurate and reliable data acquisition.

Important Commands

  • yarn to install all the dependencies
  • yarn dev to run nodemon development server
  • yarn build to compile typescript code
  • yarn start to run compiled code
  • yarn lint: to run eslint
  • yarn prettier-format: to format the whole code
  • python3 app.py: to run python module

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors