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) with a clamp on min/max of the 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.

getNaNColor()[source]

Returns the color to use for Not-A-Number floating point value.

Return type

QColor

setNaNColor(color)[source]

Set the color to use for Not-A-Number floating point value.

Parameters

color (QColor, str, tuple of uint8 or float in [0., 1.]) – RGB(A) color to use for NaN values

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,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,ColormapMixIn]) – The data to convert or the item for which to apply the colormap.

  • reference (Union[numpy.ndarray,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.