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 [2021/01/20 20:49]
cmp12
biac:experimentalcontrol:biac6hardware [2024/04/16 14:21] (current)
cmp12 [BIAC6 Screen Configuration]
Line 7: Line 7:
   * Second monitor video output connected to video switch (CPU 2)   * Second monitor video output connected to video switch (CPU 2)
   * Stereo sound output to audio switch boxes   * Stereo sound output to audio switch boxes
 + 
   * Current Design 8-button serial response device (USB)   * Current Design 8-button serial response device (USB)
     * button box mode: "HHSC-2x4-C" response box     * button box mode: "HHSC-2x4-C" response box
     * button mode : "HID NAR 12345" (**003**)      * button mode : "HID NAR 12345" (**003**) 
       * must check this mode if power is cycled to the interface       * must check this mode if power is cycled to the interface
-  * MagConcepts Joystick (USB Gaming device)+  * Current Design 2 axis, 2 button joystick shared between 2 scanners ) 
 +    * autoconfigure 
 +    * HID Joystick 
 +    * USB - Tethyx 
 +    * after use switch back to button box with above settings 
 +  * Current Design Trackball 2 ( shared between 2 scanners ) 
 +    * autoconfigure 
 +    * HID HHSC-TRK-2 ( track 2 and comp seem to do the exact same thing ) 
 +    * roll ball around to calibrate 
 +    * after use switch back to button box with above settings 
 +  
 + 
   * E-Prime SR box (no button box, just scanner trigger) (COM1: 19200 baud, 8 bits, no parity)   * E-Prime SR box (no button box, just scanner trigger) (COM1: 19200 baud, 8 bits, no parity)
   * Video switch serial cable on **COM2**   * Video switch serial cable on **COM2**
Line 77: Line 90:
 |  DA6 |  D14| |  DA6 |  D14|
 |  DA7 |  D15| |  DA7 |  D15|
 +
 +
 +===== BIAC6 Screen Configuration =====
 +
 +  * 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:biac5hardware|BIAC5 Scanner]]\\ [[biac:experimentalcontrol:biac5hardware|BIAC5 Scanner]]\\
 [[biac:experimentalcontrol:inventory|Back]] [[biac:experimentalcontrol:inventory|Back]]
  
biac/experimentalcontrol/biac6hardware.1611175759.txt.gz · Last modified: 2021/01/20 20:49 by cmp12