User Tools

Site Tools


biac:experimentalcontrol:biac6hardware

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
biac:experimentalcontrol:biac6hardware [2024/02/12 16:28]
cmp12
biac:experimentalcontrol:biac6hardware [2024/04/16 14:21] (current)
cmp12 [BIAC6 Screen Configuration]
Line 92: Line 92:
  
  
-==== BIAC6 Screen Configuration ==== +===== BIAC6 Screen Configuration ====
-  * BIAC6 is equipped with NordicNeuroLab ( NNL ) [[https://www.nordicneurolab.com/product/visualsystem-hd|VisualSystemHD]] goggles + 
 +  * BIAC6 is equipped with NordicNeuroLab ( NNL ) [[https://www.nordicneurolab.com/product/visualsystem-hd|VisualSystemHD]] goggles for stereoscopic display 
 +  * The individual eyes of the NNL headset are hard-wired to the graphics card on the display computer and not routed through the switcher 
 +  * because of this setup, the stimulus computer appears to have 4 monitors 
 +  * monitor 1,2 are connected to the switcher and can be switched around to all the different displays at the scanner suite 
 +  * 3,4 are directly connected to the googles and can only output there 
 +  * when configuring your tasks to display, please take account of which monitor you are sending the outputs since 3,4 will always be the googles only.  
 + 
 +  * the best way to control the monitor configuration on BIAC6 is with [[https://www.displayfusion.com/HelpGuide/WorkingWithDisplayFusionMonitorProfiles/|DisplayFusion]]  
 +  * there are several pre-configured profiles automatically loaded on BIAC6 to choose from: 
 +    * 1024x768, 1280x1024, 1920x1080 cloned displays ( on monitors 1,2 ) 
 +    * 1920x1080 extended desktop ( across 1,2 ) 
 +    * 1920x1080 cloned displays with the NNL goggles as individual display 3,4 
 +    * 1920x1080 extended ( across 1,2 ) with the NNL goggles as individual displays 3,4  
 +    * more default profiles can be added, but you can also configure and save your own profiles 
 + 
 +{{ :biac:experimentalcontrol:df2.png?600 |}} 
 + 
 +If you do not use the NNL goggles, then it's probably in your interest to leave them disabled. 
 + 
 +The DisplayFusion monitor configuration is accessible from the Desktop icon, from the Start Menu, by Right clicking on the desktop, from the system panel at the bottom Right. 
 + 
 +{{ :biac:experimentalcontrol:df4.png?400 |}} 
 + 
 +A couple of the 1920x1080 profiles are accessible directly from most of the system's Apps by clicking the profile on the upper right hand corner. 
 + 
 +{{ :biac:experimentalcontrol:df3.png?600 |}} 
 + 
 +The "Reset Video" desktop icon will now just revert to 1920x1080 cloned displays, with the goggles disabled. 
 + 
 +Because of the variable nature of the display configuration, its best to login and select your preferred display profile, to always start the experiment session with a known configuration. 
 + 
 +A **CLONED** configuration with goggles off, will result in a single monitor to programs like PsychToolbox and PsychoPy. 
 + 
 +PTB: 
 +<code matlab> 
 + 
 +>> run SetupPsychtoolbox.m 
 +>> screens = Screen('Screens'
 +ans = 
 +     0 
 +      
 +  % there is only a single screen 
 + 
 +  % you can use the first index, or min / max functions because there is only 1 option      
 +>> screens(1) 
 +ans = 
 +     0 
 +>> min(screens) 
 +ans = 
 +     0 
 +>> max(screens) 
 +ans = 
 +     0 
 + 
 + 
 + 
 +</code> 
 + 
 +PsychoPy: 
 +<code python> 
 + 
 +import pyglet 
 + 
 +display = pyglet.canvas.get_display() 
 +screens = display.get_screens() 
 +screens 
 +>>[Win32Screen(x=0, y=0, width=1920, height=1080)] 
 + 
 + # screens[0] is the one and only screen 
 + 
 +</code> 
 + 
 + 
 +Any **EXTENDED** configuration, or configuration with goggles will result in multiple monitors being available. 
 +   
 +PTB: 
 +<code matlab> 
 + 
 +>> run SetupPsychtoolbox.m 
 +>> screens = Screen('Screens'
 +ans = 
 +             2 
 +           
 +   %in this case 
 +   % 0 - the full extended display across the desktop 
 +   % 1 - screen #1 only 
 +   % 2 - screen #2 only 
 +    
 +   % because matlab is indexed a 1, you need to select the correct index to get to screen #1 
 +>> screens(2) 
 +ans = 
 +     1 
 +      
 +      
 +</code> 
 + 
 +PsychoPy: 
 +<code python> 
 + 
 +import pyglet 
 + 
 +display = pyglet.canvas.get_display() 
 +screens = display.get_screens() 
 +screens 
 +>>[Win32Screen(x=0, y=0, width=1920, height=1080), Win32Screen(x=1920, y=0, width=1920, height=1080)] 
 + 
 + # screens[0] is the first screen 
 + # screens[1] is the second screen because python is zero indexed 
 + 
 +</code> 
 + 
 +You need to code your tasks to send to the specific screen you want your subjects to see.  If they are viewing the projector, then they can only single a screen at a time.  The default is to send the first display to the projector.  
 +  * screen 0 in matlab **only** if its a **cloned** display, or screen 1 if it is extended/goggles 
 +  * screen 0 in PTB 
 + 
 + 
 +One of the best ways to account for a variable to setup in matlab would be to code the task to work with either. 
 + 
 +Matlab: 
 +<code matlab> 
 +screens=Screen('Screens'); 
 + 
 +%if there is only 1 entry 
 +if (length(screens) == 1) 
 +    %use it 
 +    S.screenNumber = min(screens); 
 +%but if there are more, use #1 explicitely 
 +elseif (length(screens) > 1) 
 +    S.screenNumber = screens(2); 
 +    %same as S.screenNumber = 1; 
 +end  
 + 
 +[S.Window, S.screenRect]=Screen('OpenWindow',S.screenNumber, S.screenColor,[],[],2,[],[]); 
 +</code>
  
  
biac/experimentalcontrol/biac6hardware.1707755330.txt.gz · Last modified: 2024/02/12 16:28 by cmp12