https://github.com/alleninstitute/allensdk.eye_tracking
Allen Institute mouse eye tracker.
Science Score: 26.0%
This score indicates how likely this project is to be science-related based on various indicators:
-
○CITATION.cff file
-
✓codemeta.json file
Found codemeta.json file -
✓.zenodo.json file
Found .zenodo.json file -
○DOI references
-
○Academic publication links
-
○Committers with academic emails
-
○Institutional organization owner
-
○JOSS paper metadata
-
○Scientific vocabulary similarity
Low similarity (17.3%) to scientific vocabulary
Repository
Allen Institute mouse eye tracker.
Basic Info
- Host: GitHub
- Owner: AllenInstitute
- License: other
- Language: Python
- Default Branch: dev
- Homepage: https://alleninstitute.github.io/allensdk.eye_tracking/
- Size: 1.84 MB
Statistics
- Stars: 12
- Watchers: 7
- Forks: 4
- Open Issues: 2
- Releases: 4
Metadata Files
README.md
AllenSDK Eye Tracking
This is the python package the Allen Institute uses for estimating pupil position and shape from eye videos. The position of a LED reflection on the cornea is also tracked and is a required feature of the input streams. The input videos are black and white.
Source: https://github.com/AllenInstitute/allensdk.eye_tracking
Installation
The video IO is done using OpenCV's video functionality. Unfortunately, OpenCV on pip seems to not be built with the necessary backend, as the methods fail silently. As a result, we have not included OpenCV in the requirements and it is necessary to get it seperately, built with the video capture and writing functional. Additionally, on some platforms scikit-image does not build easily from source and the developers don't have binary distributions for all platforms yet. The simplest way to install these difficult dependencies is to use conda:
conda install scikit-image
conda install -c conda-forge opencv=3.3.0
conda install -c conda-forge pyqt
The version of opencv is pinned because the latest (3.4.1 as of this writing) seems to have a bug with the VideoCapture code which causes errors reading videos on linux. Latest does seem to work on Windows. The rest of the dependencies are all in the requirements, so to install just clone or download the repository and then from inside the top level directory either run:
pip install .
or
python setup.py install
Usage
After installing the package, and entry point is created so it can be run from the command line. To minimally run with the default settings:
allensdk.eye_tracking --input_source <path to an input video>
To see all options that can be set at the command line:
allensdk.eye_tracking --help
There are a lot of options that can be set, so often it can be more convenient to store them in a JSON-formatted file which can be used like:
allensdk.eye_tracking --input_json <path to the input json>
The input json can be combined with other command line argument, which will take precedence over anything in the json. There is a UI tool for adjusting and saving input parameters that can be used by running:
allensdk.eye_tracking_ui
Description of algorithm
The general way that the algorithm works is to (for every frame):
- Use a simple bright circle template to estimate the seed point for searching for a corneal reflection of the LED.
- Draw rays from the seed point and find light-to-dark threshold crossings to generate estimated points for an ellipse fit.
- Use ransac to find the best fit ellipse to the points.
- Optionally fill in the estimated corneal reflection with the last shade of the pupil. This is necessary if the corneal reflection occludes the pupil at all.
- Repeat steps 1-3, but with a dark circle template and dark-to-light threshold crossings to find the pupil ellipse parameters.
Owner
- Name: Allen Institute
- Login: AllenInstitute
- Kind: organization
- Location: Seattle, WA
- Website: https://alleninstitute.org
- Repositories: 184
- Profile: https://github.com/AllenInstitute
Please visit http://alleninstitute.github.io/ for more information.
GitHub Events
Total
Last Year
Committers
Last synced: over 1 year ago
Top Committers
| Name | Commits | |
|---|---|---|
| Jed Perkins | p****d@g****m | 144 |
Issues and Pull Requests
Last synced: over 1 year ago
All Time
- Total issues: 10
- Total pull requests: 64
- Average time to close issues: 9 days
- Average time to close pull requests: about 7 hours
- Total issue authors: 3
- Total pull request authors: 1
- Average comments per issue: 1.8
- Average comments per pull request: 0.56
- Merged pull requests: 64
- Bot issues: 0
- Bot pull requests: 0
Past Year
- Issues: 0
- Pull requests: 0
- Average time to close issues: N/A
- Average time to close pull requests: N/A
- Issue authors: 0
- Pull request authors: 0
- Average comments per issue: 0
- Average comments per pull request: 0
- Merged pull requests: 0
- Bot issues: 0
- Bot pull requests: 0
Top Authors
Issue Authors
- JFPerkins (2)
- mschart (2)
- obarnstedt (1)
Pull Request Authors
- JFPerkins (38)