Transfer Functions
A Transfer Function is the mathematical relationship between the image values and the luminance representation you see on the computer screen. There are two reasons why a transfer function is required for displaying image data:
Most scientifically useful images have a dynamic range that exceeds what can be displayed on a computer screen.
There needs to be a way to select a region of interest in the luminance space so that certain features of the image may be enhanced at the expense of others.
Applying a transfer function slices the image luminance data into some number of bins in intensity space. To each of these bins is applied a shade of gray or color to produce a visual representation. Note that the transfer function is computed independently for each image.
To summarize the process:
The transfer function slices the image brightness into some number of "cells" or bins that can be managed by the display device. Each bin spans a brightness range. For example, the lowest bin may hold luminance values in the range of 100 to 105.4 and the next bin may hold values from 105.4 to 110. Summed together, end to end, all image values within some larger range are assigned to some bin.
The palette then assigns a color to each bin. Each bin corresponds to an index into the palette's list of colors. This is also called a Colormap.
Visual enhancement can be achieved by changing the way the brightness is assigned to specific bins or by changing the color assigned to each bin.
In separating the transfer function from the palette, Mira breaks ranks with many image processing software applications that simply allow transfer function adjustments or palette adjustments, but not both. Decoupling these image display concepts gives you greater power and flexibility in performing image enhancement because these two types of enhancement may be applied and adjusted independently.
A Transfer Function Profile is a collection of parameters that describe a transfer function. These parameters describe properties like histogram settings, contrast stretch, gamma value, and others.
Mira uses a default transfer function profile for opening new images. After an image is open, you can change the profile or the settings of the profile for that particular image. You can also update the default profile.
There are 2 places in Mira from which transfer function profiles can be accessed:
The Transfer Function Properties dialog allow you to interactively change transfer function profiles and apply the changes to a specific Image Window. This dialog is opened from the target Image Window. To work with another Image Window with this dialog open, simply activate the target Image Window by moving it to the top of the stack.
The Transfer Function Popup Menus are opened from the Image window's menu bar for the top-most Image Window. These menus duplicate ,many of the capabilities of the Transfer Function Properties dialog.
The collection of parameters in a transfer function profile control how the transfer function is applied to an image. Mira provides a versatile set of parameters that cover almost every possibility for getting a good visual representation of the image features of interest.
This property determines which portion of the image is used to calculate the transfer function. Since the transfer function is computed from the image values, this property controls which pixel values go into the calculation. Initially you may want use the Entire Image to set the scaling so that all parts of the image have a chance to vote on how visible they will be. But later you may discover that that despite what other properties you set, letting all pixels vote does not give the desired result for viewing a specific region of interest. In that case, use the Image Cursor to outline the region of interest and switch to the Cursor Region setting.
This property describes how the minimum and maximum image values will be chosen to set the limit on the transfer function. Only pixels within this range will be assigned bins, or palette indices for display purposes. This means that pixels outside this range will be uniformly "black" at the bottom of the scale or uniformly "white" at the top of the scale, with no visible detail.
The range setting is a sort of contrast value based, for many of the options, upon the histogram (distribution) of pixel luminance. The closer together are the minimum and maximum values, the more rapid the change from "black" to "white" in the screen display and hence the higher the contrast appears to be.
Mira provides a number of percentile options that use the image histogram of pixels inside the e region to compute the range values. In the descriptions below, the terms "black" and "white" are used to describe values that are of uniform representation above or below the limits of the transfer function. If a pseudocolor palette is applied to the image, then these values may be pink and periwinkle, but the result is the same that all pixels above or below the transfer limits are of uniform color and lack all detail.
The Autoscale setting lets Mira choose the minimum and maximum levels based upon its interpretation of the image histogram. When using this method, you must choose a Contrast setting to apply to Mira's choice. The lower the contrast setting, the lower will be the image contrast and vice versa.
The Min/Max setting accommodates all pixels of any brightness that are found in the sampling region. This is intended to show the whole range of brightness but, for noisy images with a few excessively bright or dark pixels, the result of this setting can be very low contrast. For noisy images, you might be able to overcome this limitation of the method by choosing a sample region that excludes the deviant pixels.
The 95% setting uses pixel values only within the 95th percentile of the histogram and it therefore allows the brightest pixel to "burn out" in the displayed image. This gives relatively high contrast and tends to show more detail in the image background at the expense of the highlights. Several intermediate histogram settings are provided to give results intermediate between Min/Max and 95%.
The Percentile setting lets you specify the histogram percentiles when one of the other built-in settings does not suffice.
The Specify Z setting allows you to specify the Z value, or image luminance at the extremes of the transfer function histogram. All pixel values below the minimum appear "black" and all those above the maximum appear "white".
tip |
All Range settings other than Specify Z adjust the range value to the histogram of each image. When applying to an Image Set, this property allows the transfer function to accommodate differing image properties. The Specify Z setting does not accommodate the needs of individual images. When applying to an Image Set, you may not get the expected result for all images unless their luminance histograms are similar. |
This property describes how luminance inside the Range is assigned to different bins, or palette indices. By crowding together or spreading out the values assigned to each bin, you can change the contrast within different portions of the image luminance range. The Stretch parameter specifies the mathematical method used to set limits on the luminance bins.
The Linear option sets equal steps of image luminance for all bins. This means, for example, that the feature contrast at low brightness levels will be the same as the feature contrast at high brightness levels.
The Logarithmic option compresses the luminance values at the dark end and spreads out the intervals at the brighter end of the image histogram. This gives a faster rate of change of bin index per luminance value at the darker end so the contrast of dark features is enhanced. The rate of change at the bright end is very low, so the feature contrast is reduced at the bright end of the histogram. This setting is a good choice for images where you want to see a lot of contrast in faint background features at the expense of details in bright features.
The Gamma option is a very versatile one that lets you shift the contrast bias to higher or lower levels or anywhere between. A Gamma value less than 1 shifts the higher contrast to lower luminance and a gamma value greater than 1 shifts the higher contrast to higher luminance. A value of exactly 1.0 gives the same result as a Linear stretch.
Transfer Function Properties, Palette Properties, Displaying an Image