Opticka 2.16.1
Opticka is an experiment manager for behavioral research.
Loading...
Searching...
No Matches
screenManager Class Reference

screenManager — manage opening and configuring the PTB screen More...

Detailed Description

screenManager — manage opening and configuring the PTB screen

screenManager manages the (many!) PTB screen settings. You can set many properties of this class to control PTB screens, and use it to open and close the screen based on those properties. This class controls the transformation from degrees into pixels, and it can offset the screen co-ordinates (i.e. you can set a global X and Y position offset, to a screen position and then all other positions will be relative to this global screen center). By setting bitDepth you can enable Display++, DataPixx, HDR and high bit-depth display modes. This class also manages movie recording of the screen buffer. Finally it wraps some generic drawing commands like grids, text, spots or other basic things that would be overkill for aa dedicated stimulus class.

Copyright ©2014-2024 Ian Max Andolina — released: LGPL3, see LICENCE.md

Inheritance diagram for screenManager:

Public Member Functions

function screenManager (in varargin)
 
function prepareScreen (in me)
 
function open (in me, in debug, in tL, in forceScreen)
 open a screen with object defined settings
 
function switchChannel (in me, in channel)
 
function demo (in me)
 Small demo of screen opening, drawing, closing.
 
function flip (in me, in varargin)
 Flip the screen.
 
function asyncFlip (in me, in when, in varargin)
 Flip the screen asynchrounously.
 
function asyncCheck (in me)
 Check async state?
 
function asyncEnd (in me)
 end async state
 
function forceWin (in me, in win)
 force this object to use an existing window handle
 
function hideScreenFlash (in me)
 This is the trick Mario told us to "hide" the colour changes as PTB starts – we could use backgroundcolour here to be even better.
 
function close (in me)
 close the screen when finished or on error
 
function resetScreenGamma (in me)
 reset the gamma table
 
function set font (in me, in varargin)
 
function set backgroundColour (in me, in value)
 
function set bitDepth (in me, in value)
 
function set srcMode (in me, in value)
 
function set dstMode (in me, in value)
 
function set distance (in me, in value)
 
function set pixelsPerCm (in me, in value)
 
function get ppd (in me)
 
function set windowed (in me, in value)
 
function set screenXOffset (in me, in value)
 Set method for screenXOffset.
 
function set screenYOffset (in me, in value)
 Set method for screenYOffset.
 
function set verbosityLevel (in me, in value)
 Set method for verbosityLevel.
 
function finishDrawing (in me)
 Screen('DrawingFinished')
 
function testWindowOpen (in me)
 Test if window is actully open.
 
function flashScreen (in me, in interval)
 Flash the screen until keypress.
 
function drawCross (in me, in size, in colour, in x, in y, in lineWidth, in showDisk, in alpha, in alpha2)
 draw fixation cross from Thaler L, Schütz AC, Goodale MA, & Gegenfurtner KR (2013) “What is the best fixation target? The effect of target shape on stability of fixational eye movements. Vision research 76, 31-42 http://doi.org/10.1016/j.visres.2012.10.012
 
function drawSimpleCross (in me, in size, in colour, in x, in y, in lineWidth)
 draw small cross
 
function drawPupilCoreMarker (in me, in sz, in x, in y, in stop)
 draw pupil core calibration marker
 
function drawSpot (in me, in size, in colour, in x, in y)
 draw small spot centered on the screen
 
function drawTimedSpot (in me, in size, in colour, in time, in reset)
 draw timed small spot centered on the screen
 
function drawGreenSpot (in me, in size)
 draw small spot centered on the screen
 
function drawRedSpot (in me, in size)
 draw small spot centered on the screen
 
function drawTextNow (in me, in text, in x, in y, in wrapat)
 draw text and flip immediately
 
function drawText (in me, in text, in x, in y)
 draw text
 
function drawTextWrapped (in me, in text, in wrapat, in x, in y)
 draw text with wrapping
 
function drawLines (in me, in xy, in width, in colour)
 draw lines specified in degrees to pixels
 
function drawBox (in me, in xy, in boxsize, in colour)
 draw box specified with x and y and size in degrees
 
