def measure(color): print "Color:" + str(color) teststim.setColor(eizoGS320.encode_color(color, color)) teststim.draw() mywin.flip() time.sleep(imi) # Trigger measurement if(eyeone.I1_TriggerMeasurement() != constants.eNoError): print("Measurement failed.") # retrieve Color Space if(eyeone.I1_GetTriStimulus(colorspace, 0) != constants.eNoError): print("Failed to get color space.") else: print("Color Space " + str(colorspace[:]) + "\n") color_list.append(colorspace[:]) # Write justmeasure color file containing the data # f2.write(str(colorspace[:])[1:-1]) #f2.write("\n") # retrieve spectrum if(eyeone.I1_GetSpectrum(spectrum, 0) != constants.eNoError): print("Failed to get spectrum.") else: print("Spectrum: " + str(spectrum[:]) + "\n") spec_list.append(spectrum[:]) # write data to file file.write_data_txt(grayvals=[color, color], rgb=None, xyY=colorspace, voltage=None, spec_list=spectrum, delimiter="\t")
def measure(color): print "Color:" + str(color) teststim.setColor(eizoGS320.encode_color(color, color)) teststim.draw() mywin.flip() time.sleep(imi) # Trigger measurement if eyeone.I1_TriggerMeasurement() != constants.eNoError: print ("Measurement failed.") # retrieve Color Space if eyeone.I1_GetTriStimulus(colorspace, 0) != constants.eNoError: print ("Failed to get color space.") else: print ("Color Space " + str(colorspace[:]) + "\n") color_list.append(colorspace[:]) # Write justmeasure color file containing the data # f2.write(str(colorspace[:])[1:-1]) # f2.write("\n") # retrieve spectrum if eyeone.I1_GetSpectrum(spectrum, 0) != constants.eNoError: print ("Failed to get spectrum.") else: print ("Spectrum: " + str(spectrum[:]) + "\n") spec_list.append(spectrum[:]) # write data to file file.write_data_txt( grayvals=[color, color], rgb=None, xyY=colorspace, voltage=None, spec_list=spectrum, delimiter="\t" )
from stimuli import eizoGS320 import Image color = bg = 621 voltages = (1067, 1590, 1514) # set tubes (see find_color.R for details) tub = DevTubes() eye_one = EyeOne()#dummy=True) mywin = visual.Window(size=(1024, 1536), monitor='mymon', color=(1, 0, 0), screen=1, colorSpace='rgb') mon = Monitor(mywin) tub.setVoltages(voltages) bg = visual.GratingStim(mywin, tex=None, mask=None, units="norm", pos=(0, 0), size=(2, 2), color=eizoGS320.encode_color(color, color), colorSpace="rgb255") bg.draw() mywin.flip() mouse = event.Mouse(mywin) show = True while show: core.wait(0.01) left, middle, right = mouse.getPressed() if left: core.wait(0.2) show=False
colorspace = (c_float * constants.TRISTIMULUS_SIZE)() spectrum = (c_float * constants.SPECTRUM_SIZE)() spec_list = [] color_list = [] #set monitor color mywin = visual.Window([1024,1536], monitor="mymon", color=(100,100,0), screen=1, colorSpace="rgb255", allowGUI=False, units="pix") # teststim=SquareStim(mywin,color=500, size=1024) #background = eizoGS320.decode_color((mywin.color[0], mywin.color[1], mywin.color[2])) #if not(background[0] == background[1]): #print("WARNING: There is something wrong with the background color") teststim = visual.GratingStim(mywin, tex=None, units='norm', pos=(0, 0), size=2, colorSpace=mywin.colorSpace, color=eizoGS320.encode_color(400, 400)) # while color > 0: # teststim.draw() # mywin.flip() # color-=10 # teststim.setColor(eizoGS320.encode_color(color, color)) # print("something") # if event.getKeys(keyList='escape'): # break # import pdb #@@@ # pdb.set_trace() #@@@ # print 'stop here' #@@@ def measure(color): print "Color:" + str(color)
mywin = visual.Window([1024, 1536], monitor='mymon', color=(155, 155, 17), screen=1, colorSpace="rgb255", allowGUI=False) calibmonitor = CalibMonitor(eyeone, mywin) calibtubes = CalibTubes(eyeone) #calibtubes.is_calibrated = True calibrate = Calibrate(calibmonitor, calibtubes) colortable = ColorTable() color1 = ColorEntry("color850", patch_stim_value=eizoGS320.encode_color(850, 850)) color2 = ColorEntry("color600", patch_stim_value=eizoGS320.encode_color(600, 600)) color3 = ColorEntry("color390", patch_stim_value=eizoGS320.encode_color(390, 390)) color4 = ColorEntry("color621", patch_stim_value=eizoGS320.encode_color(621, 621)) ## MONITOR #calibrate.calibmonitor.startMeasurement() #calibrate._measureColorEntryMonitor(color1, n=20) #calibrate._measureColorEntryMonitor(color2, n=20) #calibrate._measureColorEntryMonitor(color3, n=20) # #with open("measured_colors_monitor.txt", "w") as f: # for color in (color1, color2, color3):
from achrolab.colorentry import ColorEntry from achrolab.calibrate import Calibrate eyeone = EyeOne() mywin = visual.Window([1024,1536], monitor='mymon', color=(155,155,17), screen=1, colorSpace="rgb255", allowGUI=False) calibmonitor = CalibMonitor(eyeone, mywin) calibtubes = CalibTubes(eyeone) #calibtubes.is_calibrated = True calibrate = Calibrate(calibmonitor, calibtubes) colortable = ColorTable() color1 = ColorEntry("color850", patch_stim_value=eizoGS320.encode_color(850, 850)) color2 = ColorEntry("color600", patch_stim_value=eizoGS320.encode_color(600, 600)) color3 = ColorEntry("color390", patch_stim_value=eizoGS320.encode_color(390, 390)) color4 = ColorEntry("color621", patch_stim_value=eizoGS320.encode_color(621, 621)) ## MONITOR #calibrate.calibmonitor.startMeasurement() #calibrate._measureColorEntryMonitor(color1, n=20) #calibrate._measureColorEntryMonitor(color2, n=20) #calibrate._measureColorEntryMonitor(color3, n=20) # #with open("measured_colors_monitor.txt", "w") as f: # for color in (color1, color2, color3): # f.write(str(color.name)+"\n") # f.write(str(color.patch_stim_value)+"\n") # f.write(str(color.monitor_xyY)+"\n")
###### (1.2) up ###### col_list = range(ncol) xyY_list = list() print("up") dataFile = open( 'D:/software/achrolabutils/calibdata/measurements/monitor_up_' + time.strftime("%Y%m%d_%H%M") + '.csv', 'w') # add headline to files dataFile.write('color' + ',' + 'x' + ',' + 'y' + ',' + 'Y' + '\n') for color in col_list: xyY_list.append( mon.measureGratingStimColor(eizoGS320.encode_color(color, color))) print(color) for i in range(len(col_list)): dataFile.write( str(col_list[i]) + ',' + str(xyY_list[i][0][0]) + ',' + str(xyY_list[i][0][1]) + ',' + str(xyY_list[i][0][2]) + '\n') # close dataFile dataFile.close() ###### (1.2) down ###### col_list.reverse() xyY_list = list() print("down")
mywin = visual.Window( [1024, 1536], monitor="mymon", color=(100, 100, 0), screen=1, colorSpace="rgb255", allowGUI=False, units="pix" ) # teststim=SquareStim(mywin,color=500, size=1024) # background = eizoGS320.decode_color((mywin.color[0], mywin.color[1], mywin.color[2])) # if not(background[0] == background[1]): # print("WARNING: There is something wrong with the background color") teststim = visual.GratingStim( mywin, tex=None, units="norm", pos=(0, 0), size=2, colorSpace=mywin.colorSpace, color=eizoGS320.encode_color(400, 400), ) # while color > 0: # teststim.draw() # mywin.flip() # color-=10 # teststim.setColor(eizoGS320.encode_color(color, color)) # print("something") # if event.getKeys(keyList='escape'): # break # import pdb #@@@ # pdb.set_trace() #@@@ # print 'stop here' #@@@
# for all three methods (up, down, random) ###### (1.2) up ###### col_list = range(ncol) xyY_list = list() print("up") dataFile = open('D:/software/achrolabutils/calibdata/measurements/monitor_up_' + time.strftime("%Y%m%d_%H%M") + '.csv', 'w') # add headline to files dataFile.write('color' + ',' + 'x' + ',' + 'y' + ',' + 'Y' + '\n') for color in col_list: xyY_list.append(mon.measureGratingStimColor(eizoGS320.encode_color(color, color))) print(color) for i in range(len(col_list)): dataFile.write(str(col_list[i]) + ',' + str(xyY_list[i][0][0]) + ',' + str(xyY_list[i][0][1]) + ',' + str(xyY_list[i][0][2]) + '\n') # close dataFile dataFile.close() ###### (1.2) down ###### col_list.reverse() xyY_list = list() print("down")