jspsych 6.3.1 → 7.1.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +36 -37
- package/css/jspsych.css +39 -39
- package/dist/JsPsych.d.ts +112 -0
- package/dist/TimelineNode.d.ts +34 -0
- package/dist/index.browser.js +3171 -0
- package/dist/index.browser.js.map +1 -0
- package/dist/index.browser.min.js +2 -0
- package/dist/index.browser.min.js.map +1 -0
- package/dist/index.cjs +3165 -0
- package/dist/index.cjs.map +1 -0
- package/dist/index.d.ts +11 -0
- package/dist/index.js +3159 -0
- package/dist/index.js.map +1 -0
- package/dist/migration.d.ts +3 -0
- package/dist/modules/data/DataCollection.d.ts +45 -0
- package/dist/modules/data/DataColumn.d.ts +15 -0
- package/dist/modules/data/index.d.ts +25 -0
- package/dist/modules/data/utils.d.ts +3 -0
- package/dist/modules/extensions.d.ts +22 -0
- package/dist/modules/plugin-api/HardwareAPI.d.ts +15 -0
- package/dist/modules/plugin-api/KeyboardListenerAPI.d.ts +34 -0
- package/dist/modules/plugin-api/MediaAPI.d.ts +27 -0
- package/dist/modules/plugin-api/SimulationAPI.d.ts +41 -0
- package/dist/modules/plugin-api/TimeoutAPI.d.ts +5 -0
- package/dist/modules/plugin-api/index.d.ts +8 -0
- package/dist/modules/plugins.d.ts +136 -0
- package/dist/modules/randomization.d.ts +35 -0
- package/dist/modules/turk.d.ts +40 -0
- package/dist/modules/utils.d.ts +7 -0
- package/package.json +32 -15
- package/src/JsPsych.ts +884 -0
- package/src/TimelineNode.ts +536 -0
- package/src/index.ts +71 -0
- package/src/migration.ts +37 -0
- package/src/modules/data/DataCollection.ts +198 -0
- package/src/modules/data/DataColumn.ts +86 -0
- package/src/modules/data/index.ts +174 -0
- package/src/modules/data/utils.ts +75 -0
- package/src/modules/extensions.ts +23 -0
- package/src/modules/plugin-api/HardwareAPI.ts +32 -0
- package/src/modules/plugin-api/KeyboardListenerAPI.ts +165 -0
- package/src/modules/plugin-api/MediaAPI.ts +337 -0
- package/src/modules/plugin-api/SimulationAPI.ts +181 -0
- package/src/modules/plugin-api/TimeoutAPI.ts +16 -0
- package/src/modules/plugin-api/index.ts +28 -0
- package/src/modules/plugins.ts +165 -0
- package/src/modules/randomization.ts +327 -0
- package/src/modules/turk.ts +99 -0
- package/src/modules/utils.ts +30 -0
- package/.github/workflows/jest.yml +0 -20
- package/code-of-conduct.md +0 -56
- package/contributors.md +0 -61
- package/docs/CNAME +0 -1
- package/docs/about/about.md +0 -18
- package/docs/about/contributing.md +0 -43
- package/docs/about/license.md +0 -25
- package/docs/about/support.md +0 -7
- package/docs/core_library/jspsych-core.md +0 -719
- package/docs/core_library/jspsych-data.md +0 -587
- package/docs/core_library/jspsych-pluginAPI.md +0 -624
- package/docs/core_library/jspsych-randomization.md +0 -389
- package/docs/core_library/jspsych-turk.md +0 -98
- package/docs/extensions/extensions.md +0 -83
- package/docs/extensions/jspsych-ext-webgazer.md +0 -137
- package/docs/img/blue.png +0 -0
- package/docs/img/devtools-change-css.png +0 -0
- package/docs/img/devtools-css-errors.png +0 -0
- package/docs/img/devtools-inspect-element.png +0 -0
- package/docs/img/folder-setup.png +0 -0
- package/docs/img/folder-with-html.png +0 -0
- package/docs/img/githubreleases.jpg +0 -0
- package/docs/img/jspsych-favicon.png +0 -0
- package/docs/img/jspsych-logo-no-text-mono.svg +0 -493
- package/docs/img/jspsych-logo.jpg +0 -0
- package/docs/img/orange.png +0 -0
- package/docs/img/palmer_stim.png +0 -0
- package/docs/img/progress_bar.png +0 -0
- package/docs/img/prolific-study-completion.png +0 -0
- package/docs/img/prolific-study-link.png +0 -0
- package/docs/img/visual_search_example.jpg +0 -0
- package/docs/index.md +0 -9
- package/docs/overview/browser-device-support.md +0 -35
- package/docs/overview/callbacks.md +0 -180
- package/docs/overview/data.md +0 -281
- package/docs/overview/dynamic-parameters.md +0 -147
- package/docs/overview/exclude-browser.md +0 -32
- package/docs/overview/experiment-options.md +0 -149
- package/docs/overview/eye-tracking.md +0 -271
- package/docs/overview/fullscreen.md +0 -36
- package/docs/overview/media-preloading.md +0 -369
- package/docs/overview/mturk.md +0 -77
- package/docs/overview/plugins.md +0 -320
- package/docs/overview/progress-bar.md +0 -110
- package/docs/overview/prolific.md +0 -78
- package/docs/overview/record-browser-interactions.md +0 -23
- package/docs/overview/running-experiments.md +0 -95
- package/docs/overview/style.md +0 -293
- package/docs/overview/timeline.md +0 -457
- package/docs/plugins/jspsych-animation.md +0 -40
- package/docs/plugins/jspsych-audio-button-response.md +0 -60
- package/docs/plugins/jspsych-audio-keyboard-response.md +0 -58
- package/docs/plugins/jspsych-audio-slider-response.md +0 -53
- package/docs/plugins/jspsych-call-function.md +0 -81
- package/docs/plugins/jspsych-canvas-button-response.md +0 -66
- package/docs/plugins/jspsych-canvas-keyboard-response.md +0 -68
- package/docs/plugins/jspsych-canvas-slider-response.md +0 -89
- package/docs/plugins/jspsych-categorize-animation.md +0 -60
- package/docs/plugins/jspsych-categorize-html.md +0 -53
- package/docs/plugins/jspsych-categorize-image.md +0 -53
- package/docs/plugins/jspsych-cloze.md +0 -45
- package/docs/plugins/jspsych-external-html.md +0 -70
- package/docs/plugins/jspsych-free-sort.md +0 -56
- package/docs/plugins/jspsych-fullscreen.md +0 -57
- package/docs/plugins/jspsych-html-button-response.md +0 -42
- package/docs/plugins/jspsych-html-keyboard-response.md +0 -51
- package/docs/plugins/jspsych-html-slider-response.md +0 -45
- package/docs/plugins/jspsych-iat-html.md +0 -64
- package/docs/plugins/jspsych-iat-image.md +0 -64
- package/docs/plugins/jspsych-image-button-response.md +0 -48
- package/docs/plugins/jspsych-image-keyboard-response.md +0 -58
- package/docs/plugins/jspsych-image-slider-response.md +0 -54
- package/docs/plugins/jspsych-instructions.md +0 -58
- package/docs/plugins/jspsych-maxdiff.md +0 -41
- package/docs/plugins/jspsych-preload.md +0 -128
- package/docs/plugins/jspsych-rdk.md +0 -119
- package/docs/plugins/jspsych-reconstruction.md +0 -48
- package/docs/plugins/jspsych-resize.md +0 -39
- package/docs/plugins/jspsych-same-different-html.md +0 -53
- package/docs/plugins/jspsych-same-different-image.md +0 -66
- package/docs/plugins/jspsych-serial-reaction-time-mouse.md +0 -52
- package/docs/plugins/jspsych-serial-reaction-time.md +0 -57
- package/docs/plugins/jspsych-survey-html-form.md +0 -50
- package/docs/plugins/jspsych-survey-likert.md +0 -70
- package/docs/plugins/jspsych-survey-multi-choice.md +0 -48
- package/docs/plugins/jspsych-survey-multi-select.md +0 -53
- package/docs/plugins/jspsych-survey-text.md +0 -63
- package/docs/plugins/jspsych-video-button-response.md +0 -54
- package/docs/plugins/jspsych-video-keyboard-response.md +0 -50
- package/docs/plugins/jspsych-video-slider-response.md +0 -60
- package/docs/plugins/jspsych-virtual-chinrest.md +0 -105
- package/docs/plugins/jspsych-visual-search-circle.md +0 -52
- package/docs/plugins/jspsych-vsl-animate-occlusion.md +0 -55
- package/docs/plugins/jspsych-vsl-grid-scene.md +0 -62
- package/docs/plugins/jspsych-webgazer-calibrate.md +0 -61
- package/docs/plugins/jspsych-webgazer-init-camera.md +0 -30
- package/docs/plugins/jspsych-webgazer-validate.md +0 -44
- package/docs/plugins/list-of-plugins.md +0 -54
- package/docs/tutorials/hello-world.md +0 -162
- package/docs/tutorials/rt-task.md +0 -1334
- package/docs/tutorials/video-tutorials.md +0 -11
- package/examples/add-to-end-of-timeline.html +0 -38
- package/examples/case-sensitive-responses.html +0 -45
- package/examples/conditional-and-loop-functions.html +0 -64
- package/examples/css/jquery-ui.css +0 -1225
- package/examples/css-classes-parameter.html +0 -145
- package/examples/data-add-properties.html +0 -44
- package/examples/data-as-function.html +0 -39
- package/examples/data-from-timeline.html +0 -52
- package/examples/data-from-url.html +0 -21
- package/examples/demo-flanker.html +0 -117
- package/examples/demo-simple-rt-task.html +0 -120
- package/examples/demos/demo_1.html +0 -35
- package/examples/demos/demo_2.html +0 -50
- package/examples/demos/demo_3.html +0 -63
- package/examples/display-element-to-embed-experiment.html +0 -79
- package/examples/end-active-node.html +0 -52
- package/examples/end-experiment.html +0 -45
- package/examples/exclusions.html +0 -32
- package/examples/external_html/simple_consent.html +0 -4
- package/examples/img/1.gif +0 -0
- package/examples/img/10.gif +0 -0
- package/examples/img/11.gif +0 -0
- package/examples/img/12.gif +0 -0
- package/examples/img/2.gif +0 -0
- package/examples/img/3.gif +0 -0
- package/examples/img/4.gif +0 -0
- package/examples/img/5.gif +0 -0
- package/examples/img/6.gif +0 -0
- package/examples/img/7.gif +0 -0
- package/examples/img/8.gif +0 -0
- package/examples/img/9.gif +0 -0
- package/examples/img/age/of1.jpg +0 -0
- package/examples/img/age/of2.jpg +0 -0
- package/examples/img/age/of3.jpg +0 -0
- package/examples/img/age/om1.jpg +0 -0
- package/examples/img/age/om2.jpg +0 -0
- package/examples/img/age/om3.jpg +0 -0
- package/examples/img/age/yf1.jpg +0 -0
- package/examples/img/age/yf4.jpg +0 -0
- package/examples/img/age/yf5.jpg +0 -0
- package/examples/img/age/ym2.jpg +0 -0
- package/examples/img/age/ym3.jpg +0 -0
- package/examples/img/age/ym5.jpg +0 -0
- package/examples/img/backwardN.gif +0 -0
- package/examples/img/blue.png +0 -0
- package/examples/img/card.png +0 -0
- package/examples/img/con1.png +0 -0
- package/examples/img/con2.png +0 -0
- package/examples/img/fixation.gif +0 -0
- package/examples/img/happy_face_1.jpg +0 -0
- package/examples/img/happy_face_2.jpg +0 -0
- package/examples/img/happy_face_3.jpg +0 -0
- package/examples/img/happy_face_4.jpg +0 -0
- package/examples/img/inc1.png +0 -0
- package/examples/img/inc2.png +0 -0
- package/examples/img/normalN.gif +0 -0
- package/examples/img/orange.png +0 -0
- package/examples/img/redX.png +0 -0
- package/examples/img/ribbon.jpg +0 -0
- package/examples/img/sad_face_1.jpg +0 -0
- package/examples/img/sad_face_2.jpg +0 -0
- package/examples/img/sad_face_3.jpg +0 -0
- package/examples/img/sad_face_4.jpg +0 -0
- package/examples/js/snap.svg-min.js +0 -21
- package/examples/js/webgazer/ridgeWorker.mjs +0 -135
- package/examples/js/webgazer/webgazer.js +0 -88909
- package/examples/js/webgazer/worker_scripts/mat.js +0 -306
- package/examples/js/webgazer/worker_scripts/util.js +0 -398
- package/examples/jspsych-RDK.html +0 -58
- package/examples/jspsych-animation.html +0 -39
- package/examples/jspsych-audio-button-response.html +0 -58
- package/examples/jspsych-audio-keyboard-response.html +0 -68
- package/examples/jspsych-audio-slider-response.html +0 -61
- package/examples/jspsych-call-function.html +0 -32
- package/examples/jspsych-canvas-button-response.html +0 -95
- package/examples/jspsych-canvas-keyboard-response.html +0 -78
- package/examples/jspsych-canvas-slider-response.html +0 -67
- package/examples/jspsych-categorize-animation.html +0 -49
- package/examples/jspsych-categorize-html.html +0 -33
- package/examples/jspsych-categorize-image.html +0 -44
- package/examples/jspsych-cloze.html +0 -37
- package/examples/jspsych-free-sort.html +0 -109
- package/examples/jspsych-fullscreen.html +0 -45
- package/examples/jspsych-html-button-response.html +0 -43
- package/examples/jspsych-html-keyboard-response.html +0 -42
- package/examples/jspsych-html-slider-response.html +0 -53
- package/examples/jspsych-iat.html +0 -520
- package/examples/jspsych-image-button-response.html +0 -91
- package/examples/jspsych-image-keyboard-response.html +0 -85
- package/examples/jspsych-image-slider-response.html +0 -85
- package/examples/jspsych-instructions.html +0 -37
- package/examples/jspsych-maxdiff.html +0 -33
- package/examples/jspsych-preload.html +0 -140
- package/examples/jspsych-reconstruction.html +0 -43
- package/examples/jspsych-resize.html +0 -34
- package/examples/jspsych-same-different-html.html +0 -28
- package/examples/jspsych-same-different-image.html +0 -39
- package/examples/jspsych-serial-reaction-time-mouse.html +0 -98
- package/examples/jspsych-serial-reaction-time.html +0 -54
- package/examples/jspsych-survey-html-form.html +0 -33
- package/examples/jspsych-survey-likert.html +0 -42
- package/examples/jspsych-survey-multi-choice.html +0 -40
- package/examples/jspsych-survey-multi-select.html +0 -42
- package/examples/jspsych-survey-text.html +0 -34
- package/examples/jspsych-video-button-response.html +0 -65
- package/examples/jspsych-video-keyboard-response.html +0 -61
- package/examples/jspsych-video-slider-response.html +0 -63
- package/examples/jspsych-virtual-chinrest.html +0 -69
- package/examples/jspsych-visual-search-circle.html +0 -64
- package/examples/jspsych-vsl-animate-occlusion.html +0 -35
- package/examples/jspsych-vsl-grid-scene.html +0 -47
- package/examples/lexical-decision.html +0 -134
- package/examples/manual-preloading.html +0 -59
- package/examples/pause-unpause.html +0 -33
- package/examples/progress-bar.html +0 -68
- package/examples/save-trial-parameters.html +0 -98
- package/examples/sound/hammer.mp3 +0 -0
- package/examples/sound/sound.mp3 +0 -0
- package/examples/sound/speech_blue.mp3 +0 -0
- package/examples/sound/speech_green.mp3 +0 -0
- package/examples/sound/speech_joke.mp3 +0 -0
- package/examples/sound/speech_red.mp3 +0 -0
- package/examples/sound/tone.mp3 +0 -0
- package/examples/timeline-variables-sampling.html +0 -50
- package/examples/timeline-variables.html +0 -64
- package/examples/video/sample_video.mp4 +0 -0
- package/examples/webgazer.html +0 -174
- package/examples/webgazer_audio.html +0 -90
- package/examples/webgazer_image.html +0 -60
- package/extensions/jspsych-ext-webgazer.js +0 -265
- package/jspsych.js +0 -3023
- package/license.txt +0 -21
- package/mkdocs.yml +0 -118
- package/plugins/jspsych-animation.js +0 -189
- package/plugins/jspsych-audio-button-response.js +0 -269
- package/plugins/jspsych-audio-keyboard-response.js +0 -209
- package/plugins/jspsych-audio-slider-response.js +0 -278
- package/plugins/jspsych-call-function.js +0 -58
- package/plugins/jspsych-canvas-button-response.js +0 -199
- package/plugins/jspsych-canvas-keyboard-response.js +0 -155
- package/plugins/jspsych-canvas-slider-response.js +0 -207
- package/plugins/jspsych-categorize-animation.js +0 -266
- package/plugins/jspsych-categorize-html.js +0 -220
- package/plugins/jspsych-categorize-image.js +0 -222
- package/plugins/jspsych-cloze.js +0 -112
- package/plugins/jspsych-external-html.js +0 -112
- package/plugins/jspsych-free-sort.js +0 -478
- package/plugins/jspsych-fullscreen.js +0 -106
- package/plugins/jspsych-html-button-response.js +0 -188
- package/plugins/jspsych-html-keyboard-response.js +0 -149
- package/plugins/jspsych-html-slider-response.js +0 -202
- package/plugins/jspsych-iat-html.js +0 -284
- package/plugins/jspsych-iat-image.js +0 -286
- package/plugins/jspsych-image-button-response.js +0 -327
- package/plugins/jspsych-image-keyboard-response.js +0 -263
- package/plugins/jspsych-image-slider-response.js +0 -369
- package/plugins/jspsych-instructions.js +0 -237
- package/plugins/jspsych-maxdiff.js +0 -173
- package/plugins/jspsych-preload.js +0 -345
- package/plugins/jspsych-rdk.js +0 -1373
- package/plugins/jspsych-reconstruction.js +0 -134
- package/plugins/jspsych-resize.js +0 -166
- package/plugins/jspsych-same-different-html.js +0 -168
- package/plugins/jspsych-same-different-image.js +0 -169
- package/plugins/jspsych-serial-reaction-time-mouse.js +0 -212
- package/plugins/jspsych-serial-reaction-time.js +0 -247
- package/plugins/jspsych-survey-html-form.js +0 -171
- package/plugins/jspsych-survey-likert.js +0 -195
- package/plugins/jspsych-survey-multi-choice.js +0 -208
- package/plugins/jspsych-survey-multi-select.js +0 -232
- package/plugins/jspsych-survey-text.js +0 -185
- package/plugins/jspsych-video-button-response.js +0 -335
- package/plugins/jspsych-video-keyboard-response.js +0 -279
- package/plugins/jspsych-video-slider-response.js +0 -351
- package/plugins/jspsych-virtual-chinrest.js +0 -471
- package/plugins/jspsych-visual-search-circle.js +0 -259
- package/plugins/jspsych-vsl-animate-occlusion.js +0 -196
- package/plugins/jspsych-vsl-grid-scene.js +0 -103
- package/plugins/jspsych-webgazer-calibrate.js +0 -161
- package/plugins/jspsych-webgazer-init-camera.js +0 -139
- package/plugins/jspsych-webgazer-validate.js +0 -314
- package/plugins/template/jspsych-plugin-template.js +0 -35
- package/tests/README.md +0 -7
- package/tests/jsPsych/case-sensitive-responses.test.js +0 -53
- package/tests/jsPsych/css-classes-parameter.test.js +0 -107
- package/tests/jsPsych/default-iti.test.js +0 -51
- package/tests/jsPsych/default-parameters.test.js +0 -58
- package/tests/jsPsych/endexperiment.test.js +0 -49
- package/tests/jsPsych/events.test.js +0 -606
- package/tests/jsPsych/functions-as-parameters.test.js +0 -210
- package/tests/jsPsych/init.test.js +0 -48
- package/tests/jsPsych/loads.test.js +0 -7
- package/tests/jsPsych/min-rt.test.js +0 -58
- package/tests/jsPsych/progressbar.test.js +0 -202
- package/tests/jsPsych/timeline-variables.test.js +0 -531
- package/tests/jsPsych/timelines.test.js +0 -569
- package/tests/jsPsych.data/data-csv-conversion.test.js +0 -85
- package/tests/jsPsych.data/data-json-conversion.test.js +0 -120
- package/tests/jsPsych.data/datacollection.test.js +0 -117
- package/tests/jsPsych.data/datacolumn.test.js +0 -50
- package/tests/jsPsych.data/datamodule.test.js +0 -152
- package/tests/jsPsych.data/dataparameter.test.js +0 -251
- package/tests/jsPsych.data/interactions.test.js +0 -109
- package/tests/jsPsych.data/trialparameters.test.js +0 -175
- package/tests/jsPsych.extensions/extensions.test.js +0 -207
- package/tests/jsPsych.extensions/test-extension.js +0 -42
- package/tests/jsPsych.pluginAPI/pluginapi.test.js +0 -365
- package/tests/jsPsych.pluginAPI/preloads.test.js +0 -43
- package/tests/jsPsych.randomization/randomziation.test.js +0 -27
- package/tests/jsPsych.utils/utils.test.js +0 -58
- package/tests/plugins/plugin-animation.test.js +0 -34
- package/tests/plugins/plugin-audio-button-response.test.js +0 -15
- package/tests/plugins/plugin-audio-keyboard-response.test.js +0 -15
- package/tests/plugins/plugin-audio-slider-response.test.js +0 -15
- package/tests/plugins/plugin-call-function.test.js +0 -49
- package/tests/plugins/plugin-categorize-animation.test.js +0 -263
- package/tests/plugins/plugin-categorize-html.test.js +0 -17
- package/tests/plugins/plugin-categorize-image.test.js +0 -17
- package/tests/plugins/plugin-cloze.test.js +0 -157
- package/tests/plugins/plugin-free-sort.test.js +0 -106
- package/tests/plugins/plugin-fullscreen.test.js +0 -41
- package/tests/plugins/plugin-html-button-response.test.js +0 -161
- package/tests/plugins/plugin-html-keyboard-response.test.js +0 -139
- package/tests/plugins/plugin-html-slider-response.test.js +0 -155
- package/tests/plugins/plugin-iat-html.test.js +0 -299
- package/tests/plugins/plugin-iat-image.test.js +0 -298
- package/tests/plugins/plugin-image-button-response.test.js +0 -174
- package/tests/plugins/plugin-image-keyboard-response.test.js +0 -147
- package/tests/plugins/plugin-image-slider-response.test.js +0 -174
- package/tests/plugins/plugin-instructions.test.js +0 -85
- package/tests/plugins/plugin-maxdiff.test.js +0 -39
- package/tests/plugins/plugin-preload.test.js +0 -916
- package/tests/plugins/plugin-rdk.test.js +0 -61
- package/tests/plugins/plugin-reconstruction.test.js +0 -16
- package/tests/plugins/plugin-resize.test.js +0 -16
- package/tests/plugins/plugin-same-different-html.test.js +0 -17
- package/tests/plugins/plugin-same-different-image.test.js +0 -17
- package/tests/plugins/plugin-serial-reaction-time-mouse.test.js +0 -42
- package/tests/plugins/plugin-serial-reaction-time.test.js +0 -109
- package/tests/plugins/plugin-survey-html-form.test.js +0 -44
- package/tests/plugins/plugin-survey-likert.test.js +0 -48
- package/tests/plugins/plugin-survey-multi-choice.test.js +0 -47
- package/tests/plugins/plugin-survey-multi-select.test.js +0 -71
- package/tests/plugins/plugin-survey-text.test.js +0 -115
- package/tests/plugins/plugin-video-button-response.test.js +0 -32
- package/tests/plugins/plugin-video-keyboard-response.test.js +0 -32
- package/tests/plugins/plugin-video-slider-response.test.js +0 -31
- package/tests/plugins/plugin-visual-search-circle.test.js +0 -16
- package/tests/plugins/plugin-vsl-animate-occlusion.test.js +0 -16
- package/tests/plugins/plugin-vsl-grid-scene.test.js +0 -16
- package/tests/testing-utils.js +0 -13
|
@@ -1,54 +0,0 @@
|
|
|
1
|
-
# jspsych-image-slider-response
|
|
2
|
-
|
|
3
|
-
This plugin displays and image and allows the subject to respond by dragging a slider.
|
|
4
|
-
|
|
5
|
-
Image files can be automatically preloaded by jsPsych using the [`preload` plugin](jspsych-preload.md). However, if you are using timeline variables or another dynamic method to specify the image stimulus, you will need to [manually preload](/overview/media-preloading/#manual-preloading) the images.
|
|
6
|
-
|
|
7
|
-
## Parameters
|
|
8
|
-
|
|
9
|
-
In addition to the [parameters available in all plugins](/overview/plugins#parameters-available-in-all-plugins), this plugin accepts the following parameters. Parameters with a default value of *undefined* must be specified. Other parameters can be left unspecified if the default value is acceptable.
|
|
10
|
-
|
|
11
|
-
Parameter | Type | Default Value | Description
|
|
12
|
-
----------|------|---------------|------------
|
|
13
|
-
stimulus | string | *undefined* | The path to the image file to be displayed.
|
|
14
|
-
stimulus_height | integer | null | Set the height of the image in pixels. If left null (no value specified), then the image will display at its natural height.
|
|
15
|
-
stimulus_width | integer | null | Set the width of the image in pixels. If left null (no value specified), then the image will display at its natural width.
|
|
16
|
-
maintain_aspect_ration | boolean | true | If setting *only* the width or *only* the height and this parameter is true, then the other dimension will be scaled to maintain the image's aspect ratio.
|
|
17
|
-
labels | array of strings | [] | Labels displayed at equidistant locations on the slider. For example, two labels will be placed at the ends of the slider. Three labels would place two at the ends and one in the middle. Four will place two at the ends, and the other two will be at 33% and 67% of the slider width.
|
|
18
|
-
button_label | string | 'Continue' | Label of the button to advance/submit
|
|
19
|
-
min | integer | 0 | Sets the minimum value of the slider
|
|
20
|
-
max | integer | 100 | Sets the maximum value of the slider
|
|
21
|
-
slider_start | integer | 50 | Sets the starting value of the slider
|
|
22
|
-
step | integer | 1 | Sets the step of the slider
|
|
23
|
-
slider_width | integer | null | Set the width of the slider in pixels. If left null, then the width will be equal to the widest element in the display.
|
|
24
|
-
require_movement | boolean | false | If true, the subject must move the slider before clicking the continue button.
|
|
25
|
-
prompt | string | null | This string can contain HTML markup. Any content here will be displayed below the stimulus. The intention is that it can be used to provide a reminder about the action the subject is supposed to take (e.g., which key to press).
|
|
26
|
-
stimulus_duration | numeric | null | How long to show the stimulus for in milliseconds. If the value is null, then the stimulus will be shown until the subject makes a response.
|
|
27
|
-
trial_duration | numeric | null | How long to wait for the subject to make a response before ending the trial in milliseconds. If the subject fails to make a response before this timer is reached, the subject's response will be recorded as null for the trial and the trial will end. If the value of this parameter is null, then the trial will wait for a response indefinitely.
|
|
28
|
-
response_ends_trial | boolean | true | If true, then the trial will end whenever the subject makes a response (assuming they make their response before the cutoff specified by the `trial_duration` parameter). If false, then the trial will continue until the value for `trial_duration` is reached. You can set this parameter to `false` to force the subject to view a stimulus for a fixed amount of time, even if they respond before the time is complete.
|
|
29
|
-
render_on_canvas | boolean | true | If true, the image will be drawn onto a canvas element. This prevents a blank screen (white flash) between consecutive image trials in some browsers, like Firefox and Edge. If false, the image will be shown via an img element, as in previous versions of jsPsych. If the stimulus is an **animated gif**, you must set this parameter to false, because the canvas rendering method will only present static images.
|
|
30
|
-
|
|
31
|
-
## Data Generated
|
|
32
|
-
|
|
33
|
-
In addition to the [default data collected by all plugins](/overview/plugins#data-collected-by-all-plugins), this plugin collects the following data for each trial.
|
|
34
|
-
|
|
35
|
-
Name | Type | Value
|
|
36
|
-
-----|------|------
|
|
37
|
-
response | numeric | The numeric value of the slider.
|
|
38
|
-
rt | numeric | The time in milliseconds for the subject to make a response. The time is measured from when the stimulus first appears on the screen until the subject's response.
|
|
39
|
-
stimulus | string | The path of the image that was displayed.
|
|
40
|
-
slider_start | numeric | The starting value of the slider.
|
|
41
|
-
|
|
42
|
-
## Examples
|
|
43
|
-
|
|
44
|
-
#### Displaying trial until subject gives a response
|
|
45
|
-
|
|
46
|
-
```javascript
|
|
47
|
-
var trial = {
|
|
48
|
-
type: 'image-slider-response',
|
|
49
|
-
stimulus: 'img/happy_face_1.png',
|
|
50
|
-
labels: ['happy', 'sad'],
|
|
51
|
-
prompt: "<p>How happy/sad is this person?</p>",
|
|
52
|
-
response_ends_trial: false
|
|
53
|
-
};
|
|
54
|
-
```
|
|
@@ -1,58 +0,0 @@
|
|
|
1
|
-
# jspsych-instructions plugin
|
|
2
|
-
|
|
3
|
-
This plugin is for showing instructions to the subject. It allows subjects to navigate through multiple pages of instructions at their own pace, recording how long the subject spends on each page. Navigation can be done using the mouse or keyboard. Subjects can be allowed to navigate forwards and backwards through pages, if desired.
|
|
4
|
-
|
|
5
|
-
## Parameters
|
|
6
|
-
|
|
7
|
-
In addition to the [parameters available in all plugins](/overview/plugins#parameters-available-in-all-plugins), this plugin accepts the following parameters. Parameters with a default value of *undefined* must be specified. Other parameters can be left unspecified if the default value is acceptable.
|
|
8
|
-
|
|
9
|
-
| Parameter | Type | Default Value | Description |
|
|
10
|
-
| --------------------- | ------- | ------------- | ---------------------------------------- |
|
|
11
|
-
| pages | array | *undefined* | Each element of the array is the content for a single page. Each page should be an HTML-formatted string. |
|
|
12
|
-
| key_forward | string | 'ArrowRight' | This is the key that the subject can press in order to advance to the next page. This key should be specified as a string (e.g., `'a'`, `'ArrowLeft'`, `' '`, `'Enter'`). |
|
|
13
|
-
| key_backward | string | 'ArrowLeft' | This is the key that the subject can press to return to the previous page. This key should be specified as a string (e.g., `'a'`, `'ArrowLeft'`, `' '`, `'Enter'`). |
|
|
14
|
-
| allow_backward | boolean | true | If true, the subject can return to previous pages of the instructions. If false, they may only advace to the next page. |
|
|
15
|
-
| allow_keys | boolean | true | If `true`, the subject can use keyboard keys to navigate the pages. If `false`, they may not. |
|
|
16
|
-
| show_clickable_nav | boolean | false | If true, then a `Previous` and `Next` button will be displayed beneath the instructions. Subjects can click the buttons to navigate. |
|
|
17
|
-
| button_label_previous | string | 'Previous' | The text that appears on the button to go backwards. |
|
|
18
|
-
| button_label_next | string | 'Next' | The text that appears on the button to go forwards. |
|
|
19
|
-
| show_page_number | boolean | false | If true, and clickable navigation is enabled, then Page x/y will be shown between the nav buttons. |
|
|
20
|
-
| page_label | string | 'Page' | The text that appears before x/y pages displayed when show_page_number is true. |
|
|
21
|
-
|
|
22
|
-
## Data Generated
|
|
23
|
-
|
|
24
|
-
In addition to the [default data collected by all plugins](/overview/plugins#data-collected-by-all-plugins), this plugin collects the following data for each trial.
|
|
25
|
-
|
|
26
|
-
| Name | Type | Value |
|
|
27
|
-
| ------------ | ----------- | ---------------------------------------- |
|
|
28
|
-
| view_history | array | An array containing the order of pages the subject viewed (including when the subject returned to previous pages) and the time spent viewing each page. Each object in the array represents a single page view, and contains keys called `page_index` (the page number, starting with 0) and `viewing_time` (duration of the page view). This will be encoded as a JSON string when data is saved using the `.json()` or `.csv()` functions. |
|
|
29
|
-
| rt | numeric | The response time in milliseconds for the subject to view all of the pages. |
|
|
30
|
-
|
|
31
|
-
## Example
|
|
32
|
-
|
|
33
|
-
#### Showing simple text instructions
|
|
34
|
-
|
|
35
|
-
```javascript
|
|
36
|
-
var trial = {
|
|
37
|
-
type: 'instructions',
|
|
38
|
-
pages: [
|
|
39
|
-
'Welcome to the experiment. Click next to begin.',
|
|
40
|
-
'This is the second page of instructions.',
|
|
41
|
-
'This is the final page.'
|
|
42
|
-
],
|
|
43
|
-
show_clickable_nav: true
|
|
44
|
-
}
|
|
45
|
-
```
|
|
46
|
-
|
|
47
|
-
#### Including images
|
|
48
|
-
|
|
49
|
-
```javascript
|
|
50
|
-
var trial = {
|
|
51
|
-
type: 'instructions',
|
|
52
|
-
pages: [
|
|
53
|
-
'Welcome to the experiment. Click next to begin.',
|
|
54
|
-
'Here is a picture of what you will do: <img src="instruction_image.jpg"></img>'
|
|
55
|
-
],
|
|
56
|
-
show_clickable_nav: true
|
|
57
|
-
}
|
|
58
|
-
```
|
|
@@ -1,41 +0,0 @@
|
|
|
1
|
-
# jspsych-maxdiff plugin
|
|
2
|
-
|
|
3
|
-
The maxdiff plugin displays a table with rows of alternatives to be selected for two mutually-exclusive categories, typically as 'most' or 'least' on a particular criteria (e.g. importance, preference, similarity). The participant responds by selecting one radio button corresponding to an alternative in both the left and right response columns. The same alternative cannot be endorsed on both the left and right response columns (e.g. 'most' and 'least') simultaneously.
|
|
4
|
-
|
|
5
|
-
## Parameters
|
|
6
|
-
|
|
7
|
-
In addition to the [parameters available in all plugins](/overview/plugins#parameters-available-in-all-plugins), this plugin accepts the following parameters. Parameters with a default value of *undefined* must be specified. Other parameters can be left unspecified if the default value is acceptable.
|
|
8
|
-
|
|
9
|
-
Parameter | Type | Default Value | Description
|
|
10
|
-
----------|------|---------------|------------
|
|
11
|
-
alternatives | array | *undefined* | An array of one or more alternatives of string type to fill the rows of the maxdiff table. If `required` is true, then the array must contain two or more alternatives, so that at least one can be selected for both the left and right columns.
|
|
12
|
-
labels | array | *undefined* | An array with exactly two labels of string type to display as column headings (to the left and right of the alternatives) for responses on the criteria of interest.
|
|
13
|
-
randomize_alternative_order | boolean | `false` | If true, the display order of `alternatives` is randomly determined at the start of the trial.
|
|
14
|
-
preamble | string | empty string | HTML formatted string to display at the top of the page above the maxdiff table.
|
|
15
|
-
required | boolean | `false` | If true, prevents the user from submitting the response and proceeding until a radio button in both the left and right response columns has been selected.
|
|
16
|
-
button_label | string | 'Continue' | Label of the button.
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
## Data Generated
|
|
20
|
-
|
|
21
|
-
In addition to the [default data collected by all plugins](/overview/plugins#data-collected-by-all-plugins), this plugin collects the following data for each trial.
|
|
22
|
-
|
|
23
|
-
Name | Type | Value
|
|
24
|
-
-----|------|------
|
|
25
|
-
rt | numeric | The response time in milliseconds for the subject to make a response. The time is measured from when the maxdiff table first appears on the screen until the subject's response.
|
|
26
|
-
labels | object | An object with two keys, `left` and `right`, containing the labels (strings) corresponding to the left and right response columns. This will be encoded as a JSON string when data is saved using the `.json()` or `.csv()` functions.
|
|
27
|
-
response | object | An object with two keys, `left` and `right`, containing the alternatives selected on the left and right columns. This will be encoded as a JSON string when data is saved using the `.json()` or `.csv()` functions.
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
## Examples
|
|
31
|
-
|
|
32
|
-
#### Basic example
|
|
33
|
-
|
|
34
|
-
```javascript
|
|
35
|
-
var maxdiff_page = {
|
|
36
|
-
type: 'maxdiff',
|
|
37
|
-
alternatives: ['apple', 'orange', 'pear', 'banana'],
|
|
38
|
-
labels: ['Most Preferred', 'Least Preferred'],
|
|
39
|
-
preamble: '<p> Please select your <b>most preferred</b> and <b>least preferred</b> fruits. </p>'
|
|
40
|
-
};
|
|
41
|
-
```
|
|
@@ -1,128 +0,0 @@
|
|
|
1
|
-
# jspsych-preload
|
|
2
|
-
|
|
3
|
-
This plugin loads images, audio, and video files. It is used for loading files into the browser's memory before they are needed in the experiment, in order to improve stimulus and response timing, and avoid disruption to the experiment flow. We recommend using this plugin anytime you are loading media files, and especially when your experiment requires large and/or many media files. See the [Media Preloading page](/overview/media-preloading/) for more information.
|
|
4
|
-
|
|
5
|
-
The preload trial will end as soon as all files have loaded successfully. The trial will end or stop with an error message when one of these two scenarios occurs (whichever comes first): (a) all files have not finished loading when the `max_load_time` duration is reached, or (b) all file requests have responded with either a load or fail event, and one or more files has failed to load. The `continue_after_error` parameter determines whether the trial will stop with an error message or end (allowing the experiment to continue) when preloading is not successful.
|
|
6
|
-
|
|
7
|
-
## Parameters
|
|
8
|
-
|
|
9
|
-
In addition to the [parameters available in all plugins](/overview/plugins#parameters-available-in-all-plugins), this plugin accepts the following parameters. While there are no specific parameters that are required, the plugin expects to be given a set of files to load through one or more of the following parameters: `auto_preload` or `trials` (for automatic loading), and/or `images`, `audio`, `video` (for manual loading). To automatically load files based on a timeline of trials, either set the `auto_preload` parameter is `true` (to load files based on the main timeline passed to `jsPsych.init`) or use the `trials` parameter to load files based on a specific subset of trials. To manually load a set of files, use the `images`, `audio`, and `video` parameters. You can combine automatic and manual loading methods in a single preload trial.
|
|
10
|
-
|
|
11
|
-
All other parameters can be left unspecified if the default value is acceptable.
|
|
12
|
-
|
|
13
|
-
| Parameter | Type | Default Value | Description |
|
|
14
|
-
| --------------------- | -------------- | -------------------------------- | ---------------------------------------- |
|
|
15
|
-
| auto_preload | boolean | false | If `true`, the plugin will preload any files that can be automatically preloaded based on the main experiment timeline that is passed to `jsPsych.init`. If `false`, any file(s) to be preloaded should be specified by passing a timeline array to the `trials` parameter and/or an array of file paths to the `images`, `audio`, and/or `video` parameters. Setting this parameter to `false` is useful when you plan to preload your files in smaller batches throughout the experiment. |
|
|
16
|
-
| trials | timeline array | [] | An array containing one or more jsPsych trial or timeline objects. This parameter is useful when you want to automatically preload stimuli files from a specific subset of the experiment. See [Creating an Experiment: The Timeline](/overview/timeline) for information on constructing timelines. |
|
|
17
|
-
| images | array | [] | Array containing file paths for one or more image files to preload. This option is typically used for image files that can't be automatically preloaded from the timeline. |
|
|
18
|
-
| audio | array | [] | Array containing file paths for one or more audio files to preload. This option is typically used for audio files that can't be automatically preloaded from the timeline. |
|
|
19
|
-
| video | array | [] | Array containing file paths for one or more video files to preload. This option is typically used for video files that can't be automatically preloaded from the timeline. |
|
|
20
|
-
| message | HTML string | null | HTML-formatted message to show above the progress bar while the files are loading. If `null`, then no message is shown. |
|
|
21
|
-
| show_progress_bar | boolean | true | If `true`, a progress bar will be shown while the files are loading. If `false`, no progress bar is shown. |
|
|
22
|
-
| continue_after_error | boolean | false | If `false`, then the experiment will stop during this trial if either (a) one or more of the files fails to load, and/or (b) all files do not finish loading before the `max_load_time` duration is reached. The trial will display the `error_message`, as well as the detailed error messages if `show_detailed_errors` is `true`. If `true`, the experiment will continue even if loading fails or times out, and information about loading success/failure will be stored in the trial data (see "Data Generated" below). |
|
|
23
|
-
| error_message | HTML string | 'The experiment failed to load.' | HTML-formatted message to be shown on the page after loading fails or times out. Only applies when `continue_after_error` is `false`. |
|
|
24
|
-
| show_detailed_errors | boolean | false | If `true`, and if `continue_after_error` is `false`, then a list of detailed errors will be shown below the `error_message`. This list will contain the file paths for any files that produced a loading failure, as well as a message indicating that loading timed out, if that was the case. This setting is intended to help the researcher with testing/debugging. If `false`, and if `continue_after_error` is `false`, then only the `error_message` will be shown if loading fails or times out. |
|
|
25
|
-
| max_load_time | numeric | null | Duration to wait, in milliseconds, for all files to load before loading times out. If one or more files has not finished loading within this time limit, then the trial will stop with an error (if `continue_after_error` is `false`), or the trial will end with information about the loading time-out in the trial data (see "Data Generated" below). If `null`, the trial will wait indefinitely for all files to either load or produce an error. |
|
|
26
|
-
| on_error | function | null | Function to be called immediately after a file loading request has returned an error. The function receives a single argument, which is the file path that produced the error. This callback is cancelled as soon as the trial ends. See example below. |
|
|
27
|
-
| on_success | function | null | Function to be called immediately after a file has successfully loaded. The function receives a single argument, which is the file path that finished loading. This callback is cancelled as soon as the trial ends. See example below. |
|
|
28
|
-
|
|
29
|
-
## Data Generated
|
|
30
|
-
|
|
31
|
-
In addition to the [default data collected by all plugins](/overview/plugins/#data-collected-by-all-plugins), this plugin collects the following data for each trial.
|
|
32
|
-
|
|
33
|
-
| Name | Type | Value |
|
|
34
|
-
| -------------- | ------- | ---------------------------------------- |
|
|
35
|
-
| success | boolean | If `true`, then all files loaded successfully within the `max_load_time`. If `false`, then one or more file requests returned a failure and/or the file loading did not complete within the `max_load_time` duration. |
|
|
36
|
-
| timeout | boolean | If `true`, then the files did not finish loading within the `max_load_time` duration. If `false`, then the file loading did not timeout. Note that when the preload trial does not timeout (`timeout: false`), it is still possible for loading to fail (`success: false`). This happens if one or more files fails to load and all file requests trigger either a success or failure event before the `max_load_time` duration. |
|
|
37
|
-
| failed_images | array | One or more image file paths that produced a loading failure before the trial ended. |
|
|
38
|
-
| failed_audio | array | One or more audio file paths that produced a loading failure before the trial ended. |
|
|
39
|
-
| failed_video | array | One or more video file paths that produced a loading failure before the trial ended. |
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
## Examples
|
|
43
|
-
|
|
44
|
-
#### Loading files automatically based on the main timeline
|
|
45
|
-
|
|
46
|
-
```javascript
|
|
47
|
-
var preload = {
|
|
48
|
-
type: 'preload',
|
|
49
|
-
auto_preload: true // automatically load all files based on the main timeline
|
|
50
|
-
};
|
|
51
|
-
|
|
52
|
-
// define other trials to add to the timeline...
|
|
53
|
-
|
|
54
|
-
jsPsych.init({
|
|
55
|
-
timeline: [preload, trial1, trial2, trial3]
|
|
56
|
-
});
|
|
57
|
-
```
|
|
58
|
-
|
|
59
|
-
#### Loading files manually
|
|
60
|
-
|
|
61
|
-
```javascript
|
|
62
|
-
var preload = {
|
|
63
|
-
type: 'preload',
|
|
64
|
-
images: ['file1.png']
|
|
65
|
-
};
|
|
66
|
-
```
|
|
67
|
-
|
|
68
|
-
#### Combining automatic and manual methods
|
|
69
|
-
|
|
70
|
-
```javascript
|
|
71
|
-
// automatically load stimuli from the main timeline,
|
|
72
|
-
// and manually add any other stimuli files that can't be loaded automatically
|
|
73
|
-
var preload = {
|
|
74
|
-
type: 'preload',
|
|
75
|
-
auto_preload: true,
|
|
76
|
-
images: ['image1.png','image2.png']
|
|
77
|
-
};
|
|
78
|
-
|
|
79
|
-
// define other trials to add to the timeline...
|
|
80
|
-
|
|
81
|
-
jsPsych.init({
|
|
82
|
-
timeline: [preload, trial1, trial2, trial3]
|
|
83
|
-
});
|
|
84
|
-
```
|
|
85
|
-
|
|
86
|
-
#### Loading files in batches
|
|
87
|
-
|
|
88
|
-
```javascript
|
|
89
|
-
var block_1 = {
|
|
90
|
-
timeline: [...]
|
|
91
|
-
}
|
|
92
|
-
|
|
93
|
-
var block_2 = {
|
|
94
|
-
timeline: [...]
|
|
95
|
-
}
|
|
96
|
-
|
|
97
|
-
var preload_1 = {
|
|
98
|
-
type: 'preload',
|
|
99
|
-
trials: block_1 // automatically load block_1 stimuli
|
|
100
|
-
};
|
|
101
|
-
|
|
102
|
-
var preload_2 = {
|
|
103
|
-
type: 'preload',
|
|
104
|
-
trials: block_2 // automatically load block_2 stimuli
|
|
105
|
-
};
|
|
106
|
-
|
|
107
|
-
jsPsych.init(
|
|
108
|
-
// add each preload trial to the timeline before the appropriate trial block
|
|
109
|
-
timeline: [preload_1, block_1, preload_2, block_2]
|
|
110
|
-
)
|
|
111
|
-
```
|
|
112
|
-
|
|
113
|
-
#### Using the on_success and on_error functions
|
|
114
|
-
|
|
115
|
-
```javascript
|
|
116
|
-
var preload = {
|
|
117
|
-
type: 'preload',
|
|
118
|
-
audio: ['sound.mp3'],
|
|
119
|
-
on_success: function(file) {
|
|
120
|
-
console.log('File loaded: ',file);
|
|
121
|
-
},
|
|
122
|
-
on_error: function(file) {
|
|
123
|
-
console.log('Error loading file: ',file);
|
|
124
|
-
}
|
|
125
|
-
};
|
|
126
|
-
```
|
|
127
|
-
|
|
128
|
-
For more examples, see the jspsych-preload.html file in the jsPsych examples folder and the [Media Preloading](/overview/media-preloading) documentation page.
|
|
@@ -1,119 +0,0 @@
|
|
|
1
|
-
# jspsych-rdk plugin
|
|
2
|
-
|
|
3
|
-
This plugin displays a Random Dot Kinematogram (RDK) and allows the subject to report the primary direction of motion by pressing a key on the keyboard. The stimulus can be displayed until a keyboard response is given or until a certain duration of time has passed. The RDK is fully customizable (see documentation below) and can display multiple apertures at the same time, each with its own parameters.
|
|
4
|
-
|
|
5
|
-
We would appreciate it if you cited this paper when you use the RDK:
|
|
6
|
-
<b>Rajananda, S., Lau, H. & Odegaard, B., (2018). A Random-Dot Kinematogram for Web-Based Vision Research. Journal of Open Research Software. 6(1), p.6. DOI: [http://doi.org/10.5334/jors.194]</b>
|
|
7
|
-
|
|
8
|
-
For optimal performance, fullscreen mode should be manually triggered by the user (e.g. F11 key in Chrome for Windows). Usage of the default Fullscreen trigger from the jsPsych API library with this plugin might result in the stimuli being displayed incorrectly.
|
|
9
|
-
|
|
10
|
-
## Parameters
|
|
11
|
-
|
|
12
|
-
In addition to the [parameters available in all plugins](/overview/plugins#parameters-available-in-all-plugins), this plugin accepts the following parameters. Parameters with a default value of *undefined* must be specified. Parameters can be left unspecified if the default value is acceptable.
|
|
13
|
-
|
|
14
|
-
| Parameter | Type | Default Value | Descripton |
|
|
15
|
-
| ------------------------ | ---------------- | -------------------- | ---------------------------------------- |
|
|
16
|
-
| choices | array of strings | jsPsych.ALL_KEYS | The valid keys that the subject can press as a response. Must be an array of strings. If left unspecified, any key is a valid key. |
|
|
17
|
-
| correct_choice | array or string | *undefined* | The keys that are considered the correct response for that particular trial. Can be a single string or an array of strings. This needs to be linked with the `coherent_direction` parameter (see Examples section below for an illustration). This is used to determine whether the subject chose the correct response. The boolean indicating whether or not the subject chose the correct response is returned in the `correct` key of the data object. |
|
|
18
|
-
| trial_duration | numeric | 500 | The amount of time that the stimulus is displayed on the screen in ms. If -1, the stimulus will be displayed until the subject keys in a valid response. (`choices` parameter must contain valid keys or else the stimuli will run indefinitely). |
|
|
19
|
-
| response_ends_trial | boolean | true | If `true`, then the subject's response will end the trial. If `false`, the stimuli will be presented for the full `trial_duration` (the response will be recorded as long as the subject responds within the trial duration). |
|
|
20
|
-
| number_of_apertures | numeric | 1 | The number of apertures or RDKs on the screen. If set to more than one, remember to set the location (i.e., aperture_center_x and aperture_center_y) parameters to separate them. <br>In addition, each aperture can be customized individually by passing in an array of values as the parameter (see example below). If a single value (not an array) is passed as the parameter, then all apertures will have the same parameter. |
|
|
21
|
-
| number_of_dots | numeric | 300 | Number of dots per set. Equivalent to number of dots per frame. |
|
|
22
|
-
| number_of_sets | numeric | 1 | Number of sets to cycle through. Each frame displays one set of dots. (E.g. If 2 sets of dots, frame 1 will display dots from set 1, frame 2 will display dots from set 2, frame 3 will display sets from set 1, etc.) |
|
|
23
|
-
| coherent_direction | numeric | 0 | The direction of movement for coherent dots in degrees. 0 degrees is in the 3 o'clock direction, and increasing this number moves counterclockwise. (E.g. 12 o'clock is 90, 9 o'clock is 180, etc.) Range is 0 - 360. |
|
|
24
|
-
| coherence | numeric | 0.5 | The proportion of dots that move together in the coherent direction. Range is 0 to 1. |
|
|
25
|
-
| opposite_coherence | numeric | 0 | The proportion of moving in the direction opposite of the coherent direction. Range is 0 to (1-coherence). |
|
|
26
|
-
| dot_radius | numeric | 2 | The radius of each individual dot in pixels. |
|
|
27
|
-
| dot_life | numeric | -1 | The number of frames that pass before a dot disappears and reappears in a new frame. -1 denotes that the dot life is infinite (i.e., a dot will only disappear and reappear if it moves out of the aperture). |
|
|
28
|
-
| move_distance | numeric | 1 | The number of pixel lengths the dot will move in each frame (analogous to speed of dots). |
|
|
29
|
-
| aperture_width | numeric | 600 | The width of the aperture in pixels. For a square aperture, this will determine both the width and height. For circular aperture, this will determine the diameter. |
|
|
30
|
-
| aperture_height | numeric | 400 | The height of the aperture in pixels. For square and circle apertures, this will be ignored. |
|
|
31
|
-
| dot_color | string | "white" | The color of the dots. |
|
|
32
|
-
| background_color | string | "gray" | The color of the background. |
|
|
33
|
-
| RDK_type | numeric | 3 | The Signal Selection Rule (Same/Different) and Noise Type (Random Position/Walk/Direction):<br><br>1 - Same && Random Position<br>2 - Same && Random Walk<br>3 - Same && Random Direction<br>4 - Different && Random Position<br>5 - Different && Random Walk<br>6 - Different && Random Direction<br><br>(See 'RDK parameter' below for more detailed information)<br> |
|
|
34
|
-
| aperture_type | numeric | 2 | The shape of the aperture.<br><br>1 - Circle<br>2 - Ellipse<br>3 - Square<br>4 - Rectangle<br> |
|
|
35
|
-
| reinsert_type | numeric | 2 | The type of reinsertion of a dot that has gone out of bounds<br><br>1 - Randomly appear anywhere in the aperture<br>2 - Appear on the opposite edge of the aperture. For squares and rectangles, a random point on the opposite edge is chosen as the reinsertion point. For circles and ellipses, the exit point is reflected about center to become the reinsertion point.<br> |
|
|
36
|
-
| aperture_center_x | numeric | window.innerWidth/2 | The x-coordinate of the center of the aperture, in pixels.<br> |
|
|
37
|
-
| aperture_center_y | numeric | window.innerHeight/2 | The y-coordinate of the center of the aperture, in pixels.<br> |
|
|
38
|
-
| fixation_cross | boolean | false | Whether or not a fixation cross is presented in the middle of the screen.<br> |
|
|
39
|
-
| fixation_cross_width | numeric | 20 | The width of the fixation cross in pixels.<br> |
|
|
40
|
-
| fixation_cross_height | numeric | 20 | The height of the fixation cross in pixels.<br> |
|
|
41
|
-
| fixation_cross_color | string | "black" | The color of the fixation cross.<br> |
|
|
42
|
-
| fixation_cross_thickness | numeric | 1 | The thickness of the fixation cross in pixels.<br> |
|
|
43
|
-
| border | boolean | false | The presence of a border around the aperture.<br> |
|
|
44
|
-
| border_thickness | numeric | 1 | The thickness of the border in pixels.<br> |
|
|
45
|
-
| border_color | string | "black" | The color of the border.<br> |
|
|
46
|
-
|
|
47
|
-
### RDK type parameter
|
|
48
|
-
** See Fig. 1 in Scase, Braddick, and Raymond (1996) for a visual depiction of these different signal selection rules and noise types.
|
|
49
|
-
|
|
50
|
-
#### Signal Selection rule:
|
|
51
|
-
-**Same**: Each dot is designated to be either a coherent dot (signal) or incoherent dot (noise) and will remain so throughout all frames in the display. Coherent dots will always move in the direction of coherent motion in all frames.
|
|
52
|
-
-**Different**: Each dot can be either a coherent dot (signal) or incoherent dot (noise) and will be designated randomly (weighted based on the coherence level) at each frame. Only the dots that are designated to be coherent dots will move in the direction of coherent motion, but only in that frame. In the next frame, each dot will be designated randomly again on whether it is a coherent or incoherent dot.
|
|
53
|
-
|
|
54
|
-
#### Noise Type:
|
|
55
|
-
-**Random position**: The incoherent dots appear in a random location in the aperture in each frame.<br/>
|
|
56
|
-
-**Random walk**: The incoherent dots will move in a random direction (designated randomly in each frame) in each frame.<br/>
|
|
57
|
-
-**Random direction**: Each incoherent dot has its own alternative direction of motion (designated randomly at the beginning of the trial), and moves in that direction in each frame.<br/>
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
## Data Generated
|
|
61
|
-
|
|
62
|
-
In addition to the [default data collected by all plugins](/overview/plugins#data-collected-by-all-plugins), this plugin collects all parameter data described above and the following data for each trial.
|
|
63
|
-
|
|
64
|
-
| Name | Type | Value |
|
|
65
|
-
| ---------------- | ----------- | ---------------------------------------- |
|
|
66
|
-
| rt | numeric | The response time in ms for the subject to make a response. |
|
|
67
|
-
| response | string | The key that the subject pressed. |
|
|
68
|
-
| correct | boolean | Whether or not the subject's key press corresponded to those provided in correct_choice. |
|
|
69
|
-
| frame_rate | numeric | The average frame rate for the trial. 0 denotes that the subject responded before the appearance of the second frame. |
|
|
70
|
-
| number_of_frames | numeric | The number of frames that was shown in this trial. |
|
|
71
|
-
| frame_rate_array | array | The array that holds the number of miliseconds for each frame in this trial. This will be encoded as a JSON string when data is saved using the `.json()` or `.csv()` functions. |
|
|
72
|
-
| canvas_width | numeric | The width of the canvas in pixels. |
|
|
73
|
-
| canvas_height | numeric | The height of the canvas in pixels. |
|
|
74
|
-
|
|
75
|
-
## Example
|
|
76
|
-
|
|
77
|
-
#### Setting the correct_choice parameter by linking it to the coherent_direction parameter:
|
|
78
|
-
|
|
79
|
-
```javascript
|
|
80
|
-
var trial_right = {
|
|
81
|
-
coherent_direction: 0,
|
|
82
|
-
correct_choice: "p"
|
|
83
|
-
};
|
|
84
|
-
|
|
85
|
-
var trial_left = {
|
|
86
|
-
coherent_direction: 180,
|
|
87
|
-
correct_choice: "q"
|
|
88
|
-
};
|
|
89
|
-
```
|
|
90
|
-
|
|
91
|
-
#### Displaying a trial with 2 choices and 1 correct choice
|
|
92
|
-
|
|
93
|
-
```javascript
|
|
94
|
-
var test_block = {
|
|
95
|
-
type: "rdk",
|
|
96
|
-
post_trial_gap: 0,
|
|
97
|
-
number_of_dots: 200,
|
|
98
|
-
RDK_type: 3,
|
|
99
|
-
choices: ["a", "l"],
|
|
100
|
-
correct_choice: "a",
|
|
101
|
-
coherent_direction: 180,
|
|
102
|
-
trial_duration: 1000
|
|
103
|
-
};
|
|
104
|
-
```
|
|
105
|
-
|
|
106
|
-
#### Displaying a trial with multiple apertures
|
|
107
|
-
|
|
108
|
-
```javascript
|
|
109
|
-
var test_block = {
|
|
110
|
-
type: "rdk",
|
|
111
|
-
number_of_apertures: 3, //This needs to be set if more than one aperture
|
|
112
|
-
trial_duration: 10000,
|
|
113
|
-
RDK_type: 3, //Applied to all apertures if only one value
|
|
114
|
-
aperture_width: 200, //Applied to all apertures if only one value
|
|
115
|
-
number_of_dots: [50, 200, 100], //Different parameter for each aperture. Array length must equal number_of_apertures
|
|
116
|
-
aperture_center_x: [(window.innerWidth/2)-300,window.innerWidth/2,(window.innerWidth/2)+300] //Separate the apertures on the screen (window.innerWidth/2 is the middle of the screen)
|
|
117
|
-
};
|
|
118
|
-
```
|
|
119
|
-
|
|
@@ -1,48 +0,0 @@
|
|
|
1
|
-
# jspsych-reconstruction plugin
|
|
2
|
-
|
|
3
|
-
This plugin allows a subject to interact with a stimulus by modifying a parameter of the stimulus and observing the change in the stimulus in real-time.
|
|
4
|
-
|
|
5
|
-
The stimulus must be defined through a function that returns an HTML-formatted string. The function should take a single value, which is the parameter that can be modified by the subject. The value can only range from 0 to 1. See the example at the bottom of the page for a sample function.
|
|
6
|
-
|
|
7
|
-
## Parameters
|
|
8
|
-
|
|
9
|
-
In addition to the [parameters available in all plugins](/overview/plugins#parameters-available-in-all-plugins), this plugin accepts the following parameters. Parameters with a default value of *undefined* must be specified. Other parameters can be left unspecified if the default value is acceptable.
|
|
10
|
-
|
|
11
|
-
Parameter | Type | Default Value | Description
|
|
12
|
-
----------|------|---------------|------------
|
|
13
|
-
stim_function | function | *undefined* | A function with a single parameter that returns an HTML-formatted string representing the stimulus.
|
|
14
|
-
starting_value | numeric | 0.5 | The starting value of the stimulus parameter.
|
|
15
|
-
step_size | numeric | 0.05 | The change in the stimulus parameter caused by pressing one of the modification keys.
|
|
16
|
-
key_increase | string | 'h' | The key to press for increasing the parameter value.
|
|
17
|
-
key_decrease | string | 'g' | The key to press for decreasing the parameter value.
|
|
18
|
-
button_label | string | 'Continue' | The text that appears on the button to finish the trial.
|
|
19
|
-
|
|
20
|
-
## Data Generated
|
|
21
|
-
|
|
22
|
-
In addition to the [default data collected by all plugins](/overview/plugins#data-collected-by-all-plugins), this plugin collects the following data for each trial.
|
|
23
|
-
|
|
24
|
-
Name | Type | Value
|
|
25
|
-
-----|------|------
|
|
26
|
-
start_value | numeric | The starting value of the stimulus parameter.
|
|
27
|
-
final_value | numeric | The final value of the stimulus parameter.
|
|
28
|
-
rt | numeric | The length of time, in milliseconds, that the trial lasted.
|
|
29
|
-
|
|
30
|
-
## Examples
|
|
31
|
-
|
|
32
|
-
#### Make a block larger and smaller
|
|
33
|
-
|
|
34
|
-
```javascript
|
|
35
|
-
var sample_function = function(param){
|
|
36
|
-
var size = 50 + Math.floor(param*250);
|
|
37
|
-
var html = '<div style="display: block; margin: auto; height: 300px;">'+
|
|
38
|
-
'<div style="display: block; margin: auto; background-color: #000000; '+
|
|
39
|
-
'width: '+size+'px; height: '+size+'px;"></div></div>';
|
|
40
|
-
return html;
|
|
41
|
-
}
|
|
42
|
-
|
|
43
|
-
var trial = {
|
|
44
|
-
type: 'reconstruction',
|
|
45
|
-
stim_function: sample_function,
|
|
46
|
-
starting_value: 0.25
|
|
47
|
-
}
|
|
48
|
-
```
|
|
@@ -1,39 +0,0 @@
|
|
|
1
|
-
# jspsych-resize
|
|
2
|
-
|
|
3
|
-
This plugin displays a resizable div container that allows the user to drag until the container is the same size as the item being measured. Once the user measures the item as close as possible, clicking the button sets a scaling factor for the div containing jsPsych content. This causes the stimuli that follow to have a known size, independent of monitor resolution.
|
|
4
|
-
|
|
5
|
-
## Parameters
|
|
6
|
-
|
|
7
|
-
In addition to the [parameters available in all plugins](/overview/plugins#parameters-available-in-all-plugins), this plugin accepts the following parameters. Parameters with a default value of *undefined* must be specified. Other parameters can be left unspecified if the default value is acceptable.
|
|
8
|
-
|
|
9
|
-
Parameter | Type | Default Value | Description
|
|
10
|
-
----------|------|---------------|------------
|
|
11
|
-
item_height | numeric | 1 | The height of the item to be measured. Any units can be used as long as you are consistent with using the same units for all parameters.
|
|
12
|
-
item_width | numeric | 1 | The width of the item to be measured.
|
|
13
|
-
pixels_per_unit | numeric | 100 | After the scaling factor is applied, this many pixels will equal one unit of measurement.
|
|
14
|
-
prompt | string | `''` | HTML content to display below the resizable box, and above the button.
|
|
15
|
-
button_label | string | 'Continue' | Label to display on the button to complete calibration.
|
|
16
|
-
starting_size | numeric | 100 | The initial size of the box, in pixels, along the largest dimension. The aspect ratio will be set automatically to match the item width and height.
|
|
17
|
-
|
|
18
|
-
## Data Generated
|
|
19
|
-
|
|
20
|
-
In addition to the [default data collected by all plugins](/overview/plugins#data-collected-by-all-plugins), this plugin collects the following data for each trial.
|
|
21
|
-
|
|
22
|
-
Name | Type | Value
|
|
23
|
-
-----|------|------
|
|
24
|
-
final_width_px | numeric | Final width of the resizable div container, in pixels.
|
|
25
|
-
scale_factor | numeric | Scaling factor that will be applied to the div containing jsPsych content.
|
|
26
|
-
|
|
27
|
-
## Examples
|
|
28
|
-
|
|
29
|
-
#### Measuring a credit card and resizing the display to have 150 pixels equal an inch.
|
|
30
|
-
|
|
31
|
-
```javascript
|
|
32
|
-
var inputs = {
|
|
33
|
-
type: 'resize',
|
|
34
|
-
item_width: 3 + 3/8,
|
|
35
|
-
item_height: 2 + 1/8,
|
|
36
|
-
prompt: "<p>Click and drag the lower right corner of the box until the box is the same size as a credit card held up to the screen.</p>",
|
|
37
|
-
pixels_per_unit: 150
|
|
38
|
-
};
|
|
39
|
-
```
|
|
@@ -1,53 +0,0 @@
|
|
|
1
|
-
# jspsych-same-different-html plugin
|
|
2
|
-
|
|
3
|
-
The same-different-html plugin displays two stimuli sequentially. Stimuli are HTML objects. The subject responds using the keyboard, and indicates whether the stimuli were the same or different. Same does not necessarily mean identical; a category judgment could be made, for example.
|
|
4
|
-
|
|
5
|
-
## Parameters
|
|
6
|
-
|
|
7
|
-
In addition to the [parameters available in all plugins](/overview/plugins#parameters-available-in-all-plugins), this plugin accepts the following parameters. Parameters with a default value of *undefined* must be specified. Other parameters can be left unspecified if the default value is acceptable.
|
|
8
|
-
|
|
9
|
-
| Parameter | Type | Default Value | Description |
|
|
10
|
-
| -------------------- | ------- | ------------- | ---------------------------------------- |
|
|
11
|
-
| stimuli | array | *undefined* | A pair of stimuli, represented as an array with two entries, one for each stimulus. A stimulus is a string containing valid HTML markup. Stimuli will be shown in the order that they are defined in the array. |
|
|
12
|
-
| answer | string | *undefined* | Either `'same'` or `'different'`. |
|
|
13
|
-
| same_key | string | 'q' | The key that subjects should press to indicate that the two stimuli are the same. |
|
|
14
|
-
| different_key | string | 'p' | The key that subjects should press to indicate that the two stimuli are different. |
|
|
15
|
-
| first_stim_duration | numeric | 1000 | How long to show the first stimulus for in milliseconds. If the value of this parameter is null then the stimulus will be shown until the subject presses any key. |
|
|
16
|
-
| gap_duration | numeric | 500 | How long to show a blank screen in between the two stimuli. |
|
|
17
|
-
| second_stim_duration | numeric | 1000 | How long to show the second stimulus for in milliseconds. If the value of this parameter is null then the stimulus will be shown until the subject responds. |
|
|
18
|
-
| prompt | string | null | This string can contain HTML markup. Any content here will be displayed below the stimulus. The intention is that it can be used to provide a reminder about the action the subject is supposed to take (e.g., which key to press). |
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
## Data Generated
|
|
22
|
-
|
|
23
|
-
In addition to the [default data collected by all plugins](/overview/plugins#data-collected-by-all-plugins), this plugin collects the following data for each trial.
|
|
24
|
-
|
|
25
|
-
| Name | Type | Value |
|
|
26
|
-
| --------- | ------- | ---------------------------------------- |
|
|
27
|
-
| stimulus | array | An array of length 2 containing the HTML-formatted content that the subject saw for each trial. This will be encoded as a JSON string when data is saved using the `.json()` or `.csv()` functions. |
|
|
28
|
-
| response | string | Indicates which key the subject pressed. |
|
|
29
|
-
| rt | numeric | The response time in milliseconds for the subject to make a response. The time is measured from when the second stimulus first appears on the screen until the subject's response. |
|
|
30
|
-
| correct | boolean | `true` if the subject's response matched the `answer` for this trial. |
|
|
31
|
-
| answer | string | The correct answer to the trial, either `'same'` or `'different'`. |
|
|
32
|
-
|
|
33
|
-
Additionally, if `first_stim_duration` is null, then the following data is also collected:
|
|
34
|
-
|
|
35
|
-
| Name | Type | Value |
|
|
36
|
-
| --------------- | ------- | ---------------------------------------- |
|
|
37
|
-
| rt_stim1 | numeric | The response time in milliseconds for the subject to continue after the first stimulus. The time is measured from when the first stimulus appears on the screen until the subject's response. |
|
|
38
|
-
| response_stim1 | string | Indicates which key the subject pressed to continue. |
|
|
39
|
-
|
|
40
|
-
## Examples
|
|
41
|
-
|
|
42
|
-
#### Basic example
|
|
43
|
-
|
|
44
|
-
```javascript
|
|
45
|
-
var trial = {
|
|
46
|
-
type: 'same-different-html',
|
|
47
|
-
stimuli: ['<p>Climbing</p>', '<p>Walking</p>'],
|
|
48
|
-
prompt: "<p>Press 's' if the texts imply the same amount of physical exertion. Press 'd' if the texts imply different amount of physical exertion.</p>",
|
|
49
|
-
same_key: 's',
|
|
50
|
-
different_key: 'd',
|
|
51
|
-
answer: 'different'
|
|
52
|
-
}
|
|
53
|
-
```
|
|
@@ -1,66 +0,0 @@
|
|
|
1
|
-
# jspsych-same-different plugin
|
|
2
|
-
|
|
3
|
-
The same-different plugin displays two stimuli sequentially. Stimuli are image objects. The subject responds using the keyboard, and indicates whether the stimuli were the same or different. Same does not necessarily mean identical; a category judgment could be made, for example.
|
|
4
|
-
|
|
5
|
-
## Parameters
|
|
6
|
-
|
|
7
|
-
In addition to the [parameters available in all plugins](/overview/plugins#parameters-available-in-all-plugins), this plugin accepts the following parameters. Parameters with a default value of *undefined* must be specified. Other parameters can be left unspecified if the default value is acceptable.
|
|
8
|
-
|
|
9
|
-
| Parameter | Type | Default Value | Description |
|
|
10
|
-
| -------------------- | ------- | ------------- | ---------------------------------------- |
|
|
11
|
-
| stimuli | array | *undefined* | A pair of stimuli, represented as an array with two entries, one for each stimulus. The stimulus is a path to an image file. Stimuli will be shown in the order that they are defined in the array. |
|
|
12
|
-
| answer | string | *undefined* | Either `'same'` or `'different'`. |
|
|
13
|
-
| same_key | string | 'q' | The key that subjects should press to indicate that the two stimuli are the same. |
|
|
14
|
-
| different_key | string | 'p' | The key that subjects should press to indicate that the two stimuli are different. |
|
|
15
|
-
| first_stim_duration | numeric | 1000 | How long to show the first stimulus for in milliseconds. If the value of this parameter is null then the stimulus will be shown until the subject presses any key. |
|
|
16
|
-
| gap_duration | numeric | 500 | How long to show a blank screen in between the two stimuli. |
|
|
17
|
-
| second_stim_duration | numeric | 1000 | How long to show the second stimulus for in milliseconds. If the value of this parameter is null then the stimulus will be shown until the subject responds. |
|
|
18
|
-
| prompt | string | null | This string can contain HTML markup. Any content here will be displayed below the stimulus. The intention is that it can be used to provide a reminder about the action the subject is supposed to take (e.g., which key to press). |
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
## Data Generated
|
|
22
|
-
|
|
23
|
-
In addition to the [default data collected by all plugins](/overview/plugins#data-collected-by-all-plugins), this plugin collects the following data for each trial.
|
|
24
|
-
|
|
25
|
-
| Name | Type | Value |
|
|
26
|
-
| --------- | ------- | ---------------------------------------- |
|
|
27
|
-
| stimulus | array | An array of length 2 containing the paths to the image files that the subject saw for each trial. This will be encoded as a JSON string when data is saved using the `.json()` or `.csv()` functions. |
|
|
28
|
-
| response | string | Indicates which key the subject pressed. |
|
|
29
|
-
| rt | numeric | The response time in milliseconds for the subject to make a response. The time is measured from when the second stimulus first appears on the screen until the subject's response. |
|
|
30
|
-
| correct | boolean | `true` if the subject's response matched the `answer` for this trial. |
|
|
31
|
-
| answer | string | The correct answer to the trial, either `'same'` or `'different'`. |
|
|
32
|
-
|
|
33
|
-
Additionally, if `first_stim_duration` is null, then the following data is also collected:
|
|
34
|
-
|
|
35
|
-
| Name | Type | Value |
|
|
36
|
-
| --------------- | ------- | ---------------------------------------- |
|
|
37
|
-
| rt_stim1 | numeric | The response time in milliseconds for the subject to continue after the first stimulus. The time is measured from when the first stimulus appears on the screen until the subject's response. |
|
|
38
|
-
| response_stim1 | string | Indicates which key the subject pressed to continue. |
|
|
39
|
-
|
|
40
|
-
## Examples
|
|
41
|
-
|
|
42
|
-
#### Presenting two different emotional expressions
|
|
43
|
-
|
|
44
|
-
```javascript
|
|
45
|
-
var block = {
|
|
46
|
-
type: 'same-different-image',
|
|
47
|
-
stimuli: ['img/happy_face_1.jpg', 'img/sad_face_3.jpg'],
|
|
48
|
-
prompt: "<p>Press s if the faces had the same emotional expression. Press d if the faces had different emotional expressions.</p>",
|
|
49
|
-
same_key: 's',
|
|
50
|
-
different_key: 'd',
|
|
51
|
-
answer: 'different'
|
|
52
|
-
}
|
|
53
|
-
```
|
|
54
|
-
|
|
55
|
-
#### Presenting the same emotional expression
|
|
56
|
-
|
|
57
|
-
```javascript
|
|
58
|
-
var block = {
|
|
59
|
-
type: 'same-different-image',
|
|
60
|
-
stimuli: ['img/happy_face_1.jpg', 'img/happy_face_3.jpg'],
|
|
61
|
-
prompt: "<p>Press s if the faces had the same emotional expression. Press d if the faces had different emotional expressions.</p>",
|
|
62
|
-
same_key: 's',
|
|
63
|
-
different_key: 'd',
|
|
64
|
-
answer: 'same'
|
|
65
|
-
}
|
|
66
|
-
```
|