Texture-backed binary checkerboard / AprilTag-style stimulus.
This stimulus builds a binary MATLAB array either from a user-defined patternMatrix or by randomly generating 0/1 values for rows x columns. It then maps the binary values to colour and colour2, creates a PTB texture via ‘Screen('MakeTexture’,...)`, and draws it as a standard texture stimulus.
Copyright ©2014-2026 Ian Max Andolina — released: LGPL3, see LICENCE.md
|
| function | aprilTagStimulus (in varargin) |
| | Class constructor.
|
| |
| function | setup (in me, in sM) |
| | Setup this stimulus object in preparation for display.
|
| |
| function | set_xPositionOut (in me, in value) |
| |
| function | set_yPositionOut (in me, in value) |
| |
| function | set_alphaOut (in me, in value) |
| |
| function | update (in me) |
| | Update this stimulus object for display.
|
| |
| function | draw (in me, in win) |
| | Draw this stimulus object.
|
| |
| function | animate (in me) |
| | Animate this stimulus object.
|
| |
| function | reset (in me) |
| | Reset this object back to pre-setup state.
|
| |
| function set | colour2 (in me, in value) |
| | SET colour2 method.
|
| |
| function | getAprilTag (in me, in tagID) |
| |
| virtual | setup (in runObject) |
| | ALL Children must implement these 5 methods!
|
| |
| virtual | draw (in runObject) |
| | draw to the screen buffer, ready for flip()
|
| |
| function | baseStimulus (in varargin) |
| | Class constructor.
|
| |
| function set | colour (in me, in value) |
| | colour set method Allow 1 (R=G=B) 3 (RGB) or 4 (RGBA) value colour
|
| |
| function set | alpha (in me, in value) |
| | alpha set method
|
| |
| function get | delta (in me) |
| | delta Get method delta is the normalised number of pixels per frame to move a stimulus
|
| |
| function get | dX (in me) |
| | dX Get method X position increment for a given delta and angle
|
| |
| function get | dY (in me) |
| | dY Get method Y position increment for a given delta and angle
|
| |
| function | show (in me) |
| | Method to set isVisible=true.
|
| |
| function | hide (in me) |
| | Method to set isVisible=false.
|
| |
| function | setOffTime (in me, in time) |
| | set offTime
|
| |
| function | setDelayTime (in me, in time) |
| | set delayTime
|
| |
| function | resetTicks (in me) |
| | reset the various tick counters for our stimulus
|
| |
| function | getMousePosition (in me) |
| | get mouse position we make sure this is only called once per animation tick to improve performance and ensure all stimuli that are following mouse position have consistent X and Y per frame update This sets mouseX and mouseY and mouseValid if mouse is within PTB screen (useful for mouse override positioning for stimuli)
|
| |
| function | run (in me, in benchmark, in runtime, in s, in forceScreen, in showVBL) |
| | Run stimulus in a window to preview it.
|
| |
| function | makePanel (in me, in parent) |
| | make a GUI properties panel for this object
|
| |
| function | selectFilePanel (in me, in varargin) |
| | read values from a GUI properties panel for this object
|
| |
| function | readPanel (in me, in varargin) |
| | read values from a GUI properties panel for this object
|
| |
| function | showPanel (in me) |
| | show GUI properties panel for this object
|
| |
| function | hidePanel (in me) |
| | hide GUI properties panel for this object
|
| |
| function | closePanel (in me, in varargin) |
| | close GUI panel for this object
|
| |
| function | cleanHandles (in me, in ignoredArg) |
| | clean any handles
|
| |
| function | getP (in me, in name, in range) |
| | gets a property copy or original property
|
| |
| function | setP (in me, in name, in value) |
| | sets a property copy or original property
|
| |
| function | updateXY (in me, in x, in y, in useDegrees) |
| | Update only position info, faster and doesn't reset image etc.
|
| |
| function | optickaCore (in varargin) |
| | Class constructor.
|
| |
| function get | fullName (in me) |
| |
| function | getALF (in me, in subject, in lab, in create) |
| | get the ALF path
|
| |
| function | makeReport (in me, in rpt) |
| | Generate a detailed report for the opticka object.
|
| |
| 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) |
| | Return the declared default value for a class property.
|
| |
| 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 | initialiseSaveFile (in me, in varargin) |
| | just get date fragment for backwards compatibility
|
| |
| function | checkPaths (in me) |
| | checks the paths are valid
|
| |
|
| Property | type |
| | stimulus type
|
| |
| Property | rows |
| | number of rows for generated patterns
|
| |
| Property | columns |
| | number of columns for generated patterns
|
| |
| Property | patternMatrix |
| | user supplied binary matrix of 0s and 1s, if empty generate one
|
| |
| Property | randomisePattern |
| | generate a new random pattern on update if no fixed patternMatrix is set
|
| |
| Property | colour2 |
| | second colour used for binary value 1
|
| |
| Property | filter |
| | filter mode for DrawTexture, 0 keeps edges crisp
|
| |
| Property | precision |
| | texture precision: 0=8-bit | 1=16-bit | 2=32-bit
|
| |
| Property | specialFlags |
| | special flags passed to MakeTexture / DrawTexture
|
| |
| Property | direction |
| | direction for motion of the texture object
|
| |
| Property | cellSize |
| | number of pixels per binary cell in the generated texture matrix
|
| |
| Property | binaryMatrix |
| | current binary matrix used to generate the texture
|
| |
| Property | matrix |
| | RGBA matrix passed to MakeTexture.
|
| |
| Property | width |
| | texture width in pixels
|
| |
| Property | height |
| | texture height in pixels
|
| |
| Property | scale |
| | scale used when size is set in degrees
|
| |
| Property | widthD |
| | width in degrees at native texture scale
|
| |
| Property | heightD |
| | height in degrees at native texture scale
|
| |
| Property | family |
| | stimulus family
|
| |
| Property | typeList |
| | visible in UI lists
|
| |
| Property | ignorePropertiesUI |
| | properties to ignore in the UI panel
|
| |
| Constant Property | tag36_11 = [1 1 1 1 1 1 1 1 1 1 |
| |
| Constant Property | tag36_20 = [1 1 1 1 1 1 1 1 1 1 |
| |
| Constant Property | tag36_34 = [1 1 1 1 1 1 1 1 1 1 |
| |
| Constant Property | tag36_46 = [1 1 1 1 1 1 1 1 1 1 |
| |
| Constant Property | tag36_52 = [1 1 1 1 1 1 1 1 1 1 |
| |
| Constant Property | tag36_65 = [1 1 1 1 1 1 1 1 1 1 |
| |
| Property | type |
| | stimulus type
|
| |
| Property | xPosition |
| |
| Property | yPosition |
| |
| Property | size |
| |
| Property | colour |
| |
| Property | alpha |
| | Alpha (opacity) [0-1], this gets combined with the RGB colour.
|
| |
| Property | startPosition |
| |
| Property | speed |
| |
| Property | angle |
| | angle in degrees (0 - 360)
|
| |
| Property | delayTime |
| |
| Property | offTime |
| | time to turn stimulus off, relative to stimulus onset
|
| |
| Property | isVisible |
| | true or false, whether to draw() this object
|
| |
| Property | mouseOverride |
| | override X and Y position with mouse input? Useful for RF mapping
|
| |
| Property | showOnTracker |
| | show the position on the Eyetracker display?
|
| |
| Property | verbose |
| | Do we log extra details to the command-line?
|
| |
| Property | xFinal |
| |
| Property | yFinal |
| |
| Property | mvRect |
| |
| Property | szIsPx |
| |
| Property | szPx |
| | computed size in pixels
|
| |
| Property | szD |
| | computed size in °
|
| |
| Property | xFinalD |
| | X and Y position in °
|
| |
| Property | yFinalD |
| |
| Property | isRect |
| |
| Property | tick |
| | tick updates +1 on each call of draw (even if delay or off is true and no stimulus is drawn, resets on each update
|
| |
| Property | drawTick |
| | draw tick only updates when a draw is actually performed, resets on each update
|
| |
| Property | ppd |
| | pixels per degree (normally inhereted from screenManager)
|
| |
| Property | delta |
| | What our per-frame motion delta is.
|
| |
| Property | dX |
| | X update which is computed from our speed and angle.
|
| |
| Property | dY |
| | X update which is computed from our speed and angle.
|
| |
| Property | name |
| | object name
|
| |
| Property | comment |
| | comment
|
| |
| Property | verbose |
| | verbose logging, subclasses must assign this. This is normally logical true/false
|
| |
| Property | optickaVersion |
| | version number
|
| |
| 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.
|
| |
|
| function | buildTexture (in me) |
| | Create or rebuild the binary texture.
|
| |
| function | resolvePattern (in me) |
| | Resolve the active binary pattern.
|
| |
| function | validatePattern (in me, in in) |
| | Validate a binary pattern matrix.
|
| |
| function | makePatternMatrix (in me, in pattern) |
| | Convert the binary pattern to an RGBA texture matrix.
|
| |
| function | setRect (in me) |
| | setRect makes the PsychRect based on the texture and screen values.
|
| |
| function | addRuntimeProperties (in me) |
| | These are transient properties that specify actions during runtime.
|
| |
| function | updateRuntimeProperties (in me) |
| | Update transient properties that specify actions during runtime.
|
| |
| function | computePosition (in me) |
| | compute xFinal and yFinal (in pixels) taking startPosition, xPosition, yPosition and direction/angle into account
|
| |
| function | setAnimationDelta (in me) |
| |
| function | setRect (in me) |
| |
| function | toStructure (in me, in tmp) |
| | Converts properties to a structure.
|
| |
| function | removeTmpProperties (in me) |
| | Finds and removes dynamic properties.
|
| |
| function | delete (in me) |
| |
| 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.
|
| |