산란광(플레어) 설정 파일

산란광(플레어) 관련 문서 페이지

소개: 산란광 테스트 및 정규화된 산란광 소개 |Imatest 산란광 분석 결과 | 역사

배경: 산란광 사례 |근본 원인 |테스트 개요 |테스트 요소 | 테스트 고려 사항 | 용어집

계산: 측정 이미지 |정규화 방법 |광원 마스크 방법 | 요약 측정 항목 | 분석 채널 | 채도

지침: 고급 Imatest 분석 지침(Master 및 IT) | Imatest를 이용한 정규화된 산란광 계산 | 전동 짐벌 사용 지침

설정: 설정 목록 및 INI 키/값 | 표준 및 권장 사항 |구성 파일 입력

설정 파일

"config" 파일(설정 파일)은 Imatest Master 22.2의 산란광(플레어) 분석을 위한 선택적 입력 파일입니다. 데이터에서 최대한의 의미를 추출하고자 하는 사용자는 설정 파일을 입력으로 사용하여 추가적인 출력 및 분석 옵션을 활용할 수 있습니다. Imatest IT 22.2에서는 설정 파일(또는 StrayLightConfig 객체)이 분석에 필수적인 입력 파일입니다.

설정 파일은 분석할 각 이미지 파일에 대한 메타 정보를 정의하는 JSON(JavaScript Object Notation) 형식의 텍스트 파일입니다. 여기에는 이미지 파일의 경로와 각 이미지와 관련된 광원의 위치/각도가 포함됩니다. 분석 과정에서 이 메타 정보는 데이터와 연결되어 분석 그래프(예: 광원 시야각에 따른 산란광 통계 그래프)를 생성하고 출력 결과에 대한 레이블링을 개선하는 데 사용됩니다. 이러한 레이블링은 결과의 체계적인 관리와 특정 표준(예: IEEE-P2020)에서 보고를 요구하는 정보이기 때문에 중요합니다. 대부분의 프로그래밍 언어는 JSON 텍스트 형식을 처리하고 생성하는 도구를 제공하므로 설정 파일은 비교적 쉽게 프로그래밍 방식으로 생성할 수 있습니다.

Imatest Stray Light(Flare) 분석에 사용할 입력 파일(JSON으로 인코딩된 텍스트 파일)의 예시 스크린샷입니다. 이 설정 파일은 사람이 읽기 쉬운 형식으로 되어 있으며, Sublime Text라는 애플리케이션에서 보고 있습니다.

Imatest Master에서 사용자는 구성 파일을 입력 이미지처럼 선택하거나, 하나 이상의 구성 파일이 포함된 디렉터리를 선택하여 입력 으로 사용할 수 있습니다. 구성 파일은 아래에 정의된 JSON 스키마/속성을 따라야 하며 파일 확장자는 ".slconf"여야 합니다.

설정 파일의 속성은 다음과 같습니다.

각 captureconfig 객체의 속성은 다음과 같습니다.

산란광 테스트에서 방위각과 시야각은 테스트 대상 카메라 또는 장치에 대한 광원의 위치를 나타냅니다.

방위각과 시야각은 카메라에 대한 광원의 위치를 나타냅니다. 산란광 테스트를 위해서는 시야각이 0인 지점이 이미지 공간에서 광학 중심과 일치해야 합니다. 보다 포괄적인 테스트를 위해서는 광원이 카메라의 최대 시야각을 벗어난 시야각에 위치한 이미지를 분석에 포함하는 것이 좋습니다.

공식 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
}