Проблемы при анализе данных взора R пакета саккад - PullRequest
0 голосов
/ 05 марта 2019

Я получил данные отслеживания взгляда в виде координат x / y и временных отметок.

Теперь я хочу построить саккады с использованием саккад пакета R.К сожалению, это не работает.Я предполагаю, что это вопрос наличия данных в неправильном формате.

Мои данные:

head(EUFKDCDL_Q09AS_saccades)
# A tibble: 6 x 4
           time     x     y trial
          <dbl> <dbl> <dbl> <dbl>
1 1550093577941   732   391     1
2 1550093577962   706   320     1
3 1550093577980   666   352     1
4 1550093578000   886   288     1
5 1550093578017   787   221     1
6 1550093578037   729   302     1

Код, который не работал:

fixations <- detect.fixations(EUFKDCDL_Q09AS_saccades)

Ошибка при обнаружении фиксации (EUFKDCDL_Q09AS_saccades): саккад не обнаружено.Что-то пошло не так.

Полный код, который должен работать в соответствии с github (https://github.com/tmalsburg/saccades):

library(saccades)
data(samples)
head(samples)
  time     x      y trial
1    0 53.18 375.73     1
2    4 53.20 375.79     1
3    8 53.35 376.14     1
4   12 53.92 376.39     1
5   16 54.14 376.52     1
6   20 54.46 376.74     1

fixations <- detect.fixations(samples)
head(fixations[c(1,4,5,10)])
  trial        x         y  dur
0     1 53.81296 377.40741   71
1     1 39.68156 379.58711  184
2     1 59.99267 379.92467   79
3     1 18.97898  56.94046  147
4     1 40.28365  39.03599  980
5     1 47.36547  35.39441 1310

diagnostic.plot(samples, fixations)

Так что, наверное, проблема в том, как структурированы мои данные?среднее?

Я надеюсь, что любой из вас может помочь мне создать этот саккадный сюжет, как на прилагаемом скриншоте

saccades plot

Я начинающий R.

1 Ответ

0 голосов
/ 06 марта 2019

Прежде чем пытаться анализировать свои данные, вы должны визуализировать их. Это поможет вам понять, действительно ли данные соответствуют вашим ожиданиям, и качественно показать масштабы некоторых проблем с качеством данных.

Если ваши данные на самом деле являются временными рядами данных взгляда, то вы можете визуализировать их, как в приведенном выше примере, просто нанеся на график x как функцию time и y как функцию time. Для этого не требуется сначала выполнять данные с помощью алгоритма обнаружения саккад. График, который вы показываете выше, представляет собой просто визуализацию необработанных данных с наложенными обнаружениями саккад (серые линии), но этонеобязательный шаг.

Теперь к вашим необработанным данным: если вы подготовите график в соответствии с предложением, я подозреваю, что он не будет таким, как вы думаете.Сравните это с данными примера, которые вы отправили из https://github.com/tmalsburg/saccades. Этот набор данных показывает несколько характеристик:

  • Необработанные данные приведены с точностью до субпикселя (то есть с точностью до 2 десятичных знаков),Это типично для калиброванных данных глаза, где оцененный сигнал взгляда в любой точке является выходом процесса калибровки, который отображает координаты из исходных данных видео глаза в координаты просматриваемого изображения через непрерывную функцию, которая дает интерполированные значения, которые кажутся превышающимиразрешение этих изображений.Ваши данные, однако, состоят из целых чисел, что необычно (но возможно).
  • Что еще более важно, данные примера Github также показывают, что каждая позиция выборки очень мало отличается от предыдущей (например, позиция x)переход от 53.18 к 53.20 от одного образца к другому).Это типично для реальных данных взгляда во время фиксации.Во время саккады соседние сэмплы, конечно, начинают меняться гораздо быстрее, и вы часто можете обнаружить их визуально, просто прокрутив вниз столбец значений и отметив, где соседние значения быстро меняются.Сравните это с вашими данными, которые совершенно разные: значения беспорядочно отражаются вверх и вниз от одного образца к другому (например, от 732 до 706 до 666 до 886 в последовательных выборках).Это не , типичное для хорошего сигнала данных взгляда. Итак, нанесите свой временной ряд и посмотрите, что у вас там на самом деле.

Я подозреваю, что в ваших данных есть разрывы, и это приведет к любой саккадеили алгоритм обнаружения фиксации сбой.Постарайтесь выяснить, что на самом деле представляют ваши данные, и / или каковы проблемы с качеством, прежде чем пытаться анализировать саккады и фиксации.

Подсказка: используйте библиотеку ggplot2 для визуализации ваших данных:

library(ggplot2)

ggplot(data = EUFKDCDL_Q09AS_saccades,
       aes(x = time)) + # define time series x axis
geom_line(aes(y = x), colour = 'red') +  # plot horizontal data
geom_line(aes(y = y), colour = 'yellow') # plot vertical time series too

Если ggplot2 не установлен, сначала наберите install.packages('ggplot2').

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...