차트 정의 유틸리티

차트 정의 유틸리티는 Imatest Master에 내장된 GUI 창으로, 임의 차트 모듈에서 사용할 차트 정의 JSON 파일 을 생성하고 검증하는 데 도움을 줍니다. 이 유틸리티의 주요 기능은 다음과 같습니다.

이 유틸리티는 사용자가 차트를 디자인하는 과정에서 도움을 줄 수 있습니다. 예를 들어, 차트 이미지에서 생성된 ROI가 다른 차트 요소와 너무 가까울 경우 어떻게 겹칠 수 있는지 시각적으로 보여줍니다.

이 유틸리티는 차트 정의 파일 생성 과정에서도 도움을 줄 수 있는데, JSON 파일이 올바르고 파싱 가능한 구조를 가지고 있으며 각 필드에 적절한 값이 입력되었는지 확인하는 기능을 제공합니다. 또한 JSON 정의 파일의 오류 유형에 대한 피드백을 제공함으로써 사용자가 정의 파일의 기술적 문제를 반복적으로 수정하는 데 도움을 줄 수 있습니다.

차트 정의 유틸리티 열기

차트 정의 유틸리티는 Imatest Master 5.0 이상 버전에서 사용할 수 있습니다. 메인 Imatest 창의 유틸리티 패널에 있는 "차트 정의 유틸리티" 버튼이나 메뉴 모음의 "유틸리티" 드롭다운 메뉴에서 해당 항목을 클릭하여 직접 접근할 수 있습니다.

이 유틸리티는 임의 차트 모듈 창의 "차트 정의" 창에 있는 버튼을 사용하여 열 수도 있습니다. 이 창에서 차트 정의 파일이 이미 선택된 경우, 임의 차트에서 성공적으로 읽어들였는지 여부와 관계없이 유틸리티 창을 열 때 해당 파일이 미리 로드됩니다.

차트 정의 검증

유틸리티 창의 맨 위 패널은 차트 정의 JSON 파일의 유효성을 검증하는 데 사용됩니다.

유효한 차트 디자인 일러스트레이션

선택한 파일이 유효한 차트 정의인 경우, 차트 디자인의 렌더링 이미지가 사용자에게 표시됩니다. 이를 통해 정확성을 빠르게 시각적으로 확인할 수 있습니다.

제공된 정의를 기반으로 작성된 차트의 예시 라는 점에 유의하시기 바랍니다. 이 예시는 실제 인쇄된 테스트 차트의 모든 특징과 정확히 일치하지 않을 수 있으며, 정의 파일을 통해 파악할 수 있는 특징에 대한 개념적인 예시만을 보여줍니다.

디스플레이 옵션
(왼쪽) 접근금지영역이 강조 표시된 렌더링 이미지. (오른쪽) 차트 기능 인덱스가 표시된 렌더링 이미지.

잘못된 차트 디자인 메시지

선택한 파일이 유효한 차트 정의 파일이 아닌 경우, 두 가지 이유 때문일 수 있습니다. 첫째, 입력된 매개변수와 값이 차트 정의 페이지에 명시된 규칙을 충족하지 않는 경우이고, 둘째, 파일 자체가 유효한 구문 분석 가능한 JSON 구조가 아닌 경우입니다.

Imatest는 발생한 문제를 설명하는 메시지를 빨간색으로 표시합니다. 이 메시지는 사용자가 차트 정의 파일에서 문제를 찾아 수정할 수 있도록 충분히 이해하기 쉬운 내용으로 구성되어 있습니다. 여러 문제가 발생한 경우, 처음 발생한 문제만 수정될 때까지 보고됩니다.

차트 정의 문제

JSON 형식으로 올바르게 작성되었지만 임의 차트 정의 규칙을 준수하지 않는 차트 정의 파일은 사용자가 오류를 수정하도록 안내하는 메시지를 표시합니다. 예를 들어, 파일에 필수 "name" 필드가 누락된 경우 다음과 같은 메시지가 표시됩니다.

차트 정의 오류의 원인으로는 필수 필드 누락 및 필드 값 유형 오류( 예: 숫자 값이 필요한 필드에 문자열 입력) 등이 있습니다.

