satpy.enhancements.colormap module
Lookups, colorization and colormaps.
- satpy.enhancements.colormap._create_colormap_from_dataset(img, dataset, color_scale)[source]
Create a colormap from an auxiliary variable in a source file.
- satpy.enhancements.colormap._merge_colormaps(kwargs, img=None)[source]
Merge colormaps listed in kwargs.
- satpy.enhancements.colormap.colorize(img, **kwargs)[source]
Colorize the given image.
- Parameters:
img – image to be colorized
- Kwargs:
palettes: colormap(s) to use
- The palettes kwarg can be one of the following:
a trollimage.colormap.Colormap object
- list of dictionaries with each of one of the following forms:
- {‘filename’: ‘/path/to/colors.npy’,
‘min_value’: <float, min value to match colors to>, ‘max_value’: <float, min value to match colors to>, ‘reverse’: <bool, reverse the colormap if True (default: False)}
- {‘colors’: <trollimage.colormap.Colormap instance>,
‘min_value’: <float, min value to match colors to>, ‘max_value’: <float, min value to match colors to>, ‘reverse’: <bool, reverse the colormap if True (default: False)}
- {‘colors’: <tuple of RGB(A) tuples>,
‘min_value’: <float, min value to match colors to>, ‘max_value’: <float, min value to match colors to>, ‘reverse’: <bool, reverse the colormap if True (default: False)}
- {‘colors’: <tuple of RGB(A) tuples>,
‘values’: <tuple of values to match colors to>, ‘min_value’: <float, min value to match colors to>, ‘max_value’: <float, min value to match colors to>, ‘reverse’: <bool, reverse the colormap if True (default: False)}
- {‘dataset’: <str, referring to dataset containing palette>,
‘color_scale’: <int, value to be interpreted as white>, ‘min_value’: <float, see above>, ‘max_value’: <float, see above>}
If multiple palettes are supplied, they are concatenated before applied.
- satpy.enhancements.colormap.create_colormap(palette, img=None)[source]
Create colormap of the given numpy file, color vector, or colormap.
- Parameters:
palette (dict) – Information describing how to create a colormap object. See below for more details.
From a file
Colormaps can be loaded from
.npy,.npz, or comma-separated text files. Numpy (npy/npz) files should be 2D arrays with rows for each color. Comma-separated files should have a row for each color with each column representing a single value/channel. The filename to load can be provided with thefilenamekey in the provided palette information. A filename ending with.npyor.npzis read as a numpy file withnumpy.load(). All other extensions are read as a comma-separated file. For.npzfiles the data must be stored as a positional list where the first element represents the colormap to use. Seenumpy.savez()for more information. The path to the colormap can be relative if it is stored in a directory specified by Component Configuration Path. Otherwise it should be an absolute path.The colormap is interpreted as 1 of 4 different “colormap modes”:
RGB,RGBA,VRGB, orVRGBA. The colormap mode can be forced with thecolormap_modekey in the provided palette information. If it is not provided then a default will be chosen based on the number of columns in the array (3: RGB, 4: VRGB, 5: VRGBA).The “V” in the possible colormap modes represents the control value of where that color should be applied. If “V” is not provided in the colormap data it defaults to the row index in the colormap array (0, 1, 2, …) divided by the total number of colors to produce a number between 0 and 1. See the “Set Range” section below for more information. The remaining elements in the colormap array represent the Red (R), Green (G), and Blue (B) color to be mapped to.
See the “Color Scale” section below for more information on the value range of provided numbers.
From a list
Colormaps can be loaded from lists of colors provided by the
colorskey in the provided dictionary. Each element in the list represents a single color to be mapped to and can be 3 (RGB) or 4 (RGBA) elements long. By default, the value or control point for a color is determined by the index in the list (0, 1, 2, …) divided by the total number of colors to produce a number between 0 and 1. This can be overridden by providing avalueskey in the provided dictionary. See the “Set Range” section below for more information.See the “Color Scale” section below for more information on the value range of provided numbers.
From a builtin colormap
Colormaps can be loaded by name from the builtin colormaps in the
trollimage`package. Specify the name with thecolorskey in the provided dictionary (ex.{'colors': 'blues'}). See Colormap for the full list of available colormaps.From an auxiliary variable
If the colormap is defined in the same dataset as the data to which the colormap shall be applied, this can be indicated with
{'dataset': 'palette_variable'}, where'palette_variable'is the name of the variable containing the palette. This variable must be an auxiliary variable to the dataset to which the colours are applied. When using this, it is important that one should not setmin_valueandmax_valueas those will be taken from thevalid_rangeattribute on the dataset and if those differ frommin_valueandmax_value, the resulting colors will not match the ones in the palette.Color Scale
By default colors are expected to be in a 0-255 range. This can be overridden by specifying
color_scalein the provided colormap information. A common alternative to 255 is1to specify floating point numbers between 0 and 1. The resulting Colormap uses the normalized color values (0-1).Set Range
By default the control points or values of the Colormap are between 0 and 1. This means that data values being mapped to a color must also be between 0 and 1. When this is not the case, the expected input range of the data can be used to configure the Colormap and change the control point values. To do this specify the input data range with
min_valueandmax_value. Seetrollimage.colormap.Colormap.set_range()for more information.Set Alpha Range
The alpha channel of a created colormap can be added and/or modified by specifying
min_alphaandmax_alpha. Seetrollimage.colormap.Colormap.set_alpha_range()for more info.
- satpy.enhancements.colormap.lookup(img, **kwargs)[source]
Assign values to channels based on a table.
- satpy.enhancements.colormap.palettize(img, **kwargs)[source]
Palettize the given image (no color interpolation).
Arguments as for
colorize().NB: to retain the palette when saving the resulting image, pass
keep_palette=Trueto the save method (either via the Scene class or directly in trollimage).