任意图表分析和输出

任意图表模块的数据输出与其他 Imatest 模块的数据输出不同:

由于任意图表模块基于自定义特征布局的概念,因此该模块生成的测量结果没有固定的结构。相反,该模块会根据其在测试图像中观察到的内容生成结果。生成的结果集取决于该特征类型可用的结果集(如下所述)以及用户启用或禁用每种分析类型的选项。

示例:倾斜边缘 ROI 输出

如果 Imatest 在测试图像中检测到倾斜边缘(基于 SlantedEdgeFeature 或 SlantedSquareFeature 的一侧),它将生成所有可从倾斜边缘计算出的结果,例如 MTF(以及由此计算出的锐度)、色差、边缘粗糙度等。(前提是用户已在选项中请求计算这些结果。默认情况下,它们通常都会被请求计算。)

所有这些结果都将归类到输出 JSON 文件中名为“Slanted_Edge_N”的字段项下,其中 N 是边的唯一索引(详见下文)。基于这条观察到的边的每个结果都将拥有自己的条目,如下图所示。

投资回报率结果与系统结果对比

粗略地说,Imatest 提供了一些基于单个 ROI 的测量方法,以及一些基于多个 ROI 来描述整个“系统”的测量方法。

例如,与观察单个倾斜边缘相关的各种结果(见上图)都是ROI 结果,而几何畸变结果(基于整个图像平面周围的许多观察点)则是系统结果。

有时,系统结果会包含一系列每个感兴趣区域 (ROI) 的结果,相关测量数据就收集在这些子结果中。这在灰度和彩色色块特征中非常常见,这些特征用于生成噪声、色调响应、色彩准确度等测量数据。虽然 Imatest 可以在顶层单独给出每个色块的所有此类结果,但将其放在系统结果的上下文中会更有用。

按投资回报率结果索引

每个 ROI 的结果都以 JSON 对象的形式报告,该对象位于名为“<ROI TYPE>_N”的字段下,其中 N 是唯一的索引值,用于标识给定类型的每个 ROI。(例如:“Random_Field_1”。)这些索引直接对应于图表定义文件中定义每个特征的“ind”值条目。

要将任意结果 JSON 中找到的条目与图表上的特定要素关联起来,请与图表定义文件进行交叉引用。(提示:如果您选择显示要素索引,则图表定义实用程序对此会很有用。)

斜边索引

倾斜边缘 ROI 索引是对上述规则的扩展。这是必要的,因为:

  1. 在图表上创建倾斜边缘 ROI 有两种方法(SlantedEdgeFeature 和 SlantedSquareFeature),
  2. 每个 SlantedSquareFeature 都包含四个倾斜边缘 ROI,但它本身只有一个索引。

斜边的扩展索引规则如下(如下图所示):

  1. 如果图表上定义了S个斜边特征,则前S个索引结果对应于这些特征。(请注意,对于未定义任何斜边特征的图表, S为 0,因此任何由斜正方形衍生出的边都将从索引 1 开始。)
  2. 每个倾斜正方形特征都会按上、右、下、左边缘的顺序向列表中添加四个边缘索引。添加顺序取决于倾斜正方形特征的索引。

边缘 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 且分析了有效的视频文件。

在哪里:

此模块的输出文件默认保存在用户主目录下的“Results”子文件夹中。用户可以通过在“任意图表”图形用户界面窗口的“输出保存目录”字段中输入有效路径(或者等效地,通过在 INI 文件的[arbcharts] save_dir_name条目中输入有效路径字符串)来将输出重定向到用户选择的位置。该路径必须存在,并且当前用户拥有写入磁盘的权限。这样做会强制在以后的运行中在该位置创建“Results”子文件夹。