![]() |
Opticka 2.16.1
Opticka is an experiment manager for behavioral research.
|
screenManager — manage opening and configuring the PTB screen More...
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
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 | |
| me screenManager::screenManager | ( | in | varargin | ) |
screenManager CONSTRUCTOR
| varargin | can be simple name value pairs, a structure or cell array |
| function screenManager::addMovieFrame | ( | in | me | ) |
add current frame to recorded stimulus movie
return
| screenManager::asyncCheck | ( | in | me | ) |
Check async state?
| screenManager::asyncEnd | ( | in | me | ) |
end async state
| screenManager::asyncFlip | ( | in | me, |
| in | when, | ||
| in | varargin | ||
| ) |
Flip the screen asynchrounously.
| when | - when to flip |
| function set screenManager::backgroundColour | ( | in | me, |
| in | value | ||
| ) |
| function set screenManager::bitDepth | ( | in | me, |
| in | value | ||
| ) |
|
static |
check for display++, and keep open or close again
| port | optional serial USB port |
| keepOpen | should we keep it open after check (default yes) |
|
static |
Flip the screen.
return
| screenManager::captureScreen | ( | in | me, |
| in | filename | ||
| ) |
Copies the window to a screenshot.
| filename | optional filename |
| function screenManager::checkWindowValid | ( | in | me | ) |
Check window handle is valid.
| screenManager::close | ( | in | me | ) |
close the screen when finished or on error
return
| function screenManager::delete | ( | in | me | ) |
Delete method.
| screenManager::demo | ( | in | me | ) |
Small demo of screen opening, drawing, closing.
| function set screenManager::distance | ( | in | me, |
| in | value | ||
| ) |
| screenManager::drawBackground | ( | in | me, |
| in | background | ||
| ) |
Draw the background colour.
| background | an optional colour |
| function screenManager::drawBox | ( | in | me, |
| in | xy, | ||
| in | boxsize, | ||
| in | colour | ||
| ) |
draw box specified with x and y and size in degrees
| xy | X is row1 and Y is row2 in degrees |
| size | in degrees, either 1 or 2 values |
| colour | RGB[A], use columns for multiple colours |
| function screenManager::drawBoxPx | ( | in | me, |
| in | xy, | ||
| in | boxsize, | ||
| in | colour | ||
| ) |
draw box specified with x and y and size in pixels
| xy | X is row1 and Y is row2 in px |
| size | in px |
| colour | RGB[A], use columns for multiple colours |
| 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
| size | size in degrees |
| colour | of cross |
| x | position in degrees relative to screen center |
| y | position in degrees relative to screen center |
| lineWidth | of lines in degrees (1px minimum) |
| showDisk | show background disc? |
| alpha | alpha for the lines |
| alpha2 | alpha for the disc |
| function screenManager::drawDots | ( | in | me, |
| in | xy, | ||
| in | size, | ||
| in | colour, | ||
| in | center | ||
| ) |
draw dots specified in degrees to pixel center coordinates
| xy | x is row1 and y is row2 |
| function screenManager::drawDotsDegs | ( | in | me, |
| in | xy, | ||
| in | size, | ||
| in | colour | ||
| ) |
draw dots specified in degrees
| xy | x is row1 and y is row2 |
| function screenManager::drawGreenSpot | ( | in | me, |
| in | size | ||
| ) |
draw small spot centered on the screen
return
| function screenManager::drawGrid | ( | in | me | ) |
draw a 5x5 1deg dot grid for visual debugging
return
| function screenManager::drawLines | ( | in | me, |
| in | xy, | ||
| in | width, | ||
| in | colour | ||
| ) |
draw lines specified in degrees to pixels
| xy | x is row1 and y is row2 |
| function screenManager::drawMousePosition | ( | in | me, |
| in | force | ||
| ) |
draw the mouse X and Y position on screen
| force,override | the global X and Y position which is only updated when stimuli are animating and visible... |
| function screenManager::drawPhotoDiode | ( | in | me, |
| in | colour | ||
| ) |
| function screenManager::drawPhotoDiodeSquare | ( | in | me, |
| in | colour | ||
| ) |
draw a square in top-right of screen to trigger photodiode
| colour | colour of square |
| screenManager::drawPupilCoreMarker | ( | in | me, |
| in | sz, | ||
| in | x, | ||
| in | y, | ||
| in | stop | ||
| ) |
draw pupil core calibration marker
| size | size in degrees |
| x | position in degrees relative to screen center |
| y | position in degrees relative to screen center |
| is | it a stop marker? |
| function screenManager::drawRect | ( | in | me, |
| in | rect, | ||
| in | colour | ||
| ) |
draw Rect specified in degrees
| rect | [left, top, right, bottom] in degrees |
| colour | RGB[A] |
| function screenManager::drawRedSpot | ( | in | me, |
| in | size | ||
| ) |
draw small spot centered on the screen
return
| function screenManager::drawScreenCenter | ( | in | me | ) |
draw small spot centered on the screen
return
| screenManager::drawSimpleCross | ( | in | me, |
| in | size, | ||
| in | colour, | ||
| in | x, | ||
| in | y, | ||
| in | lineWidth | ||
| ) |
draw small cross
| size | size in degrees |
| colour | of cross |
| x | position in degrees relative to screen center |
| y | position in degrees relative to screen center |
| lineWidth | of lines |
| screenManager::drawSpot | ( | in | me, |
| in | size, | ||
| in | colour, | ||
| in | x, | ||
| in | y | ||
| ) |
draw small spot centered on the screen
| radius | size in degrees |
| colour | of spot |
| x | position in degrees relative to screen center |
| y | position in degrees relative to screen center |
| function screenManager::drawText | ( | in | me, |
| in | text, | ||
| in | x, | ||
| in | y | ||
| ) |
draw text
| text | text to draw |
| function screenManager::drawTextNow | ( | in | me, |
| in | text, | ||
| in | x, | ||
| in | y, | ||
| in | wrapat | ||
| ) |
draw text and flip immediately
| text | text to draw |
| screenManager::drawTextWrapped | ( | in | me, |
| in | text, | ||
| in | wrapat, | ||
| in | x, | ||
| in | y | ||
| ) |
draw text with wrapping
| text | text to draw |
| wrapat | character to wrap at |
| function screenManager::drawTimedSpot | ( | in | me, |
| in | size, | ||
| in | colour, | ||
| in | time, | ||
| in | reset | ||
| ) |
draw timed small spot centered on the screen
| function set screenManager::dstMode | ( | in | me, |
| in | value | ||
| ) |
|
static |
| function screenManager::finaliseMovie | ( | in | me | ) |
finish stimulus recording
return
| screenManager::finishDrawing | ( | in | me | ) |
Screen('DrawingFinished')
| screenManager::flashScreen | ( | in | me, |
| in | interval | ||
| ) |
Flash the screen until keypress.
| interval |
| screenManager::flip | ( | in | me, |
| in | varargin | ||
| ) |
Flip the screen.
[VBLTimestamp StimulusOnsetTime FlipTimestamp Missed Beampos] = Screen('Flip', me.win [, when] [, dontclear] [, dontsync] [, multiflip]);
| varargin | - pass other options to screen flip |
| function set screenManager::font | ( | in | me, |
| in | varargin | ||
| ) |
| screenManager::forceWin | ( | in | me, |
| in | win | ||
| ) |
force this object to use an existing window handle
| win | - the window handle to bind to |
| 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.
return
|
static |
Identify screens.
return
| function screenManager::mousePosition | ( | in | me, |
| in | verbose | ||
| ) |
return mouse position in degrees
| screenManager::open | ( | in | me, |
| in | debug, | ||
| in | tL, | ||
| in | forceScreen | ||
| ) |
open a screen with object defined settings
| debug,whether | we show debug status, called from runExperiment |
| tL | timeLog object to add timing info on screen construction |
| forceScreen | force a particular screen number to open |
| function set screenManager::pixelsPerCm | ( | in | me, |
| in | value | ||
| ) |
| function screenManager::playMovie | ( | in | me | ) |
play back the recorded stimulus
return
|
static |
| function get screenManager::ppd | ( | in | me | ) |
| function screenManager::prepareMovie | ( | in | me | ) |
prepare the recording of stimulus frames
return
| screenManager::prepareScreen | ( | in | me | ) |
prepare the initial Screen values on the local machine
|
static |
| n | number of points |
| distance | distance from center |
return
| screenManager::resetScreenGamma | ( | in | me | ) |
reset the gamma table
return
| function set screenManager::screenXOffset | ( | in | me, |
| in | value | ||
| ) |
Set method for screenXOffset.
| function set screenManager::screenYOffset | ( | in | me, |
| in | value | ||
| ) |
Set method for screenYOffset.
|
static |
Set Refresh Screen('ConfigureDisplay', setting, screenNumber, outputId [, newwidth][, newheight][, newHz][, newX][, newY]);.
|
static |
Set Resolution and refresh Screen('ConfigureDisplay', setting, screenNumber, outputId [, newwidth][, newheight][, newHz][, newX][, newY]);.
| function set screenManager::srcMode | ( | in | me, |
| in | value | ||
| ) |
| function screenManager::switchChannel | ( | in | me, |
| in | channel | ||
| ) |
| screenManager::testWindowOpen | ( | in | me | ) |
Test if window is actully open.
| function screenManager::toDegrees | ( | in | me, |
| in | in, | ||
| in | axis | ||
| ) |
toDegrees - convert from pixels to degrees
expects col1 = x, col2 = y for 'xy'
| function screenManager::toPixels | ( | in | me, |
| in | in, | ||
| in | axis | ||
| ) |
toPixels - convert from degrees to pixels
|
static |
Run validation for Display++.
| function set screenManager::verbosityLevel | ( | in | me, |
| in | value | ||
| ) |
Set method for verbosityLevel.
| function set screenManager::windowed | ( | in | me, |
| in | value | ||
| ) |
| Property screenManager::anaglyphLeft |
anaglyph channel gains
| Property screenManager::anaglyphRight |
| 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
| set screenManager::backgroundColour |
background RGBA of display during stimulus presentation
Set method for backgroundColour.
| 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'
| Constant Property screenManager::bitDepths |
possible bitDepth or display modes
| Property screenManager::blend |
use OpenGL blending mode
| Constant Property screenManager::blendModes |
possible OpenGL blend modes (src or dst)
| Property screenManager::colorMode |
The mode to use for color++ mode.
| Property screenManager::debug |
enable debug for poorer temporal fidelity but no sync testing etc.
| 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!
| Property screenManager::displayPPRefresh |
force framerate for Display++ (120Hz or 100Hz, empty uses the default OS setup)
| 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
| value |
| Property screenManager::doubleBuffer |
normally should be left at 1 (1 is added to this number so doublebuffering is enabled)
| set screenManager::dstMode |
OpenGL blending dst mode.
Set method for GL blending dst.
| value |
| Property screenManager::font |
Details for drawing fonts, either sets defaults if window is closed or or updates values if window open...
| Property screenManager::gammaTable |
gamma correction info saved as a calibrateLuminance object
| Property screenManager::hideFlash |
hide the black flash as PTB tests its refresh timing, uses a gamma trick from Mario
| 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.
| Property screenManager::movieSettings |
settings for movie output type 1 = video file, 2 = mat array, 3 = single pictures
| Property screenManager::overlayWin |
overlay window if mirrorDisplay was enabled
| 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
| value |
| Property screenManager::screen |
the display to use, 0 is the main display on macOS/Linux default value will be set to ‘max(Screen('Screens’))`
| Property screenManager::screenToHead |
Screen To Head Mapping, a Nx3 vector: Screen('Preference', 'ScreenToHead', screen, head, crtc); Each N should be a different display
| Property screenManager::screenVals |
populated on window open; useful screen info, initial gamma tables and the like
| Property screenManager::screenXOffset |
shunt center by X degrees (coordinates are in degrees from centre of monitor)
| Property screenManager::screenYOffset |
shunt center by Y degrees (coordinates are in degrees from centre of monitor)
| Property screenManager::specialFlags |
e.g. kPsychGUIWindow
| set screenManager::srcMode |
OpenGL blending source mode.
Set method for GL blending src.
| Property screenManager::stereoMode |
stereo mode
| 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.
| Property screenManager::timestampingMode |
timestamping mode 1=beamposition,kernel fallback | 2=beamposition crossvalidate with kernel
| Property screenManager::useRetina |
Use retina resolution natively (worse performance but double resolution)
| Property screenManager::useVulkan |
try to enable vulkan?
| Property screenManager::verbose |
verbose output?
| Property screenManager::verbosityLevel |
level of PTB verbosity, set to 10 for full PTB logging
| Property screenManager::visualDebug |
shows some info text and position grid during stimulus presentation if true
| 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…
| value |