To import PR655, you can either use:
from psychopy_photoresearch.pr import PR655
or, any time after psychopy.plugins.activatePlugins has been called:
from psychopy.hardware.pr import PR655
An interface to the PR655/PR670 via the serial port.
example usage:
from psychopy.hardware.pr import PR655
myPR655 = PR655(port)
myPR655.getLum() # make a measurement
nm, power = myPR655.getLastSpectrum() # get a power spectrum for the
last measurement
NB psychopy.hardware.findPhotometer()
will locate and return
any supported device for you so you can also do:
from psychopy import hardware
phot = hardware.findPhotometer()
print(phot.getLum())
If the device isn’t responding try turning it off and turning it on again, and/or disconnecting/reconnecting the USB cable. It may be that the port has become controlled by some other program.
Fetches (from the device) the color temperature (K) of the last measurement
list: status, units, exponent, correlated color temp (Kelvins), CIE 1960 deviation
measure()
automatically populates
pr655.lastColorTemp with the color temp in Kelvins
This retrieves the luminance (in cd/m**2) from the last call to
.measure()
This retrieves the spectrum from the last call to
measure()
If parse=True (default):
The format is a num array with 100 rows [nm, power]
otherwise:
The output will be the raw string from the PR650 and should then be passed to
parseSpectrumOutput()
. It’s more efficient to parse R,G,B strings at once than each individually.
Fetches (from the device) the last CIE 1931 Tristimulus values
list: status, units, Tristimulus Values
measure()
automatically populates pr655.lastTristim
with just the tristimulus coordinates
Fetches (from the device) the last CIE 1976 u,v coords
list: status, units, Photometric brightness, u, v
measure()
automatically populates pr655.lastUV
with [u,v]
Fetches (from the device) the last CIE 1931 x,y coords
list: status, units, Photometric brightness, x,y
measure()
automatically populates pr655.lastXY
with [x,y]
Makes a measurement and returns the luminance value
Makes a measurement and returns the current power spectrum
parse=True
(default):The format is a num array with 100 rows [nm, power]
parse=False
(default):The output will be the raw string from the PR650 and should then
be passed to .parseSpectrumOutput()
. It’s slightly more
efficient to parse R,G,B strings at once than each individually.
Make a measurement with the device.
This automatically populates:
.lastLum
.lastSpectrum
.lastCIExy
.lastCIEuv
Parses the strings from the PR650 as received after sending the command ‘D5’. The input argument “rawStr” can be the output from a single phosphor spectrum measurement or a list of 3 such measurements [rawR, rawG, rawB].
Send a command to the photometer and wait an allotted timeout for a response (Timeout should be long for low light measurements)