design-of-a-model-for-eye-movement-data-simulation

Bachlor thesis

https://github.com/vuke77/design-of-a-model-for-eye-movement-data-simulation

Science Score: 57.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
    Found CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
    Found 14 DOI reference(s) in README
  • Academic publication links
  • Academic email domains
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (8.9%) to scientific vocabulary
Last synced: 10 months ago · JSON representation ·

Repository

Bachlor thesis

Basic Info
  • Host: GitHub
  • Owner: VuKe77
  • License: gpl-3.0
  • Language: MATLAB
  • Default Branch: master
  • Size: 667 KB
Statistics
  • Stars: 0
  • Watchers: 1
  • Forks: 0
  • Open Issues: 0
  • Releases: 1
Created almost 2 years ago · Last pushed almost 2 years ago
Metadata Files
Readme License Citation

README.md

Design of a model for eye movement data simulation

Repository "Design of a model for eye movement data simulation" contains MATLAB code for generating synthesized saccades, that can be further used for evaluation of processing workflows, especially for saccade detection. The initial version of the presented algorithm was developed for the Bachelor Thesis titled "Design of a model for eye movement data simulation", authored by Vukašin Spasojević, and defended under the mentorship of Assoc. Prof. Nadica Miljković on August 27, 2024 at the University of Belgrade - School of Electrical Engineering. Current repository version is used for presenting a model for the paper titled "A Computational Method for Saccade Velocity Profiles Generation" and authored by Smilja Stokanović, Vukašin Spasojević, Ilija Tanasković, Jaka Sodnik, and Nadica Miljković, that is accepted for publication at the BIBE2024 (The IEEE International Conference on Bioinformatics & Bioengineering) conference (November 27-29, 2024. Kragujevac, Serbia).

GitHub Repository Contents

This repository contains code prepared in MATLAB R2020A (The Mathworks, Natick, USA) for simulating eye movement signals, precisely saccades. Firstly, a detection algorithm (saccade_detection.m) is applied to extract the main statistical parameters, related to the saccades from openly available data. Then, Weibull distributions and main sequence models are fitted to obtained parameters to model dependences between saccade amplitude and maximal velocity, as well as saccade amplitude and saccade duration. Saccade amplitude, duration, peak velocity, and fixation duration are sampled from these models and used for signal simulation. Further, saccades are simulated using Hill's equation. Optionally, the sampling frequency can be changed and noise can be added to the signal. To simulate the signal, use simulate_signal.m file.

Example:

```ruby Tmax = 10; % selected length of a simulated signal Fs = 200; % selected sampling frequency noise = 0; % selected level of noise SIM1 = simulate_signal(Tmax,Fs,noise); % signal simulation

``` git_simuliran_signal <!-- --> git_obelezen_signal <!-- -->

License

Unless otherwise stated, shared programs are free software: anyone can redistribute them and/or modify them under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (optionally) any later version. These programs are distributed in the hope that they will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. For more details, see the GNU General Public License. Anyone accessing this code should have received a copy of the GNU General Public License along with these programs. If not, the license is available at: https://www.gnu.org/licenses/.

Please, report any bugs to the Author listed in the Contact section.

Code

The repository contains the following code:

1) saccade_detection.m - MATLAB code for saccade detection and extraction of statistical features. 2) model_fitting.m - MATLAB code for Code for statistical processing of signal parameters of interest, modeling their distributions and modeling main sequences of saccadic eye movements. 3) simulate_signal.m - MATALB code for simulating eye movement signal. 4) trajectory_fit.m - MATLAB code for fitting a saccade trajectory using Hill's equation. 5) signal_generation.m - MATLAB code for generating a simulated eye movement signal, followed by applying a detection algorithm to the simulated signal. 6) removeimpulsenoise.m - MATLAB code for removing impulse noise from a raw signal (downloaded from the GazeBase data repository [1-2]). 7) modelPeak.mat - MAT file containing the main sequence model (relationship between saccade amplitude and peak velocity). 8) modelDuration.mat - MAT file containing the main sequence model (relationship between saccade amplitude and duration). 9) gazePDF.mat - MAT file containing a model of the fixation duration distribution. 10) ampPDF.mat - MAT file containing a model of the saccade amplitude distribution. 11) MA_filter.mat - MATLAB code for performing moving average filtering of a signal. 12) central_diff.m - MATLAB code for calculating the first derivative of a signal using the central difference method. 13) find_indices.m - MATLAB code that finds the indices of values in y that are closest to each value in x. 14) hist_normal.m - MATLAB code for calculating and plotting histogram of the signal. 15) EXPONENTIAL.m - MATLAB code for exponential model. 16) SQRT.m - MATLAB code for sqrt model. 17) FIXED_SQRT.m - MATLAB code for fixed_sqrt model. 18) LICENSE file - containing GNU General Public License v3.0