function drawBoxPx (in me, in xy, in boxsize, in colour)
 draw box specified with x and y and size in pixels
 
function drawRect (in me, in rect, in colour)
 draw Rect specified in degrees
 
function drawDots (in me, in xy, in size, in colour, in center)
 draw dots specified in degrees to pixel center coordinates
 
function drawDotsDegs (in me, in xy, in size, in colour)
 draw dots specified in degrees
 
function drawScreenCenter (in me)
 draw small spot centered on the screen
 
function drawGrid (in me)
 draw a 5x5 1deg dot grid for visual debugging
 
function drawPhotoDiodeSquare (in me, in colour)
 draw a square in top-right of screen to trigger photodiode
 
function drawMousePosition (in me, in force)
 draw the mouse X and Y position on screen
 
function drawBackground (in me, in background)
 Draw the background colour.
 
function captureScreen (in me, in filename)
 Copies the window to a screenshot.
 
function mousePosition (in me, in verbose)
 return mouse position in degrees
 
function checkWindowValid (in me)
 Check window handle is valid.
 
function prepareMovie (in me)
 prepare the recording of stimulus frames
 
function addMovieFrame (in me)
 add current frame to recorded stimulus movie
 
function finaliseMovie (in me)
 finish stimulus recording
 
function playMovie (in me)
 play back the recorded stimulus
 
function toDegrees (in me, in in, in axis)
 toDegrees - convert from pixels to degrees
 
function toPixels (in me, in in, in axis)
 toPixels - convert from degrees to pixels
 
function delete (in me)
 Delete method.
 
function drawPhotoDiode (in me, in colour)
 
- Public Member Functions inherited from optickaCore
function optickaCore (in varargin)
 Class constructor.
 
function get fullName (in me)
 
function getALF (in me, in subject, in sessionPrefix, in lab, in create)
 
function findAttributes (in me, in attrName, in attrValue)
 
function findAttributesandType (in me, in attrName, in attrValue, in type)
 find properties of object with specific attributes, for example all properties whose GetAcccess attribute is public and type is logical.
 
function findPropertyDefault (in me, in propName)
 
function clone (in me)
 Use this syntax to make a deep copy of the object, i.e. OBJ_OUT has the same field values, but will not behave as a handle-copy of me anymore.
 
function checkSuperclasses (in List)
 
function editProperties (in me, in properties)
 method to modify a set of properties
 
function setProp (in me, in property, in value)
 method to fast change a particular value. This is useful for use in anonymous functions, like in the state machine.
 
function initialiseGlobals (in me, in doReset, in doOpen)
 
function initialiseSaveFile (in me)
 Initialise Save prefix.
 
function checkPaths (in me)
 checks the paths are valid
 

Static Public Member Functions

static function equidistantPoints (in n, in distance, in phase)
 
static function rectToPos (in rect)
 
static function posToRect (in pos)
 
static function setRefresh (in value)
 Set Refresh Screen('ConfigureDisplay', setting, screenNumber, outputId [, newwidth][, newheight][, newHz][, newX][, newY]);.
 
static function setResolution (in w, in h, in f)
 Set Resolution and refresh Screen('ConfigureDisplay', setting, screenNumber, outputId [, newwidth][, newheight][, newHz][, newX][, newY]);.
 
static function validateDisplayPlusPlus (in screen, in vulkan)
 Run validation for Display++.
 
static function identifyScreens ()
 Identify screens.
 
static function bitsCheckOpen (in port, in keepOpen)
 check for display++, and keep open or close again
 
static function bitsSwitchStatusScreen ()
 Flip the screen.
 
- Static Public Member Functions inherited from optickaCore
static function makeArgs (in args)
 Converts cell args to structure array.
 
static function addDefaults (in args, in defs)
 add default options to arg input
 
static function hasKey (in in, in key)
 check if a struct / object has a propery / field
 
static function getKeys (in device)
 PTB Get key presses, stops key bouncing.
 

Public Attributes

Property screen
 
Property pixelsPerCm
 Set method for pixelsPerCm.
 
Property distance
 Set method for distance.
 
Property windowed
 Set method for windowed.
 
Property stereoMode
 stereo mode
 
Property debug
 
Property visualDebug
 
