PsychoPyで線を描く / 色について

psychopy.visual.Line

https://psychopy.org/api/visual/line.html#psychopy.visual.line.Line

    from psychopy import visual

    myWin = visual.Window([400,300], monitor="testMonitor", units="deg")

        line = visual.Line(
        myWin, 
        start=(-0.5, -0.5), 
        end=(0.5, 0.5), 
        lineWidth=5,  
        lineColorSpace='rgb255',
        lineColor=(0,255,0)
    )

    for i in range(300):
        line.draw()
        myWin.flip()

引数がいっぱいある。全部の引数を省略しても、デフォルト値で何かしらの線を書いてれる。引数の大部分を削ったものが上記。上記コードをコピペすればそのまま実行できると思います。実行すると右肩上がりの緑の直線が５秒ほど表示されて消えると思います。300フレーム表示するので、60Hzのディスプレイだと300/60=5秒。場合によってはその半分。

大抵、座標を指定して線をひきたいと思うので、

 - start=(-0.5, -0.5), #開始座標 
 - end=(0.5, 0.5), 　　#終端座標

は明示的に指定することになる。

色を変えたい場合は、

 - lineColor=(0, 1, 0),

 というふうに指定する。PsychoPyは色の指定方法が複数あって、'rgb'方式で指定する場合は、RGBのそれぞれを、-1から1の範囲で指定する。colorやcolorSpaceというパラメーターがあるが、指定しても変化がなかった。

 色についてはこちら
 
https://www.psychopy.org/general/colours.html

RGBを -1から1で指定するのに慣れていない人は、colorSpace = 'rgb255' と指定して、0から255の範囲で指定できる。以下、 [https://psychopy.org/api/visual/line.html](https://psychopy.org/api/visual/line.html) より抜粋

    # うす緑の文字列
    stim = visual.TextStim(win, 'Color me!',
                       color=(0, 1, 0), colorSpace='rgb')
    
    # ほとんど黒の文字列
    stim.colorSpace = 'rgb255'
    
    # もう一度うす緑
    stim.color = (128, 255, 128)

ちなみに、色については、色名や #00AAFF という風にも指定できる。[https://www.psychopy.org/general/colours.html](https://www.psychopy.org/general/colours.html)より抜粋

    stim = visual.GratingStim(win, color=[1,-1,-1], colorSpace='rgb') #will be red
    stim.setColor('Firebrick')#one of the web/X11 color names
    stim.setColor('#FFFAF0')#an off-white
    stim.setColor([0,90,1], colorSpace='dkl')#modulate along S-cone axis in isoluminant plane
    stim.setColor([1,0,0], colorSpace='lms')#modulate only on the L cone
    stim.setColor([1,1,1], colorSpace='rgb')#all guns to max
    stim.setColor([1,0,0])#this is ambiguous - you need to specify a color space

色空間の指定オプション [こちらより抜粋](https://psychopy.org/_modules/psychopy/colors.html#Color)

 - 'named' blue # A named colour space
 - 'hex' #00FF99' # Hex
 - 'rgb' (1, 0, -1)# RGB from -1 to 1
 - 'rgba': (1, 0, -1, 0.5) # RGB + alpha from -1 to 1
 - 'rgb1':  # RGB from 0 to 1
 - 'rgb255': (0, 124,255) # RGB from 0 to 255
 - 'hsv': [infrange(0, 360, 1), infrange(0, 1), infrange(0, 1)], # HSV with hue from 0 to 360 and saturation/vibrancy from 0 to 1
 - 'lms': # LMS from -1 to 1
 - 'dkl': # DKL placeholder: Accepts any values

 ほかにもいろいろ（ソースまで読まないとでてこない）
 
 - 'rgba1': # RGB + alpha from 0 to 1
 - 'rgba255':  # RGB + alpha from 0 to 255
 - 'hsva': # HSV with hue from 0 to 360 and saturation/vibrancy from 0 to 1 + alpha from 0 to 1
 - 'rec709TFa': # rec709TF adjusted RGB from -4.5 to 1 + alpha from 0 to 1
 - 'srgb': # srgb from -1 to 1
 - 'srgba': [infrange(-1, 1), infrange(-1, 1), infrange(-1, 1), infrange(0, 1)], # srgb from -1 to 1 + alpha from 0 to 1
 - 'lmsa': # LMS + alpha from 0 to 1
 - 'dkla': # DKLA placeholder: Accepts any values + alpha from 0 to 1
 - 'dklCart': # Cartesian DKL placeholder: Accepts any values
 - 'dklaCart':     # Cartesian DKLA placeholder: Accepts any values + alpha from 0 to 1


web/X11 color names については　[こちら https://www.w3schools.com/Colors/colors_names.asp](https://www.w3schools.com/Colors/colors_names.asp)を見よ

color codeは [こちら https://html-color-codes.com/](https://html-color-codes.com/)を見よ