I am working on a retina screen macbook (1440 x 900). I wanted to draw a stimulus containing a luminance ramp that’s the same size as the window. Code snippet:
from __future__ import division from psychopy import visual, core, event import numpy as np win_x = 800 win_y = 600 win = visual.Window([win_x, win_y], units='pix') # create a floating point high precision numpy ramp: xvals = np.linspace(-1, 1, win_x) yvals = np.ones(win_y) xv, yv = np.meshgrid(xvals, yvals) im = visual.ImageStim(win=win, name='ramp', image=xv, # size=(win_x, win_y), size=(1600, 1200), interpolate=False) im.draw() win.flip() event.waitKeys() win.close() core.quit()
size=(win_x, win_y) then the stimulus appears at half the window size; if
size=(1600, 1200) then it appears the same size as the opened window.
I get that retina screens are doing a funny double-pixel scaling thing, but why should this have a different effect for the opened window object than for the presented stimulus?
I’m using the current development version of PsychoPy (forked from Github;
psychopy.__version__ Out: '1.90.0'