Property doubleBuffer
 
Property mirrorDisplay
 
Property bitDepth
 Set method for bitDepth.
 
Property timestampingMode
 
Property antiAlias
 
Property backgroundColour
 background RGBA of display during stimulus presentation
 
Property blend
 use OpenGL blending mode
 
Property srcMode
 OpenGL blending source mode.
 
Property dstMode
 OpenGL blending dst mode.
 
Property screenXOffset
 
Property screenYOffset
 
Property gammaTable
 gamma correction info saved as a calibrateLuminance object
 
Property movieSettings
 
Property screenVals
 
Property verbose
 verbose output?
 
Property verbosityLevel
 level of PTB verbosity, set to 10 for full PTB logging
 
Property useRetina
 
Property screenToHead
 
Property displayPPRefresh
 
Property hideFlash
 
Property font
 
Constant Property bitDepths
 possible bitDepth or display modes
 
Constant Property blendModes
 possible OpenGL blend modes (src or dst)
 
Property anaglyphLeft
 anaglyph channel gains
 
Property anaglyphRight
 
Property colorMode
 The mode to use for color++ mode.
 
Property disableSyncTests
 
Property syncVariance
 
Property overlayWin
 overlay window if mirrorDisplay was enabled
 
Property specialFlags
 e.g. kPsychGUIWindow
 
Property useVulkan
 try to enable vulkan?
 
- Public Attributes inherited from optickaCore
Property name
 object name
 
Property comment
 comment
 
Property verbose
 verbose logging, subclasses must assign this. This is normally logical true/false
 
Property dateStamp
 clock() dateStamp set on construction
 
Property uuid
 universal ID
 
Property paths
 storage of various paths
 
Property fullName
 The fullName is the object name combined with its uuid and class name.
 

Additional Inherited Members

- Protected Member Functions inherited from optickaCore
function parseArgs (in me, in args, in allowedProperties)
 Sets properties from a structure or normal arguments pairs, ignores invalid or non-allowed properties.
 
function addArgs (in me, in args)
 
function setPaths (in me)
 Sets properties from a structure or normal arguments pairs, ignores invalid or non-allowed properties.
 
function getFonts (in me)
 set paths for object
 
function toStructure (in me)
 Converts properties to a structure.
 
function getType (in me, in in)
 
function logOutput (in me, in in, in message, in override)
 Give a metaproperty return the likely property class.
 
function salutation (in me, in varargin)
 Prints messages dependent on verbosity.
 
- Protected Attributes inherited from optickaCore
Property cloning
 are we cloning this from another object
 
Property mversion
 Matlab version number, this is transient so it is not saved.
 
Property sansFont
 sans font
 
Property monoFont
 monoFont
 
Property className
 class name
 
Property savePrefix
 save prefix generated from clock time
 
Property fullName_
 cached full name
 

Constructor & Destructor Documentation

◆ screenManager()

me screenManager::screenManager ( in  varargin)

screenManager CONSTRUCTOR

Parameters
varargincan be simple name value pairs, a structure or cell array
Returns
instance of the class.

Member Function Documentation

◆ addMovieFrame()

function screenManager::addMovieFrame ( in  me)

add current frame to recorded stimulus movie

Parameters

return

◆ asyncCheck()

screenManager::asyncCheck ( in  me)

Check async state?

Returns
result - is in async state?

◆ asyncEnd()

screenManager::asyncEnd ( in  me)

end async state

Returns
vbl - return time

◆ asyncFlip()

screenManager::asyncFlip ( in  me,
in  when,
in  varargin 
)

Flip the screen asynchrounously.

Parameters
when- when to flip
Returns
vbl - a vbl from this flip

◆ backgroundColour()

function set screenManager::backgroundColour ( in  me,
in  value 
)

◆ bitDepth()

function set screenManager::bitDepth ( in  me,
in  value 
)

◆ bitsCheckOpen()

static function screenManager::bitsCheckOpen ( in  port,
in  keepOpen 
)
static

check for display++, and keep open or close again

Parameters
portoptional serial USB port
keepOpenshould we keep it open after check (default yes)
Returns
connected - is the Display++ connected?

◆ bitsSwitchStatusScreen()

