任意图表模块的数据输出与其他 Imatest 模块的数据输出不同:
- 仅输出 JSON 文件,不输出 CSV 或 XML 文件。
- JSON 的结构与其他模块有很大不同。
- 如果批量运行多个镜像,则所有镜像的结果可以包含在单个 JSON 文件中。
由于任意图表模块基于自定义特征布局的概念,因此该模块生成的测量结果没有固定的结构。相反,该模块会根据其在测试图像中观察到的内容生成结果。生成的结果集取决于该特征类型可用的结果集(如下所述)以及用户启用或禁用每种分析类型的选项。
示例:倾斜边缘 ROI 输出
如果 Imatest 在测试图像中检测到倾斜边缘(基于 SlantedEdgeFeature 或 SlantedSquareFeature 的一侧),它将生成所有可从倾斜边缘计算出的结果,例如 MTF(以及由此计算出的锐度)、色差、边缘粗糙度等。(前提是用户已在选项中请求计算这些结果。默认情况下,它们通常都会被请求计算。)
所有这些结果都将归类到输出 JSON 文件中名为“Slanted_Edge_N”的字段项下,其中 N 是边的唯一索引(详见下文)。基于这条观察到的边的每个结果都将拥有自己的条目,如下图所示。

投资回报率结果与系统结果对比
粗略地说,Imatest 提供了一些基于单个 ROI 的测量方法,以及一些基于多个 ROI 来描述整个“系统”的测量方法。
例如,与观察单个倾斜边缘相关的各种结果(见上图)都是ROI 结果,而几何畸变结果(基于整个图像平面周围的许多观察点)则是系统结果。
- 每个测试图像仅生成一个系统结果。
- 针对每个相应 ROI 类型的实例生成一个 ROI 结果。
有时,系统结果会包含一系列每个感兴趣区域 (ROI) 的结果,相关测量数据就收集在这些子结果中。这在灰度和彩色色块特征中非常常见,这些特征用于生成噪声、色调响应、色彩准确度等测量数据。虽然 Imatest 可以在顶层单独给出每个色块的所有此类结果,但将其放在系统结果的上下文中会更有用。
按投资回报率结果索引
每个 ROI 的结果都以 JSON 对象的形式报告,该对象位于名为“<ROI TYPE>_N”的字段下,其中 N 是唯一的索引值,用于标识给定类型的每个 ROI。(例如:“Random_Field_1”。)这些索引直接对应于图表定义文件中定义每个特征的“ind”值条目。
要将任意结果 JSON 中找到的条目与图表上的特定要素关联起来,请与图表定义文件进行交叉引用。(提示:如果您选择显示要素索引,则图表定义实用程序对此会很有用。)
斜边索引
倾斜边缘 ROI 索引是对上述规则的扩展。这是必要的,因为:
- 在图表上创建倾斜边缘 ROI 有两种方法(SlantedEdgeFeature 和 SlantedSquareFeature),
- 每个 SlantedSquareFeature 都包含四个倾斜边缘 ROI,但它本身只有一个索引。
斜边的扩展索引规则如下(如下图所示):
- 如果图表上定义了S个斜边特征,则前S个索引结果对应于这些特征。(请注意,对于未定义任何斜边特征的图表, S为 0,因此任何由斜正方形衍生出的边都将从索引 1 开始。)
- 每个倾斜正方形特征都会按上、右、下、左边缘的顺序向列表中添加四个边缘索引。添加顺序取决于倾斜正方形特征的索引。

