Millisecond Forums

stimulus shown after animated stimulus is not on top

https://forums.millisecond.com/Topic33565.aspx

By KatrinaMcDonough - 12/7/2021

Hello, I am trying to set up a trial that shows an animated stimulus (red circle) followed by a static stimulus (blue square), however, the second static stimulus is appearing under the first animated one. How do I get the second static stimulus to show on top?
Also, I am using shapes to demonstrate my issue and another problem that I encountered was that the shapes appeared stretched e.g. a circle with size = (10%, 10%) appears to be an oval.

<shape circle>
/ shape = circle
/ color = red
/ size = (10%, 10%)
/ animation = points(1200, 1, 36.46%, 52.16%, 35.42%, 50.14%, 35.22%, 43.37%, 35.74%, 36.37%, 37.05%, 30.48%, 39.52%, 25.54%, 43.95%, 21.24%, 48.83%, 18.42%, 53.2%, 16.57%, 57.14%, 15.16%, 60.95%, 13.85%, 64%, 12.84%, 66.58%, 12.04%, 69.03%, 11.35%, 70.73%, 10.85%)
</shape>

<shape square>
/ shape = rectangle
/ color = blue
/ size = (20%, 20%)
/ position = (70%, 20%)
</shape>

<trial trial1>
/ pretrialpause = 500
/ stimulustimes = [0=circle; 2000 = square]
/ validresponse = (57)
</trial>


Thanks,
Katrina
By Dave - 12/7/2021

KatrinaMcDonough - 12/7/2021
Hello, I am trying to set up a trial that shows an animated stimulus (red circle) followed by a static stimulus (blue square), however, the second static stimulus is appearing under the first animated one. How do I get the second static stimulus to show on top?
Also, I am using shapes to demonstrate my issue and another problem that I encountered was that the shapes appeared stretched e.g. a circle with size = (10%, 10%) appears to be an oval.

<shape circle>
/ shape = circle
/ color = red
/ size = (10%, 10%)
/ animation = points(1200, 1, 36.46%, 52.16%, 35.42%, 50.14%, 35.22%, 43.37%, 35.74%, 36.37%, 37.05%, 30.48%, 39.52%, 25.54%, 43.95%, 21.24%, 48.83%, 18.42%, 53.2%, 16.57%, 57.14%, 15.16%, 60.95%, 13.85%, 64%, 12.84%, 66.58%, 12.04%, 69.03%, 11.35%, 70.73%, 10.85%)
</shape>

<shape square>
/ shape = rectangle
/ color = blue
/ size = (20%, 20%)
/ position = (70%, 20%)
</shape>

<trial trial1>
/ pretrialpause = 500
/ stimulustimes = [0=circle; 2000 = square]
/ validresponse = (57)
</trial>


Thanks,
Katrina

> How do I get the second static stimulus to show on top?

The trick is to pseudo-animate it.

<shape square>
/ shape = rectangle
/ color = blue
/ size = (20%, 20%)
/ position = (70%, 20%)
/ animation = points(100, 1, 70%, 20%, 70%, 20%)
</shape>

> another problem that I encountered was that the shapes appeared stretched e.g. a circle with size = (10%, 10%) appears to be an oval.

Unless your screen is as wide as it is high (few, if any, screens are), that's the expected result. 10% of the width is more than 10% of the height, i.e. the result is not a circle. Either just specify one dimension, i.e.

<shape circle>
/ shape = circle
/ color = red
/ height = 10%
/ animation = points(1200, 1, 36.46%, 52.16%, 35.42%, 50.14%, 35.22%, 43.37%, 35.74%, 36.37%, 37.05%, 30.48%, 39.52%, 25.54%, 43.95%, 21.24%, 48.83%, 18.42%, 53.2%, 16.57%, 57.14%, 15.16%, 60.95%, 13.85%, 64%, 12.84%, 66.58%, 12.04%, 69.03%, 11.35%, 70.73%, 10.85%)
</shape>

or 

<shape circle>
/ shape = circle
/ color = red
/ width = 10%
/ animation = points(1200, 1, 36.46%, 52.16%, 35.42%, 50.14%, 35.22%, 43.37%, 35.74%, 36.37%, 37.05%, 30.48%, 39.52%, 25.54%, 43.95%, 21.24%, 48.83%, 18.42%, 53.2%, 16.57%, 57.14%, 15.16%, 60.95%, 13.85%, 64%, 12.84%, 66.58%, 12.04%, 69.03%, 11.35%, 70.73%, 10.85%)
</shape>

or define size like so

<shape circle>
/ shape = circle
/ color = red
/ size = (10%, 0.1px*display.canvaswidth)
/ animation = points(1200, 1, 36.46%, 52.16%, 35.42%, 50.14%, 35.22%, 43.37%, 35.74%, 36.37%, 37.05%, 30.48%, 39.52%, 25.54%, 43.95%, 21.24%, 48.83%, 18.42%, 53.2%, 16.57%, 57.14%, 15.16%, 60.95%, 13.85%, 64%, 12.84%, 66.58%, 12.04%, 69.03%, 11.35%, 70.73%, 10.85%)
</shape>

or

<shape circle>
/ shape = circle
/ color = red
/ size = (0.1px*display.canvasheight, 10%)
/ animation = points(1200, 1, 36.46%, 52.16%, 35.42%, 50.14%, 35.22%, 43.37%, 35.74%, 36.37%, 37.05%, 30.48%, 39.52%, 25.54%, 43.95%, 21.24%, 48.83%, 18.42%, 53.2%, 16.57%, 57.14%, 15.16%, 60.95%, 13.85%, 64%, 12.84%, 66.58%, 12.04%, 69.03%, 11.35%, 70.73%, 10.85%)
</shape>

depending on whether you want the circle's diameter be relative to the display area's width or the display area's height.
By KatrinaMcDonough - 12/8/2021

Dave - 12/7/2021
KatrinaMcDonough - 12/7/2021
Hello, I am trying to set up a trial that shows an animated stimulus (red circle) followed by a static stimulus (blue square), however, the second static stimulus is appearing under the first animated one. How do I get the second static stimulus to show on top?
Also, I am using shapes to demonstrate my issue and another problem that I encountered was that the shapes appeared stretched e.g. a circle with size = (10%, 10%) appears to be an oval.

<shape circle>
/ shape = circle
/ color = red
/ size = (10%, 10%)
/ animation = points(1200, 1, 36.46%, 52.16%, 35.42%, 50.14%, 35.22%, 43.37%, 35.74%, 36.37%, 37.05%, 30.48%, 39.52%, 25.54%, 43.95%, 21.24%, 48.83%, 18.42%, 53.2%, 16.57%, 57.14%, 15.16%, 60.95%, 13.85%, 64%, 12.84%, 66.58%, 12.04%, 69.03%, 11.35%, 70.73%, 10.85%)
</shape>

<shape square>
/ shape = rectangle
/ color = blue
/ size = (20%, 20%)
/ position = (70%, 20%)
</shape>

<trial trial1>
/ pretrialpause = 500
/ stimulustimes = [0=circle; 2000 = square]
/ validresponse = (57)
</trial>


Thanks,
Katrina

> How do I get the second static stimulus to show on top?

The trick is to pseudo-animate it.

<shape square>
/ shape = rectangle
/ color = blue
/ size = (20%, 20%)
/ position = (70%, 20%)
/ animation = points(100, 1, 70%, 20%, 70%, 20%)
</shape>

> another problem that I encountered was that the shapes appeared stretched e.g. a circle with size = (10%, 10%) appears to be an oval.

Unless your screen is as wide as it is high (few, if any, screens are), that's the expected result. 10% of the width is more than 10% of the height, i.e. the result is not a circle. Either just specify one dimension, i.e.

<shape circle>
/ shape = circle
/ color = red
/ height = 10%
/ animation = points(1200, 1, 36.46%, 52.16%, 35.42%, 50.14%, 35.22%, 43.37%, 35.74%, 36.37%, 37.05%, 30.48%, 39.52%, 25.54%, 43.95%, 21.24%, 48.83%, 18.42%, 53.2%, 16.57%, 57.14%, 15.16%, 60.95%, 13.85%, 64%, 12.84%, 66.58%, 12.04%, 69.03%, 11.35%, 70.73%, 10.85%)
</shape>

or 

<shape circle>
/ shape = circle
/ color = red
/ width = 10%
/ animation = points(1200, 1, 36.46%, 52.16%, 35.42%, 50.14%, 35.22%, 43.37%, 35.74%, 36.37%, 37.05%, 30.48%, 39.52%, 25.54%, 43.95%, 21.24%, 48.83%, 18.42%, 53.2%, 16.57%, 57.14%, 15.16%, 60.95%, 13.85%, 64%, 12.84%, 66.58%, 12.04%, 69.03%, 11.35%, 70.73%, 10.85%)
</shape>

or define size like so

<shape circle>
/ shape = circle
/ color = red
/ size = (10%, 0.1px*display.canvaswidth)
/ animation = points(1200, 1, 36.46%, 52.16%, 35.42%, 50.14%, 35.22%, 43.37%, 35.74%, 36.37%, 37.05%, 30.48%, 39.52%, 25.54%, 43.95%, 21.24%, 48.83%, 18.42%, 53.2%, 16.57%, 57.14%, 15.16%, 60.95%, 13.85%, 64%, 12.84%, 66.58%, 12.04%, 69.03%, 11.35%, 70.73%, 10.85%)
</shape>

or

<shape circle>
/ shape = circle
/ color = red
/ size = (0.1px*display.canvasheight, 10%)
/ animation = points(1200, 1, 36.46%, 52.16%, 35.42%, 50.14%, 35.22%, 43.37%, 35.74%, 36.37%, 37.05%, 30.48%, 39.52%, 25.54%, 43.95%, 21.24%, 48.83%, 18.42%, 53.2%, 16.57%, 57.14%, 15.16%, 60.95%, 13.85%, 64%, 12.84%, 66.58%, 12.04%, 69.03%, 11.35%, 70.73%, 10.85%)
</shape>

depending on whether you want the circle's diameter be relative to the display area's width or the display area's height.

This all worked perfectly, thanks for your help!