colors: Colors and colormap

This module provides API to manage colors.

DEFAULT_MIN_LIN = 0

Default min value if in linear normalization

DEFAULT_MAX_LIN = 1

Default max value if in linear normalization

DEFAULT_MIN_LOG = 1

Default min value if in log normalization

DEFAULT_MAX_LOG = 10

Default max value if in log normalization

rgba(color, colorDict=None)[source]

Convert color code ‘#RRGGBB’ and ‘#RRGGBBAA’ to (R, G, B, A)

It also convert RGB(A) values from uint8 to float in [0, 1] and accept a QColor as color argument.

Parameters:
  • color (str) – The color to convert
  • colorDict (dict) – A dictionary of color name conversion to color code
Returns:

RGBA colors as floats in [0., 1.]

Return type:

tuple

greyed(color, colorDict=None)[source]

Convert color code ‘#RRGGBB’ and ‘#RRGGBBAA’ to a grey color (R, G, B, A).

It also convert RGB(A) values from uint8 to float in [0, 1] and accept a QColor as color argument.

Parameters:
  • color (str) – The color to convert
  • colorDict (dict) – A dictionary of color name conversion to color code
Returns:

RGBA colors as floats in [0., 1.]

Return type:

tuple

cursorColorForColormap(colormapName)[source]

Get a color suitable for overlay over a colormap.

Parameters:colormapName (str) – The name of the colormap.
Returns:Name of the color.
Return type:str
class Colormap(name=None, colors=None, normalization='linear', vmin=None, vmax=None)[source]

Description of a colormap

If no name nor colors are provided, a default gray LUT is used.

Parameters:
  • name (str) – Name of the colormap
  • colors (tuple) – optional, custom colormap. Nx3 or Nx4 numpy array of RGB(A) colors, either uint8 or float in [0, 1]. If ‘name’ is None, then this array is used as the colormap.
  • normalization (str) – Normalization: ‘linear’ (default) or ‘log’
  • vmin (float) – Lower bound of the colormap or None for autoscale (default)
  • vmax (float) – Upper bounds of the colormap or None for autoscale (default)
LINEAR = 'linear'

constant for linear normalization

LOGARITHM = 'log'

constant for logarithmic normalization

NORMALIZATIONS = ('linear', 'log')

Tuple of managed normalizations

sigChanged = <PySide.QtCore.Signal object>

Signal emitted when the colormap has changed.

setFromColormap(other)[source]

Set this colormap using information from the other colormap.

Parameters:other (Colormap) – Colormap to use as reference.
getNColors(nbColors=None)[source]

Returns N colors computed by sampling the colormap regularly.

Parameters:nbColors (int or None) – The number of colors in the returned array or None for the default value. The default value is the size of the colormap LUT.
Returns:2D array of uint8 of shape (nbColors, 4)
Return type:numpy.ndarray
getName()[source]

Return the name of the colormap :rtype: str

setName(name)[source]

Set the name of the colormap to use.

Parameters:name (str) – The name of the colormap. At least the following names are supported: ‘gray’, ‘reversed gray’, ‘temperature’, ‘red’, ‘green’, ‘blue’, ‘jet’, ‘viridis’, ‘magma’, ‘inferno’, ‘plasma’.
getColormapLUT(copy=True)[source]

Return the list of colors for the colormap or None if not set.

This returns None if the colormap was set with setName(). Use getNColors() to get the colormap LUT for any colormap.

Parameters:copy (bool) – If true a copy of the numpy array is provided
Returns:the list of colors for the colormap or None if not set
Return type:numpy.ndarray or None
setColormapLUT(colors)[source]

Set the colors of the colormap.

Parameters:colors (numpy.ndarray) – the colors of the LUT. If float, it is converted from [0, 1] to uint8 range. Otherwise it is casted to uint8.
getNormalization()[source]

Return the normalization of the colormap (‘log’ or ‘linear’)

Returns:the normalization of the colormap
Return type:str
setNormalization(norm)[source]

Set the norm (‘log’, ‘linear’)

Parameters:norm (str) – the norm to set
isAutoscale()[source]

Return True if both min and max are in autoscale mode

getVMin()[source]

Return the lower bound of the colormap

Returns:the lower bound of the colormap
Return type:float or None
setVMin(vmin)[source]

Set the minimal value of the colormap

Parameters:vmin (float) – Lower bound of the colormap or None for autoscale (default) value)
getVMax()[source]

Return the upper bounds of the colormap or None

Returns:the upper bounds of the colormap or None
Return type:float or None
setVMax(vmax)[source]

Set the maximal value of the colormap

Parameters:vmax (float) – Upper bounds of the colormap or None for autoscale (default)
isEditable()[source]

Return if the colormap is editable or not

Returns:editable state of the colormap :rtype: bool
setEditable(editable)[source]

Set the editable state of the colormap

Parameters:editable (bool) – is the colormap editable
getColormapRange(data=None)[source]

Return (vmin, vmax)

Returns:the tuple vmin, vmax fitting vmin, vmax, normalization and data if any given
Return type:tuple
setVRange(vmin, vmax)[source]

Set the bounds of the colormap

Parameters:
  • vmin – Lower bound of the colormap or None for autoscale (default)
  • vmax – Upper bounds of the colormap or None for autoscale (default)
copy()[source]

Return a copy of the Colormap.

Return type:silx.gui.colors.Colormap
applyToData(data)[source]

Apply the colormap to the data

Parameters:data (numpy.ndarray) – The data to convert.
static getSupportedColormaps()[source]

Get the supported colormap names as a tuple of str.

The list should at least contain and start by:

(‘gray’, ‘reversed gray’, ‘temperature’, ‘red’, ‘green’, ‘blue’, ‘viridis’, ‘magma’, ‘inferno’, ‘plasma’)
Return type:tuple
restoreState(byteArray)[source]

Read the colormap state from a QByteArray.

Parameters:byteArray (qt.QByteArray) – Stream containing the state
Returns:True if the restoration sussseed
Return type:bool
saveState()[source]

Save state of the colomap into a QDataStream.

Return type:qt.QByteArray
preferredColormaps()[source]

Returns the name of the preferred colormaps.

This list is used by widgets allowing to change the colormap like the ColormapDialog as a subset of colormap choices.

Return type:tuple of str
setPreferredColormaps(colormaps)[source]

Set the list of preferred colormap names.

Warning: If a colormap name is not available it will be removed from the list.

Parameters:colormaps (iterable of str) – Not empty list of colormap names
Raises:ValueError – if the list of available preferred colormaps is empty.
registerLUT(name, colors, cursor_color='black', preferred=True)[source]

Register a custom LUT to be used with Colormap objects.

It can override existing LUT names.

Parameters:
  • name (str) – Name of the LUT as defined to configure colormaps
  • colors (numpy.ndarray) – The custom LUT to register. Nx3 or Nx4 numpy array of RGB(A) colors, either uint8 or float in [0, 1].
  • preferred (bool) – If true, this LUT will be displayed as part of the preferred colormaps in dialogs.
  • cursor_color (str) – Color used to display overlay over images using colormap with this LUT.