static function screenManager::bitsSwitchStatusScreen ( )
static

Flip the screen.

Parameters

return

◆ captureScreen()

screenManager::captureScreen ( in  me,
in  filename 
)

Copies the window to a screenshot.

Parameters
filenameoptional filename

◆ checkWindowValid()

function screenManager::checkWindowValid ( in  me)

Check window handle is valid.

◆ close()

screenManager::close ( in  me)

close the screen when finished or on error

Parameters

return

◆ delete()

function screenManager::delete ( in  me)

Delete method.

◆ demo()

screenManager::demo ( in  me)

Small demo of screen opening, drawing, closing.

◆ distance()

function set screenManager::distance ( in  me,
in  value 
)

◆ drawBackground()

screenManager::drawBackground ( in  me,
in  background 
)

Draw the background colour.

Parameters
backgroundan optional colour

◆ drawBox()

function screenManager::drawBox ( in  me,
in  xy,
in  boxsize,
in  colour 
)

draw box specified with x and y and size in degrees

Parameters
xyX is row1 and Y is row2 in degrees
sizein degrees, either 1 or 2 values
colourRGB[A], use columns for multiple colours
Returns

◆ drawBoxPx()

function screenManager::drawBoxPx ( in  me,
in  xy,
in  boxsize,
in  colour 
)

draw box specified with x and y and size in pixels

Parameters
xyX is row1 and Y is row2 in px
sizein px
colourRGB[A], use columns for multiple colours
Returns

◆ drawCross()

screenManager::drawCross ( in  me,
in  size,
in  colour,
in  x,
in  y,
in  lineWidth,
in  showDisk,
in  alpha,
in  alpha2 
)

draw fixation cross from Thaler L, Schütz AC, Goodale MA, & Gegenfurtner KR (2013) “What is the best fixation target? The effect of target shape on stability of fixational eye movements. Vision research 76, 31-42 http://doi.org/10.1016/j.visres.2012.10.012

Parameters
sizesize in degrees
colourof cross
xposition in degrees relative to screen center
yposition in degrees relative to screen center
lineWidthof lines in degrees (1px minimum)
showDiskshow background disc?
alphaalpha for the lines
alpha2alpha for the disc
Returns

◆ drawDots()

function screenManager::drawDots ( in  me,
in  xy,
in  size,
in  colour,
in  center 
)

draw dots specified in degrees to pixel center coordinates

Parameters
xyx is row1 and y is row2
Returns

◆ drawDotsDegs()

function screenManager::drawDotsDegs ( in  me,
in  xy,
in  size,
in  colour 
)

draw dots specified in degrees

Parameters
xyx is row1 and y is row2
Returns

◆ drawGreenSpot()

function screenManager::drawGreenSpot ( in  me,
in  size 
)

draw small spot centered on the screen

Parameters

return

◆ drawGrid()

function screenManager::drawGrid ( in  me)

draw a 5x5 1deg dot grid for visual debugging

Parameters

return

◆ drawLines()

function screenManager::drawLines ( in  me,
in  xy,
in  width,
in  colour 
)

draw lines specified in degrees to pixels

Parameters
xyx is row1 and y is row2
Returns

◆ drawMousePosition()

function screenManager::drawMousePosition ( in  me,
in  force 
)

draw the mouse X and Y position on screen

Parameters
force,overridethe global X and Y position which is only updated when stimuli are animating and visible...
Returns

◆ drawPhotoDiode()

function screenManager::drawPhotoDiode ( in  me,
in  colour 
)

◆ drawPhotoDiodeSquare()

function screenManager::drawPhotoDiodeSquare ( in  me,
in  colour 
)

draw a square in top-right of screen to trigger photodiode

Parameters
colourcolour of square
Returns

◆ drawPupilCoreMarker()

screenManager::drawPupilCoreMarker ( in  me,
in  sz,
in  x,
in  y,
in  stop 
)

draw pupil core calibration marker

Parameters
sizesize in degrees
xposition in degrees relative to screen center
yposition in degrees relative to screen center
isit a stop marker?

◆ drawRect()

function screenManager::drawRect ( in  me,
in  rect,
in  colour 
)

draw Rect specified in degrees

