Arbitrary Charts

Arbitrary Charts Module Settings

Note to Pilot Program / Beta users

As of the Imatest 5.0 Beta release date of August 11, 2017, there are no GUI settings windows for operational or output options related to the Arbitrary Charts module. Users must instead manually edit their INI file according to the following list.

Typically, these fields are in the [arbcharts] section of the INI file, but sometimes are in other sections, as noted. Currently (during the Beta period, before 5.0 official release), Arbitrary Charts is its own segmented area of the Imatest eco-system, which is why some of the options (e.g., those for perceptual image quality view conditions) are found in this section instead of in, e.g., the [sqf] section of the INI file. 

Note that this arrangement is currently extremely fluid and will change during the period the Beta test, including the INI field names themselves, so it is best to check back here frequently if you are using this module. Likewise, it would be unwise to base your post-Beta workflow on the current arrangement of fields. 

 

INI file fields relevant to Arbitrary Charts

The following INI fields are currently exposed to the user to control the behavior of the Arbitrary Charts module and its output. They have been organized here by topic, but do not need to be in any particular order or grouping in your INI file itself. 

 

[imatest] section

INI Field Name Values Description
save_dir_name string, path to a directory Path to a directory to create a ‘Results’ sub-directory in, used as save location for module outputs

 

[api] section

INI Field Name Values Description
nomsg 0 or 1 Flag to indicate suppression of pop-up windows (ROI confirmation, warning messages, etc)
continue_on_error 0 or 1 Flag to indicate if a batch run on multiple input images (through Master or IT) should continue processing remaining images if an error is encountered on a earlier image

 

[arbcharts] section

Slanted-edge Analysis

INI Field Name Values Description
doEdgeMTF 0 or 1 Perform slanted-edge MTF analysis on any edges present.
channel_edge string, channel name(s) Color channel to run analysis on. Can be a space-separated list of allowed channel symbols. See note on Channels below.
roiFillFactor_edge number, range 0 to 1 Fraction of maximum possible ROI of feature to use.
isoStd 0 or 1 Flag to revert to ISO-12233 compliant analysis, bypassing Imatest enhancements to the standard. Overrides the following options.
modApod 0 or 1 Flag to indicate use of “modified apodization” noise reduction for increased stability of e-SFR results. (Recommended)
edgeNonUniformCorrection 0 or 1 Flag to indicate use of slanted-edge non-uniformity correction. (Recommended)
edgeDerivCorrection 0 or 1 Flag to indicate use of correction factor for continuous derivative approximation

 

Perceptual metrics

INI Field Name Values Description
doAcutance 0 or 1 Perform acutance calculations on any MTF results produced (from edges or random textures).
imgHeight Number: -1 or a positive integer Indicates the image height, in pixels, to use in acutance calculation if the image under test is cropped from a larger one. Set as -1 to use the image height of the input image itself (default and most common usage).
displayHeight Number: -1 or a positive integer Indicates the display height, in cm, to use in acutance calculation. Set as -1 to indicate “an image height large enough to exactly hold imgHeight many pixels, assuming the supplied pxPerCm.”co
viewDist positive number Viewer-to-display distance, in cm
pxPerCm positive number, or “inf” Pixels per cm of the display, i.e. inverse of the pixel pitch in cm. If “inf”, the display is assumed is assumed to be “perfect” so that “lens only” acutance is reported
displayType “screen”, “print_l” or “print_s” Display type indicator, which affects display mtf curve shape
integralType string, “CPIQ” or “SQF” Type of integral to use for acutance/sqf calculation

 

Texture Analysis

INI Field Name Values Description
doTextureMTF 0 or 1 Perform texture MTF analysis on all random texture patterns present.
channel_textureMTF string, channel name(s) Color channel to run analysis on. Can be a space-separated list of allowed channel symbols. See note on Channels below.
roiFillFactor_random_field number, range 0 to 1 Fraction of maximum possible ROI of feature to use.
nAngularSeg Positive integer Number of bins to partition the angles of the 2-d frequency plane into for analysis. Default: 1
nRadialSeg Positive integer Number of bins to partition the radius of the frequency plane into for analysis. I.e. number of sample points in “Texture MTF” curve. Default: 64
directPSDexponent Negative number Analytic PSD exponent value of the random pattern design used. Theoretically, typically -2.

 

