任意圖表定義

基本介紹

在 Imatest 的任意圖表模組能夠分析測試圖表(可能是您自己設計的圖表)的圖像之前,它需要確切地知道圖表的設計是什麼。

這需要圖表特徵的相關資訊(圖表上除背景色以外的元素,例如色塊、傾斜方塊、定位標記等)。所需資訊包括佈局參數(以便正確定位特徵)以及由此產生的興趣區域 (ROI);在某些情況下,還需要特徵的參考值信息,例如色塊的真實 LAB 或 RGB 值。

圖表定義以 JSON 格式的文字檔案形式存在,用於描述圖表的屬性和功能。這些文件可以手動創建,也可以透過使用者自訂的自動化流程建立(如果您願意的話)。

根據我們目前的經驗,流程如下:

圖表定義公用程式可以透過檢查使用者 JSON 檔案的正確性、顯示 JSON 定義的圖表的插圖以及顯示來自圖表真實圖像的範例 ROI 來幫助完成此過程。

範例 JSON 文件

如果您已安裝 Imatest 5.0 或更高版本,則您的系統中已安裝了一些範例圖表定義檔。這些檔案位於資源目錄的 chart_design子目錄中,該目錄與預設的 Imatest INI 資料夾位於相同位置。

在系統中尋找此資料夾位置的最簡單方法是在 Imatest 主視窗的「檔案」下拉清單中選擇「開啟 INI 檔案資料夾」條目。

JSON 設定

要分析圖表,Imatest 需要對該圖表進行定義。以下內容描述了 Imatest 分析該圖表觀測影像所需的必要資訊。


任一圖表定義如下:

  • 一個矩形場,其歸一化 (x,y) 座標為 0-1。
  • 左上角的原點(“圖像樣式”)。
  • 設定背景顏色。
  • 識別名稱(例如,“SFR Plus 5x7”)。
  • 從下面的資料集中選取一組待分析的特徵。




JSON 定義檔需要一個欄位來定義圖表的每個屬性,例如背景顏色、編碼和寬度高比。此欄位也定義了一個繪製在圖表上的要素數組。每個圖表要素都以 JSON 物件的形式列出,並包含一組用於定義其屬性的必要欄位。以下是正確的 JSON 結構範例:

任意圖表定義

JSON 結構

通用圖表屬性

  • 任意圖表的整個寬度和高度被解釋為均勻性分析的背景區域,但不包括指定為特徵或禁入區域的區域。
  • 除非明確標記為“(可選)”,否則所有欄位均為必填項。功能定義中可以包含其他字段,但這些字段將被忽略。
  • 對於 JSON 數字類型,小於 1 的小數必須以零開頭,例如 0.25,而不是 .25。

欄位名稱

JSON 值類型描述
背景編碼細繩有效的編碼類型字串
bgValue數位數組有效的編碼值取決於「編碼」欄位的輸入。
姓名細繩圖表名稱,例如“SFRplus_5x7” 注意:圖表名稱必須僅由字母數字字元或底線組成(不能有空格),因為它們將作為結果檔案名稱的基礎。
寬高比數位總寬度除以總高度,例如 1.750。 *注意,此數字無單位。

特徵

定義背景區域後,即可在圖表上放置特徵。可以使用測試圖表模組產生圖表特徵。以下是任意圖表可以分析的一組允許的特徵。

共享功能屬性

  • 每種要素類型都有自己的一組索引,這些索引必須從值 1 開始。
  • 假定每個特徵的旋轉是在放置和調整大小之後應用的。
  • 以下屬性是所有任意要素類型共有的:

欄位名稱

JSON 值類型描述
特徵類型細繩指示要素類型;例如,“傾斜方形要素”
中心包含 2 個數字的數組特徵中心在歸一化座標系中的位置 [x,y]
印度數位特徵的整數標識索引。 *注意,每個特徵族的索引均從 1 開始。
高度數位歸一化 y 維度的高度範圍為 0-1
寬度數位歸一化 x 尺寸的寬度範圍為 0-1
旋轉數位(可選)旋轉角度 - 順時針

“傾斜方形特徵”


欄位名稱JSON 值類型描述
特徵類型細繩“傾斜方形特徵”
編碼細繩有效的編碼類型字串
價值數位數組有效的編碼值取決於「編碼」欄位的輸入。

“斜邊特徵”



欄位名稱JSON 值類型描述
特徵類型細繩“斜邊特徵”
編碼細繩有效的編碼類型字串
darkValue數位數組有效的編碼值取決於「編碼」欄位的輸入。
光值數位數組有效的編碼值取決於「編碼」欄位的輸入。
傾斜角數位傾斜角度(以度為單位,順時針方向,從水平面開始)

“RegMarkFeature”




注意:互相關紋理圖案角落的註冊標記計入 RandomFieldFeature 的一部分,而非註冊標記本身。它們不應單獨列出,也不應計入 RegMarkFeature 的索引。

欄位名稱JSON 值類型描述
特徵類型細繩“RegMarkFeature”

“圓形特徵”




在 Imatest 5.1 中引入。

注意:圓形特徵用於舊版目標的圖表配準,且僅用於配準(不進行結果分析)。建議盡可能使用標記特徵。圓形特徵預設為黑色,位於較淺的背景上。