Parameters
rect[left, top, right, bottom] in degrees
colourRGB[A]
Returns

◆ drawRedSpot()

function screenManager::drawRedSpot ( in  me,
in  size 
)

draw small spot centered on the screen

Parameters

return

◆ drawScreenCenter()

function screenManager::drawScreenCenter ( in  me)

draw small spot centered on the screen

Parameters

return

◆ drawSimpleCross()

screenManager::drawSimpleCross ( in  me,
in  size,
in  colour,
in  x,
in  y,
in  lineWidth 
)

draw small cross

Parameters
sizesize in degrees
colourof cross
xposition in degrees relative to screen center
yposition in degrees relative to screen center
lineWidthof lines

◆ drawSpot()

screenManager::drawSpot ( in  me,
in  size,
in  colour,
in  x,
in  y 
)

draw small spot centered on the screen

Parameters
radiussize in degrees
colourof spot
xposition in degrees relative to screen center
yposition in degrees relative to screen center
Returns

◆ drawText()

function screenManager::drawText ( in  me,
in  text,
in  x,
in  y 
)

draw text

Parameters
texttext to draw

◆ drawTextNow()

function screenManager::drawTextNow ( in  me,
in  text,
in  x,
in  y,
in  wrapat 
)

draw text and flip immediately

Parameters
texttext to draw

◆ drawTextWrapped()

screenManager::drawTextWrapped ( in  me,
in  text,
in  wrapat,
in  x,
in  y 
)

draw text with wrapping

Parameters
texttext to draw
wrapatcharacter to wrap at

◆ drawTimedSpot()

function screenManager::drawTimedSpot ( in  me,
in  size,
in  colour,
in  time,
in  reset 
)

draw timed small spot centered on the screen

Parameters

◆ dstMode()

function set screenManager::dstMode ( in  me,
in  value 
)

◆ equidistantPoints()

static function screenManager::equidistantPoints ( in  n,
in  distance,
in  phase 
)
static

◆ finaliseMovie()

function screenManager::finaliseMovie ( in  me)

finish stimulus recording

Parameters

return

◆ finishDrawing()

screenManager::finishDrawing ( in  me)

Screen('DrawingFinished')

◆ flashScreen()

screenManager::flashScreen ( in  me,
in  interval 
)

Flash the screen until keypress.

Parameters
interval

◆ flip()

screenManager::flip ( in  me,
in  varargin 
)

Flip the screen.

[VBLTimestamp StimulusOnsetTime FlipTimestamp Missed Beampos] = Screen('Flip', me.win [, when] [, dontclear] [, dontsync] [, multiflip]);

Parameters
varargin- pass other options to screen flip
Returns
vbl - a vbl from this flip

◆ font()

function set screenManager::font ( in  me,
in  varargin 
)

◆ forceWin()

screenManager::forceWin ( in  me,
in  win 
)

force this object to use an existing window handle

Parameters
win- the window handle to bind to
Returns

◆ hideScreenFlash()

screenManager::hideScreenFlash ( in  me)

This is the trick Mario told us to "hide" the colour changes as PTB starts – we could use backgroundcolour here to be even better.

Parameters

return

◆ identifyScreens()

static function screenManager::identifyScreens ( )
static

Identify screens.

Parameters

return

◆ mousePosition()

function screenManager::mousePosition ( in  me,
in  verbose 
)

return mouse position in degrees

Parameters

◆ open()

screenManager::open ( in  me,
in  debug,
in  tL,
in  forceScreen 
)

open a screen with object defined settings

Parameters
debug,whetherwe show debug status, called from runExperiment
tLtimeLog object to add timing info on screen construction
forceScreenforce a particular screen number to open
Returns
sv structure of basic info from the opened screen

◆ pixelsPerCm()

function set screenManager::pixelsPerCm ( in  me,
in  value 
)

◆ playMovie()

function screenManager::playMovie ( in  me)

play back the recorded stimulus

Parameters

return

◆ posToRect()

static function screenManager::posToRect ( in  pos)
static

◆ ppd()

function get screenManager::ppd ( in  me)

◆ prepareMovie()

function screenManager::prepareMovie ( in  me)

prepare the recording of stimulus frames

