问题标签 [jspsych]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
javascript - 如何使用 jsPsych 心理物理学插件中的“手动”属性调用函数来绘制刺激?
我一直在尝试使用“手动”对象属性来绘制光栅刺激。我编写了一个函数来使用 drawFunc 绘制刺激。但是,我想在每次试验中使用 context.filter 更改一个输入参数,即对比度级别。我想在刺激变量之外定义函数和输入参数,并通过提供相关参数来调用绘制补丁的函数。但是,这似乎不起作用。我每次都被迫定义函数。有没有办法解决这个问题?
//相反,我只想像这样定义一次函数。
//然后稍后调用
请帮助解决此问题。
javascript - 包括原始 HTML 节点到画布元素
我想结合 canvas-slider-response插件和 RDK插件来创建响应试验,观察者使用滑块改变运动场的连贯性。
RDK 插件创建一个画布元素并将其附加到 DOM 以在画布上绘制点。因为我想要滑块功能,所以在 RDK 插件内部,我添加了 HTML 元素:
然后使用以下方法将该 html 变量添加到 html 元素中:
自然,这会覆盖画布,显示 HTML 元素,但现在点已经消失(画布被覆盖了?)。
我有点意识到出于安全原因,将 HTML 渲染到画布中受到严格限制。所以尝试了一些仿真:
1- 我可以使用创建 SVG 图像来渲染 html 元素:将
HTML 元素渲染到 <canvas>。但是后来我无法使用以下方法与图像进行交互display_element.querySelector('#jspsych-canvas-slider-response-next').addEventListener('click', function () {}
2- 我也可以 insertAdjacentHTML 但使用此方法,画布元素出现在 RDK 元素出现在屏幕上之后 - 不是一起出现。 仅使用纯 JavaScript(无 jQuery)将元素添加到给定纯文本 HTML 的 DOM。
3- 我认为 JsPsych 中的 HTML 渲染器可以解决我的问题。所以我尝试将 RDK 作为 canvas-slider-response 的刺激函数,但我找不到在 RDK 插件对象中调用该函数的方法。这就是我试图实现的目标:
我错过了一个简单的步骤吗?
这是所需的图像:
javascript - 如何在 Mac 桌面上成功显示使用 HTML5 画布绘制的图像的对比度差异?
我想在我的屏幕上为我的实验显示两个 Gabor 补丁。我正在使用 HTML5 画布绘制 Gabor 补丁。我希望两个补丁具有不同的对比度。当我使用 chrome 和 firefox 在 Windows PC 和笔记本电脑上运行代码时,补丁成功地呈现出所需的对比度差异。但是,当我使用 Firefox 和 Chrome 在 Mac 桌面上运行它时,gabor 补丁以绝对对比度显示。gabor 补丁的对比度级别不会改变。也就是说,补丁最终具有相同的对比度级别,即 1。1 是最亮的对比度。这是我的代码:
javascript - 无法在键入时显示文本
我正在使用 jsPsych 库来编写任何实验。我对 js 很陌生,所以如果我的错误很明显,我深表歉意。
我试图让文本在输入时出现在屏幕上。在创建者将 html-keyboard-response 插件修改为 html -keyboard-multiple-response插件后,此实验成功完成。
我试图将此插件与图像键盘响应结合使用,以使用图像而不是 html 作为刺激。问题是文本在键入时不会出现,这与 html-keyboard-multiple-response 不同。我知道击键正在被记录,因为它们以 displayData() 显示在最后。
我改编的插件在这里:jspsych-image-keyboard-multiple-response.js,实验在这里:image-keyboard-multiple-response.html。
是否可以快速查看该插件,看看我在组合其他两个插件时是否编码错误?我相信错误在我的图像插件中的第 83 行附近,如下所示:
这意味着对应于 html 插件中的 ~61 行:
我应该在我的图像插件中更改什么内容,以便文本在键入时出现,就像在 html 插件中发生的那样?
javascript - 如何在 JavaScript 中从多个数组中随机选择一个数组
我有三个数组,每个数组有 2 个字符串,并且想随机选择其中一个数组。
比如将三个数组合二为一,然后是 math.random?我正在与 JsPsych 合作,以防万一
javascript - 如何在 jspsych canvas-button-response 插件中调用复杂函数来绘制刺激?
我对 jspsych(以及 javascript、html 和 css)非常陌生,我目前正在做一个在线实验。我有一个刺激图像(一个 png 文件),我想在每次试验中都保持不变,还有一些 js 代码在我的刺激图像上画了一个圆圈。但是,我无法让它在 jspsych canvas-button-response 插件中工作,我认为原因是我的画圈功能太有问题/复杂,或者我需要另一个插件,或者可能创建一个新插件, 使其工作。
这是 javascript 代码,它在我的刺激图像上绘制了我希望它绘制的内容:
它本身可以工作,但是当我试图将它放入一个函数中以在 canvas-button-response 插件中的画布上绘制时,它什么也没做。这是我最近的尝试:
我在这里做错了什么?我应该使用另一个插件/创建不同的功能吗?任何帮助将不胜感激。
javascript - 如何获取数据以进行更多分析?
我必须修改现有的 jsPsych 实验来总结不同条件下的反应时间。
我想我可以从编写一个在 jsPsych.init() 中调用的简单函数开始,我将其命名为 extractingData()。我在控制台中收到此消息:“未捕获的 TypeError:jsPsych.data.get 不是函数”
这是行:
在 jsPsych 官方文档中,他们提供了这个例子:
任何帮助将不胜感激。提前致谢。
reactjs - 使用 jspsych-react 进行反应的 Jspsych 实验
我试图为我的项目运行 jspsych 实验。实验是关于现在显示图像的幻灯片。当我运行该应用程序时,它在控制台中给我一个错误,说没有加载插件,并且在进入显示图像的第二步之后,它会引发另一个错误,说未定义不是一个对象。我想我已经正确导入了插件,我没有做错什么。我已经发布了我所有的截图。
这是我的 app.js
这是我的 timline.js
如果你需要,我有链接 github repo
json - 无法对值进行 JSON 解码:额外数据:第 1 行第 13 列(字符 12)(pavlovia)
我试图在任务运行结束后将数据从 JSPSYCH 脚本发送到 Pavlovia 服务器。该任务没有出错并且从头到尾运行顺利,但是,当它尝试与 Pavlovia 服务器通信以发送实验数据时,我收到此错误:
[jspsych-pavlovia 插件 2020.2] 上传参与者的实验结果时出错:Voigt/aversion_visual_task 从服务器上先前打开的会话中保存数据时无法对值进行 JSON 解码:额外数据:第 1 行第 13 列(字符 12)
数据可以成功保存为 CSV 格式,但不能保存在数据库中。我已经从浏览器控制台获取了实验数据,以确定问题的来源,但我看不出有什么问题。
从实验中获得的前几行json格式的数据是:
"[{"trial_type":"pavlovia","trial_index":0,"time_elapsed":2746,"internal_node_id":"0.0-0.0","subject":"parisaz87test"},{"rt":10972.60000000149,"响应":"{\"Q0\":\"parisaz87test\"}","trial_type":"survey-text","trial_index":1,"time_elapsed":13720,"internal_node_id":"0.0-1.0" ,"subject":"parisaz87test","Trial_Name":"初始提示"},{"view_history":"[{\"page_index\":0,\"viewing_time\":939.9000000003725},{\"page_index\" :1,\"viewing_time\":1420.0999999996275},{\"page_index\":2,\"viewing_time\":882},{\"page_index\":3,\"查看时间\":1025.5999999996275},{\"page_index\":4,\"viewing_time\":3812.199999999255},{\"page_index\":5,\"viewing_time\":471.6000000014901},{\"page_index\": 6,\"viewing_time\":554.2999999988824},{\"page_index\":7,\"viewing_time\":552},{\"page_index\":8,\"viewing_time\":1026.0999999996275}]"," rt":10684.599999999627,"trial_type":"instructions","trial_index":2,"time_elapsed":24407,"internal_node_id":"0.0-2.0","subject":"parisaz87test","Trial_Name":"Instructions" },{"success":true,"trial_type":"fullscreen","trial_index":3,"time_elapsed":26711,"internal_node_id":"0.0-3.0","主题":"parisaz87test"},{"view_history":"
有没有人对此错误有任何见解?
提前致谢!