Uniformity Grid Analysis

INI Field Name Values Description
doUniformityGrid 0 or 1 Perform uniformity analysis over a grid segmentation of the  image plane using the background areas of the chart as a uniform color.
channel_uniformityGrid string, channel name(s) Color channel to run analysis on. Can be a space-separated list of allowed channel symbols. See note on Channels below.
nRowsGrid positive integer Number of rows of grid spanning the image plane for uniformity analysis
nColsGrid positive integer Number of columns of grid spanning the image plane for uniformity analysis
minValidPxGrid non-negative integer Number of pixels of valid chart-background area per grid section
backgroundMargin positive integer Distance in pixels that a background area pixel needs to be from a chart feature or boundary to be considered valid. A margin of at least 5 is recommended.
colorErrorGrid string: “LAB”, “CIE_94”, “CMC”, or “CIE_2000” What color error type to report for each grid segment.

 

Module operation and misc.

 

INI Field Name Values Description
roi_confirmation String: “no_confirmation”, “confirm_once”, or “confirm_all” When running from Imatest Master, control if and when a window pops up for confirmation of the ROI selected in the image via automatic image registration.
doColorError 0 or 1 Perform all color delta calculations on all color patches present.
roiFillFactor_color_patch number, range 0 to 1 Fraction of maximum possible ROI of feature to use.
doNoise 0 or 1 Perform noise analysis on all neutral (grayscale) color patches present.
doTonal 0 or 1 Perform tonal response analysis on all neutral (grayscale) color patches present.

 

Image Channels

A number of analyses allow the user to indicate the channel (or channels) of the image data to perform the analysis on. The channel may be directly taken from the supplied image data (e.g., the R channel of an RGB image) or derived from the supplied data (e.g., the luminance channel, Y, of an RGB image). The following is a list of channels and their descriptions.

Users indicate to Imatest what channel to operate on by using the symbol for a channel where requested.

NOTE TO PILOT PROGRAM/BETA USERS: [arbcharts] section entries typically accept lists of channels in the form of space-separated strings (e.g., “R G Y M”).

Uniformity Grid analysis will report outputs for all requested channels.

Slanted edge and Random analyses, however, will use only the first channel in the list which is also present in the image data input. If none are found, the an unrequested channel which is present will be used. 

 

Channel Name Symbol Description
Red, Green, Blue R, G, B The “natural” channels of most color image files.
Luminance Y How bright a point appears to the human eye. Derived from a weighted combination of the RGB channels if an RGB image is supplied.(relatively)
Luma Luma Typically, the same linear combination of RGB channels that form the luminance channel but applied to data that is not linearly encoded. When the image data is linear, luma is the same as luminance.
Intensity I Typically used for single-channel image data that does not have a known relationship to a true color space.
CIE L*A*B* L_star, A_star, B_star
RGB Mean M Average of R, G, and B channels.

 

Channels and Image Encodings

Note that obviously not all channels will be available for each type of input image data. For example, you can’t get an L* channel from an Intensity image created by an IR sensor because there is no appropriate defined relationship between the two.

Arbitrary Charts Module requires the user to indicate the encoding of the image data they supply so that it can be correctly interpreted. 

NOTE TO PILOT PROGRAM/BETA USERS: Upon initial pre-release of 5.0 Beta, Arbitrary Charts really only supports two types of input encodings. If the input image is one-channel, it is interpreted as an Intensity encoding. If the input image is three-channel, it is assumed to be sRGB encoding, These capabilities will be extended during the beta period.

Encoding Available Channels
Standard RGB encodings (sRGB, AdobeRGB, etc) R, G, B, Y, L_star, A_star, B_star, Luma, M
Intensity I