The Target Editor occupies the second tab pane in the tabbed window on the right side of the client area in Maestro's frame window. It is used to view and edit the parametric definitions of any RMVideo target. It contains over 35 controls organized into five groups. The Gratings/Plaids and Dots control groups display properties defining the target's grating(s) or random-dot pattern, the Target Window group describes the extent and nature of the target's window, the Color group determines the color or set of colors assigned to the target, and the Video/Image group displays unique properties of the RMVideo Movie and Image target classes. A long pushbutton in the top-left corner of the form displays the editor's modification mode. Using one of the global modification modes, it is possible to simultaneously edit all or some of the targets in the same set as the loaded target object. Immediately below this pushbutton is a combo box which selects the target type. As the screenshot to the right demonstrates, the editor disables controls that are irrelevant for the target type currently displayed.
Often an experimental protocol will include a number of similarly defined targets. For example, suppose you run a set of trials employing eight Random-Dot Patch targets that differ only in the number of dots within the target window. While running the experiment, you realize that the target window is too large. Rather than edit each of the eight target objects individually, you can load one of them into the Target Editor, switch to the Modify ALL Targets in Set modification mode, then make the necessary changes in the target window's width and height. Maestro propagates the changes made to all compatible targets in the same set as the loaded target object! Below is a summary of the four modification modes supported by the Target Editor. You can switch modes via the pushbutton in the top-left corner, or use the relevant keyboard shortcut (when the keyboard focus is inside the editor); the button's title reflects the modification mode currently in effect. The button's background turns red whenever one of the global modes is in effect, to alert the user to the fact that any change on the form could possibly affect the definitions of sibling targets.
Modify THIS Target (Alt+6). The normal modification mode. Only the target currently loaded in the editor is modified.
Modify ALL Targets in Set (Alt+7). Change in parameter P is propagated across all compatible*** targets in current target's parent set.
Modify MATCHING Targets in Set (Alt+8). Change in parameter P from P = P0 to P1 is propagated across those compatible targets in the parent set for which P = P0.
Modify SELECTED Targets In Set (Alt+9). Change in parameter P is propagated across all compatible targets in current target's parent set that are also selected in the Maestro document object tree.
***What is a compatible target? It must have the same target type as the loaded target -- unless the parameter changed was the target type itself.
Aperture -- This combo box is enabled only for selected RMVideo target types. Four possible apertures are supported: rectangular, elliptical, rectangular annulus, and elliptical annulus. For Grating and Plaid targets, only the rectangular and elliptical apertures are allowed.
Width, Height -- The dimensions of the rectangle bounding the target window, in visual degrees subtended at the eye. Edit controls restrict input to positive floating-point values greater than or equal to 0.01 deg, with up to 2 digits after the decimal point. In practice, the largest target windows used are on the order of 20-30 degrees. Most target types have these two attributes. In the case of any target with an annular aperture, two concentric bounding rectangles are defined; the target window is the annular region outside the Inner rectangle but inside the Outer one. For the two bar-shaped targets, the Width attribute may be 0 -- to indicate that the bar should be drawn as a one pixel-thick line.
Radius -- If a Random-Dot Flow Field target is loaded into the editor, then the bounding aperture is actually the annulus defined by two concentric circles.
Drift Axis -- If a RMVideo Solid Bar/Line target is loaded into the editor, then this edit control is enabled. As with a grating target, the "drift axis" defines the orientation of the bar by specifying the angle in degrees between the positive x-axis (rightward direction) and the line perpendicular to the bar. The edit control restricts input to a non-negative floating-point value in the range [0.00...359.99] degrees, with up to 2 digits after the decimal point.
Gaussian standard deviation in X,Y -- The RMVideo target types Uniform Spot, Random-Dot Patch, Grating and Plaid all support masking the target pattern with a 2D Gaussian window. This is very useful in experiments where it is important to reduce edge effects in the behavioral or neurophysiological response to an extended video stimulus. If the standard deviations are set reasonably, the target pattern appears to fade into the background gradually. The edit controls restrict input to non-negative floating-point values with up to 2 digits after the decimal point. A standard deviation of zero is treated as infinity (Gaussian windowing disabled in the specified direction). Circular, elliptical, and 1D Gaussian masks (in which only one of the standard deviations is infinite) are all possible. Elliptical Gaussian windows are oriented with respect to the display's principal axes; in other words, they are not rotated in accordance with a specified "drift axis".
This control group organizes defining properties of the single dot or random-dot pattern associated with the RMVideo target types Point, Random-Dot Patch and Random-Dot Flow Field.
N -- The total number of dots in the random-dot pattern. For the RMVideo Random-Dot Flow Field target, all dots are visible on every RMVideo monitor frame. For Random-Dot Patch, however, the dots are randomly distributed over the target window's bounding rectangle; thus, any dots lying in the "hole" of an annular aperture or outside an elliptical aperture will not be seen. The edit control allows only non-negative integers up to 9999. In practice, the number of dots in a target is limited by the performance of RMVideo, the number of targets being animated at one time, and other factors. When designing experiments involving any video target, it is essential to test the protocol to make sure Maestro can do what you want!
size (pix) -- The size of the single dot comprising a Point target, or each individual dot in the random-dot pattern for a Random-Dot Patch or Flow Field target. Input is an integer pixel size, restricted to the range [1..25].
life -- This parameter applies only to the Random-Dot Patch target. The mutually exclusive pair of radio buttons selects the units for maximum dot lifetime: elapsed lifetime in milliseconds, or distance traveled in degrees. When dot life units are milliseconds, the lifetime must be expressed as an integer in the range [0..32767] ms. When the units are degrees, the edit control admits floating-point numeric values with up to 2 digits after the decimal point; the allowed range in this case is [0.01..327.67] deg. Setting the maximum dot lifetime to 0 effectively disables the "finite dot life" feature.
seed -- This parameter specifies an integer used to seed the random number generator that randomizes dot locations, as well as a separate number generator dedicated to the dot directional or speed noise. If a seed of zero is specified, then a different seed value will be randomly auto-generated for each trial in which the target participates.
% coherence -- Applicable only to the Random-Dot Patch target. Input is restricted to integer values in [0..100].
disparity -- The stereo disparity in visual degrees; has no effect if RMVideo does not support stereo mode. Must be non-negative.
Pattern motion WRT screen? -- Applicable only to the Random-Dot Patch target. When checked, pattern velocities in Trial or Continuous mode are specified with respect to the screen's fixed frame of reference rather than the target window.
Noise -- This control group applies only to the Random-Dot Patch target, which implements per-dot directional or speed noise.
direc/speed -- Use this pair of mutually exclusive radio buttons to choose which type of noise is generated for the Random-Dot Patch target.
noise update intv -- This edit control specifies the noise update interval, in milliseconds. Input is restricted to integer values in [2..1024]. Of course, users should ensure that the value is at least equal to or larger than the frame period of the RMVideo display. Typically, it is set to an integral multiple of the display frame period.
+/- range -- This edit control specifies a value N defining the allowed noise range [-N..N]. For directional noise, N is an offset angle in degrees and is restricted to integer values in [0..180]. For additive speed noise, N is expressed as a percentage of the nominal pattern speed. It is restricted to integer values in [0..300]. For multiplicative speed noise (· 2x), N defines the range over which the exponent x is randomly chosen; it is restricted to integer values in [1..7].
speed noise algorithm -- Depress this pushbutton to toggle between the two choices for generating per-dot speed noise: additive or multiplicative.
These controls apply only to the Grating and Plaid targets. Two sets of grating parameters are enabled for the Plaid target.
Sinusoidal/squarewave -- This pair of mutually exclusive radio buttons selects the grating function. Let d be the distance along the grating normal from the target's center, in degrees subtended at the eye. Let k be the spatial frequency in cycles per degree, and φ be the initial spatial phase in radians. Consider a grayscale grating with mean luminance L and contrast C, both normalized to the range [0..1]. Then, for a sinusoidal grating, the grating function is f(d) = L + 0.5C·sin(2πk·d + φ). For a squarewave grating, f(d) = L·(1+C) if 0 <= mod(2πk·d + φ, 2π) < π, or L·(1-C) otherwise. For Plaid targets, the two component gratings are both sinusoidal or both squarewave; you cannot have one of each.
Independent gratings? -- This check box applies only to the Plaid target type. If checked, then the two component gratings are treated as independent target patterns. During a trial, the target's horizontal pattern velocity is interpreted as the drift velocity for grating #1, while the target's vertical pattern velocity is the drift velocity for grating #2. If the box is not checked, the gratings act together as a single unified pattern, and the trial target pattern velocity vector has its normal meaning. This feature is incompatible with the dynamic orientation feature, described next.
Dynamic orientation? -- If unchecked, each component grating's orientation is a constant. In the single-grating case, the grating's drift speed is set by the H component of the target's pattern velocity vector, and the V component is ignored. In the plaid case, the interpretation of the target pattern velocity vector depends on the state of the Independent gratings? flag; see above. If Dynamic orientation? is checked, each component grating's orientation is adjusted on a frame-by-frame basis: its initial or "defined" orientation is offset by the direction angle of the per-frame target pattern velocity vector. When that vector is (0, 0) -- so that the direction is undefined -- the grating stays in the same orientation it was in during the previous display frame. This feature can be useful for designing trials to assess directional sensitivity of a neural unit.
Drift axis -- This parameter, which specifies the angle in degrees between the positive x-axis and a line perpendicular to the grating lines (and thus parallel to the direction of drift), determines the orientation of the grating. Currently, any floating-point value can be entered, with up to 2 digits after the decimal point. Typical values will range from [-180..180] deg, or [0..360) deg, depending on your preference.
Spatial freq -- The spatial frequency of a grating in cycles per visual deg subtended at the eye. Edit control restricts input to positive floating point values greater than or equal to 0.01, with up to 2 digits after the decimal point. Practically speaking, the minimum and maximum frequencies achievable depend on the RMVideo monitor's resolution and its distance from the eye. If Maestro is unable to reproduce the specified spatial frequency, it will not start the trial or stimulus run in which the target was to participate, and it will note the error in the Message Log panel.
Spatial phase -- The initial spatial phase of the grating in degrees. Currently, any floating-point value can be entered, with up to 2 digits after the decimal point. Typical values will range from [-180..180] deg.
The controls in this group box define the color specification for a target. They include mean luminance and contrast for each channel in the RGB colorspace: Red, Green, and Blue. Luminance values are restricted to integers in the range [0..255], while contrast values are restricted to integers in [0..100] percent. The edit controls for contrast are enabled only for the Random-Dot Patch, Grating and Plaid targets; all other RMVideo targets are drawn with a single color. The Use Grayscale check box can be checked to simplify specification of a grayscale target. When this box is checked, the controls for the Green and Blue axes are disabled, and all three color components are set in accordance with the values entered in the Red column. For the Plaid target, an entire second set of controls are enabled for defining the R/G/B mean and contrast for the plaid's second grating.
(As of V4.1.0) The controls in this group box define "flicker" parameters for RMVideo targets. Whenever this feature is enabled and the target is being displayed in Trial or Continuous mode, the target will flicker on and off periodically. The feature is intended specifically to support apparent motion studies, and it can be enabled for any of the RMVideo target types. The flicker cycle consists of an On phase, Off phase, and an Initial Delay preceding the On phase of the first cycle. The target is not displayed during the initial delay phase; the primary purpose of this parameter is to stagger the flicker cycles of two different targets. All three flicker cycle parameters are specified as a set number of RMVideo frame periods between 0 and 99. If either On = 0 or Off = 0, the feature is disabled. [NOTE: The target flickers only while it is turned on, either in a trial or in the active target list in Continuous mode. The flicker cycle is reset each time the target is turned off and then back on.]
The controls in this group box apply only to the Movie and Image targets. The video or image source is identified by a folder and file name, which uniquely locate the video within the "media store" on the RMVideo host machine. Names are restricted to 30 characters or less; only alphanumeric characters, the period ('.'), or the underscore ('_') are allowed. If either name contains an illegal character, it will be reset to "folderName" or "fileName". [NOTE that Maestro does not check that the specified media file currently exists on the RMVideo host; that is the user's responsibility.] Three check boxes toggle flags affecting the playback behavior of the Movie target during a trial; they may be used in any combination. [These check boxes are disabled for an Image target.] Check the Pause playback when turned off? box to pause the movie whenever the target is turned off over the course of a trial; otherwise, the movie will continue to play (invisibly) while it is off. NOTE that a movie does not start until the first time it is turned on. Check the Loop indefinitely during trial? box if you want the movie to replay over and over until the trial's end, and check Playback at monitor frame rate? if you want the playback rate to match the RMVideo monitor's refresh rate rather than the rate specified within the video file itself. If this last flag is not set, RMVideo will repeat frames as needed to match the file-specified playback rate as accurately as possible. Of course, if the refresh rate is not an even multiple of that playback rate, you may see jitter in the playback.