This function is not yet fully documented. This is a transcript of the text-formatted help.
bbimagein Display an image in gray-scale. H=bbimagein(C) displays the matrix C as a gray-scale image. C must be an H-by-W matrix of doubles. It is somewhat similar to H=imagesc(C) followed by colormap(gray), except the image is corrected for the non-linear response of the display. A standard monitor is non-linear with respect to intensity images, and only roughly approximates brightness. Brightness is defined in terms of human perception, and is a non-linear function of the intensity. Most monitors conforms to the sRGB-specification, which approximates a gamma-curve of gamma=2.2. This function creates a color-map which compensates for this. The following options are available: 'intensity' - Show an intensity image (default) AKA: 'i', 'linear', 'lum', 'luminance' 'light' - Show a lightness image AKA: 'l', 'bright', 'brightness', 'lightness' 'noadjust' - Respect color limits without adjustment Intensity images: An intensity image is an image that represents intensity (watts per unit), luminance (weighted radiant power), or other physical quantity that relates linearly to these. In a nutshell: a pixel of intensity 2*v should be twice as intense, not bright, as one of intensity v. If a linear image is viewed without correction, it will appear dark and dull. It is tempting to work in the non-linear color-space of the display (many image editing programs do), but this often leads to incorrect results. For example, a convolution is entirely incorrect when it is performed in a non-linear space. Almost any serious computation should be done in a linear color-space. To work with images from a digicam, you should ensure that the image is in a linear color-space. Most digicams converts an image to sRGB internally, to match the monitors. A reasonable approximation to invert this is IMG=IMG.^2.2. Lightness images: Lightness is the perceptual response to luminance. In such an image, a pixel with value 2*v should appear twice as bright as one of brightness v. For many purposes, this is adequately approximated by the monitor. Nevertheless, the monitor gamma and lightness are not identical, with the most noticable difference being near black. bbimagein corrects for this difference. Like imagesc, you may specify the intensity range. The lower limit is black, while the upper limit is white. Normally, the specified limits determines the range display in gray. This range is expanded to show out-of-range values as described below. If the color specified limits is a vector with 4 values, then the first and last values represents the complete range displayed. Clipping. Both intensity- and brightness-images are, by definition, non-negative. However, negative results often occur in computations. bbimagein shows negative pixels in green, with a luminance that reflects the absolute value. Pixels exceeding the upper limit are shown in yellow. The colors were chosen because they have a larger dynamic range within the gamut than e.g. red and blue. Example 1: show a linear image. IMG=double(imread('bird_bw.png')); bbimagein(IMG); axis image OFF; colorbar; Example 2: show clipping of negative values for intensity images. bbimagein(-25:125,[0,100]); colorbar; See also , , bbphantom.