Coder Social home page Coder Social logo

frown00 / pupillometry Goto Github PK

View Code? Open in Web Editor NEW
2.0 1.0 0.0 10.97 MB

A scientific utility designed for preprocessing, visualizing, and analyzing raw pupillometry data, configured by default for data exported from the iMotions platform.

Home Page: https://en.wikipedia.org/wiki/Pupillometry

TypeScript 96.14% JavaScript 2.60% Shell 0.02% CSS 1.03% EJS 0.21%
analysis data-visualization imotions pupil pupillometry

pupillometry's Introduction

Pupillometry App

A scientific utility designed for preprocessing, visualizing, and analyzing raw pupillometry data, configured by default for data exported from the iMotions platform.

The app is purpose-built to meet the specific needs of researchers and was created as a graduation project.

Image displaying analysis of test samples

Documentation

Find documentation in both English and Polish in the /docs folder.

Note: Unfortunately, GitHub may corrupt PNG files, causing image-related issues.

Key Features

  • Preprocessing: Efficiently prepares raw pupillometry data.
  • Visualization: Provides visualizations for insightful analysis.
  • Analysis: Conduct in-depth analysis tailored to researchers' needs.

Features

Data Processing:

  • Remove artifacts from data.
  • Calculate various metrics.

Visualization:

  • Display data graphically.
  • Save charts as PNG.

Data Analysis:

  • Breakdown data by task/scene/segment.
  • Analyze left and right eye metrics.

Study Management:

  • Create/Delete Studies and Groups.
  • Add/Delete Respondents to Groups.

Export and Configuration:

  • Export metrics to Excel files.
  • Configure custom settings.

Advanced Options:

  • Test preprocessing on a single respondent.
  • Resample and smooth data.
  • Calculate baseline.

Enhanced Metrics:

  • Extra metrics (Z-score, Relative, ERPD/PCPD).
  • Include a legend in export files.
  • Manually mark segment validity.

Selective Features:

  • Eye selection.
  • Divide trial by time windows.
  • Create task groups when exporting data.
  • Filter metrics in group view by selected segments.

Recommended Config

The recommended configuration provides optimal settings for various aspects of data processing, visualization, and analysis. Customize as needed for your specific use case.

{
  "name": "Recommended",
  "file": {
    "separator": ",",
    "timestamp": "Timestamp",
    "leftPupil": "ET_PupilLeft",
    "rightPupil": "ET_PupilRight",
    "segmentActive": "Scene active"
  },
  "chart": {
    "width": 1200,
    "height": 600,
    "showEyesPlot": false,
    "showMeanPlot": true,
    "showSmoothed": false,
    "showRejected": []
  },
  "measurement": {
    "eye": "both",
    "baseline": {
      "type": "from Start",
      "param": 1000
    },
    "segmentation": "scene",
    "windows": []
  },
  "markers": {
    "outOfRange": {
      "min": 2,
      "max": 9
    },
    "dilatationSpeed": {
      "on": true,
      "thresholdMultiplier": 3,
      "gapMinimumDuration": 50,
      "gapMaximumDuration": 70,
      "backwardGapPadding": 50,
      "forwardGapPadding": 50
    },
    "trendlineDeviation": {
      "on": true,
      "thresholdMultiplier": 1,
      "cutoffFrequency": 4,
      "passes": 1,
      "gapMinimumDuration": 50,
      "gapMaximumDuration": 70,
      "backwardGapPadding": 50,
      "forwardGapPadding": 50
    },
    "temporallyIsolatedSamples": {
      "on": true,
      "sizeMaximum": 50,
      "isolationMinimum": 40
    }
  },
  "validity": {
    "missing": 40,
    "correlation": 0.5,
    "difference": 1
  },
  "resampling": {
    "on": true,
    "rate": 1000,
    "acceptableGap": 250
  },
  "smoothing": {
    "on": true,
    "cutoffFrequency": 4
  }
}

Getting Started

  1. Go to releases page
  2. Download Pupillometry-1.1.4-mac.zip or Pupillometry-1.1.4-win.zip depending on your operation system.
  3. Unzip and use
  4. In case of any issues read the /docs or ask me

Note: App build was tested only on windows 10. For windows, you may see a warning about preventing an unrecognizable application from running. This is due to the lack of certification, which requires a fee. In such a situation, you should ignore and run anyway.

OR run in development mode:

  1. git clone [url]
  2. install node.js
  3. npm install --global yarn
  4. yarn install
  5. yarn start

Tech Stack

  • Electron
  • Typescript
  • React
  • D3.js

pupillometry's People

Contributors

frown00 avatar frown01 avatar

Stargazers

 avatar  avatar

Watchers

 avatar

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.