任意チャートの分析と出力

Imatestの任意チャートモジュールからのデータ出力は、他のモジュールからのデータ出力とは異なります。

任意チャートモジュールは、フィーチャのカスタムレイアウトという概念に基づいているため、モジュールが生成する測定結果に固定された構造はありません。代わりに、モジュールはテスト画像で観測した内容に基づいて結果を生成します。生成される結果のセットは、そのタイプのフィーチャで使用可能なセット(下記参照)と、各分析タイプを有効または無効にするためのユーザーオプションによって異なります。

例:斜めエッジROI出力

Imatest がテスト画像内で傾斜したエッジ (SlantedEdgeFeature に基づくもの、または SlantedSquareFeature の片側に基づくもの) を検出すると、MTF (およびそこから得られる鮮鋭度)、色収差、エッジ粗さなど、傾斜したエッジから計算できるすべての結果を生成します (ただし、これらの各項目がユーザー オプションで計算対象として指定されている場合に限ります。デフォルトでは、通常は指定されています)。

これらの結果はすべて、出力JSON内の「Slanted_Edge_N」という名前のフィールドエントリの下にグループ化されます。ここで、Nはエッジの一意のインデックスです(詳細は後述)。この観測されたエッジに基づく各結果は、下の図に示すように、それぞれ独自のエントリを持ちます。

ROI結果とシステム結果の比較

大まかに言うと、Imatestは、単一のROI(関心領域)に基づいた測定値と、複数のROIに基づいてシステム全体に関する情報を提供する測定値の両方を提供しています。

例えば、単一の傾斜したエッジを観察することに関連するすべてのさまざまな結果(上の図を参照)はROIの結果ですが、画像平面全体の周囲の多くの観測点に基づく幾何学的歪みの結果はシステムの結果になります。

システム結果には、ROIごとの結果の配列が含まれる場合があり、関連する測定値はこれらのサブ結果にまとめられます。これは、ノイズ、トーン応答、色精度などの測定値を生成するために使用されるグレースケールおよびカラーパッチ機能で非常によく見られるものです。Imatestは最上位レベルで各パッチごとにこれらの結果を個別に表示することもできますが、システム結果のコンテキストで提供される方がより有用です。

ROIごとの結果インデックス

ROIごとの結果は、「<ROI TYPE>_N」というラベルの付いたフィールドの下にあるJSONオブジェクトに報告されます。ここで、Nは特定のタイプの各ROIを識別する一意のインデックス値です(例:「Random_Field_1」)。これらのインデックスは、チャート定義ファイルで各機能を定義する「ind」値のエントリに直接対応しています。

任意結果JSONに含まれるエントリをチャート上の特定の機能に関連付けるには、チャート定義ファイルと照合してください。(ヒント:機能インデックスを表示する場合は、チャート定義ユーティリティが役立ちます。)

斜めエッジインデックス

斜めエッジROIインデックスは、上記のルールを拡張したものです。これは以下の理由から必要です。

  1. チャート上に傾斜エッジ ROI を作成する方法は 2 つあります (SlantedEdgeFeature と SlantedSquareFeature)。
  2. 各 SlantedSquareFeature は 4 つの傾斜したエッジ ROI を意味しますが、それ自体は単一のインデックスしか持ちません。

斜めのエッジに対する拡張インデックス規則は以下のとおりです(図は下記参照)。

  1. チャート上にS個の SlantedEdgeFeatures が定義されている場合、最初のS個のインデックスの結果はそれらに対応します。(SlantedEdgeFeatures が定義されていないチャートの場合、 Sは単純に 0 となるため、傾斜した正方形から派生したエッジはすべてインデックス 1 から始まります。)
  2. SlantedSquareFeatureは、上、右、下、左の順に4つのエッジインデックスをリストに追加します。これらのインデックスが追加される順序は、SlantedSquareFeatureのインデックスに基づいています。

赤枠で囲まれたエッジROIには、青で示された固有かつ一貫した識別指標があります。これらはチャート定義ファイルのみに基づいており、テスト画像内の位置(あるいは画像にそもそも表示されるかどうか)とは関係ありません。

結果のJSON構造

任意チャートモジュールからのJSON出力は、以下の階層構造を持ちます。

トップレベルオブジェクト(フィールド付き)
情報(実行時間、Imatestのバージョンなどの情報を含むフィールドを持つオブジェクト)
Results_array_sources (以下の結果配列を生成するために使用された画像ソースの名前を示す文字列の配列)
結果(Results_array_sourcesの各エントリごとに1つのオブジェクトの配列)

最上位の JSON オブジェクトのResultsエントリは配列であり、各エントリには画像から取得した測定値が含まれています。Results_array_sourcesの文字列エントリの順序は、 Resultsに含まれる配列内の結果オブジェクトを生成したソース画像の順序を示します。

