Choosing Transfer Function Properties
To convert an image from pixel data to a visual representation of brightness and color, Mira uses both a transfer function and an Image Palette. The transfer function uses a mathematical prescription that slices the pixel data into 256 discrete levels which are indices into a grayscale or color palette. The detailed prescription for how the range of pixel values is sliced involves 3 parameters: Sample, Range, and Stretch. Changing any of these values changes the conversion to numeric palette indices and hence affects the value of gray or pseudocolor assigned to the visual representation of the image data. In addition to these 3 fundamental palette parameters, Mira Pro x64 added aBoost option to enhance the transfer function by increasing contrast for pixel values crowded into a narrow range of brightness (see Using the Boost Transfer Function Option). All of these parameters together define the properties of the transfer function. This topic describes how to choose the transfer function properties. For palettes, see Image Palettes, Palette Properties, and related topics.
The transfer function settings that works best depends on the nature of the image or object being viewed. What may work best for one type of image or class of object may not work so well for another. However, you can get close to the optimal parameters that work broadly for a given class of image or object type, then tweak the parameters for the individual case. For example, the transfer function that works best for an image of a star field is usually not the best for viewing an image of a galaxy nebula, and neither usually works well for an image of a planet or the moon. Therefore, Mira provides many settings for adjusting the transfer function and the ability to save parameter groups as a preset using a profile. For example, you may create a certain group of settings that works well for viewing star fields and save it as the name "Star Field". Similarly, you may have a transfer function that works well for the moon, and save it as "Moon". This is facilitated by the Profile Control on the default Transfer Function Properties dialog and indirectly by clicking [Save] on the Transfer Function Pane. Note that most of the transfer function properties can also be changed on a displayed image using the Transfer Function Popup Menus instead of the Transfer Function Panes.
Guidelines for Choosing Transfer Function PropertiesMira is supplied with a number of transfer function profiles suitable for a wide range of images. You can use these as is, or use them as a starting point and modify them for your own needs. Here are some guidelines for choosing settings for displaying images of different types of subjects. The settings themselves are described in detail further below. |
|
Star fields |
Range: 95% (high contrast), 99% (lower contrast). Stretch: Gamma. Gamma Value: Start around 0.6. Increase or decrease gamma to change the emphasis on details near the sky level. Consider using the Boost option to reveal faint details near the background. |
Galaxies and nebulae |
Range: 95% (high contrast), 99% (lower contrast). Stretch: Gamma. Gamma Value: Start around 0.6. Increase or decrease gamma to change the emphasis on details near the sky level. Consider using the Boost option to reveal faint structure near the background. |
Planets |
Range: Min/Max. Stretch: Gamma. Gamma Value: Start around 1.1. Adjust to emphasize detail either near the center or edges of the planet. |
Moon, surface of planets or other bodies |
Range: Min/Max, 99% (moderate contrast), or95% (high contrast) Stretch: Linear. Gamma Value: not used. You may experiment with using a gamma stretch, starting with gamma values near 1.0. |
Image data for engineering and analysis |
Range: Min/Max, 99% (moderate contrast), or95% (high contrast) Stretch: Linear. Gamma Value: not used. You may experiment with using a gamma stretch, starting with gamma values near 1.0. Consider using the Boost option to separate subtle structure in the pixel values. |
The collection of settings that define a transfer function are described above in general terms. Below, we cover the meaning of these adjustments in a lot more detail. The transfer function is defined by three main Properties: Sample, Range, and Stretch. Each of these is described separately below. The values of these properties may be adjusted using the Transfer Function Pane and the Transfer Function Properties dialog. Also see the topic below, Enhancing Details using the Boost option.
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 intensity. 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 Sample 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.
Autoscale: This 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.
Min/Max: This 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.
95%, 99%, and other percent settings: These options use pixel values only below the 95th or other percentile of the histogram. These settings therefore allow the brightest pixels to "burn out" in the displayed image. Using a higher percentile setting approaches the same result as the Min/Max setting.
Percentile: This setting lets you specify the histogram percentiles when none of the built-in Range percent options is quite what you need.
Specify Z: This setting allows you to specify the Z value, or image pixel value, at the extremes of the transfer function histogram. All pixel values below the minimum appear "black" and all those above the maximum appear "white".
Boost: This option can be toggled on/off to reveal detailed structure within a compressed ranges of pixel value without saturating the highlights. See the section below for a description.
Tip |
All Range settings other than Specify Z adjust the range according to the unique histogram limits for the specific image. Choosing Range = Specify Z overrides the automatic determination of histogram limits by forcing a specified range. When applying Range = Specify Z to an Image Set, you may not get the expected result for all images unless their intensity histograms are very similar. |
The Stretch parameter describes how pixel values inside the Range are assigned to different bins. By crowding together or spreading out the values assigned to each bin, you can change the contrast within different portions of the brightness range.
Linear: This type of stretch sets equal steps of image intensity 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.
Logarithmic: This option compresses the intensity 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 intensity 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.
Gamma: This is a very versatile parameter 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 intensity and a gamma value greater than 1 shifts the higher contrast to higher intensity. A gamma value of exactly 1.0 gives the same result as a Linear stretch.
The Boost option enhances the transfer function by identifying compressed ranges of pixel values and stretching them over a larger grayscale range without saturating bright regions. In astronomical images, this expansion can be useful for detecting subtle features near the sky background. The Boost option is available in combination with all other transfer function properties. Benefits of the Boost option are as follows:
Boost works with all other transfer function parameters.
Boost works on intensity (non RGB) images of all pixel types, from 8-bit integer to 64-bit real.
Boost can be applied as a default transfer function parameter or after displaying the image.
Boost can be toggled on/off after an image is displayed, for example, to identify some particular weak feature without keeping the image in a boosted state.
The Boost algorithm is very fast.
See Using the Boost Transfer Function Option for an example about revealing faint nebulous structure in the Orion Nebula, M42.
Using the Boost Transfer Function Option
Mira Pro x64 User's Guide, Copyright Ⓒ 2023 Mirametrics, Inc. All
Rights Reserved.