边缘 ROI(以红色勾勒)具有唯一且一致的识别索引(以蓝色显示)。这些索引仅基于图表定义文件,与它们在测试图像中的位置(或它们是否出现在图像中)无关。
结果 JSON 结构
任意图表模块的 JSON 输出具有以下层次结构。
顶级对象(带字段);
信息(包含运行时、Imatest 版本等信息的字段的对象)
Results_array_sources (字符串数组,用于命名生成以下结果数组的图像源)
结果(对象数组,每个对象对应 Results_array_sources 中的一个条目)
顶层 JSON 对象的Results条目是一个数组,其中每个条目包含从图像中提取的测量值。Results_array_sources字符串条目的顺序指示了生成Results数组中结果对象的源图像的顺序。
注意:即使模块仅处理单个图像, Results和Results_array_sources字段也各自包含一个包含其对应条目的单元素数组。这使得 JSON 结构更加一致且易于预测,便于机器解析。
以下列出了Results数组中对象的层级结构。下文中,粗体文本表示 JSON 对象,“[… something_n …]”结构表示一个对象数组,每个对象都由不同的n值索引(通常与上文所述的图表特征索引相关)。普通文本表示对象中的一个字段。
(注:以下关于输出 JSON 的信息指的是 Imatest 最新版本中的结构。在之前的版本中,具体的对象名称和组织结构可能略有不同。)
每投资回报率输出
斜边
[…
斜边_n
投资回报率
左上
宽度
高度
边缘属性
方向
角度
暗色均值
轻均值
暗平均线性归一化
光线平均线性范数
MTF
mtf
频率
mtf50
过度锐化百分比
锐度
锐度
CPIQ_QL
生命周期评估
面积像素
面积百分比
交叉像素
交叉百分比
R_G_delta_pixels
R_G_delta_percent
B_G_delta_pixels
B_G_delta_percent
… ]
枯叶/散落的硬币图案
[…
随机场_n
投资回报率
左上
宽度
高度
随机直接
频率
mtf
texture_psd
噪声_psd
锐度
锐度
CPIQ_QL
… ]
星星
[…
星_n
投资回报率
左上
宽度
高度
MTF
频率
mtf
半径
角度
… ]
楔形
[…
楔形
投资回报率
左上
宽度
高度
楔
频率
mtf
限制分辨率条
… ]
系统输出
颜色
补丁颜色
[…
patch_n :
measured_RGB
实验室测量
参考实验室
Delta_C
Delta_E
Delta_C_94
Delta_E_94
Delta_H_94
Delta_C_2000
Delta_E_2000
Delta_H_2000
… ]
最大颜色错误
Delta_C
Delta_E
Delta_C_94
Delta_E_94
Delta_H_94
Delta_C_2000
Delta_E_2000
Delta_H_2000
平均颜色误差
Delta_C
Delta_E
Delta_C_94
Delta_E_94
Delta_H_94
Delta_C_2000
Delta_E_2000
Delta_H_2000
CPIQ_色彩饱和度
CPIQ_color_OM
CPIQ_color_QL
系统_LCA
rg_fit_coeffs
bg_fit_coeffs
rg_delta_pixels
背景像素增量
CPIQ_像素
CPIQ_metric
CPIQ_QL
音调分析
参考_y
测量值
测量亮度
拟合伽马
曝光错误_光圈
噪音
ISO编号
饱和度
CPIQ_visual_noise_OM
CPIQ_visual_noise_QL
[…
补丁_n
luma_std
r_std
g_std
b_std
Lstar_std
astar_std
bstar_std
场景参考噪声
场景参考信噪比
CPIQ_视觉噪声
视觉噪声
mean_L
平均值
mean_b
var_L
var_a
var_b
covLa
ISO视觉噪声
视觉噪声
mean_L
mean_u
mean_v
sigma_L
西格玛_u
sigma_v
horz_freq_content
horz_val_content
horz_freq_content_peak
horz_val_content_peak
horz_freq_content_interp
horz_val_content_interp
垂直频率内容
vert_val_content
垂直频率内容峰值
vert_val_content_peak
vert_freq_content_interp
vert_val_content_interp
… ]
均匀网格
*选定通道*_网格(注意:可能选定了多个均匀性网格通道,每个通道都会有一个条目)
*选定颜色误差*_deltaC(注意:可能存在多个选定均匀性网格颜色误差,每个误差将有两个条目)
*选定颜色误差*_deltaE
CPIQ_结果
颜色均匀性
OM
QL
视频分析结果
自动曝光
补丁索引
帧时间_秒
场景切换
场景切换开始时间(秒)
场景切换时间(秒)
场景变化_起伏
收敛
收敛时间起始秒数
收敛时间(秒)
收敛目标
收敛稳定性
VCX_结果
VCX版本
补丁索引_VCX
场景切换开始时间(VCX 秒)
收敛时间起始点(VCX 秒)
收敛时间_VCX_秒
收敛目标_VCX
收敛性_稳定性_VCX
输出文件名和位置
输出文件名格式如下:
<图表名称>-<测试图像名称>.json ,如果 INI 字段[arbcharts] combineOutput为 0(请参阅设置页面)或:
<chart name>-batch-<timestamp>.json ,如果[arbcharts] combineOutput为 1。
<chart name>-VideoAnalysis-<timestamp>.json ,如果[arbcharts] doVideoAnalysis为 1 且分析了有效的视频文件。
在哪里:
- <chart name>是模块运行期间使用的图表定义文件的名称字段的条目。
- <测试图像名称>是测试图像文件名,包括完整扩展名(例如“test_image_5.jpg”)。
- <timestamp>是分析开始时间的时间戳(根据 ISO 8601 标准,在所有系统上作为文件名都是安全的),格式为“yyyymmddTHHMMSS”。
此模块的输出文件默认保存在用户主目录下的“Results”子文件夹中。用户可以通过在“任意图表”图形用户界面窗口的“输出保存目录”字段中输入有效路径(或者等效地,通过在 INI 文件的[arbcharts] save_dir_name条目中输入有效路径字符串)来将输出重定向到用户选择的位置。该路径必须存在,并且当前用户拥有写入磁盘的权限。这样做会强制在以后的运行中在该位置创建“Results”子文件夹。