psychopy.tools.colorspacetools.rescaleColor¶
- psychopy.tools.colorspacetools.rescaleColor(rgb, convertTo='signed', clip=False)[source]¶
Rescale RGB colors.
This function can be used to convert RGB value triplets from the PsychoPy signed color format to the normalized OpenGL format.
PsychoPy represents colors using values between -1 and 1. However, colors are commonly represented using values between 0 and 1 when working with OpenGL and various other contexts. This function simply rescales values to switch between these formats.
- Parameters:
rgb (array_like) – 1-, 2-, 3-D vector of RGB coordinates to convert. The last dimension should be length-3 in all cases, specifying a single coordinate.
convertTo (str) – If ‘signed’, this function will assume rgb is in OpenGL format [0:1] and rescale them to PsychoPy’s format [-1:1]. If ‘unsigned’, input values are treated as OpenGL format and will be rescaled to use PsychoPy’s. Default is ‘signed’.
clip (bool) – Clip values to the range that can be represented on a display. This is an optional step. Default is False.
- Returns:
Rescaled values with the same shape as rgb.
- Return type:
ndarray
Notes
The convertTo argument also accepts strings ‘opengl’ and ‘psychopy’ as substitutes for ‘signed’ and ‘unsigned’, respectively. This might be more explicit in some contexts.
Examples
Convert a signed RGB value to unsigned format:
rgb_signed = [-1, 0, 1] rgb_unsigned = rescaleColor(rgb_signed, convertTo='unsigned')