psychopy 2024.2.4__py3-none-any.whl → 2024.2.5__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/CHANGELOG.txt +204 -0
- psychopy/GIT_SHA +1 -1
- psychopy/VERSION +1 -1
- psychopy/app/locale/ar_001/.DS_Store +0 -0
- psychopy/app/locale/ar_001/LC_MESSAGE/.DS_Store +0 -0
- psychopy/app/locale/ar_001/LC_MESSAGE/messages.po +1511 -3256
- psychopy/app/runner/runner.py +18 -8
- psychopy/experiment/_experiment.py +32 -7
- psychopy/iohub/client/__init__.py +17 -0
- psychopy/iohub/client/keyboard.py +5 -0
- psychopy/iohub/devices/mouse/linux2.py +4 -0
- psychopy/iohub/devices/mouse/win32.py +5 -0
- psychopy/tests/data/test_loaded_namespace/test_counterbalance.psyexp +142 -0
- psychopy/tests/data/test_loaded_namespace/test_custom_missing.psyexp +129 -0
- psychopy/tests/data/test_loaded_namespace/test_missing_counterbalance.psyexp +116 -0
- psychopy/tests/data/test_loaded_namespace/test_mix_exp.psyexp +181 -0
- psychopy/tests/data/test_loaded_namespace/test_mix_missing.psyexp +140 -0
- psychopy/tests/data/test_loaded_namespace/test_mix_name_calibration.psyexp +164 -0
- psychopy/tests/test_experiment/test_experiment.py +96 -0
- {psychopy-2024.2.4.dist-info → psychopy-2024.2.5.dist-info}/METADATA +1 -1
- {psychopy-2024.2.4.dist-info → psychopy-2024.2.5.dist-info}/RECORD +25 -55
- psychopy/app/locale/zh_CN/LC_MESSAGE/zh_CN.mo +0 -0
- psychopy/app/locale/zh_CN/LC_MESSAGE/zh_CN.po +0 -6127
- psychopy/app/locale/zh_CN/LC_MESSAGE/zh_CN_allFlagged.mo +0 -0
- psychopy/app/locale/zh_CN/LC_MESSAGE/zh_CN_allFlagged.po +0 -7366
- psychopy/demos/builder/Design Templates/randomisedBlocks/html/index.html +0 -23
- psychopy/demos/builder/Design Templates/randomisedBlocks/html/randomisedBlocks-legacy-browsers.js +0 -423
- psychopy/demos/builder/Design Templates/randomisedBlocks/html/randomisedBlocks.js +0 -427
- 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 +0 -330
- psychopy/demos/builder/Feature Demos/eyetracking/eyetracking.xml +0 -298
- psychopy/demos/builder/Feature Demos/eyetracking/eyetracking.xsd +0 -120
- psychopy/demos/builder/Tools/gammaCalibration/gamma_correction_visual.psyexp +0 -323
- psychopy/demos/builder/Tools/gammaCalibration/gamma_correction_visual.py +0 -562
- 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 +0 -59
- psychopy/demos/builder/Tools/gammaCalibration/resources/second_order_tex.png +0 -0
- psychopy/demos/coder/stimuli/radialGratingContracting.py +0 -29
- psychopy/hardware/serialport.py +0 -51
- psychopy/tests/data/__test.png +0 -0
- psychopy/tests/data/corrFullRandom_local.csv +0 -16
- psychopy/tests/data/corrFullRandom_local.tsv +0 -6
- psychopy/tests/data/testLoopsBlocks.psyexp_local.py +0 -328
- 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/test_app/test_builder/data/_2021_ 5_03_1206.csv +0 -9
- psychopy/tests/test_app/test_builder/data/_2021_ 5_03_1324.csv +0 -9
- {psychopy-2024.2.4.dist-info → psychopy-2024.2.5.dist-info}/WHEEL +0 -0
- {psychopy-2024.2.4.dist-info → psychopy-2024.2.5.dist-info}/entry_points.txt +0 -0
- {psychopy-2024.2.4.dist-info → psychopy-2024.2.5.dist-info}/licenses/LICENSE +0 -0
|
@@ -0,0 +1,181 @@
|
|
|
1
|
+
<?xml version="1.0" ?>
|
|
2
|
+
<PsychoPy2experiment encoding="utf-8" version="2024.3.0">
|
|
3
|
+
<Settings>
|
|
4
|
+
<Param val="ptb" valType="str" updates="None" name="Audio lib"/>
|
|
5
|
+
<Param val="" valType="str" updates="None" name="Completed URL"/>
|
|
6
|
+
<Param val="auto" valType="str" updates="None" name="Data file delimiter"/>
|
|
7
|
+
<Param val="u'data/%s_%s_%s' % (expInfo['participant'], expName, expInfo['date'])" valType="code" updates="None" name="Data filename"/>
|
|
8
|
+
<Param val="True" valType="bool" updates="None" name="Enable Escape"/>
|
|
9
|
+
<Param val="Thank you for your patience." valType="str" updates="None" name="End Message"/>
|
|
10
|
+
<Param val="{'participant':'f"{randint(0, 999999):06.0f}"', 'session':'001'}" valType="code" updates="None" name="Experiment info"/>
|
|
11
|
+
<Param val="True" valType="bool" updates="None" name="Force stereo"/>
|
|
12
|
+
<Param val="True" valType="bool" updates="None" name="Full-screen window"/>
|
|
13
|
+
<Param val="" valType="str" updates="None" name="HTML path"/>
|
|
14
|
+
<Param val="" valType="str" updates="None" name="Incomplete URL"/>
|
|
15
|
+
<Param val="testMonitor" valType="str" updates="None" name="Monitor"/>
|
|
16
|
+
<Param val="[]" valType="list" updates="None" name="Resources"/>
|
|
17
|
+
<Param val="False" valType="bool" updates="None" name="Save csv file"/>
|
|
18
|
+
<Param val="False" valType="bool" updates="None" name="Save excel file"/>
|
|
19
|
+
<Param val="False" valType="bool" updates="None" name="Save hdf5 file"/>
|
|
20
|
+
<Param val="True" valType="bool" updates="None" name="Save log file"/>
|
|
21
|
+
<Param val="True" valType="bool" updates="None" name="Save psydat file"/>
|
|
22
|
+
<Param val="True" valType="bool" updates="None" name="Save wide csv file"/>
|
|
23
|
+
<Param val="1" valType="num" updates="None" name="Screen"/>
|
|
24
|
+
<Param val="True" valType="bool" updates="None" name="Show info dlg"/>
|
|
25
|
+
<Param val="False" valType="bool" updates="None" name="Show mouse"/>
|
|
26
|
+
<Param val="height" valType="str" updates="None" name="Units"/>
|
|
27
|
+
<Param val="" valType="str" updates="None" name="Use version"/>
|
|
28
|
+
<Param val="(1024, 768)" valType="list" updates="None" name="Window size (pixels)"/>
|
|
29
|
+
<Param val="none" valType="str" updates="None" name="backgroundFit"/>
|
|
30
|
+
<Param val="" valType="str" updates="None" name="backgroundImg"/>
|
|
31
|
+
<Param val="avg" valType="str" updates="None" name="blendMode"/>
|
|
32
|
+
<Param val="float" valType="str" updates="None" name="clockFormat"/>
|
|
33
|
+
<Param val="{'thisRow.t': 'priority.CRITICAL', 'expName': 'priority.LOW'}" valType="dict" updates="None" name="colPriority"/>
|
|
34
|
+
<Param val="$[0,0,0]" valType="color" updates="None" name="color"/>
|
|
35
|
+
<Param val="rgb" valType="str" updates="None" name="colorSpace"/>
|
|
36
|
+
<Param val="warning" valType="code" updates="None" name="consoleLoggingLevel"/>
|
|
37
|
+
<Param val="default" valType="str" updates="None" name="ecSampleRate"/>
|
|
38
|
+
<Param val="100.1.1.1" valType="str" updates="None" name="elAddress"/>
|
|
39
|
+
<Param val="FILTER_LEVEL_2" valType="str" updates="None" name="elDataFiltering"/>
|
|
40
|
+
<Param val="FILTER_LEVEL_OFF" valType="str" updates="None" name="elLiveFiltering"/>
|
|
41
|
+
<Param val="EYELINK 1000 DESKTOP" valType="str" updates="None" name="elModel"/>
|
|
42
|
+
<Param val="ELLIPSE_FIT" valType="str" updates="None" name="elPupilAlgorithm"/>
|
|
43
|
+
<Param val="PUPIL_AREA" valType="str" updates="None" name="elPupilMeasure"/>
|
|
44
|
+
<Param val="1000" valType="num" updates="None" name="elSampleRate"/>
|
|
45
|
+
<Param val="False" valType="bool" updates="None" name="elSimMode"/>
|
|
46
|
+
<Param val="RIGHT_EYE" valType="str" updates="None" name="elTrackEyes"/>
|
|
47
|
+
<Param val="PUPIL_CR_TRACKING" valType="str" updates="None" name="elTrackingMode"/>
|
|
48
|
+
<Param val="test_mix_exp" valType="str" updates="None" name="expName"/>
|
|
49
|
+
<Param val="" valType="str" updates="None" name="expVersion"/>
|
|
50
|
+
<Param val="on Sync" valType="str" updates="None" name="exportHTML"/>
|
|
51
|
+
<Param val="None" valType="str" updates="None" name="eyetracker"/>
|
|
52
|
+
<Param val="" valType="code" updates="None" name="frameRate"/>
|
|
53
|
+
<Param val="Attempting to measure frame rate of screen, please wait..." valType="str" updates="None" name="frameRateMsg"/>
|
|
54
|
+
<Param val="127.0.0.1" valType="str" updates="None" name="gpAddress"/>
|
|
55
|
+
<Param val="4242" valType="num" updates="None" name="gpPort"/>
|
|
56
|
+
<Param val="ioHub" valType="str" updates="None" name="keyboardBackend"/>
|
|
57
|
+
<Param val="info" valType="code" updates="None" name="logging level"/>
|
|
58
|
+
<Param val="True" valType="bool" updates="None" name="measureFrameRate"/>
|
|
59
|
+
<Param val="MIDDLE_BUTTON" valType="list" updates="None" name="mgBlink"/>
|
|
60
|
+
<Param val="CONTINUOUS" valType="str" updates="None" name="mgMove"/>
|
|
61
|
+
<Param val="0.5" valType="num" updates="None" name="mgSaccade"/>
|
|
62
|
+
<Param val="neon.local" valType="str" updates="None" name="plCompanionAddress"/>
|
|
63
|
+
<Param val="8080" valType="num" updates="None" name="plCompanionPort"/>
|
|
64
|
+
<Param val="0.6" valType="num" updates="None" name="plConfidenceThreshold"/>
|
|
65
|
+
<Param val="" valType="str" updates="None" name="plPupilCaptureRecordingLocation"/>
|
|
66
|
+
<Param val="127.0.0.1" valType="str" updates="None" name="plPupilRemoteAddress"/>
|
|
67
|
+
<Param val="50020" valType="num" updates="None" name="plPupilRemotePort"/>
|
|
68
|
+
<Param val="1000" valType="num" updates="None" name="plPupilRemoteTimeoutMs"/>
|
|
69
|
+
<Param val="False" valType="bool" updates="None" name="plPupillometryOnly"/>
|
|
70
|
+
<Param val="psychopy_iohub_surface" valType="str" updates="None" name="plSurfaceName"/>
|
|
71
|
+
<Param val="0" valType="code" updates="None" name="runMode"/>
|
|
72
|
+
<Param val="False" valType="bool" updates="None" name="rush"/>
|
|
73
|
+
<Param val="time" valType="str" updates="None" name="sortColumns"/>
|
|
74
|
+
<Param val="" valType="str" updates="None" name="tbLicenseFile"/>
|
|
75
|
+
<Param val="" valType="str" updates="None" name="tbModel"/>
|
|
76
|
+
<Param val="60" valType="num" updates="None" name="tbSampleRate"/>
|
|
77
|
+
<Param val="" valType="str" updates="None" name="tbSerialNo"/>
|
|
78
|
+
<Param val="pyglet" valType="str" updates="None" name="winBackend"/>
|
|
79
|
+
</Settings>
|
|
80
|
+
<Routines>
|
|
81
|
+
<Routine name="trial">
|
|
82
|
+
<RoutineSettingsComponent name="trial" plugin="None">
|
|
83
|
+
<Param val="none" valType="str" updates="None" name="backgroundFit"/>
|
|
84
|
+
<Param val="" valType="str" updates="None" name="backgroundImg"/>
|
|
85
|
+
<Param val="$[0,0,0]" valType="color" updates="None" name="color"/>
|
|
86
|
+
<Param val="rgb" valType="str" updates="None" name="colorSpace"/>
|
|
87
|
+
<Param val="" valType="str" updates="constant" name="desc"/>
|
|
88
|
+
<Param val="False" valType="bool" updates="None" name="disabled"/>
|
|
89
|
+
<Param val="" valType="code" updates="None" name="durationEstim"/>
|
|
90
|
+
<Param val="False" valType="code" updates="None" name="forceNonSlip"/>
|
|
91
|
+
<Param val="trial" valType="code" updates="None" name="name"/>
|
|
92
|
+
<Param val="True" valType="bool" updates="None" name="saveStartStop"/>
|
|
93
|
+
<Param val="" valType="code" updates="constant" name="skipIf"/>
|
|
94
|
+
<Param val="duration (s)" valType="str" updates="None" name="stopType"/>
|
|
95
|
+
<Param val="" valType="code" updates="constant" name="stopVal"/>
|
|
96
|
+
<Param val="False" valType="bool" updates="None" name="useWindowParams"/>
|
|
97
|
+
</RoutineSettingsComponent>
|
|
98
|
+
</Routine>
|
|
99
|
+
<CounterbalanceRoutine name="counterbalance">
|
|
100
|
+
<Param name="conditionsFile" updates="None" val="" valType="file"/>
|
|
101
|
+
<Param name="conditionsVariable" updates="None" val="" valType="code"/>
|
|
102
|
+
<Param name="disabled" updates="None" val="False" valType="bool"/>
|
|
103
|
+
<Param name="endExperimentOnDepletion" updates="None" val="ignore" valType="code"/>
|
|
104
|
+
<Param name="nGroups" updates="None" val="2" valType="code"/>
|
|
105
|
+
<Param name="nReps" updates="None" val="1" valType="code"/>
|
|
106
|
+
<Param name="nSlots" updates="None" val="10" valType="code"/>
|
|
107
|
+
<Param name="name" updates="None" val="counterbalance" valType="code"/>
|
|
108
|
+
<Param name="saveData" updates="None" val="True" valType="bool"/>
|
|
109
|
+
<Param name="saveRemaining" updates="None" val="True" valType="bool"/>
|
|
110
|
+
<Param name="specMode" updates="None" val="uniform" valType="str"/>
|
|
111
|
+
</CounterbalanceRoutine>
|
|
112
|
+
<EyetrackerCalibrationRoutine name="calibration">
|
|
113
|
+
<Param name="borderColor" updates="None" val="black" valType="color"/>
|
|
114
|
+
<Param name="borderWidth" updates="None" val="2" valType="num"/>
|
|
115
|
+
<Param name="colorSpace" updates="None" val="rgb" valType="str"/>
|
|
116
|
+
<Param name="disabled" updates="None" val="False" valType="bool"/>
|
|
117
|
+
<Param name="expandDur" updates="None" val="1" valType="num"/>
|
|
118
|
+
<Param name="expandScale" updates="None" val="1.5" valType="num"/>
|
|
119
|
+
<Param name="fillColor" updates="None" val="" valType="color"/>
|
|
120
|
+
<Param name="innerBorderColor" updates="None" val="black" valType="color"/>
|
|
121
|
+
<Param name="innerBorderWidth" updates="None" val="2" valType="num"/>
|
|
122
|
+
<Param name="innerFillColor" updates="None" val="green" valType="color"/>
|
|
123
|
+
<Param name="innerRadius" updates="None" val="0.0035" valType="num"/>
|
|
124
|
+
<Param name="movementAnimation" updates="None" val="True" valType="bool"/>
|
|
125
|
+
<Param name="movementDur" updates="None" val="1.0" valType="num"/>
|
|
126
|
+
<Param name="name" updates="None" val="calibration" valType="code"/>
|
|
127
|
+
<Param name="outerRadius" updates="None" val="0.01" valType="num"/>
|
|
128
|
+
<Param name="progressMode" updates="None" val="time" valType="str"/>
|
|
129
|
+
<Param name="randomisePos" updates="None" val="True" valType="bool"/>
|
|
130
|
+
<Param name="targetDelay" updates="None" val="1.0" valType="num"/>
|
|
131
|
+
<Param name="targetDur" updates="None" val="1.5" valType="num"/>
|
|
132
|
+
<Param name="targetLayout" updates="None" val="NINE_POINTS" valType="str"/>
|
|
133
|
+
<Param name="textColor" updates="None" val="white" valType="color"/>
|
|
134
|
+
<Param name="units" updates="None" val="from exp settings" valType="str"/>
|
|
135
|
+
</EyetrackerCalibrationRoutine>
|
|
136
|
+
<CounterbalanceRoutine name="counterbalance_2">
|
|
137
|
+
<Param name="conditionsFile" updates="None" val="" valType="file"/>
|
|
138
|
+
<Param name="conditionsVariable" updates="None" val="" valType="code"/>
|
|
139
|
+
<Param name="disabled" updates="None" val="False" valType="bool"/>
|
|
140
|
+
<Param name="endExperimentOnDepletion" updates="None" val="ignore" valType="code"/>
|
|
141
|
+
<Param name="nGroups" updates="None" val="2" valType="code"/>
|
|
142
|
+
<Param name="nReps" updates="None" val="1" valType="code"/>
|
|
143
|
+
<Param name="nSlots" updates="None" val="10" valType="code"/>
|
|
144
|
+
<Param name="name" updates="None" val="counterbalance_2" valType="code"/>
|
|
145
|
+
<Param name="saveData" updates="None" val="True" valType="bool"/>
|
|
146
|
+
<Param name="saveRemaining" updates="None" val="True" valType="bool"/>
|
|
147
|
+
<Param name="specMode" updates="None" val="uniform" valType="str"/>
|
|
148
|
+
</CounterbalanceRoutine>
|
|
149
|
+
<EyetrackerValidationRoutine name="validation">
|
|
150
|
+
<Param name="borderColor" updates="None" val="black" valType="color"/>
|
|
151
|
+
<Param name="borderWidth" updates="None" val="2" valType="num"/>
|
|
152
|
+
<Param name="colorSpace" updates="None" val="rgb" valType="str"/>
|
|
153
|
+
<Param name="cursorFillColor" updates="None" val="green" valType="color"/>
|
|
154
|
+
<Param name="disabled" updates="None" val="False" valType="bool"/>
|
|
155
|
+
<Param name="expandDur" updates="None" val="1" valType="num"/>
|
|
156
|
+
<Param name="expandScale" updates="None" val="1.5" valType="num"/>
|
|
157
|
+
<Param name="fillColor" updates="None" val="" valType="color"/>
|
|
158
|
+
<Param name="innerBorderColor" updates="None" val="black" valType="color"/>
|
|
159
|
+
<Param name="innerBorderWidth" updates="None" val="2" valType="num"/>
|
|
160
|
+
<Param name="innerFillColor" updates="None" val="green" valType="color"/>
|
|
161
|
+
<Param name="innerRadius" updates="None" val="0.0035" valType="num"/>
|
|
162
|
+
<Param name="movementAnimation" updates="None" val="True" valType="bool"/>
|
|
163
|
+
<Param name="movementDur" updates="None" val="1.0" valType="num"/>
|
|
164
|
+
<Param name="name" updates="None" val="validation" valType="code"/>
|
|
165
|
+
<Param name="outerRadius" updates="None" val="0.01" valType="num"/>
|
|
166
|
+
<Param name="progressMode" updates="None" val="time" valType="str"/>
|
|
167
|
+
<Param name="randomisePos" updates="None" val="True" valType="bool"/>
|
|
168
|
+
<Param name="saveAsImg" updates="None" val="False" valType="bool"/>
|
|
169
|
+
<Param name="showResults" updates="None" val="True" valType="bool"/>
|
|
170
|
+
<Param name="targetDelay" updates="None" val="1.0" valType="num"/>
|
|
171
|
+
<Param name="targetDur" updates="None" val="1.5" valType="num"/>
|
|
172
|
+
<Param name="targetLayout" updates="None" val="NINE_POINTS" valType="str"/>
|
|
173
|
+
<Param name="targetPositions" updates="None" val="NINE_POINTS" valType="list"/>
|
|
174
|
+
<Param name="textColor" updates="None" val="auto" valType="color"/>
|
|
175
|
+
<Param name="units" updates="None" val="from exp settings" valType="str"/>
|
|
176
|
+
</EyetrackerValidationRoutine>
|
|
177
|
+
</Routines>
|
|
178
|
+
<Flow>
|
|
179
|
+
<Routine name="trial"/>
|
|
180
|
+
</Flow>
|
|
181
|
+
</PsychoPy2experiment>
|
|
@@ -0,0 +1,140 @@
|
|
|
1
|
+
<?xml version="1.0" ?>
|
|
2
|
+
<PsychoPy2experiment encoding="utf-8" version="2024.3.0">
|
|
3
|
+
<Settings>
|
|
4
|
+
<Param val="ptb" valType="str" updates="None" name="Audio lib"/>
|
|
5
|
+
<Param val="" valType="str" updates="None" name="Completed URL"/>
|
|
6
|
+
<Param val="auto" valType="str" updates="None" name="Data file delimiter"/>
|
|
7
|
+
<Param val="u'data/%s_%s_%s' % (expInfo['participant'], expName, expInfo['date'])" valType="code" updates="None" name="Data filename"/>
|
|
8
|
+
<Param val="True" valType="bool" updates="None" name="Enable Escape"/>
|
|
9
|
+
<Param val="Thank you for your patience." valType="str" updates="None" name="End Message"/>
|
|
10
|
+
<Param val="{'participant':'f"{randint(0, 999999):06.0f}"', 'session':'001'}" valType="code" updates="None" name="Experiment info"/>
|
|
11
|
+
<Param val="True" valType="bool" updates="None" name="Force stereo"/>
|
|
12
|
+
<Param val="True" valType="bool" updates="None" name="Full-screen window"/>
|
|
13
|
+
<Param val="" valType="str" updates="None" name="HTML path"/>
|
|
14
|
+
<Param val="" valType="str" updates="None" name="Incomplete URL"/>
|
|
15
|
+
<Param val="testMonitor" valType="str" updates="None" name="Monitor"/>
|
|
16
|
+
<Param val="[]" valType="list" updates="None" name="Resources"/>
|
|
17
|
+
<Param val="False" valType="bool" updates="None" name="Save csv file"/>
|
|
18
|
+
<Param val="False" valType="bool" updates="None" name="Save excel file"/>
|
|
19
|
+
<Param val="False" valType="bool" updates="None" name="Save hdf5 file"/>
|
|
20
|
+
<Param val="True" valType="bool" updates="None" name="Save log file"/>
|
|
21
|
+
<Param val="True" valType="bool" updates="None" name="Save psydat file"/>
|
|
22
|
+
<Param val="True" valType="bool" updates="None" name="Save wide csv file"/>
|
|
23
|
+
<Param val="1" valType="num" updates="None" name="Screen"/>
|
|
24
|
+
<Param val="True" valType="bool" updates="None" name="Show info dlg"/>
|
|
25
|
+
<Param val="False" valType="bool" updates="None" name="Show mouse"/>
|
|
26
|
+
<Param val="height" valType="str" updates="None" name="Units"/>
|
|
27
|
+
<Param val="" valType="str" updates="None" name="Use version"/>
|
|
28
|
+
<Param val="(1024, 768)" valType="list" updates="None" name="Window size (pixels)"/>
|
|
29
|
+
<Param val="none" valType="str" updates="None" name="backgroundFit"/>
|
|
30
|
+
<Param val="" valType="str" updates="None" name="backgroundImg"/>
|
|
31
|
+
<Param val="avg" valType="str" updates="None" name="blendMode"/>
|
|
32
|
+
<Param val="float" valType="str" updates="None" name="clockFormat"/>
|
|
33
|
+
<Param val="{'thisRow.t': 'priority.CRITICAL', 'expName': 'priority.LOW'}" valType="dict" updates="None" name="colPriority"/>
|
|
34
|
+
<Param val="$[0,0,0]" valType="color" updates="None" name="color"/>
|
|
35
|
+
<Param val="rgb" valType="str" updates="None" name="colorSpace"/>
|
|
36
|
+
<Param val="warning" valType="code" updates="None" name="consoleLoggingLevel"/>
|
|
37
|
+
<Param val="default" valType="str" updates="None" name="ecSampleRate"/>
|
|
38
|
+
<Param val="100.1.1.1" valType="str" updates="None" name="elAddress"/>
|
|
39
|
+
<Param val="FILTER_LEVEL_2" valType="str" updates="None" name="elDataFiltering"/>
|
|
40
|
+
<Param val="FILTER_LEVEL_OFF" valType="str" updates="None" name="elLiveFiltering"/>
|
|
41
|
+
<Param val="EYELINK 1000 DESKTOP" valType="str" updates="None" name="elModel"/>
|
|
42
|
+
<Param val="ELLIPSE_FIT" valType="str" updates="None" name="elPupilAlgorithm"/>
|
|
43
|
+
<Param val="PUPIL_AREA" valType="str" updates="None" name="elPupilMeasure"/>
|
|
44
|
+
<Param val="1000" valType="num" updates="None" name="elSampleRate"/>
|
|
45
|
+
<Param val="False" valType="bool" updates="None" name="elSimMode"/>
|
|
46
|
+
<Param val="RIGHT_EYE" valType="str" updates="None" name="elTrackEyes"/>
|
|
47
|
+
<Param val="PUPIL_CR_TRACKING" valType="str" updates="None" name="elTrackingMode"/>
|
|
48
|
+
<Param val="test_mix_missing" valType="str" updates="None" name="expName"/>
|
|
49
|
+
<Param val="" valType="str" updates="None" name="expVersion"/>
|
|
50
|
+
<Param val="on Sync" valType="str" updates="None" name="exportHTML"/>
|
|
51
|
+
<Param val="None" valType="str" updates="None" name="eyetracker"/>
|
|
52
|
+
<Param val="" valType="code" updates="None" name="frameRate"/>
|
|
53
|
+
<Param val="Attempting to measure frame rate of screen, please wait..." valType="str" updates="None" name="frameRateMsg"/>
|
|
54
|
+
<Param val="127.0.0.1" valType="str" updates="None" name="gpAddress"/>
|
|
55
|
+
<Param val="4242" valType="num" updates="None" name="gpPort"/>
|
|
56
|
+
<Param val="ioHub" valType="str" updates="None" name="keyboardBackend"/>
|
|
57
|
+
<Param val="info" valType="code" updates="None" name="logging level"/>
|
|
58
|
+
<Param val="True" valType="bool" updates="None" name="measureFrameRate"/>
|
|
59
|
+
<Param val="MIDDLE_BUTTON" valType="list" updates="None" name="mgBlink"/>
|
|
60
|
+
<Param val="CONTINUOUS" valType="str" updates="None" name="mgMove"/>
|
|
61
|
+
<Param val="0.5" valType="num" updates="None" name="mgSaccade"/>
|
|
62
|
+
<Param val="neon.local" valType="str" updates="None" name="plCompanionAddress"/>
|
|
63
|
+
<Param val="8080" valType="num" updates="None" name="plCompanionPort"/>
|
|
64
|
+
<Param val="0.6" valType="num" updates="None" name="plConfidenceThreshold"/>
|
|
65
|
+
<Param val="" valType="str" updates="None" name="plPupilCaptureRecordingLocation"/>
|
|
66
|
+
<Param val="127.0.0.1" valType="str" updates="None" name="plPupilRemoteAddress"/>
|
|
67
|
+
<Param val="50020" valType="num" updates="None" name="plPupilRemotePort"/>
|
|
68
|
+
<Param val="1000" valType="num" updates="None" name="plPupilRemoteTimeoutMs"/>
|
|
69
|
+
<Param val="False" valType="bool" updates="None" name="plPupillometryOnly"/>
|
|
70
|
+
<Param val="psychopy_iohub_surface" valType="str" updates="None" name="plSurfaceName"/>
|
|
71
|
+
<Param val="0" valType="code" updates="None" name="runMode"/>
|
|
72
|
+
<Param val="False" valType="bool" updates="None" name="rush"/>
|
|
73
|
+
<Param val="time" valType="str" updates="None" name="sortColumns"/>
|
|
74
|
+
<Param val="" valType="str" updates="None" name="tbLicenseFile"/>
|
|
75
|
+
<Param val="" valType="str" updates="None" name="tbModel"/>
|
|
76
|
+
<Param val="60" valType="num" updates="None" name="tbSampleRate"/>
|
|
77
|
+
<Param val="" valType="str" updates="None" name="tbSerialNo"/>
|
|
78
|
+
<Param val="pyglet" valType="str" updates="None" name="winBackend"/>
|
|
79
|
+
</Settings>
|
|
80
|
+
<Routines>
|
|
81
|
+
<Routine name="trial">
|
|
82
|
+
<RoutineSettingsComponent name="trial" plugin="None">
|
|
83
|
+
<Param val="none" valType="str" updates="None" name="backgroundFit"/>
|
|
84
|
+
<Param val="" valType="str" updates="None" name="backgroundImg"/>
|
|
85
|
+
<Param val="$[0,0,0]" valType="color" updates="None" name="color"/>
|
|
86
|
+
<Param val="rgb" valType="str" updates="None" name="colorSpace"/>
|
|
87
|
+
<Param val="" valType="str" updates="constant" name="desc"/>
|
|
88
|
+
<Param val="False" valType="bool" updates="None" name="disabled"/>
|
|
89
|
+
<Param val="" valType="code" updates="None" name="durationEstim"/>
|
|
90
|
+
<Param val="False" valType="code" updates="None" name="forceNonSlip"/>
|
|
91
|
+
<Param val="trial" valType="code" updates="None" name="name"/>
|
|
92
|
+
<Param val="True" valType="bool" updates="None" name="saveStartStop"/>
|
|
93
|
+
<Param val="" valType="code" updates="constant" name="skipIf"/>
|
|
94
|
+
<Param val="duration (s)" valType="str" updates="None" name="stopType"/>
|
|
95
|
+
<Param val="" valType="code" updates="constant" name="stopVal"/>
|
|
96
|
+
<Param val="False" valType="bool" updates="None" name="useWindowParams"/>
|
|
97
|
+
</RoutineSettingsComponent>
|
|
98
|
+
</Routine>
|
|
99
|
+
<EyetrackerCalibrationRoutine name="calibration_2">
|
|
100
|
+
<Param name="borderColor" updates="None" val="black" valType="color"/>
|
|
101
|
+
<Param name="borderWidth" updates="None" val="2" valType="num"/>
|
|
102
|
+
<Param name="colorSpace" updates="None" val="rgb" valType="str"/>
|
|
103
|
+
<Param name="disabled" updates="None" val="False" valType="bool"/>
|
|
104
|
+
<Param name="expandDur" updates="None" val="1" valType="num"/>
|
|
105
|
+
<Param name="expandScale" updates="None" val="1.5" valType="num"/>
|
|
106
|
+
<Param name="fillColor" updates="None" val="" valType="color"/>
|
|
107
|
+
<Param name="innerBorderColor" updates="None" val="black" valType="color"/>
|
|
108
|
+
<Param name="innerBorderWidth" updates="None" val="2" valType="num"/>
|
|
109
|
+
<Param name="innerFillColor" updates="None" val="green" valType="color"/>
|
|
110
|
+
<Param name="innerRadius" updates="None" val="0.0035" valType="num"/>
|
|
111
|
+
<Param name="movementAnimation" updates="None" val="True" valType="bool"/>
|
|
112
|
+
<Param name="movementDur" updates="None" val="1.0" valType="num"/>
|
|
113
|
+
<Param name="name" updates="None" val="calibration_2" valType="code"/>
|
|
114
|
+
<Param name="outerRadius" updates="None" val="0.01" valType="num"/>
|
|
115
|
+
<Param name="progressMode" updates="None" val="time" valType="str"/>
|
|
116
|
+
<Param name="randomisePos" updates="None" val="True" valType="bool"/>
|
|
117
|
+
<Param name="targetDelay" updates="None" val="1.0" valType="num"/>
|
|
118
|
+
<Param name="targetDur" updates="None" val="1.5" valType="num"/>
|
|
119
|
+
<Param name="targetLayout" updates="None" val="NINE_POINTS" valType="str"/>
|
|
120
|
+
<Param name="textColor" updates="None" val="white" valType="color"/>
|
|
121
|
+
<Param name="units" updates="None" val="from exp settings" valType="str"/>
|
|
122
|
+
</EyetrackerCalibrationRoutine>
|
|
123
|
+
<CounterbalanceRoutine name="counterbalance_2">
|
|
124
|
+
<Param name="conditionsFile" updates="None" val="" valType="file"/>
|
|
125
|
+
<Param name="conditionsVariable" updates="None" val="" valType="code"/>
|
|
126
|
+
<Param name="disabled" updates="None" val="False" valType="bool"/>
|
|
127
|
+
<Param name="endExperimentOnDepletion" updates="None" val="ignore" valType="code"/>
|
|
128
|
+
<Param name="nGroups" updates="None" val="2" valType="code"/>
|
|
129
|
+
<Param name="nReps" updates="None" val="1" valType="code"/>
|
|
130
|
+
<Param name="nSlots" updates="None" val="10" valType="code"/>
|
|
131
|
+
<Param name="name" updates="None" val="counterbalance_2" valType="code"/>
|
|
132
|
+
<Param name="saveData" updates="None" val="True" valType="bool"/>
|
|
133
|
+
<Param name="saveRemaining" updates="None" val="True" valType="bool"/>
|
|
134
|
+
<Param name="specMode" updates="None" val="uniform" valType="str"/>
|
|
135
|
+
</CounterbalanceRoutine>
|
|
136
|
+
</Routines>
|
|
137
|
+
<Flow>
|
|
138
|
+
<Routine name="trial"/>
|
|
139
|
+
</Flow>
|
|
140
|
+
</PsychoPy2experiment>
|
|
@@ -0,0 +1,164 @@
|
|
|
1
|
+
<?xml version="1.0" ?>
|
|
2
|
+
<PsychoPy2experiment encoding="utf-8" version="2024.3.0">
|
|
3
|
+
<Settings>
|
|
4
|
+
<Param val="ptb" valType="str" updates="None" name="Audio lib"/>
|
|
5
|
+
<Param val="" valType="str" updates="None" name="Completed URL"/>
|
|
6
|
+
<Param val="auto" valType="str" updates="None" name="Data file delimiter"/>
|
|
7
|
+
<Param val="u'data/%s_%s_%s' % (expInfo['participant'], expName, expInfo['date'])" valType="code" updates="None" name="Data filename"/>
|
|
8
|
+
<Param val="True" valType="bool" updates="None" name="Enable Escape"/>
|
|
9
|
+
<Param val="Thank you for your patience." valType="str" updates="None" name="End Message"/>
|
|
10
|
+
<Param val="{'participant':'f"{randint(0, 999999):06.0f}"', 'session':'001'}" valType="code" updates="None" name="Experiment info"/>
|
|
11
|
+
<Param val="True" valType="bool" updates="None" name="Force stereo"/>
|
|
12
|
+
<Param val="True" valType="bool" updates="None" name="Full-screen window"/>
|
|
13
|
+
<Param val="" valType="str" updates="None" name="HTML path"/>
|
|
14
|
+
<Param val="" valType="str" updates="None" name="Incomplete URL"/>
|
|
15
|
+
<Param val="testMonitor" valType="str" updates="None" name="Monitor"/>
|
|
16
|
+
<Param val="[]" valType="list" updates="None" name="Resources"/>
|
|
17
|
+
<Param val="False" valType="bool" updates="None" name="Save csv file"/>
|
|
18
|
+
<Param val="False" valType="bool" updates="None" name="Save excel file"/>
|
|
19
|
+
<Param val="False" valType="bool" updates="None" name="Save hdf5 file"/>
|
|
20
|
+
<Param val="True" valType="bool" updates="None" name="Save log file"/>
|
|
21
|
+
<Param val="True" valType="bool" updates="None" name="Save psydat file"/>
|
|
22
|
+
<Param val="True" valType="bool" updates="None" name="Save wide csv file"/>
|
|
23
|
+
<Param val="1" valType="num" updates="None" name="Screen"/>
|
|
24
|
+
<Param val="True" valType="bool" updates="None" name="Show info dlg"/>
|
|
25
|
+
<Param val="False" valType="bool" updates="None" name="Show mouse"/>
|
|
26
|
+
<Param val="height" valType="str" updates="None" name="Units"/>
|
|
27
|
+
<Param val="" valType="str" updates="None" name="Use version"/>
|
|
28
|
+
<Param val="(1024, 768)" valType="list" updates="None" name="Window size (pixels)"/>
|
|
29
|
+
<Param val="none" valType="str" updates="None" name="backgroundFit"/>
|
|
30
|
+
<Param val="" valType="str" updates="None" name="backgroundImg"/>
|
|
31
|
+
<Param val="avg" valType="str" updates="None" name="blendMode"/>
|
|
32
|
+
<Param val="float" valType="str" updates="None" name="clockFormat"/>
|
|
33
|
+
<Param val="{'thisRow.t': 'priority.CRITICAL', 'expName': 'priority.LOW'}" valType="dict" updates="None" name="colPriority"/>
|
|
34
|
+
<Param val="$[0,0,0]" valType="color" updates="None" name="color"/>
|
|
35
|
+
<Param val="rgb" valType="str" updates="None" name="colorSpace"/>
|
|
36
|
+
<Param val="warning" valType="code" updates="None" name="consoleLoggingLevel"/>
|
|
37
|
+
<Param val="default" valType="str" updates="None" name="ecSampleRate"/>
|
|
38
|
+
<Param val="100.1.1.1" valType="str" updates="None" name="elAddress"/>
|
|
39
|
+
<Param val="FILTER_LEVEL_2" valType="str" updates="None" name="elDataFiltering"/>
|
|
40
|
+
<Param val="FILTER_LEVEL_OFF" valType="str" updates="None" name="elLiveFiltering"/>
|
|
41
|
+
<Param val="EYELINK 1000 DESKTOP" valType="str" updates="None" name="elModel"/>
|
|
42
|
+
<Param val="ELLIPSE_FIT" valType="str" updates="None" name="elPupilAlgorithm"/>
|
|
43
|
+
<Param val="PUPIL_AREA" valType="str" updates="None" name="elPupilMeasure"/>
|
|
44
|
+
<Param val="1000" valType="num" updates="None" name="elSampleRate"/>
|
|
45
|
+
<Param val="False" valType="bool" updates="None" name="elSimMode"/>
|
|
46
|
+
<Param val="RIGHT_EYE" valType="str" updates="None" name="elTrackEyes"/>
|
|
47
|
+
<Param val="PUPIL_CR_TRACKING" valType="str" updates="None" name="elTrackingMode"/>
|
|
48
|
+
<Param val="test_mix_name_calibration" valType="str" updates="None" name="expName"/>
|
|
49
|
+
<Param val="" valType="str" updates="None" name="expVersion"/>
|
|
50
|
+
<Param val="on Sync" valType="str" updates="None" name="exportHTML"/>
|
|
51
|
+
<Param val="None" valType="str" updates="None" name="eyetracker"/>
|
|
52
|
+
<Param val="" valType="code" updates="None" name="frameRate"/>
|
|
53
|
+
<Param val="Attempting to measure frame rate of screen, please wait..." valType="str" updates="None" name="frameRateMsg"/>
|
|
54
|
+
<Param val="127.0.0.1" valType="str" updates="None" name="gpAddress"/>
|
|
55
|
+
<Param val="4242" valType="num" updates="None" name="gpPort"/>
|
|
56
|
+
<Param val="ioHub" valType="str" updates="None" name="keyboardBackend"/>
|
|
57
|
+
<Param val="info" valType="code" updates="None" name="logging level"/>
|
|
58
|
+
<Param val="True" valType="bool" updates="None" name="measureFrameRate"/>
|
|
59
|
+
<Param val="MIDDLE_BUTTON" valType="list" updates="None" name="mgBlink"/>
|
|
60
|
+
<Param val="CONTINUOUS" valType="str" updates="None" name="mgMove"/>
|
|
61
|
+
<Param val="0.5" valType="num" updates="None" name="mgSaccade"/>
|
|
62
|
+
<Param val="neon.local" valType="str" updates="None" name="plCompanionAddress"/>
|
|
63
|
+
<Param val="8080" valType="num" updates="None" name="plCompanionPort"/>
|
|
64
|
+
<Param val="0.6" valType="num" updates="None" name="plConfidenceThreshold"/>
|
|
65
|
+
<Param val="" valType="str" updates="None" name="plPupilCaptureRecordingLocation"/>
|
|
66
|
+
<Param val="127.0.0.1" valType="str" updates="None" name="plPupilRemoteAddress"/>
|
|
67
|
+
<Param val="50020" valType="num" updates="None" name="plPupilRemotePort"/>
|
|
68
|
+
<Param val="1000" valType="num" updates="None" name="plPupilRemoteTimeoutMs"/>
|
|
69
|
+
<Param val="False" valType="bool" updates="None" name="plPupillometryOnly"/>
|
|
70
|
+
<Param val="psychopy_iohub_surface" valType="str" updates="None" name="plSurfaceName"/>
|
|
71
|
+
<Param val="0" valType="code" updates="None" name="runMode"/>
|
|
72
|
+
<Param val="False" valType="bool" updates="None" name="rush"/>
|
|
73
|
+
<Param val="time" valType="str" updates="None" name="sortColumns"/>
|
|
74
|
+
<Param val="" valType="str" updates="None" name="tbLicenseFile"/>
|
|
75
|
+
<Param val="" valType="str" updates="None" name="tbModel"/>
|
|
76
|
+
<Param val="60" valType="num" updates="None" name="tbSampleRate"/>
|
|
77
|
+
<Param val="" valType="str" updates="None" name="tbSerialNo"/>
|
|
78
|
+
<Param val="pyglet" valType="str" updates="None" name="winBackend"/>
|
|
79
|
+
</Settings>
|
|
80
|
+
<Routines>
|
|
81
|
+
<Routine name="trial">
|
|
82
|
+
<RoutineSettingsComponent name="trial" plugin="None">
|
|
83
|
+
<Param val="none" valType="str" updates="None" name="backgroundFit"/>
|
|
84
|
+
<Param val="" valType="str" updates="None" name="backgroundImg"/>
|
|
85
|
+
<Param val="$[0,0,0]" valType="color" updates="None" name="color"/>
|
|
86
|
+
<Param val="rgb" valType="str" updates="None" name="colorSpace"/>
|
|
87
|
+
<Param val="" valType="str" updates="constant" name="desc"/>
|
|
88
|
+
<Param val="False" valType="bool" updates="None" name="disabled"/>
|
|
89
|
+
<Param val="" valType="code" updates="None" name="durationEstim"/>
|
|
90
|
+
<Param val="False" valType="code" updates="None" name="forceNonSlip"/>
|
|
91
|
+
<Param val="trial" valType="code" updates="None" name="name"/>
|
|
92
|
+
<Param val="True" valType="bool" updates="None" name="saveStartStop"/>
|
|
93
|
+
<Param val="" valType="code" updates="constant" name="skipIf"/>
|
|
94
|
+
<Param val="duration (s)" valType="str" updates="None" name="stopType"/>
|
|
95
|
+
<Param val="" valType="code" updates="constant" name="stopVal"/>
|
|
96
|
+
<Param val="False" valType="bool" updates="None" name="useWindowParams"/>
|
|
97
|
+
</RoutineSettingsComponent>
|
|
98
|
+
</Routine>
|
|
99
|
+
<EyetrackerCalibrationRoutine name="calibration_2">
|
|
100
|
+
<Param name="borderColor" updates="None" val="black" valType="color"/>
|
|
101
|
+
<Param name="borderWidth" updates="None" val="2" valType="num"/>
|
|
102
|
+
<Param name="colorSpace" updates="None" val="rgb" valType="str"/>
|
|
103
|
+
<Param name="disabled" updates="None" val="False" valType="bool"/>
|
|
104
|
+
<Param name="expandDur" updates="None" val="1" valType="num"/>
|
|
105
|
+
<Param name="expandScale" updates="None" val="1.5" valType="num"/>
|
|
106
|
+
<Param name="fillColor" updates="None" val="" valType="color"/>
|
|
107
|
+
<Param name="innerBorderColor" updates="None" val="black" valType="color"/>
|
|
108
|
+
<Param name="innerBorderWidth" updates="None" val="2" valType="num"/>
|
|
109
|
+
<Param name="innerFillColor" updates="None" val="green" valType="color"/>
|
|
110
|
+
<Param name="innerRadius" updates="None" val="0.0035" valType="num"/>
|
|
111
|
+
<Param name="movementAnimation" updates="None" val="True" valType="bool"/>
|
|
112
|
+
<Param name="movementDur" updates="None" val="1.0" valType="num"/>
|
|
113
|
+
<Param name="name" updates="None" val="calibration_2" valType="code"/>
|
|
114
|
+
<Param name="outerRadius" updates="None" val="0.01" valType="num"/>
|
|
115
|
+
<Param name="progressMode" updates="None" val="time" valType="str"/>
|
|
116
|
+
<Param name="randomisePos" updates="None" val="True" valType="bool"/>
|
|
117
|
+
<Param name="targetDelay" updates="None" val="1.0" valType="num"/>
|
|
118
|
+
<Param name="targetDur" updates="None" val="1.5" valType="num"/>
|
|
119
|
+
<Param name="targetLayout" updates="None" val="NINE_POINTS" valType="str"/>
|
|
120
|
+
<Param name="textColor" updates="None" val="white" valType="color"/>
|
|
121
|
+
<Param name="units" updates="None" val="from exp settings" valType="str"/>
|
|
122
|
+
</EyetrackerCalibrationRoutine>
|
|
123
|
+
<EyetrackerCalibrationRoutine name="custom_2">
|
|
124
|
+
<Param name="borderColor" updates="None" val="black" valType="color"/>
|
|
125
|
+
<Param name="borderWidth" updates="None" val="2" valType="num"/>
|
|
126
|
+
<Param name="colorSpace" updates="None" val="rgb" valType="str"/>
|
|
127
|
+
<Param name="disabled" updates="None" val="False" valType="bool"/>
|
|
128
|
+
<Param name="expandDur" updates="None" val="1" valType="num"/>
|
|
129
|
+
<Param name="expandScale" updates="None" val="1.5" valType="num"/>
|
|
130
|
+
<Param name="fillColor" updates="None" val="" valType="color"/>
|
|
131
|
+
<Param name="innerBorderColor" updates="None" val="black" valType="color"/>
|
|
132
|
+
<Param name="innerBorderWidth" updates="None" val="2" valType="num"/>
|
|
133
|
+
<Param name="innerFillColor" updates="None" val="green" valType="color"/>
|
|
134
|
+
<Param name="innerRadius" updates="None" val="0.0035" valType="num"/>
|
|
135
|
+
<Param name="movementAnimation" updates="None" val="True" valType="bool"/>
|
|
136
|
+
<Param name="movementDur" updates="None" val="1.0" valType="num"/>
|
|
137
|
+
<Param name="name" updates="None" val="custom_2" valType="code"/>
|
|
138
|
+
<Param name="outerRadius" updates="None" val="0.01" valType="num"/>
|
|
139
|
+
<Param name="progressMode" updates="None" val="time" valType="str"/>
|
|
140
|
+
<Param name="randomisePos" updates="None" val="True" valType="bool"/>
|
|
141
|
+
<Param name="targetDelay" updates="None" val="1.0" valType="num"/>
|
|
142
|
+
<Param name="targetDur" updates="None" val="1.5" valType="num"/>
|
|
143
|
+
<Param name="targetLayout" updates="None" val="NINE_POINTS" valType="str"/>
|
|
144
|
+
<Param name="textColor" updates="None" val="white" valType="color"/>
|
|
145
|
+
<Param name="units" updates="None" val="from exp settings" valType="str"/>
|
|
146
|
+
</EyetrackerCalibrationRoutine>
|
|
147
|
+
<CounterbalanceRoutine name="counterbalance_2">
|
|
148
|
+
<Param name="conditionsFile" updates="None" val="" valType="file"/>
|
|
149
|
+
<Param name="conditionsVariable" updates="None" val="" valType="code"/>
|
|
150
|
+
<Param name="disabled" updates="None" val="False" valType="bool"/>
|
|
151
|
+
<Param name="endExperimentOnDepletion" updates="None" val="True" valType="code"/>
|
|
152
|
+
<Param name="nGroups" updates="None" val="2" valType="code"/>
|
|
153
|
+
<Param name="nReps" updates="None" val="1" valType="code"/>
|
|
154
|
+
<Param name="nSlots" updates="None" val="10" valType="code"/>
|
|
155
|
+
<Param name="name" updates="None" val="counterbalance_2" valType="code"/>
|
|
156
|
+
<Param name="saveData" updates="None" val="True" valType="bool"/>
|
|
157
|
+
<Param name="saveRemaining" updates="None" val="True" valType="bool"/>
|
|
158
|
+
<Param name="specMode" updates="None" val="uniform" valType="str"/>
|
|
159
|
+
</CounterbalanceRoutine>
|
|
160
|
+
</Routines>
|
|
161
|
+
<Flow>
|
|
162
|
+
<Routine name="trial"/>
|
|
163
|
+
</Flow>
|
|
164
|
+
</PsychoPy2experiment>
|
|
@@ -101,3 +101,99 @@ class TestExperiment:
|
|
|
101
101
|
else:
|
|
102
102
|
assert case['value'] not in unhandledResources
|
|
103
103
|
|
|
104
|
+
def test_loaded_namespace(self):
|
|
105
|
+
|
|
106
|
+
exp = experiment.Experiment()
|
|
107
|
+
allRoutines = experiment.getAllStandaloneRoutines(fetchIcons=False)
|
|
108
|
+
|
|
109
|
+
"""
|
|
110
|
+
Case structure
|
|
111
|
+
==============
|
|
112
|
+
file : str
|
|
113
|
+
Experiment file to load
|
|
114
|
+
expectedSet : Set[str]
|
|
115
|
+
The expected names in the user namespace after routines are loaded and added
|
|
116
|
+
names : List[str]
|
|
117
|
+
Name of each routine to be added after experiment is loaded, paired with tags
|
|
118
|
+
tags : List[str]
|
|
119
|
+
Type of each routine to be added after experiment is loaded, paired with names
|
|
120
|
+
Can be 'CounterbalanceRoutine', 'EyetrackerCalibrationRoutine', 'EyetrackerValidationRoutine'
|
|
121
|
+
"""
|
|
122
|
+
|
|
123
|
+
cases = [
|
|
124
|
+
{"file": "test_counterbalance.psyexp",
|
|
125
|
+
"expectedSet": {'trial', 'counterbalance', 'counterbalance_2', 'counterbalance_3',
|
|
126
|
+
'counterbalance_4', 'counterbalance_5', 'calibration', 'calibration_2'},
|
|
127
|
+
"names": ['counterbalance', 'counterbalance', 'calibration', 'calibration'],
|
|
128
|
+
"tags": ['CounterbalanceRoutine', 'CounterbalanceRoutine', 'EyetrackerCalibrationRoutine',
|
|
129
|
+
'EyetrackerCalibrationRoutine']},
|
|
130
|
+
|
|
131
|
+
{"file": "test_counterbalance.psyexp",
|
|
132
|
+
"expectedSet": {'trial', 'counterbalance', 'counterbalance_2', 'counterbalance_3',
|
|
133
|
+
'calibration', 'counterbalance_4', 'calibration_2'},
|
|
134
|
+
"names": ['calibration', 'counterbalance', 'calibration'],
|
|
135
|
+
"tags": ['EyetrackerCalibrationRoutine', 'EyetrackerCalibrationRoutine', 'EyetrackerCalibrationRoutine']},
|
|
136
|
+
|
|
137
|
+
{"file": "test_custom_missing.psyexp",
|
|
138
|
+
"expectedSet": {'trial', 'custom_2', 'counterbalance_2', 'counterbalance',
|
|
139
|
+
'counterbalance_3', 'calibration', 'calibration_2'},
|
|
140
|
+
"names": ['counterbalance', 'counterbalance', 'calibration', 'calibration'],
|
|
141
|
+
"tags": ['CounterbalanceRoutine', 'CounterbalanceRoutine', 'EyetrackerCalibrationRoutine',
|
|
142
|
+
'EyetrackerCalibrationRoutine']},
|
|
143
|
+
|
|
144
|
+
{"file": "test_missing_counterbalance.psyexp",
|
|
145
|
+
"expectedSet": {'trial', 'counterbalance_2', 'counterbalance', 'counterbalance_3'},
|
|
146
|
+
"names": ['counterbalance', 'counterbalance'],
|
|
147
|
+
"tags": ['CounterbalanceRoutine', 'EyetrackerCalibrationRoutine']},
|
|
148
|
+
|
|
149
|
+
{"file": "test_mix_exp.psyexp",
|
|
150
|
+
"expectedSet": {'trial', 'counterbalance', 'calibration', 'counterbalance_2',
|
|
151
|
+
'validation', 'counterbalance_3', 'calibration_2', 'validation_2'},
|
|
152
|
+
"names": ['counterbalance', 'calibration', 'validation'],
|
|
153
|
+
"tags": ['CounterbalanceRoutine', 'EyetrackerCalibrationRoutine', 'EyetrackerValidationRoutine']},
|
|
154
|
+
|
|
155
|
+
{"file": "test_mix_missing.psyexp",
|
|
156
|
+
"expectedSet": {'trial', 'calibration_2', 'counterbalance_2', 'calibration',
|
|
157
|
+
'counterbalance', 'calibration_3', 'counterbalance_3'},
|
|
158
|
+
"names": ['calibration_2', 'counterbalance_2', 'calibration', 'counterbalance'],
|
|
159
|
+
"tags": ['EyetrackerCalibrationRoutine', 'CounterbalanceRoutine', 'EyetrackerCalibrationRoutine',
|
|
160
|
+
'CounterbalanceRoutine']},
|
|
161
|
+
|
|
162
|
+
{"file": "test_mix_name_calibration.psyexp",
|
|
163
|
+
"expectedSet": {'trial', 'calibration_2', 'custom_2', 'counterbalance_2',
|
|
164
|
+
'calibration', 'calibration_3', 'custom_3', 'custom'},
|
|
165
|
+
"names": ['calibration', 'calibration', 'custom_2', 'custom'],
|
|
166
|
+
"tags": ['EyetrackerCalibrationRoutine', 'CounterbalanceRoutine', 'CounterbalanceRoutine',
|
|
167
|
+
'EyetrackerCalibrationRoutine']},
|
|
168
|
+
]
|
|
169
|
+
|
|
170
|
+
for case in cases:
|
|
171
|
+
exp.loadFromXML(Path(TESTS_DATA_PATH) / "test_loaded_namespace" / case['file'])
|
|
172
|
+
|
|
173
|
+
# add new routines to the experiment and their names to namespace
|
|
174
|
+
namespace = exp.namespace
|
|
175
|
+
for (name, tag) in zip(case["names"], case["tags"]):
|
|
176
|
+
routine = allRoutines[tag](exp=exp, name=name)
|
|
177
|
+
rtGoodName = routine.params['name'].val = namespace.makeValid(
|
|
178
|
+
routine.params['name'].val)
|
|
179
|
+
namespace.add(rtGoodName)
|
|
180
|
+
exp.addStandaloneRoutine(routineName=rtGoodName, routine=routine)
|
|
181
|
+
|
|
182
|
+
actualSet = set(namespace.user)
|
|
183
|
+
expectedSet = case["expectedSet"]
|
|
184
|
+
print()
|
|
185
|
+
print(case['file'])
|
|
186
|
+
print(actualSet)
|
|
187
|
+
print(expectedSet)
|
|
188
|
+
print()
|
|
189
|
+
|
|
190
|
+
# check for no duplicate names in the namespace.user list
|
|
191
|
+
assert len(actualSet) == len(expectedSet)
|
|
192
|
+
|
|
193
|
+
# check that expected names in namespace.user list is
|
|
194
|
+
# equivalent to the actual names in namespace.user
|
|
195
|
+
assert len(actualSet) == len(actualSet.intersection(expectedSet))
|
|
196
|
+
|
|
197
|
+
|
|
198
|
+
|
|
199
|
+
|