Holcombe:VerifyTiming: Difference between revisions

From OpenWetWare
Jump to navigationJump to search
No edit summary
No edit summary
Line 4: Line 4:
use [[www.3dexpress.de|DisplayConfigX]]  
use [[www.3dexpress.de|DisplayConfigX]]  


Ideally, your program synchronizes drawing of the stimulus with the refresh of the CRT. To do this, you have to use particular techniques for drawing. There is more information about this, and also data on timing of sounds and the button box when properly done, at the [[Holcombe:Programming]] page.
Ideally, your program synchronizes drawing of the stimulus with the refresh of the CRT. To do this, you have to use particular techniques for drawing. Psychopy has some code included for checking interframe intervals with the system clock, see [http://www.psychopy.org/home.php/Docs/CheckFrameDrops this page on the psychopy wiki]
Once you think you've done it properly, you'll need to verify that stim drawing is synchronized with the CRT.
 
Once you think you've done it properly, best to further verify that stim drawing is synchronized with the CRT.
*Use the tachometer
*Use the tachometer
**It lives in a box on the shelf of the lab
**It lives in a box on the shelf of the lab

Revision as of 17:36, 2 June 2009

Recent members

Alex Holcombe
• Ryo Nakayama



Technical

Skills Checklist
Python Programming
Psychopy/VisionEgg Installation Notes
R analysis,plot,stats
Statistics
Buttonbox
Buttonbox with photocell
Programming Cheat Sheets


Visual

To create custom resolutions and refresh rate modes for the screen if not available in System Preferences->Displays, use DisplayConfigX

Ideally, your program synchronizes drawing of the stimulus with the refresh of the CRT. To do this, you have to use particular techniques for drawing. Psychopy has some code included for checking interframe intervals with the system clock, see this page on the psychopy wiki

Once you think you've done it properly, best to further verify that stim drawing is synchronized with the CRT.

  • Use the tachometer
    • It lives in a box on the shelf of the lab
  • Use an oscilloscope
  • Visually verify that no screen refreshes are missed
    • e.g. my screenRefreshTest.py program exchanges the location of a black and white circle, one off screen and one on screen, every frame. Viewing the display, if any frames are missed, screen flicker should visibly stutter. Fortunately even at 160 Hz 800 by 600, frames are never missed until I try to draw about 10 circles every frame

Precautions for consistent timing

  • Presence of USB external hard drive for TimeMachine takes about 3 ms every 10-20 trials
  • Connection of second screen?

Sound

Here Media:AudioAndUSBnotesWithPython.oo3 is the file with all my notes on different ways to play a sound in Python and the associated latencies and standard deviations of the latencies--Alex O. Holcombe 05:15, 25 June 2008 (UTC)