チャート定義ユーティリティは、Imatest Master に搭載された自己完結型の GUI ウィンドウであり、任意チャートモジュールで使用するチャート定義 JSONの作成と検証を支援します。このユーティリティが提供する主なサービスは以下のとおりです。
- チャート定義JSONの構築におけるエラーを示します。意味的なエラー(例:無効な値型)と構文的なエラー(例:カンマの欠落)の両方を示します。
- 提供された定義に基づいたチャートデザインの図を表示し、視覚的に素早く確認できるようにします。
- チャートのデザインを実際のチャートの写真に合わせることで、その画像内でチャートのデザインによって生成されるROI(関心領域)を視覚的に示す。
このユーティリティは、ユーザーがチャートを設計するプロセスを支援することができます。例えば、チャートの画像で生成されたROIが、他のチャート要素と近すぎる場合にどのように重なるかを視覚的に示すことができます。
また、このツールは、チャート定義ファイルの作成プロセス(プロセスの一部)においても、JSONファイルが正しく解析可能な構造であり、各フィールドに適切な値が含まれていることを検証することで、作業を支援できます。JSON定義ファイルのエラーの性質に関するフィードバックを提供することで、このユーティリティはユーザーが定義における技術的な問題を繰り返し修正するのに役立ちます。
チャート定義ユーティリティを開く
チャート定義ユーティリティは、Imatest Master 5.0以降のバージョンで利用可能です。メインのImatestウィンドウのユーティリティパネルにある「チャート定義ユーティリティ」ボタン、またはメニューバーの「ユーティリティ」ドロップダウンメニューから直接アクセスできます。
ユーティリティは、任意チャートモジュールウィンドウの「チャート定義」ペインにあるボタンからも起動できます。このペインでチャート定義ファイルが既に選択されている場合、ユーティリティウィンドウを開くと、そのファイルが(任意チャートで正常に読み込まれたかどうかに関わらず)自動的に読み込まれます。
チャート定義の検証
ユーティリティウィンドウの上部ペインは、チャート定義JSONファイルの有効性を検証するために使用されます。
有効なチャートデザインのイラスト
選択されたファイルが有効なグラフ定義である場合、グラフデザインのレンダリング結果がユーザーに表示されます。これは、正確性を素早く視覚的に確認するために使用できます。

これは、提供された定義に基づいたチャートの図解であることに留意することが重要です。この定義ファイルを使用して分析される実際の印刷済みテストチャートのすべての特徴と完全に一致するとは限りません。定義ファイルを通じて認識できる特徴の概念的な図のみが描画されます。
表示オプション
- ユーザーは、レンダリングされた図面上で、キープアウトエリアを赤い枠線で表示するかどうかを切り替えることができます。これらの機能(チャート上でImatestで分析できないものが存在する領域を識別するために使用され、チャートの背景領域からの均一性分析にのみ使用されます)は、図面を煩雑にする場合があるため、表示をオフにするオプションが用意されています。
- 各フィーチャのレンダリング上にフィーチャインデックスを表示することで、描画されたフィーチャと対応するチャート定義ファイルのエントリを簡単に参照できます。各フィーチャ上に表示される数値は、フィーチャ配列内のフィーチャエントリの「ind」フィールド値です。なお、これらの数値は各フィーチャタイプごとに1からカウントアップされます。
無効なグラフデザインメッセージ
選択したファイルが有効なチャート定義ファイルでない場合、考えられる理由は2つあります。1つは、入力されたパラメーターと値がチャート定義ページに記載されているルールを満たしていないこと、もう1つは、ファイルが有効な解析可能なJSON構造ではないことです。
Imatestは、発生した問題を説明するメッセージを赤色で表示します。このメッセージは、ユーザーがチャート定義ファイル内の問題を特定して修正できる程度に分かりやすいものであることが望ましいです。複数の問題が発生した場合、最初に発生した問題のみが修正されるまで報告されます。
チャート定義の問題
正しく記述されたJSONファイルであっても、任意のチャート定義のルールに準拠していないチャート定義ファイルには、ユーザーが間違いを修正できるようガイダンスするメッセージが表示されます。たとえば、ファイルに必須の「name」フィールドが欠落している場合、次のようなメッセージが表示されます。

グラフ定義エラーの原因としては、必須フィールドの欠落や、フィールドの値の型が間違っていること(例えば、数値が必要なフィールドに文字列を入力するなど)が挙げられます。
構文解析の問題
JSONが解析不能になる原因は数多く考えられます。例えば、カンマ、配列の末尾を示す閉じ括弧、コロンが欠落している場合などが挙げられます。また、文字列に二重引用符ではなく単一引用符が使われているなど、無効な文字が含まれている可能性もあります。(他にも様々なエラーが考えられます。)
残念ながら、Imatestは構文解析エラーに関するメッセージ表示において、それほど役に立つものではありません。なぜなら、エラーの種類が非常に多いためです。ただし、カンマの欠落や配列の閉じ括弧の欠落といった一部の問題は、意味のある形で表示できます。
しかし、場合によっては「位置Xに値が期待されています」というメッセージが表示され、欠落している値のコンテキストの一部が表示されることもあります。このような場合、JSON構造のエラーを特定するのはユーザーの責任です。JSON Lintなどのオンラインツールは、このような場合に多少役立つ情報を提供してくれるかもしれません。
サンプル領域検出
チャート定義ユーティリティウィンドウの下部ペインでは、チャート定義ファイルで定義された機能と実際のチャート画像との位置合わせを確認できます。

このパネルは、特定の画像がImatestの自動位置合わせ機能に合格するかどうかをテストする際にも非常に便利です。画像を分析モジュールに直接通すよりも、自動検出が失敗した場合、警告ウィンドウが表示されます。
このペインで画像ファイルが選択され、かつ上部のペインに有効なグラフ定義ファイルが読み込まれている場合、グラフは(可能な場合)画像に合わせて自動的に配置されます。
ユーザーは、提供された定義ファイルを使用して画像内で検出されたROIを検証できる、複数のグラフィカルガイドを選択できます。
- グラフの特徴を示すアウトライン(赤色で強調表示)
- 分析可能なROIの輪郭(特徴量から導出)を緑色で強調表示
- チャート背景グリッドの均一性
- チャートの背景のピクセル位置(均一性グリッド分析に使用)を青色で強調表示
緑色の枠で囲まれた領域は、任意グラフモジュールの解析ルーチンで使用される領域を示しています。たとえば、異なるフィーチャタイプ(例: [arbcharts] roiFillFactor_edge )のフィルファクターINIフィールド設定を変更して、特定の画像から生成されるROIにどのような影響があるかを確認できます。
チャートの背景領域を示すために青色でマークされたピクセルは、チャートの境界内にあるが、チャート機能またはキープアウト領域の領域内にはないピクセルです。ピクセルがこれらの領域(境界、機能、またはキープアウト)のいずれかからどれだけ離れる必要があるかのマージンの量は、INI フィールド[arbcharts] backgroundMarginによって決定されます。
均一性グリッドの位置は、その領域で測定を行うのに十分な有効なチャート背景ピクセルがある場合は緑色、ない場合は赤色で強調表示されます。赤色の領域では、出力結果にNaN値が返されます。グリッドセクションの数は[arbcharts] nRowsGridおよびnColumnsGridで制御され、領域に必要な有効ピクセルの数は[arbcharts] minValidPxGridで制御されます。
機能概要とROI概要
このユーティリティは、チャートの特徴と、その特徴から生成されるROIとの違いも示しています。例えば、実際の画像で検出されたSlantedSquareFeatureは、そこから生成される4つの斜めエッジのROIとは全く異なります。