Note
Version numbers
In general, when a new feature is added the second number is incremented (e.g. 1.00.05 -> 1.01.00). Those releases might break previous code you’ve written because new features often need slight changes to other things. Changes to the final digit (1.00.05 -> 1.00.06) indicate a bug-fixing release or very minor new features that shouldn’t require code changes from the user.
Changes in blue typically indicate things that alter the PsychoPy behaviour in a way that could break compatibility. Be especially wary of those!
Released Feb 2015
Released Jan 2015
ENHANCED: slightly faster rendering of movies for high-rate HD stimuli
CHANGED: pandas is now a strict requirement for the psychopy.data module
FIXED: Builder sounds from file no longer loop indefinitely
FIXED: Builder: microphone recordings are explicitly stopped at the end of every trial
FIXED: Static Components could become hidden by having unknown durations and then couldn’t be changed. Now they are always shown even when times are unknown (Jeremy)
ADDED: Psi adaptive staircase method (thanks Joseph Glavan for writing this)
ADDED: bidi and xlwt packages to the Standalone distribution
ADDED: support for Mouse.setPos() under pyglet back end (Jeremy)
ADDED: support for PST response box (Richard Höchenberger)
FIXED: extraInfo was not being saved in wide-text format
FIXED: Builder was not respecting order for drawing polygon - it was always drawn first
ADDED: Builder now supports ‘degFlat and ‘degFlatPos’ units and documentation has been added for these
Released Dec 2014
Released Oct 2014
Released Oct 2014
Released Sept 2014
IMPROVED: better unit tests for visual stimuli to prevent future bugs
FIXED: MovieStim was right-left flipping movies and this has been corrected. If you had been working around that by setting flipVertical=True then you’ll need to undo that correction
IMPROVED: Can now select a subset of conditions in Builder loops and in data.importConditions() function (thanks Mike MacAskill for help)
IMPROVED: In Builder, loops that don’t reflect trials (e.g. stimuli within a trial or blocks of trials) can be flagged as such, resulting in neater data files
basic support for interacting with BlackBoxToolkit v2 psychopy.hardware.bbtk
added basic support for CRS Bits# in psychopy.hardware.crs. New way to interface with Bits++ as well, using a class rather than a Window argument. See demo in demos>hardware
labjack digital outputs can be used as a Parallel Port Component in Builder
the screen rendering can now include a warping step to simulate spherical, cylindrical or custom warping (Jay Borseth)
the screen now supports ‘frame packing’ whereby sequential frames can be packed into one, as the red, green and blue channels for monochrome high-rate projectors (Jay Borseth)
ioHub eye tracker interface for GazePoint GP3 (Martin Guest)
IMPROVED: you can now specify the standard deviation (default=3) for gaussian mask in various stimuli by setting e.g. maskParams={‘sd’:5} during init or after init.
FIXED: several other minor bugs (that would have given exceptions if encountered). Thanks particularly to Philip Wiesemann for finding several of these
FIXED: machines that didn’t support shaders or framebuffer objects were raising an error on win.flip() if the useFBO argument was not manually set to False. Machines that don’t support the new rendering methods are now handled more gracefully
Released Aug 2014
FIXED: bug with timing of keys when using the timestamped argument
Released June 2014
Released June 2014
Released April 2014
Released April 2014
Released April 2014
Released Mar 2014
Released Mar 2014
ADDED: In Builder you can now customise the data filename/path in the Experiment Settings. Any variables in the expInfo dialog box can be used to create this path. See dataFileName for further info
ADDED: support for advanced rendering modes. Can now ‘add’ rather than average when using transparency. This is better for visual compound stimuli like plaids, and essential for colored anaglyph stimuli where the resulting image needs to be the sum of the left and right eye images.
ADDED: new visual unit options: ‘degFlatPos’ and ‘degFlat’ provide more accurate conversions from degrees to pixels for drawing stimuli (although they’re more accurate, accounting for the flat screen, they may look strange because 1 degree gets larger with greater eccentricity on a flat screen). The previous unit ‘deg’ still exists and remains default as, for many studies, these are expected
ADDED: wider support for the functions contains and overlaps. Most stimuli now have these methods. Also they can now be used irrespective of whether the stimulus and other object have the same units (they used only to work for units of pix)
ADDED: support for other shapes in the Aperture stimulus (and its Builder Component). You can either specify the number of vertices nVert and a size to get a regular polygon aperture, or you can provide a set of arbitrary vertices as your shape argument
CHANGED: Size of ‘square’ or ‘triangle’ apertures used to represent the radius of the circle on which their vertices lay. It is now a height/width as you would more likely expect. This means aperture code in scripts may need rewriting to be smaller.
IMPROVED: stimulus duration is now more precise when using duration (s) or time (s) although using nFrames option is still advised for brief stimuli
IMPROVED: there are now fewer irrelevant lines in the log file as stimuli are initially created
IMPROVED: Staircase loops in Builder now initialise just before the staircase is run, rather than at the start of the experiment. This means they can be controlled by an outer loop and, effectively, restarted
FIXED: ElementArrayStim can take Nx3 or 1x3 values for colors again
FIXED: variable names in Builder are now case-sensitive again (they were being forced to lower case when importing csv files)
FIXED: incorrect equation for the Cumulative Normal fitting function
FIXED: If your variable had a new line character in it this was causing a new line to be started in the csv data file. These are now handled correctly
ADDED: RatingScale markerStart position can be arbitrary, e.g., can start between items or beyond the end of scale
ADDED: RatingScale tickHeight can be used to control the height of tickMarks, including no tick marks (tickHeight=0)
ADDED: RatingScale marker=’hover’ is similar to HTML-style hovering over clickable elements
psychopy.visual.RatingScale Changes :
Released Dec 2013
Released Dec 2013
ADDED: attributes for some stimuli can now be updated using e.g. stim.pos = newPos rather than using stim.setPos(newPos) to make things more like standard Python (thanks Jonas Lindeløv). This version also involved some major restructuring behind the scenes that should not be visible to users (thanks Todd Jennings)
ADDED: option for sounds to loop
ADDED: volume argument for MovieStim so that sound can be muted (Frank Papenmeier)
ADDED: window now prevents system from sleep/screensaver on windows and OS X
ADDED: builder demo for mental rotation task
FIXED: misaligned responses in csv output for QuestHandler (Zhili Zheng)
FIXED: bug when using ElementArrayStim with numpy 1.7.1. Most elements were receiving SF=0
FIXED: ‘semi-automatic’ calibration (thanks Flip Phillips)
FIXED: shut-down issues. Builder now remembers its last experiment and you don’t get multiple messages about the scripts that have changed
FIXED: bugs with MultiStairHandler that were making it unusable (in code and Builder)
FIXED: lists of key presses can now be considered correct (Ian Hussey)
FIXED: certain further cases of bitmap images appearing desaturated
FIXED: mono sounds now duplicate to both channels correctly
FIXED: many user interface tweaks, documentation and help string corrections (Philip Wiesemann)
FIXED: PsychoPy Coder view now closes the iohub process when the experiment script is terminated using ‘Stop’. (Sol Simpson)
FIXED: Builder use of single staircase loops now respects the min/max values
CHANGED: data curve fitting functions are now using scipy.optimise.curve_fit and should hopefully be more robust to local minima(?)
psychopy.iohub Changes :
ADDED: Keyboard and Mouse events can be restricted to those events targeted at a PsychoPy Window. Currently supported on Windows and Linux only.
NEW: PsychoPy TrialHandler can now be used to feed experiment condition variables to the ioDataStore.
NEW: Device configuration file can now be specified to the launchHubServer() function when starting the ioHub Process.
NEW: Simple examples of how to use iohub within a Builder project using a Custom Code Component.
FIXED: Analog Input Event delay calculation error that was causing incorrect time correction to be applied to this event type.
NEW: LabJack AnalogInput interface now handles dropped samples and sampling rates that cause multichannel samples to be split between USB packets.
FIXED: Gaze position calculation fix for the SMI eye tracker interface during binocular tracking.
Creates a set of Pandas Data Frames for device events, experiment messages, and experiment condition variables.
Filter, Group, Join data using the Pandas API.
Access event information with associated condition variable states.
IMPORTANT: The ioDataStore->DataFrame API is still being designed and developed. Expect to find issues. API changes guaranteed.
Released Aug 2013
Released Aug 2013
released July 2013
released June 2013
FIXED: The recent files list in Builder now contains recent files! (Thanks Piotr Iwaniuk)
FIXED: Timing issue with LC Tech eye-tracker in iohub
released June 2013
DEPRECATED: opensslwrap will soon be replaced by pyFileSec, a much-improved version of the same package (= file-oriented encryption)
IMPROVED: substantially (~40%) faster loading of RGB images from disk (by using byte format rather than float). May also allow storing of more images on graphics card than previously
ADDED: AdvancedMicrophone class to add and retrieve a high-frequency tone to indicate the start of recording (e.g., to allow accurate vocal RT estimation), with demo (Jeremy Gray)
REFACTORED: parallel port support. Support for Windows via inpout32/inpout64 and Linux via pyparallel added. Existing API maintained for single port usage, but new PParallel classes added to provide more flexibility when dealing with multiple ports. see psychopy.parallel - functions for interacting with the parallel port (Thanks Mark Hymers)
ADDED: MovieStim now updates its status attribute to FINISHED, in line with other stimuli
CHANGED: microphone default file names include milliseconds (to avoid two files with the same name)
ADDED: color-word speech-recognition demo (coder > input > speech_recognition.py)
ADDED: in Builder components dialog boxes, text that will be interpreted as code is displayed in monospace font
ADDED: remove and warn about trailing whitespace in Builder component values (but not Text fields)
ADDED: support for pyglet version 1.2 alpha (but 1.1.4 is still recommended - it appears to render faster)
ADDED: more sound.SoundPyo methods (get & set duration, volume, looping)
FIXED: event.Mouse() can obtain a default visual.Window(), if one has already been created
ADDED: Builder components generate a compile-time warning if a field’s value looks dynamic but its updating is constant (Jeremy Gray)
ADDED: better simulated scanner-noise in launchScan (just for fun)
ADDED: RatingScale.getHistory() returns intermediate time-stamped ratings; allows “continuous” ratings
CHANGED: RatingScale.getRating() no longer returns False prior to an accepted rating (now returns the currently selected value)
The compatibility changes in this release below are likely to affect very few users
ADDED: Window.callOnFlip() function to allow arbitrary functions to be called, timed precisely to the point where the frame flip has occurred (see Coder Demos>Timing>callOnFlip)
FIXED: a scaling bug in RatingScale descriptions (Giuseppe Pagnoni)
ADDED: support for mirror-image text, and mirror-image BufferImageStim (Jeremy Gray)
ADDED: support for lower latency sound with the pyo library. For now pygame remains the default but this can be changed by setting the order in preferences>general>audio
CHANGED: PsychoPy Standalone is now being built using python 2.7.3 (rather than 2.6). Under OSX psignifit has been removed from this distribution, as have the libraries to create .mov files using Window.saveMovieFrames(). If you need those features then install the 1.75 Standalone and then update to 1.76 using the auto-update system.
ADDED: sound objects (either pygame or pyo) now support autologging
FIXED: a bug in the generation of the LMS color space conversion matrix. It seems nobody was actually using this for real, but if you were contact Jon for details!
FIXED: problem with unset exp.name (was causing wx.Dialog error “TypeError: String or Unicode type required” on new experiments)
CHANGED: exp.name is no longer available from Builder scripts (use exp.getExpName() instead)
FIXED: problem with tiling of depth values for ElementArrayStim (thanks Yuri Spitsyn)
FIXED: Fix to setContrast for certain visual stimuli (Jonas Lindeløv)
FIXED: inability to launch scripts/experiments if the Mac Standalone was in a folder with a space in it
FIXED: Aperture Component now honours the ‘units’ (Hiroyuki Sogo)
FIXED: stimulus contains/overlaps functions now use stimulus ‘units’ and take stimulus orientation into account (Hiroyuki Sogo) NB if you had code in place to perform these corrections yourself you should now remove it!
FIXED: some data outputs were not honouring the ‘matrixOnly’ option (Mike MacAskill)
FIXED: when loading a psydat file of an ExperimentHandler the file automatically saved new copies of its csv/excel outputs. This no longer occurs (if loaded using misc.fromFile)
ADDED: timestamp option to event.waitKeys() (Jonas Lindeløv)
ADDED: a first-run wizard to check the system, report as html (somewhat experimental) (Jeremy Gray)
ADDED: a benchmark wizard (Tools menu) to test hardware & software, option to share on psychopy.org (Jeremy Gray)
ADDED: info.getRAM() (Jeremy Gray)
FIXED: Fall back to primary display if a secondary one is specified but unavailable. (Erik Kastman)
(released Aug 2012)
(released Aug 2012)
(released July 2012)
(released July 2012)
Highlights (and compatibility changes):
Additional changes:
(released April 2012)
(Released March 2012)
(released Feb 2012)
(released Jan 2012)
(released Jan 2012)
(released Jan 2012)
(rc1 released Nov 2011)
FIXED: error with DotStim when fieldSize was a tuple and fieldShape was ‘sqr’
FIXED: calibration plots in Monitor Center now resize and quit as expected
FIXED: conditions files can now have lists of numbers [0,0]
FIXED: buglet with flushing mouse events (thanks Sebastiaan Mathot)
FIXED: Builder components now draw in order, from top to bottom, so lower items obscure higher ones
FIXED: problem with Patch Component when size was set to be dynamic
FIXED: problem with Builder loops not being able to change type (e.g. change ‘random’ into ‘staircase’)
FIXED: data from TrialHandler can be output with unicode contents (thanks Henrik Singmann)
(released Oct 2011)
(released Sept 2011)
CHANGED: Depth testing is now disabled. It was already being recommended that depth was controlled purely by drawing order (not depth settings) but this is now the *only* way to do that
CHANGED: The Builder representation of the Components onset/offset is now based on ‘estimatedStart/Stop’ where a value has been given. NB this does not affect the actual onset/offset of Components merely its representation on the timeline.
ADDED: RatingScale method to allow user to setMarkerPosition()
ADDED: Builder dialogs display a ‘$’ to indicate fields that expect code/numeric input
ADDED: Text Component now has a wrapWidth parameter to control the bounding box of the text
ADDED: Opacity parameter to visual stimulus components in the Builder, so you can now draw plaids etc from the builder
FIXED: can edit or delete filename from loop dialog
FIXED: bug in RunTimeInfo (no longer assumes that the user has git installed)
FIXED: bug in BufferImageStim
FIXED: bug in Builder Ratingscale (was always ending routine on response)
FIXED: problem with nested loops in Builder. Inner loop was not being repeated. Loops are now only created as they are needed in the code, not at the beginning of the script
FIXED: rendering of many stimuli was not working beyond 1000 elements (fixed by removal of depth testing)
FIXED: mouse component now using start/duration correctly (broken since 1.70.00)
FIXED: when changing the texture (image) of a PatchStim, the stimulus now ‘remembers’ if it had been created with no size/sf set and updates these for the new image (previously the size/sf got set according to the first texture provided)
FIXED: putting a number into Builder Sound Component does now produce a sound of that frequency
FIXED: added ‘sound’,’misc’,’log’ to the component names that PsychoPy will refuse. Also a slightly more informative warning when the name is already taken
FIXED: Opacity parameter was having no effect on TextStim when using shaders
FIXED bug with MovieStim not starting at beginning of movie unless a new movie was added each routine
(Released Aug 2011)
(Released Aug 2011)
NB This version introduces a number of changes to Builder experiment files that will prevent files from this version being opened by earlier versions of PsychoPy
CHANGED use of allowedKeys in Keyboard Component. You used to be able to type ynq to get those keys, but this was confusing when you then needed ‘space’ or ‘left’ etc. Now you must type ‘y’,’n’,’q’, which makes it more obvious how to include ‘space’,’left’,’right’...
CHANGED dot algorithm in DotStim. Previously the signalDots=same/different was using the opposite to Scase et al’s terminology, now they match. Also the default method for noiseDots was ‘position’ and this has been changed to ‘direction’. The documentation explaining the algorithms has been clarified. (see Dots (RDK) Component)
CHANGED MovieStim.playing property to be called MovisStim.status (in keeping with other stimuli)
CHANGED names:
- data.importTrialTypes is now data.importConditions
- forceEndTrial in Keyboard Component is now forceEndRoutine
- forceEndTrialOnPress in Mouse Component is now forceEndRoutineOnPress
- trialList and trialListFile in Builder are now conditions and conditionsFile, respectively
- ‘window units’ to set Component units is now ‘from exp settings’ for less confusion
CHANGED numpy imports in Builder scripts:
- only a subset of numpy features are now imported by default: numpy: sin, cos, tan, log, log10, pi, average, sqrt, std, deg2rad, rad2deg, linspace, asarray, random, randint, normal, shuffle
- all items in the numpy namespace are available as np.*
- if a pre-v1.70 script breaks due to this change, try prepending ‘np.’ or ‘np.random.’
CHANGED: Builder use of $. $ can now appear anywhere in the field (previously only the start). To display a ‘$’ character now requires ‘\$’ in a text field (to prevent interpretation of normal text as being code).
ADDED flexibility for start/stop in Builder Components. Can now specify stimuli according to;
- variable values (using $ symbol). You can also specify an ‘expected’ time/duration so that something is still drawn on the timeline
- number of frames, rather than time (s), for greater precision
- an arbitrary condition (e.g. otherStim.status==STOPPED )
ADDED the option to use a raised cosine as a PatchStim mask (thanks Ariel Rokem)
ADDED a preference setting for adding custom path locations to Standalone PsychoPy
ADDED Dots Component to Builder interface for random dot kinematograms
ADDED wide-format data files (saveAsWideText()) (thanks Michael MacAskill)
ADDED option for full randomization of repeated lists (loop type ‘fullRandom’) (Jeremy)
ADDED builder icons can now be small or large (in prefs)
ADDED checking of conditions files for parameter name conflicts (thanks Jeremy)
ADDED emulate sync pulses and user key presses for fMRI or other scanners (for testing); see hardware/launchScan in the API reference, and Coder demos > experimental control > fMRI_launchScan.py (Jeremy)
ADDED right-clicking the expInfo in Experiment Settings tests & previews the dialog box (Jeremy)
ADDED syntax checking in code component dialog, right-click (Jeremy)
IMPROVED documentation (thanks Becky Sharman)
IMPROVED syntax for using $ in code snippets (e.g., “[$xPos, $yPos]” works) (Jeremy)
IMPROVED Flow and Routine displays in the Builder, with zooming; see the View menu for key-board shortcuts (Jeremy)
IMPROVED Neater (and slightly faster) changing of Builder Routines on file open/close
FIXED demos now unpack to an empty folder (Jeremy)
FIXED deleting an empty loop from the flow now works (Jeremy)
FIXED further issue in QUEST (the addition in 1.65.01 was being used too widely)
FIXED bug with updating of gamma grid values in Monitor Center
Released July 2011
FIXED Builder keyboard component was storing ‘all keys’ on request but not all RTs
FIXED Aperture Component in Builder, which was on for an entire Routine. Now supports start/stop times like other components
IMPROVED Sound stimuli in Builder:
- FIXED: sounds could be distorted and would repeat if duration was longer than file
- ADDED volume parameter to sound stimuli
- FIXED: duration parameter now stops a file half-way through if needed
FIXED buglet preventing some warning messages being printed to screen in Builder experiments
FIXED bug in the copying/pasting of Builder Routines, which was previously introducing errors of the script with invalid _continueName values
(Released July 2011)
(Released July 2011)
Released April 2011
ADDED option to return field names when importing a trial list (thanks Gary Lupyan)
ADDED Color-picker on toolbar for Coder and context menu for Builder (Jeremy Gray)
ADDED CustomMouse to visual (Jeremy Gray)
ADDED Aperture object to visual (thanks Yuri Spitsyn) and as a component to Builder (Jeremy Gray)
ADDED user-configurable code/output font (see coder prefs to change)
ADDED gui.Dlg now automatically uses checkboxes for bools in inputs (Yuri Spitsyn)
ADDED RatingScale component for Builder (Jeremy Gray)
ADDED option for Builder components to take code (e.g. variables) as start/duration times
ADDED support for RGBA files in SimpleImageStim
IMPROVED namespace management for variables in Builder experiments (Jeremy Gray)
IMPROVED prefs dialog
IMPROVED test sequence for PsychoPy release (so hopefully fewer bugs in future!)
FIXED bug with ElementArrayStim affecting the subsequent color of ShapeStim
FIXED problem with the error dialog from Builder experiments not being a sensible size (since v1.63.03 it was just showing a tiny box instead of an error message)
FIXED Coder now reloads files changed outside the app when needed (thanks William Hogman)
FIXED Builder Text Component now respects the font property
FIXED problem with updating to a downloaded zip file (win32 only)
FIXED bug with ShapeStim.setOpacity when no shaders are available
FIXED long-standing pygame scaling bug
FIXED you can now scroll Builder Flow and still insert a Routine way to the right
Released Feb 2011
Released Feb 2011
ADDED scrollbar to output panel
FIXED small bug in QUEST which gave an incorrectly-scaled value for the next() trial
FIXED ElementArrayStim was not drawing correctly to second window in multi-display setups
FIXED negative sound durations coming from Builder, where sound was starting later than t=0
FIXED a problem where Builder experiments failed to run if ‘participant’ wasn’t in the experiment info dialog
Released Feb 2011
ADDED clearFrames option to Window.saveMovieFrames
ADDED support for Spectrascan PR655/PR670
NB. this is likely to become the default unit for new users (set in prefs) but for existing users the unit set in their prefs will remain. That means that your system may behave differently to your (new user) colleague’s
IMPROVED handling of damaged experiments in Builder (they don’t crash the app any more!)
IMPROVED performance of autoLogging (including demos showing how to turn of autoLog for dynamic stimuli)
Released Jan 2011
FIXED bug with ElementArrayStim.setFieldPos() not updating
FIXED mouse release problem with pyglet (since in 1.63.00)
This is possible even though you may not retrieve the mouse event until later (e.g. waiting for a frame flip). Thanks Dave Britton
FIXED bug with filters.makeGrating: gratType=’sqr’ was not using ori and phase
if users selected ‘skip ths version’)
CHANGED optimisation routine from fmin_powell to fmin_bfgs. It seems more robust to starting params.
Released Dec 2010
FIXED bug in color calibration for LMS color space (anyone using this space should recalibrate immediately) Thanks Christian Garber for picking up on this one.
FIXED bug with excel output from StairHandler
FIXED bug in ElemetArray.setSizes()
FIXED bug in running QuestHandler (Zarrar Shehzad)
FIXED bug trying to remove a Routine from Flow when enclosed in a Loop
FIXED bug with inseting Routines into Flow under Linux
FIXED bug with playing a MovieStim when another is already playing
CHANGED default values for Builder experiment settings (minor)
CHANGED ShapeStim default fillColor to None (from (0,0,0))
FIXED DotStim now supports a 2-element fieldSize (x,y) again
CHANGED phase of RadialStim to be ‘sin’ instead of ‘cosine’ at phase=0
FIXED rounding issue in RadialStim phase
FIXED ElementArrayStim can now take a 2x1 input for setSizes(), setSFs(), setPhases()
ADDED packages to standalone distributions: pyserial, pyparallel (win32 only), parallel python (pp), IPython
CHANGED Builder demos are now back in the distributed package. Use >Demos>Unpack... to put them in a folder you have access to and you can then run them from the demos menu
FIXED bug with ShapeStim initialisation (since 1.62.02)
UPDATED: Builder demos
Released Oct 2010
Released Sept 2010
ADDED: clicking on a Routine in the Flow window brings that Routine to current focus above
ADDED: by setting a loop in the Flow to have 0 repeats, that part of your experiment can be skipped
CHANGED: builder hides mouse now during fullscreen experiments (should make this a pref or setting though?)
FIXED: rendering problem with the Flow and Routine panels not updating on some platforms
ADDED: added .pause() .play() and .seek() to MovieStim (calling .draw() while paused will draw current static frame)
FIXED: bug in MovieStim.setOpacity() (Ariel Rokem)
FIXED: bug in win32 - shortcuts were created in user-specific start menu not all-users start menu
CHANGED: data output now uses std with N-1 normalisation rather than (scipy default) N
FIXED: bug when .psyexp files were dropped on Builder frame
FIXED: bug with Builder only storing last letter or multi-key button (e.g. ‘left’->’t’) under certain conditions
FIXED: when nReps=0 in Builder the loop should be skipped (was raising error)
CHANGED: mouse icon is now hidden for full-screen Builder experiments
FIXED: Builder was forgetting the TrialList file if you edited something else in the loop dialog
ADDED: visual.RatingScale and a demo to show how to use it (Jeremy Gray)
ADDED: trial loops in builder can now be aborted by setting someLoopName.finished=True
ADDED: improved timing. Support for blocking on VBL for all platforms (may still not work on intel integrated chips)
FIXED: minor bug with closing Coder windows generating spurious error messages
ADDED: ‘allowed’ parameter to gui.fileOpeNDlg and fileCloseDlg to provide custom file filters
Released: August 2010
CHANGED: for builder experiments the trial list for a loop is now imported from the file on every run, rather than just when the file is initially chosen
CHANGED: data for TrialHandler are now stored as masked arrays where possible. This means that trials with no response can be more easily ignored by analysis
FIXED: bug opening loop properties (bug introduced by new advanced params option)
FIXED: bug in Builder code generation for keyboard (only when using forceEnd=True but store=’nothing’)
CHANGED: RunTimeInfo is now in psychopy.info not psychopy.data
CHANGED: PatchStim for image files now defaults to showing the image at native size in pixels (making SimpleImageStim is less useful?)
CHANGED: access to the parameters of TrialList in the Builder now (by default) uses a more cluttered namespace for variables. e.g. if your TrialList file has heading rgb, then your components can access that with ‘$rgb’ rather than ‘$thisTrial.rgb’. This behaviour can be turned off with the new Builder preference ‘allowClutteredNamespace’.
FIXED: if Builder needs to output info but user had closed the output window, it is now reopened
FIXED: Builder remembers its window location
CHANGED: Builder demos now need to be fetched by the user - menu item opens a browser (this is slightly more effort, but means the demos aren’t stored within the app which is good)
CHANGED: loops/routines now get inserted to Flow by clicking the mouse where you want them :-)
ADDED: you can now have multiple Builder windwos open with different experiments
ADDED: you can now copy and paste Routines form one Builder window to another (or itself) - useful for reusing ‘template’ routines
FIXED: color of window was incorrectly scaled for ‘named’ and ‘rgb256’ color spaces
ADDED: quicktime movie output for OSX 10.6 (10.5 support was already working)
ADDED: Mac app can now receive dropped files on the coder and builder panels (but won’t check if these are sensible!!)
ADDED: debugMode preference for the app (for development purposes)
ADDED: working version of RatingStim
Patch released July 2010
Patch released June 2010
Patch released May 2010
Released May 2010
Released Feb 2010
Released Feb 2010
Released Feb 2010
Released Feb 2010
ADDED: full implementation of staircase to Builder loops and included a demo for it to Builder
CHANGED: builder components now have a ‘startTime’ and ‘duration’ rather than ‘times’
ADDED: QuickTime output option for movies (OSX only)
ADDED: script is saved by coder before running (can be turned off in prefs)
ADDED: coder checks (and prompts) for filesave before running script
ADDED: setHeight to TextStim objects, so that character height can be set after initialisation
ADDED: setLineRGB, setFillRGB to ShapeStim
ADDED: ability to auto-update form PsychoPy source installer (zip files)
ADDED: Monitor Center can be closed with Ctrl-W
ADDED: visual.Window now has a setRGB() method
ADDED: visual.Window now has a clearBuffer() method
ADDED: context-specific help buttons to Builder dialogs
ADDED: implemented of code to flip SimpleImageStim (added new methods flipHoriz() and flipVert())
ADDED: Butterworth filters to psychopy.filters (thanks Yaroslav Halchenko)
ADDED: options to view whitespace, EOLs and indent guides in Coder
ADDED: auto-scaling of time axis in Routines panel
IMPROVED: Splash screen comes up faster to show the app is loading
FIXED: bug in RadialStim .set functions (default operation should be “” not None)
FIXED: on mac trying to save an unchanged document no longer inserts an ‘s’
FIXED: bug with SimpleImageStim not drawing to windows except #1
FIXED: one bug preventing PsychoPy from running on vista/win7 (are there more?)
CHANGED: psychopy.filters.makeMask() now returns a mask with values -1:1, not 0:1 (as expected by stimulus masks)
RESTRUCTURED: the serial package is no longer a part of core psychopy and is no longer required (except when hardware is actually being connected). This should now be installed as a dependency by users, but is still included with the Standalone packages.
RESTRUCTURED: preparing for further devices to be added, hardware is now a folder with files for each manufacturer. Now use e.g.:
from psychopy.hardware.PR import PR650
from psychopy.hardware.cedrus import RB730
(released Nov 2009)
NB. The changes to gamma handling should need no changes to your code, but could alter the gamma correction on some machines. For setups/studies that require good gamma correction it is recommended that you recalibrate when you install this version of PsychoPy.
(released Sep 09)
(released Sep 09)
(released Sep 09)
(released Sep 09)
(released Jul 09)
(released Jul 09)
(released Jun 09)
FIXED bug in text rendering (ATI/win32/pyglet combo only)
FIXED minor bug in handling of images with alpha channel
added rich text ctrl to IDE output, including links to lines of errors
IDE now only opens one copy of a given text file
improved (chances of) sync-to-vertical blank on windows without adjusting driver settings (on windows it’s still better to set driver to force sync to be safe!)
added center and radius arguments to filters.makeMask and filters.makeRadialMatrix
If you leave winType as None PsychoPy tries to use Pygame, Pyglet, GLUT in that order (when Pyglet can handle gamma funcs it will become default). Can be overridden by specifying winType.
turned off depth testing for drawing of text (will simply be overlaid in the order called)
changes to TextStim: pyglet fonts are loaded by name only, not filename. PsychoPy TextStim now has an additional argument called ‘fontFiles=[]’ to allow the adding of custom ttf fonts, but the font name should be used as the font=” ” argument.
updated some of the Reference docs
Known Problems: * The IDE isn’t collecting all errors that are returned - a problem with the process redirection mechanism? FIXED in 0.92.3
sounds now in stereo and a new function to allow you to choose the settings for the sound system.
LMS colors (cone-isolating stimuli) are now tested and accurate (when calibrated)
added minVal and maxVal arguments to data.StairHandler so that range can be bounded
@import psychopy@ no longer imports anything other than core
NEW post-install script for Win32 installs shortcuts to your >>Start>Programs menu
NEW parallel port code (temporary form) using DLportIO.dll can be found under _parallel
NEW hardware module with support for fORP response box (for MRI) using serial port
for thisTrial in allTrials:
but a consequence was that .nextTrial() will be deprecated in favour of .next(). Also, when the end of the trials is reached a StopIteration is raised. * added the ability to seed the shuffle mechanism (and trial handler) so you can repeat experiments with the same trial sequence