Created
March 3, 2018 06:01
-
-
Save cooperpellaton/92e9cf5bed329be93101f920d333584f to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<?xml version="1.0" ?> | |
<PsychoPy2experiment encoding="utf-8" version="1.84.2"> | |
<Settings> | |
<Param name="Monitor" updates="None" val="testMonitor" valType="str"/> | |
<Param name="color" updates="None" val="$[0,0,0]" valType="str"/> | |
<Param name="colorSpace" updates="None" val="rgb" valType="str"/> | |
<Param name="Experiment info" updates="None" val="{u'session': u'001', u'participant': u''}" valType="code"/> | |
<Param name="Units" updates="None" val="use prefs" valType="str"/> | |
<Param name="JS libs" updates="None" val="packaged" valType="str"/> | |
<Param name="Save excel file" updates="None" val="False" valType="bool"/> | |
<Param name="Enable Escape" updates="None" val="True" valType="bool"/> | |
<Param name="Save psydat file" updates="None" val="True" valType="bool"/> | |
<Param name="Window size (pixels)" updates="None" val="[1440, 900]" valType="code"/> | |
<Param name="Full-screen window" updates="None" val="True" valType="bool"/> | |
<Param name="blendMode" updates="None" val="avg" valType="str"/> | |
<Param name="Use version" updates="None" val="" valType="str"/> | |
<Param name="HTML path" updates="None" val="html" valType="str"/> | |
<Param name="Save csv file" updates="None" val="False" valType="bool"/> | |
<Param name="OSF Project ID" updates="None" val="" valType="str"/> | |
<Param name="Save log file" updates="None" val="True" valType="bool"/> | |
<Param name="Save wide csv file" updates="None" val="True" valType="bool"/> | |
<Param name="Show mouse" updates="None" val="False" valType="bool"/> | |
<Param name="Data filename" updates="None" val="u'data/%s_%s_%s' % (expInfo['participant'], expName, expInfo['date'])" valType="code"/> | |
<Param name="Show info dlg" updates="None" val="True" valType="bool"/> | |
<Param name="expName" updates="None" val="postTestBETA" valType="str"/> | |
<Param name="logging level" updates="None" val="debug" valType="code"/> | |
<Param name="Screen" updates="None" val="1" valType="num"/> | |
</Settings> | |
<Routines> | |
<Routine name="correctFace"> | |
<TextComponent name="askF"> | |
<Param name="opacity" updates="constant" val="1" valType="code"/> | |
<Param name="colorSpace" updates="constant" val="rgb" valType="str"/> | |
<Param name="name" updates="None" val="askF" valType="code"/> | |
<Param name="wrapWidth" updates="constant" val="" valType="code"/> | |
<Param name="color" updates="constant" val="white" valType="str"/> | |
<Param name="text" updates="set every repeat" val="$ask" valType="str"/> | |
<Param name="stopVal" updates="constant" val="6" valType="code"/> | |
<Param name="durationEstim" updates="None" val="" valType="code"/> | |
<Param name="pos" updates="constant" val="(0, 0)" valType="code"/> | |
<Param name="flip" updates="constant" val="" valType="str"/> | |
<Param name="startEstim" updates="None" val="" valType="code"/> | |
<Param name="units" updates="None" val="from exp settings" valType="str"/> | |
<Param name="startType" updates="None" val="time (s)" valType="str"/> | |
<Param name="ori" updates="constant" val="0" valType="code"/> | |
<Param name="stopType" updates="None" val="duration (s)" valType="str"/> | |
<Param name="startVal" updates="None" val="0.0" valType="code"/> | |
<Param name="font" updates="constant" val="Arial" valType="str"/> | |
<Param name="letterHeight" updates="constant" val="0.1" valType="code"/> | |
</TextComponent> | |
<TextComponent name="keyF"> | |
<Param name="opacity" updates="constant" val="1" valType="code"/> | |
<Param name="colorSpace" updates="constant" val="rgb" valType="str"/> | |
<Param name="name" updates="None" val="keyF" valType="code"/> | |
<Param name="wrapWidth" updates="constant" val="" valType="code"/> | |
<Param name="color" updates="constant" val="white" valType="str"/> | |
<Param name="text" updates="set every repeat" val="$key" valType="str"/> | |
<Param name="stopVal" updates="constant" val="6" valType="code"/> | |
<Param name="durationEstim" updates="None" val="" valType="code"/> | |
<Param name="pos" updates="constant" val="(0, -0.7)" valType="code"/> | |
<Param name="flip" updates="constant" val="" valType="str"/> | |
<Param name="startEstim" updates="None" val="" valType="code"/> | |
<Param name="units" updates="None" val="from exp settings" valType="str"/> | |
<Param name="startType" updates="None" val="time (s)" valType="str"/> | |
<Param name="ori" updates="constant" val="0" valType="code"/> | |
<Param name="stopType" updates="None" val="duration (s)" valType="str"/> | |
<Param name="startVal" updates="None" val="0.0" valType="code"/> | |
<Param name="font" updates="constant" val="Arial" valType="str"/> | |
<Param name="letterHeight" updates="constant" val="0.1" valType="code"/> | |
</TextComponent> | |
<KeyboardComponent name="probeRespF"> | |
<Param name="correctAns" updates="constant" val="$probeCorrect" valType="str"/> | |
<Param name="storeCorrect" updates="constant" val="True" valType="bool"/> | |
<Param name="name" updates="None" val="probeRespF" valType="code"/> | |
<Param name="stopVal" updates="constant" val="6" valType="code"/> | |
<Param name="durationEstim" updates="None" val="" valType="code"/> | |
<Param name="forceEndRoutine" updates="constant" val="True" valType="bool"/> | |
<Param name="startEstim" updates="None" val="" valType="code"/> | |
<Param name="discard previous" updates="constant" val="True" valType="bool"/> | |
<Param name="startType" updates="None" val="time (s)" valType="str"/> | |
<Param name="allowedKeys" updates="constant" val="'d','k'" valType="code"/> | |
<Param name="stopType" updates="None" val="duration (s)" valType="str"/> | |
<Param name="startVal" updates="None" val="0.0" valType="code"/> | |
<Param name="store" updates="constant" val="last key" valType="str"/> | |
<Param name="syncScreenRefresh" updates="constant" val="True" valType="bool"/> | |
</KeyboardComponent> | |
<CodeComponent name="code_4"> | |
<Param name="Begin Experiment" updates="constant" val="" valType="extendedCode"/> | |
<Param name="name" updates="None" val="code_4" valType="code"/> | |
<Param name="Begin Routine" updates="constant" val="" valType="extendedCode"/> | |
<Param name="End Routine" updates="constant" val="faceQ.addData('probe', ask)" valType="extendedCode"/> | |
<Param name="End Experiment" updates="constant" val="" valType="extendedCode"/> | |
<Param name="Each Frame" updates="constant" val="" valType="extendedCode"/> | |
</CodeComponent> | |
</Routine> | |
<Routine name="instantiateProbes"> | |
<CodeComponent name="code_2"> | |
<Param name="Begin Experiment" updates="constant" val="#a thing for the trial loops&#10;import random&#10;#selectRows = [0,1,2,3,4]&#10;selectRows = random.sample(range(121),40)&#10;&#10;#make choices based on the participant number&#10;#first handle if it's not a number, and make it a num if it is.&#10;try:&#10; participantNum = int(expInfo[u'participant'])&#10;except:&#10; #if it's not a number, make it 1&#10; participantNum = 1&#10;finally:&#10; if participantNum % 2 == 1:&#10; fhOdd = True&#10; e,f = 'd','k'&#10; else:&#10; fhOdd = False&#10; e,f = 'k','d'&#10;&#10;#Get handling for trial responses knocked out&#10;#Display correct key for trials&#10;if fhOdd == True:&#10; recallKeyText = """"D" = BUILDING, "K" = FACE"""&#10;else:&#10; recallKeyText = """"D" = FACE, "K" = BUILDING"""&#10;&#10;#Do the same for probes&#10;#first instantiate questions and keys&#10;houseProbe1 = "IS THIS A RESIDENTIAL OR A COMMERCIAL BUILDING?"&#10;houseProbe2 = "IS THIS A ONE STORY OR A MULTISTORY BUILDING?"&#10;houseProbe3 = "IS THIS A LIGHT COLORED OR DARK COLORED BUILDING?"&#10;faceProbe1 = "IS THIS A MALE FACE OR A FEMALE FACE?"&#10;faceProbe2 = "IS THIS PERSON A YOUNGER PERSON OR AN OLDER PERSON?"&#10;faceProbe3 = "IS THIS PERSON WHITE OR NOT WHITE?"&#10;&#10;#Next instantiate related keys based on even or odd&#10;if fhOdd == True:&#10; houseKey1 = """"D" = RESIDENTIAL, "K" = COMMERCIAL"""&#10; houseKey2 = """"D" = ONE STORY, "K" = MULTISTORY"""&#10; houseKey3 = """"D" = LIGHT, "K" = DARK"""&#10; faceKey1 = """"D" = MALE, "K" = FEMALE"""&#10; faceKey2 = """"D" = YOUNGER, "K" = OLDER"""&#10; faceKey3 = """"D" = WHITE, "K" = NOT WHITE"""&#10;else:&#10; houseKey1 = """"D" = COMMERCIAL, "K" = RESIDENTIAL"""&#10; houseKey2 = """"D" = MULTISTORY, "K" = ONE STORY"""&#10; houseKey3 = """"D" = DARK, "K" = LIGHT"""&#10; faceKey1 = """"D" = FEMALE, "K" = MALE"""&#10; faceKey2 = """"D" = OLDER, "K" = YOUNGER"""&#10; faceKey3 = """"D" = NOT WHITE, "K" = WHITE"""&#10;&#10;&#10;#Now we'll establish pairs.&#10;housePair1 = (houseProbe1, houseKey1)&#10;housePair2 = (houseProbe2, houseKey2)&#10;housePair3 = (houseProbe3, houseKey3)&#10;facePair1 = (faceProbe1, faceKey1)&#10;facePair2 = (faceProbe2, faceKey2)&#10;facePair3 = (faceProbe3, faceKey3)&#10;&#10;#Now we put them in a list so we can access them&#10;houseList = [housePair1, housePair2, housePair3]&#10;faceList = [facePair1, facePair2, facePair3]&#10;&#10;&#10;#We want to be able to choose the correct key press in probe questions&#10;#I dislike how hard-coded this is but it should work&#10;def correctKey(associate, questionnum, correct):&#10; if associate.upper() == "HOUSE":&#10; if questionnum == 0:&#10; if correct.upper() == "RESIDENTIAL":&#10; return e&#10; elif correct.upper() == "COMMERCIAL":&#10; return f&#10; elif questionnum == 1:&#10; if correct.upper() == "ONE STORY":&#10; return e&#10; elif correct.upper() == "MULTISTORY":&#10; return f&#10; elif questionnum == 2:&#10; if correct.upper() == "LIGHT":&#10; return e&#10; elif correct.upper() == "DARK":&#10; return f&#10; elif associate.upper() == "FACE":&#10; if questionnum == 0:&#10; if correct.upper() == "MALE":&#10; return e&#10; elif correct.upper() == "FEMALE":&#10; return f&#10; elif questionnum == 1:&#10; if correct.upper() == "YOUNG":&#10; return e&#10; elif correct.upper() == "OLD":&#10; return f&#10; elif questionnum == 2:&#10; if correct.upper() == "WHITE":&#10; return e&#10; elif correct.upper() == "NON WHITE":&#10; return f" valType="extendedCode"/> | |
<Param name="name" updates="None" val="code_2" valType="code"/> | |
<Param name="Begin Routine" updates="constant" val="" valType="extendedCode"/> | |
<Param name="End Routine" updates="constant" val="" valType="extendedCode"/> | |
<Param name="End Experiment" updates="constant" val="" valType="extendedCode"/> | |
<Param name="Each Frame" updates="constant" val="" valType="extendedCode"/> | |
</CodeComponent> | |
</Routine> | |
<Routine name="controlFlow"> | |
<CodeComponent name="code"> | |
<Param name="Begin Experiment" updates="constant" val="#instantiate some variables.&#10;nRepsFace = 0&#10;nRepsHouse = 0&#10;pick = 0&#10;passIn = ""&#10;ask = ""&#10;key = "keyStart"&#10;stimData = []&#10;probeCorrect = """ valType="extendedCode"/> | |
<Param name="name" updates="None" val="code" valType="code"/> | |
<Param name="Begin Routine" updates="constant" val="#Tells us to select a random probe if participant responds correctly. &#10;#Also tells us that if the associate is correctly identified as a face to select a face-related probe.&#10;#If the associate is correctly identified as a house, randomly select a house-related probe.&#10;if recallResp.corr == 1:&#10; passIn = ASSOCIATE.upper()&#10; pick = randint(0,2)&#10; stimData = [MF_RC.upper(),YO_OM.upper(),WN_LD.upper()]&#10; probeCorrect = correctKey(ASSOCIATE, pick, stimData[pick])&#10; if ASSOCIATE == "Building":&#10; nRepsHouse = 1&#10; nRepsFace = 0&#10; ask = houseList[pick][0]&#10; key = houseList[pick][1]&#10; elif ASSOCIATE == "Face":&#10; nRepsFace = 1&#10; nRepsHouse = 0&#10; ask = faceList[pick][0]&#10; key = faceList[pick][1]&#10;#If answer is incorrect, skip follow up probes and move to next word stimulus.&#10;else:&#10; nRepsFace = 0&#10; nRepsHouse = 0" valType="extendedCode"/> | |
<Param name="End Routine" updates="constant" val="" valType="extendedCode"/> | |
<Param name="End Experiment" updates="constant" val="" valType="extendedCode"/> | |
<Param name="Each Frame" updates="constant" val="" valType="extendedCode"/> | |
</CodeComponent> | |
</Routine> | |
<Routine name="trial"> | |
<TextComponent name="prompt"> | |
<Param name="opacity" updates="constant" val="1" valType="code"/> | |
<Param name="colorSpace" updates="constant" val="rgb" valType="str"/> | |
<Param name="name" updates="None" val="prompt" valType="code"/> | |
<Param name="wrapWidth" updates="constant" val="" valType="code"/> | |
<Param name="color" updates="constant" val="white" valType="str"/> | |
<Param name="text" updates="set every repeat" val="$NOUN" valType="str"/> | |
<Param name="stopVal" updates="constant" val="6.5" valType="code"/> | |
<Param name="durationEstim" updates="None" val="" valType="code"/> | |
<Param name="pos" updates="constant" val="(0, 0)" valType="code"/> | |
<Param name="flip" updates="constant" val="" valType="str"/> | |
<Param name="startEstim" updates="None" val="" valType="code"/> | |
<Param name="units" updates="None" val="from exp settings" valType="str"/> | |
<Param name="startType" updates="None" val="time (s)" valType="str"/> | |
<Param name="ori" updates="constant" val="0" valType="code"/> | |
<Param name="stopType" updates="None" val="duration (s)" valType="str"/> | |
<Param name="startVal" updates="None" val="0.5" valType="code"/> | |
<Param name="font" updates="constant" val="Arial" valType="str"/> | |
<Param name="letterHeight" updates="constant" val="0.1" valType="code"/> | |
</TextComponent> | |
<TextComponent name="recallKey"> | |
<Param name="opacity" updates="constant" val="1" valType="code"/> | |
<Param name="colorSpace" updates="constant" val="rgb" valType="str"/> | |
<Param name="name" updates="None" val="recallKey" valType="code"/> | |
<Param name="wrapWidth" updates="constant" val="" valType="code"/> | |
<Param name="color" updates="constant" val="white" valType="str"/> | |
<Param name="text" updates="constant" val="$recallKeyText" valType="str"/> | |
<Param name="stopVal" updates="constant" val="6.5" valType="code"/> | |
<Param name="durationEstim" updates="None" val="" valType="code"/> | |
<Param name="pos" updates="constant" val="(0, -0.7)" valType="code"/> | |
<Param name="flip" updates="constant" val="" valType="str"/> | |
<Param name="startEstim" updates="None" val="" valType="code"/> | |
<Param name="units" updates="None" val="from exp settings" valType="str"/> | |
<Param name="startType" updates="None" val="time (s)" valType="str"/> | |
<Param name="ori" updates="constant" val="0" valType="code"/> | |
<Param name="stopType" updates="None" val="duration (s)" valType="str"/> | |
<Param name="startVal" updates="None" val="0.5" valType="code"/> | |
<Param name="font" updates="constant" val="Arial" valType="str"/> | |
<Param name="letterHeight" updates="constant" val="0.1" valType="code"/> | |
</TextComponent> | |
<KeyboardComponent name="recallResp"> | |
<Param name="correctAns" updates="constant" val="$recallRespCorrect" valType="str"/> | |
<Param name="storeCorrect" updates="constant" val="True" valType="bool"/> | |
<Param name="name" updates="None" val="recallResp" valType="code"/> | |
<Param name="stopVal" updates="constant" val="6.5" valType="code"/> | |
<Param name="durationEstim" updates="None" val="" valType="code"/> | |
<Param name="forceEndRoutine" updates="constant" val="True" valType="bool"/> | |
<Param name="startEstim" updates="None" val="" valType="code"/> | |
<Param name="discard previous" updates="constant" val="True" valType="bool"/> | |
<Param name="startType" updates="None" val="time (s)" valType="str"/> | |
<Param name="allowedKeys" updates="constant" val="'d','k'" valType="code"/> | |
<Param name="stopType" updates="None" val="duration (s)" valType="str"/> | |
<Param name="startVal" updates="None" val="0.5" valType="code"/> | |
<Param name="store" updates="constant" val="last key" valType="str"/> | |
<Param name="syncScreenRefresh" updates="constant" val="True" valType="bool"/> | |
</KeyboardComponent> | |
<CodeComponent name="code_3"> | |
<Param name="Begin Experiment" updates="constant" val="" valType="extendedCode"/> | |
<Param name="name" updates="None" val="code_3" valType="code"/> | |
<Param name="Begin Routine" updates="constant" val="#handle correct responses for trials&#10;if ASSOCIATE.upper() == "HOUSE":&#10; recallRespCorrect = e&#10;elif ASSOCIATE.upper() == "FACE":&#10; recallRespCorrect = f" valType="extendedCode"/> | |
<Param name="End Routine" updates="constant" val="" valType="extendedCode"/> | |
<Param name="End Experiment" updates="constant" val="" valType="extendedCode"/> | |
<Param name="Each Frame" updates="constant" val="" valType="extendedCode"/> | |
</CodeComponent> | |
</Routine> | |
<Routine name="intro"> | |
<TextComponent name="introText"> | |
<Param name="opacity" updates="constant" val="1" valType="code"/> | |
<Param name="colorSpace" updates="constant" val="rgb" valType="str"/> | |
<Param name="name" updates="None" val="introText" valType="code"/> | |
<Param name="wrapWidth" updates="constant" val="" valType="code"/> | |
<Param name="color" updates="constant" val="white" valType="str"/> | |
<Param name="text" updates="constant" val="YOU WILL NOW VIEW ANOTHER SERIES OF WORDS. THESE ARE THE SAME WORDS YOU WERE ASKED TO REMEMBER DURING THE PREVIOUS SEGMENTS. WHEN YOU SEE THE WORD, YOU WILL AGAIN BE ASKED TO INDICATE WHETHER THIS WORD WAS ASSOCIATED WITH A PICTURE OF A FACE OR A PICTURE OF A HOUSE. AFTER SOME RESPONSES YOU MAY BE ASKED A FOLLOW UP QUESTION ASKING YOU MORE ABOUT THE IMAGE THAT WAS LINKED WITH THAT WORD. IF YOU DO NOT KNOW THE ANSWER, PLEASE MAKE YOUR BEST GUESS. YOU WILL HAVE 6 SECONDS PER QUESTION TO RESPOND, SO PLEASE TAKE YOUR TIME AND BE AS ACCURATE AS POSSIBLE. PLEASE PRESS THE SPACE BAR WHEN YOU ARE READY TO BEGIN." valType="str"/> | |
<Param name="stopVal" updates="constant" val="" valType="code"/> | |
<Param name="durationEstim" updates="None" val="" valType="code"/> | |
<Param name="pos" updates="constant" val="(0, 0)" valType="code"/> | |
<Param name="flip" updates="constant" val="" valType="str"/> | |
<Param name="startEstim" updates="None" val="" valType="code"/> | |
<Param name="units" updates="None" val="from exp settings" valType="str"/> | |
<Param name="startType" updates="None" val="time (s)" valType="str"/> | |
<Param name="ori" updates="constant" val="0" valType="code"/> | |
<Param name="stopType" updates="None" val="duration (s)" valType="str"/> | |
<Param name="startVal" updates="None" val="0.0" valType="code"/> | |
<Param name="font" updates="constant" val="Arial" valType="str"/> | |
<Param name="letterHeight" updates="constant" val="0.07" valType="code"/> | |
</TextComponent> | |
<KeyboardComponent name="endIntro"> | |
<Param name="correctAns" updates="constant" val="" valType="str"/> | |
<Param name="storeCorrect" updates="constant" val="False" valType="bool"/> | |
<Param name="name" updates="None" val="endIntro" valType="code"/> | |
<Param name="stopVal" updates="constant" val="" valType="code"/> | |
<Param name="durationEstim" updates="None" val="" valType="code"/> | |
<Param name="forceEndRoutine" updates="constant" val="True" valType="bool"/> | |
<Param name="startEstim" updates="None" val="" valType="code"/> | |
<Param name="discard previous" updates="constant" val="True" valType="bool"/> | |
<Param name="startType" updates="None" val="time (s)" valType="str"/> | |
<Param name="allowedKeys" updates="constant" val="'space'" valType="code"/> | |
<Param name="stopType" updates="None" val="duration (s)" valType="str"/> | |
<Param name="startVal" updates="None" val="0.0" valType="code"/> | |
<Param name="store" updates="constant" val="last key" valType="str"/> | |
<Param name="syncScreenRefresh" updates="constant" val="True" valType="bool"/> | |
</KeyboardComponent> | |
<CodeComponent name="instantiate"> | |
<Param name="Begin Experiment" updates="constant" val="#a thing for the trial loops&#10;import random&#10;#selectRows = [0,1,2,3,4]&#10;selectRows = random.sample(range(121),40)&#10;&#10;#make choices based on the participant number&#10;#first handle if it's not a number, and make it a num if it is.&#10;pnum = expInfo[u'participant']&#10;&#10;try:&#10; participantNum = int(pnum)&#10; input = "Stim/StimLists/StimListTest"+pnum+".xlsx"&#10;except:&#10; #if it's not a number, make it 1&#10; participantNum = 1&#10; input = "Stim/StimLists/StimListTest.xlsx"&#10;finally:&#10; if participantNum % 2 == 1:&#10; fhOdd = True&#10; e,f = 'd','k'&#10; else:&#10; fhOdd = False&#10; e,f = 'k','d'&#10;&#10;#Get handling for trial responses knocked out&#10;#Display correct key for trials&#10;if fhOdd == True:&#10; recallKeyText = """"D" = BUILDING, "K" = FACE"""&#10;else:&#10; recallKeyText = """"D" = FACE, "K" = BUILDING"""&#10;&#10;#Do the same for probes&#10;#first instantiate questions and keys&#10;houseProbe1 = "IS THIS A RESIDENTIAL OR A COMMERCIAL BUILDING?"&#10;houseProbe2 = "IS THIS A ONE STORY OR A MULTISTORY BUILDING?"&#10;houseProbe3 = "IS THIS A LIGHT COLORED OR DARK COLORED BUILDING?"&#10;faceProbe1 = "IS THIS A MALE FACE OR A FEMALE FACE?"&#10;faceProbe2 = "IS THIS PERSON A YOUNGER PERSON OR AN OLDER PERSON?"&#10;faceProbe3 = "IS THIS PERSON WHITE OR NOT WHITE?"&#10;&#10;#Next instantiate related keys based on even or odd&#10;if fhOdd == True:&#10; houseKey1 = """"D" = RESIDENTIAL, "K" = COMMERCIAL"""&#10; houseKey2 = """"D" = ONE STORY, "K" = MULTISTORY"""&#10; houseKey3 = """"D" = LIGHT, "K" = DARK"""&#10; faceKey1 = """"D" = MALE, "K" = FEMALE"""&#10; faceKey2 = """"D" = YOUNGER, "K" = OLDER"""&#10; faceKey3 = """"D" = WHITE, "K" = NOT WHITE"""&#10;else:&#10; houseKey1 = """"D" = COMMERCIAL, "K" = RESIDENTIAL"""&#10; houseKey2 = """"D" = MULTISTORY, "K" = ONE STORY"""&#10; houseKey3 = """"D" = DARK, "K" = LIGHT"""&#10; faceKey1 = """"D" = FEMALE, "K" = MALE"""&#10; faceKey2 = """"D" = OLDER, "K" = YOUNGER"""&#10; faceKey3 = """"D" = NOT WHITE, "K" = WHITE"""&#10;&#10;&#10;#Now we'll establish pairs.&#10;housePair1 = (houseProbe1, houseKey1)&#10;housePair2 = (houseProbe2, houseKey2)&#10;housePair3 = (houseProbe3, houseKey3)&#10;facePair1 = (faceProbe1, faceKey1)&#10;facePair2 = (faceProbe2, faceKey2)&#10;facePair3 = (faceProbe3, faceKey3)&#10;&#10;#Now we put them in a list so we can access them&#10;houseList = [housePair1, housePair2, housePair3]&#10;faceList = [facePair1, facePair2, facePair3]&#10;&#10;&#10;#We want to be able to choose the correct key press in probe questions&#10;#I dislike how hard-coded this is but it should work&#10;def correctKey(associate, questionnum, correct):&#10; if associate.upper() == "HOUSE":&#10; if questionnum == 0:&#10; if correct.upper() == "RESIDENTIAL":&#10; return e&#10; elif correct.upper() == "COMMERCIAL":&#10; return f&#10; elif questionnum == 1:&#10; if correct.upper() == "ONE STORY":&#10; return e&#10; elif correct.upper() == "MULTISTORY":&#10; return f&#10; elif questionnum == 2:&#10; if correct.upper() == "LIGHT":&#10; return e&#10; elif correct.upper() == "DARK":&#10; return f&#10; elif associate.upper() == "FACE":&#10; if questionnum == 0:&#10; if correct.upper() == "MALE":&#10; return e&#10; elif correct.upper() == "FEMALE":&#10; return f&#10; elif questionnum == 1:&#10; if correct.upper() == "YOUNG":&#10; return e&#10; elif correct.upper() == "OLD":&#10; return f&#10; elif questionnum == 2:&#10; if correct.upper() == "WHITE":&#10; return e&#10; elif correct.upper() == "NON WHITE":&#10; return f" valType="extendedCode"/> | |
<Param name="name" updates="None" val="instantiate" valType="code"/> | |
<Param name="Begin Routine" updates="constant" val="" valType="extendedCode"/> | |
<Param name="End Routine" updates="constant" val="" valType="extendedCode"/> | |
<Param name="End Experiment" updates="constant" val="" valType="extendedCode"/> | |
<Param name="Each Frame" updates="constant" val="" valType="extendedCode"/> | |
</CodeComponent> | |
</Routine> | |
<Routine name="done"> | |
<TextComponent name="doneText"> | |
<Param name="opacity" updates="constant" val="1" valType="code"/> | |
<Param name="colorSpace" updates="constant" val="rgb" valType="str"/> | |
<Param name="name" updates="None" val="doneText" valType="code"/> | |
<Param name="wrapWidth" updates="constant" val="" valType="code"/> | |
<Param name="color" updates="constant" val="white" valType="str"/> | |
<Param name="text" updates="constant" val="THE EXPERIMENT IS NOW COMPLETE. PLEASE RETURN THE COMPUTER TO THE RESEARCHER AND LET HIM OR HER KNOW THAT YOU ARE FINISHED. THANK YOU FOR YOUR PARTICIPATION. PRESS THE SPACE BAR TO EXIT THIS SCREEN. " valType="str"/> | |
<Param name="stopVal" updates="constant" val="" valType="code"/> | |
<Param name="durationEstim" updates="None" val="" valType="code"/> | |
<Param name="pos" updates="constant" val="(0, 0)" valType="code"/> | |
<Param name="flip" updates="constant" val="" valType="str"/> | |
<Param name="startEstim" updates="None" val="" valType="code"/> | |
<Param name="units" updates="None" val="from exp settings" valType="str"/> | |
<Param name="startType" updates="None" val="time (s)" valType="str"/> | |
<Param name="ori" updates="constant" val="0" valType="code"/> | |
<Param name="stopType" updates="None" val="duration (s)" valType="str"/> | |
<Param name="startVal" updates="None" val="0.0" valType="code"/> | |
<Param name="font" updates="constant" val="Arial" valType="str"/> | |
<Param name="letterHeight" updates="constant" val="0.1" valType="code"/> | |
</TextComponent> | |
<KeyboardComponent name="endDone"> | |
<Param name="correctAns" updates="constant" val="" valType="str"/> | |
<Param name="storeCorrect" updates="constant" val="False" valType="bool"/> | |
<Param name="name" updates="None" val="endDone" valType="code"/> | |
<Param name="stopVal" updates="constant" val="" valType="code"/> | |
<Param name="durationEstim" updates="None" val="" valType="code"/> | |
<Param name="forceEndRoutine" updates="constant" val="True" valType="bool"/> | |
<Param name="startEstim" updates="None" val="" valType="code"/> | |
<Param name="discard previous" updates="constant" val="True" valType="bool"/> | |
<Param name="startType" updates="None" val="time (s)" valType="str"/> | |
<Param name="allowedKeys" updates="constant" val="'space'" valType="code"/> | |
<Param name="stopType" updates="None" val="duration (s)" valType="str"/> | |
<Param name="startVal" updates="None" val="0.0" valType="code"/> | |
<Param name="store" updates="constant" val="last key" valType="str"/> | |
<Param name="syncScreenRefresh" updates="constant" val="True" valType="bool"/> | |
</KeyboardComponent> | |
</Routine> | |
<Routine name="correctHouse"> | |
<TextComponent name="askH"> | |
<Param name="opacity" updates="constant" val="1" valType="code"/> | |
<Param name="colorSpace" updates="constant" val="rgb" valType="str"/> | |
<Param name="name" updates="None" val="askH" valType="code"/> | |
<Param name="wrapWidth" updates="constant" val="" valType="code"/> | |
<Param name="color" updates="constant" val="white" valType="str"/> | |
<Param name="text" updates="set every repeat" val="$ask" valType="str"/> | |
<Param name="stopVal" updates="constant" val="6" valType="code"/> | |
<Param name="durationEstim" updates="None" val="" valType="code"/> | |
<Param name="pos" updates="constant" val="(0, 0)" valType="code"/> | |
<Param name="flip" updates="constant" val="" valType="str"/> | |
<Param name="startEstim" updates="None" val="" valType="code"/> | |
<Param name="units" updates="None" val="from exp settings" valType="str"/> | |
<Param name="startType" updates="None" val="time (s)" valType="str"/> | |
<Param name="ori" updates="constant" val="0" valType="code"/> | |
<Param name="stopType" updates="None" val="duration (s)" valType="str"/> | |
<Param name="startVal" updates="None" val="0.0" valType="code"/> | |
<Param name="font" updates="constant" val="Arial" valType="str"/> | |
<Param name="letterHeight" updates="constant" val="0.1" valType="code"/> | |
</TextComponent> | |
<TextComponent name="keyH"> | |
<Param name="opacity" updates="constant" val="1" valType="code"/> | |
<Param name="colorSpace" updates="constant" val="rgb" valType="str"/> | |
<Param name="name" updates="None" val="keyH" valType="code"/> | |
<Param name="wrapWidth" updates="constant" val="" valType="code"/> | |
<Param name="color" updates="constant" val="white" valType="str"/> | |
<Param name="text" updates="set every repeat" val="$key" valType="str"/> | |
<Param name="stopVal" updates="constant" val="6" valType="code"/> | |
<Param name="durationEstim" updates="None" val="" valType="code"/> | |
<Param name="pos" updates="constant" val="(0, -0.7)" valType="code"/> | |
<Param name="flip" updates="constant" val="" valType="str"/> | |
<Param name="startEstim" updates="None" val="" valType="code"/> | |
<Param name="units" updates="None" val="from exp settings" valType="str"/> | |
<Param name="startType" updates="None" val="time (s)" valType="str"/> | |
<Param name="ori" updates="constant" val="0" valType="code"/> | |
<Param name="stopType" updates="None" val="duration (s)" valType="str"/> | |
<Param name="startVal" updates="None" val="0.0" valType="code"/> | |
<Param name="font" updates="constant" val="Arial" valType="str"/> | |
<Param name="letterHeight" updates="constant" val="0.1" valType="code"/> | |
</TextComponent> | |
<KeyboardComponent name="probeRespH"> | |
<Param name="correctAns" updates="constant" val="$probeCorrect" valType="str"/> | |
<Param name="storeCorrect" updates="constant" val="True" valType="bool"/> | |
<Param name="name" updates="None" val="probeRespH" valType="code"/> | |
<Param name="stopVal" updates="constant" val="6" valType="code"/> | |
<Param name="durationEstim" updates="None" val="" valType="code"/> | |
<Param name="forceEndRoutine" updates="constant" val="True" valType="bool"/> | |
<Param name="startEstim" updates="None" val="" valType="code"/> | |
<Param name="discard previous" updates="constant" val="True" valType="bool"/> | |
<Param name="startType" updates="None" val="time (s)" valType="str"/> | |
<Param name="allowedKeys" updates="constant" val="'d','k'" valType="code"/> | |
<Param name="stopType" updates="None" val="duration (s)" valType="str"/> | |
<Param name="startVal" updates="None" val="0.0" valType="code"/> | |
<Param name="store" updates="constant" val="last key" valType="str"/> | |
<Param name="syncScreenRefresh" updates="constant" val="True" valType="bool"/> | |
</KeyboardComponent> | |
<CodeComponent name="code_5"> | |
<Param name="Begin Experiment" updates="constant" val="" valType="extendedCode"/> | |
<Param name="name" updates="None" val="code_5" valType="code"/> | |
<Param name="Begin Routine" updates="constant" val="" valType="extendedCode"/> | |
<Param name="End Routine" updates="constant" val="houseQ.addData('probe',ask)" valType="extendedCode"/> | |
<Param name="End Experiment" updates="constant" val="" valType="extendedCode"/> | |
<Param name="Each Frame" updates="constant" val="" valType="extendedCode"/> | |
</CodeComponent> | |
</Routine> | |
</Routines> | |
<Flow> | |
<Routine name="intro"/> | |
<LoopInitiator loopType="TrialHandler" name="trials"> | |
<Param name="conditionsFile" updates="None" val="$input" valType="str"/> | |
<Param name="name" updates="None" val="trials" valType="code"/> | |
<Param name="isTrials" updates="None" val="True" valType="bool"/> | |
<Param name="random seed" updates="None" val="" valType="code"/> | |
<Param name="loopType" updates="None" val="random" valType="str"/> | |
<Param name="nReps" updates="None" val="1" valType="code"/> | |
<Param name="endPoints" updates="None" val="[0, 1]" valType="num"/> | |
<Param name="conditions" updates="None" val="None" valType="str"/> | |
<Param name="Selected rows" updates="None" val="$selectRows" valType="str"/> | |
</LoopInitiator> | |
<Routine name="trial"/> | |
<Routine name="controlFlow"/> | |
<LoopInitiator loopType="TrialHandler" name="faceQ"> | |
<Param name="conditionsFile" updates="None" val="" valType="str"/> | |
<Param name="name" updates="None" val="faceQ" valType="code"/> | |
<Param name="isTrials" updates="None" val="False" valType="bool"/> | |
<Param name="random seed" updates="None" val="" valType="code"/> | |
<Param name="loopType" updates="None" val="random" valType="str"/> | |
<Param name="nReps" updates="None" val="nRepsFace" valType="code"/> | |
<Param name="endPoints" updates="None" val="[0, 1]" valType="num"/> | |
<Param name="conditions" updates="None" val="None" valType="str"/> | |
<Param name="Selected rows" updates="None" val="" valType="str"/> | |
</LoopInitiator> | |
<Routine name="correctFace"/> | |
<LoopTerminator name="faceQ"/> | |
<LoopInitiator loopType="TrialHandler" name="houseQ"> | |
<Param name="conditionsFile" updates="None" val="" valType="str"/> | |
<Param name="name" updates="None" val="houseQ" valType="code"/> | |
<Param name="isTrials" updates="None" val="False" valType="bool"/> | |
<Param name="random seed" updates="None" val="" valType="code"/> | |
<Param name="loopType" updates="None" val="random" valType="str"/> | |
<Param name="nReps" updates="None" val="nRepsHouse" valType="code"/> | |
<Param name="endPoints" updates="None" val="[0, 1]" valType="num"/> | |
<Param name="conditions" updates="None" val="None" valType="str"/> | |
<Param name="Selected rows" updates="None" val="" valType="str"/> | |
</LoopInitiator> | |
<Routine name="correctHouse"/> | |
<LoopTerminator name="houseQ"/> | |
<LoopTerminator name="trials"/> | |
<Routine name="done"/> | |
</Flow> | |
</PsychoPy2experiment> |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment