Control for different monitor sizes in inquisit web


Author
Message
marlonz
marlonz
Associate Member (67 reputation)Associate Member (67 reputation)Associate Member (67 reputation)Associate Member (67 reputation)Associate Member (67 reputation)Associate Member (67 reputation)Associate Member (67 reputation)Associate Member (67 reputation)Associate Member (67 reputation)
Group: Forum Members
Posts: 5, Visits: 15
Hi,
Due to covid and the labs being closed im forced to change to study we are conducting into an online study.
We are using a dot-probe paradigm and visual angle is very important to us.
The script and it's visual angles, are optimized for a 15,6" monitor.
A problem we face is that we can't control for monitor sizes, e.g. any participant might have a larger or smaller monitor than 15,6"

Is there an option to force the size of the task? So that all stimuli in the test will have the exact same dimensions as on a 15,6" monitor?
As an example.
On my 15,6" monitor the dot probe target and non-target stimuli have dimensions of 4,6cmx6,5cm with a distance of 2,2cm from fixation point to the edge of either picture. When my co-worker opens the task in inquisit web on their 23" monitor the dimensions of the images become much larger, as well as the distance from fixation point to the edge of a stimulus.

Kind regards,
Marlon
Dave
Dave
Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)
Group: Administrators
Posts: 12K, Visits: 98K
marlonz - 12/23/2020
Hi,
Due to covid and the labs being closed im forced to change to study we are conducting into an online study.
We are using a dot-probe paradigm and visual angle is very important to us.
The script and it's visual angles, are optimized for a 15,6" monitor.
A problem we face is that we can't control for monitor sizes, e.g. any participant might have a larger or smaller monitor than 15,6"

Is there an option to force the size of the task? So that all stimuli in the test will have the exact same dimensions as on a 15,6" monitor?
As an example.
On my 15,6" monitor the dot probe target and non-target stimuli have dimensions of 4,6cmx6,5cm with a distance of 2,2cm from fixation point to the edge of either picture. When my co-worker opens the task in inquisit web on their 23" monitor the dimensions of the images become much larger, as well as the distance from fixation point to the edge of a stimulus.

Kind regards,
Marlon

You can set the screen area used by any given script per the <defaults> element's /canvassize and /canvasaspectratio.

https://www.millisecond.com/support/docs/v6/html/language/attributes/canvassize.htm
https://www.millisecond.com/support/docs/v6/html/language/attributes/canvasaspectratio.htm

Note that you can use physical dimensions in /canvassize if that is what you want / require. E.g.

/ canvassize = (345mm, 194mm)
/ canvasaspectratio = (16,9)

would be the physical dimensions of a typical 15.6'' monitor with a 16:9 aspect ratio.

Any devices with a display too small to run the task at the desired dimensions would obviously have to be excluded. This can be done per /onexptbegin logic. and using the <display> element's member functions:
https://www.millisecond.com/support/docs/v6/html/language/functions/getmmx.htm
https://www.millisecond.com/support/docs/v6/html/language/functions/getmmy.htm

Edited 4 Years Ago by Dave
Dave
Dave
Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)
Group: Administrators
Posts: 12K, Visits: 98K
Dave - 12/23/2020
marlonz - 12/23/2020
Hi,
Due to covid and the labs being closed im forced to change to study we are conducting into an online study.
We are using a dot-probe paradigm and visual angle is very important to us.
The script and it's visual angles, are optimized for a 15,6" monitor.
A problem we face is that we can't control for monitor sizes, e.g. any participant might have a larger or smaller monitor than 15,6"

Is there an option to force the size of the task? So that all stimuli in the test will have the exact same dimensions as on a 15,6" monitor?
As an example.
On my 15,6" monitor the dot probe target and non-target stimuli have dimensions of 4,6cmx6,5cm with a distance of 2,2cm from fixation point to the edge of either picture. When my co-worker opens the task in inquisit web on their 23" monitor the dimensions of the images become much larger, as well as the distance from fixation point to the edge of a stimulus.

Kind regards,
Marlon

You can set the screen area used by any given script per the <defaults> element's /canvassize and /canvasaspectratio.

https://www.millisecond.com/support/docs/v6/html/language/attributes/canvassize.htm
https://www.millisecond.com/support/docs/v6/html/language/attributes/canvasaspectratio.htm

Note that you can use physical dimensions in /canvassize if that is what you want / require. E.g.

/ canvassize = (345mm, 194mm)
/ canvasaspectratio = (16,9)

would be the physical dimensions of a typical 15.6'' monitor with a 16:9 aspect ratio.

Any devices with a display too small to run the task at the desired dimensions would obviously have to be excluded. This can be done per /onexptbegin logic. and using the <display> element's member functions:
https://www.millisecond.com/support/docs/v6/html/language/functions/getmmx.htm
https://www.millisecond.com/support/docs/v6/html/language/functions/getmmy.htm

Adding: If you're not worried about stimuli's physical dimensions, but merely wish to ensure that their *relative* sizes and positions are consistent across different displays, define all sizes and positions in percentages and define a uniform /canvasaspectratio.
marlonz
marlonz
Associate Member (67 reputation)Associate Member (67 reputation)Associate Member (67 reputation)Associate Member (67 reputation)Associate Member (67 reputation)Associate Member (67 reputation)Associate Member (67 reputation)Associate Member (67 reputation)Associate Member (67 reputation)
Group: Forum Members
Posts: 5, Visits: 15
I've tried experimenting with the two element's you provided. Unfortunately this does not seem to solve the problem i'm running into.
If i understand the canvas elements correctly they will change the canvas size / aspect ratio relative to the user's monitor of the task.

Im trying to achieve that different screen sizes and resolutions have no influence on the physical dimensions of a stimulus. For example, currently i am using my 15,6" monitor, the dimensions of the stimuli are 6,5cm (width) x 4,6cm (height). If i would now connect my pc to for example a screen of 23" and i would open the task, i would need the stimuli to again be 6,5cm x 4,6cm.

Thank you for your help

Dave
Dave
Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)
Group: Administrators
Posts: 12K, Visits: 98K
marlonz - 12/23/2020
I've tried experimenting with the two element's you provided. Unfortunately this does not seem to solve the problem i'm running into.
If i understand the canvas elements correctly they will change the canvas size / aspect ratio relative to the user's monitor of the task.

Im trying to achieve that different screen sizes and resolutions have no influence on the physical dimensions of a stimulus. For example, currently i am using my 15,6" monitor, the dimensions of the stimuli are 6,5cm (width) x 4,6cm (height). If i would now connect my pc to for example a screen of 23" and i would open the task, i would need the stimuli to again be 6,5cm x 4,6cm.

Thank you for your help

> If i understand the canvas elements correctly they will change the canvas size / aspect ratio relative to the user's monitor of the task.

No. You can define a physical canvassize as explained in my response. I.e. on a 23'' monitor, the task would then only use a physical area equivalent to that of a 15.6'' display.

You can, of course, define your stimuli's sizes in physical dimensions as well.

<shape example>
/ shape = rectangle
/ size = (100mm, 20mm)
/ color = red
</shape>

will be 10cm width and 2cm height on any display.

Edited 4 Years Ago by Dave
Dave
Dave
Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)
Group: Administrators
Posts: 12K, Visits: 98K
Dave - 12/23/2020
marlonz - 12/23/2020
I've tried experimenting with the two element's you provided. Unfortunately this does not seem to solve the problem i'm running into.
If i understand the canvas elements correctly they will change the canvas size / aspect ratio relative to the user's monitor of the task.

Im trying to achieve that different screen sizes and resolutions have no influence on the physical dimensions of a stimulus. For example, currently i am using my 15,6" monitor, the dimensions of the stimuli are 6,5cm (width) x 4,6cm (height). If i would now connect my pc to for example a screen of 23" and i would open the task, i would need the stimuli to again be 6,5cm x 4,6cm.

Thank you for your help

> If i understand the canvas elements correctly they will change the canvas size / aspect ratio relative to the user's monitor of the task.

No. You can define a physical canvassize as explained in my response. I.e. on a 23'' monitor, the task would then only use a physical area equivalent to that of a 15.6'' display.

You can, of course, define your stimuli's sizes in physical dimensions as well.

<shape example>
/ shape = rectangle
/ size = (100mm, 20mm)
/ color = red
</shape>

will be 10cm width and 2cm height on any display.

Similarly,

<shape center>
/ shape = rectangle
/ size = (25mm, 25mm)
/ color = blue
/ position = (50%, 50%)
</shape>

<shape left>
/ shape = rectangle
/ size = (60mm, 60mm)
/ color = green
/ hposition = display.getmmx(display.width/2, 1) - 50mm
/ vposition = 50%
</shape>

<shape right>
/ shape = rectangle
/ size = (60mm, 60mm)
/ color = red
/ hposition = display.getmmx(display.width/2, 1) + 50mm
/ vposition = 50%
</shape>

<trial mytrial>
/ stimulusframes = [1=left, center, right]
/ validresponse = (57)
</trial>

will have the exact same physical dimensions and distances between the three shapes on any display.
marlonz
marlonz
Associate Member (67 reputation)Associate Member (67 reputation)Associate Member (67 reputation)Associate Member (67 reputation)Associate Member (67 reputation)Associate Member (67 reputation)Associate Member (67 reputation)Associate Member (67 reputation)Associate Member (67 reputation)
Group: Forum Members
Posts: 5, Visits: 15
Thank you for your help! The picture sizes are now consistent on different sizes of monitors.
the problem I ran into with the canvas functions is the following. I tried to run the task on my laptop (15,6" screen) and my TV (43"). The dimensions on the TV were  disturbed (everything was incredibly small).
However, when i connected my laptop to my old PC monitor (21" screen) the stimuli were indeed the exact same size, so again thank you for the help.

Unfortunately the canvas function doesn't seem to include the positioning of the stimuli? I think this is due to the <parameters> being defined in percentages, but even when i tried to define it in mm there were still differences in positioning of the stimuli presentation. I tried to use the function you described above "/ hposition = display.getmmx(display.width/2, 1) + 50mm" and "... - 50mm" and experiment with it, but unfortunately didn't get a consist positioning result. 

The position for practice trials in my script is defined as

<parameters> 
/ target_left_x = 29.0%
/ target_right_x = 71.1%
</parameters> 

<picture PracticeTarget>
/ items = PracticeTargets
/ select = noreplace
/ hposition = values.Target_x
/ vposition = parameters.target_y
/ size = (65mm, 46mm)
</picture>

<picture PracticeComp>
/ items = PracticeComps
/ select = picture.PracticeTarget.currentitemnumber
/ hposition = values.Comp_x
/ vposition = parameters.target_y
/ size = (65mm, 46mm)
</picture>

I looked at the script you posted above and tried to use it to define my stimulus positions, but unfortunately with no succes. 
With the "/ hposition = values.Target_x and / hposition = values.Comp_x" ultimately depending on the <parameters> section i posted above.

So my question is, how can i get the stimuli position consistent on different sized monitors?

Dave
Dave
Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)
Group: Administrators
Posts: 12K, Visits: 98K
marlonz - 12/25/2020
Thank you for your help! The picture sizes are now consistent on different sizes of monitors.
the problem I ran into with the canvas functions is the following. I tried to run the task on my laptop (15,6" screen) and my TV (43"). The dimensions on the TV were  disturbed (everything was incredibly small).
However, when i connected my laptop to my old PC monitor (21" screen) the stimuli were indeed the exact same size, so again thank you for the help.

Unfortunately the canvas function doesn't seem to include the positioning of the stimuli? I think this is due to the <parameters> being defined in percentages, but even when i tried to define it in mm there were still differences in positioning of the stimuli presentation. I tried to use the function you described above "/ hposition = display.getmmx(display.width/2, 1) + 50mm" and "... - 50mm" and experiment with it, but unfortunately didn't get a consist positioning result. 

The position for practice trials in my script is defined as

<parameters> 
/ target_left_x = 29.0%
/ target_right_x = 71.1%
</parameters> 

<picture PracticeTarget>
/ items = PracticeTargets
/ select = noreplace
/ hposition = values.Target_x
/ vposition = parameters.target_y
/ size = (65mm, 46mm)
</picture>

<picture PracticeComp>
/ items = PracticeComps
/ select = picture.PracticeTarget.currentitemnumber
/ hposition = values.Comp_x
/ vposition = parameters.target_y
/ size = (65mm, 46mm)
</picture>

I looked at the script you posted above and tried to use it to define my stimulus positions, but unfortunately with no succes. 
With the "/ hposition = values.Target_x and / hposition = values.Comp_x" ultimately depending on the <parameters> section i posted above.

So my question is, how can i get the stimuli position consistent on different sized monitors?

> Unfortunately the canvas function doesn't seem to include the positioning of the stimuli?

If you define positions in percentages, the stimuli will be positioned relative to the defined canvas size.

> "/ hposition = display.getmmx(display.width/2, 1) + 50mm" and "... - 50mm" and experiment with it, but unfortunately didn't get a consist positioning result.

If you defined a canvas, you ought to use display.canvaswidth and display.canvasheight.
marlonz
marlonz
Associate Member (67 reputation)Associate Member (67 reputation)Associate Member (67 reputation)Associate Member (67 reputation)Associate Member (67 reputation)Associate Member (67 reputation)Associate Member (67 reputation)Associate Member (67 reputation)Associate Member (67 reputation)
Group: Forum Members
Posts: 5, Visits: 15
While the distance between the stimuli is consistent (4,4cm), their positioning still seems to be shifted towards the left on my 21" monitor

I defined the canvas according to the dimensions of my laptop screen (in inches)
/ canvasaspectratio = (13, 8)

The position of the stimuli is defined as
/ target_left_x = display.getmmx(display.canvaswidth/2, 1) - 68.5mm
/ target_right_x = display.getmmx(display.canvaswidth/2, 1) + 38.8mm

The same problem occured when i defined the positions in percentages
could you point out to where i'm getting stuck on the positioning?

I added the script I'm using as an attachment in case it's needed to see where I make the mistake
Note, so far i'm only working on my practice trial stimuli

Attachments
dot_probe_parametertest.iqx (189 views, 65.00 KB)
Dave
Dave
Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)
Group: Administrators
Posts: 12K, Visits: 98K
marlonz - 12/25/2020
While the distance between the stimuli is consistent (4,4cm), their positioning still seems to be shifted towards the left on my 21" monitor

I defined the canvas according to the dimensions of my laptop screen (in inches)
/ canvasaspectratio = (13, 8)

The position of the stimuli is defined as
/ target_left_x = display.getmmx(display.canvaswidth/2, 1) - 68.5mm
/ target_right_x = display.getmmx(display.canvaswidth/2, 1) + 38.8mm

The same problem occured when i defined the positions in percentages
could you point out to where i'm getting stuck on the positioning?

I added the script I'm using as an attachment in case it's needed to see where I make the mistake
Note, so far i'm only working on my practice trial stimuli

Is the 21'' monitor connected to your laptop as a secondary display or is this an entirely different system?

If the former, you're using the getmmx function wrong. It requires you to specify the monitor and you're calculating distances based on the primary monitor, which would be the laptop's built-in 15.6'' display.

Further, sharing a script isn't terribly useful if you don't also share all files the respective script requires to run.

Edited 4 Years Ago by Dave
GO

Merge Selected

Merge into selected topic...



Merge into merge target...



Merge into a specific topic ID...




Reading This Topic

Explore
Messages
Mentions
Search