注:モジュールが単一のイメージに対して実行される場合でも、 ResultsフィールドとResults_array_sourcesフィールドにはそれぞれ、対応するエントリを含む1要素の配列が格納されます。これにより、JSON構造の一貫性と予測可能性が向上し、単純な機械による解析が容易になります。

以下は、 Results配列内のオブジェクトの階層構造の一覧です。以下では、太字のテキストはJSONオブジェクトを示し、「[… something_n …]」という構造は、それぞれ異なるnの値でインデックス付けされたオブジェクトの配列(通常は前述のチャート機能インデックスに関連)を示します。標準テキストは、オブジェクト内のフィールドを示します。

(注:以下の出力JSONに関する情報は、Imatestの最新リリース時点での構造を示しています。以前のバージョンでは、正確なオブジェクト名や構成が若干異なる場合があります。)

ROIごとの出力

斜めの縁

[ …
斜めエッジn
投資対効果(ROI)

左上
幅
身長
エッジプロパティ
方向
角度
ダークミーン
光_平均
ダーク平均線形正規化
ライト平均線形正規化
MTF
mtf
周波数
mtf50
過剰シャープニング率
鋭敏度
鋭敏さ
CPIQ_QL
LCA
エリアピクセル
面積パーセント
クロスピクセル
クロスパーセント
R_G_delta_pixels
R_G_デルタパーセント
B_G_デルタピクセル
B_G_デルタパーセント
…]

枯れ葉/こぼれたコインの模様

[ …
ランダムフィールドn
投資対効果(ROI)
左上
幅
身長
ランダムダイレクト
周波数
mtf
テクスチャPSD
ノイズPSD
鋭敏度
鋭敏さ
CPIQ_QL
…]

スターズ

[ …
スター_n
投資対効果(ROI)
左上
幅
身長
MTF
周波数
mtf
半径
角度
…]

ウェッジ

[ …
ウェッジ_n
投資対効果(ROI)
左上
幅
身長
ウェッジ
周波数
mtf
解像度制限バー
…]

システム出力

色
パッチカラー
[ …
パッチ_n :
measured_RGB
measured_LAB
参照ラボ
デルタC
デルタE
デルタC94
デルタE94
デルタH_94
Delta_C_2000
Delta_E_2000
デルタH_2000
…]

Max_Color_Errors
デルタC
デルタE
デルタC94
デルタE94
デルタH_94
Delta_C_2000
Delta_E_2000
デルタH_2000

平均色エラー
デルタC
デルタE
デルタC94
デルタE94
デルタH_94
Delta_C_2000
Delta_E_2000
デルタH_2000

CPIQ_色彩度
CPIQ_color_OM
CPIQ_color_QL

システムLCA
rg_fit_coeffs
bg_fit_coeffs
rg_delta_pixels
bg_delta_pixels
CPIQ_ピクセル
CPIQ指標
CPIQ_QL

音調分析
参照_y
measured_y
計測された輝度
フィットガンマ
露出エラーfstops

ノイズ
ISOsnr
彩度Lum
CPIQ_視覚ノイズ_OM
CPIQ_視覚ノイズ_QL
[ …
パッチ_n
luma_std
r_std
g_std
b_std
Lstar_std
アスター標準
bstar_std
シーン参照ノイズ
sceneRefSNR
CPIQ_視覚ノイズ
視覚ノイズ
平均L
平均_a
平均_b
var_L
var_a
var_b
covLa
ISO_視覚ノイズ
視覚ノイズ
平均L
平均_u
平均_v
σ_L
σ_u
σ_v
horz_freq_content
horz_val_content
水平周波数コンテンツピーク
horz_val_content_peak
horz_freq_content_interp
horz_val_content_interp
vert_freq_content
vert_val_content
vert_freq_content_peak
vert_val_content_peak
vert_freq_content_interp
vert_val_content_interp
…]

均一性グリッド
*選択されたチャンネル*_グリッド(注:選択された均一性グリッドチャンネルは複数ある場合があり、それぞれにエントリがあります)
*選択された色のエラー*_deltaC(注:選択された均一性グリッドの色エラーは複数存在する可能性があり、それぞれに2つのエントリがあります)
*選択された色のエラー*_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」サブフォルダです。出力先をユーザーが指定した場所にリダイレクトするには、Arbitrary Charts GUIウィンドウの「出力保存ディレクトリ」フィールドに有効なパスを入力します(または、INIファイルの[arbcharts] save_dir_nameエントリに有効なパス文字列を入力します)。このパスは存在し、かつ現在のユーザーの権限でディスクへの書き込みが許可されている必要があります。そうすることで、以降の実行時にResultsサブフォルダがその場所に作成されるようになります。