![]() |
Opticka 2.16.1
Opticka is an experiment manager for behavioral research.
|
revcorStimulus stimulus, inherits from baseStimulus More...
revcorStimulus stimulus, inherits from baseStimulus
Copyright ©2014-2024 Ian Max Andolina — released: LGPL3, see LICENCE.md
Public Member Functions | |
function | revcorStimulus (in varargin) |
Class constructor. | |
function | setup (in me, in sM) |
Setup stimulus using a screenManager object. | |
function | set_xPositionOut (in me, in value) |
function | set_yPositionOut (in me, in value) |
function | set_sizeOut (in me, in value) |
function | draw (in me) |
Draw this stimulus. | |
function | update (in me) |
Update our stimulus. | |
function | animate (in me) |
Animate this stimulus. | |
function | reset (in me) |
Reset the stimulus back to a default state. | |
function | resetLog (in me) |
Reset the stimulus back to a default state. | |
function | addTag (in me, in tag) |
add a tag to the frameLog | |
![]() | |
virtual | setup (in runObject) |
ALL Children must implement these 5 methods! | |
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 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 | |
Public Attributes | |
Property | type |
type, 'trinary' or 'binary' | |
Property | pixelScale |
texture scale size in degrees for each pixel of noise | |
Property | frameTime |
frameTime in ms (to nearest frame dependant on fps) | |
Property | interpolation |
Property | trialLength |
Property | family |
Property | frameLog |
framelog | |
Property | trialMatrix |
computed matrix for the bar | |
Property | trialTick |
Property | typeList |
Property | baseColour |
Property | screenWidth |
Property | screenHeight |
Property | ignorePropertiesUI |
properties to not show in the UI panel | |
![]() | |
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 | 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. | |
Protected Member Functions | |
function | setRect (in me) |
setRect setRect makes the PsychRect based on the texture and screen values, you should call computePosition() first to get xOut and yOut | |
function | saveFrames (in me) |
function | closeTextures (in me) |
function | constructMatrix (in me) |
constructMatrix makes the texture matrix to fill the bar with | |
function | mix (in me, in c) |
linear interpolation between two arrays | |
![]() | |
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. | |
Protected Attributes | |
Property | allowedProperties |
Property | ignoreProperties |
Property | nFrames |
Property | nFrame |
Property | nStimuli |
Property | nStim |
![]() | |
Property | family |
the stimulus family (grating, dots etc.) | |
Property | texture |
Our texture pointer for texture-based stimuli. | |
Property | handles |
handles for the GUI | |
Property | sM |
our screen manager | |
Property | animator |
animation manager | |
Property | screenVals |
screen settings generated by sM on setup | |
Property | isSetup |
Property | isGUI |
is panel constructed? | |
Property | dstRect |
initial screen rectangle position [LEFT TOP RIGHT BOTTOM] | |
Property | mouseValid |
is mouse position within screen co-ordinates? | |
Property | mouseX |
mouse X position | |
Property | mouseY |
mouse Y position | |
Property | delayTicks |
delay ticks to wait until display | |
Property | offTicks |
ticks before stimulus turns off | |
Property | inSetup |
are we setting up? | |
Property | delta_ |
delta cache | |
Property | dX_ |
dX cache | |
Property | dY_ |
dY cache | |
Property | isInSetColour |
deal with interaction of colour and alpha | |
Property | setLoop |
Property | ignorePropertiesBase |
Which properties to ignore cloning when making transient copies in setup. | |
Property | ignorePropertiesUIBase |
Which properties to not draw in the UI panel. | |
![]() | |
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 | |
Additional Inherited Members | |
![]() | |
enum | Events { readPanelUpdate } |
![]() | |
static function | d2r (in degrees) |
degrees2radians | |
static function | r2d (in r) |
radians2degrees | |
static function | findDistance (in x1, in y1, in x2, in y2) |
findDistance in X and Y coordinates | |
static function | updatePosition (in delta, in angle) |
updatePosition returns dX and dY given an angle and delta | |
![]() | |
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. | |
function revcorStimulus::revcorStimulus | ( | in | varargin | ) |
Class constructor.
More detailed description of what the constructor does.
args | are passed as a structure of properties which is parsed. |
function revcorStimulus::addTag | ( | in | me, |
in | tag | ||
) |
add a tag to the frameLog
|
virtual |
Animate this stimulus.
Reimplemented from baseStimulus.
|
protected |
<br> |
|
protected |
constructMatrix makes the texture matrix to fill the bar with
ppd | use the passed pixels per degree to make a RGBA matrix of the correct dimensions |
|
virtual |
Draw this stimulus.
Reimplemented from baseStimulus.
|
protected |
linear interpolation between two arrays
|
virtual |
function revcorStimulus::resetLog | ( | in | me | ) |
Reset the stimulus back to a default state.
|
protected |
<br> |
function revcorStimulus::set_sizeOut | ( | in | me, |
in | value | ||
) |
function revcorStimulus::set_xPositionOut | ( | in | me, |
in | value | ||
) |
function revcorStimulus::set_yPositionOut | ( | in | me, |
in | value | ||
) |
|
protected |
setRect setRect makes the PsychRect based on the texture and screen values, you should call computePosition() first to get xOut and yOut
function revcorStimulus::setup | ( | in | me, |
in | sM | ||
) |
Setup stimulus using a screenManager object.
sM | screenManager object for reference |
|
virtual |
Update our stimulus.
Reimplemented from baseStimulus.
|
protected |
Property revcorStimulus::baseColour |
Property revcorStimulus::family |
Property revcorStimulus::frameLog |
framelog
Property revcorStimulus::frameTime |
frameTime in ms (to nearest frame dependant on fps)
|
protected |
Property revcorStimulus::ignorePropertiesUI |
properties to not show in the UI panel
Property revcorStimulus::interpolation |
texture interpolation: 0 = Nearest neighbour filtering, 1 = Bilinear filtering - this is the default. Values 2 or 3 select use of OpenGL mip-mapping for improved quality: 2 = Bilinear filtering for nearest mipmap level, 3 = Trilinear filtering across mipmap lev
|
protected |
|
protected |
|
protected |
|
protected |
Property revcorStimulus::pixelScale |
texture scale size in degrees for each pixel of noise
Property revcorStimulus::screenHeight |
Property revcorStimulus::screenWidth |
Property revcorStimulus::trialLength |
length of trial used to calculate the number of noise frames properly. For most experiments you should set this to the maximum time a trial may last as this is determined by eyetracker etc.
Property revcorStimulus::trialMatrix |
computed matrix for the bar
Property revcorStimulus::trialTick |
Property revcorStimulus::type |
type, 'trinary' or 'binary'
Property revcorStimulus::typeList |