psychopy.visual.windowframepack - Pack multiple monochrome images into RGB frame

Copyright (C) 2014 Allen Institute for Brain Science

This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License Version 3 as published by the Free Software Foundation on 29 June 2007. This program is distributed WITHOUT WARRANTY OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE OR ANY OTHER WARRANTY, EXPRESSED OR IMPLIED. See the GNU General Public License Version 3 for more details. You should have received a copy of the GNU General Public License along with this program. If not, see


class psychopy.visual.windowframepack.ProjectorFramePacker(win)[source]

Class which packs 3 monochrome images per RGB frame.

Allowing 180Hz stimuli with DLP projectors such as TI LightCrafter 4500.

The class overrides methods of the visual.Window class to pack a monochrome image into each RGB channel. PsychoPy is running at 180Hz. The display device is running at 60Hz. The output projector is producing images at 180Hz.

Frame packing can work with any projector which can operate in ‘structured light mode’ where each RGB channel is presented sequentially as a monochrome image. Most home and office projectors cannot operate in this mode, but projectors designed for machine vision applications typically will offer this feature.

Example usage to use ProjectorFramePacker:

from psychopy.visual.windowframepack import ProjectorFramePacker
win = Window(monitor='testMonitor', screen=1,
             fullscr=True, useFBO = True)
framePacker = ProjectorFramePacker (win)

win : Handle to the window.


Mask RGB cyclically after each flip. We ignore clearBuffer and just auto-clear after each hardware flip.


Return True if all channels of the RGB frame have been filled with monochrome images, and the associated window should perform a hardware flip

Back to top