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
Last revision Both sides next revision
biac:experimentalcontrol:biac6hardware [2024/04/15 19:49]
cmp12 [BIAC6 Screen Configuration]
biac:experimentalcontrol:biac6hardware [2024/04/15 20:26]
cmp12 [BIAC6 Screen Configuration]
Line 131: Line 131:
  
 >> run SetupPsychtoolbox.m >> run SetupPsychtoolbox.m
->> Screen('Screens')+>> screens = Screen('Screens')
 ans = ans =
      0      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> </code>
  
Line 152: Line 167:
  
  
-Any **EXTENDED** configuration will result in multiple monitors being available  +Any **EXTENDED** configuration, or configuration with goggles will result in multiple monitors being available. 
 +  
 PTB: PTB:
 <code matlab> <code matlab>
  
 >> run SetupPsychtoolbox.m >> run SetupPsychtoolbox.m
->> Screen('Screens')+>> screens = Screen('Screens')
 ans = ans =
              2              2
                      
    %in this case    %in this case
-   % 0 - the full display across the extended desktop +   % 0 - the full extended display across the desktop 
-   % 1 - screen #1  +   % 1 - screen #1 only 
-   % 2 - screen #2 +   % 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> </code>
  
Line 182: Line 203:
  # screens[1] is the second screen because python is zero indexed  # 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.
 +
 +<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> </code>
  
biac/experimentalcontrol/biac6hardware.txt · Last modified: 2024/04/16 14:21 by cmp12