Arbitrary Charts Module Settings

Analyses & Output - INI settings - Chart 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 NameValuesDescription
doEdgeMTF0 or 1Perform slanted-edge MTF analysis on any edges present.
channel_edgeMTFstring, channel name(s) Color channel to run analysis on. Can be a space-separated list of allowed channel symbols. See note on Channels below.
doEdgeLCA0 or 1Perform slanted-edge LCA analysis on any edges present with RGB channels, and an aggregate system LCA result from them.
roiFillFactor_edgenumber, range 0 to 1Fraction 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.)
isoStd0 or 1Flag to revert to ISO-12233 compliant analysis, bypassing Imatest enhancements to the standard. Overrides the following options.
modApod0 or 1Flag to indicate use of "modified apodization" noise reduction for increased stability of e-SFR results. (Recommended)
edgeNonUniformCorrection0 or 1Flag to indicate use of slanted-edge non-uniformity correction. (Recommended)
edgeDerivCorrection0 or 1Flag to indicate use of correction factor for continuous derivative approximation

Texture Analysis

INI Field NameValuesDescription
doTextureMTF0 or 1Perform texture MTF analysis on all random texture patterns present.
channel_textureMTFstring, channel name(s) Color channel to run analysis on. Currently only one entry is allowed for this analysis.
roiFillFactor_random_fieldnumber, range 0 to 1Fraction 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.)
nAngularSegPositive integerNumber of bins to partition the angles of the 2-d frequency plane into for analysis. Default: 1
nRadialSegPositive integerNumber 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
directPSDexponentNegative numberAnalytic PSD exponent value of the random pattern design used. Theoretically, typically -2.

Star Analysis

INI Field NameValuesDescription
doStarMTF0 or 1Perform MTF analysis on all star patterns present.
channel_starMTFstring, channel name(s) Color channel to run analysis on. Currently only one entry is allowed for this analysis.
roiFillFactor_starnumber, range 0 to 1Fraction 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_starMTFstring, channel name(s) Color channel to run analysis on. Currently only one entry is allowed for this analysis.
nAngularSeg_starPositive integerNumber of bins to partition the angles of the 2-d plane into for analysis. Default: 8
nRadialSeg_starPositive integerNumber 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_starstring: "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 NameValuesDescription
doWedge0 or 1Perform analysis on all wedges present.
channel_wedgestring, channel name(s) Color channel to run analysis on. Currently only one entry is allowed for this analysis.
roiFillFactor_wedgenumber, 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 NameValuesDescription
doUniformityGrid0 or 1Perform uniformity analysis over a grid segmentation of the  image plane using the background areas of the chart as a uniform color.
channel_uniformityGridstring, channel name(s) Color channel to run analysis on. Can be a space-separated list of allowed channel symbols. See note on Channels below.
nRowsGridpositive integerNumber of rows of grid spanning the image plane for uniformity analysis
nColumnsGridpositive integerNumber of columns of grid spanning the image plane for uniformity analysis
minValidPxGridpositive integerNumber of pixels of valid chart-background area per grid section
backgroundMarginpositive integerDistance 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.
colorErrorGridstring: "LAB", "CIE_94", "CMC", or "CIE_2000"What color error type to report for each grid segment.

Color/Tone/Noise

INI Field NameValuesDescription
doColorError0 or 1Perform all color delta calculations on all color patches present.
doNoise0 or 1Perform noise analysis on all neutral (grayscale) color patches present.
doTonal0 or 1Perform tonal response analysis on all neutral (grayscale) color patches present.
doFFT0 or 1Perform row/column periodic content analysis on all neutral (grayscale) color patches present.
roiFillFactor_color_patchnumber, range 0 to 1Fraction 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 NameValuesDescription
regionAreaThreshnumber, range 0 to 1Circle size uncertainty.
intensityThreshnumber, range 0 to 0.5 Intensity Variation (increase when circles are not uniform intensity).

Perceptual metrics

INI Field NameValuesDescription
doAcutance0 or 1Perform acutance calculations on any MTF results produced (from edges or random textures).
imgHeightNumber: -1 or a positive integerIndicates 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).
displayHeightNumber: -1 or a positive integerIndicates 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
viewDistpositive numberViewer-to-display distance, in cm
pxPerCmpositive 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
integralTypestring, "CPIQ" or "SQF"Type of integral to use for acutance/sqf calculation

Video Analysis

INI Field NameValuesDescription
doVideoAnalysis0 or 1Perform video analysis on valid video file.
constantROI0 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 NameValuesDescription
distortionTypestring, distortion typeDistortion model used to correct ROI placement for geometrically distorted images. See note on distortionType Models below.
<distortionType>_distortionCenterShift2 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>_distortionParameters1-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 NameValuesDescription
save_dir_namestring, path to a directoryPath to a directory to create a 'Results' sub-directory in, used as save location for module outputs
roi_confirmationString: "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.
combineOutput0 or 1Flag to indicate if outputs from all images in a batch should be combined into a single output .json instead of one .json per input. 
regMarkBinarizeLevelnumber, 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 NameValuesDescription
nomsg0 or 1Flag to indicate suppression of pop-up windows (ROI confirmation, warning messages, etc)
continue_on_error0 or 1Flag 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 SymbolDescription
Red, Green, BlueR, G, BThe "natural" channels of most color image files.
LuminanceY 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)
LumaLumaTypically, 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.
IntensityITypically 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 MAverage 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.

EncodingAvailable Channels
Standard RGB encodings (sRGB, AdobeRGB, etc)R, G, B, Y, L_star, A_star, B_star, Luma, M
IntensityI

 

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 ModeldistortionType<distortionType>_distortionCenterShift<distortionType>_distortionParametersNumber of distortionParameters
3rd Order Polynomialpoly_3poly_3_distortionCenterShiftpoly_3_distortionParameters 1
5th Order Polynomial (3,5)poly_5_oddpoly_5_odd_distortionCenterShiftpoly_5_odd_distortionParameters 2
arctan/tantantan_distortionCenterShifttan_distortionParameters 1
No distortion calc.noneN/AN/AN/A
5th Order Polynomial (ALL 2-5)poly_5_allpoly_5_all_distortionCenterShiftpoly_5_all_distortionParameters 4
7th Order Polynomial Oddpoly_7_oddpoly_7_odd_distortionCenterShiftpoly_7_odd_distortionParameters 3
9th Order Polynomial Oddpoly_9_oddpoly_9_odd_distortionCenterShiftpoly_9_odd_distortionParameters 4
11th Order Polynomial Oddpoly_11_oddpoly_11_odd_distortionCenterShiftpoly_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.