Python 精神病患者伽玛校正错误

Python 精神病患者伽玛校正错误,python,python-2.7,psychopy,Python,Python 2.7,Psychopy,我正试图用海洋光学光谱仪对我的计算机监视器进行伽马校正,以收集数据,并用Pyschopy的伽马校正模块对曲线进行线性化 该程序似乎工作了大约4/5次,但当我尝试设置Gammaramp时,偶尔会给我一个错误。我只是想知道可能的错误是什么。使用ctypes进行32-64位转换是否可能有问题?下面是我得到的错误: Traceback (most recent call last): File "C:\WinPython-64bit-2.7.5.3\python-2.7.5.amd64\Lib\si

我正试图用海洋光学光谱仪对我的计算机监视器进行伽马校正,以收集数据,并用Pyschopy的伽马校正模块对曲线进行线性化

该程序似乎工作了大约4/5次,但当我尝试设置Gammaramp时,偶尔会给我一个错误。我只是想知道可能的错误是什么。使用ctypes进行32-64位转换是否可能有问题?下面是我得到的错误:

Traceback (most recent call last):
  File "C:\WinPython-64bit-2.7.5.3\python-2.7.5.amd64\Lib\site-packages\aibs\chrisgammatest.py", line 139, in <module>
    Calib=GammaTest()
  File "C:\WinPython-64bit-2.7.5.3\python-2.7.5.amd64\Lib\site-packages\aibs\chrisgammatest.py", line 22, in __init__
    self.monitorcal()
  File "C:\WinPython-64bit-2.7.5.3\python-2.7.5.amd64\Lib\site-packages\aibs\chrisgammatest.py", line 81, in monitorcal
    sample=self.gammaTest()
  File "C:\WinPython-64bit-2.7.5.3\python-2.7.5.amd64\Lib\site-packages\aibs\chrisgammatest.py", line 42, in gammaTest
    window=visual.Window(units='norm',monitor=monitortype, fullscr = True, screen = screennumber, waitBlanking=True)
  File "C:\WinPython-64bit-2.7.5.3\python-2.7.5.amd64\lib\site-packages\psychopy\visual.py", line 334, in __init__
    self.setGamma(self.gamma)#using either pygame or bits++
  File "C:\WinPython-64bit-2.7.5.3\python-2.7.5.amd64\lib\site-packages\psychopy\visual.py", line 935, in setGamma
    self.winHandle.setGamma(self.winHandle, self.gamma)
  File "C:\WinPython-64bit-2.7.5.3\python-2.7.5.amd64\lib\site-packages\psychopy\gamma.py", line 34, in setGamma
    setGammaRamp(pygletWindow, newLUT)
  File "C:\WinPython-64bit-2.7.5.3\python-2.7.5.amd64\lib\site-packages\psychopy\gamma.py", line 51, in setGammaRamp
    success = windll.gdi32.SetDeviceGammaRamp(pygletWindow._dc, newRamp.ctypes)
ctypes.ArgumentError: argument 1: <type 'exceptions.OverflowError'>: long int too long to convert
回溯(最近一次呼叫最后一次):
文件“C:\WinPython-64bit-2.7.5.3\python-2.7.5.amd64\Lib\site packages\aibs\chrisgammatest.py”,第139行,在
Calib=GammaTest()
文件“C:\WinPython-64bit-2.7.5.3\python-2.7.5.amd64\Lib\site packages\aibs\chrisgammatest.py”,第22行,在uu init中__
自我监控()
monitocal格式的文件“C:\WinPython-64bit-2.7.5.3\python-2.7.5.amd64\Lib\site packages\aibs\chrisgammatest.py”,第81行
sample=self.gammaTest()
gammaTest中的文件“C:\WinPython-64bit-2.7.5.3\python-2.7.5.amd64\Lib\site packages\aibs\chrisgammatest.py”,第42行
window=visual.window(units='norm',monitor=monitortype,fullscr=True,screen=screennumber,waitBlanking=True)
文件“C:\WinPython-64bit-2.7.5.3\python-2.7.5.amd64\lib\site packages\psychopy\visual.py”,第334行,在_init中__
self.setGamma(self.gamma)#使用pygame或bits++
文件“C:\WinPython-64bit-2.7.5.3\python-2.7.5.amd64\lib\site packages\psychopy\visual.py”,第935行,在setGamma中
self.winHandle.setGamma(self.winHandle,self.gamma)
文件“C:\WinPython-64bit-2.7.5.3\python-2.7.5.amd64\lib\site packages\psychopy\gamma.py”,第34行,在setGamma中
setGammaRamp(皮格尔特林多,纽卢特)
setGammaRamp中的文件“C:\WinPython-64bit-2.7.5.3\python-2.7.5.amd64\lib\site packages\psychopy\gamma.py”,第51行
success=windell.gdi32.SetDeviceGammaRamp(pygletWindow.\u dc,newRamp.ctypes)
ctypes.ArgumentError:参数1::long int太长,无法转换

在ctypes/Pyglet/Psychopy中的GetDC()上似乎存在32/64符号扩展问题

见:

Windows似乎不允许所有gamma设置,请参见: