Arbitrary Charts

Arbitrary Charts Module Settings

Current Documentation
View previous documentation
View legacy documentation
All documentation versions

Analyses & OutputINI settingsChart Definition Files – Chart Definition Utility – Video Analysis

 

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. 

 

[arbcharts] section

Slanted-edge Analysis


INI Field Name Values Description
doEdgeMTF 0 or 1 Perform slanted-edge MTF analysis on any edges present.
channel_edgeMTF 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.
doEdgeLCA 0 or 1 Perform slanted-edge LCA analysis on any edges present with RGB channels, and an aggregate system LCA result from them.
roiFillFactor_edge number, range 0 to 1 Fraction of maximum possible ROI of feature to use. (Note: this may be two element, in which case the entries refer to the [width, height] fill factors, respectively. Slanted edges derived from SlantedSquareFeatures always use the along-edge dimension as height and across-edge as width.)
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

 

 

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. Currently only one entry is allowed for this analysis.
roiFillFactor_random_field number, range 0 to 1 Fraction of maximum possible ROI of feature to use. (Note: this may be two element, in which case the entries refer to the [width, height] fill factors, respectively.)
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.

 

Star Analysis


INI Field Name Values Description
doStarMTF 0 or 1 Perform MTF analysis on all star patterns present.
channel_starMTF string, channel name(s) Color channel to run analysis on. Currently only one entry is allowed for this analysis.
roiFillFactor_star number, range 0 to 1 Fraction of maximum possible ROI of feature to use. (Note: this may be two element, in which case the entries refer to the [width, height] fill factors, respectively.)
channel_starMTF string, channel name(s) Color channel to run analysis on. Currently only one entry is allowed for this analysis.
nAngularSeg_star Positive integer Number of bins to partition the angles of the 2-d plane into for analysis. Default: 8
nRadialSeg_star Positive integer Number of bins to partition the radius of the star into for analysis. I.e. number of sample points in the MTF curve. Default:128
normalization_star string: “normalize_segment”, “normalize_max_segment”, “normalize_lightest_darkest”, or “normalize_extrapolated” MTF-curve normalization scheme selection.

NORMALIZE_SEGMENT : Normalize to each segment
NORMALIZE_MAX_SEGMENT : Normalize to maximum segment
NORMALIZE_LIGHTEST_DARKEST : Normalize to lightest-darkest outer square. (Default)
NORMALIZE_EXTRAPOLATED : Normalize by extrapolating smoothed MTF to 1 at f=0

 

Wedge Analysis


INI Field Name Values Description
doWedge 0 or 1 Perform analysis on all wedges present.
channel_wedge string, channel name(s) Color channel to run analysis on. Currently only one entry is allowed for this analysis.
roiFillFactor_wedge number, range 0 to 1 Fraction of maximum possible ROI of feature to use. (Note: this may be two element, in which case the entries refer to the [width, height] fill factors, respectively.)

 

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
nColumnsGrid positive integer Number of columns of grid spanning the image plane for uniformity analysis
minValidPxGrid positive 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.

 

Color/Tone/Noise


INI Field Name Values Description
doColorError 0 or 1 Perform all color delta calculations on all color patches present.
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.
doFFT 0 or 1 Perform row/column periodic content analysis on all neutral (grayscale) color patches present.
roiFillFactor_color_patch number, range 0 to 1 Fraction of maximum possible ROI of feature to use. (Note: this may be two element, in which case the entries refer to the [width, height] fill factors, respectively.)

 

Circle Detection


INI Field Name Values Description
regionAreaThresh number, range 0 to 1 Circle size uncertainty.
intensityThresh number, range 0 to 0.5 Intensity Variation (increase when circles are not uniform intensity).

 

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

 

Video Analysis


INI Field Name Values Description
doVideoAnalysis 0 or 1 Perform video analysis on valid video file.
constantROI 0 or 1 Use the same ROIs for every frame of a video analysis instead of performing a target detection and alignment for each frame. This reduces analysis runtime but should be used only for static scenes.

 

Distortion Correction


INI Field Name Values Description
distortionType string, distortion type Distortion model used to correct ROI placement for geometrically distorted images. See note on distortionType Models below.
<distortionType>_distortionCenterShift 2 numbers: x y Center of distortion relative to center of image. Consistent with distortion center shift measurements made with checkerboard, SFRplus, and eSFR ISO analysis. See note on distortionType Models below.
<distortionType>_distortionParameters 1-5 numbers, depending on chosen distortion model: param_1 param_2 … param_5 Parameters to characterize chosen distortion model. Consistent with distortion parameter measurements made with checkerboard, SFRplus, and eSFR ISO analysis. See note on distortionType Models below.

 

Module operation and misc.


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
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.
combineOutput 0 or 1 Flag to indicate if outputs from all images in a batch should be combined into a single output .json instead of one .json per input. 
regMarkBinarizeLevel number, range [0,1] Gray level value which separates the light and dark values of the registration marks, normalized relative to the bit depth of the image. This level is used to binarize the image data used for regmark detection, which is helpful in the case of low-contrast regmarks round in a high-contrast image.

 

[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

 

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: [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 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 appropriately 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: Currently, 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. More encodings will be added in future point releases.


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

 

distortionType Models

A distortion model can be used to map the ROIs from a chart definition file to the correct location for highly geometrically distorted images. The distortion model can be measured for an imaging system by taking a picture under the same imaging conditions of a checkerboard chart, SFRplus chart, or eSFR ISO chart and performing a geometric analysis.  The following distortion models are available in arbitrary charts and the chart definition utility:


Distortion Model distortionType <distortionType>_distortionCenterShift <distortionType>_distortionParameters Number of distortionParameters
3rd Order Polynomial poly_3 poly_3_distortionCenterShift poly_3_distortionParameters 1
5th Order Polynomial (3,5) poly_5_odd poly_5_odd_distortionCenterShift poly_5_odd_distortionParameters 2
arctan/tan tan tan_distortionCenterShift tan_distortionParameters 1
No distortion calc. none N/A N/A N/A
5th Order Polynomial (ALL 2-5) poly_5_all poly_5_all_distortionCenterShift poly_5_all_distortionParameters 4
7th Order Polynomial Odd poly_7_odd poly_7_odd_distortionCenterShift poly_7_odd_distortionParameters 3
9th Order Polynomial Odd poly_9_odd poly_9_odd_distortionCenterShift poly_9_odd_distortionParameters 4
11th Order Polynomial Odd poly_11_odd poly_11_odd_distortionCenterShift poly_11_odd_distortionParameters 5

 

Note about overlap with other INI sections and future changes

Typically, the relevant fields for this module are in the [arbcharts] section of the INI file, but sometimes are in other sections as noted. Currently, 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. 

Future releases will consolidate these options and confer some values to other, relevant sections of the INI file. In this case, the values found in the [arbcharts] section will be carried over appropriately upon the first load of the new version, to ensure continuity.