Disclaimer

The MATLAB code is provided without any guarantee and it is not intended for medical purposes.

References

1) Griffith, H., Lohr, D., Abdulin, E., & Komogortsev, O. (2021). GazeBase, a large-scale, multi-stimulus, longitudinal eye movement dataset. Scientific Data, 8(1), 184. https://doi.org/10.1038/s41597-021-00959-y 2) Griffith, H., Lohr, D. & Komogortsev, O. V. GazeBase data repository. figshare https://doi.org/10.6084/m9.figshare.12912257 (2021).

How to cite this repository?

If you find provided code useful for your own research and teaching class, please cite the following references: 1) Spasojević, V., Stokanović, S., Tanasković, I., Sodnik, J., & Miljković, N. (2024). Design of a model for eye movement data simulation, Zenodo, https://doi.org/10.5281/zenodo.13857190, also available on GitHub: https://github.com/VuKe77/Design-of-a-model-for-eye-movement-data-simulation 2) Stokanović, S., Spasojević, V., Tanasković, I., Sodnik, J., & Miljković, N. (2024). A Computational Method for Saccade Velocity Profiles Generation, The IEEE International Conference on Bioinformatics & Bioengineering (BIBE2024) November 27-29, 2024. Kragujevac, Serbia, in print.

Contact

Vukašin Spasojević (spasojevic.vukasin8@gmail.com)

Owner

  • Name: Vukašin Spasojević
  • Login: VuKe77
  • Kind: user

Citation (CITATION.cff)

# This CITATION.cff file was generated with cffinit.
# Visit https://bit.ly/cffinit to generate yours today!

cff-version: 2.1.0
title: Design of a model for eye movement data simulation
message: >-
  If you use this software, please cite it using the
  metadata from this file.
type: software
authors:
  - given-names: Vukašin
    family-names: Spasojević
    email: spasojevic.vukasin8@gmail.com
    affiliation: >-
      University of Belgrade - School of Electrical
      Engineering
  - given-names: Smilja
    family-names: Stokanović
    email: smiljastokanovic@gmail.com
    affiliation: >-
      University of Belgrade - School of Electrical
      Engineering
    orcid: 'https://orcid.org/0000-0003-0887-2615'
  - given-names: Ilija
    family-names: Tansković
    email: ilija.tanaskovic@ivi.ac.rs
    affiliation: >-
      University of Belgrade - School of Electrical
      Engineering and Institute for Artificial Intelligence
      R&D
    orcid: 'https://orcid.org/0000-0002-6488-4074'
  - given-names: Jaka
    family-names: Sodnik
    email: jaka.sodnik@fe.uni-lj.si
    affiliation: >-
      Faculty of Electrical Engineering, University of
      Ljubljana
    orcid: 'https://orcid.org/0000-0002-8915-9493'
  - given-names: Nadica
    family-names: Miljković
    email: nadica.miljkovic@etf.bg.ac.rs
    affiliation: >-
      University of Belgrade - School of Electrical
      Engineering and Faculty of Electrical Engineering,
      University of Ljubljana
    orcid: 'https://orcid.org/0000-0002-3933-6076'
identifiers:
  - type: doi
    value: 10.5281/zenodo.13857189
repository-code: >-
  https://github.com/VuKe77/Design-of-a-model-for-eye-movement-data-simulation
repository: 'https://doi.org/10.5281/zenodo.13857189'
abstract: >-
  Repository "Design of a model for eye movement data
  simulation" contains MATLAB code for generating
  synthesized saccades that can be further used for
  evaluation of processing workflows, especially for saccade
  detection. 
keywords:
  - adaptive threshold
  - eye movements
  - saccade detection
  - synthesized data10.5281/zenodo.13857189
license: GPL-3.0-or-later
version: '2.1.0'
date-released: '2024-09-29'

GitHub Events

Total
  • Public event: 1
Last Year
  • Public event: 1