saccade | sophisticated scientific image viewer for Linux with OpenGL | Computer Vision library
kandi X-RAY | saccade Summary
kandi X-RAY | saccade Summary
A saccade (/səˈkɑːd/ sə-KAHD) is a quick and simultaneous movement of both eyes in the same direction. This project is the missing scientific HDR image viewer for Linux. It is OpenGL-based and aims at providing an efficient image viewer with some sophisticated functions for comparing images. When dragging and zooming an image in one viewport, all other viewports synchronously zoom and shift in the same way, so you see exactly the same patch in all images.
Support
Quality
Security
License
Reuse
Top functions reviewed by kandi - BETA
Currently covering the most popular Java, JavaScript and Python libraries. See a Sample of saccade
saccade Key Features
saccade Examples and Code Snippets
# install dependencies
sudo apt-get install libfreeimage3 libfreeimage-dev libgflags-dev libgoogle-glog-dev
cd /tmp
wget http://download.qt.io/official_releases/qt/5.9/5.9.1/qt-opensource-linux-x64-5.9.1.run
chmod +x qt-opensource-linux-x64-5.9.1.ru
Community Discussions
Trending Discussions on saccade
QUESTION
I am working with eye-tracking data and I am trying to create a new column 'SaccadePerTrial' which will count (and label) the occurrence of saccades (S) within each unique trial (while ignoring fixations (F)).
This is how my dataframe looks like currently:
...ANSWER
Answered 2021-Jan-25 at 15:11dat[, S := rleid(FixationSaccade == "S"), by=.(Trial) ][
FixationSaccade == "F", S := NA ][
, S := (S + (min(S, na.rm = TRUE) == 1L)) / 2L ]
dat
# Trial FixationSaccade SaccadePerTrial S
#
# 1: 1 F NA
# 2: 1 F NA
# 3: 1 S 1 1
# 4: 1 S 1 1
# 5: 1 F NA
# 6: 1 F NA
# 7: 1 S 2 2
# 8: 1 S 2 2
# 9: 2 F NA
# 10: 2 F NA
# 11: 2 S 1 1
# 12: 2 S 1 1
# 13: 2 F NA
# 14: 2 F NA
# 15: 2 S 2 2
# 16: 2 S 2 2
QUESTION
I have a large data frame that has NA's at different point. I need to remove few rows that has more NA values.
I applied filter
using is.na()
conditions to remove them. However, they are not yielding fruitful results.
ANSWER
Answered 2019-Sep-17 at 20:42If there are more than one column, use filter_at
QUESTION
I'm trying to sort image 1 I posted so that the densest points are more clearer, the link to an answer i'm using for the implementation indicates what i'm trying to achieve.
How can I make a scatter plot colored by density in matplotlib?
My code being:
...ANSWER
Answered 2019-Mar-09 at 16:38The key issue here is the usage of polar coordinates.
The densities must be computed on xy cartesian coordinates, usage of polar coordinates results in weird distance values, try plotting your data in a rectangular plot and will see.
You can include a coordinate transformation before the z values are computed. E.g.:
QUESTION
I got eye tracking gaze data in the form of x/y coordinates and timestamps.
Now I want to plot the saccades using the R package saccades. Unfortunately, it doesn't work. I guess it's a matter of having the data in the wrong format.
My data:
...ANSWER
Answered 2019-Mar-07 at 21:33Before you attempt to analyse your data, you must visualise it. This will help you see if the data is actually what you think it is, and to show qualitatively the extent of some data quality issues.
If your data is actually a gaze data time series, then you could visualise it as in your example above simply by plotting x
as a function of time
and y
as a function of time
. This would not require that you run the data through a saccade detection algorithm first. The plot you show above is simply a visualisation of the raw data, with the saccade detections superimposed (the grey lines), but that is an optional step.
Now to your raw data: if you plot it as suggested, I suspect it isn't going to be what you think it is. Compare it to the example data that you posted from https://github.com/tmalsburg/saccades. That dataset shows a couple of characteristics:
- The raw data is given with sub-pixel precision (i.e. to 2 decimal places). This is typical of calibrated eye data, where the estimated gaze signal at any point is the output of a calibration process that maps coordinates from the original eye video data to the viewed image coordinates, via a continuous function that yields interpolated values that appear to exceed the resolution of those images. Your data, however, consists of integers, which is unusual (but possible).
- More importantly, the Github example data also shows that each sample position varies very little from its preceding one (e.g. the
x
position shifting from53.18
to53.20
from one sample to the next). This is typical of real gaze data during a fixation. During a saccade, adjacent samples start changing much more rapidly of course, and you can often detect them visually simply by scrolling down a column of values and noting where the adjacent values change quickly. Compare this to your data, which is completely different: values bounce up and down erratically from one sample to the next (e.g. from732
to706
to666
to886
in successive samples). This is not typical of a good gaze data signal. So plot your time series and see what you actually have there.
I suspect that there are discontinuities in your data, and this will cause any saccade or fixation detection algorithm to fail. Try to figure out what your data actually is representing, and/or what the quality issues are, before attempting to parse into saccades and fixations.
Hint: using the ggplot2
library to visualise your data:
QUESTION
So, I have a large data.frame with multiple columns of which "trial.number" and "indexer" are 2.
It annoys me that dplyr constantly, no matter what, adds indexer column. A simple example:
...ANSWER
Answered 2018-Sep-27 at 14:20Try ungroup
:
QUESTION
I would like to calculate the response latency of the eye. I want to do this by measuring the time difference between onscreen appearance of a target and the onset of the fast eye movement in response.
Below a picutre of a single trial example. The purple line is the period where target appears on screen. The top line shows the position data of the Y coordinate of the eye, the bottom line shows the velocity. As you can see here, the fast eye movement downwards, with a high velocity, is a saccade.
To give you an idea how my data looks, I made a dummy data.frame. The block represents the blocks you can also see in the figure. Ignore trial.block for now. saccade is a column telling you if the data is a S(saccade) or F(fixation).
Any idea how to calculate the time between Iview at the onset of the target and the onset of the first saccade for each individual trial?
Thanks alot
...ANSWER
Answered 2018-Sep-24 at 12:06I'm not sure if I understood your request correctly. The time between the first occurence of block == 'target.1'
and the first occurence of block == 'target.1' & saccade == 'S'
for each trial could be calculated like this:
QUESTION
I have a large data set which contains a time column and a column with the identification of a saccade or fixation of the eye (saccade = fast eye movement, fixation = relative stable eye movement). I want to calculate how long each period of fixations and saccades last, by taking the time at the start of the first "f" until the first "s" and so on. So if there are 3 consecutive rows with "s", I want it to take the time in column [i] where the first "s" appeared and the time in column [i] where the last "s" appeared before the next "f". By distracting these 2 times I know the duration of each fixation and saccade period.
The time scale is not continuous, since sometimes rows are deleted because of blinks in the data.
...ANSWER
Answered 2018-Sep-19 at 11:54We can create an index using rle()
and then group_by()
this index to sum()
the time
:
QUESTION
I am a research assistent and have collected eye movement data, which I now try to analyze using R.
From the eye-tracker I use, every sample is marked as belonging to a saccade (which means the eye moves) or not and belonging to a blink or not. When someone starts to blink, the eye-tracker first identifies a saccade later identifies a blink. To be able to substitute all eye movement samples (lines in my data file), which belong to a blink, I need to create a variable that marks all saccades that contain a blink. A simple example is the following:
I have the data:
...ANSWER
Answered 2018-Aug-07 at 10:13# example data
Data <- data.frame(Blink=c(0,0,0,1,1,0,0,0,1,1,0,0,0,0,0),
Saccade=c(0,1,1,1,1,1,0,1,1,1,1,0,1,1,0))
library(dplyr)
Data %>%
group_by(group = cumsum(Saccade==0)) %>% # group your Saccades
mutate(Saccade_containing_blink = max(Blink), # if there's a Blink update all rows within that Saccade
Saccade_containing_blink = ifelse(Saccade == 0, 0, Saccade_containing_blink)) %>% # update Saccade to exclude the 0s (0s separate Saccades)
ungroup() %>% # ungroup data
select(-group) # remove grouping column
# # A tibble: 15 x 3
# Blink Saccade Saccade_containing_blink
#
# 1 0 0 0
# 2 0 1 1
# 3 0 1 1
# 4 1 1 1
# 5 1 1 1
# 6 0 1 1
# 7 0 0 0
# 8 0 1 1
# 9 1 1 1
# 10 1 1 1
# 11 0 1 1
# 12 0 0 0
# 13 0 1 0
# 14 0 1 0
# 15 0 0 0
QUESTION
I have a dataset that looks similar to this
...ANSWER
Answered 2017-Jul-10 at 15:56You could do this using dplyr
.
Community Discussions, Code Snippets contain sources that include Stack Exchange Network
Vulnerabilities
No vulnerabilities reported
Install saccade
Support
Reuse Trending Solutions
Find, review, and download reusable Libraries, Code Snippets, Cloud APIs from over 650 million Knowledge Items
Find more librariesStay Updated
Subscribe to our newsletter for trending solutions and developer bootcamps
Share this Page