psychopy 2024.2.1__py3-none-any.whl → 2024.2.4__py3-none-any.whl
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.
Potentially problematic release.
This version of psychopy might be problematic. Click here for more details.
- psychopy/.DS_Store +0 -0
- psychopy/GIT_SHA +1 -1
- psychopy/VERSION +1 -1
- psychopy/__init__.py +10 -1
- psychopy/__init__.py.orig +65 -0
- psychopy/app/{locale/ar_001/.DS_Store → .DS_Store} +0 -0
- psychopy/app/Resources/.DS_Store +0 -0
- psychopy/app/_psychopyApp.py +11 -3
- psychopy/app/appData.spec +1 -1
- psychopy/app/builder/builder.py +1 -1
- psychopy/app/builder/builder.py.orig +3932 -0
- psychopy/app/builder/dialogs/__init__.py.orig +1679 -0
- psychopy/app/builder/dialogs/paramCtrls.py +1 -1
- psychopy/app/builder/dialogs/paramCtrls.py.orig +713 -0
- psychopy/app/colorpicker/__init__.py.orig +411 -0
- psychopy/app/cortex.log +0 -0
- psychopy/app/jobs.py +8 -1
- psychopy/app/locale/ar_001/LC_MESSAGE/messages.po +2452 -1731
- psychopy/app/locale/zh_CN/LC_MESSAGE/zh_CN.mo +0 -0
- psychopy/app/locale/zh_CN/LC_MESSAGE/zh_CN.po +6127 -0
- psychopy/app/locale/zh_CN/LC_MESSAGE/zh_CN_allFlagged.mo +0 -0
- psychopy/app/locale/zh_CN/LC_MESSAGE/zh_CN_allFlagged.po +7366 -0
- psychopy/app/plugin_manager/dialog.py +9 -7
- psychopy/app/ribbon.py +2 -1
- psychopy/app/runner/runner.py +7 -5
- psychopy/clock.py +8 -4
- psychopy/core.py.orig +169 -0
- psychopy/demos/builder/Design Templates/randomisedBlocks/html/index.html +23 -0
- psychopy/demos/builder/Design Templates/randomisedBlocks/html/randomisedBlocks-legacy-browsers.js +423 -0
- psychopy/demos/builder/Design Templates/randomisedBlocks/html/randomisedBlocks.js +427 -0
- psychopy/demos/builder/Design Templates/randomisedBlocks/html/resources/chooseBlock.xlsx +0 -0
- psychopy/demos/builder/Design Templates/randomisedBlocks/html/resources/facesBlock.xlsx +0 -0
- psychopy/demos/builder/Design Templates/randomisedBlocks/html/resources/housesBlock.xlsx +0 -0
- psychopy/demos/builder/Design Templates/randomisedBlocks/html/resources/stims/face01.jpg +0 -0
- psychopy/demos/builder/Design Templates/randomisedBlocks/html/resources/stims/face02.jpg +0 -0
- psychopy/demos/builder/Design Templates/randomisedBlocks/html/resources/stims/face03.jpg +0 -0
- psychopy/demos/builder/Design Templates/randomisedBlocks/html/resources/stims/house01.jpg +0 -0
- psychopy/demos/builder/Design Templates/randomisedBlocks/html/resources/stims/house02.jpg +0 -0
- psychopy/demos/builder/Design Templates/randomisedBlocks/html/resources/stims/house03.jpg +0 -0
- psychopy/demos/builder/Design Templates/randomisedBlocks/randomisedBlocks.py +330 -0
- psychopy/demos/builder/Design Templates/randomisedBlocks/randomisedBlocks_lastrun.py +330 -0
- psychopy/demos/builder/Feature Demos/eyetracking/eyetracking.xml +298 -0
- psychopy/demos/builder/Feature Demos/eyetracking/eyetracking.xsd +120 -0
- psychopy/demos/builder/Tools/.DS_Store +0 -0
- psychopy/demos/builder/Tools/gammaCalibration/.DS_Store +0 -0
- psychopy/demos/builder/Tools/gammaCalibration/data/_gamma_correction_visual_2022-05-18_14h18.29.439.csv +38 -0
- psychopy/demos/builder/Tools/gammaCalibration/data/_gamma_correction_visual_2022-05-18_14h18.29.439.log +3418 -0
- psychopy/demos/builder/Tools/gammaCalibration/data/_gamma_correction_visual_2022-05-18_14h18.29.439.psydat +0 -0
- psychopy/demos/builder/Tools/gammaCalibration/data/x1_gamma_correction_visual_2022-05-17_13h59.42.928.csv +2 -0
- psychopy/demos/builder/Tools/gammaCalibration/data/x1_gamma_correction_visual_2022-05-17_13h59.42.928.log +15 -0
- psychopy/demos/builder/Tools/gammaCalibration/data/x1_gamma_correction_visual_2022-05-17_13h59.42.928.psydat +0 -0
- psychopy/demos/builder/Tools/gammaCalibration/gamma_correction_visual.psyexp +323 -0
- psychopy/demos/builder/Tools/gammaCalibration/gamma_correction_visual.py +562 -0
- psychopy/demos/builder/Tools/gammaCalibration/gamma_correction_visual_lastrun.py +562 -0
- psychopy/demos/builder/Tools/gammaCalibration/questStairs.xlsx +0 -0
- psychopy/demos/builder/Tools/gammaCalibration/readme.md +0 -0
- psychopy/demos/builder/Tools/gammaCalibration/resources/low_contrast.png +0 -0
- psychopy/demos/builder/Tools/gammaCalibration/resources/make_2nd_order_tex.py +59 -0
- psychopy/demos/builder/Tools/gammaCalibration/resources/second_order_tex.png +0 -0
- psychopy/demos/coder/.DS_Store +0 -0
- psychopy/demos/coder/experiment control/info_gamma.pickle +0 -0
- psychopy/demos/coder/iohub/.iohpid +1 -0
- psychopy/demos/coder/iohub/eyetracking/.iohpid +1 -0
- psychopy/demos/coder/iohub/wintab/.DS_Store +0 -0
- psychopy/demos/coder/stimuli/.DS_Store +0 -0
- psychopy/demos/coder/stimuli/radialGratingContracting.py +29 -0
- psychopy/experiment/_experiment.py.orig +1032 -0
- psychopy/experiment/components/.DS_Store +0 -0
- psychopy/experiment/components/_base.py +13 -4
- psychopy/experiment/components/_base.py.orig +823 -0
- psychopy/experiment/components/form/.DS_Store +0 -0
- psychopy/experiment/components/microphone/__init__.py +10 -1
- psychopy/experiment/components/microphone/__init__.py.orig +490 -0
- psychopy/experiment/components/polygon/__init__.py +21 -22
- psychopy/experiment/components/settings/__init__.py +13 -14
- psychopy/experiment/components/settings/__init__.py.orig +1337 -0
- psychopy/experiment/components/textbox/__init__.py.orig +310 -0
- psychopy/experiment/components/webcam/.DS_Store +0 -0
- psychopy/experiment/components/webcam/light/.DS_Store +0 -0
- psychopy/experiment/flow.py +10 -8
- psychopy/experiment/loops.py.orig +829 -0
- psychopy/experiment/params.py +8 -3
- psychopy/experiment/params.py.orig +408 -0
- psychopy/experiment/routine.py.orig +503 -0
- psychopy/experiment/routines/_base.py +15 -6
- psychopy/experiment/routines/counterbalance/__init__.py +1 -0
- psychopy/gui/qtgui.py +14 -7
- psychopy/gui/util.py +10 -14
- psychopy/gui/wxgui.py +10 -4
- psychopy/hardware/.DS_Store +0 -0
- psychopy/hardware/brainproducts.py.orig +680 -0
- psychopy/hardware/iolab.py.orig +238 -0
- psychopy/hardware/manager.py +1 -1
- psychopy/hardware/photodiode.py +59 -27
- psychopy/hardware/serialport.py +51 -0
- psychopy/hardware/speaker.py +4 -4
- psychopy/iohub/datastore/__init__.py.orig +443 -0
- psychopy/iohub/datastore/util.py.orig +692 -0
- psychopy/iohub/devices/mouse/darwin.py.orig +427 -0
- psychopy/iohub/devices/mouse/linux2.py.orig +198 -0
- psychopy/preferences/.DS_Store +0 -0
- psychopy/projects/pavlovia.py +10 -3
- psychopy/projects/pavlovia.py.orig +1295 -0
- psychopy/sound/backend_ptb.py +22 -5
- psychopy/sound/transcribe.py +24 -4
- psychopy/tests/.DS_Store +0 -0
- psychopy/tests/data/.DS_Store +0 -0
- psychopy/tests/data/TestCircle_fill_local.png +0 -0
- psychopy/tests/data/__test.png +0 -0
- psychopy/tests/data/aperture1_normHexbackground_local.png +0 -0
- psychopy/tests/data/aperture1_norm_local.png +0 -0
- psychopy/tests/data/aperture2_normHexbackground_local.png +0 -0
- psychopy/tests/data/beatandrcos_height_local.png +0 -0
- psychopy/tests/data/beatandrcos_normAddBlend_local.png +0 -0
- psychopy/tests/data/beatandrcos_normHexbackground_local.png +0 -0
- psychopy/tests/data/beatandrcos_norm_local.png +0 -0
- psychopy/tests/data/beatandrcos_stencil_local.png +0 -0
- psychopy/tests/data/blend_add_height_local.png +0 -0
- psychopy/tests/data/blend_add_normAddBlend_local.png +0 -0
- psychopy/tests/data/blend_add_normHexbackground_local.png +0 -0
- psychopy/tests/data/blend_add_normNoShade_local.png +0 -0
- psychopy/tests/data/blend_add_norm_local.png +0 -0
- psychopy/tests/data/blend_add_stencil_local.png +0 -0
- psychopy/tests/data/bufferimg_gabor_height_local.png +0 -0
- psychopy/tests/data/bufferimg_gabor_normAddBlend_local.png +0 -0
- psychopy/tests/data/bufferimg_gabor_normHexbackground_local.png +0 -0
- psychopy/tests/data/bufferimg_gabor_normNoShade_local.png +0 -0
- psychopy/tests/data/bufferimg_gabor_norm_local.png +0 -0
- psychopy/tests/data/bufferimg_gabor_stencil_local.png +0 -0
- psychopy/tests/data/circleHex_height_local.png +0 -0
- psychopy/tests/data/circleHex_normAddBlend_local.png +0 -0
- psychopy/tests/data/circleHex_normHexbackground_local.png +0 -0
- psychopy/tests/data/circleHex_normNoShade_local.png +0 -0
- psychopy/tests/data/circleHex_norm_local.png +0 -0
- psychopy/tests/data/circleHex_stencil_local.png +0 -0
- psychopy/tests/data/color_comparison_local.png +0 -0
- psychopy/tests/data/corrFullRandom_local.csv +16 -0
- psychopy/tests/data/corrFullRandom_local.tsv +6 -0
- psychopy/tests/data/correctScript/.DS_Store +0 -0
- psychopy/tests/data/dots_height_local.png +0 -0
- psychopy/tests/data/dots_normAddBlend_local.png +0 -0
- psychopy/tests/data/dots_normHexbackground_local.png +0 -0
- psychopy/tests/data/dots_normNoShade_local.png +0 -0
- psychopy/tests/data/dots_norm_local.png +0 -0
- psychopy/tests/data/dots_stencil_local.png +0 -0
- psychopy/tests/data/elarray1_height_local.png +0 -0
- psychopy/tests/data/elarray1_normAddBlend_local.png +0 -0
- psychopy/tests/data/elarray1_normHexbackground_local.png +0 -0
- psychopy/tests/data/elarray1_norm_local.png +0 -0
- psychopy/tests/data/elarray1_stencil_local.png +0 -0
- psychopy/tests/data/envelopeandrcos_height_local.png +0 -0
- psychopy/tests/data/envelopeandrcos_normAddBlend_local.png +0 -0
- psychopy/tests/data/envelopeandrcos_normHexbackground_local.png +0 -0
- psychopy/tests/data/envelopeandrcos_norm_local.png +0 -0
- psychopy/tests/data/envelopeandrcos_stencil_local.png +0 -0
- psychopy/tests/data/envelopepowerandrcos_height_local.png +0 -0
- psychopy/tests/data/envelopepowerandrcos_normAddBlend_local.png +0 -0
- psychopy/tests/data/envelopepowerandrcos_normHexbackground_local.png +0 -0
- psychopy/tests/data/envelopepowerandrcos_norm_local.png +0 -0
- psychopy/tests/data/envelopepowerandrcos_stencil_local.png +0 -0
- psychopy/tests/data/gabor1_height_local.png +0 -0
- psychopy/tests/data/gabor1_normAddBlend_local.png +0 -0
- psychopy/tests/data/gabor1_normHexbackground_local.png +0 -0
- psychopy/tests/data/gabor1_normNoShade_local.png +0 -0
- psychopy/tests/data/gabor1_norm_local.png +0 -0
- psychopy/tests/data/gabor1_stencil_local.png +0 -0
- psychopy/tests/data/greyscale_normHexbackground_local.png +0 -0
- psychopy/tests/data/imageAndGauss_height_local.png +0 -0
- psychopy/tests/data/imageAndGauss_normAddBlend_local.png +0 -0
- psychopy/tests/data/imageAndGauss_normHexbackground_local.png +0 -0
- psychopy/tests/data/imageAndGauss_normNoShade_local.png +0 -0
- psychopy/tests/data/imageAndGauss_norm_local.png +0 -0
- psychopy/tests/data/imageAndGauss_stencil_local.png +0 -0
- psychopy/tests/data/movFrame1_stencil_local.png +0 -0
- psychopy/tests/data/noiseAndRcos_height_local.png +0 -0
- psychopy/tests/data/noiseAndRcos_normAddBlend_local.png +0 -0
- psychopy/tests/data/noiseAndRcos_normHexbackground_local.png +0 -0
- psychopy/tests/data/noiseAndRcos_normNoShade_local.png +0 -0
- psychopy/tests/data/noiseAndRcos_norm_local.png +0 -0
- psychopy/tests/data/noiseAndRcos_stencil_local.png +0 -0
- psychopy/tests/data/noiseFiltersAndRcos_height_local.png +0 -0
- psychopy/tests/data/noiseFiltersAndRcos_normAddBlend_local.png +0 -0
- psychopy/tests/data/noiseFiltersAndRcos_normHexbackground_local.png +0 -0
- psychopy/tests/data/noiseFiltersAndRcos_normNoShade_local.png +0 -0
- psychopy/tests/data/noiseFiltersAndRcos_norm_local.png +0 -0
- psychopy/tests/data/noiseFiltersAndRcos_stencil_local.png +0 -0
- psychopy/tests/data/numpyImage_height_local.png +0 -0
- psychopy/tests/data/numpyImage_normAddBlend_local.png +0 -0
- psychopy/tests/data/numpyImage_normHexbackground_local.png +0 -0
- psychopy/tests/data/numpyImage_normNoShade_local.png +0 -0
- psychopy/tests/data/numpyImage_norm_local.png +0 -0
- psychopy/tests/data/numpyImage_stencil_local.png +0 -0
- psychopy/tests/data/shape2_1_normAddBlend_local.png +0 -0
- psychopy/tests/data/shape2_1_normHexbackground_local.png +0 -0
- psychopy/tests/data/shape2_1_normNoShade_local.png +0 -0
- psychopy/tests/data/shape2_1_norm_local.png +0 -0
- psychopy/tests/data/shape2_1_stencil_local.png +0 -0
- psychopy/tests/data/testLoopsBlocks.psyexp_local.py +328 -0
- psychopy/tests/data/text1_height_local.png +0 -0
- psychopy/tests/data/text1_normAddBlend_local.png +0 -0
- psychopy/tests/data/text1_normHexbackground_local.png +0 -0
- psychopy/tests/data/text1_norm_local.png +0 -0
- psychopy/tests/data/text1_stencil_local.png +0 -0
- psychopy/tests/data/text2_height.png +0 -0
- psychopy/tests/data/text2_normAddBlend.png +0 -0
- psychopy/tests/data/text2_normHexbackground.png +0 -0
- psychopy/tests/data/text2_stencil.png +0 -0
- psychopy/tests/data/wedge1_height_local.png +0 -0
- psychopy/tests/data/wedge1_normAddBlend_local.png +0 -0
- psychopy/tests/data/wedge1_normHexbackground_local.png +0 -0
- psychopy/tests/data/wedge1_normNoShade_local.png +0 -0
- psychopy/tests/data/wedge1_norm_local.png +0 -0
- psychopy/tests/data/wedge1_stencil_local.png +0 -0
- psychopy/tests/test_app/.DS_Store +0 -0
- psychopy/tests/test_app/test_builder/.DS_Store +0 -0
- psychopy/tests/test_app/test_builder/data/_2021_ 5_03_1206.csv +9 -0
- psychopy/tests/test_app/test_builder/data/_2021_ 5_03_1206.log +177 -0
- psychopy/tests/test_app/test_builder/data/_2021_ 5_03_1206.psydat +0 -0
- psychopy/tests/test_app/test_builder/data/_2021_ 5_03_1206.xlsx +0 -0
- psychopy/tests/test_app/test_builder/data/_2021_ 5_03_1324.csv +9 -0
- psychopy/tests/test_app/test_builder/data/_2021_ 5_03_1324.log +168 -0
- psychopy/tests/test_app/test_builder/data/_2021_ 5_03_1324.psydat +0 -0
- psychopy/tests/test_app/test_builder/data/_2021_ 5_03_1324.xlsx +0 -0
- psychopy/tests/test_data/.DS_Store +0 -0
- psychopy/tests/test_hardware/test_CRS_BitsSharp.py.orig +68 -0
- psychopy/tests/test_tools/test_arraytools.py +112 -0
- psychopy/tests/test_visual/test_image.py.orig +219 -0
- psychopy/tools/arraytools.py +47 -0
- psychopy/tools/versionchooser.py +1 -1
- psychopy/visual/backends/pygletbackend.py +26 -8
- psychopy/visual/basevisual.py.orig +1723 -0
- psychopy/visual/form.py.orig +1181 -0
- psychopy/visual/text.py.orig +752 -0
- psychopy/visual/textbox2/textbox2.py.orig +1315 -0
- psychopy/visual/window.py +13 -5
- psychopy/visual/windowwarp.py.orig +463 -0
- {psychopy-2024.2.1.dist-info → psychopy-2024.2.4.dist-info}/METADATA +9 -9
- {psychopy-2024.2.1.dist-info → psychopy-2024.2.4.dist-info}/RECORD +244 -78
- {psychopy-2024.2.1.dist-info → psychopy-2024.2.4.dist-info}/WHEEL +1 -1
- {psychopy-2024.2.1.dist-info → psychopy-2024.2.4.dist-info}/entry_points.txt +2 -0
- psychopy/app/locale/ar_001/LC_MESSAGE/messages.mo +0 -0
- psychopy/app/locale/cs_CZ/LC_MESSAGE/messages.mo +0 -0
- psychopy/app/locale/da_DK/LC_MESSAGE/messages.mo +0 -0
- psychopy/app/locale/de_DE/LC_MESSAGE/messages.mo +0 -0
- psychopy/app/locale/el_GR/LC_MESSAGE/messages.mo +0 -0
- psychopy/app/locale/en_NZ/LC_MESSAGE/messages.mo +0 -0
- psychopy/app/locale/en_US/LC_MESSAGE/messages.mo +0 -0
- psychopy/app/locale/es_CO/LC_MESSAGE/messages.mo +0 -0
- psychopy/app/locale/es_ES/LC_MESSAGE/messages.mo +0 -0
- psychopy/app/locale/es_US/LC_MESSAGE/messages.mo +0 -0
- psychopy/app/locale/et_EE/LC_MESSAGE/messages.mo +0 -0
- psychopy/app/locale/fa_IR/LC_MESSAGE/messages.mo +0 -0
- psychopy/app/locale/fi_FI/LC_MESSAGE/messages.mo +0 -0
- psychopy/app/locale/fr_FR/LC_MESSAGE/messages.mo +0 -0
- psychopy/app/locale/he_IL/LC_MESSAGE/messages.mo +0 -0
- psychopy/app/locale/hi_IN/LC_MESSAGE/messages.mo +0 -0
- psychopy/app/locale/hu_HU/LC_MESSAGE/messages.mo +0 -0
- psychopy/app/locale/it_IT/LC_MESSAGE/messages.mo +0 -0
- psychopy/app/locale/ja_JP/LC_MESSAGE/messages.mo +0 -0
- psychopy/app/locale/ko_KR/LC_MESSAGE/messages.mo +0 -0
- psychopy/app/locale/ms_MY/LC_MESSAGE/messages.mo +0 -0
- psychopy/app/locale/nl_NL/LC_MESSAGE/messages.mo +0 -0
- psychopy/app/locale/nn_NO/LC_MESSAGE/messages.mo +0 -0
- psychopy/app/locale/pl_PL/LC_MESSAGE/messages.mo +0 -0
- psychopy/app/locale/pt_PT/LC_MESSAGE/messages.mo +0 -0
- psychopy/app/locale/ro_RO/LC_MESSAGE/messages.mo +0 -0
- psychopy/app/locale/ru_RU/LC_MESSAGE/messages.mo +0 -0
- psychopy/app/locale/sv_SE/LC_MESSAGE/messages.mo +0 -0
- psychopy/app/locale/tr_TR/LC_MESSAGE/messages.mo +0 -0
- psychopy/app/locale/zh_CN/LC_MESSAGE/messages.mo +0 -0
- psychopy/app/locale/zh_TW/LC_MESSAGE/messages.mo +0 -0
- psychopy-2024.2.1.dist-info/licenses/AUTHORS.md +0 -138
- /psychopy/{app/locale/ar_001/LC_MESSAGE → demos/builder}/.DS_Store +0 -0
- /psychopy/{app/locale/es_ES/LC_MESSAGE → demos/builder/Experiments}/.DS_Store +0 -0
- /psychopy/{visual → demos/builder/Tools/gammaCalibration/data}/.DS_Store +0 -0
- {psychopy-2024.2.1.dist-info → psychopy-2024.2.4.dist-info}/licenses/LICENSE +0 -0
|
@@ -0,0 +1,328 @@
|
|
|
1
|
+
#!/usr/bin/env python
|
|
2
|
+
# -*- coding: utf-8 -*-
|
|
3
|
+
"""
|
|
4
|
+
This experiment was created using PsychoPy3 Experiment Builder (v2022.1.0rc1),
|
|
5
|
+
on 火 12/21 13:10:40 2021
|
|
6
|
+
If you publish work using this script the most relevant publication is:
|
|
7
|
+
|
|
8
|
+
Peirce J, Gray JR, Simpson S, MacAskill M, Höchenberger R, Sogo H, Kastman E, Lindeløv JK. (2019)
|
|
9
|
+
PsychoPy2: Experiments in behavior made easy Behav Res 51: 195.
|
|
10
|
+
https://doi.org/10.3758/s13428-018-01193-y
|
|
11
|
+
|
|
12
|
+
"""
|
|
13
|
+
|
|
14
|
+
from psychopy import locale_setup
|
|
15
|
+
from psychopy import prefs
|
|
16
|
+
from psychopy import sound, gui, visual, core, data, event, logging, clock, colors, iohub, hardware
|
|
17
|
+
from psychopy.constants import (NOT_STARTED, STARTED, PLAYING, PAUSED,
|
|
18
|
+
STOPPED, FINISHED, PRESSED, RELEASED, FOREVER)
|
|
19
|
+
|
|
20
|
+
import numpy as np # whole numpy lib is available, prepend 'np.'
|
|
21
|
+
from numpy import (sin, cos, tan, log, log10, pi, average,
|
|
22
|
+
sqrt, std, deg2rad, rad2deg, linspace, asarray)
|
|
23
|
+
from numpy.random import random, randint, normal, shuffle, choice as randchoice
|
|
24
|
+
import os # handy system and path functions
|
|
25
|
+
import sys # to get file system encoding
|
|
26
|
+
|
|
27
|
+
from psychopy.hardware import keyboard
|
|
28
|
+
from psychopy.hardware import qmix
|
|
29
|
+
|
|
30
|
+
|
|
31
|
+
|
|
32
|
+
# Ensure that relative paths start from the same directory as this script
|
|
33
|
+
_thisDir = os.path.dirname(os.path.abspath(__file__))
|
|
34
|
+
os.chdir(_thisDir)
|
|
35
|
+
# Store info about the experiment session
|
|
36
|
+
psychopyVersion = '2022.1.0rc1'
|
|
37
|
+
expName = 'testLoopsBlocks' # from the Builder filename that created this script
|
|
38
|
+
expInfo = {'session': '001', 'participant': ''}
|
|
39
|
+
expInfo['date'] = data.getDateStr() # add a simple timestamp
|
|
40
|
+
expInfo['expName'] = expName
|
|
41
|
+
expInfo['psychopyVersion'] = psychopyVersion
|
|
42
|
+
|
|
43
|
+
# Data file name stem = absolute path + name; later add .psyexp, .csv, .log, etc
|
|
44
|
+
filename = _thisDir + os.sep + 'data' + os.sep + '%s_%s' % (expInfo['participant'], expInfo['date'])
|
|
45
|
+
|
|
46
|
+
# An ExperimentHandler isn't essential but helps with data saving
|
|
47
|
+
thisExp = data.ExperimentHandler(name=expName, version='',
|
|
48
|
+
extraInfo=expInfo, runtimeInfo=None,
|
|
49
|
+
originPath='/Users/lpzjwp/code/psychopy/git/psychopy/tests/data/testLoopsBlocks.psyexp',
|
|
50
|
+
savePickle=True, saveWideText=True,
|
|
51
|
+
dataFileName=filename)
|
|
52
|
+
# save a log file for detail verbose info
|
|
53
|
+
logFile = logging.LogFile(filename+'.log', level=logging.EXP)
|
|
54
|
+
logging.console.setLevel(logging.WARNING) # this outputs to the screen, not a file
|
|
55
|
+
|
|
56
|
+
endExpNow = False # flag for 'escape' or other condition => quit the exp
|
|
57
|
+
frameTolerance = 0.001 # how close to onset before 'same' frame
|
|
58
|
+
|
|
59
|
+
# Start Code - component code to be run after the window creation
|
|
60
|
+
|
|
61
|
+
# Setup the Window
|
|
62
|
+
win = visual.Window(
|
|
63
|
+
size=[800,600], fullscr=False, screen=0,
|
|
64
|
+
winType='pyglet', allowGUI=True, allowStencil=False,
|
|
65
|
+
monitor='testMonitor', color=[0,0,0], colorSpace='rgb',
|
|
66
|
+
blendMode='avg', useFBO=True)
|
|
67
|
+
# store frame rate of monitor if we can measure it
|
|
68
|
+
expInfo['frameRate'] = win.getActualFrameRate()
|
|
69
|
+
if expInfo['frameRate'] != None:
|
|
70
|
+
frameDur = 1.0 / round(expInfo['frameRate'])
|
|
71
|
+
else:
|
|
72
|
+
frameDur = 1.0 / 60.0 # could not measure, so guess
|
|
73
|
+
|
|
74
|
+
# Setup eyetracking
|
|
75
|
+
ioDevice = ioConfig = ioSession = ioServer = eyetracker = None
|
|
76
|
+
|
|
77
|
+
# create a default keyboard (e.g. to check for escape)
|
|
78
|
+
defaultKeyboard = keyboard.Keyboard()
|
|
79
|
+
|
|
80
|
+
# Initialize components for Routine "blockIntro"
|
|
81
|
+
blockIntroClock = core.Clock()
|
|
82
|
+
blockIntroText = visual.TextStim(win=win, name='blockIntroText',
|
|
83
|
+
text="You're about to start a new block",
|
|
84
|
+
font='Arial',
|
|
85
|
+
pos=[0, 0], height=0.1, wrapWidth=None, ori=0,
|
|
86
|
+
color='white', colorSpace='rgb', opacity=1,
|
|
87
|
+
languageStyle='LTR',
|
|
88
|
+
depth=0.0);
|
|
89
|
+
|
|
90
|
+
# Initialize components for Routine "presentOneStim"
|
|
91
|
+
presentOneStimClock = core.Clock()
|
|
92
|
+
stimInfo = visual.TextStim(win=win, name='stimInfo',
|
|
93
|
+
text='',
|
|
94
|
+
font='Arial',
|
|
95
|
+
pos=[0, 0], height=0.1, wrapWidth=None, ori=0,
|
|
96
|
+
color='white', colorSpace='rgb', opacity=1,
|
|
97
|
+
languageStyle='LTR',
|
|
98
|
+
depth=0.0);
|
|
99
|
+
|
|
100
|
+
# Create some handy timers
|
|
101
|
+
globalClock = core.Clock() # to track the time since experiment started
|
|
102
|
+
routineTimer = core.CountdownTimer() # to track time remaining of each (non-slip) routine
|
|
103
|
+
|
|
104
|
+
# set up handler to look after randomisation of conditions etc
|
|
105
|
+
blocks = data.TrialHandler(nReps=4, method='random',
|
|
106
|
+
extraInfo=expInfo, originPath=-1,
|
|
107
|
+
trialList=[None],
|
|
108
|
+
seed=None, name='blocks')
|
|
109
|
+
thisExp.addLoop(blocks) # add the loop to the experiment
|
|
110
|
+
thisBlock = blocks.trialList[0] # so we can initialise stimuli with some values
|
|
111
|
+
# abbreviate parameter names if possible (e.g. rgb = thisBlock.rgb)
|
|
112
|
+
if thisBlock != None:
|
|
113
|
+
for paramName in thisBlock:
|
|
114
|
+
exec('{} = thisBlock[paramName]'.format(paramName))
|
|
115
|
+
|
|
116
|
+
for thisBlock in blocks:
|
|
117
|
+
currentLoop = blocks
|
|
118
|
+
# abbreviate parameter names if possible (e.g. rgb = thisBlock.rgb)
|
|
119
|
+
if thisBlock != None:
|
|
120
|
+
for paramName in thisBlock:
|
|
121
|
+
exec('{} = thisBlock[paramName]'.format(paramName))
|
|
122
|
+
|
|
123
|
+
# ------Prepare to start Routine "blockIntro"-------
|
|
124
|
+
continueRoutine = True
|
|
125
|
+
routineTimer.add(0.500000)
|
|
126
|
+
# update component parameters for each repeat
|
|
127
|
+
# keep track of which components have finished
|
|
128
|
+
blockIntroComponents = [blockIntroText]
|
|
129
|
+
for thisComponent in blockIntroComponents:
|
|
130
|
+
thisComponent.tStart = None
|
|
131
|
+
thisComponent.tStop = None
|
|
132
|
+
thisComponent.tStartRefresh = None
|
|
133
|
+
thisComponent.tStopRefresh = None
|
|
134
|
+
if hasattr(thisComponent, 'status'):
|
|
135
|
+
thisComponent.status = NOT_STARTED
|
|
136
|
+
# reset timers
|
|
137
|
+
t = 0
|
|
138
|
+
_timeToFirstFrame = win.getFutureFlipTime(clock="now")
|
|
139
|
+
blockIntroClock.reset(-_timeToFirstFrame) # t0 is time of first possible flip
|
|
140
|
+
frameN = -1
|
|
141
|
+
|
|
142
|
+
# -------Run Routine "blockIntro"-------
|
|
143
|
+
while continueRoutine and routineTimer.getTime() > 0:
|
|
144
|
+
# get current time
|
|
145
|
+
t = blockIntroClock.getTime()
|
|
146
|
+
tThisFlip = win.getFutureFlipTime(clock=blockIntroClock)
|
|
147
|
+
tThisFlipGlobal = win.getFutureFlipTime(clock=None)
|
|
148
|
+
frameN = frameN + 1 # number of completed frames (so 0 is the first frame)
|
|
149
|
+
# update/draw components on each frame
|
|
150
|
+
|
|
151
|
+
# *blockIntroText* updates
|
|
152
|
+
if blockIntroText.status == NOT_STARTED and tThisFlip >= 0.0-frameTolerance:
|
|
153
|
+
# keep track of start time/frame for later
|
|
154
|
+
blockIntroText.frameNStart = frameN # exact frame index
|
|
155
|
+
blockIntroText.tStart = t # local t and not account for scr refresh
|
|
156
|
+
blockIntroText.tStartRefresh = tThisFlipGlobal # on global time
|
|
157
|
+
win.timeOnFlip(blockIntroText, 'tStartRefresh') # time at next scr refresh
|
|
158
|
+
blockIntroText.setAutoDraw(True)
|
|
159
|
+
if blockIntroText.status == STARTED:
|
|
160
|
+
# is it time to stop? (based on global clock, using actual start)
|
|
161
|
+
if tThisFlipGlobal > blockIntroText.tStartRefresh + 0.5-frameTolerance:
|
|
162
|
+
# keep track of stop time/frame for later
|
|
163
|
+
blockIntroText.tStop = t # not accounting for scr refresh
|
|
164
|
+
blockIntroText.frameNStop = frameN # exact frame index
|
|
165
|
+
win.timeOnFlip(blockIntroText, 'tStopRefresh') # time at next scr refresh
|
|
166
|
+
blockIntroText.setAutoDraw(False)
|
|
167
|
+
|
|
168
|
+
# check for quit (typically the Esc key)
|
|
169
|
+
if endExpNow or defaultKeyboard.getKeys(keyList=["escape"]):
|
|
170
|
+
core.quit()
|
|
171
|
+
|
|
172
|
+
# check if all components have finished
|
|
173
|
+
if not continueRoutine: # a component has requested a forced-end of Routine
|
|
174
|
+
break
|
|
175
|
+
continueRoutine = False # will revert to True if at least one component still running
|
|
176
|
+
for thisComponent in blockIntroComponents:
|
|
177
|
+
if hasattr(thisComponent, "status") and thisComponent.status != FINISHED:
|
|
178
|
+
continueRoutine = True
|
|
179
|
+
break # at least one component has not yet finished
|
|
180
|
+
|
|
181
|
+
# refresh the screen
|
|
182
|
+
if continueRoutine: # don't flip if this routine is over or we'll get a blank screen
|
|
183
|
+
win.flip()
|
|
184
|
+
|
|
185
|
+
# -------Ending Routine "blockIntro"-------
|
|
186
|
+
for thisComponent in blockIntroComponents:
|
|
187
|
+
if hasattr(thisComponent, "setAutoDraw"):
|
|
188
|
+
thisComponent.setAutoDraw(False)
|
|
189
|
+
blocks.addData('blockIntroText.started', blockIntroText.tStartRefresh)
|
|
190
|
+
blocks.addData('blockIntroText.stopped', blockIntroText.tStopRefresh)
|
|
191
|
+
|
|
192
|
+
# set up handler to look after randomisation of conditions etc
|
|
193
|
+
trials = data.TrialHandler(nReps=2, method='random',
|
|
194
|
+
extraInfo=expInfo, originPath=-1,
|
|
195
|
+
trialList=[None],
|
|
196
|
+
seed=None, name='trials')
|
|
197
|
+
thisExp.addLoop(trials) # add the loop to the experiment
|
|
198
|
+
thisTrial = trials.trialList[0] # so we can initialise stimuli with some values
|
|
199
|
+
# abbreviate parameter names if possible (e.g. rgb = thisTrial.rgb)
|
|
200
|
+
if thisTrial != None:
|
|
201
|
+
for paramName in thisTrial:
|
|
202
|
+
exec('{} = thisTrial[paramName]'.format(paramName))
|
|
203
|
+
|
|
204
|
+
for thisTrial in trials:
|
|
205
|
+
currentLoop = trials
|
|
206
|
+
# abbreviate parameter names if possible (e.g. rgb = thisTrial.rgb)
|
|
207
|
+
if thisTrial != None:
|
|
208
|
+
for paramName in thisTrial:
|
|
209
|
+
exec('{} = thisTrial[paramName]'.format(paramName))
|
|
210
|
+
|
|
211
|
+
# set up handler to look after randomisation of conditions etc
|
|
212
|
+
stimulusLoop = data.TrialHandler(nReps=3, method='random',
|
|
213
|
+
extraInfo=expInfo, originPath=-1,
|
|
214
|
+
trialList=[None],
|
|
215
|
+
seed=None, name='stimulusLoop')
|
|
216
|
+
thisExp.addLoop(stimulusLoop) # add the loop to the experiment
|
|
217
|
+
thisStimulusLoop = stimulusLoop.trialList[0] # so we can initialise stimuli with some values
|
|
218
|
+
# abbreviate parameter names if possible (e.g. rgb = thisStimulusLoop.rgb)
|
|
219
|
+
if thisStimulusLoop != None:
|
|
220
|
+
for paramName in thisStimulusLoop:
|
|
221
|
+
exec('{} = thisStimulusLoop[paramName]'.format(paramName))
|
|
222
|
+
|
|
223
|
+
for thisStimulusLoop in stimulusLoop:
|
|
224
|
+
currentLoop = stimulusLoop
|
|
225
|
+
# abbreviate parameter names if possible (e.g. rgb = thisStimulusLoop.rgb)
|
|
226
|
+
if thisStimulusLoop != None:
|
|
227
|
+
for paramName in thisStimulusLoop:
|
|
228
|
+
exec('{} = thisStimulusLoop[paramName]'.format(paramName))
|
|
229
|
+
|
|
230
|
+
# ------Prepare to start Routine "presentOneStim"-------
|
|
231
|
+
continueRoutine = True
|
|
232
|
+
routineTimer.add(0.200000)
|
|
233
|
+
# update component parameters for each repeat
|
|
234
|
+
stimInfo.setText("stim %i" %currentLoop.thisN)
|
|
235
|
+
# keep track of which components have finished
|
|
236
|
+
presentOneStimComponents = [stimInfo]
|
|
237
|
+
for thisComponent in presentOneStimComponents:
|
|
238
|
+
thisComponent.tStart = None
|
|
239
|
+
thisComponent.tStop = None
|
|
240
|
+
thisComponent.tStartRefresh = None
|
|
241
|
+
thisComponent.tStopRefresh = None
|
|
242
|
+
if hasattr(thisComponent, 'status'):
|
|
243
|
+
thisComponent.status = NOT_STARTED
|
|
244
|
+
# reset timers
|
|
245
|
+
t = 0
|
|
246
|
+
_timeToFirstFrame = win.getFutureFlipTime(clock="now")
|
|
247
|
+
presentOneStimClock.reset(-_timeToFirstFrame) # t0 is time of first possible flip
|
|
248
|
+
frameN = -1
|
|
249
|
+
|
|
250
|
+
# -------Run Routine "presentOneStim"-------
|
|
251
|
+
while continueRoutine and routineTimer.getTime() > 0:
|
|
252
|
+
# get current time
|
|
253
|
+
t = presentOneStimClock.getTime()
|
|
254
|
+
tThisFlip = win.getFutureFlipTime(clock=presentOneStimClock)
|
|
255
|
+
tThisFlipGlobal = win.getFutureFlipTime(clock=None)
|
|
256
|
+
frameN = frameN + 1 # number of completed frames (so 0 is the first frame)
|
|
257
|
+
# update/draw components on each frame
|
|
258
|
+
|
|
259
|
+
# *stimInfo* updates
|
|
260
|
+
if stimInfo.status == NOT_STARTED and tThisFlip >= 0.1-frameTolerance:
|
|
261
|
+
# keep track of start time/frame for later
|
|
262
|
+
stimInfo.frameNStart = frameN # exact frame index
|
|
263
|
+
stimInfo.tStart = t # local t and not account for scr refresh
|
|
264
|
+
stimInfo.tStartRefresh = tThisFlipGlobal # on global time
|
|
265
|
+
win.timeOnFlip(stimInfo, 'tStartRefresh') # time at next scr refresh
|
|
266
|
+
stimInfo.setAutoDraw(True)
|
|
267
|
+
if stimInfo.status == STARTED:
|
|
268
|
+
# is it time to stop? (based on global clock, using actual start)
|
|
269
|
+
if tThisFlipGlobal > stimInfo.tStartRefresh + 0.1-frameTolerance:
|
|
270
|
+
# keep track of stop time/frame for later
|
|
271
|
+
stimInfo.tStop = t # not accounting for scr refresh
|
|
272
|
+
stimInfo.frameNStop = frameN # exact frame index
|
|
273
|
+
win.timeOnFlip(stimInfo, 'tStopRefresh') # time at next scr refresh
|
|
274
|
+
stimInfo.setAutoDraw(False)
|
|
275
|
+
|
|
276
|
+
# check for quit (typically the Esc key)
|
|
277
|
+
if endExpNow or defaultKeyboard.getKeys(keyList=["escape"]):
|
|
278
|
+
core.quit()
|
|
279
|
+
|
|
280
|
+
# check if all components have finished
|
|
281
|
+
if not continueRoutine: # a component has requested a forced-end of Routine
|
|
282
|
+
break
|
|
283
|
+
continueRoutine = False # will revert to True if at least one component still running
|
|
284
|
+
for thisComponent in presentOneStimComponents:
|
|
285
|
+
if hasattr(thisComponent, "status") and thisComponent.status != FINISHED:
|
|
286
|
+
continueRoutine = True
|
|
287
|
+
break # at least one component has not yet finished
|
|
288
|
+
|
|
289
|
+
# refresh the screen
|
|
290
|
+
if continueRoutine: # don't flip if this routine is over or we'll get a blank screen
|
|
291
|
+
win.flip()
|
|
292
|
+
|
|
293
|
+
# -------Ending Routine "presentOneStim"-------
|
|
294
|
+
for thisComponent in presentOneStimComponents:
|
|
295
|
+
if hasattr(thisComponent, "setAutoDraw"):
|
|
296
|
+
thisComponent.setAutoDraw(False)
|
|
297
|
+
stimulusLoop.addData('stimInfo.started', stimInfo.tStartRefresh)
|
|
298
|
+
stimulusLoop.addData('stimInfo.stopped', stimInfo.tStopRefresh)
|
|
299
|
+
# completed 3 repeats of 'stimulusLoop'
|
|
300
|
+
|
|
301
|
+
thisExp.nextEntry()
|
|
302
|
+
|
|
303
|
+
# completed 2 repeats of 'trials'
|
|
304
|
+
|
|
305
|
+
# get names of stimulus parameters
|
|
306
|
+
if trials.trialList in ([], [None], None):
|
|
307
|
+
params = []
|
|
308
|
+
else:
|
|
309
|
+
params = trials.trialList[0].keys()
|
|
310
|
+
# save data for this loop
|
|
311
|
+
trials.saveAsExcel(filename + '.xlsx', sheetName='trials',
|
|
312
|
+
stimOut=params,
|
|
313
|
+
dataOut=['n','all_mean','all_std', 'all_raw'])
|
|
314
|
+
# completed 4 repeats of 'blocks'
|
|
315
|
+
|
|
316
|
+
|
|
317
|
+
# Flip one final time so any remaining win.callOnFlip()
|
|
318
|
+
# and win.timeOnFlip() tasks get executed before quitting
|
|
319
|
+
win.flip()
|
|
320
|
+
|
|
321
|
+
# these shouldn't be strictly necessary (should auto-save)
|
|
322
|
+
thisExp.saveAsWideText(filename+'.csv', delim='auto')
|
|
323
|
+
thisExp.saveAsPickle(filename)
|
|
324
|
+
logging.flush()
|
|
325
|
+
# make sure everything is closed down
|
|
326
|
+
thisExp.abort() # or data files will save again on exit
|
|
327
|
+
win.close()
|
|
328
|
+
core.quit()
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
blocks.thisRepN,blocks.thisTrialN,blocks.thisN,blocks.thisIndex,trials.thisRepN,trials.thisTrialN,trials.thisN,trials.thisIndex,stimulusLoop.thisRepN,stimulusLoop.thisTrialN,stimulusLoop.thisN,stimulusLoop.thisIndex,blockIntroText.started,blockIntroText.stopped,stimInfo.started,stimInfo.stopped,session,participant,date,expName,psychopyVersion,frameRate,
|
|
2
|
+
0,0,0,0,0,0,0,0,,,,,65.29191892199742,None,66.25894002700079,66.17298291599946,001,,2021_ 5_03_1206,testLoopsBlocks,2021.1.4,59.205658053815995,
|
|
3
|
+
0,0,0,0,1,0,1,0,,,,,,,66.82375188799779,66.74240606799867,001,,2021_ 5_03_1206,testLoopsBlocks,2021.1.4,59.205658053815995,
|
|
4
|
+
1,0,1,0,0,0,0,0,,,,,66.94632864699815,None,67.90619809599957,67.82343141999809,001,,2021_ 5_03_1206,testLoopsBlocks,2021.1.4,59.205658053815995,
|
|
5
|
+
1,0,1,0,1,0,1,0,,,,,,,68.4905092609988,68.40617813900099,001,,2021_ 5_03_1206,testLoopsBlocks,2021.1.4,59.205658053815995,
|
|
6
|
+
2,0,2,0,0,0,0,0,,,,,68.64550475899887,None,69.62322328599839,69.53983068099842,001,,2021_ 5_03_1206,testLoopsBlocks,2021.1.4,59.205658053815995,
|
|
7
|
+
2,0,2,0,1,0,1,0,,,,,,,70.19054533899907,70.10580221599957,001,,2021_ 5_03_1206,testLoopsBlocks,2021.1.4,59.205658053815995,
|
|
8
|
+
3,0,3,0,0,0,0,0,,,,,70.35472819899951,None,71.30609307600025,71.22726159800004,001,,2021_ 5_03_1206,testLoopsBlocks,2021.1.4,59.205658053815995,
|
|
9
|
+
3,0,3,0,1,0,1,0,,,,,,,71.8568327819994,71.77335973499794,001,,2021_ 5_03_1206,testLoopsBlocks,2021.1.4,59.205658053815995,
|
|
@@ -0,0 +1,177 @@
|
|
|
1
|
+
63.8761 EXP Created window1 = Window(allowGUI=True, allowStencil=False, autoLog=True, backendConf=UNKNOWN, bitsMode=UNKNOWN, blendMode='avg', bpc=(8, 8, 8), color=array([0, 0, 0]), colorSpace='rgb', depthBits=8, fullscr=<method-wrapper '__getattribute__' of attributeSetter object at 0x7f9452dd3b00>, gamma=None, gammaErrorPolicy='raise', lms=UNKNOWN, monitor=<psychopy.monitors.calibTools.Monitor object at 0x7f9410d9d710>, multiSample=False, name='window1', numSamples=2, pos=[696.0, 410.0], screen=0, size=array([1600, 1200]), stencilBits=0, stereo=False, units='height', useFBO=True, useRetina=True, viewOri=0.0, viewPos=None, viewScale=None, waitBlanking=True, winType='pyglet')
|
|
2
|
+
63.8763 EXP window1: mouseVisible = True
|
|
3
|
+
63.8764 EXP window1: recordFrameIntervals = False
|
|
4
|
+
64.0419 EXP window1: recordFrameIntervals = True
|
|
5
|
+
64.2134 WARNING t of last frame was 21.47ms (=1/46)
|
|
6
|
+
64.5259 EXP window1: recordFrameIntervals = False
|
|
7
|
+
65.2659 EXP Created blockIntroText = TextStim(__class__=<class 'psychopy.visual.text.TextStim'>, alignHoriz=method-wrapper(...), alignText='center', alignVert=method-wrapper(...), anchorHoriz='center', anchorVert='center', antialias=True, autoLog=True, bold=False, color=array([1, 1, 1]), colorSpace='rgb', contrast=1.0, depth=0.0, flipHoriz=False, flipVert=False, font='Arial', fontFiles=[], height=0.1, italic=False, languageStyle='LTR', name='blockIntroText', opacity=1, ori=0, pos=array([0., 0.]), rgb=UNKNOWN, text="You're about to start a new block", units='height', win=Window(...), wrapWidth=1)
|
|
8
|
+
65.2667 EXP Created stimInfo = TextStim(__class__=<class 'psychopy.visual.text.TextStim'>, alignHoriz=method-wrapper(...), alignText='center', alignVert=method-wrapper(...), anchorHoriz='center', anchorVert='center', antialias=True, autoLog=True, bold=False, color=array([1, 1, 1]), colorSpace='rgb', contrast=1.0, depth=0.0, flipHoriz=False, flipVert=False, font='Arial', fontFiles=[], height=0.1, italic=False, languageStyle='LTR', name='stimInfo', opacity=1, ori=0, pos=array([0., 0.]), rgb=UNKNOWN, text='', units='height', win=Window(...), wrapWidth=1)
|
|
9
|
+
65.2671 EXP Created sequence: random, trialTypes=1, nReps=4, seed=None
|
|
10
|
+
65.2673 EXP New trial (rep=0, index=0): None
|
|
11
|
+
65.2919 EXP blockIntroText: autoDraw = True
|
|
12
|
+
65.7748 EXP Created sequence: random, trialTypes=1, nReps=2, seed=None
|
|
13
|
+
65.7750 EXP New trial (rep=0, index=0): None
|
|
14
|
+
65.7753 EXP Created sequence: random, trialTypes=1, nReps=3, seed=None
|
|
15
|
+
65.7755 EXP New trial (rep=0, index=0): None
|
|
16
|
+
65.7892 EXP blockIntroText: autoDraw = False
|
|
17
|
+
65.7892 EXP stimInfo: text = 'stim 0'
|
|
18
|
+
65.8731 EXP stimInfo: autoDraw = True
|
|
19
|
+
65.9606 EXP New trial (rep=1, index=0): None
|
|
20
|
+
65.9730 EXP stimInfo: autoDraw = False
|
|
21
|
+
65.9730 EXP stimInfo: autoDraw = False
|
|
22
|
+
65.9730 EXP stimInfo: text = 'stim 1'
|
|
23
|
+
66.0589 EXP stimInfo: autoDraw = True
|
|
24
|
+
66.1598 EXP New trial (rep=2, index=0): None
|
|
25
|
+
66.1730 EXP stimInfo: autoDraw = False
|
|
26
|
+
66.1730 EXP stimInfo: autoDraw = False
|
|
27
|
+
66.1730 EXP stimInfo: text = 'stim 2'
|
|
28
|
+
66.2589 EXP stimInfo: autoDraw = True
|
|
29
|
+
66.3599 EXP New trial (rep=1, index=0): None
|
|
30
|
+
66.3603 EXP Created sequence: random, trialTypes=1, nReps=3, seed=None
|
|
31
|
+
66.3606 EXP New trial (rep=0, index=0): None
|
|
32
|
+
66.3730 EXP stimInfo: autoDraw = False
|
|
33
|
+
66.3730 EXP stimInfo: autoDraw = False
|
|
34
|
+
66.3730 EXP stimInfo: text = 'stim 0'
|
|
35
|
+
66.4568 EXP stimInfo: autoDraw = True
|
|
36
|
+
66.5408 EXP New trial (rep=1, index=0): None
|
|
37
|
+
66.5591 EXP stimInfo: autoDraw = False
|
|
38
|
+
66.5591 EXP stimInfo: autoDraw = False
|
|
39
|
+
66.5591 EXP stimInfo: text = 'stim 1'
|
|
40
|
+
66.6396 EXP stimInfo: autoDraw = True
|
|
41
|
+
66.7277 EXP New trial (rep=2, index=0): None
|
|
42
|
+
66.7424 EXP stimInfo: autoDraw = False
|
|
43
|
+
66.7424 EXP stimInfo: autoDraw = False
|
|
44
|
+
66.7424 EXP stimInfo: text = 'stim 2'
|
|
45
|
+
66.8238 EXP stimInfo: autoDraw = True
|
|
46
|
+
66.9428 EXP New trial (rep=1, index=0): None
|
|
47
|
+
66.9463 EXP stimInfo: autoDraw = False
|
|
48
|
+
66.9463 EXP stimInfo: autoDraw = False
|
|
49
|
+
66.9463 EXP blockIntroText: autoDraw = True
|
|
50
|
+
67.4407 EXP Created sequence: random, trialTypes=1, nReps=2, seed=None
|
|
51
|
+
67.4409 EXP New trial (rep=0, index=0): None
|
|
52
|
+
67.4412 EXP Created sequence: random, trialTypes=1, nReps=3, seed=None
|
|
53
|
+
67.4414 EXP New trial (rep=0, index=0): None
|
|
54
|
+
67.4571 EXP blockIntroText: autoDraw = False
|
|
55
|
+
67.4571 EXP blockIntroText: autoDraw = False
|
|
56
|
+
67.4571 EXP stimInfo: text = 'stim 0'
|
|
57
|
+
67.5398 EXP stimInfo: autoDraw = True
|
|
58
|
+
67.6266 EXP New trial (rep=1, index=0): None
|
|
59
|
+
67.6394 EXP stimInfo: autoDraw = False
|
|
60
|
+
67.6394 EXP stimInfo: autoDraw = False
|
|
61
|
+
67.6394 EXP stimInfo: text = 'stim 1'
|
|
62
|
+
67.7240 EXP stimInfo: autoDraw = True
|
|
63
|
+
67.8097 EXP New trial (rep=2, index=0): None
|
|
64
|
+
67.8234 EXP stimInfo: autoDraw = False
|
|
65
|
+
67.8234 EXP stimInfo: autoDraw = False
|
|
66
|
+
67.8234 EXP stimInfo: text = 'stim 2'
|
|
67
|
+
67.9062 EXP stimInfo: autoDraw = True
|
|
68
|
+
67.9929 EXP New trial (rep=1, index=0): None
|
|
69
|
+
67.9933 EXP Created sequence: random, trialTypes=1, nReps=3, seed=None
|
|
70
|
+
67.9936 EXP New trial (rep=0, index=0): None
|
|
71
|
+
68.0062 EXP stimInfo: autoDraw = False
|
|
72
|
+
68.0062 EXP stimInfo: autoDraw = False
|
|
73
|
+
68.0062 EXP stimInfo: text = 'stim 0'
|
|
74
|
+
68.0918 EXP stimInfo: autoDraw = True
|
|
75
|
+
68.1929 EXP New trial (rep=1, index=0): None
|
|
76
|
+
68.2166 EXP stimInfo: autoDraw = False
|
|
77
|
+
68.2166 EXP stimInfo: autoDraw = False
|
|
78
|
+
68.2166 EXP stimInfo: text = 'stim 1'
|
|
79
|
+
68.2920 EXP stimInfo: autoDraw = True
|
|
80
|
+
68.3929 EXP New trial (rep=2, index=0): None
|
|
81
|
+
68.4062 EXP stimInfo: autoDraw = False
|
|
82
|
+
68.4062 EXP stimInfo: autoDraw = False
|
|
83
|
+
68.4062 EXP stimInfo: text = 'stim 2'
|
|
84
|
+
68.4905 EXP stimInfo: autoDraw = True
|
|
85
|
+
68.6409 EXP New trial (rep=2, index=0): None
|
|
86
|
+
68.6455 EXP stimInfo: autoDraw = False
|
|
87
|
+
68.6455 EXP stimInfo: autoDraw = False
|
|
88
|
+
68.6455 EXP blockIntroText: autoDraw = True
|
|
89
|
+
69.1397 EXP Created sequence: random, trialTypes=1, nReps=2, seed=None
|
|
90
|
+
69.1399 EXP New trial (rep=0, index=0): None
|
|
91
|
+
69.1401 EXP Created sequence: random, trialTypes=1, nReps=3, seed=None
|
|
92
|
+
69.1403 EXP New trial (rep=0, index=0): None
|
|
93
|
+
69.1588 EXP blockIntroText: autoDraw = False
|
|
94
|
+
69.1588 EXP blockIntroText: autoDraw = False
|
|
95
|
+
69.1588 EXP stimInfo: text = 'stim 0'
|
|
96
|
+
69.2424 EXP stimInfo: autoDraw = True
|
|
97
|
+
69.3265 EXP New trial (rep=1, index=0): None
|
|
98
|
+
69.3398 EXP stimInfo: autoDraw = False
|
|
99
|
+
69.3398 EXP stimInfo: autoDraw = False
|
|
100
|
+
69.3398 EXP stimInfo: text = 'stim 1'
|
|
101
|
+
69.4235 EXP stimInfo: autoDraw = True
|
|
102
|
+
69.5263 EXP New trial (rep=2, index=0): None
|
|
103
|
+
69.5398 EXP stimInfo: autoDraw = False
|
|
104
|
+
69.5398 EXP stimInfo: autoDraw = False
|
|
105
|
+
69.5398 EXP stimInfo: text = 'stim 2'
|
|
106
|
+
69.6232 EXP stimInfo: autoDraw = True
|
|
107
|
+
69.7172 EXP New trial (rep=1, index=0): None
|
|
108
|
+
69.7175 EXP Created sequence: random, trialTypes=1, nReps=3, seed=None
|
|
109
|
+
69.7177 EXP New trial (rep=0, index=0): None
|
|
110
|
+
69.7277 EXP stimInfo: autoDraw = False
|
|
111
|
+
69.7277 EXP stimInfo: autoDraw = False
|
|
112
|
+
69.7277 EXP stimInfo: text = 'stim 0'
|
|
113
|
+
69.8090 EXP stimInfo: autoDraw = True
|
|
114
|
+
69.8930 EXP New trial (rep=1, index=0): None
|
|
115
|
+
69.9057 EXP stimInfo: autoDraw = False
|
|
116
|
+
69.9057 EXP stimInfo: autoDraw = False
|
|
117
|
+
69.9057 EXP stimInfo: text = 'stim 1'
|
|
118
|
+
69.9903 EXP stimInfo: autoDraw = True
|
|
119
|
+
70.0915 EXP New trial (rep=2, index=0): None
|
|
120
|
+
70.1058 EXP stimInfo: autoDraw = False
|
|
121
|
+
70.1058 EXP stimInfo: autoDraw = False
|
|
122
|
+
70.1058 EXP stimInfo: text = 'stim 2'
|
|
123
|
+
70.1905 EXP stimInfo: autoDraw = True
|
|
124
|
+
70.3506 EXP New trial (rep=3, index=0): None
|
|
125
|
+
70.3547 EXP stimInfo: autoDraw = False
|
|
126
|
+
70.3547 EXP stimInfo: autoDraw = False
|
|
127
|
+
70.3547 EXP blockIntroText: autoDraw = True
|
|
128
|
+
70.8409 EXP Created sequence: random, trialTypes=1, nReps=2, seed=None
|
|
129
|
+
70.8412 EXP New trial (rep=0, index=0): None
|
|
130
|
+
70.8415 EXP Created sequence: random, trialTypes=1, nReps=3, seed=None
|
|
131
|
+
70.8418 EXP New trial (rep=0, index=0): None
|
|
132
|
+
70.8568 EXP blockIntroText: autoDraw = False
|
|
133
|
+
70.8568 EXP blockIntroText: autoDraw = False
|
|
134
|
+
70.8568 EXP stimInfo: text = 'stim 0'
|
|
135
|
+
70.9393 EXP stimInfo: autoDraw = True
|
|
136
|
+
71.0260 EXP New trial (rep=1, index=0): None
|
|
137
|
+
71.0393 EXP stimInfo: autoDraw = False
|
|
138
|
+
71.0393 EXP stimInfo: autoDraw = False
|
|
139
|
+
71.0393 EXP stimInfo: text = 'stim 1'
|
|
140
|
+
71.1231 EXP stimInfo: autoDraw = True
|
|
141
|
+
71.2139 EXP New trial (rep=2, index=0): None
|
|
142
|
+
71.2273 EXP stimInfo: autoDraw = False
|
|
143
|
+
71.2273 EXP stimInfo: autoDraw = False
|
|
144
|
+
71.2273 EXP stimInfo: text = 'stim 2'
|
|
145
|
+
71.3061 EXP stimInfo: autoDraw = True
|
|
146
|
+
71.3929 EXP New trial (rep=1, index=0): None
|
|
147
|
+
71.3933 EXP Created sequence: random, trialTypes=1, nReps=3, seed=None
|
|
148
|
+
71.3936 EXP New trial (rep=0, index=0): None
|
|
149
|
+
71.4060 EXP stimInfo: autoDraw = False
|
|
150
|
+
71.4060 EXP stimInfo: autoDraw = False
|
|
151
|
+
71.4060 EXP stimInfo: text = 'stim 0'
|
|
152
|
+
71.4900 EXP stimInfo: autoDraw = True
|
|
153
|
+
71.5739 EXP New trial (rep=1, index=0): None
|
|
154
|
+
71.5927 EXP stimInfo: autoDraw = False
|
|
155
|
+
71.5927 EXP stimInfo: autoDraw = False
|
|
156
|
+
71.5927 EXP stimInfo: text = 'stim 1'
|
|
157
|
+
71.6753 EXP stimInfo: autoDraw = True
|
|
158
|
+
71.7604 EXP New trial (rep=2, index=0): None
|
|
159
|
+
71.7734 EXP stimInfo: autoDraw = False
|
|
160
|
+
71.7734 EXP stimInfo: autoDraw = False
|
|
161
|
+
71.7734 EXP stimInfo: text = 'stim 2'
|
|
162
|
+
71.8568 EXP stimInfo: autoDraw = True
|
|
163
|
+
72.0107 EXP stimInfo: autoDraw = False
|
|
164
|
+
72.0107 EXP stimInfo: autoDraw = False
|
|
165
|
+
72.0201 EXP window1: mouseVisible = True
|
|
166
|
+
180.3206 EXP Imported /Users/lpzjwp/code/psychopy/git/psychopy/demos/builder/Experiments/stroop/trialTypes.csv as conditions, 6 conditions, 4 params
|
|
167
|
+
180.3582 EXP Imported /Users/lpzjwp/code/psychopy/git/psychopy/demos/builder/Experiments/stroop/trialTypes.csv as conditions, 6 conditions, 4 params
|
|
168
|
+
180.8159 EXP Imported /Users/lpzjwp/code/psychopy/git/psychopy/demos/builder/Design Templates/randomisedBlocks/chooseBlock.xlsx as conditions, 2 conditions, 2 params
|
|
169
|
+
180.8418 EXP Imported /Users/lpzjwp/code/psychopy/git/psychopy/demos/builder/Design Templates/randomisedBlocks/facesBlock.xlsx as conditions, 3 conditions, 1 params
|
|
170
|
+
180.8510 EXP Imported /Users/lpzjwp/code/psychopy/git/psychopy/demos/builder/Design Templates/randomisedBlocks/housesBlock.xlsx as conditions, 3 conditions, 1 params
|
|
171
|
+
180.9479 EXP Imported /Users/lpzjwp/code/psychopy/git/psychopy/demos/builder/Design Templates/randomisedBlocks/chooseBlock.xlsx as conditions, 2 conditions, 2 params
|
|
172
|
+
180.9579 EXP Imported /Users/lpzjwp/code/psychopy/git/psychopy/demos/builder/Design Templates/randomisedBlocks/facesBlock.xlsx as conditions, 3 conditions, 1 params
|
|
173
|
+
180.9679 EXP Imported /Users/lpzjwp/code/psychopy/git/psychopy/demos/builder/Design Templates/randomisedBlocks/housesBlock.xlsx as conditions, 3 conditions, 1 params
|
|
174
|
+
181.2415 EXP Imported /Users/lpzjwp/code/psychopy/git/psychopy/demos/builder/Experiments/stroop/trialTypes.csv as conditions, 6 conditions, 4 params
|
|
175
|
+
181.2523 EXP Imported /Users/lpzjwp/code/psychopy/git/psychopy/demos/builder/Experiments/stroop/trialTypes.csv as conditions, 6 conditions, 4 params
|
|
176
|
+
181.4904 EXP Imported /Users/lpzjwp/code/psychopy/git/psychopy/demos/builder/Experiments/stroop/trialTypes.csv as conditions, 6 conditions, 4 params
|
|
177
|
+
181.5089 EXP Imported /Users/lpzjwp/code/psychopy/git/psychopy/demos/builder/Experiments/stroop/trialTypes.csv as conditions, 6 conditions, 4 params
|
|
Binary file
|
|
Binary file
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
blocks.thisRepN,blocks.thisTrialN,blocks.thisN,blocks.thisIndex,trials.thisRepN,trials.thisTrialN,trials.thisN,trials.thisIndex,stimulusLoop.thisRepN,stimulusLoop.thisTrialN,stimulusLoop.thisN,stimulusLoop.thisIndex,blockIntroText.started,blockIntroText.stopped,stimInfo.started,stimInfo.stopped,session,participant,date,expName,psychopyVersion,frameRate,
|
|
2
|
+
0,0,0,0,0,0,0,0,,,,,35.64092961799906,None,36.53197220099901,36.46018599599847,001,,2021_ 5_03_1324,testLoopsBlocks,2021.1.4,60.3228579489649,
|
|
3
|
+
0,0,0,0,1,0,1,0,,,,,,,37.026421831000334,36.9581391089996,001,,2021_ 5_03_1324,testLoopsBlocks,2021.1.4,60.3228579489649,
|
|
4
|
+
1,0,1,0,0,0,0,0,,,,,37.144647338998766,None,38.02494392099834,37.956143577997864,001,,2021_ 5_03_1324,testLoopsBlocks,2021.1.4,60.3228579489649,
|
|
5
|
+
1,0,1,0,1,0,1,0,,,,,,,38.48955451599977,38.42139802800011,001,,2021_ 5_03_1324,testLoopsBlocks,2021.1.4,60.3228579489649,
|
|
6
|
+
2,0,2,0,0,0,0,0,,,,,38.62150937699698,None,39.490225479999935,39.421062761997746,001,,2021_ 5_03_1324,testLoopsBlocks,2021.1.4,60.3228579489649,
|
|
7
|
+
2,0,2,0,1,0,1,0,,,,,,,39.956308781998814,39.887982683998416,001,,2021_ 5_03_1324,testLoopsBlocks,2021.1.4,60.3228579489649,
|
|
8
|
+
3,0,3,0,0,0,0,0,,,,,40.07236192699929,None,40.93996434699875,40.87120142999993,001,,2021_ 5_03_1324,testLoopsBlocks,2021.1.4,60.3228579489649,
|
|
9
|
+
3,0,3,0,1,0,1,0,,,,,,,41.405941351000365,41.33707405699897,001,,2021_ 5_03_1324,testLoopsBlocks,2021.1.4,60.3228579489649,
|