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

rgba(color, colorDict=None)[source]

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

It also supports RGB(A) from uint8 in [0, 255], float in [0, 1], and 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 supports RGB(A) from uint8 in [0, 255], float in [0, 1], and 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

asQColor(color)[source]

Convert color code ‘#RRGGBB’ and ‘#RRGGBBAA’ to a qt.QColor.

It also supports RGB(A) from uint8 in [0, 255], float in [0, 1], and QColor as color argument.

Parameters:color (str) – The color to convert
Return type:qt.QColor
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, autoscaleMode='minmax')[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 (Union[None, float]) – Lower bound of the colormap or None for autoscale (default)
  • vmax (Union[None, float]) – Upper bounds of the colormap or None for autoscale (default)
LINEAR = 'linear'

constant for linear normalization

LOGARITHM = 'log'

constant for logarithmic normalization

SQRT = 'sqrt'

constant for square root normalization

GAMMA = 'gamma'

Constant for gamma correction normalization

ARCSINH = 'arcsinh'

constant for inverse hyperbolic sine normalization

NORMALIZATIONS = ('linear', 'log', 'sqrt', 'gamma', 'arcsinh')

Tuple of managed normalizations

MINMAX = 'minmax'

constant for autoscale using min/max data range

STDDEV3 = 'stddev3'

constant for autoscale using mean +/- 3*std(data)

AUTOSCALE_MODES = ('minmax', 'stddev3')

Tuple of managed auto scale algorithms

sigChanged

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.

See setNormalization() for returned values.

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

Set the colormap normalization.

Accepted normalizations: ‘log’, ‘linear’, ‘sqrt’

Parameters:norm (str) – the norm to set
setGammaNormalizationParameter(gamma: float) → None[source]

Set the gamma correction parameter.

Only used for gamma correction normalization.

Parameters:gamma (float) –
Raises:ValueError – If gamma is not valid
getGammaNormalizationParameter() → float[source]

Returns the gamma correction parameter value.

Return type:float
getAutoscaleMode()[source]

Return the autoscale mode of the colormap (‘minmax’ or ‘stddev3’)

Return type:str
setAutoscaleMode(mode)[source]

Set the autoscale mode: either ‘minmax’ or ‘stddev3’

Parameters:mode (str) – the mode 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) the range of the colormap for the given data or item.

Parameters:data (Union[numpy.ndarray,~silx.gui.plot.items.ColormapMixIn]) – The data or item to use for autoscale bounds.
Returns:(vmin, vmax) corresponding to the colormap applied to data if provided.
Return type:tuple
getVRange()[source]

Get the bounds of the colormap

Return type:Tuple(Union[float,None],Union[float,None])
Returns:A tuple of 2 values for min and max. Or None instead of float for autoscale
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, reference=None)[source]

Apply the colormap to the data

Parameters:
  • data (Union[numpy.ndarray,~silx.gui.plot.item.ColormapMixIn]) – The data to convert or the item for which to apply the colormap.
  • reference (Union[numpy.ndarray,~silx.gui.plot.item.ColormapMixIn,None]) – The data or item to use as reference to compute autoscale
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.