Parameters

return

◆ prepareScreen()

screenManager::prepareScreen ( in  me)

prepare the initial Screen values on the local machine

Returns
screenVals structure of screen values

◆ rectToPos()

screenManager::rectToPos ( in  rect)
static
Parameters
nnumber of points
distancedistance from center
Returns
array of X,Y positions
Parameters

return

◆ resetScreenGamma()

screenManager::resetScreenGamma ( in  me)

reset the gamma table

Parameters

return

◆ screenXOffset()

function set screenManager::screenXOffset ( in  me,
in  value 
)

Set method for screenXOffset.

Parameters

◆ screenYOffset()

function set screenManager::screenYOffset ( in  me,
in  value 
)

Set method for screenYOffset.

Parameters

◆ setRefresh()

static function screenManager::setRefresh ( in  value)
static

Set Refresh Screen('ConfigureDisplay', setting, screenNumber, outputId [, newwidth][, newheight][, newHz][, newX][, newY]);.

◆ setResolution()

static function screenManager::setResolution ( in  w,
in  h,
in  f 
)
static

Set Resolution and refresh Screen('ConfigureDisplay', setting, screenNumber, outputId [, newwidth][, newheight][, newHz][, newX][, newY]);.

◆ srcMode()

function set screenManager::srcMode ( in  me,
in  value 
)

◆ switchChannel()

function screenManager::switchChannel ( in  me,
in  channel 
)

◆ testWindowOpen()

screenManager::testWindowOpen ( in  me)

Test if window is actully open.

Parameters

◆ toDegrees()

function screenManager::toDegrees ( in  me,
in  in,
in  axis 
)

toDegrees - convert from pixels to degrees

expects col1 = x, col2 = y for 'xy'

◆ toPixels()

function screenManager::toPixels ( in  me,
in  in,
in  axis 
)

toPixels - convert from degrees to pixels

◆ validateDisplayPlusPlus()

static function screenManager::validateDisplayPlusPlus ( in  screen,
in  vulkan 
)
static

Run validation for Display++.

◆ verbosityLevel()

function set screenManager::verbosityLevel ( in  me,
in  value 
)

Set method for verbosityLevel.

Parameters

◆ windowed()

function set screenManager::windowed ( in  me,
in  value 
)

Member Data Documentation

◆ anaglyphLeft

Property screenManager::anaglyphLeft

anaglyph channel gains

◆ anaglyphRight

Property screenManager::anaglyphRight

◆ antiAlias

Property screenManager::antiAlias

multisampling sent to the graphics card, try values 0[disabled], 4, 8 and 16 – useful for textures to minimise aliasing, but this does provide extra work for the GPU

◆ backgroundColour

set screenManager::backgroundColour

background RGBA of display during stimulus presentation

Set method for backgroundColour.

◆ bitDepth

set screenManager::bitDepth

Set method for bitDepth.

float precision and bitDepth of framebuffer/output: '8bit' is best for old GPUs, but choose 'FloatingPoint32BitIfPossible' for newer GPUs. Native high bitdepths (assumes FloatingPoint32Bit internal processing): 'PseudoGray', 'HDR', 'Native10Bit', 'Native11Bit', 'Native16Bit', 'Native16BitFloat' Options to enable Display++ or VPixx modes: 'EnableBits++Bits++Output', 'EnableBits++Mono++Output', 'EnableBits++Mono++OutputWithOverlay' or 'EnableBits++Color++Output' 'EnableDataPixxM16Output', 'EnableDataPixxC48Output'

◆ bitDepths

Constant Property screenManager::bitDepths

possible bitDepth or display modes

◆ blend

Property screenManager::blend

use OpenGL blending mode

◆ blendModes

Constant Property screenManager::blendModes

possible OpenGL blend modes (src or dst)

◆ colorMode

Property screenManager::colorMode

The mode to use for color++ mode.

◆ debug

Property screenManager::debug

enable debug for poorer temporal fidelity but no sync testing etc.

◆ disableSyncTests

Property screenManager::disableSyncTests

for some development macOS and windows machines we have to disable sync tests, but we hide this as we should remember this is for development ONLY!

◆ displayPPRefresh

