By | 24.11.2023

PsychoPy® is a free cross-platform package allowing you to run a wide range of experiments in the behavioral sciences (neuroscience, psychology. PsychoPy is an open-source package for creating experiments in behavioral science. It aims to provide a single package that is. PsychoPy is an open source software package written in the Python programming language primarily for use in neuroscience and experimental psychology research.

|Peirce: ku.


The current paper describes a new free suite of software tools designed to make this task easier, psychopy, psychopy, using the latest advances in hardware and software, psychopy. PsychoPy is a platform-independent experimental control system written in the Python interpreted language using entirely psychopy libraries, psychopy. PsychoPy scripts psychopy designed to be extremely easy to read and write, psychopy, while retaining complete power for the user to customize psychopy stimuli and environment, psychopy.

Tools are provided psychopy the package to psychopy everything from stimulus presentation and response collection from psychopy wide range of devices to simple data analysis such as psychometric function fitting.


Most importantly, PsychoPy is highly extensible and the whole system can psychopy via user contributions, psychopy. If a user wants to add psychopy for a particular stimulus, psychopy or hardware device they can look at the code for existing examples, modify them and psychopy the modifications back into the psychopy so that the whole psychopy benefits, psychopy.

Introduction Since the s computers and cathode-ray-tube displays CRTs have been used extensively, psychopy, almost ubiquitously, in visual and cognitive neuroscience experiments, psychopy. Despite the spatial and temporal limitations of the displays Bach et al. This paper describes PsychoPy, a new suite of software tools to make it easier to build simple visual and auditory stimuli for neuroscience experiments. The psychopy of the project was to produce a package psychopy was entirely free, as easy as psychopy to use, psychopy, psychopy, and based on relatively inexpensive and preferably vendor-independent hardware, psychopy.


The result is a psychopy of psychopy built on top of the Python programming language that makes calls directly to OpenGL psychopy libraries. These tools are fully platform-independent psychopy the major operating systems and can interface freely and simply with an psychopy wide range psychopy additional hardware. Psychopy and materials 2, psychopy.

The necessary Python libraries on which it is based are also available on Psychopy and some users have reported success on that platform although it has received less complete testing as yet, psychopy.

The package is highly portable because it uses a minimal amount of compiled e. C-based code, psychopy. One of the minimum requirements for PsychoPy is a graphics card that supports OpenGL drivers and multitexturing, psychopy, psychopy. For psychopy using a few simple stimuli such as a pair of Gabor patches and a fixation point basic versions of these cards or motherboards with built-in graphics processors are likely to suffice, psychopy, psychopy.

For experiments that need to draw a large number of stimuli such as random psychopy displays or global psychopy patterns a more powerful graphics card, a fast CPU, and plenty of memory can all result in performance gains, psychopy.

This has the advantages of being a relatively platform-independent language with a psychopy simple syntax and numerous high-level libraries, psychopy. It is expensive and, psychopy a proprietary software solution, comes without source code which leaves the psychopy community heavily reliant on its customer psychopy services, psychopy.

Psychopy downside has been clearest in the company's psychopy at times to support the Apple platform, psychopy. They are psychopy high-level, psychopy, extensible, interpreted languages, psychopy there are several key differences, psychopy, psychopy, psychopy, psychopy.

Python has a much cleaner syntax, making code easier to read and debug, psychopy. It is completely open source and continuously developed on all psychopy, each psychopy which has its own strong user base. When bugs or incompatibilities are found they are generally very quickly fixed and, psychopy, because psychopy full source code psychopy available, psychopy, users can actually debug or change Python themselves if they are sufficiently competent programmers, psychopy.

Another major advantage to the developer rather than necessarily the user is psychopy Python has a large set of libraries already built, psychopy, including psychopy complete interface to OpenGL calls, psychopy.

These greatly reduce the need for platform-specific C-code, psychopy. Indeed, PsychoPy is written almost entirely in native Python code, psychopy.

The main downsides of Python, at least for psychopy casual user, psychopy, psychopy, psychopy, are that psychopy can require more effort, psychopy. When a user installs Python for the purposes of neuroscience experiments they typically need to install around 10 auxiliary libraries to handle the functions such as data handling and psychopy, stimulus drawing, hardware interfaces, psychopy.

There is also, of course, psychopy, psychopy, a time investment in learning a new syntax, psychopy. Speaking for myself, psychopy, I certainly psychopy that the advantages of the improved syntax and absence of license fees warranted the investment of that psychopy. As a result people have resorted to pre-computing stimulus movies or by manipulating the computer's color look-up table CLUT to create dynamic stimuli such as drifting gratings, psychopy, psychopy.

Since most computers were too slow to perform the calculations and transmit the data to the graphics card within psychopy requisite 10 psychopy, movies of these stimuli had to be pre-computed to perform the task.

Several advances have psychopy that this problem is no longer an issue. The central processing unit CPU obviously runs much faster than it used to, psychopy, and the speed with which data is transferred to the graphics card memory is also vastly improved, but an even more important development for generation of these stimuli is that of hardware-accelerated graphics. PsychoPy uses this fact and preloads the graphics card with component patterns such as sinusoids and Gaussian envelopes at the start of the experiment.

Then, when a psychopy is needed psychopy a particular orientation, psychopy, phase and position, the GPU is able to do the work of identifying how these components need to be psychopy e. This can generally be performed for several hundred stimuli in much less time than one computer frame and with very little impact on the CPU.

As a result the CPU is left to handle other tasks such as communicating with hardware and psychopy for events such as subject responses or MR scanner triggers, psychopy.

The drawing processes also require very few commands to be issued, which means that the overhead of using an interpreted language is diminished. The concept can easily psychopy extended psychopy encompass second order stimuli such as contrast-modulated noise stimuli where three component matrices a carrier, psychopy, an envelope and a mask are combined in one operation by the graphics card, psychopy.

Similarly, by using OpenGL's notion of alpha channels transparency we can trivially overlay multiple semi-transparent gratings to create psychopy such as plaids. As a psychopy of these processes being so quick and executed psychopy minimal input from the CPU, psychopy, a large number of stimuli can be rendered, so that stimuli such as moving psychopy dot displays can be generated in real-time and can even be generated using psychopy complex elements like Gabors or difference-of-Gaussian patches.

Results 3. What PsychoPy provides The primary functions of PsychoPy were designed to handle stimulus display and psychopy. They allow the user to generate a window or full-screen presentation and provide some basic stimuli to use within that window e.

In addition to the stimuli provided or modifications of thempsychopy, the user can generate entirely new stimuli by issuing OpenGL commands directly to the window, or combine pre-packaged stimuli with their own commands, psychopy.

In addition psychopy the visual presentation, for which it was originally psychopy, PsychoPy is able to present stereo psychopy stimuli using the computer sound card. Psychopy can easily be gathered via the keyboard and mouse, by standard devices such as joysticks, psychopy, or by more elaborate hardware via the serial or psychopy ports. PsychoPy also provides a graphical-user-interface GUI application called MonitorCenter to manage calibration of monitors and store information from previous calibrations, psychopy.

The user simply inputs the dimensions of the monitor and psychopy distance using the GUI allowing PsychoPy to convert psychopy between various coordinate systems such as degrees of visual angle, psychopy, psychopy, centimeters or pixels, psychopy. In addition MonitorCenter psychopy stores gamma-correction parameters for psychopy monitor, psychopy, which are then applied automatically during experimental scripts, psychopy, psychopy.

Furthermore, if a Spectrascan Psychopy is connected to the serial port MonitorCenter can also perform a fully automated calibration at the touch of a button. This calibration will measure the luminance psychopy a series of intensity levels and fit the optimum gamma-function to each gun, psychopy, psychopy. The PR will also measure the intensity psychopy for each gun to allow transformations between various color spaces, psychopy.

PsychoPy will perform all the necessary spatial and chromatic calculations for psychopy user. Although other packages, psychopy, such as PsychToolbox, may provide scripts that psychopy the user with these sorts of manipulations, none has such a simple automated approach psychopy the user psychopy refer to their stimuli directly in real-world units Fig.❷