眼睛跟踪d的热图生成

2024-06-25 23:27:43 发布

您现在位置:Python中文网/ 问答频道 /正文

我有Tobii Eyetracker的数据集。 数据集中的操作看起来像是

timestamp      xposition      yposition

我使用python收集数据。当参与者看着监视器时,数据被重新记录下来。我想生成显示器大小的热图。在

Later I also want to make an image and overlay this heatmap.

我想用R来生成热图。 有什么算法可以做到这一点,或者有插件直接提供我的数据集作为输入?在

实验设置:

  1. 时间是相对时间:100100.02100.04100.06…依此类推 以0.02秒的顺序递增
  2. X位置和Y位置以厘米为单位。从监视器的中心。在
  3. 背景图像将被分成10行6列的方形框,每个框的大小为3.4cm
  4. 使用的监视器分辨率大小为1920x1080精确MonitorUsed

我运行时出错的代码: 在matlab中使用dlmwrite导出后,我使用R Studio中的GUI加载变量并执行以下操作:

^{pr2}$

我在x到+23.5和y的-to+14.1之间做了这个实验,这样我就可以在做实验的时候与我生成的点匹配。仅在此区域打印的图像。在

dataset


Tags: to数据图像时间参与者显示器timestampalso
1条回答
网友
1楼 · 发布于 2024-06-25 23:27:43

首先,让我们生成一些数据

# Set RNG seed for reproducibility 
set.seed(12345) 

times <- seq(as.POSIXct("2014-09-08 14:00:00"), 
             as.POSIXct("2014-09-08 16:00:00"), 5)
pos.x <- runif(length(times), 0, 1024)
pos.y <- runif(length(times), 0, 768)

现在我们可以使用findInterval将每个x,y对映射到一个特定的间隔,我们在breaks.xbreaks.y中定义。在本例中,我使用了20x20网格,但显然您可以随意更改它。
然后我们使用table生成列联表,这将是我们的“位置矩阵”。在

^{pr2}$

最后,画出热图

image(breaks.x, breaks.y, tb, las=1)

注意:两个factor调用是必需的,因为table将忽略不存在数据点的间隔。转换为因子会有效地强制表输出值,即使在那个些并没有值的插槽中也是如此。在

相关问题 更多 >