구문 분석 문제

JSON 파싱 오류를 발생시키는 원인은 여러 가지가 있을 수 있습니다. 예를 들어 쉼표, 배열의 끝을 구분하는 닫는 괄호, 또는 콜론이 누락되었을 수 있습니다. 또한 문자열에 큰따옴표 대신 작은따옴표를 사용하는 등 잘못된 문자를 사용했을 수도 있습니다. (이 외에도 여러 가지 오류가 발생할 수 있습니다.)

아쉽게도 Imatest는 구문 분석 오류에 대한 메시지를 표시하는 데 그다지 도움이 되지 못하는데, 오류 유형이 너무 다양하기 때문입니다. 쉼표 누락이나 배열 닫는 괄호 누락과 같은 일부 문제는 의미 있게 표시할 수 있습니다.

하지만 때로는 "X 위치에 값이 필요합니다"라는 메시지와 함께 누락된 값의 컨텍스트 일부가 표시될 수 있습니다. 이러한 메시지를 활용하여 JSON 구조 오류를 찾는 것은 사용자의 책임입니다. JSON Lint 와 같은 온라인 도구가 이러한 경우에 더 유용한 정보를 제공할 수 있습니다.

샘플 영역 감지

차트 정의 유틸리티 창의 아래쪽 창에서는 차트 정의 파일에 정의된 피처와 실제 차트 이미지의 정렬 상태를 확인할 수 있습니다.

이 패널은 이미지를 분석 모듈에 직접 입력하는 대신, 특정 이미지가 Imatest의 자동 등록 기능을 통과하는지 여부를 테스트하는 데에도 매우 유용합니다. 자동 감지가 실패하면 경고 창이 나타납니다.

이 창에서 이미지 파일이 선택되고 상단 창에 유효한 차트 정의 파일이 로드되면 차트가 이미지에 자동으로 정렬됩니다(가능한 경우).

사용자는 제공된 정의 파일을 사용하여 이미지에서 감지된 ROI를 확인할 수 있는 여러 그래픽 가이드를 선택할 수 있습니다.

(왼쪽 상단) 차트 특징이 강조 표시됨. (오른쪽 상단) 분석 ROI가 강조 표시됨. (왼쪽 하단) 균일성 그리드 영역. (오른쪽 하단) 차트 배경 영역이 강조 표시됨.

녹색 상자로 표시된 ROI는 임의 차트 모듈의 분석 루틴에서 사용될 영역을 나타냅니다. 예를 들어, 다양한 특징 유형에 대한 채우기 비율 INI 필드 설정 ( 예 : [arbcharts] roiFillFactor_edge )을 변경하여 특정 이미지에서 생성된 ROI에 어떤 영향을 미치는지 확인할 수 있습니다.

차트 배경 영역을 나타내기 위해 파란색으로 표시된 픽셀은 차트 경계 내에 있지만 차트 피처 또는 KeepoutArea 영역 내에는 없는 픽셀입니다. 픽셀이 이러한 영역(경계, 피처 또는 Keepout) 중 하나에서 떨어져 있어야 하는 여백의 크기는 INI 필드 [arbcharts] backgroundMargin 에 의해 결정됩니다.

균일도 격자 위치는 해당 영역에 측정에 필요한 유효한 차트 배경 픽셀이 충분하면 녹색으로, 충분하지 않으면 빨간색으로 강조 표시됩니다. 빨간색 영역은 출력 결과에서 NaN 값을 반환합니다. 격자 섹션 수는 [arbcharts] nRowsGrid 및 nColumnsGrid 로 제어되며, 영역에 필요한 유효 픽셀 수는 [arbcharts] minValidPxGrid 로 제어됩니다.

기능 개요 vs 투자 수익률 개요

이 유틸리티는 차트 특징 과 해당 특징에서 생성된 ROI 간의 차이점을 보여줍니다. 예를 들어, 실제 이미지에서 감지된 SlantedSquareFeature는 해당 특징에서 생성된 네 개의 경사진 모서리 ROI와는 상당히 다릅니다.