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 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)[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

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.