From r.l.c.mitchell at reading.ac.uk Wed Jul 2 13:56:49 2003 From: r.l.c.mitchell at reading.ac.uk (Rachel Mitchell) Date: Wed, 2 Jul 2003 14:56:49 +0100 Subject: 2 paradigm questions Message-ID: Hi I'm a new e-prime user (only got it this week) so apologies for lasking what may be stupid questions There are 2 things I need to do, but can't figure out how to achieve them I plan to play sound files in an e-prime experiment At the moment, my stimuli are arranged in subfolders according to type. I have 4 such folders, let's call them type1 through to 4. Each subfolder contains a bank of some 70 exemplars of that type of stimuli In the first block of my expt I want e-prime to randomly present 20 of my auditory stimuli. However, I want to make sure that equal numbers of each of the 4 types of stimuli are selected I have found out how to select 20 examples from a single folder of 70 stimuli, but not how to do what I outline above Now for my 2nd problem. In block 1 subjects have to identify the tone of voice the speaker is using But in block 2 they have to identify the tone of voice the speaker used in the previous sentence And in block 3 they have to identify the tone of voice the speaker used in the stimuli before the previous one. For block 1, in my trial list I would have a column titled correct answer and indicate in that column the correct answer for each of the bank of stimuli But, since the order of stimuli is random in blocks 2 and 3, I don't know what stimuli the computer will have presented previously. So for the purposes of gathering accuracy data, how would could I indicate in the correct answer column of blocks 2 and 3 what the tone of voice of the previous or 2 previous stimuli was? I hope I've outlined my problem clearly enough. N-back tasks are fairly standard fodder, so I'm hoping one of you has had to do this kind of thing before I therefore thank you in anticipation of any help you might be able to give me Regards Rachel ----------------------------------------------------------------------- Dr Rachel L. C. Mitchell Lecturer in Cognitive Psychology, University of Reading Honorary Research Fellow, Institute of Psychiatry Correspondence Address: School of Psychology Whiteknights Road University of Reading Reading Berkshire RG6 6AL Tel: +44 (0)118 378 8523 Direct Dial: +44 (0)118 378 7530 Fax: +44 (0)118 378 6715 ----------------------------------------------------------------------- From tm154 at mail.gatech.edu Wed Jul 2 21:44:10 2003 From: tm154 at mail.gatech.edu (Tracy Lynn Mitzner) Date: Wed, 2 Jul 2003 17:44:10 -0400 Subject: communicating with an external device Message-ID: Hello, This question is related to sending information to an external device. In the past, using Windows ME, I have been sending stimulus onset information to an external device using inline writeport commands such as "writeport &Hecd4, c.getattrib("Session") and writeport &Hecd4, c.getattrib("TrialList.Sample"). I recently upgraded my operating system to XP and I am now getting an error message when i try to run those eprime programs, indicating that eprime cannot find the device driver. I have updated the device driver and I still get the same error. Since XP has such tight control over port access, it appears that I will need to send a command through eprime to access the I/O port. Have any of you had similar problems? And, if so, can you offer me any suggestions to remedy this problem? Thank you in advance for any information you can provide. -Tracy Mitzner -- Tracy L. Mitzner, Ph.D. Post-Doctoral Fellow School of Psychology Georgia Institute of Technology Atlanta, GA 30332-0170 Tel 404-385-2690 http://www.prism.gatech.edu/~wr43/hf_aging/index.html From Daniel.J.Bates at wheaton.edu Wed Jul 9 01:43:08 2003 From: Daniel.J.Bates at wheaton.edu (Daniel.J.Bates at wheaton.edu) Date: Tue, 8 Jul 2003 20:43:08 -0500 Subject: Visual Analog Scale and IFIS... Message-ID: Greetings... I am a research assistant for Dr. Laura Symonds at Michigan State University and just finished programming a visual analog scale (VAS) in E-Prime using E- Basic and API. I have included a copy of the code (and an explanation of it) below. My VAS consists of two seperate images superimposed on each other. Slider-Bar is a horizontal, 10cm rectangle and Slider-Button is a vertical bar that moves along Slider-Bar. I am now in the process of adding the IFIS code to the program. My question is in reference to the relationship between IFIS and button response unit. As you can see from the attached code, I used API to designate three keys as continuous input functions. I have been told by a colleague at MSU that IFIS translates all key-presses on BRU into F# keys. I, therefore, used the F1 and F5 keys (&H70 and &H74) to make the vertical bar move across the horizontal scale and F3 (&H72) to finalize the bar position. However, though my code worked in the IFIS control panel (using a keyboard), I was unable to receive input from the SRBox during this phase of my experiment. Since the computer registered a response from the BRU immediately prior to the VAS, I am confident that the BRU is working appropriately. Since then, I have changed the VAS code to accept continuous input from numbers 1, 3, and 5 (&H31, &H33, and &H35), but I have not had a chance to test it using the BRU. I did this because the IFIS code seems to be using the numbers 1 and 5 when it directs the subject to press 1 (on the BRU) if he/she is ready to start the experiment and 5 if he/she wants to contact the technician. I have two questions. First, what numerical/alphabetical value does IFIS give to data input from SRBoxes? Second, how do I encode that value into my program? Many thanks... Daniel Bates Research Assistant at Michigan State University E-Mail: daniel.j.bates at wheaton.edu CellPhone: 630-220-9376 HomePhone: 517-339-1283 P.S. Unfortunately, I am currently using E-Prime 1.0 Beta 5.0 and IFIS 1.0.9.0. I know that these are older versions of the respective programs, but I have been forbidden to upgrade them until I have the entire department's permission. I hope to have this done within a couple of weeks, but I need this stuff to work by Friday at the latest (preferably by the end of tomorrow). Thanks again. ----------------------------------------------- As you can see, it is split up into two sections. The first section is a Global User Script and directs Microsoft Windows (using API) to accept continuous input from the keyboard. As you can see, it uses F1, F2, and F3. The second section includes an inner-ScriptObject loop. K1, K2, and K3 represent the code that asks the computer if a particular key has been pressed. When that key is pressed, its value <> 0. It then runs the appropriate SlideObject and changes the image on the screen. (All this without straddling the SlideObject with GoTo labels and inline code.) Interestingly, it only does this when the duration of the SlideObject is > 0 ms. It is not necessary to tell the SlideObject to accept data from the keyboard. When F2 (named K2) is pressed, the program records the location of the vertical bar (as a percentage), changes the stimulus that appears on the screen, and moves the vertical bar back to the center of the scale. The 1000 ms Sleep command prevents the subject from skipping over stimuli (if it is not present, the continuous input function thinks that the subject has pressed F2 >1x and records the default location of the vertical bar for each skipped stimulus). Let me know if you have any questions. ------------------------------------------------------------------------ Global User Script: Researched and Developed at Michigan State University by David McFarlane. ------------------------------------------------------------------------ global const VK_F1 = &H70 global const VK_F3 = &H72 global const VK_F5 = &H74 Declare Function GetAsyncKeyState Lib "user32" Alias "GetAsyncKeyState" (ByVal vKey As Long) As Integer ---------------------------------------------------------------------- ----------------------------------------------------------------------- VAS-Loop: Developed at Michigan State University by Laurence Bates and Daniel Bates. ---------------------------------------------------------------------- Dim k1, k2, k3 As Long Dim ScreenWidth As Integer Dim NewButtonPosn As Integer Dim ButtonPosn As Integer Dim RealSliderWidth As Integer Dim slrLeft As Integer Dim slrRight As Integer Dim Tag As String ScreenWidth = 640 slrLeft = 144 slrRight = 492 NewButtonPosn = 319 Do k1 = GetAsyncKeyState(VK_F1) and &H8000 k2 = GetAsyncKeyState(VK_F3) and &H8000 k3 = GetAsyncKeyState(VK_F5) and &H8000 If k1 <> 0 then If ButtonPosn >= slrLeft + 4 Then NewButtonPosn = ButtonPosn - 4 Else NewButtonPosn = slrLeft End If CSlideImage(Slide1.States.Item("Default").Objects(3)).X = NewButtonPosn End if If k3 <> 0 then If ButtonPosn <= slrRight - 4 Then NewButtonPosn = ButtonPosn + 4 Else NewButtonPosn = slrRight End If CSlideImage(Slide1.States.Item("Default").Objects(3)).X = NewButtonPosn End if Slide1.Run ButtonPosn = NewButtonPosn Loop until k2 <> 0 If k2 <> 0 then Tag = Str((ButtonPosn - slrLeft) * 100 / (slrRight - slrLeft)) + " percent" c.SetAttrib "EasMBResponse" , Tag CSlideImage(Slide1.States.Item("Default").Objects(3)).X = 319 End if Sleep 1000 ---------------------------------------------------------------------- From r.l.c.mitchell at reading.ac.uk Wed Jul 9 11:31:28 2003 From: r.l.c.mitchell at reading.ac.uk (Rachel Mitchell) Date: Wed, 9 Jul 2003 12:31:28 +0100 Subject: collecting subject responses Message-ID: Hi Someone told me that in order to collect data on a subject's response to a target stimulus that you have to have a feedback object straight after the target When I told her that I didn't want the subject to actually get any feedback, she said I still needed one, but that I set it to show nothing to the subject But, can't I collect data on how the subject responds from a target stimulus on its own, if I have enabled keyboard input? This is only my 2nd week of eprime, so sorry for this being so basic Thanks in advance Rachel ----------------------------------------------------------------------- Dr Rachel L. C. Mitchell Lecturer in Cognitive Psychology, University of Reading Honorary Research Fellow, Institute of Psychiatry Correspondence Address: School of Psychology Whiteknights Road University of Reading Reading Berkshire RG6 6AL Tel: +44 (0)118 378 8523 Direct Dial: +44 (0)118 378 7530 Fax: +44 (0)118 378 6715 ----------------------------------------------------------------------- From cam47 at psu.edu Wed Jul 9 15:43:40 2003 From: cam47 at psu.edu (Carol Anne Miller) Date: Wed, 9 Jul 2003 11:43:40 -0400 Subject: placing markers in wav files? Message-ID: Hi, I am a novice Eprime user, although I have been lurking on this mailing list for some time. I haven't found an answer to my question in the documentation, website, or the archives of the mailing list, so I hope someone out there can help. I am collecting response times to sound files. In the experiment I am working on, the subjects' task is to listen to a sentence and press one button if it is grammatically correct, and another button if it is incorrect (I'm using the PST Serial Response Box). I have this experiment working all right, but I would like to refine it: I would like to measure the RT from the onset of a crucial word in the sentence, rather than from the onset of the sound file. Is there a way to either a) place a marker in the sound file that will tell Eprime to start measuring RT? or b) tell Eprime to start measuring RT at a certain point , i.e., file onset + xxx ms? The crucial point is different for each sentence. It's not essential to do this, but it would be nice. If anyone can direct me to an appropriate resource, or has a solution to this problem, please let me know. Thank you!! Carol ++++++++++++++++++++++++++++ Carol Miller, Ph.D. Dept. of Communication Sciences & Disorders Penn State University 115-B Moore Building (814) 865-6213 cam47 at psu.edu ++++++++++++++++++++++++++++ From anthony.zuccolotto at pstnet.com Wed Jul 9 15:55:15 2003 From: anthony.zuccolotto at pstnet.com (Tony Zuccolotto) Date: Wed, 9 Jul 2003 11:55:15 -0400 Subject: collecting subject responses Message-ID: Dr. Mitchell, There is no strict need to use a Feedback object unless you want to give the subject some type of feedback upon response (or upon the expiration of the response time limit in the case that no response was made). As long as you have enabled a keyboard input on one of the objects in your trial sequence and you have Data Logging enabled for that object then you should get all your default dependent measures logged in the data file. Nearly all of the E-Prime sample paradigms include Feedback primarily to clearly demonstrate that responses have been collected while the experiment is running so I expect some users may have assumed that a Feedback object must always be required. That is not the case - just use it when you need it. Best Regards, Tony Anthony P. Zuccolotto Vice President Psychology Software Tools, Inc. 2050 Ardmore Boulevard Suite 200 Pittsburgh, PA 15221-4610 Phone 412-271-5040 FAX 412-271-7077 Email anthony.zuccolotto at pstnet.com Internet http://www.pstnet.com -----Original Message----- From: Rachel Mitchell Sent: Wed 7/9/2003 7:31 AM To: Eprime mailing list Cc: Subject: collecting subject responses Hi Someone told me that in order to collect data on a subject's response to a target stimulus that you have to have a feedback object straight after the target When I told her that I didn't want the subject to actually get any feedback, she said I still needed one, but that I set it to show nothing to the subject But, can't I collect data on how the subject responds from a target stimulus on its own, if I have enabled keyboard input? This is only my 2nd week of eprime, so sorry for this being so basic Thanks in advance Rachel ----------------------------------------------------------------------- Dr Rachel L. C. Mitchell Lecturer in Cognitive Psychology, University of Reading Honorary Research Fellow, Institute of Psychiatry Correspondence Address: School of Psychology Whiteknights Road University of Reading Reading Berkshire RG6 6AL Tel: +44 (0)118 378 8523 Direct Dial: +44 (0)118 378 7530 Fax: +44 (0)118 378 6715 ----------------------------------------------------------------------- From erin5 at stanford.edu Wed Jul 9 16:43:03 2003 From: erin5 at stanford.edu (Erin S. Rogers) Date: Wed, 9 Jul 2003 09:43:03 -0700 Subject: echoing responses Message-ID: Hello, I am setting up an experiment where a blank screen is up for 7 minutes. Subjects press a key repeatedly for 7 seconds every 17 seconds for the entire 7 minutes. I want to be able to monitor when a subject is pressing a key during the task. Right now I have a textdisplay object of 7 minutes duration set to collect responses and the responses are echoed to the display device. But only the first 50 or so responses are echoed; one line of the screen is displaying the responses then the rest of the responses are not echoed. Does anyone know what may be causing this? thank you, Erin Laboratory of Clinical Neuroscience Department of Psychiatry and Behavioral Sciences Stanford University School of Medicine Stanford, CA 94305-5550 Office: (650) 493-5000 ext. 67349 Fax: (650) 493-4901 From anthony.zuccolotto at pstnet.com Thu Jul 10 13:16:09 2003 From: anthony.zuccolotto at pstnet.com (Tony Zuccolotto) Date: Thu, 10 Jul 2003 09:16:09 -0400 Subject: placing markers in wav files? Message-ID: Carol, There is no way currently in E-Prime to automatically adjust an RT based on the offset of a word in the file. To do this you would probably have to list the word offsets as an attribute and then insert some script at the end of the trial to adjust the RT, e.g. If Stimulus.RT > c.GetAttrib( "WordOffset") Then Stimulus.RT = Stimulus.RT - c.GetAttrib("WordOffset") Else ' Responded before the word was presented Stimulus.RT = 0 End If Hope that helps. Tony *** DISCLAIMER: ALL VIEWS EXPRESSED ARE MY OWN AND DO NOT NECESSARILY REFLECT THOSE OF PSYCHOLOGY SOFTWARE TOOLS *** Anthony P. Zuccolotto Vice President Psychology Software Tools, Inc. 2050 Ardmore Boulevard Suite 200 Pittsburgh, PA 15221-4610 Phone 412-271-5040 FAX 412-271-7077 Email anthony.zuccolotto at pstnet.com Internet http://www.pstnet.com > -----Original Message----- > From: Carol Anne Miller [mailto:cam47 at psu.edu] > Sent: Wednesday, July 09, 2003 10:44 AM > To: eprime at mail.talkbank.org > Subject: placing markers in wav files? > > Hi, I am a novice Eprime user, although I have been lurking on this > mailing > list for some time. I haven't found an answer to my question in the > documentation, website, or the archives of the mailing list, so I hope > someone out there can help. > > I am collecting response times to sound files. In the experiment I am > working on, the subjects' task is to listen to a sentence and press one > button if it is grammatically correct, and another button if it is > incorrect (I'm using the PST Serial Response Box). I have this experiment > working all right, but I would like to refine it: I would like to measure > the RT from the onset of a crucial word in the sentence, rather than from > the onset of the sound file. Is there a way to either a) place a marker > in > the sound file that will tell Eprime to start measuring RT? or b) tell > Eprime to start measuring RT at a certain point , i.e., file onset + xxx > ms? The crucial point is different for each sentence. > > It's not essential to do this, but it would be nice. > > If anyone can direct me to an appropriate resource, or has a solution to > this problem, please let me know. > Thank you!! > Carol > > > > > ++++++++++++++++++++++++++++ > Carol Miller, Ph.D. > Dept. of Communication Sciences & Disorders > Penn State University > 115-B Moore Building > (814) 865-6213 > cam47 at psu.edu > ++++++++++++++++++++++++++++ > From erin5 at stanford.edu Thu Jul 10 17:19:52 2003 From: erin5 at stanford.edu (Erin S. Rogers) Date: Thu, 10 Jul 2003 10:19:52 -0700 Subject: Overflow Error Message Message-ID: Hi, Has anyone gotten this message before Run-time Error (Line 198) 6: Overflow My program consists of one textdisplay object collecting responses for 7 minutes. Any help would be much appreciated. Thank you Erin Laboratory of Clinical Neuroscience Department of Psychiatry and Behavioral Sciences Stanford University School of Medicine Stanford, CA 94305-5550 Office: (650) 493-5000 ext. 67349 Fax: (650) 493-4901 CONFIDENTIALITY NOTICE: Information contained in this message and any attachments is intended only for the addressee(s). If you believe that you have received this message in error, please notify the sender immediately by return electronic mail, and please delete it without further review, disclosure, or copying. -------------- next part -------------- An HTML attachment was scrubbed... URL: From staab at Waisman.Wisc.Edu Thu Jul 10 18:17:35 2003 From: staab at Waisman.Wisc.Edu (Ben Staab) Date: Thu, 10 Jul 2003 13:17:35 -0500 Subject: Overflow Error Message In-Reply-To: <5.1.1.5.2.20030710101833.02082ec0@erin5.pobox.stanford.edu> Message-ID: Overflows are generally caused by variables going out of range. This could be something like an integer growing beyond thirty-two something thousand or a string growing bigger than 255 characters. Do you have a variable that is holding the milliseconds since the beginning of the experiment? Doing that will overflow an integer variable pretty quickly. If you look at the generated script, what is on line 198? 1. In E-Studio click View -> Script. 2. If that window was already open, you may have to bring it to the forground by clicking Window -> Script. 3. Make sure the "Full" tab is selected at the bottom left of the script window. 4. The number of the line your cursor is currently on is given at the bottom right of the script window. Move your cursor down until you're on line 198. Ben Staab At 10:19 AM 7/10/2003 -0700, Erin S. Rogers wrote: >Hi, > >Has anyone gotten this message before > >Run-time Error (Line 198) >6: Overflow > >My program consists of one textdisplay object collecting responses for 7 >minutes. > >Any help would be much appreciated. > >Thank you >Erin > >Laboratory of Clinical Neuroscience >Department of Psychiatry and Behavioral Sciences >Stanford University School of Medicine >Stanford, CA 94305-5550 >Office: (650) 493-5000 ext. 67349 >Fax: (650) 493-4901 > >CONFIDENTIALITY NOTICE: Information contained in this message and any >attachments is intended only for the addressee(s). If you believe that you >have received this message in error, please notify the sender immediately >by return electronic mail, and please delete it without further review, >disclosure, or copying. From cam47 at psu.edu Thu Jul 10 21:10:32 2003 From: cam47 at psu.edu (Carol Anne Miller) Date: Thu, 10 Jul 2003 17:10:32 -0400 Subject: summary for wav file RTs Message-ID: Thanks to everyone who responded to my question about measuring RT from a point within a wav file. Several practical suggestions were made, and I will give them a try. Below are my question and the responses, for those who are interested. Carol I am collecting response times to sound files. In the experiment I am working on, the subjects' task is to listen to a sentence and press one button if it is grammatically correct, and another button if it is incorrect (I'm using the PST Serial Response Box). I have this experiment working all right, but I would like to refine it: I would like to measure the RT from the onset of a crucial word in the sentence, rather than from the onset of the sound file. Is there a way to either a) place a marker in the sound file that will tell Eprime to start measuring RT? or b) tell Eprime to start measuring RT at a certain point , i.e., file onset + xxx ms? The crucial point is different for each sentence. #1 Is making each word a separate object/event out of the question? Otherwise this seems like to most straight forward attempt. Good Luck Dan #2 Here's a way that would probably work. In a list object, have one attribute that contains the name of the sound file for each trial, and another that contains the offset of the crucial time in milliseconds for that file. Then set your sound object to have duration equal to the crucial time, making sure that the sound object is configured to continue playing the sound after the sound object terminates. Then have a blank screen (i.e. a blank text object) that follows the sound object, with user input enabled. Tom Johnstone, Ph.D. Keck Laboratory for Functional Brain Imaging and Behavior Waisman Center University of Wisconsin-Madison #3 (David Fencsik and Tony Zuccolotto came up with essentially the same solution) I assume you have a list object that specifies which sound file to use on each trial. If this is the case, then you can add a column to the list object that specifies the time from the onset of the sound to the onset of the crucial word. After the response is collected, you could create a script that looks up the time and subtracts it from the RT. Or, to be safe, you could create a new attribute that stores the RT minus the time delay. David *********** There is no way currently in E-Prime to automatically adjust an RT based on the offset of a word in the file. To do this you would probably have to list the word offsets as an attribute and then insert some script at the end of the trial to adjust the RT, e.g. If Stimulus.RT > c.GetAttrib( "WordOffset") Then Stimulus.RT = Stimulus.RT - c.GetAttrib("WordOffset") Else ' Responded before the word was presented Stimulus.RT = 0 End If Hope that helps. Tony *** DISCLAIMER: ALL VIEWS EXPRESSED ARE MY OWN AND DO NOT NECESSARILY REFLECT THOSE OF PSYCHOLOGY SOFTWARE TOOLS *** ++++++++++++++++++++++++++++ Carol Miller, Ph.D. Dept. of Communication Sciences & Disorders Penn State University 115-B Moore Building (814) 865-6213 cam47 at psu.edu ++++++++++++++++++++++++++++ -------------- next part -------------- An HTML attachment was scrubbed... URL: From gte514k at mail.gatech.edu Fri Jul 11 15:16:41 2003 From: gte514k at mail.gatech.edu (gte514k at mail.gatech.edu) Date: Fri, 11 Jul 2003 11:16:41 -0400 Subject: manipulating channels Message-ID: Hi, I'm starting an experiment in which I need to present wav files to different channels. I've looked over things and it seems that this might not be possible in eprime - that is, other than using the brute force method of stipulating the channel within each of the wav files. Given the number of stimuli involved, it would be much more efficient if I could manipulate channels within eprime rather than in each of the wav files. Does anyone know if this is possible (and if so, how to do it)? Thanks, Colleen ================================ Colleen Parks School of Psychology Georgia Tech J.S. Coon Building 654 Cherry St. Atlanta, GA 30332-0170 404.894.7559 gte514k at prism.gatech.edu ================================ From gte514k at mail.gatech.edu Fri Jul 11 18:19:11 2003 From: gte514k at mail.gatech.edu (gte514k at mail.gatech.edu) Date: Fri, 11 Jul 2003 14:19:11 -0400 Subject: manipulating channels Message-ID: From: "IAIN T JOHNSTONE" To: Sent: Friday, July 11, 2003 1:54 PM Subject: Re: manipulating channels E-prime lets you set the volume of each channel in the sound object properties. It should thus be doable with a bit of script, or using an attribute. This would allow you to effectively vary the channels. Tom > ----- Original Message ----- > From: gte514k at mail.gatech.edu > Date: Friday, July 11, 2003 10:16 am > Subject: manipulating channels > > > Hi, > > I'm starting an experiment in which I need to > present wav files to > > different > > channels. I've looked over things and it seems > that this might not > > be possible > > in eprime - that is, other than using the brute > force method of > > stipulating > > the channel within each of the wav files. Given > the number of > > stimuli > > involved, it would be much more efficient if I > could manipulate > > channels within > > eprime rather than in each of the wav files. Does > anyone know if > > this is > > possible (and if so, how to do it)? > > Thanks, > > Colleen > > ================================ > > Colleen Parks > > School of Psychology > > Georgia Tech > > J.S. Coon Building > > 654 Cherry St. > > Atlanta, GA 30332-0170 > > > > 404.894.7559 > > gte514k at prism.gatech.edu > > > > ================================ > > From r.l.c.mitchell at reading.ac.uk Tue Jul 15 11:30:48 2003 From: r.l.c.mitchell at reading.ac.uk (Rachel Mitchell) Date: Tue, 15 Jul 2003 12:30:48 +0100 Subject: Mouse responses Message-ID: Hi Could someone tell me how to enter a right and left click as allowable responses when using a mouse as input device to respond to stimuli? Thanks in advance Rachel Mitchell ----------------------------------------------------------------------- Dr Rachel L. C. Mitchell Lecturer in Cognitive Psychology, University of Reading Honorary Research Fellow, Institute of Psychiatry Correspondence Address: School of Psychology Whiteknights Road University of Reading Reading Berkshire RG6 6AL Tel: +44 (0)118 378 8523 Direct Dial: +44 (0)118 378 7530 Fax: +44 (0)118 378 6715 ----------------------------------------------------------------------- From odenthal at soz.psychologie.uni-konstanz.de Tue Jul 15 12:04:58 2003 From: odenthal at soz.psychologie.uni-konstanz.de (Georg Odenthal) Date: Tue, 15 Jul 2003 14:04:58 +0200 Subject: Mouse responses In-Reply-To: Message-ID: Hello Dr. Mitchell, > Could someone tell me how to enter a right and left click as allowable > responses when using a mouse as input device to respond to stimuli? I've had this problem myself once and I couldn't find any documentation on that in the original E-Prime manuals. Fortunately the mouse responses are not much different from what PST used in MEL2. That is the left mouse button is referred to as 1 and the right mouse button is 2 (the button in the middle, if you're using a three button mouse, is 3 as far as I know (in MEL2 it was 4, but that's a different matter)). So if you want to record left and right mouse button presses just enter 12 in the allowable field in the Response Option field of any image display, text display, slide or text display field. Set the correct field (or the attribute you refer to in the correct field) to either 1 or 2 for the correct left or right mouse button press respectively. If you intend to access the pressed mouse button from an InLine script use the following commands: If (Mouse.Buttons) then If (ebMouseButton1) Then debug.print "Left mouse button was pressed." end if If (ebMouseButton2) Then debug.print "Right mouse button was pressed." end if If (ebMouseButton3) Then debug.print "Middle mouse button was pressed." end if end if I hope this clarifies your question. Best regards, Georg Odenthal ========================================================================= Georg Odenthal (Dipl.-Psych.) University of Konstanz +49 (0)7531 88-2872 Department of Psychology odenthal at soz.psychologie.uni-konstanz.de Social Psychology and Motivation http://www.socpsych.uni-konstanz.de 78457 Konstanz, Germany ========================================================================= From anthony.zuccolotto at pstnet.com Tue Jul 15 13:01:32 2003 From: anthony.zuccolotto at pstnet.com (Tony Zuccolotto) Date: Tue, 15 Jul 2003 09:01:32 -0400 Subject: Mouse responses Message-ID: Dr. Mitchell, Georg's summary is accurate, but there are some minor errors in the script section that was listed. The MouseDevice.Buttons property returns a bitmask of which buttons are currently pressed. You then need to AND this with one of the ebMouseButtonX constants to check each bit. Refer to the MouseDevice.Buttons property in the E-Basic Help for a complete example but here is a short section of script that demonstrates how to test the bits. If (Mouse.Buttons AND ebMouseButton1) Then Display.Canvas.Text 5, 100, "Left Mouse Button: PRESSED" Else Display.Canvas.Text 5, 100, "Left Mouse Button: NOT Pressed" End If If (Mouse.Buttons AND ebMouseButton2) Then Display.Canvas.Text 5, 125, "Right Mouse Button: PRESSED" Else Display.Canvas.Text 5, 125, "Right Mouse Button: NOT Pressed" End If Tony *** DISCLAIMER: ALL VIEWS EXPRESSED ARE MY OWN AND DO NOT NECESSARILY REFLECT THOSE OF PSYCHOLOGY SOFTWARE TOOLS *** Anthony P. Zuccolotto Vice President Psychology Software Tools, Inc. 2050 Ardmore Boulevard Suite 200 Pittsburgh, PA 15221-4610 Phone 412-271-5040 FAX 412-271-7077 Email anthony.zuccolotto at pstnet.com Internet http://www.pstnet.com > -----Original Message----- > From: Georg Odenthal [mailto:odenthal at soz.psychologie.uni-konstanz.de] > Sent: Tuesday, July 15, 2003 7:05 AM > To: Eprime mailing list > Subject: Re: Mouse responses > > Hello Dr. Mitchell, > > > Could someone tell me how to enter a right and left click as allowable > > responses when using a mouse as input device to respond to stimuli? > I've had this problem myself once and I couldn't find any > documentation on that in the original E-Prime manuals. > > Fortunately the mouse responses are not much different from what PST > used in MEL2. That is the left mouse button is referred to as 1 and > the right mouse button is 2 (the button in the middle, if you're > using a three button mouse, is 3 as far as I know (in MEL2 it was 4, > but that's a different matter)). > > So if you want to record left and right mouse button presses just > enter 12 in the allowable field in the Response Option field of any > image display, text display, slide or text display field. Set the > correct field (or the attribute you refer to in the correct field) to > either 1 or 2 for the correct left or right mouse button press > respectively. > > If you intend to access the pressed mouse button from an InLine script > use the following commands: > > If (Mouse.Buttons) then > If (ebMouseButton1) Then > debug.print "Left mouse button was pressed." > end if > If (ebMouseButton2) Then > debug.print "Right mouse button was pressed." > end if > If (ebMouseButton3) Then > debug.print "Middle mouse button was pressed." > end if > end if > > > > I hope this clarifies your question. > > > Best regards, > Georg Odenthal > > > ======================================================================== == > > Georg Odenthal (Dipl.-Psych.) University of Konstanz > +49 (0)7531 88-2872 Department of Psychology > odenthal at soz.psychologie.uni-konstanz.de Social Psychology and Motivation > http://www.socpsych.uni-konstanz.de 78457 Konstanz, Germany > > ======================================================================== == > > From odenthal at soz.psychologie.uni-konstanz.de Tue Jul 15 13:19:09 2003 From: odenthal at soz.psychologie.uni-konstanz.de (Georg Odenthal) Date: Tue, 15 Jul 2003 15:19:09 +0200 Subject: Mouse responses In-Reply-To: <6D8910A1FAF7E347B5C617CDE86FF4CD4373EB@mercury.pstmail> Message-ID: Hello everybody, Tuesday, July 15, 2003, 3:01 PM, Tony Zuccolotto wrote: > Georg's summary is accurate, but there are some minor errors in the > script section that was listed. [...] You're right. I was assuming that Mouse.Buttons and ebMouseButtonX are boolean variable and that the AND was a logical combination of whether both variables are TRUE or not (i.e. IF (Mouse.Buttons = TRUE AND ebMouseButtonX = TRUE) THEN ...). I'm usually writing programs in Java where you can omit the "= TRUE" part from your commands to save some typing time and memory... Best regards, Georg ========================================================================= Georg Odenthal (Dipl.-Psych.) University of Konstanz +49 (0)7531 88-2872 Department of Psychology odenthal at soz.psychologie.uni-konstanz.de Social Psychology and Motivation http://www.socpsych.uni-konstanz.de 78457 Konstanz, Germany ========================================================================= From ttacosa at hotmail.com Fri Jul 18 15:14:51 2003 From: ttacosa at hotmail.com (Taryn Tacosa) Date: Fri, 18 Jul 2003 10:14:51 -0500 Subject: feedback on accuracy Message-ID: Hello, I am having trouble finding a way to present accuracy feedback on a sequence of observations. Specifically, a subject is shown a sequence of letters, one at a time, and responds YES or NO to each letter (typical n-back task). I would like a screen to give the subject feedback on their accuracy at the end of each sequence, but am having trouble with this. So far, I can only get accuracy for the last display screen ONLY to appear, rather than accuracy across all 16 observations (letters). Any help would be greatly appreciated! Taryn Tacosa >RA >UNC-CH > _________________________________________________________________ Help STOP SPAM with the new MSN 8 and get 2 months FREE* http://join.msn.com/?page=features/junkmail From staab at Waisman.Wisc.Edu Mon Jul 21 15:57:44 2003 From: staab at Waisman.Wisc.Edu (Ben Staab) Date: Mon, 21 Jul 2003 10:57:44 -0500 Subject: feedback on accuracy In-Reply-To: Message-ID: If you just need to give a mean of their accuracy, you should be able to use @ACC.MEAN on your feedback display object. If you need more than just a mean, take a look at FeedbackDisplay.ACCStats in the E-Basic Help. It returns a Summation object that provides different statistical functions like standard deviations and such. Otherwise, if you are trying to show a chart of some sort with the accuracy for each letter in the sequence individually, that could be a little trickier. It seems from some of the things that I've tried doing in my own scripts, that E-Prime writes the individual trial results to the log file and then throws them out. So you may have to keep track of them yourself by doing something like this: 1. In the user tab of the main script window, declare an integer array with 16 slots, and a counter: Dim MyArray(1-16) as Integer Dim TrialsCounter as Integer TrialsCounter = 1 2. Put an inline script right after each letter is displayed that will insert the accuracy into the array: MyArray(TrialsCounter) = TheNameOfYourTextDisplayObject.ACC TrialsCounter = TrialsCounter+1 3. When all the trials have been completed (so make sure this is outside your trialsproc, whatever you may have called it) add one last text display object (pick your own name, but I'm calling it SumText) with an inline script after it. The script will look something like this: ' Declare some position and a counter variables Dim x, y, i as integer x = 20 y = 20 i = 1 ' print a simple header SumText.Text x, y, "Accuracy Summary:" 'Start looping thru the results. 'This displays results in two columns For i = 1 to 16 if(i = 9) then ' if we've already displayed 8 items, x = x + 50 ' move right to a second column, y = 40 ' and move back to the top. else ' Otherwise, y = y + 20 ' move the y position down end if 'instead of showing 0 or 1, use english if(MyArray(i)=0)then SumText.Text x, y, "Trial " & i & ": Incorrect" else SumText.Text x, y, "Trial " & i & ": Correct" Next i I think that should do it. Lastly, a few caveats: I haven't tried this myself; this is all off the top of my head. So it's entirely possible I've got syntax and/or logic errors in there. Also, those x and y positions are just guesses on my part, change them as you see fit. I hope that helps and that I didn't completely miss the point of your question. Ben Staab staab at waisman.wisc.edu At 10:14 AM 7/18/2003 -0500, Taryn Tacosa wrote: >Hello, > >I am having trouble finding a way to present accuracy feedback on a >sequence of observations. Specifically, a subject is shown a sequence of >letters, one at a time, and responds YES or NO to each letter (typical >n-back task). I would like a screen to give the subject feedback on their >accuracy at the >end of each sequence, but am having trouble with this. So far, I can only >get accuracy for the last display screen ONLY to appear, rather than >accuracy across all 16 observations (letters). > >Any help would be greatly appreciated! > >Taryn Tacosa > >>RA >>UNC-CH > >_________________________________________________________________ >Help STOP SPAM with the new MSN 8 and get 2 months FREE* >http://join.msn.com/?page=features/junkmail > From anthony.zuccolotto at pstnet.com Mon Jul 21 16:15:15 2003 From: anthony.zuccolotto at pstnet.com (Tony Zuccolotto) Date: Mon, 21 Jul 2003 12:15:15 -0400 Subject: feedback on accuracy Message-ID: Taryn, Can you provide some more detail on what you want this accuracy feedback to look like in your specific case? It would also be helpful to have an idea of how you intend to analyze these results (i.e. to verify that you have everything critical logged in a manner which makes it easy to use other tools in or out of E-Prime to perform your analysis). As you have described your setup, I would expect that each dependent measure is being logged as different variables within a single trial (which may or may not be what you want). As per the feedback, it sounds like you will have to do something out of the ordinary, but it's definitely do-able with a little script. An depending on what you need you may get by with just setting few attributes and then using the feedback object to display the information. If you describe the type of feedback you want under whatever scenarios you can think of and someone on the list will likely be able to respond with more a more specific approach. Regards, Tony *** DISCLAIMER: ALL VIEWS EXPRESSED ARE MY OWN AND DO NOT NECESSARILY REFLECT THOSE OF PSYCHOLOGY SOFTWARE TOOLS *** Anthony P. Zuccolotto Vice President Psychology Software Tools, Inc. 2050 Ardmore Boulevard Suite 200 Pittsburgh, PA 15221-4610 Phone 412-271-5040 FAX 412-271-7077 Email anthony.zuccolotto at pstnet.com Internet http://www.pstnet.com > -----Original Message----- > From: Ben Staab [mailto:staab at Waisman.Wisc.Edu] > Sent: Monday, July 21, 2003 10:58 AM > To: Taryn Tacosa; eprime at mail.talkbank.org > Subject: Re: feedback on accuracy > > If you just need to give a mean of their accuracy, you should be able to > use @ACC.MEAN on your feedback display object. If you need more than just > a mean, take a look at FeedbackDisplay.ACCStats in the E-Basic Help. It > returns a Summation object that provides different statistical functions > like standard deviations and such. Otherwise, if you are trying to show a > chart of some sort with the accuracy for each letter in the sequence > individually, that could be a little trickier. It seems from some of the > things that I've tried doing in my own scripts, that E-Prime writes the > individual trial results to the log file and then throws them out. So you > may have to keep track of them yourself by doing something like this: > > 1. In the user tab of the main script window, declare an integer array > with > 16 slots, and a counter: > Dim MyArray(1-16) as Integer > Dim TrialsCounter as Integer > TrialsCounter = 1 > > 2. Put an inline script right after each letter is displayed that will > insert the accuracy into the array: > MyArray(TrialsCounter) = TheNameOfYourTextDisplayObject.ACC > TrialsCounter = TrialsCounter+1 > > 3. When all the trials have been completed (so make sure this is outside > your trialsproc, whatever you may have called it) add one last text > display > object (pick your own name, but I'm calling it SumText) with an inline > script after it. The script will look something like this: > ' Declare some position and a counter variables > Dim x, y, i as integer > x = 20 > y = 20 > i = 1 > > ' print a simple header > SumText.Text x, y, "Accuracy Summary:" > > 'Start looping thru the results. > 'This displays results in two columns > For i = 1 to 16 > if(i = 9) then ' if we've already displayed 8 > items, > x = x + 50 ' move right to a second column, > y = 40 ' and move back to the top. > else ' Otherwise, > y = y + 20 ' move the y position down > end if > > 'instead of showing 0 or 1, use english > if(MyArray(i)=0)then > SumText.Text x, y, "Trial " & i & ": Incorrect" > else > SumText.Text x, y, "Trial " & i & ": Correct" > Next i > > I think that should do it. Lastly, a few caveats: I haven't tried this > myself; this is all off the top of my head. So it's entirely possible > I've > got syntax and/or logic errors in there. Also, those x and y positions > are > just guesses on my part, change them as you see fit. > > I hope that helps and that I didn't completely miss the point of your > question. > > Ben Staab > staab at waisman.wisc.edu > > At 10:14 AM 7/18/2003 -0500, Taryn Tacosa wrote: > >Hello, > > > >I am having trouble finding a way to present accuracy feedback on a > >sequence of observations. Specifically, a subject is shown a sequence of > >letters, one at a time, and responds YES or NO to each letter (typical > >n-back task). I would like a screen to give the subject feedback on their > >accuracy at the > >end of each sequence, but am having trouble with this. So far, I can only > >get accuracy for the last display screen ONLY to appear, rather than > >accuracy across all 16 observations (letters). > > > >Any help would be greatly appreciated! > > > >Taryn Tacosa > > > >>RA > >>UNC-CH > > > >_________________________________________________________________ > >Help STOP SPAM with the new MSN 8 and get 2 months FREE* > >http://join.msn.com/?page=features/junkmail > > > From ttacosa at hotmail.com Mon Jul 21 17:04:28 2003 From: ttacosa at hotmail.com (Taryn Tacosa) Date: Mon, 21 Jul 2003 12:04:28 -0500 Subject: feedback on accuracy Message-ID: Thank you for the response. I will try to be more specific this time. What I would like this feedback screen to look like is actually very simple. Feedback is being presented for the subject's benefit only and will not be the focus of the analysis, though we are logging all response values (standard logging values are checked). Specifically, a subject sees a series of 16 letters one at a time and is required to make (1) response to each letter. This response is either correct (ACC=1) or incorrect (ACC=0). After the series ends, I want the subject to see: "You got ##% correct". So, if the subject answered correctly to 14 out of the 16 letters, he would see "You got 87.5% correct!". I have seen that the feedback object has "@ACC.MEAN" as one of its options, however, when I run the program using this (and citing the correct Input Object), the screen still gives accuracy for just the last response given (0% or 100%), rather than across all 16 responses. Is there something additional I'm required to do to enable this option to look at accuracy for all 16 responses? I am thinking it may be easiest to not use the feedback display and to just use a counter to record accuracies and then write a simple formula for the % on a TextDisplay screen. Any thoughts on this would also be appreciated. Thanks in advance for all input! Taryn >From: "Tony Zuccolotto" >To: >Subject: RE: feedback on accuracy >Date: Mon, 21 Jul 2003 12:15:15 -0400 > >Taryn, > >Can you provide some more detail on what you want this accuracy feedback >to look like in your specific case? It would also be helpful to have >an idea of how you intend to analyze these results (i.e. to verify that >you have everything critical logged in a manner which makes it easy to >use other tools in or out of E-Prime to perform your analysis). > >As you have described your setup, I would expect that each dependent >measure is being logged as different variables within a single trial >(which may or may not be what you want). > >As per the feedback, it sounds like you will have to do something out of >the ordinary, but it's definitely do-able with a little script. An >depending on what you need you may get by with just setting few >attributes and then using the feedback object to display the >information. If you describe the type of feedback you want under >whatever scenarios you can think of and someone on the list will likely >be able to respond with more a more specific approach. > >Regards, >Tony > >*** DISCLAIMER: ALL VIEWS EXPRESSED ARE MY OWN AND DO NOT NECESSARILY >REFLECT THOSE OF PSYCHOLOGY SOFTWARE TOOLS *** >Anthony P. Zuccolotto >Vice President >Psychology Software Tools, Inc. >2050 Ardmore Boulevard >Suite 200 >Pittsburgh, PA 15221-4610 >Phone 412-271-5040 >FAX 412-271-7077 >Email anthony.zuccolotto at pstnet.com >Internet http://www.pstnet.com > > > -----Original Message----- > > From: Ben Staab [mailto:staab at Waisman.Wisc.Edu] > > Sent: Monday, July 21, 2003 10:58 AM > > To: Taryn Tacosa; eprime at mail.talkbank.org > > Subject: Re: feedback on accuracy > > > > If you just need to give a mean of their accuracy, you should be able >to > > use @ACC.MEAN on your feedback display object. If you need more than >just > > a mean, take a look at FeedbackDisplay.ACCStats in the E-Basic Help. >It > > returns a Summation object that provides different statistical >functions > > like standard deviations and such. Otherwise, if you are trying to >show a > > chart of some sort with the accuracy for each letter in the sequence > > individually, that could be a little trickier. It seems from some of >the > > things that I've tried doing in my own scripts, that E-Prime writes >the > > individual trial results to the log file and then throws them out. So >you > > may have to keep track of them yourself by doing something like this: > > > > 1. In the user tab of the main script window, declare an integer array > > with > > 16 slots, and a counter: > > Dim MyArray(1-16) as Integer > > Dim TrialsCounter as Integer > > TrialsCounter = 1 > > > > 2. Put an inline script right after each letter is displayed that will > > insert the accuracy into the array: > > MyArray(TrialsCounter) = TheNameOfYourTextDisplayObject.ACC > > TrialsCounter = TrialsCounter+1 > > > > 3. When all the trials have been completed (so make sure this is >outside > > your trialsproc, whatever you may have called it) add one last text > > display > > object (pick your own name, but I'm calling it SumText) with an inline > > script after it. The script will look something like this: > > ' Declare some position and a counter variables > > Dim x, y, i as integer > > x = 20 > > y = 20 > > i = 1 > > > > ' print a simple header > > SumText.Text x, y, "Accuracy Summary:" > > > > 'Start looping thru the results. > > 'This displays results in two columns > > For i = 1 to 16 > > if(i = 9) then ' if we've already displayed >8 > > items, > > x = x + 50 ' move right to a second >column, > > y = 40 ' and move back to the top. > > else ' Otherwise, > > y = y + 20 ' move the y position down > > end if > > > > 'instead of showing 0 or 1, use english > > if(MyArray(i)=0)then > > SumText.Text x, y, "Trial " & i & ": >Incorrect" > > else > > SumText.Text x, y, "Trial " & i & ": Correct" > > Next i > > > > I think that should do it. Lastly, a few caveats: I haven't tried >this > > myself; this is all off the top of my head. So it's entirely possible > > I've > > got syntax and/or logic errors in there. Also, those x and y >positions > > are > > just guesses on my part, change them as you see fit. > > > > I hope that helps and that I didn't completely miss the point of your > > question. > > > > Ben Staab > > staab at waisman.wisc.edu > > > > At 10:14 AM 7/18/2003 -0500, Taryn Tacosa wrote: > > >Hello, > > > > > >I am having trouble finding a way to present accuracy feedback on a > > >sequence of observations. Specifically, a subject is shown a sequence >of > > >letters, one at a time, and responds YES or NO to each letter >(typical > > >n-back task). I would like a screen to give the subject feedback on >their > > >accuracy at the > > >end of each sequence, but am having trouble with this. So far, I can >only > > >get accuracy for the last display screen ONLY to appear, rather than > > >accuracy across all 16 observations (letters). > > > > > >Any help would be greatly appreciated! > > > > > >Taryn Tacosa > > > > > >>RA > > >>UNC-CH > > > > > >_________________________________________________________________ > > >Help STOP SPAM with the new MSN 8 and get 2 months FREE* > > >http://join.msn.com/?page=features/junkmail > > > > > > > _________________________________________________________________ MSN 8 helps eliminate e-mail viruses. Get 2 months FREE*. http://join.msn.com/?page=features/virus From susanc at andrew.cmu.edu Mon Jul 21 17:24:42 2003 From: susanc at andrew.cmu.edu (Susan Campbell) Date: Mon, 21 Jul 2003 13:24:42 -0400 Subject: feedback on accuracy In-Reply-To: Message-ID: I'm going to make a guess, here, that may or may not be correct -- if it's incorrect, this won't be useful. It sounds like the procedure you're describing has 16 text/slide objects. If this is the case, you have to specify which object the Feedback display is getting its information from, and it's probably the last one. This would explain why you're getting only the accuracy from the last item. If you're using this structure, it would probably be easier for you to use script to gather the information into a summation object, which you could then query for the mean, etc. The upside would be that you'd only need one inline, provided you're logging data from all of the text objects. If you're using a procedure to display the 16 items, then the problem probably has to do with it overwriting whatever you're trying to measure, and again a summation object with addition at the end of each run of the procedure would be helpful. Hope this helps, Susan On Mon, 21 Jul 2003, Taryn Tacosa wrote: > Thank you for the response. I will try to be more specific this time. > > What I would like this feedback screen to look like is actually very simple. > Feedback is being presented for the subject's benefit only and will not be > the focus of the analysis, though we are logging all response values > (standard logging values are checked). Specifically, a subject sees a series > of 16 letters one at a time and is required to make (1) response to each > letter. This response is either correct (ACC=1) or incorrect (ACC=0). After > the series ends, I want the subject to see: "You got ##% correct". So, if > the subject answered correctly to 14 out of the 16 letters, he would see > "You got 87.5% correct!". > > I have seen that the feedback object has "@ACC.MEAN" as one of its options, > however, when I run the program using this (and citing the correct Input > Object), the screen still gives accuracy for just the last response given > (0% or 100%), rather than across all 16 responses. Is there something > additional I'm required to do to enable this option to look at accuracy for > all 16 responses? > > I am thinking it may be easiest to not use the feedback display and to just > use a counter to record accuracies and then write a simple formula for the % > on a TextDisplay screen. Any thoughts on this would also be appreciated. > > Thanks in advance for all input! > > Taryn > From Nolan at NKI.RFMH.ORG Wed Jul 23 13:29:49 2003 From: Nolan at NKI.RFMH.ORG (Nolan, Karen) Date: Wed, 23 Jul 2003 09:29:49 -0400 Subject: feedback on accuracy Message-ID: Taryn - I would only use the Feedback object if you want to give trial by trial feedback. To display block by block feedback, I set up a summation object (TC) and a counter (Trials) prior to the block. Inline 1 Set TC=New Summation Trials = 0 As part of the trial procedure, immediately after the stimulus display ("Stim"), a second inline keeps track of number of trials and total correct: Inline 2 If Stim.ACC =1then TC.AddObservation c.GetAttrib("Stim.ACC") End if Trials = Trials+1 Immediately after the List (block)I use a third inline to set the text ("Message") to be displayed in a text display object Inline 3 acc = CInt((Tc.Total/Trials)*100) c.SetAttrib "Message", "You scored " & acc & "% correct" I hope this is helpful Karen Nolan -----Original Message----- From: Taryn Tacosa [mailto:ttacosa at hotmail.com] Sent: Monday, July 21, 2003 1:04 PM To: eprime at mail.talkbank.org Subject: RE: feedback on accuracy Thank you for the response. I will try to be more specific this time. What I would like this feedback screen to look like is actually very simple. Feedback is being presented for the subject's benefit only and will not be the focus of the analysis, though we are logging all response values (standard logging values are checked). Specifically, a subject sees a series of 16 letters one at a time and is required to make (1) response to each letter. This response is either correct (ACC=1) or incorrect (ACC=0). After the series ends, I want the subject to see: "You got ##% correct". So, if the subject answered correctly to 14 out of the 16 letters, he would see "You got 87.5% correct!". I have seen that the feedback object has "@ACC.MEAN" as one of its options, however, when I run the program using this (and citing the correct Input Object), the screen still gives accuracy for just the last response given (0% or 100%), rather than across all 16 responses. Is there something additional I'm required to do to enable this option to look at accuracy for all 16 responses? I am thinking it may be easiest to not use the feedback display and to just use a counter to record accuracies and then write a simple formula for the % on a TextDisplay screen. Any thoughts on this would also be appreciated. Thanks in advance for all input! Taryn >From: "Tony Zuccolotto" >To: >Subject: RE: feedback on accuracy >Date: Mon, 21 Jul 2003 12:15:15 -0400 > >Taryn, > >Can you provide some more detail on what you want this accuracy feedback >to look like in your specific case? It would also be helpful to have >an idea of how you intend to analyze these results (i.e. to verify that >you have everything critical logged in a manner which makes it easy to >use other tools in or out of E-Prime to perform your analysis). > >As you have described your setup, I would expect that each dependent >measure is being logged as different variables within a single trial >(which may or may not be what you want). > >As per the feedback, it sounds like you will have to do something out of >the ordinary, but it's definitely do-able with a little script. An >depending on what you need you may get by with just setting few >attributes and then using the feedback object to display the >information. If you describe the type of feedback you want under >whatever scenarios you can think of and someone on the list will likely >be able to respond with more a more specific approach. > >Regards, >Tony > >*** DISCLAIMER: ALL VIEWS EXPRESSED ARE MY OWN AND DO NOT NECESSARILY >REFLECT THOSE OF PSYCHOLOGY SOFTWARE TOOLS *** >Anthony P. Zuccolotto >Vice President >Psychology Software Tools, Inc. >2050 Ardmore Boulevard >Suite 200 >Pittsburgh, PA 15221-4610 >Phone 412-271-5040 >FAX 412-271-7077 >Email anthony.zuccolotto at pstnet.com >Internet http://www.pstnet.com > > > -----Original Message----- > > From: Ben Staab [mailto:staab at Waisman.Wisc.Edu] > > Sent: Monday, July 21, 2003 10:58 AM > > To: Taryn Tacosa; eprime at mail.talkbank.org > > Subject: Re: feedback on accuracy > > > > If you just need to give a mean of their accuracy, you should be able >to > > use @ACC.MEAN on your feedback display object. If you need more than >just > > a mean, take a look at FeedbackDisplay.ACCStats in the E-Basic Help. >It > > returns a Summation object that provides different statistical >functions > > like standard deviations and such. Otherwise, if you are trying to >show a > > chart of some sort with the accuracy for each letter in the sequence > > individually, that could be a little trickier. It seems from some of >the > > things that I've tried doing in my own scripts, that E-Prime writes >the > > individual trial results to the log file and then throws them out. So >you > > may have to keep track of them yourself by doing something like this: > > > > 1. In the user tab of the main script window, declare an integer array > > with > > 16 slots, and a counter: > > Dim MyArray(1-16) as Integer > > Dim TrialsCounter as Integer > > TrialsCounter = 1 > > > > 2. Put an inline script right after each letter is displayed that will > > insert the accuracy into the array: > > MyArray(TrialsCounter) = TheNameOfYourTextDisplayObject.ACC > > TrialsCounter = TrialsCounter+1 > > > > 3. When all the trials have been completed (so make sure this is >outside > > your trialsproc, whatever you may have called it) add one last text > > display > > object (pick your own name, but I'm calling it SumText) with an inline > > script after it. The script will look something like this: > > ' Declare some position and a counter variables > > Dim x, y, i as integer > > x = 20 > > y = 20 > > i = 1 > > > > ' print a simple header > > SumText.Text x, y, "Accuracy Summary:" > > > > 'Start looping thru the results. > > 'This displays results in two columns > > For i = 1 to 16 > > if(i = 9) then ' if we've already displayed >8 > > items, > > x = x + 50 ' move right to a second >column, > > y = 40 ' and move back to the top. > > else ' Otherwise, > > y = y + 20 ' move the y position down > > end if > > > > 'instead of showing 0 or 1, use english > > if(MyArray(i)=0)then > > SumText.Text x, y, "Trial " & i & ": >Incorrect" > > else > > SumText.Text x, y, "Trial " & i & ": Correct" > > Next i > > > > I think that should do it. Lastly, a few caveats: I haven't tried >this > > myself; this is all off the top of my head. So it's entirely possible > > I've > > got syntax and/or logic errors in there. Also, those x and y >positions > > are > > just guesses on my part, change them as you see fit. > > > > I hope that helps and that I didn't completely miss the point of your > > question. > > > > Ben Staab > > staab at waisman.wisc.edu > > > > At 10:14 AM 7/18/2003 -0500, Taryn Tacosa wrote: > > >Hello, > > > > > >I am having trouble finding a way to present accuracy feedback on a > > >sequence of observations. Specifically, a subject is shown a sequence >of > > >letters, one at a time, and responds YES or NO to each letter >(typical > > >n-back task). I would like a screen to give the subject feedback on >their > > >accuracy at the > > >end of each sequence, but am having trouble with this. So far, I can >only > > >get accuracy for the last display screen ONLY to appear, rather than > > >accuracy across all 16 observations (letters). > > > > > >Any help would be greatly appreciated! > > > > > >Taryn Tacosa > > > > > >>RA > > >>UNC-CH > > > > > >_________________________________________________________________ > > >Help STOP SPAM with the new MSN 8 and get 2 months FREE* > > >http://join.msn.com/?page=features/junkmail > > > > > > > _________________________________________________________________ MSN 8 helps eliminate e-mail viruses. Get 2 months FREE*. http://join.msn.com/?page=features/virus -------------- next part -------------- An HTML attachment was scrubbed... URL: From r.l.c.mitchell at reading.ac.uk Wed Jul 23 14:07:23 2003 From: r.l.c.mitchell at reading.ac.uk (Rachel Mitchell) Date: Wed, 23 Jul 2003 15:07:23 +0100 Subject: Timing issues Message-ID: Hi everyone Although my queries below relate to my wish to use Eprimne for some fMRI studies, I think the non-imagers amonst you can probably help me too Basically, in our scanning set up, we have a trigger system connected to the scanner which tells your PC via a modified mouse when the scanner has started collecting data, so your stimulation program starts at exactly the same time So, I set Eprime to begin on receiving a left mouse click (albeit a pretend one from the scanner) 1) Now as I understand it the scanner will send a pulse signal to the modified mouse everytime it collects 1 brain volume. What I am concerned about is that when a subject presses a response button on the subject response unit (made by Lumitouch) won't Eprime get confused between these 2 signals or will it recognise the response unit as a completely separate input unit from the scanner trigger/mouse 2) In some studies, I would want Eprime to start displaying a new stimulus every time it gets a trigger signal from the scanner. How do I achieve this? I don't want to register the pretend mouse click as a subject response, I want to use the pretend mouse click to begin the presentation of each stimulus 3) I was reading the chapter in the user guide on timing issues. It talks about designing a callibration experiment to enable you to calculate a scaling factor to adjust Eprime in cases where timing is absolutely critical. I'm quite unclear on this, espec what sort of expt to devise 4) It also talks about sending a signal from Eprime to external monitoring equipment to timestamp a synchronisation signal, but in an fMRI situation I can send a signal from the scanner to Eprime, but am not sure I can send a signal from Eprime to the scanner? I hope someone can point me in the right direction, so I'll thank you in advance for any help you can give Regards rachel ----------------------------------------------------------------------- Dr Rachel L. C. Mitchell Lecturer in Cognitive Psychology, University of Reading Honorary Research Fellow, Institute of Psychiatry Correspondence Address: School of Psychology Whiteknights Road University of Reading Reading Berkshire RG6 6AL Tel: +44 (0)118 378 8523 Direct Dial: +44 (0)118 378 7530 Fax: +44 (0)118 378 6715 ----------------------------------------------------------------------- From asa8 at leicester.ac.uk Thu Jul 24 13:19:51 2003 From: asa8 at leicester.ac.uk (Andrews, A.S.) Date: Thu, 24 Jul 2003 14:19:51 +0100 Subject: Voice recognition and timing Message-ID: Dear all, I need to play a series of words and have subjects repeat them. I need to record the accuracy and timing of each repeated word. I often do this sort of thing one word at a time using a voice key (its easy to note manually if correct or not). As this will be a sequence of words I think I need to go with voice recognition (there will be huge amounts of data, too much to post-process). I need to know what the responses are and the timing of them. Can anyone recommend any s/w for this, and/or a way of doing it through e-prime? I understand ViaVoice can time-stamp but I need much better than 1 second accuracy. Best Regards, Tony Andrews Senior Computer Officer School of Psychology Astley Clarke Building University of Leicester University Road Leicester LE1 7RH Tel: 0116 223 1709 Fax: 0116 252 2067 email: asa8 at le.ac.uk From Drtweets19 at cs.com Fri Jul 25 15:31:29 2003 From: Drtweets19 at cs.com (Drtweets19 at cs.com) Date: Fri, 25 Jul 2003 11:31:29 EDT Subject: feedback help Message-ID: Hi, We are new to this list serve and would like help regarding placing experiment 1.3 of Mel Lab to e-prime software. We are especially having difficulty in assigning percentages (i.e. 70% correct for demonstration). Specifically, a subject sees a series of noise (V) with a signal (U) and is required to indicate whether he sees a U or not by pressing 1 if a U is present and 2 if a U is not present. We need a 70% correct assessment in the demonstration mode for the subject to continue with the experiment. i.e. "You got 70% correct!" Please respond with any suggestions that you may have in order to accomplish this task. Thank you very much. Natalie and Tatyana -------------- next part -------------- An HTML attachment was scrubbed... URL: From klee at projects.sdsu.edu Wed Jul 30 16:49:58 2003 From: klee at projects.sdsu.edu (Kara Lee) Date: Wed, 30 Jul 2003 09:49:58 -0700 Subject: No subject Message-ID: Hi, I have a question about stopping trials that are re-run from being overwritten. I would like to re-run trials that are anticipatory (response time is less than 200 ms) but do not want that trial data to be overwritten. So I'd like to log the data for both the anticipatory trial and the trial the will be re-run after it. If anyone has a suggestion as to how to do this, it would be greatly appreciated. Thanks, Kara. -- Kara Lee Graduate Research Assistant Center for Behavioral Teratology San Diego State University 6363 Alvarado Ct., Suite 209 San Diego, CA 92120 (619) 594-3928 From BRobinso at mprc.umaryland.edu Wed Jul 30 17:22:38 2003 From: BRobinso at mprc.umaryland.edu (Ben Robinson) Date: Wed, 30 Jul 2003 13:22:38 -0400 Subject: No subject Message-ID: you might try adding an additional List object at the end of your program. keep a running tally using in line scripts each time you get an anticipatory response, then populate the list at the end of your program with as many repeat trials as you need. so you'd have an in line script like this after each stimulus to which the subject must respond: Dim anticipatoryResponse As Integer If TextDisplay.RT <= 200 Then anticipatoryResponse = anticipatoryResponse + 1 End If and then after all your trials have initially been run, you add the necessary number of repeat trials to the last list (let's call it RepeatList): RepeatList.SetWeight "1", "anticipatoryResponse" something like that ought to work. i think. ben robinson >>> Kara Lee 07/30/03 12:49PM >>> Hi, I have a question about stopping trials that are re-run from being overwritten. I would like to re-run trials that are anticipatory (response time is less than 200 ms) but do not want that trial data to be overwritten. So I'd like to log the data for both the anticipatory trial and the trial the will be re-run after it. If anyone has a suggestion as to how to do this, it would be greatly appreciated. Thanks, Kara. -- Kara Lee Graduate Research Assistant Center for Behavioral Teratology San Diego State University 6363 Alvarado Ct., Suite 209 San Diego, CA 92120 (619) 594-3928 -------------- next part -------------- An HTML attachment was scrubbed... URL: From amy.eschman at pstnet.com Wed Jul 30 19:03:06 2003 From: amy.eschman at pstnet.com (Amy Eschman) Date: Wed, 30 Jul 2003 15:03:06 -0400 Subject: No subject Message-ID: There is actually an example at the E-Prime support site that shows how to rerun error trials by populating a List object with the info from incorrect trials. http://www.pstnet.com/e-prime/support/samples.asp?Mode=View &SampleID=15 With this approach, all error trials are rerun after the regular trials have been run. If you wanted to rerun error trials as they occurred, you would need to get into some script which calls c.Log to write a line to the data file with the info from the incorrect trial, then jumps back within the same trial (to the beginning of the trial level Procedure) to run the same level (i.e., the one currently selected from the List object). Something like the following: If c.GetAttrib("Stim.ACC") = 0 Then c.Log GoTo Label1 End If ....where Stim is the name of the object collecting the input, and Label1 occurs at the beginning of the trial level Procedure. Hope this helps. To test this out, you might want to put the script above into an InLine at the end of the TrialProc in BasicRT, and add Label1 to the beginning of the TrialProc. Amy Eschman *** DISCLAIMER: ALL VIEWS EXPRESSED ARE MY OWN AND DO NOT NECESSARILY REFLECT THOSE OF PSYCHOLOGY SOFTWARE TOOLS *** -----Original Message----- From: Ben Robinson [mailto:BRobinso at mprc.umaryland.edu] Sent: Wednesday, July 30, 2003 1:23 PM To: eprime at mail.talkbank.org; klee at projects.sdsu.edu Subject: Re: you might try adding an additional List object at the end of your program. keep a running tally using in line scripts each time you get an anticipatory response, then populate the list at the end of your program with as many repeat trials as you need. so you'd have an in line script like this after each stimulus to which the subject must respond: Dim anticipatoryResponse As Integer If TextDisplay.RT <= 200 Then anticipatoryResponse = anticipatoryResponse + 1 End If and then after all your trials have initially been run, you add the necessary number of repeat trials to the last list (let's call it RepeatList): RepeatList.SetWeight "1", "anticipatoryResponse" something like that ought to work. i think. ben robinson >>> Kara Lee 07/30/03 12:49PM >>> Hi, I have a question about stopping trials that are re-run from being overwritten. I would like to re-run trials that are anticipatory (response time is less than 200 ms) but do not want that trial data to be overwritten. So I'd like to log the data for both the anticipatory trial and the trial the will be re-run after it. If anyone has a suggestion as to how to do this, it would be greatly appreciated. Thanks, Kara. -- Kara Lee Graduate Research Assistant Center for Behavioral Teratology San Diego State University 6363 Alvarado Ct., Suite 209 San Diego, CA 92120 (619) 594-3928 -------------- next part -------------- An HTML attachment was scrubbed... URL: From Daniel.J.Bates at wheaton.edu Wed Jul 30 19:25:32 2003 From: Daniel.J.Bates at wheaton.edu (Daniel.J.Bates at wheaton.edu) Date: Wed, 30 Jul 2003 14:25:32 -0500 Subject: Visual Analog Scales, IFIS, and Button Response Units Message-ID: Hello Everyone... Over the last three months, I have posted several sections of code outlining how to create a visual analog scale in E-Prime. Unfortunately, none of those portions of code run with IFIS or Button Response Units. For whatever reason, BRUs are not directly connected to the computer. Input is first sent to a small box located inside the MRI room. This box sends a discrete value (rather than a continuous stream) to the computer saying that a button has been pressed. Unfortunately, this decreases the flexibility of the Visual Analog Scale (explained later). I, therefore, have changed the code so that E-Prime users can use visual analog scales inside MRI machines. I hope someone finds this information helpful. Good luck... Daniel -------------------------------------------------- Visual Analog Scale Construction -------------------------------------------------- 1) Composed of 5 E-Prime objects in the following order a) InlineCode1: Defines two variables b) Label1 c) Slide1 d) Wait1 e) InlineCode2: Responsible for the movement of the vertical bar. 2) Object Parameters a) InlineCode1: Cannot change parameter b) Label1: Cannot change parameters c) Slide1 i) 3 Text Boxes ii) 2 images superimposed on each other (a horizontal rectangle and a vertical bar). These images were created in Microsoft Paint and are named SlideBar1 and SliderButton2 respectively. iii) SlideDuration = 80 ms iv) InputDevices = Keyboard v) AllowableInput = 12345 vi) Timelimit = [Same as duration) d) Wait1 i) WaitDuration = -1 (infinite) ii) InputDevices = Keyboard iii) AllowableInput = 12345 iv) Timelimit = [Same as duration] v) Logging: RESP: Records actual response of subject 3) Inline Code Explained a) InlineCode1 i) Code: Dim ButtonPosn As Integer Dim NewButtonPosn As Integer ButtonPosn = 139 NewButtonPosn = ButtonPosn ii) Defines initial values of ButtonPosn and NewButtonPosn. iii) Placing this code before Label1 allows the default values of ButtonPosn and NewButtonPosn to change b) InlineCode2 i) Code: Dim FinalSelection As Integer Dim ScreenWidth As Integer Dim slrLeft As Integer Dim slrRight As Integer Dim KeyAscii As Integer Dim KeyAscii2 As Integer Dim Tag As String Dim StopLoop As Integer ScreenWidth = 640 slrLeft = 139 slrRight = 493 FinalSelection = 0 KeyAscii = Wait1.Resp Select Case KeyAscii Case 1 StopLoop = 0 Do StopLoop = StopLoop + 1 If (Slide1.RESP = Empty) OR (StopLoop = 1) THEN StopLoop = StopLoop + 1 If ButtonPosn >= slrLeft + 2 Then NewButtonPosn = ButtonPosn - 2 Else NewButtonPosn = slrLeft End If CSlideImage(Slide1.States.Item("Default").Objects(1)).X = NewButtonPosn ButtonPosn = NewButtonPosn Slide1.InputMasks.Reset Slide1.InputMasks.Add Keyboard.CreateInputMask("12345", "", Val (Slide1.Duration), Val("1"), ebEndResponseActionTerminate, True, "", "", "") Slide1.Run Else StopLoop = 501 End If Loop until StopLoop > 500 Case 3 FinalSelection = 1 Tag = Str((NewButtonPosn - slrLeft) / (slrRight - slrLeft) * 100) c.SetAttrib "PainResponse" , Tag CSlideImage(Slide1.States.Item("Default").Objects(1)).X = 139 Slide1.Run Case 5 Do StopLoop = StopLoop + 1 If (Slide1.RESP = Empty) OR (StopLoop = 1) THEN StopLoop = StopLoop + 1 If ButtonPosn >= slrLeft + 2 Then NewButtonPosn = ButtonPosn - 2 Else NewButtonPosn = slrLeft End If CSlideImage(Slide1.States.Item("Default").Objects(1)).X = NewButtonPosn ButtonPosn = NewButtonPosn Slide1.InputMasks.Reset Slide1.InputMasks.Add Keyboard.CreateInputMask("12345", "", Val (Slide1.Duration), Val("1"), ebEndResponseActionTerminate, True, "", "", "") Slide1.Run Else StopLoop = 501 End If Loop until StopLoop > 500 End Select If FinalSelection = 0 Then Goto Label1 End If --------------------------------------------------- Visual Analog Scale Code Explained --------------------------------------------------- The VAS code is composed of three cases (i.e. key-presses) and several loops. The subject enters the first loop as soon as he/she sees visualizes the slide (Case Select...End Select...Go to Label 1 if...). Since the duration of Wait1 is infinite, E-Prime waits indefinitely for some kind of input from the subject. This input is collected by the wait object (KeyAscii = Wait1.RESP). Acceptable input = 1, 3, and/or 5. If the subject enters either 1 or 5, then he/she enters the second loop (Do...Loop Until). This loop changes the numerical value of ButtonPosn and NewButtonPosn by +/- 2 pixels and changes the position of SliderButton2 on the screen. Note that the values of ButtonPosn and NewButtonPosn are constrained by the values of slrLeft and slrRight. This is to prevent the vertical bar from straying outside of the scale’s limits. Also, note that the position of SliderButton2 does not change until Slide1 is run (Slide1.Run). Since the second loop is looking for input from the Slide1 and since Slide1 only has a duration of 80 ms, the computer moves the position of SliderButton2 approximately 10 times per second. Unfortunately, this low refresh rate makes the bar flash a little while it is moving and it is not possible to fix the problem without severely hampering the efficacy of the VAS (explained in point v). There are two ways out if the second loop. The normal way out is to press a key on the keyboard. This changes the value of Slide1.RESP to something other than empty and, therefore, prevents the subject from entering the second loop again. The second way is just a safety net; to prevent the computer from entering a never-ending loop, the computer counts the number of times it has gone through the loop (StopLoop = StopLoop + 1) and exits when it reaches a number > 300 (Loop until StopLoop > 300). Once the subject has exited the first case, the computer exits the Select Case End Select function, realizes that FinalSelection still equals 0, and then returns to Label1. The entire process then repeats itself. The only way to exit the first loop (and finalize the position of SliderButton2) is to press #3. This instructs the computer to do several things. First, it changes the value of FinalSelection from 0 to 1. Second, it computes the position SliderButton2 on the scale as a percentage (Tag =). Third, it records that value in an. edat file (c.SetAttrib “NameOfColomn”, Tag). Fourth, it resets the numerical values of ButtonPosn and NewButtonPosn. Fifth, it moves the position of SliderButton2 so that it equals the numerical values of ButtonPosn and NewButtonPosn (Slide1.Run). The computer then moves to the next part in the paradigm. This code has one major flaw. The computer can only collect input from the WaitObject or the SlideObject during the object's duration. Since it takes a small amount of time for the computer to perform the rest of the code, it is possible for the subject to press a key without the code entering or exiting a loop. Increasing the SlideObject’s duration decreases the probability of this happening. In my opinion, the optimal length of the duration is 80 ms, but that time length can be increased. If the duration is increased, however, it will take longer for the program to move the image 2 pixels. The motion will, therefore, look somewhat jerky. Even though the computer will catch more key- presses, the efficacy of the Visual Analog Scale will be decreased. Unfortunately, since this flaw is caused by a hardware rather than a software problem, it is not easily patched. It is rumored that IFIS is working on new box that fixes this problem, but, as of July 2003, it had not been completed. --------------------------------------------------------- Explanation of particular lines of code: Destroying the Black Box --------------------------------------------------------- 1) Slide1.InputMasks: this section of code tells the computer to look for input from Slide2. I do not know what all of the values mean; this code was cut-and- pasted from another portion of the E-Prime code. 2) CSlideImage(Slide1.States.Item("Default").Objects(#)): another, more complicated, name for SliderButton2. 3) CSlideImage(Slide1.States.Item("Default").Objects(#)).X : the pixel position of SliderButton2. 4) Slide1.InputMasks.Reset: Empties the value of Slide1.Resp. 5) Slide1.InputMasks.Add Keyboard.CreateInputMasks : This is a really strange way of telling the computer to collect the input from Slide1. In this particular case, the numbers 1, 2, 3, 4, and 5 are acceptable kinds of input. From r.l.c.mitchell at reading.ac.uk Wed Jul 2 13:56:49 2003 From: r.l.c.mitchell at reading.ac.uk (Rachel Mitchell) Date: Wed, 2 Jul 2003 14:56:49 +0100 Subject: 2 paradigm questions Message-ID: Hi I'm a new e-prime user (only got it this week) so apologies for lasking what may be stupid questions There are 2 things I need to do, but can't figure out how to achieve them I plan to play sound files in an e-prime experiment At the moment, my stimuli are arranged in subfolders according to type. I have 4 such folders, let's call them type1 through to 4. Each subfolder contains a bank of some 70 exemplars of that type of stimuli In the first block of my expt I want e-prime to randomly present 20 of my auditory stimuli. However, I want to make sure that equal numbers of each of the 4 types of stimuli are selected I have found out how to select 20 examples from a single folder of 70 stimuli, but not how to do what I outline above Now for my 2nd problem. In block 1 subjects have to identify the tone of voice the speaker is using But in block 2 they have to identify the tone of voice the speaker used in the previous sentence And in block 3 they have to identify the tone of voice the speaker used in the stimuli before the previous one. For block 1, in my trial list I would have a column titled correct answer and indicate in that column the correct answer for each of the bank of stimuli But, since the order of stimuli is random in blocks 2 and 3, I don't know what stimuli the computer will have presented previously. So for the purposes of gathering accuracy data, how would could I indicate in the correct answer column of blocks 2 and 3 what the tone of voice of the previous or 2 previous stimuli was? I hope I've outlined my problem clearly enough. N-back tasks are fairly standard fodder, so I'm hoping one of you has had to do this kind of thing before I therefore thank you in anticipation of any help you might be able to give me Regards Rachel ----------------------------------------------------------------------- Dr Rachel L. C. Mitchell Lecturer in Cognitive Psychology, University of Reading Honorary Research Fellow, Institute of Psychiatry Correspondence Address: School of Psychology Whiteknights Road University of Reading Reading Berkshire RG6 6AL Tel: +44 (0)118 378 8523 Direct Dial: +44 (0)118 378 7530 Fax: +44 (0)118 378 6715 ----------------------------------------------------------------------- From tm154 at mail.gatech.edu Wed Jul 2 21:44:10 2003 From: tm154 at mail.gatech.edu (Tracy Lynn Mitzner) Date: Wed, 2 Jul 2003 17:44:10 -0400 Subject: communicating with an external device Message-ID: Hello, This question is related to sending information to an external device. In the past, using Windows ME, I have been sending stimulus onset information to an external device using inline writeport commands such as "writeport &Hecd4, c.getattrib("Session") and writeport &Hecd4, c.getattrib("TrialList.Sample"). I recently upgraded my operating system to XP and I am now getting an error message when i try to run those eprime programs, indicating that eprime cannot find the device driver. I have updated the device driver and I still get the same error. Since XP has such tight control over port access, it appears that I will need to send a command through eprime to access the I/O port. Have any of you had similar problems? And, if so, can you offer me any suggestions to remedy this problem? Thank you in advance for any information you can provide. -Tracy Mitzner -- Tracy L. Mitzner, Ph.D. Post-Doctoral Fellow School of Psychology Georgia Institute of Technology Atlanta, GA 30332-0170 Tel 404-385-2690 http://www.prism.gatech.edu/~wr43/hf_aging/index.html From Daniel.J.Bates at wheaton.edu Wed Jul 9 01:43:08 2003 From: Daniel.J.Bates at wheaton.edu (Daniel.J.Bates at wheaton.edu) Date: Tue, 8 Jul 2003 20:43:08 -0500 Subject: Visual Analog Scale and IFIS... Message-ID: Greetings... I am a research assistant for Dr. Laura Symonds at Michigan State University and just finished programming a visual analog scale (VAS) in E-Prime using E- Basic and API. I have included a copy of the code (and an explanation of it) below. My VAS consists of two seperate images superimposed on each other. Slider-Bar is a horizontal, 10cm rectangle and Slider-Button is a vertical bar that moves along Slider-Bar. I am now in the process of adding the IFIS code to the program. My question is in reference to the relationship between IFIS and button response unit. As you can see from the attached code, I used API to designate three keys as continuous input functions. I have been told by a colleague at MSU that IFIS translates all key-presses on BRU into F# keys. I, therefore, used the F1 and F5 keys (&H70 and &H74) to make the vertical bar move across the horizontal scale and F3 (&H72) to finalize the bar position. However, though my code worked in the IFIS control panel (using a keyboard), I was unable to receive input from the SRBox during this phase of my experiment. Since the computer registered a response from the BRU immediately prior to the VAS, I am confident that the BRU is working appropriately. Since then, I have changed the VAS code to accept continuous input from numbers 1, 3, and 5 (&H31, &H33, and &H35), but I have not had a chance to test it using the BRU. I did this because the IFIS code seems to be using the numbers 1 and 5 when it directs the subject to press 1 (on the BRU) if he/she is ready to start the experiment and 5 if he/she wants to contact the technician. I have two questions. First, what numerical/alphabetical value does IFIS give to data input from SRBoxes? Second, how do I encode that value into my program? Many thanks... Daniel Bates Research Assistant at Michigan State University E-Mail: daniel.j.bates at wheaton.edu CellPhone: 630-220-9376 HomePhone: 517-339-1283 P.S. Unfortunately, I am currently using E-Prime 1.0 Beta 5.0 and IFIS 1.0.9.0. I know that these are older versions of the respective programs, but I have been forbidden to upgrade them until I have the entire department's permission. I hope to have this done within a couple of weeks, but I need this stuff to work by Friday at the latest (preferably by the end of tomorrow). Thanks again. ----------------------------------------------- As you can see, it is split up into two sections. The first section is a Global User Script and directs Microsoft Windows (using API) to accept continuous input from the keyboard. As you can see, it uses F1, F2, and F3. The second section includes an inner-ScriptObject loop. K1, K2, and K3 represent the code that asks the computer if a particular key has been pressed. When that key is pressed, its value <> 0. It then runs the appropriate SlideObject and changes the image on the screen. (All this without straddling the SlideObject with GoTo labels and inline code.) Interestingly, it only does this when the duration of the SlideObject is > 0 ms. It is not necessary to tell the SlideObject to accept data from the keyboard. When F2 (named K2) is pressed, the program records the location of the vertical bar (as a percentage), changes the stimulus that appears on the screen, and moves the vertical bar back to the center of the scale. The 1000 ms Sleep command prevents the subject from skipping over stimuli (if it is not present, the continuous input function thinks that the subject has pressed F2 >1x and records the default location of the vertical bar for each skipped stimulus). Let me know if you have any questions. ------------------------------------------------------------------------ Global User Script: Researched and Developed at Michigan State University by David McFarlane. ------------------------------------------------------------------------ global const VK_F1 = &H70 global const VK_F3 = &H72 global const VK_F5 = &H74 Declare Function GetAsyncKeyState Lib "user32" Alias "GetAsyncKeyState" (ByVal vKey As Long) As Integer ---------------------------------------------------------------------- ----------------------------------------------------------------------- VAS-Loop: Developed at Michigan State University by Laurence Bates and Daniel Bates. ---------------------------------------------------------------------- Dim k1, k2, k3 As Long Dim ScreenWidth As Integer Dim NewButtonPosn As Integer Dim ButtonPosn As Integer Dim RealSliderWidth As Integer Dim slrLeft As Integer Dim slrRight As Integer Dim Tag As String ScreenWidth = 640 slrLeft = 144 slrRight = 492 NewButtonPosn = 319 Do k1 = GetAsyncKeyState(VK_F1) and &H8000 k2 = GetAsyncKeyState(VK_F3) and &H8000 k3 = GetAsyncKeyState(VK_F5) and &H8000 If k1 <> 0 then If ButtonPosn >= slrLeft + 4 Then NewButtonPosn = ButtonPosn - 4 Else NewButtonPosn = slrLeft End If CSlideImage(Slide1.States.Item("Default").Objects(3)).X = NewButtonPosn End if If k3 <> 0 then If ButtonPosn <= slrRight - 4 Then NewButtonPosn = ButtonPosn + 4 Else NewButtonPosn = slrRight End If CSlideImage(Slide1.States.Item("Default").Objects(3)).X = NewButtonPosn End if Slide1.Run ButtonPosn = NewButtonPosn Loop until k2 <> 0 If k2 <> 0 then Tag = Str((ButtonPosn - slrLeft) * 100 / (slrRight - slrLeft)) + " percent" c.SetAttrib "EasMBResponse" , Tag CSlideImage(Slide1.States.Item("Default").Objects(3)).X = 319 End if Sleep 1000 ---------------------------------------------------------------------- From r.l.c.mitchell at reading.ac.uk Wed Jul 9 11:31:28 2003 From: r.l.c.mitchell at reading.ac.uk (Rachel Mitchell) Date: Wed, 9 Jul 2003 12:31:28 +0100 Subject: collecting subject responses Message-ID: Hi Someone told me that in order to collect data on a subject's response to a target stimulus that you have to have a feedback object straight after the target When I told her that I didn't want the subject to actually get any feedback, she said I still needed one, but that I set it to show nothing to the subject But, can't I collect data on how the subject responds from a target stimulus on its own, if I have enabled keyboard input? This is only my 2nd week of eprime, so sorry for this being so basic Thanks in advance Rachel ----------------------------------------------------------------------- Dr Rachel L. C. Mitchell Lecturer in Cognitive Psychology, University of Reading Honorary Research Fellow, Institute of Psychiatry Correspondence Address: School of Psychology Whiteknights Road University of Reading Reading Berkshire RG6 6AL Tel: +44 (0)118 378 8523 Direct Dial: +44 (0)118 378 7530 Fax: +44 (0)118 378 6715 ----------------------------------------------------------------------- From cam47 at psu.edu Wed Jul 9 15:43:40 2003 From: cam47 at psu.edu (Carol Anne Miller) Date: Wed, 9 Jul 2003 11:43:40 -0400 Subject: placing markers in wav files? Message-ID: Hi, I am a novice Eprime user, although I have been lurking on this mailing list for some time. I haven't found an answer to my question in the documentation, website, or the archives of the mailing list, so I hope someone out there can help. I am collecting response times to sound files. In the experiment I am working on, the subjects' task is to listen to a sentence and press one button if it is grammatically correct, and another button if it is incorrect (I'm using the PST Serial Response Box). I have this experiment working all right, but I would like to refine it: I would like to measure the RT from the onset of a crucial word in the sentence, rather than from the onset of the sound file. Is there a way to either a) place a marker in the sound file that will tell Eprime to start measuring RT? or b) tell Eprime to start measuring RT at a certain point , i.e., file onset + xxx ms? The crucial point is different for each sentence. It's not essential to do this, but it would be nice. If anyone can direct me to an appropriate resource, or has a solution to this problem, please let me know. Thank you!! Carol ++++++++++++++++++++++++++++ Carol Miller, Ph.D. Dept. of Communication Sciences & Disorders Penn State University 115-B Moore Building (814) 865-6213 cam47 at psu.edu ++++++++++++++++++++++++++++ From anthony.zuccolotto at pstnet.com Wed Jul 9 15:55:15 2003 From: anthony.zuccolotto at pstnet.com (Tony Zuccolotto) Date: Wed, 9 Jul 2003 11:55:15 -0400 Subject: collecting subject responses Message-ID: Dr. Mitchell, There is no strict need to use a Feedback object unless you want to give the subject some type of feedback upon response (or upon the expiration of the response time limit in the case that no response was made). As long as you have enabled a keyboard input on one of the objects in your trial sequence and you have Data Logging enabled for that object then you should get all your default dependent measures logged in the data file. Nearly all of the E-Prime sample paradigms include Feedback primarily to clearly demonstrate that responses have been collected while the experiment is running so I expect some users may have assumed that a Feedback object must always be required. That is not the case - just use it when you need it. Best Regards, Tony Anthony P. Zuccolotto Vice President Psychology Software Tools, Inc. 2050 Ardmore Boulevard Suite 200 Pittsburgh, PA 15221-4610 Phone 412-271-5040 FAX 412-271-7077 Email anthony.zuccolotto at pstnet.com Internet http://www.pstnet.com -----Original Message----- From: Rachel Mitchell Sent: Wed 7/9/2003 7:31 AM To: Eprime mailing list Cc: Subject: collecting subject responses Hi Someone told me that in order to collect data on a subject's response to a target stimulus that you have to have a feedback object straight after the target When I told her that I didn't want the subject to actually get any feedback, she said I still needed one, but that I set it to show nothing to the subject But, can't I collect data on how the subject responds from a target stimulus on its own, if I have enabled keyboard input? This is only my 2nd week of eprime, so sorry for this being so basic Thanks in advance Rachel ----------------------------------------------------------------------- Dr Rachel L. C. Mitchell Lecturer in Cognitive Psychology, University of Reading Honorary Research Fellow, Institute of Psychiatry Correspondence Address: School of Psychology Whiteknights Road University of Reading Reading Berkshire RG6 6AL Tel: +44 (0)118 378 8523 Direct Dial: +44 (0)118 378 7530 Fax: +44 (0)118 378 6715 ----------------------------------------------------------------------- From erin5 at stanford.edu Wed Jul 9 16:43:03 2003 From: erin5 at stanford.edu (Erin S. Rogers) Date: Wed, 9 Jul 2003 09:43:03 -0700 Subject: echoing responses Message-ID: Hello, I am setting up an experiment where a blank screen is up for 7 minutes. Subjects press a key repeatedly for 7 seconds every 17 seconds for the entire 7 minutes. I want to be able to monitor when a subject is pressing a key during the task. Right now I have a textdisplay object of 7 minutes duration set to collect responses and the responses are echoed to the display device. But only the first 50 or so responses are echoed; one line of the screen is displaying the responses then the rest of the responses are not echoed. Does anyone know what may be causing this? thank you, Erin Laboratory of Clinical Neuroscience Department of Psychiatry and Behavioral Sciences Stanford University School of Medicine Stanford, CA 94305-5550 Office: (650) 493-5000 ext. 67349 Fax: (650) 493-4901 From anthony.zuccolotto at pstnet.com Thu Jul 10 13:16:09 2003 From: anthony.zuccolotto at pstnet.com (Tony Zuccolotto) Date: Thu, 10 Jul 2003 09:16:09 -0400 Subject: placing markers in wav files? Message-ID: Carol, There is no way currently in E-Prime to automatically adjust an RT based on the offset of a word in the file. To do this you would probably have to list the word offsets as an attribute and then insert some script at the end of the trial to adjust the RT, e.g. If Stimulus.RT > c.GetAttrib( "WordOffset") Then Stimulus.RT = Stimulus.RT - c.GetAttrib("WordOffset") Else ' Responded before the word was presented Stimulus.RT = 0 End If Hope that helps. Tony *** DISCLAIMER: ALL VIEWS EXPRESSED ARE MY OWN AND DO NOT NECESSARILY REFLECT THOSE OF PSYCHOLOGY SOFTWARE TOOLS *** Anthony P. Zuccolotto Vice President Psychology Software Tools, Inc. 2050 Ardmore Boulevard Suite 200 Pittsburgh, PA 15221-4610 Phone 412-271-5040 FAX 412-271-7077 Email anthony.zuccolotto at pstnet.com Internet http://www.pstnet.com > -----Original Message----- > From: Carol Anne Miller [mailto:cam47 at psu.edu] > Sent: Wednesday, July 09, 2003 10:44 AM > To: eprime at mail.talkbank.org > Subject: placing markers in wav files? > > Hi, I am a novice Eprime user, although I have been lurking on this > mailing > list for some time. I haven't found an answer to my question in the > documentation, website, or the archives of the mailing list, so I hope > someone out there can help. > > I am collecting response times to sound files. In the experiment I am > working on, the subjects' task is to listen to a sentence and press one > button if it is grammatically correct, and another button if it is > incorrect (I'm using the PST Serial Response Box). I have this experiment > working all right, but I would like to refine it: I would like to measure > the RT from the onset of a crucial word in the sentence, rather than from > the onset of the sound file. Is there a way to either a) place a marker > in > the sound file that will tell Eprime to start measuring RT? or b) tell > Eprime to start measuring RT at a certain point , i.e., file onset + xxx > ms? The crucial point is different for each sentence. > > It's not essential to do this, but it would be nice. > > If anyone can direct me to an appropriate resource, or has a solution to > this problem, please let me know. > Thank you!! > Carol > > > > > ++++++++++++++++++++++++++++ > Carol Miller, Ph.D. > Dept. of Communication Sciences & Disorders > Penn State University > 115-B Moore Building > (814) 865-6213 > cam47 at psu.edu > ++++++++++++++++++++++++++++ > From erin5 at stanford.edu Thu Jul 10 17:19:52 2003 From: erin5 at stanford.edu (Erin S. Rogers) Date: Thu, 10 Jul 2003 10:19:52 -0700 Subject: Overflow Error Message Message-ID: Hi, Has anyone gotten this message before Run-time Error (Line 198) 6: Overflow My program consists of one textdisplay object collecting responses for 7 minutes. Any help would be much appreciated. Thank you Erin Laboratory of Clinical Neuroscience Department of Psychiatry and Behavioral Sciences Stanford University School of Medicine Stanford, CA 94305-5550 Office: (650) 493-5000 ext. 67349 Fax: (650) 493-4901 CONFIDENTIALITY NOTICE: Information contained in this message and any attachments is intended only for the addressee(s). If you believe that you have received this message in error, please notify the sender immediately by return electronic mail, and please delete it without further review, disclosure, or copying. -------------- next part -------------- An HTML attachment was scrubbed... URL: From staab at Waisman.Wisc.Edu Thu Jul 10 18:17:35 2003 From: staab at Waisman.Wisc.Edu (Ben Staab) Date: Thu, 10 Jul 2003 13:17:35 -0500 Subject: Overflow Error Message In-Reply-To: <5.1.1.5.2.20030710101833.02082ec0@erin5.pobox.stanford.edu> Message-ID: Overflows are generally caused by variables going out of range. This could be something like an integer growing beyond thirty-two something thousand or a string growing bigger than 255 characters. Do you have a variable that is holding the milliseconds since the beginning of the experiment? Doing that will overflow an integer variable pretty quickly. If you look at the generated script, what is on line 198? 1. In E-Studio click View -> Script. 2. If that window was already open, you may have to bring it to the forground by clicking Window -> Script. 3. Make sure the "Full" tab is selected at the bottom left of the script window. 4. The number of the line your cursor is currently on is given at the bottom right of the script window. Move your cursor down until you're on line 198. Ben Staab At 10:19 AM 7/10/2003 -0700, Erin S. Rogers wrote: >Hi, > >Has anyone gotten this message before > >Run-time Error (Line 198) >6: Overflow > >My program consists of one textdisplay object collecting responses for 7 >minutes. > >Any help would be much appreciated. > >Thank you >Erin > >Laboratory of Clinical Neuroscience >Department of Psychiatry and Behavioral Sciences >Stanford University School of Medicine >Stanford, CA 94305-5550 >Office: (650) 493-5000 ext. 67349 >Fax: (650) 493-4901 > >CONFIDENTIALITY NOTICE: Information contained in this message and any >attachments is intended only for the addressee(s). If you believe that you >have received this message in error, please notify the sender immediately >by return electronic mail, and please delete it without further review, >disclosure, or copying. From cam47 at psu.edu Thu Jul 10 21:10:32 2003 From: cam47 at psu.edu (Carol Anne Miller) Date: Thu, 10 Jul 2003 17:10:32 -0400 Subject: summary for wav file RTs Message-ID: Thanks to everyone who responded to my question about measuring RT from a point within a wav file. Several practical suggestions were made, and I will give them a try. Below are my question and the responses, for those who are interested. Carol I am collecting response times to sound files. In the experiment I am working on, the subjects' task is to listen to a sentence and press one button if it is grammatically correct, and another button if it is incorrect (I'm using the PST Serial Response Box). I have this experiment working all right, but I would like to refine it: I would like to measure the RT from the onset of a crucial word in the sentence, rather than from the onset of the sound file. Is there a way to either a) place a marker in the sound file that will tell Eprime to start measuring RT? or b) tell Eprime to start measuring RT at a certain point , i.e., file onset + xxx ms? The crucial point is different for each sentence. #1 Is making each word a separate object/event out of the question? Otherwise this seems like to most straight forward attempt. Good Luck Dan #2 Here's a way that would probably work. In a list object, have one attribute that contains the name of the sound file for each trial, and another that contains the offset of the crucial time in milliseconds for that file. Then set your sound object to have duration equal to the crucial time, making sure that the sound object is configured to continue playing the sound after the sound object terminates. Then have a blank screen (i.e. a blank text object) that follows the sound object, with user input enabled. Tom Johnstone, Ph.D. Keck Laboratory for Functional Brain Imaging and Behavior Waisman Center University of Wisconsin-Madison #3 (David Fencsik and Tony Zuccolotto came up with essentially the same solution) I assume you have a list object that specifies which sound file to use on each trial. If this is the case, then you can add a column to the list object that specifies the time from the onset of the sound to the onset of the crucial word. After the response is collected, you could create a script that looks up the time and subtracts it from the RT. Or, to be safe, you could create a new attribute that stores the RT minus the time delay. David *********** There is no way currently in E-Prime to automatically adjust an RT based on the offset of a word in the file. To do this you would probably have to list the word offsets as an attribute and then insert some script at the end of the trial to adjust the RT, e.g. If Stimulus.RT > c.GetAttrib( "WordOffset") Then Stimulus.RT = Stimulus.RT - c.GetAttrib("WordOffset") Else ' Responded before the word was presented Stimulus.RT = 0 End If Hope that helps. Tony *** DISCLAIMER: ALL VIEWS EXPRESSED ARE MY OWN AND DO NOT NECESSARILY REFLECT THOSE OF PSYCHOLOGY SOFTWARE TOOLS *** ++++++++++++++++++++++++++++ Carol Miller, Ph.D. Dept. of Communication Sciences & Disorders Penn State University 115-B Moore Building (814) 865-6213 cam47 at psu.edu ++++++++++++++++++++++++++++ -------------- next part -------------- An HTML attachment was scrubbed... URL: From gte514k at mail.gatech.edu Fri Jul 11 15:16:41 2003 From: gte514k at mail.gatech.edu (gte514k at mail.gatech.edu) Date: Fri, 11 Jul 2003 11:16:41 -0400 Subject: manipulating channels Message-ID: Hi, I'm starting an experiment in which I need to present wav files to different channels. I've looked over things and it seems that this might not be possible in eprime - that is, other than using the brute force method of stipulating the channel within each of the wav files. Given the number of stimuli involved, it would be much more efficient if I could manipulate channels within eprime rather than in each of the wav files. Does anyone know if this is possible (and if so, how to do it)? Thanks, Colleen ================================ Colleen Parks School of Psychology Georgia Tech J.S. Coon Building 654 Cherry St. Atlanta, GA 30332-0170 404.894.7559 gte514k at prism.gatech.edu ================================ From gte514k at mail.gatech.edu Fri Jul 11 18:19:11 2003 From: gte514k at mail.gatech.edu (gte514k at mail.gatech.edu) Date: Fri, 11 Jul 2003 14:19:11 -0400 Subject: manipulating channels Message-ID: From: "IAIN T JOHNSTONE" To: Sent: Friday, July 11, 2003 1:54 PM Subject: Re: manipulating channels E-prime lets you set the volume of each channel in the sound object properties. It should thus be doable with a bit of script, or using an attribute. This would allow you to effectively vary the channels. Tom > ----- Original Message ----- > From: gte514k at mail.gatech.edu > Date: Friday, July 11, 2003 10:16 am > Subject: manipulating channels > > > Hi, > > I'm starting an experiment in which I need to > present wav files to > > different > > channels. I've looked over things and it seems > that this might not > > be possible > > in eprime - that is, other than using the brute > force method of > > stipulating > > the channel within each of the wav files. Given > the number of > > stimuli > > involved, it would be much more efficient if I > could manipulate > > channels within > > eprime rather than in each of the wav files. Does > anyone know if > > this is > > possible (and if so, how to do it)? > > Thanks, > > Colleen > > ================================ > > Colleen Parks > > School of Psychology > > Georgia Tech > > J.S. Coon Building > > 654 Cherry St. > > Atlanta, GA 30332-0170 > > > > 404.894.7559 > > gte514k at prism.gatech.edu > > > > ================================ > > From r.l.c.mitchell at reading.ac.uk Tue Jul 15 11:30:48 2003 From: r.l.c.mitchell at reading.ac.uk (Rachel Mitchell) Date: Tue, 15 Jul 2003 12:30:48 +0100 Subject: Mouse responses Message-ID: Hi Could someone tell me how to enter a right and left click as allowable responses when using a mouse as input device to respond to stimuli? Thanks in advance Rachel Mitchell ----------------------------------------------------------------------- Dr Rachel L. C. Mitchell Lecturer in Cognitive Psychology, University of Reading Honorary Research Fellow, Institute of Psychiatry Correspondence Address: School of Psychology Whiteknights Road University of Reading Reading Berkshire RG6 6AL Tel: +44 (0)118 378 8523 Direct Dial: +44 (0)118 378 7530 Fax: +44 (0)118 378 6715 ----------------------------------------------------------------------- From odenthal at soz.psychologie.uni-konstanz.de Tue Jul 15 12:04:58 2003 From: odenthal at soz.psychologie.uni-konstanz.de (Georg Odenthal) Date: Tue, 15 Jul 2003 14:04:58 +0200 Subject: Mouse responses In-Reply-To: Message-ID: Hello Dr. Mitchell, > Could someone tell me how to enter a right and left click as allowable > responses when using a mouse as input device to respond to stimuli? I've had this problem myself once and I couldn't find any documentation on that in the original E-Prime manuals. Fortunately the mouse responses are not much different from what PST used in MEL2. That is the left mouse button is referred to as 1 and the right mouse button is 2 (the button in the middle, if you're using a three button mouse, is 3 as far as I know (in MEL2 it was 4, but that's a different matter)). So if you want to record left and right mouse button presses just enter 12 in the allowable field in the Response Option field of any image display, text display, slide or text display field. Set the correct field (or the attribute you refer to in the correct field) to either 1 or 2 for the correct left or right mouse button press respectively. If you intend to access the pressed mouse button from an InLine script use the following commands: If (Mouse.Buttons) then If (ebMouseButton1) Then debug.print "Left mouse button was pressed." end if If (ebMouseButton2) Then debug.print "Right mouse button was pressed." end if If (ebMouseButton3) Then debug.print "Middle mouse button was pressed." end if end if I hope this clarifies your question. Best regards, Georg Odenthal ========================================================================= Georg Odenthal (Dipl.-Psych.) University of Konstanz +49 (0)7531 88-2872 Department of Psychology odenthal at soz.psychologie.uni-konstanz.de Social Psychology and Motivation http://www.socpsych.uni-konstanz.de 78457 Konstanz, Germany ========================================================================= From anthony.zuccolotto at pstnet.com Tue Jul 15 13:01:32 2003 From: anthony.zuccolotto at pstnet.com (Tony Zuccolotto) Date: Tue, 15 Jul 2003 09:01:32 -0400 Subject: Mouse responses Message-ID: Dr. Mitchell, Georg's summary is accurate, but there are some minor errors in the script section that was listed. The MouseDevice.Buttons property returns a bitmask of which buttons are currently pressed. You then need to AND this with one of the ebMouseButtonX constants to check each bit. Refer to the MouseDevice.Buttons property in the E-Basic Help for a complete example but here is a short section of script that demonstrates how to test the bits. If (Mouse.Buttons AND ebMouseButton1) Then Display.Canvas.Text 5, 100, "Left Mouse Button: PRESSED" Else Display.Canvas.Text 5, 100, "Left Mouse Button: NOT Pressed" End If If (Mouse.Buttons AND ebMouseButton2) Then Display.Canvas.Text 5, 125, "Right Mouse Button: PRESSED" Else Display.Canvas.Text 5, 125, "Right Mouse Button: NOT Pressed" End If Tony *** DISCLAIMER: ALL VIEWS EXPRESSED ARE MY OWN AND DO NOT NECESSARILY REFLECT THOSE OF PSYCHOLOGY SOFTWARE TOOLS *** Anthony P. Zuccolotto Vice President Psychology Software Tools, Inc. 2050 Ardmore Boulevard Suite 200 Pittsburgh, PA 15221-4610 Phone 412-271-5040 FAX 412-271-7077 Email anthony.zuccolotto at pstnet.com Internet http://www.pstnet.com > -----Original Message----- > From: Georg Odenthal [mailto:odenthal at soz.psychologie.uni-konstanz.de] > Sent: Tuesday, July 15, 2003 7:05 AM > To: Eprime mailing list > Subject: Re: Mouse responses > > Hello Dr. Mitchell, > > > Could someone tell me how to enter a right and left click as allowable > > responses when using a mouse as input device to respond to stimuli? > I've had this problem myself once and I couldn't find any > documentation on that in the original E-Prime manuals. > > Fortunately the mouse responses are not much different from what PST > used in MEL2. That is the left mouse button is referred to as 1 and > the right mouse button is 2 (the button in the middle, if you're > using a three button mouse, is 3 as far as I know (in MEL2 it was 4, > but that's a different matter)). > > So if you want to record left and right mouse button presses just > enter 12 in the allowable field in the Response Option field of any > image display, text display, slide or text display field. Set the > correct field (or the attribute you refer to in the correct field) to > either 1 or 2 for the correct left or right mouse button press > respectively. > > If you intend to access the pressed mouse button from an InLine script > use the following commands: > > If (Mouse.Buttons) then > If (ebMouseButton1) Then > debug.print "Left mouse button was pressed." > end if > If (ebMouseButton2) Then > debug.print "Right mouse button was pressed." > end if > If (ebMouseButton3) Then > debug.print "Middle mouse button was pressed." > end if > end if > > > > I hope this clarifies your question. > > > Best regards, > Georg Odenthal > > > ======================================================================== == > > Georg Odenthal (Dipl.-Psych.) University of Konstanz > +49 (0)7531 88-2872 Department of Psychology > odenthal at soz.psychologie.uni-konstanz.de Social Psychology and Motivation > http://www.socpsych.uni-konstanz.de 78457 Konstanz, Germany > > ======================================================================== == > > From odenthal at soz.psychologie.uni-konstanz.de Tue Jul 15 13:19:09 2003 From: odenthal at soz.psychologie.uni-konstanz.de (Georg Odenthal) Date: Tue, 15 Jul 2003 15:19:09 +0200 Subject: Mouse responses In-Reply-To: <6D8910A1FAF7E347B5C617CDE86FF4CD4373EB@mercury.pstmail> Message-ID: Hello everybody, Tuesday, July 15, 2003, 3:01 PM, Tony Zuccolotto wrote: > Georg's summary is accurate, but there are some minor errors in the > script section that was listed. [...] You're right. I was assuming that Mouse.Buttons and ebMouseButtonX are boolean variable and that the AND was a logical combination of whether both variables are TRUE or not (i.e. IF (Mouse.Buttons = TRUE AND ebMouseButtonX = TRUE) THEN ...). I'm usually writing programs in Java where you can omit the "= TRUE" part from your commands to save some typing time and memory... Best regards, Georg ========================================================================= Georg Odenthal (Dipl.-Psych.) University of Konstanz +49 (0)7531 88-2872 Department of Psychology odenthal at soz.psychologie.uni-konstanz.de Social Psychology and Motivation http://www.socpsych.uni-konstanz.de 78457 Konstanz, Germany ========================================================================= From ttacosa at hotmail.com Fri Jul 18 15:14:51 2003 From: ttacosa at hotmail.com (Taryn Tacosa) Date: Fri, 18 Jul 2003 10:14:51 -0500 Subject: feedback on accuracy Message-ID: Hello, I am having trouble finding a way to present accuracy feedback on a sequence of observations. Specifically, a subject is shown a sequence of letters, one at a time, and responds YES or NO to each letter (typical n-back task). I would like a screen to give the subject feedback on their accuracy at the end of each sequence, but am having trouble with this. So far, I can only get accuracy for the last display screen ONLY to appear, rather than accuracy across all 16 observations (letters). Any help would be greatly appreciated! Taryn Tacosa >RA >UNC-CH > _________________________________________________________________ Help STOP SPAM with the new MSN 8 and get 2 months FREE* http://join.msn.com/?page=features/junkmail From staab at Waisman.Wisc.Edu Mon Jul 21 15:57:44 2003 From: staab at Waisman.Wisc.Edu (Ben Staab) Date: Mon, 21 Jul 2003 10:57:44 -0500 Subject: feedback on accuracy In-Reply-To: Message-ID: If you just need to give a mean of their accuracy, you should be able to use @ACC.MEAN on your feedback display object. If you need more than just a mean, take a look at FeedbackDisplay.ACCStats in the E-Basic Help. It returns a Summation object that provides different statistical functions like standard deviations and such. Otherwise, if you are trying to show a chart of some sort with the accuracy for each letter in the sequence individually, that could be a little trickier. It seems from some of the things that I've tried doing in my own scripts, that E-Prime writes the individual trial results to the log file and then throws them out. So you may have to keep track of them yourself by doing something like this: 1. In the user tab of the main script window, declare an integer array with 16 slots, and a counter: Dim MyArray(1-16) as Integer Dim TrialsCounter as Integer TrialsCounter = 1 2. Put an inline script right after each letter is displayed that will insert the accuracy into the array: MyArray(TrialsCounter) = TheNameOfYourTextDisplayObject.ACC TrialsCounter = TrialsCounter+1 3. When all the trials have been completed (so make sure this is outside your trialsproc, whatever you may have called it) add one last text display object (pick your own name, but I'm calling it SumText) with an inline script after it. The script will look something like this: ' Declare some position and a counter variables Dim x, y, i as integer x = 20 y = 20 i = 1 ' print a simple header SumText.Text x, y, "Accuracy Summary:" 'Start looping thru the results. 'This displays results in two columns For i = 1 to 16 if(i = 9) then ' if we've already displayed 8 items, x = x + 50 ' move right to a second column, y = 40 ' and move back to the top. else ' Otherwise, y = y + 20 ' move the y position down end if 'instead of showing 0 or 1, use english if(MyArray(i)=0)then SumText.Text x, y, "Trial " & i & ": Incorrect" else SumText.Text x, y, "Trial " & i & ": Correct" Next i I think that should do it. Lastly, a few caveats: I haven't tried this myself; this is all off the top of my head. So it's entirely possible I've got syntax and/or logic errors in there. Also, those x and y positions are just guesses on my part, change them as you see fit. I hope that helps and that I didn't completely miss the point of your question. Ben Staab staab at waisman.wisc.edu At 10:14 AM 7/18/2003 -0500, Taryn Tacosa wrote: >Hello, > >I am having trouble finding a way to present accuracy feedback on a >sequence of observations. Specifically, a subject is shown a sequence of >letters, one at a time, and responds YES or NO to each letter (typical >n-back task). I would like a screen to give the subject feedback on their >accuracy at the >end of each sequence, but am having trouble with this. So far, I can only >get accuracy for the last display screen ONLY to appear, rather than >accuracy across all 16 observations (letters). > >Any help would be greatly appreciated! > >Taryn Tacosa > >>RA >>UNC-CH > >_________________________________________________________________ >Help STOP SPAM with the new MSN 8 and get 2 months FREE* >http://join.msn.com/?page=features/junkmail > From anthony.zuccolotto at pstnet.com Mon Jul 21 16:15:15 2003 From: anthony.zuccolotto at pstnet.com (Tony Zuccolotto) Date: Mon, 21 Jul 2003 12:15:15 -0400 Subject: feedback on accuracy Message-ID: Taryn, Can you provide some more detail on what you want this accuracy feedback to look like in your specific case? It would also be helpful to have an idea of how you intend to analyze these results (i.e. to verify that you have everything critical logged in a manner which makes it easy to use other tools in or out of E-Prime to perform your analysis). As you have described your setup, I would expect that each dependent measure is being logged as different variables within a single trial (which may or may not be what you want). As per the feedback, it sounds like you will have to do something out of the ordinary, but it's definitely do-able with a little script. An depending on what you need you may get by with just setting few attributes and then using the feedback object to display the information. If you describe the type of feedback you want under whatever scenarios you can think of and someone on the list will likely be able to respond with more a more specific approach. Regards, Tony *** DISCLAIMER: ALL VIEWS EXPRESSED ARE MY OWN AND DO NOT NECESSARILY REFLECT THOSE OF PSYCHOLOGY SOFTWARE TOOLS *** Anthony P. Zuccolotto Vice President Psychology Software Tools, Inc. 2050 Ardmore Boulevard Suite 200 Pittsburgh, PA 15221-4610 Phone 412-271-5040 FAX 412-271-7077 Email anthony.zuccolotto at pstnet.com Internet http://www.pstnet.com > -----Original Message----- > From: Ben Staab [mailto:staab at Waisman.Wisc.Edu] > Sent: Monday, July 21, 2003 10:58 AM > To: Taryn Tacosa; eprime at mail.talkbank.org > Subject: Re: feedback on accuracy > > If you just need to give a mean of their accuracy, you should be able to > use @ACC.MEAN on your feedback display object. If you need more than just > a mean, take a look at FeedbackDisplay.ACCStats in the E-Basic Help. It > returns a Summation object that provides different statistical functions > like standard deviations and such. Otherwise, if you are trying to show a > chart of some sort with the accuracy for each letter in the sequence > individually, that could be a little trickier. It seems from some of the > things that I've tried doing in my own scripts, that E-Prime writes the > individual trial results to the log file and then throws them out. So you > may have to keep track of them yourself by doing something like this: > > 1. In the user tab of the main script window, declare an integer array > with > 16 slots, and a counter: > Dim MyArray(1-16) as Integer > Dim TrialsCounter as Integer > TrialsCounter = 1 > > 2. Put an inline script right after each letter is displayed that will > insert the accuracy into the array: > MyArray(TrialsCounter) = TheNameOfYourTextDisplayObject.ACC > TrialsCounter = TrialsCounter+1 > > 3. When all the trials have been completed (so make sure this is outside > your trialsproc, whatever you may have called it) add one last text > display > object (pick your own name, but I'm calling it SumText) with an inline > script after it. The script will look something like this: > ' Declare some position and a counter variables > Dim x, y, i as integer > x = 20 > y = 20 > i = 1 > > ' print a simple header > SumText.Text x, y, "Accuracy Summary:" > > 'Start looping thru the results. > 'This displays results in two columns > For i = 1 to 16 > if(i = 9) then ' if we've already displayed 8 > items, > x = x + 50 ' move right to a second column, > y = 40 ' and move back to the top. > else ' Otherwise, > y = y + 20 ' move the y position down > end if > > 'instead of showing 0 or 1, use english > if(MyArray(i)=0)then > SumText.Text x, y, "Trial " & i & ": Incorrect" > else > SumText.Text x, y, "Trial " & i & ": Correct" > Next i > > I think that should do it. Lastly, a few caveats: I haven't tried this > myself; this is all off the top of my head. So it's entirely possible > I've > got syntax and/or logic errors in there. Also, those x and y positions > are > just guesses on my part, change them as you see fit. > > I hope that helps and that I didn't completely miss the point of your > question. > > Ben Staab > staab at waisman.wisc.edu > > At 10:14 AM 7/18/2003 -0500, Taryn Tacosa wrote: > >Hello, > > > >I am having trouble finding a way to present accuracy feedback on a > >sequence of observations. Specifically, a subject is shown a sequence of > >letters, one at a time, and responds YES or NO to each letter (typical > >n-back task). I would like a screen to give the subject feedback on their > >accuracy at the > >end of each sequence, but am having trouble with this. So far, I can only > >get accuracy for the last display screen ONLY to appear, rather than > >accuracy across all 16 observations (letters). > > > >Any help would be greatly appreciated! > > > >Taryn Tacosa > > > >>RA > >>UNC-CH > > > >_________________________________________________________________ > >Help STOP SPAM with the new MSN 8 and get 2 months FREE* > >http://join.msn.com/?page=features/junkmail > > > From ttacosa at hotmail.com Mon Jul 21 17:04:28 2003 From: ttacosa at hotmail.com (Taryn Tacosa) Date: Mon, 21 Jul 2003 12:04:28 -0500 Subject: feedback on accuracy Message-ID: Thank you for the response. I will try to be more specific this time. What I would like this feedback screen to look like is actually very simple. Feedback is being presented for the subject's benefit only and will not be the focus of the analysis, though we are logging all response values (standard logging values are checked). Specifically, a subject sees a series of 16 letters one at a time and is required to make (1) response to each letter. This response is either correct (ACC=1) or incorrect (ACC=0). After the series ends, I want the subject to see: "You got ##% correct". So, if the subject answered correctly to 14 out of the 16 letters, he would see "You got 87.5% correct!". I have seen that the feedback object has "@ACC.MEAN" as one of its options, however, when I run the program using this (and citing the correct Input Object), the screen still gives accuracy for just the last response given (0% or 100%), rather than across all 16 responses. Is there something additional I'm required to do to enable this option to look at accuracy for all 16 responses? I am thinking it may be easiest to not use the feedback display and to just use a counter to record accuracies and then write a simple formula for the % on a TextDisplay screen. Any thoughts on this would also be appreciated. Thanks in advance for all input! Taryn >From: "Tony Zuccolotto" >To: >Subject: RE: feedback on accuracy >Date: Mon, 21 Jul 2003 12:15:15 -0400 > >Taryn, > >Can you provide some more detail on what you want this accuracy feedback >to look like in your specific case? It would also be helpful to have >an idea of how you intend to analyze these results (i.e. to verify that >you have everything critical logged in a manner which makes it easy to >use other tools in or out of E-Prime to perform your analysis). > >As you have described your setup, I would expect that each dependent >measure is being logged as different variables within a single trial >(which may or may not be what you want). > >As per the feedback, it sounds like you will have to do something out of >the ordinary, but it's definitely do-able with a little script. An >depending on what you need you may get by with just setting few >attributes and then using the feedback object to display the >information. If you describe the type of feedback you want under >whatever scenarios you can think of and someone on the list will likely >be able to respond with more a more specific approach. > >Regards, >Tony > >*** DISCLAIMER: ALL VIEWS EXPRESSED ARE MY OWN AND DO NOT NECESSARILY >REFLECT THOSE OF PSYCHOLOGY SOFTWARE TOOLS *** >Anthony P. Zuccolotto >Vice President >Psychology Software Tools, Inc. >2050 Ardmore Boulevard >Suite 200 >Pittsburgh, PA 15221-4610 >Phone 412-271-5040 >FAX 412-271-7077 >Email anthony.zuccolotto at pstnet.com >Internet http://www.pstnet.com > > > -----Original Message----- > > From: Ben Staab [mailto:staab at Waisman.Wisc.Edu] > > Sent: Monday, July 21, 2003 10:58 AM > > To: Taryn Tacosa; eprime at mail.talkbank.org > > Subject: Re: feedback on accuracy > > > > If you just need to give a mean of their accuracy, you should be able >to > > use @ACC.MEAN on your feedback display object. If you need more than >just > > a mean, take a look at FeedbackDisplay.ACCStats in the E-Basic Help. >It > > returns a Summation object that provides different statistical >functions > > like standard deviations and such. Otherwise, if you are trying to >show a > > chart of some sort with the accuracy for each letter in the sequence > > individually, that could be a little trickier. It seems from some of >the > > things that I've tried doing in my own scripts, that E-Prime writes >the > > individual trial results to the log file and then throws them out. So >you > > may have to keep track of them yourself by doing something like this: > > > > 1. In the user tab of the main script window, declare an integer array > > with > > 16 slots, and a counter: > > Dim MyArray(1-16) as Integer > > Dim TrialsCounter as Integer > > TrialsCounter = 1 > > > > 2. Put an inline script right after each letter is displayed that will > > insert the accuracy into the array: > > MyArray(TrialsCounter) = TheNameOfYourTextDisplayObject.ACC > > TrialsCounter = TrialsCounter+1 > > > > 3. When all the trials have been completed (so make sure this is >outside > > your trialsproc, whatever you may have called it) add one last text > > display > > object (pick your own name, but I'm calling it SumText) with an inline > > script after it. The script will look something like this: > > ' Declare some position and a counter variables > > Dim x, y, i as integer > > x = 20 > > y = 20 > > i = 1 > > > > ' print a simple header > > SumText.Text x, y, "Accuracy Summary:" > > > > 'Start looping thru the results. > > 'This displays results in two columns > > For i = 1 to 16 > > if(i = 9) then ' if we've already displayed >8 > > items, > > x = x + 50 ' move right to a second >column, > > y = 40 ' and move back to the top. > > else ' Otherwise, > > y = y + 20 ' move the y position down > > end if > > > > 'instead of showing 0 or 1, use english > > if(MyArray(i)=0)then > > SumText.Text x, y, "Trial " & i & ": >Incorrect" > > else > > SumText.Text x, y, "Trial " & i & ": Correct" > > Next i > > > > I think that should do it. Lastly, a few caveats: I haven't tried >this > > myself; this is all off the top of my head. So it's entirely possible > > I've > > got syntax and/or logic errors in there. Also, those x and y >positions > > are > > just guesses on my part, change them as you see fit. > > > > I hope that helps and that I didn't completely miss the point of your > > question. > > > > Ben Staab > > staab at waisman.wisc.edu > > > > At 10:14 AM 7/18/2003 -0500, Taryn Tacosa wrote: > > >Hello, > > > > > >I am having trouble finding a way to present accuracy feedback on a > > >sequence of observations. Specifically, a subject is shown a sequence >of > > >letters, one at a time, and responds YES or NO to each letter >(typical > > >n-back task). I would like a screen to give the subject feedback on >their > > >accuracy at the > > >end of each sequence, but am having trouble with this. So far, I can >only > > >get accuracy for the last display screen ONLY to appear, rather than > > >accuracy across all 16 observations (letters). > > > > > >Any help would be greatly appreciated! > > > > > >Taryn Tacosa > > > > > >>RA > > >>UNC-CH > > > > > >_________________________________________________________________ > > >Help STOP SPAM with the new MSN 8 and get 2 months FREE* > > >http://join.msn.com/?page=features/junkmail > > > > > > > _________________________________________________________________ MSN 8 helps eliminate e-mail viruses. Get 2 months FREE*. http://join.msn.com/?page=features/virus From susanc at andrew.cmu.edu Mon Jul 21 17:24:42 2003 From: susanc at andrew.cmu.edu (Susan Campbell) Date: Mon, 21 Jul 2003 13:24:42 -0400 Subject: feedback on accuracy In-Reply-To: Message-ID: I'm going to make a guess, here, that may or may not be correct -- if it's incorrect, this won't be useful. It sounds like the procedure you're describing has 16 text/slide objects. If this is the case, you have to specify which object the Feedback display is getting its information from, and it's probably the last one. This would explain why you're getting only the accuracy from the last item. If you're using this structure, it would probably be easier for you to use script to gather the information into a summation object, which you could then query for the mean, etc. The upside would be that you'd only need one inline, provided you're logging data from all of the text objects. If you're using a procedure to display the 16 items, then the problem probably has to do with it overwriting whatever you're trying to measure, and again a summation object with addition at the end of each run of the procedure would be helpful. Hope this helps, Susan On Mon, 21 Jul 2003, Taryn Tacosa wrote: > Thank you for the response. I will try to be more specific this time. > > What I would like this feedback screen to look like is actually very simple. > Feedback is being presented for the subject's benefit only and will not be > the focus of the analysis, though we are logging all response values > (standard logging values are checked). Specifically, a subject sees a series > of 16 letters one at a time and is required to make (1) response to each > letter. This response is either correct (ACC=1) or incorrect (ACC=0). After > the series ends, I want the subject to see: "You got ##% correct". So, if > the subject answered correctly to 14 out of the 16 letters, he would see > "You got 87.5% correct!". > > I have seen that the feedback object has "@ACC.MEAN" as one of its options, > however, when I run the program using this (and citing the correct Input > Object), the screen still gives accuracy for just the last response given > (0% or 100%), rather than across all 16 responses. Is there something > additional I'm required to do to enable this option to look at accuracy for > all 16 responses? > > I am thinking it may be easiest to not use the feedback display and to just > use a counter to record accuracies and then write a simple formula for the % > on a TextDisplay screen. Any thoughts on this would also be appreciated. > > Thanks in advance for all input! > > Taryn > From Nolan at NKI.RFMH.ORG Wed Jul 23 13:29:49 2003 From: Nolan at NKI.RFMH.ORG (Nolan, Karen) Date: Wed, 23 Jul 2003 09:29:49 -0400 Subject: feedback on accuracy Message-ID: Taryn - I would only use the Feedback object if you want to give trial by trial feedback. To display block by block feedback, I set up a summation object (TC) and a counter (Trials) prior to the block. Inline 1 Set TC=New Summation Trials = 0 As part of the trial procedure, immediately after the stimulus display ("Stim"), a second inline keeps track of number of trials and total correct: Inline 2 If Stim.ACC =1then TC.AddObservation c.GetAttrib("Stim.ACC") End if Trials = Trials+1 Immediately after the List (block)I use a third inline to set the text ("Message") to be displayed in a text display object Inline 3 acc = CInt((Tc.Total/Trials)*100) c.SetAttrib "Message", "You scored " & acc & "% correct" I hope this is helpful Karen Nolan -----Original Message----- From: Taryn Tacosa [mailto:ttacosa at hotmail.com] Sent: Monday, July 21, 2003 1:04 PM To: eprime at mail.talkbank.org Subject: RE: feedback on accuracy Thank you for the response. I will try to be more specific this time. What I would like this feedback screen to look like is actually very simple. Feedback is being presented for the subject's benefit only and will not be the focus of the analysis, though we are logging all response values (standard logging values are checked). Specifically, a subject sees a series of 16 letters one at a time and is required to make (1) response to each letter. This response is either correct (ACC=1) or incorrect (ACC=0). After the series ends, I want the subject to see: "You got ##% correct". So, if the subject answered correctly to 14 out of the 16 letters, he would see "You got 87.5% correct!". I have seen that the feedback object has "@ACC.MEAN" as one of its options, however, when I run the program using this (and citing the correct Input Object), the screen still gives accuracy for just the last response given (0% or 100%), rather than across all 16 responses. Is there something additional I'm required to do to enable this option to look at accuracy for all 16 responses? I am thinking it may be easiest to not use the feedback display and to just use a counter to record accuracies and then write a simple formula for the % on a TextDisplay screen. Any thoughts on this would also be appreciated. Thanks in advance for all input! Taryn >From: "Tony Zuccolotto" >To: >Subject: RE: feedback on accuracy >Date: Mon, 21 Jul 2003 12:15:15 -0400 > >Taryn, > >Can you provide some more detail on what you want this accuracy feedback >to look like in your specific case? It would also be helpful to have >an idea of how you intend to analyze these results (i.e. to verify that >you have everything critical logged in a manner which makes it easy to >use other tools in or out of E-Prime to perform your analysis). > >As you have described your setup, I would expect that each dependent >measure is being logged as different variables within a single trial >(which may or may not be what you want). > >As per the feedback, it sounds like you will have to do something out of >the ordinary, but it's definitely do-able with a little script. An >depending on what you need you may get by with just setting few >attributes and then using the feedback object to display the >information. If you describe the type of feedback you want under >whatever scenarios you can think of and someone on the list will likely >be able to respond with more a more specific approach. > >Regards, >Tony > >*** DISCLAIMER: ALL VIEWS EXPRESSED ARE MY OWN AND DO NOT NECESSARILY >REFLECT THOSE OF PSYCHOLOGY SOFTWARE TOOLS *** >Anthony P. Zuccolotto >Vice President >Psychology Software Tools, Inc. >2050 Ardmore Boulevard >Suite 200 >Pittsburgh, PA 15221-4610 >Phone 412-271-5040 >FAX 412-271-7077 >Email anthony.zuccolotto at pstnet.com >Internet http://www.pstnet.com > > > -----Original Message----- > > From: Ben Staab [mailto:staab at Waisman.Wisc.Edu] > > Sent: Monday, July 21, 2003 10:58 AM > > To: Taryn Tacosa; eprime at mail.talkbank.org > > Subject: Re: feedback on accuracy > > > > If you just need to give a mean of their accuracy, you should be able >to > > use @ACC.MEAN on your feedback display object. If you need more than >just > > a mean, take a look at FeedbackDisplay.ACCStats in the E-Basic Help. >It > > returns a Summation object that provides different statistical >functions > > like standard deviations and such. Otherwise, if you are trying to >show a > > chart of some sort with the accuracy for each letter in the sequence > > individually, that could be a little trickier. It seems from some of >the > > things that I've tried doing in my own scripts, that E-Prime writes >the > > individual trial results to the log file and then throws them out. So >you > > may have to keep track of them yourself by doing something like this: > > > > 1. In the user tab of the main script window, declare an integer array > > with > > 16 slots, and a counter: > > Dim MyArray(1-16) as Integer > > Dim TrialsCounter as Integer > > TrialsCounter = 1 > > > > 2. Put an inline script right after each letter is displayed that will > > insert the accuracy into the array: > > MyArray(TrialsCounter) = TheNameOfYourTextDisplayObject.ACC > > TrialsCounter = TrialsCounter+1 > > > > 3. When all the trials have been completed (so make sure this is >outside > > your trialsproc, whatever you may have called it) add one last text > > display > > object (pick your own name, but I'm calling it SumText) with an inline > > script after it. The script will look something like this: > > ' Declare some position and a counter variables > > Dim x, y, i as integer > > x = 20 > > y = 20 > > i = 1 > > > > ' print a simple header > > SumText.Text x, y, "Accuracy Summary:" > > > > 'Start looping thru the results. > > 'This displays results in two columns > > For i = 1 to 16 > > if(i = 9) then ' if we've already displayed >8 > > items, > > x = x + 50 ' move right to a second >column, > > y = 40 ' and move back to the top. > > else ' Otherwise, > > y = y + 20 ' move the y position down > > end if > > > > 'instead of showing 0 or 1, use english > > if(MyArray(i)=0)then > > SumText.Text x, y, "Trial " & i & ": >Incorrect" > > else > > SumText.Text x, y, "Trial " & i & ": Correct" > > Next i > > > > I think that should do it. Lastly, a few caveats: I haven't tried >this > > myself; this is all off the top of my head. So it's entirely possible > > I've > > got syntax and/or logic errors in there. Also, those x and y >positions > > are > > just guesses on my part, change them as you see fit. > > > > I hope that helps and that I didn't completely miss the point of your > > question. > > > > Ben Staab > > staab at waisman.wisc.edu > > > > At 10:14 AM 7/18/2003 -0500, Taryn Tacosa wrote: > > >Hello, > > > > > >I am having trouble finding a way to present accuracy feedback on a > > >sequence of observations. Specifically, a subject is shown a sequence >of > > >letters, one at a time, and responds YES or NO to each letter >(typical > > >n-back task). I would like a screen to give the subject feedback on >their > > >accuracy at the > > >end of each sequence, but am having trouble with this. So far, I can >only > > >get accuracy for the last display screen ONLY to appear, rather than > > >accuracy across all 16 observations (letters). > > > > > >Any help would be greatly appreciated! > > > > > >Taryn Tacosa > > > > > >>RA > > >>UNC-CH > > > > > >_________________________________________________________________ > > >Help STOP SPAM with the new MSN 8 and get 2 months FREE* > > >http://join.msn.com/?page=features/junkmail > > > > > > > _________________________________________________________________ MSN 8 helps eliminate e-mail viruses. Get 2 months FREE*. http://join.msn.com/?page=features/virus -------------- next part -------------- An HTML attachment was scrubbed... URL: From r.l.c.mitchell at reading.ac.uk Wed Jul 23 14:07:23 2003 From: r.l.c.mitchell at reading.ac.uk (Rachel Mitchell) Date: Wed, 23 Jul 2003 15:07:23 +0100 Subject: Timing issues Message-ID: Hi everyone Although my queries below relate to my wish to use Eprimne for some fMRI studies, I think the non-imagers amonst you can probably help me too Basically, in our scanning set up, we have a trigger system connected to the scanner which tells your PC via a modified mouse when the scanner has started collecting data, so your stimulation program starts at exactly the same time So, I set Eprime to begin on receiving a left mouse click (albeit a pretend one from the scanner) 1) Now as I understand it the scanner will send a pulse signal to the modified mouse everytime it collects 1 brain volume. What I am concerned about is that when a subject presses a response button on the subject response unit (made by Lumitouch) won't Eprime get confused between these 2 signals or will it recognise the response unit as a completely separate input unit from the scanner trigger/mouse 2) In some studies, I would want Eprime to start displaying a new stimulus every time it gets a trigger signal from the scanner. How do I achieve this? I don't want to register the pretend mouse click as a subject response, I want to use the pretend mouse click to begin the presentation of each stimulus 3) I was reading the chapter in the user guide on timing issues. It talks about designing a callibration experiment to enable you to calculate a scaling factor to adjust Eprime in cases where timing is absolutely critical. I'm quite unclear on this, espec what sort of expt to devise 4) It also talks about sending a signal from Eprime to external monitoring equipment to timestamp a synchronisation signal, but in an fMRI situation I can send a signal from the scanner to Eprime, but am not sure I can send a signal from Eprime to the scanner? I hope someone can point me in the right direction, so I'll thank you in advance for any help you can give Regards rachel ----------------------------------------------------------------------- Dr Rachel L. C. Mitchell Lecturer in Cognitive Psychology, University of Reading Honorary Research Fellow, Institute of Psychiatry Correspondence Address: School of Psychology Whiteknights Road University of Reading Reading Berkshire RG6 6AL Tel: +44 (0)118 378 8523 Direct Dial: +44 (0)118 378 7530 Fax: +44 (0)118 378 6715 ----------------------------------------------------------------------- From asa8 at leicester.ac.uk Thu Jul 24 13:19:51 2003 From: asa8 at leicester.ac.uk (Andrews, A.S.) Date: Thu, 24 Jul 2003 14:19:51 +0100 Subject: Voice recognition and timing Message-ID: Dear all, I need to play a series of words and have subjects repeat them. I need to record the accuracy and timing of each repeated word. I often do this sort of thing one word at a time using a voice key (its easy to note manually if correct or not). As this will be a sequence of words I think I need to go with voice recognition (there will be huge amounts of data, too much to post-process). I need to know what the responses are and the timing of them. Can anyone recommend any s/w for this, and/or a way of doing it through e-prime? I understand ViaVoice can time-stamp but I need much better than 1 second accuracy. Best Regards, Tony Andrews Senior Computer Officer School of Psychology Astley Clarke Building University of Leicester University Road Leicester LE1 7RH Tel: 0116 223 1709 Fax: 0116 252 2067 email: asa8 at le.ac.uk From Drtweets19 at cs.com Fri Jul 25 15:31:29 2003 From: Drtweets19 at cs.com (Drtweets19 at cs.com) Date: Fri, 25 Jul 2003 11:31:29 EDT Subject: feedback help Message-ID: Hi, We are new to this list serve and would like help regarding placing experiment 1.3 of Mel Lab to e-prime software. We are especially having difficulty in assigning percentages (i.e. 70% correct for demonstration). Specifically, a subject sees a series of noise (V) with a signal (U) and is required to indicate whether he sees a U or not by pressing 1 if a U is present and 2 if a U is not present. We need a 70% correct assessment in the demonstration mode for the subject to continue with the experiment. i.e. "You got 70% correct!" Please respond with any suggestions that you may have in order to accomplish this task. Thank you very much. Natalie and Tatyana -------------- next part -------------- An HTML attachment was scrubbed... URL: From klee at projects.sdsu.edu Wed Jul 30 16:49:58 2003 From: klee at projects.sdsu.edu (Kara Lee) Date: Wed, 30 Jul 2003 09:49:58 -0700 Subject: No subject Message-ID: Hi, I have a question about stopping trials that are re-run from being overwritten. I would like to re-run trials that are anticipatory (response time is less than 200 ms) but do not want that trial data to be overwritten. So I'd like to log the data for both the anticipatory trial and the trial the will be re-run after it. If anyone has a suggestion as to how to do this, it would be greatly appreciated. Thanks, Kara. -- Kara Lee Graduate Research Assistant Center for Behavioral Teratology San Diego State University 6363 Alvarado Ct., Suite 209 San Diego, CA 92120 (619) 594-3928 From BRobinso at mprc.umaryland.edu Wed Jul 30 17:22:38 2003 From: BRobinso at mprc.umaryland.edu (Ben Robinson) Date: Wed, 30 Jul 2003 13:22:38 -0400 Subject: No subject Message-ID: you might try adding an additional List object at the end of your program. keep a running tally using in line scripts each time you get an anticipatory response, then populate the list at the end of your program with as many repeat trials as you need. so you'd have an in line script like this after each stimulus to which the subject must respond: Dim anticipatoryResponse As Integer If TextDisplay.RT <= 200 Then anticipatoryResponse = anticipatoryResponse + 1 End If and then after all your trials have initially been run, you add the necessary number of repeat trials to the last list (let's call it RepeatList): RepeatList.SetWeight "1", "anticipatoryResponse" something like that ought to work. i think. ben robinson >>> Kara Lee 07/30/03 12:49PM >>> Hi, I have a question about stopping trials that are re-run from being overwritten. I would like to re-run trials that are anticipatory (response time is less than 200 ms) but do not want that trial data to be overwritten. So I'd like to log the data for both the anticipatory trial and the trial the will be re-run after it. If anyone has a suggestion as to how to do this, it would be greatly appreciated. Thanks, Kara. -- Kara Lee Graduate Research Assistant Center for Behavioral Teratology San Diego State University 6363 Alvarado Ct., Suite 209 San Diego, CA 92120 (619) 594-3928 -------------- next part -------------- An HTML attachment was scrubbed... URL: From amy.eschman at pstnet.com Wed Jul 30 19:03:06 2003 From: amy.eschman at pstnet.com (Amy Eschman) Date: Wed, 30 Jul 2003 15:03:06 -0400 Subject: No subject Message-ID: There is actually an example at the E-Prime support site that shows how to rerun error trials by populating a List object with the info from incorrect trials. http://www.pstnet.com/e-prime/support/samples.asp?Mode=View &SampleID=15 With this approach, all error trials are rerun after the regular trials have been run. If you wanted to rerun error trials as they occurred, you would need to get into some script which calls c.Log to write a line to the data file with the info from the incorrect trial, then jumps back within the same trial (to the beginning of the trial level Procedure) to run the same level (i.e., the one currently selected from the List object). Something like the following: If c.GetAttrib("Stim.ACC") = 0 Then c.Log GoTo Label1 End If ....where Stim is the name of the object collecting the input, and Label1 occurs at the beginning of the trial level Procedure. Hope this helps. To test this out, you might want to put the script above into an InLine at the end of the TrialProc in BasicRT, and add Label1 to the beginning of the TrialProc. Amy Eschman *** DISCLAIMER: ALL VIEWS EXPRESSED ARE MY OWN AND DO NOT NECESSARILY REFLECT THOSE OF PSYCHOLOGY SOFTWARE TOOLS *** -----Original Message----- From: Ben Robinson [mailto:BRobinso at mprc.umaryland.edu] Sent: Wednesday, July 30, 2003 1:23 PM To: eprime at mail.talkbank.org; klee at projects.sdsu.edu Subject: Re: you might try adding an additional List object at the end of your program. keep a running tally using in line scripts each time you get an anticipatory response, then populate the list at the end of your program with as many repeat trials as you need. so you'd have an in line script like this after each stimulus to which the subject must respond: Dim anticipatoryResponse As Integer If TextDisplay.RT <= 200 Then anticipatoryResponse = anticipatoryResponse + 1 End If and then after all your trials have initially been run, you add the necessary number of repeat trials to the last list (let's call it RepeatList): RepeatList.SetWeight "1", "anticipatoryResponse" something like that ought to work. i think. ben robinson >>> Kara Lee 07/30/03 12:49PM >>> Hi, I have a question about stopping trials that are re-run from being overwritten. I would like to re-run trials that are anticipatory (response time is less than 200 ms) but do not want that trial data to be overwritten. So I'd like to log the data for both the anticipatory trial and the trial the will be re-run after it. If anyone has a suggestion as to how to do this, it would be greatly appreciated. Thanks, Kara. -- Kara Lee Graduate Research Assistant Center for Behavioral Teratology San Diego State University 6363 Alvarado Ct., Suite 209 San Diego, CA 92120 (619) 594-3928 -------------- next part -------------- An HTML attachment was scrubbed... URL: From Daniel.J.Bates at wheaton.edu Wed Jul 30 19:25:32 2003 From: Daniel.J.Bates at wheaton.edu (Daniel.J.Bates at wheaton.edu) Date: Wed, 30 Jul 2003 14:25:32 -0500 Subject: Visual Analog Scales, IFIS, and Button Response Units Message-ID: Hello Everyone... Over the last three months, I have posted several sections of code outlining how to create a visual analog scale in E-Prime. Unfortunately, none of those portions of code run with IFIS or Button Response Units. For whatever reason, BRUs are not directly connected to the computer. Input is first sent to a small box located inside the MRI room. This box sends a discrete value (rather than a continuous stream) to the computer saying that a button has been pressed. Unfortunately, this decreases the flexibility of the Visual Analog Scale (explained later). I, therefore, have changed the code so that E-Prime users can use visual analog scales inside MRI machines. I hope someone finds this information helpful. Good luck... Daniel -------------------------------------------------- Visual Analog Scale Construction -------------------------------------------------- 1) Composed of 5 E-Prime objects in the following order a) InlineCode1: Defines two variables b) Label1 c) Slide1 d) Wait1 e) InlineCode2: Responsible for the movement of the vertical bar. 2) Object Parameters a) InlineCode1: Cannot change parameter b) Label1: Cannot change parameters c) Slide1 i) 3 Text Boxes ii) 2 images superimposed on each other (a horizontal rectangle and a vertical bar). These images were created in Microsoft Paint and are named SlideBar1 and SliderButton2 respectively. iii) SlideDuration = 80 ms iv) InputDevices = Keyboard v) AllowableInput = 12345 vi) Timelimit = [Same as duration) d) Wait1 i) WaitDuration = -1 (infinite) ii) InputDevices = Keyboard iii) AllowableInput = 12345 iv) Timelimit = [Same as duration] v) Logging: RESP: Records actual response of subject 3) Inline Code Explained a) InlineCode1 i) Code: Dim ButtonPosn As Integer Dim NewButtonPosn As Integer ButtonPosn = 139 NewButtonPosn = ButtonPosn ii) Defines initial values of ButtonPosn and NewButtonPosn. iii) Placing this code before Label1 allows the default values of ButtonPosn and NewButtonPosn to change b) InlineCode2 i) Code: Dim FinalSelection As Integer Dim ScreenWidth As Integer Dim slrLeft As Integer Dim slrRight As Integer Dim KeyAscii As Integer Dim KeyAscii2 As Integer Dim Tag As String Dim StopLoop As Integer ScreenWidth = 640 slrLeft = 139 slrRight = 493 FinalSelection = 0 KeyAscii = Wait1.Resp Select Case KeyAscii Case 1 StopLoop = 0 Do StopLoop = StopLoop + 1 If (Slide1.RESP = Empty) OR (StopLoop = 1) THEN StopLoop = StopLoop + 1 If ButtonPosn >= slrLeft + 2 Then NewButtonPosn = ButtonPosn - 2 Else NewButtonPosn = slrLeft End If CSlideImage(Slide1.States.Item("Default").Objects(1)).X = NewButtonPosn ButtonPosn = NewButtonPosn Slide1.InputMasks.Reset Slide1.InputMasks.Add Keyboard.CreateInputMask("12345", "", Val (Slide1.Duration), Val("1"), ebEndResponseActionTerminate, True, "", "", "") Slide1.Run Else StopLoop = 501 End If Loop until StopLoop > 500 Case 3 FinalSelection = 1 Tag = Str((NewButtonPosn - slrLeft) / (slrRight - slrLeft) * 100) c.SetAttrib "PainResponse" , Tag CSlideImage(Slide1.States.Item("Default").Objects(1)).X = 139 Slide1.Run Case 5 Do StopLoop = StopLoop + 1 If (Slide1.RESP = Empty) OR (StopLoop = 1) THEN StopLoop = StopLoop + 1 If ButtonPosn >= slrLeft + 2 Then NewButtonPosn = ButtonPosn - 2 Else NewButtonPosn = slrLeft End If CSlideImage(Slide1.States.Item("Default").Objects(1)).X = NewButtonPosn ButtonPosn = NewButtonPosn Slide1.InputMasks.Reset Slide1.InputMasks.Add Keyboard.CreateInputMask("12345", "", Val (Slide1.Duration), Val("1"), ebEndResponseActionTerminate, True, "", "", "") Slide1.Run Else StopLoop = 501 End If Loop until StopLoop > 500 End Select If FinalSelection = 0 Then Goto Label1 End If --------------------------------------------------- Visual Analog Scale Code Explained --------------------------------------------------- The VAS code is composed of three cases (i.e. key-presses) and several loops. The subject enters the first loop as soon as he/she sees visualizes the slide (Case Select...End Select...Go to Label 1 if...). Since the duration of Wait1 is infinite, E-Prime waits indefinitely for some kind of input from the subject. This input is collected by the wait object (KeyAscii = Wait1.RESP). Acceptable input = 1, 3, and/or 5. If the subject enters either 1 or 5, then he/she enters the second loop (Do...Loop Until). This loop changes the numerical value of ButtonPosn and NewButtonPosn by +/- 2 pixels and changes the position of SliderButton2 on the screen. Note that the values of ButtonPosn and NewButtonPosn are constrained by the values of slrLeft and slrRight. This is to prevent the vertical bar from straying outside of the scale?s limits. Also, note that the position of SliderButton2 does not change until Slide1 is run (Slide1.Run). Since the second loop is looking for input from the Slide1 and since Slide1 only has a duration of 80 ms, the computer moves the position of SliderButton2 approximately 10 times per second. Unfortunately, this low refresh rate makes the bar flash a little while it is moving and it is not possible to fix the problem without severely hampering the efficacy of the VAS (explained in point v). There are two ways out if the second loop. The normal way out is to press a key on the keyboard. This changes the value of Slide1.RESP to something other than empty and, therefore, prevents the subject from entering the second loop again. The second way is just a safety net; to prevent the computer from entering a never-ending loop, the computer counts the number of times it has gone through the loop (StopLoop = StopLoop + 1) and exits when it reaches a number > 300 (Loop until StopLoop > 300). Once the subject has exited the first case, the computer exits the Select Case End Select function, realizes that FinalSelection still equals 0, and then returns to Label1. The entire process then repeats itself. The only way to exit the first loop (and finalize the position of SliderButton2) is to press #3. This instructs the computer to do several things. First, it changes the value of FinalSelection from 0 to 1. Second, it computes the position SliderButton2 on the scale as a percentage (Tag =). Third, it records that value in an. edat file (c.SetAttrib ?NameOfColomn?, Tag). Fourth, it resets the numerical values of ButtonPosn and NewButtonPosn. Fifth, it moves the position of SliderButton2 so that it equals the numerical values of ButtonPosn and NewButtonPosn (Slide1.Run). The computer then moves to the next part in the paradigm. This code has one major flaw. The computer can only collect input from the WaitObject or the SlideObject during the object's duration. Since it takes a small amount of time for the computer to perform the rest of the code, it is possible for the subject to press a key without the code entering or exiting a loop. Increasing the SlideObject?s duration decreases the probability of this happening. In my opinion, the optimal length of the duration is 80 ms, but that time length can be increased. If the duration is increased, however, it will take longer for the program to move the image 2 pixels. The motion will, therefore, look somewhat jerky. Even though the computer will catch more key- presses, the efficacy of the Visual Analog Scale will be decreased. Unfortunately, since this flaw is caused by a hardware rather than a software problem, it is not easily patched. It is rumored that IFIS is working on new box that fixes this problem, but, as of July 2003, it had not been completed. --------------------------------------------------------- Explanation of particular lines of code: Destroying the Black Box --------------------------------------------------------- 1) Slide1.InputMasks: this section of code tells the computer to look for input from Slide2. I do not know what all of the values mean; this code was cut-and- pasted from another portion of the E-Prime code. 2) CSlideImage(Slide1.States.Item("Default").Objects(#)): another, more complicated, name for SliderButton2. 3) CSlideImage(Slide1.States.Item("Default").Objects(#)).X : the pixel position of SliderButton2. 4) Slide1.InputMasks.Reset: Empties the value of Slide1.Resp. 5) Slide1.InputMasks.Add Keyboard.CreateInputMasks : This is a really strange way of telling the computer to collect the input from Slide1. In this particular case, the numbers 1, 2, 3, 4, and 5 are acceptable kinds of input.