迷光(フレア)設定ファイル

迷光(フレア)に関するドキュメントページ

導入: 迷光試験と正規化迷光の概要|Imatest迷光解析の出力|履歴

背景: 迷光の例|根本原因|テスト概要|テスト要因|テストに関する考慮事項|用語集

計算: メトリック画像|正規化方法|光源マスク方法|要約メトリック|分析チャネル|彩度

手順: Imatestによる高レベル解析手順(マスターおよびIT) | Imatestによる正規化迷光の計算|電動ジンバル手順

設定: 設定リストとINIキー/値|標準規格と推奨事項|設定ファイルの入力

設定ファイル

「config」ファイル(設定ファイル)は、Imatest Master 22.2 の迷光(フレア)解析におけるオプションの入力です。データから最大限の意味を引き出したいユーザーは、設定ファイルを入力として使用することで、追加の出力や解析オプションを利用できます。設定ファイル(または StrayLightConfig オブジェクト)は、Imatest IT 22.2 での解析に必須の入力です。

設定ファイルは、解析対象となる各画像ファイルに関するメタ情報を定義するJSON形式のテキストファイルです。このメタ情報には、画像ファイルへのパスや、各画像に関連付けられた光源の位置/角度などが含まれます。解析中、このメタ情報はデータに関連付けられ、解析プロット(例えば、光源視野角の関数としてプロットされた迷光統計など)の生成や、出力ラベルの最適化が可能になります。このラベル付けは、結果の整理・管理に役立つだけでなく、特定の規格(例えば、IEEE-P2020)で情報の報告が義務付けられているため、非常に重要です。ほとんどのプログラミング言語にはJSON(JavaScript Object Notation)テキスト形式を操作・生成するためのツールが備わっているため、設定ファイルは比較的容易にプログラムで生成できます。

Imatest Stray Light (Flare) 解析の入力として使用する設定ファイル(JSON エンコードされたテキストファイル)の例のスクリーンショットです。この設定ファイルは人間が読みやすいようにフォーマットされており、Sublime Text というアプリケーションで表示されています。

Imatest Masterでは、ユーザーは入力イメージと同様に設定ファイルを入力として選択するか、あるいは1つ以上の設定ファイルを含むディレクトリを選択することで設定ファイルを入力として選択できます。設定ファイルは、以下に定義するJSONスキーマ/プロパティでフォーマットされ、ファイル拡張子は「.slconf」である必要があります。

設定ファイルのプロパティは以下のとおりです。

各captureconfigオブジェクトのプロパティは次のとおりです。

迷光テストにおいて、方位角と視野角は、テスト対象のカメラまたはデバイスに対する光源の位置を表します。

方位角と視野角は、カメラに対する光源の位置を表します。迷光テストにおいては、視野角がゼロとなる位置は、画像空間における光学中心と一致するはずです。包括的なテストを行うためには、光源がカメラの最大視野角を超える視野角にある画像も解析に含めることをお勧めします。

公式のJSONスキーマは以下に定義されています。

設定ファイルのJSONスキーマ

config.schema.json の JSON エンコードされたテキスト文字列:

{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "config.schema",
  "type": "object",
  "properties": {
    "captures": {
      "description": "Information about each capture position.", 
      "type": "array",
      "items": [
        {"$ref": "captureconfig.schema"
        }
      ]
    },
    "run_name": {
      "description": "Information about the run. This is used to name batch outputs.",
      "type": "string"
    },
    "comment": {
      "description": "A comment about the meta data of the run. This is used for record keeping.",
      "type": "string"
    },
    "version": {
      "description": "The version of the config format.", 
      "type": "integer", 
      "properties": {
         "minimum": 1,
         "maximum": 1
      }
    }
  },
  "required": [
    "captures",
    "run_name",
    "version"
  ],
  "unevaluatedProperties": false
}

「captureconfig」オブジェクトのJSONスキーマ

captureconfig.schema.json の JSON エンコードされたテキスト文字列:

{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "captureconfig.schema",
  "type": "object",
  "properties": {
    "image_paths": {
      "description": "The path to the image to analyze.",
      "type": "string"
    },
    "source_field_angle_deg": {
      "description": "The field angle of the source in degrees.",
      "type": "number", 
      "minimum": 0, 
      "maximum": 180
    },
    "source_azimuth_angle_deg": {
      "description": "The azimuth angle of the source in degrees.",
      "type": "number", 
      "minimum": 0, 
      "exclusiveMaximum": 360
    },
    "source_comment": {
      "description": "A comment about the capture, e.g., source is out of the FOV.",
      "type": "string"
    }
  },
  "required": [
    "image_paths"
  ],
  "unevaluatedProperties": false
}