欄位名稱JSON 值類型描述
特徵類型細繩“圓形特徵”

“ColorPatchFeature”




注意:當可選參數「useForNoisePSD」設定為 true 時,將計算雜訊功率譜密度 (PSD) 以進行紋理直接分析。通常,會使用反射率為 18% 的中性灰色塊。否則,預設情況下可以將其設為 false。

欄位名稱JSON 值類型描述
特徵類型細繩“ColorPatchFeature”
編碼細繩有效的編碼類型字串
價值數位數組有效的編碼值取決於「編碼」欄位的輸入。
useForNoisePSD布林值(可選)用於指示是否直接進行噪音 PSD 減法的標誌,例如 true、false

“隨機場特徵”





筆記:

  • 互相關紋理圖案角點的註冊標記屬於 RandomFieldFeature 的一部分,而非註冊標記本身。它們不應單獨列出,也不應計入 RegMarkFeature 的索引。可以使用測試圖表模組產生隨機圖案。
  • 為了執行隨機直接分析,需要在圖表定義中識別一個灰階色塊,以便計算雜訊功率譜密度 (PSD),並從隨機訊號 PSD 中減去該色塊,這可以透過「useForNoisePSD」欄位完成。
欄位名稱JSON 值類型描述
特徵類型細繩“隨機場特徵”
隨機類型細繩隨機場設計,例如“Direct_gray”、“Direct_color”、“Cross_gray”、“Cross_color”、“DXO_direct_gray”、“IE_cross_color”

“明星特輯”





JSON 值類型描述
特徵類型細繩“明星特輯”
中心標記分數數位中心定位標記直徑佔整個星形特徵直徑的比例。該值必須大於零且小於 1。

注意事項:


“楔形特徵”





欄位名稱JSON 值類型描述
特徵類型細繩“楔形特徵”

備註:

“禁入區域”

欄位名稱JSON 值類型描述
特徵類型細繩“禁入區域”

註:禁入區域是指圖表中可能包含其他圖形特徵的區域,這些特徵未被本頁其他圖表特徵定義用於分析,但係統需要識別這些區域,以避免錯誤地將該區域用於背景區域的均勻性分析。這包括圖形、文字、邊框標記等不應包含在均勻性分析中的元素。禁入區域的中心、寬度和高度的定義方式與其他任意圖表特徵相同。

禁入區域可以與其他已定義的圖表特徵重疊,而不會產生負面影響。

筆記

圖表登記點

「任意圖表」模組至少需要三個(最好是四個)配準點才能將圖表設計與圖表圖像對齊。這些配準點可以來自以下任意組合:

  • RegMarkFeatures 貢獻一個註冊點。
  • CircleFeatures 貢獻一個註冊點。
  • RandomFieldFeatures 可能貢獻兩個或四個(或零個)註冊點,具體取決於類型。

顏色編碼

許多圖表功能需要在其定義中輸入顏色值,包括 ColorPatchFeatures、SlantedSquareFeatures 和圖表背景本身。

參考顏色值可以透過一個值(通常是一個長度為 3 的數字向量)和一個字串的組合來表示,該字串指示一種編碼方式,用於定義如何解釋這些數字。下表列出了允許的編碼類型及其對應的值。

編碼編碼字串值描述
標準 RGB 色彩空間"srgb", "adobe_rgb"輸入內容應為長度為 3 的 [r, g, b] 值數值數組,縮放為這些顏色空間的標準 8 位表示(即 [0, 255] 範圍內的值,伽馬編碼)。
CIELAB “實驗室”輸入內容應為長度為 3 的數值數組,包含 [L*, a*, b*] 值(D50 白點)。 L* 值必須限制在 [0, 100] 範圍內。
強度值“密度”、“強度”、“8位強度”、“16位強度”強度值以歸一化後的最大值 1 為基準。 「intensity」輸入值已歸一化,範圍應在 [0, 1] 之間。 「intensity_8bit」和「intensity_16bit」分別以最大值 255 和 2^16-1 為基準進行歸一化。 「density」值是 10^(-density) 方案的指數值。所有值輸入都應為單一數值。

評論

遺憾的是,JSON 檔案不允許在檔案中加入會被解析器忽略的註解。如果您正在編寫 JSON 文件,並希望添加註釋以供將來用戶參考,則不能簡單地使用轉義字元(例如“%”或“//”),這些字元在大多數程式語言中都很常見。

但是,如果您需要對 JSON 檔案進行註釋,您可以向文件中的任何物件添加額外的字段,例如名為“comment”並帶有字串值的字段。 Imatest 只會檢查圖表定義中的必填欄位-任何額外的欄位都會被忽略。

設計與印刷

大多數情況下,圖表定義與佈局和媒體都密切相關。在將任意圖表設計成向量圖形(通常在Inkscape或AdAdobe Illustrator中完成)後,需要考慮特定的承印物和印刷介質(例如,反射介質和透射介質需要兩個不同的 .json 文件,因為色塊的值會有所不同)。測試圖表模組可用於產生一些向量圖形,這些圖形可用於組合自訂圖表。

與所有測試圖表一樣,請務必考慮成像距離和最低列印解析度。 Imatest 提供各種材質和尺寸的專業列印服務。如需客製化圖表設計,請聯絡[email protected] 。如有需要,我們也提供圖表定義檔建立的諮詢服務。