SystemML Class
dev/std/image/numeric
Summary
Displays numeric data as a color image
Status
Under development - interface likely to change
Notes
  • This component is currently not working properly on Linux or OSX (GTK) and therefore is only included in Windows releases of BRAHMS.

Overview

Warnings
  • This component is under development - this means that its interface may change in future (and its class name definitely will). You should be aware that you will have to make changes to any scripts where you use it to run against a future BRAHMS release.

Performs a similar job to the Matlab function image(). That is, it displays numeric input data as a rectangular image, using the value of the data to dictate the image color. Data can be supplied either as an index into a colormap (in which case the data can be of any numeric type), or as RGB data (in which case the data must be UINT8 type and have three channels as the last dimension).

Generally, this component is plug-and-play, though you may want to set the parameters range, colormap and interval. The largish number of parameters give much more control over what is displayed, and how. In particular, note that you can 'slice' into your input data using the index parameter, to reduce the amount of data for display either in range or in dimension.

Connectivity

  • 1 input, the source data.

State

This Process stores its State in DataML.

These parameters apply in both display modes (Colormap and RGB).

Warnings
  • The parameter index may be removed in future in favour of prepending the component std/index/numeric.
interval (DOUBLE scalar)
Time in execution seconds between updates. If unsupplied, the image is updated at every sample - this may be slow for some applications.
index (CELL array)
Generally, this parameter will be unsupplied, and the whole of the input data is displayed. Therefore, the input data must either have two dimensions, or have three dimensions, be UINT8 type, and have last dimension of length three (RGB mode). If supplied, this should be a cell with as many entries as there are dimensions in the data (or one less in RGB mode). Each entry should either be empty ([]) to indicate that that dimension should be used for display, scalar (i) to indicate that the ith element only should be used in this dimension, or have two elements ([i j]) to indicate that the ith to the jth element should be used in this dimension. After parsing, exactly two dimensions must be found that are ranged (ranged dimensions are represented either by the empty matrix or by two element entries - unranged dimensions have scalar entries).
show (STRUCT)
This field may have one or more boolean sub-fields to indicate what data should be overlayed on the image. Currently, one field "time" is supported (default true).
caption (STRING)
If supplied, this string is used as the caption for the image window. If not, the name of the input data object is used instead.
location (DOUBLE 1x4)
If supplied, this indicates where to display the image window, initially (the windows can be moved and resized during execution). The first two numbers indicate how the screen is divided into an imaginary grid; the second two numbers indicate where in that grid the window should be displayed. For instance, [4 4 2 3] will display the window on the 2nd row and 3rd column of a 4x4 grid.

These parameters have an effect only in Colormap mode.

range (DOUBLE 1x2)
Lower and upper bounds, respectively, for mapping of the input data into the selected colormap. Default is [0 1].
colormap (STRING)
Selected colormap name - the colormaps available are described below in a separate section. Default is hot.
colors (CELL array)
Each entry should be a reference color, in RGB format (in the range 0.0 to 1.0). For example, [1 0 0] is red. The reference colors may be used by some colormaps - if they are not needed, they are ignored. A single reference color need not be enclosed in a cell. See the section on colormaps, below, for details of how the reference colors are used in specific colormaps.
saturation (CELL array)
Each of one or two entries should be a saturation color. If supplied, these colors are used to top and tail the selected colormap, to give a clear indication when saturation is reached in either direction.

Colormaps

Off-the-shelf colormaps are as follows.

hot
This map imitates the hot map in Matlab, and uses colors ranging from dark through red, orange, to white, to indicate data values in an intuitive temperature-radiation-like scale. This map requires no reference colors.
hsv
This map imitates the hsv (Hue-Saturation-Value) map in Matlab, and uses colors to indicate changing data values rather than brightness, in contrast to lum. This map requires no reference colors.

Colormaps controlled by reference colors are as follows.

lin
(Linear) The input data controls a linear interpolation between the two reference colors. Default reference colors are [0.0 0.0 0.0] (black) and [0.2 0.6 1.0] (pastel blue), which is a luminance-based colormap.
bilin
(Bilinear) This map displays the central value (the middle of range) as the first reference color and indicates departure from that value in each polarity with increasing brightness of two further reference colors. Default reference colors are [0.0 0.0 0.0] (black), [1.0 0.4 0.2] (pastel orange) and [0.2 0.6 1.0] (pastel blue).

Example

See brahms_test image.

Acknowledgements

This Component uses the wxWidgets cross-platform compatibility layer.