EyeFeatures is a powerful, Scikit-learn-compatible Python library for advanced eye-tracking data analysis. From raw gaze preprocessing to complex topological feature engineering and deep learning, eyefeatures provides a unified, production-ready framework for any visual task.
- Unified Pipeline: Seamlessly integrate smoothing, fixation extraction, and feature calculation into
sklearn.Pipeline. - Advanced Features: Go beyond descriptive statistics with Hurst exponents, Chaotic measures, and Scanpath similarities.
- Deep Learning Ready: Native PyTorch datasets and models for gaze-based classification.
- Visualization: Stunning static and dynamic visualizations of scanpaths and heatmaps.
- Group Analysis: Built-in support for individual normalization and group-level comparisons.
pip install eyefeaturesCheck out our Full Documentation and the following interactive tutorials:
- 🚀 Quickstart Examples
- 📊 Simple Features
- 🧠 Complex Features & Timeseries
- 🛠️ Preprocessing & Smoothing
- 🧿 AOI Definition
- 🎥 Visualization
- ⚡ Deep Learning with Gaze
| Module | Components |
|---|---|
| Fixation Extraction | IDT (I-DT algorithm) |
| Smoothing | WienerFilter, SavGolFilter |
| Blinks | BlinkExtractor |
| AOI Extraction | GridAOI, CircleAOI, ConvexHullAOI |
| Category | Key Transformers / Methods |
|---|---|
| Statistical | FixationFeatures, SaccadeFeatures, RegressionFeatures, MicroSaccadeFeatures |
| Measures | HurstExponent, ShannonEntropy, SpectralEntropy, FuzzyEntropy, LyapunovExponent |
| Distances | EucDist, HauDist, DTWDist, ScanMatchDist, MannanDist, MultiMatchDist |
| Complex | get_heatmap, get_mtf (Markov Transition Field), get_gaf (Gramian Angular Field), RQAMeasures |
| Normalization | IndividualNormalization (Group-relative scaling) |
| Module | Components |
|---|---|
| Deep Learning | GazeDataset, CNNModel, LSTMModel, GNNModel |
| Module | Components |
|---|---|
| Visualization | static_scanpath_plot, dynamic_scanpath_plot, heatmap_plot, aoi_plot |
