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/04/15 19:49]
cmp12 [BIAC6 Screen Configuration]
biac:experimentalcontrol:biac6hardware [2024/04/16 14:21] (current)
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.
 +
 +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> </code>
  
biac/experimentalcontrol/biac6hardware.1713210579.txt.gz · Last modified: 2024/04/15 19:49 by cmp12