Property screenManager::displayPPRefresh

force framerate for Display++ (120Hz or 100Hz, empty uses the default OS setup)

◆ distance

set screenManager::distance

Set method for distance.

distance in centimeters of subject from Display rad2ang(2 * atan( size / (2 * distance) ) ) = Xdeg when size == 1cm & distance == 57.3cm; X == 1deg

Parameters
value

◆ doubleBuffer

Property screenManager::doubleBuffer

normally should be left at 1 (1 is added to this number so doublebuffering is enabled)

◆ dstMode

set screenManager::dstMode

OpenGL blending dst mode.

Set method for GL blending dst.

Parameters
value

◆ font

Property screenManager::font

Details for drawing fonts, either sets defaults if window is closed or or updates values if window open...

◆ gammaTable

Property screenManager::gammaTable

gamma correction info saved as a calibrateLuminance object

◆ hideFlash

Property screenManager::hideFlash

hide the black flash as PTB tests its refresh timing, uses a gamma trick from Mario

◆ mirrorDisplay

Property screenManager::mirrorDisplay

Mirror the content to a second window. In this case we need a screen 0 and screen 1 and the main output to screen 1. We will get an overlay window for this too we can draw to.

◆ movieSettings

Property screenManager::movieSettings

settings for movie output type 1 = video file, 2 = mat array, 3 = single pictures

◆ overlayWin

Property screenManager::overlayWin

overlay window if mirrorDisplay was enabled

◆ pixelsPerCm

set screenManager::pixelsPerCm

Set method for pixelsPerCm.

Pixels Per Centimeter — used for calculating the number of pixels per visual degree (ppd). Use the calibrateSize.m function to measure this value accurately for each monitor you will use. Examples: MBP 1440x900 is 33.2x20.6cm so 44px/cm; Flexscan is 32px/cm @1280 26px/cm @ 1024; Display++ is 27px/cm @1920x1080

Parameters
value

◆ screen

Property screenManager::screen

the display to use, 0 is the main display on macOS/Linux default value will be set to ‘max(Screen('Screens’))`

◆ screenToHead

Property screenManager::screenToHead

Screen To Head Mapping, a Nx3 vector: Screen('Preference', 'ScreenToHead', screen, head, crtc); Each N should be a different display

◆ screenVals

Property screenManager::screenVals

populated on window open; useful screen info, initial gamma tables and the like

◆ screenXOffset

Property screenManager::screenXOffset

shunt center by X degrees (coordinates are in degrees from centre of monitor)

◆ screenYOffset

Property screenManager::screenYOffset

shunt center by Y degrees (coordinates are in degrees from centre of monitor)

◆ specialFlags

Property screenManager::specialFlags

e.g. kPsychGUIWindow

◆ srcMode

set screenManager::srcMode

OpenGL blending source mode.

Set method for GL blending src.

◆ stereoMode

Property screenManager::stereoMode

stereo mode

◆ syncVariance

Property screenManager::syncVariance

The acceptable variance in flip timing tests performed when screen opens, set with Screen('Preference', 'SyncTestSettings', syncVariance) AMD cards under Ubuntu are very low variance, PTB default is 2e-04. DO NOT change this unless you know what you are doing.

◆ timestampingMode

Property screenManager::timestampingMode

timestamping mode 1=beamposition,kernel fallback | 2=beamposition crossvalidate with kernel

◆ useRetina

Property screenManager::useRetina

Use retina resolution natively (worse performance but double resolution)

◆ useVulkan

Property screenManager::useVulkan

try to enable vulkan?

◆ verbose

Property screenManager::verbose

verbose output?

◆ verbosityLevel

Property screenManager::verbosityLevel

level of PTB verbosity, set to 10 for full PTB logging

◆ visualDebug

Property screenManager::visualDebug

shows some info text and position grid during stimulus presentation if true

◆ windowed

set screenManager::windowed

Set method for windowed.

windowed: when FALSE use fullscreen; set to TRUE and it is windowed 800x600pixels or you can add in a window width and height i.e. [800 600] to specify windowed size. Remember that windowed presentation should never be used for real experimental presentation due to poor timing…

Parameters
value

The documentation for this class was generated from the following file: