Simulation

VisualApplets 提供了強大且具功能性的模擬功能來模擬設計。 您可以使用模擬來對已實作的影像處理演算法進行首次測試與 驗證。您可以在編輯設計後直接啟動模擬, 而不需要建置 *.hap 檔案。

VisualApplets 中的模擬是功能性的,亦即它會模擬 hardware 實作的行為。相較於低階模擬,這使得它的速度非常快。功能性模擬的一個 副作用是未考慮時序。運算子的模擬行為與 真實硬體上最終 applet 的影像處理有 100% 的相同。

為了在 VisualApplets 中模擬設計的行為,提供了兩種模擬元素:

  • 模擬來源,以及

  • 模擬探針。

模擬來源用於資料輸入。您可以將一個影像或整個影像 序列載入至模擬來源(從影像檔案)。您可以在設計中的任何連結放置一個模擬來源或 一個模擬探針。因此,沿著這些連結的資料傳輸會被 連接的來源模組覆寫,或由各自的探針模組檢查。

[注意] 注意

某些運算子也可以作為影像來源;例如運算子 CreateBlankImage。

您可以將模擬探針產生的影像儲存至影像檔案中。

由於視覺化最佳化,VisualApplets 模擬是以 2D 影像為基礎。

儘管如此,即使模擬來源所連接的連結是 0D (像素串流)、1D (行串流) 或 2D (影格串流),您仍然可以進行模擬,只要 模擬來源包含至少一個 2D 影像 (請參閱 'Image Protocols, Image Dimensions and Data Structure')。

限制

模擬具有下列限制:

  • 無法模擬 SIGNAL 影像協定。這是因為 SIGNAL 影像協定的模擬會模擬設計的功能, 但不會模擬時序。然而,若要模擬 SIGNAL 影像 協定,則也有必要模擬時序。

  • 0D 影像協定的模擬僅限於剛好一個模擬步驟。 這是因為在模擬中,來源的所有像素資料都會聚集到單一 2D 影格。不過,其餘設計可以模擬後續步驟,但產生 0D 內容的運算子在第一個步驟期間只會發射資料一次。

  • 運算子 PseudoRandomNumberGen 在模擬中傳回的 結果與硬體上不同。這是因為該運算子是非決定性的。 此例外狀況也在 Operator Reference 中說明。

  • 運算子 Blob Analysis 1D 在模擬中傳回的 結果與硬體上不同。這是因為該運算子具有 FlushI 連接埠,但由於 flush 與影像資料非同步,因此無法模擬出與 硬體相同的行為。 此例外狀況也在 Operator Reference 中說明。

支援的影像格式

VisualApplets 中的模擬支援下列影像格式,適用於來源影像以及儲存輸出 影像:

點陣圖 (Bitmap)

BMP 1 位元黑/白 (列長度必須是 8 的倍數)

BMP 8 位元灰階

BMP 24 位元 (R8 G8 B8) sRGB 色彩空間

儲存 BMP 檔案時不支援 RLE 壓縮。

TIFF (Tagged Image File Format)/TIF

TIFF 1 位元黑/白 (列長度必須是 8 的倍數)

TIFF 8 位元灰階

TIFF 24 位元色彩 sRGB 色彩空間

TIFF 48 位元色彩 sRRB 色彩空間

壓縮:無、LZW、ZIP/Deflate 或 JPEG

JPEG/JPG
PNG

此外, .raw 為模擬探棒暫時產生的檔案可以載入至模擬來源中。

模擬工作流程

在設計中模擬影像資料處理包含下列步驟:

  1. 將您需要的模擬來源與探棒插入設計中。

  2. 將您要用於模擬的影像檔案載入至模擬來源中。

  3. 透過像素合併與像素對齊等參數最佳化您的影像輸入。

  4. 在主模擬視窗中設定模擬的處理循環次數並開始模擬。

  5. 評估模擬結果。

  6. 儲存模擬結果。

以下章節將詳細說明這些步驟。

在您的設計中插入 Sources 與 Probes

若要準備模擬,您必須先將模擬來源與探棒插入設計中:

  1. 從主選單中選取 Analysis → New Simulation Source / New Simulation Probe,或使用工具列中的對應圖示將來源與探棒插入目前的設計視窗中。

建立新的模擬來源與探棒

圖 85. 建立新的模擬來源與探棒


模擬來源與模擬探棒皆顯示為帶有磁性錨點的小型影像框架:

模擬來源為灰色影像框架,模擬探棒為綠色影像框架

圖 86. 模擬來源為灰色影像框架,模擬探棒為綠色影像框架


  1. 使用錨點將來源或探棒連接至設計中的連結。您可以輕鬆分辨模擬來源與模擬探棒,因為來源為灰色,探棒為綠色。

  2. 使用拖放功能來定位您的來源與探棒。

  3. 使用拖放功能將您的來源與探棒連接至設計中的連結。如果錨點圖示變為藍色,表示連接有效。

[注意] 將模擬來源與探棒連接至傳輸 Kernel 或訊號的連結

您可以將模擬來源連接至傳輸 Kernel 的連結,但模擬來源每個 Kernel 必須剛好提供一個輸入影像。您可以將模擬探棒連接至傳輸訊號的連結,但此模擬探棒將不會提供任何資料。

將影像檔案載入至您的 Simulation Source(s)

The Simulation Source Viewer

在 Simulation Source Viewer 中,您可以載入 Test Images 或測試影像序列並使其可用於模擬。

首先,讓我們快速瀏覽一下 Simulation Source Viewer。

  1. 若要開啟 Simulation Source Viewer,請按兩下設計中的來源。

Simulation Source Viewer 將會開啟:

Simulation Source Viewer

圖 87. Simulation Source Viewer


在功能表下方直接即可看到工具列。工具列上的圖示提供下列選項(由左至右):

  • 用於開啟與儲存影像檔案的檔案工具列。

  • 檢視工具列提供影像顯示的不同選項。這些選項與「檢視 (View)」功能表的前幾個選項相同:

    檢視選項

    圖 88. 檢視選項


  • 用於瀏覽影像序列的箭號。

  • 顯示主檢視器視窗(與放大鏡)顯示面板中目前可見影像的詳細資訊:顯示載入至模擬器的影像序列中的影像位置,以及影像檔案的路徑

在左側,您會看到包含兩個標籤頁的設定面板:

Image File – Mapping

您可以在此調整模擬設定,例如輸入像素合併的值,或定義像素對齊的位移。

顯示屬性

您可以在此定義在自己的螢幕上顯示 Test Images 的設定。由於螢幕一律使用 8 位元色彩顯示,有時您必須決定要在螢幕上看到像素的哪一部分,以便評估您的 Test Images。您在 Display Properties 下定義的任何設定都不會影響模擬或其結果。

此外,您還可以在此列出所選像素的色彩值以及顯示值。顯示值是用於在使用者螢幕上顯示的對應值。

像素值

圖 89. 像素值


在右側,您會看到顯示目前所選影像的顯示面板。

您可以使用工具列中的對應圖示,或是使用 CTRL+MouseWheelUp 放大以及 CTRL+MouseWheelDown 縮小,來放大和縮小顯示面板中所顯示的影像。

如果您選擇非常高的縮放係數,將會顯示像素網格以利更好地定位,並且會顯示每個像素的十六進位/十進位值。

在模擬檢視器的底部,還有另一個面板:這是 Sequence viewer。如果您在來源中使用多個影像,您可以在此檢視影像序列的所有影像、變更序列的影像順序,或選取要在顯示面板和放大鏡中顯示的影像。

Magnifier 實際上是 Source Viewer 的第二個視窗,您可以透過拖放操作輕鬆將其從主要的 Source Viewer 視窗中分離出來。Magnifier 永遠顯示與主 Source Viewer 顯示面板中相同的影像。其指標永遠位於 Magnifier 視窗的中心,並精確定位在您於顯示面板中所指向的像素上。Magnifier 視窗的一大優點是,您可以使用完全不同的縮放係數來顯示影像的選取部分:

在放大鏡中縮放

圖 90:放大鏡檢視畫面放大


如果要變更 Magnifier 的縮放比例:

  1. 啟動 Tools → Magnifier 視窗。

  2. 使用 CTRL+MouseWheelUp 放大,並使用 CTRL+MouseWheelDown 縮小。

如果選擇非常高的縮放比例,系統會顯示像素網格以便於辨識。

將影像載入至 Source

若要將 Test Images 或測試影像序列載入至來源:

  1. 在設計中的來源上按兩下,以開啟 Simulation Source Viewer。

  2. 從 Simulation Source Viewer 的主選單中,選取 File → Open,或按一下工具列中的對應圖示。在隨後出現的對話方塊中,選取模擬輸入影像檔案並按一下 Open。

[注意] 注意

您可以在下列路徑的 VisualApplets 安裝資料夾中找到一些實用的 Test Images: \Testimages.

[提示] 提示

或者,您也可以直接將影像檔案從 Windows Explorer 拖放至檢視器中,或是從 Windows Explorer 拖放到圖表中的來源上。

輸入影像現在會顯示於 Simulation Source Viewer 中。

關閉 Simulation Source Viewer 後,您會在對應來源的預覽框架中看到該影像的縮圖:

來源中的縮圖顯示

圖 91:來源中的縮圖顯示


只要將來源連接至連結,來源就會採用該連結的參數設定(例如最大影像尺寸、Bit Width 和 Color Format)。如果您載入的影像大於連結的最大影像尺寸,影像上就會顯示一個綠色矩形,框住將用於模擬的影像部分:

用於模擬的醒目提示影像區域

圖 92:用於模擬的醒目提示影像區域


[注意] 轉換您的影像

無法在單通道灰階連結上載入彩色圖片,反之亦然。如果您的測試影像不符合來源所連接之連結的屬性,您就需要轉換影像。請使用提供必要功能以轉換測試影像的任何影像處理程式。請使用 VisualApplets 支援的影像格式。如需支援的影像格式的相關資訊,請參閱 'Supported Image Formats'。

將影像序列載入至您的模擬來源

只要將新影像載入來源,該影像就會顯示在 Simulation Source Viewer 的顯示面板中,並新增至來源的影像序列中。您可以在位於 Simulation Source Viewer 底部的 Sequence Viewer 中檢視影像序列中的所有影像。

只有顯示在顯示通道中的所選影像會儲存於電腦的 RAM 中。序列中的其他影像會在必要時載入 RAM 中。因此,將長影像序列載入來源幾乎不會對 RAM 使用量造成影響。

如果您載入影像序列,可以在載入後變更影像的順序。在 Sequence Viewer 中,使用拖放功能將影像放置到您希望它在序列中呈現的位置。

您可以輕鬆刪除序列中的一個或多個影像:

  1. 按住 CTRL 並選取您要刪除的影像。

  2. 按 DEL 或從選單中選擇 Edit → Remove Selected。

在 Sequence Viewer 中,sim[x] 表示在下一個模擬步驟中要進行模擬的影像。您可以在 Simulation 對話方塊中按一下 Reset 按鈕,將 sim[x] 重設為序列的第一張影像。如果您想深入了解模擬步驟與重設的相關資訊,請參閱 'Setting the Number of Processing Cycles and Starting the Simulation'。模擬順序不受顯示面板中目前顯示的影像影響。

sim[x] 表示序列中要模擬的影像

圖 93. sim[x] 表示序列中要模擬的影像


如果您透過對應變更影像屬性(請參閱 'Image File Mapping '),縮圖不會自動重新整理。根據預設,Sequence Viewer 會顯示原始影像的縮圖。

您有兩種方式可調整縮圖顯示。請從選單中選擇

  • View → Mapped Thumbs 以預覽套用目前的模擬對應設定後影像的外觀,或者

  • View → Refresh 以顯示反映您影像目前外觀的縮圖。

透過參數最佳化您的影像輸入

您現在可以透過參數最佳化影像輸入。所有參數都會顯示在 Simulation Source Viewer 中。

像素值

顯示面板中的每個像素實際上會顯示兩個十字游標。如果您看不到這兩個十字游標,請放大顯示面板中的圖片:

顯示視窗與放大鏡中的十字游標

圖 94. 顯示視窗與放大鏡中的十字游標


白色/黑色十字游標顯示滑鼠游標的位置。

彩色游標則位於滑鼠游標所指向的像素中心。此十字游標也會精確顯示在 Magnifier 的相同像素上。

在設定面板索引標籤 Display Properties 中會顯示對應的像素值:

像素值

圖 95. 像素值


您可以選擇要以無號十進位、有號十進位或十六進位數字檢視像素值。

Display 顯示您畫面上顯示的值。如果載入來源的是 16 位元或 48 位元影像,此或這些值可能會與實際的色彩值(或灰階值)不同,因為螢幕上每個色彩色頻只能顯示 8 位元。

Image Dimension

在 Simulation Source Viewer 索引標籤 Image File – Mapping 中,您會找到一個表格,左側為目前影像(從檔案載入時)的影像尺寸,右側為連結的影像尺寸:

影像尺寸

圖 96. 影像尺寸


欄位 Merged Pixels 說明於 'Pixel Spitting and Merging'。

如果影像檔案的尺寸小於連結的尺寸,影像將以 1:1 的比例傳輸至連結上。

如果影像檔案的尺寸超過連結的尺寸,則只會使用圖片的一部分進行模擬。您可以在顯示面板的綠色矩形中看到將用於模擬的圖片部分。此外,對應的值也會以黃色突顯顯示:

超過的影像尺寸

圖 97. 超出範圍的影像尺寸


[提示] 提示

如果您在顯示畫面中看不到綠色矩形,請將檢視選項設定為 View → Fit to Window。

影像檔案對應

在 Simulation Source Viewer 標籤頁的 Image File – Mapping 中,您還可以找到有關測試影像(檔案)的 bit width 以及來源所連接的連結 bit width 的資訊:

影像與連結的 Bit Width

圖 98. 影像與連結的 Bit Width


欄位 Merged Pixels 說明於 'Pixel Spitting and Merging'。

如果您要載入 bit width 高於連結的影像,您可以選擇要將影像中的哪些位元用於模擬。您可以使用滑桿進行選擇:

定義要使用的影像位元偏移量

圖 99. 定義要使用的影像位元偏移量


選擇滑桿的 bit width 與連結的 bit width 相同。使用滑桿,您可以為偏移量定義新的位置。偏移量是您在影像 bit width 上進行位元選擇的起點。根據這些設定,Simulation Source Viewer 會立即計算出修改後的影像並將其顯示在顯示面板中。在上方的螢幕截圖中,已從 8-bit 影像的 8 個位元中選擇了高位的 4 個位元。因此,用於模擬的測試影像將只有 16 個灰階值,而不是 256 個。

[注意] 在 Simulation Source Viewer 中視覺化修改後的測試影像

由於 PC 螢幕上的顯示是基於每個像素 8-bit 的資訊,因此只有 16 個灰階值的影像無法正確顯示。因此,為了在螢幕上進行視覺化,測試影像的 16 個灰階值會對應到 8-bit 螢幕顯示的 256 個灰階值。這種對應不會改變顯示的灰階色調數量(16),但會增強它們之間的對比度(0 = 黑色,15 = 白色)。

4-bit 影像的顯示屬性

圖 100. 4-bit 影像的顯示屬性


相反地,如果您載入的影像其 bit width 小於其載入的連結(即來源模組連接到的連結),您可以使用標籤頁 Image File – Mapping 中的同一個滑桿,來定義影像位元相對於連結 bit width 的偏移量。連結的剩餘位元將設為 NULL。

下圖顯示了一個範例,其中 8-bit 灰階影像已載入到 bit width 為 12 bit 的連結上:

定義要使用的連結位元偏移量

圖 101. 定義要使用的連結位元偏移量


顯示對齊

您可以透過顯示對齊方式,為在 Simulation Source Viewer 中視覺化修改後的測試影像定義一些設定:

如果連結的 bit width 大於 8 bit,您必須定義要在顯示面板中顯示連結 bit width 中的哪 8 個位元。由於 PC 螢幕上的顯示每個顏色通道限於 8 bit,因此無法顯示更高的 bit width。

在 Simulation Source Viewer 標籤頁的 Display properties 中,您可以定義要將連結位元中的哪 8 個位元顯示在顯示面板中。使用滑桿選擇可顯示之 8 個位元的偏移量。此顯示對齊設定對模擬沒有影響。

在以下範例中,連結的 bit width 為 12 bit。透過滑桿,您可以決定要顯示 12 個位元中的哪幾個位元。

顯示對齊

圖 102. 顯示對齊


像素分割與合併

當 BMP 檔案格式允許像素的每個顏色通道最多 8 bit。此 TIFF 格式允許每個顏色通道最多 16 bit。更高的 bit width 無法簡單地儲存在標準影像檔案格式中。

VisualApplets 提供了像素分割的功能,以克服這些限制。

若要將具有高像素 Bit Width 的影像儲存為標準影像檔案格式,每個像素都會分割成多個影像檔案像素。因此,每個色道最多可儲存 64 bit 的 BMP 或 TIFF 檔案格式(例如 8 x 8-bit 像素)。這些影像可以在一般影像檢視器或影像處理程式中檢視。當然,由 VisualApplets 所產生的像素分割影像會以水平展開的方式顯示。因此,在 VisualApplets 中,像素分割僅僅是用於儲存高 Bit Width(色深)影像的選項。

若要將已儲存為 BMP 或 TIFF 檔案且具有高 Bit Width 的影像載入至您的模擬來源,您必須將共用同一個原始像素色彩資訊的相鄰像素合併回一個像素。因此,模擬來源檢視器可以合併像素分割影像以進行正確的對應。分割作業可以在 模擬探針檢視器 (請參閱 「評估模擬結果」)中完成。您可以在 Simulation Source Viewer 標籤頁中 Image File – Mapping:

Pixel Merge

圖 103. Pixel Merge


在以下範例中,已將一個 2048x1024 BMP 檔案(Bit Width [色深] 為 8 bit)載入至來源。它將被解讀為 16 bit 的 1024x1024 影像。

如果您在 Merge N pixel into 1 pixel 欄位中輸入 2,來源中影像的 Bit Width 將從每個色道 8 bit 變更為 16 bit,而來源中影像的列長度將縮短一半,從 2048 像素變更為 1024 像素。

合併前:

Merging Factor = 1, Image Properties Do Not Fit Link Properties

圖 104. Merging Factor = 1, Image Properties Do Not Fit Link Properties


合併後:

Merging Factor = 2, Properties of Merged Image Fit Link Properties

圖 105. Merging Factor = 2, Properties of Merged Image Fit Link Properties


設定處理週期數並啟動 Simulation

將測試影像或測試影像序列載入至您的來源並定義所有影像設定後,即可開始模擬。

[注意] 使用模擬探棒

請確保您已在所有想要檢查影像處理結果的位置插入(並連接)模擬探棒(請參閱 '將來源與探棒插入您的設計中')。

  1. 從主選單中,選取 Analysis → Start Simulation,或按一下工具列圖示 Start Simulation。 現在,VisualApplets 會自動觸發「設計規則檢查 1」(Design Rules Check 1)。

    Simulation 視窗隨即開啟:

    Simulation 視窗

    圖 106:Simulation 視窗


    上方窗格會列出目前在設計中作用中的所有 simulation 來源和 simulation 探棒。 此清單僅供參考。

    在視窗的下方窗格中,您可以看到「設計規則檢查 1」(Design Rules Check 1) 的結果。

    您可以使用下拉式清單方塊來變更清單的顯示方式:

    • Simulation Sources 與 Simulation Probes 僅會顯示您已設定 進行 simulation 的來源與探棒。

    • All Sources 與 All Probes 會顯示您設計中的所有資料來源與資料目的地。

    變更來源與探棒顯示方式

    圖 107:變更來源與探棒顯示方式


[注意] 錯誤與警告的影響

唯有在「設計規則檢查 1」(Design Rules Check 1) 期間未偵測到錯誤時,才能啟動 simulation。 「設計規則檢查 1」所產生的警告並不會妨礙 simulation 的啟動。

[注意] 注意

無法針對 simulation 選取單一運算子。 Simulation 永遠會執行設計中的所有運算子。

如果主 simulation 視窗中的清單顯示標有黃色警告三角形的 simulation 來源或探棒, 則表示該來源/探棒未連接至設計的連線,且會在 simulation 期間被忽略。

未連接的 Simulation 模組

圖 108:未連接的 Simulation 模組


[注意] 注意

相機運算子在 simulation 期間不會發出資料。 必須將 simulation 來源連接至輸出連線,才能為 simulation 提供資料。

在 Processing Cycle 欄位中,您可以指定要程式執行多少個處理週期。

您也可以透過 System Settings 功能表來設定 simulation 與處理週期: Settings → System Settings → Simulation:

Simulation 設定

圖 109:Simulation 設定


清除 Simulate data flow synchronization: 設計中的每個來源(例如 simulation 來源以及諸如 CreateBlankImage 或 CoefficientBuffer 等運算子)每週期會發出一組資料。 當沒有更多資料要處理或傳輸時,週期即告結束。 簡化的資料管理允許運算子偏離硬體中對應實體的行為。 這意味著運算子可能不會將傳入資料儲存在輸入連接埠內,而是實作不切實際的大型內部緩衝區。

選取 Simulate data flow synchronization: 整個設計會從來源到槽 (sink) 每個週期進行一次 simulation。 重點在於相依性的精確建模與準確的資料管理。 允許來源每個週期提供一或多組資料。 如果先前產生的資料仍需處理,simulation 可能會阻止來源發出資料。 因此,運算子會將傳入資料保留在其輸入連接埠內,直到資料處理需要收集它們為止。 只要有效資料儲存在傳入連接埠中,就會阻止上游運算子產生資料。 這會造成擁塞,相當於硬體中的禁止 (inhibit) 概念,並允許偵測死結 (deadlock)。

Simulate 1D line by line: 可以將多個 1D 資料行聚合為一個 2D 個畫面,並像任何其他 2D 資料一樣進行 simulation,藉此處理 1D 資料。 這既快速又穩健,但會將 simulation 限制為剛好一個 simulation 週期。 如果您選取 Simulate 1D line by line,則每一行都會個別處理, 因而允許進行多步驟 simulation(例如處理 1D 迴圈)。 此功能依賴資料流同步化,這表示唯有在選取 Simulate data flow synchronization 的情況下,您才能選取此選項。

[注意] 執行 Simulate 1D line by line 時模擬探針的行為

對於連接至 1D 連結的模擬探針,傳入的資料行會附加至模擬探針中的最後一個畫格。在每個處理週期之後,各自的資料行會完成處理並啟動新的畫格。當模擬對話方塊開啟時,Sequence Viewer 會被鎖定。

在 Simulation 檢視中選取所需的 Processing Cycles 數量後,按一下 Start 按鈕即可執行模擬。由於系統會保留所有作業的內部狀態,只要保持模擬對話方塊開啟,就可以從同一視窗連續執行多次模擬。對話方塊關閉後,所有運算子都會重設回其初始化狀態。

範例:特定的 AppendImage 運算子需要三個輸入影像來進行串接。已連接的來源每個處理週期提供一個影像。模擬執行兩個週期,連接至 AppendImage 輸出連結的模擬探針尚不會顯示任何資料,因為 AppendImage 仍缺少一個額外的影像才能開始處理。

第二個模擬步驟

圖 110. 第二個模擬步驟


在模擬對話方塊保持開啟的狀態下,您可以執行額外(第三個)模擬週期,這會在連接的模擬探針上提供資料。

第三個模擬步驟

圖 111. 第三個模擬步驟


如果在期間內關閉並重新開啟對話方塊,則額外的模擬週期將在初始化設計後執行,因此會為 AppendImage 提供所需三個影像中的第一個影像。

[注意] 來源模組內影像的處理順序

在新的處理週期中,永遠會處理載入至來源之影像序列中的下一個影像。當序列中的所有影像都處理完畢後,將會再次處理該序列的第一個影像。

如果只將一個影像載入至來源,則在每個處理週期中都會重複處理此影像。例如,如果您指定四個處理週期,則來源的該單一影像將會被處理最多四次。

根據您的設計而定,輸入至設計中的影像數量可能會與您作為輸出取得的影像數量不同,例如當您使用運算子 SplitImage 或 RemoveImage 時。因此,對於一個處理週期,您在探針中取得的結果影像數量可能會比設計中的來源模組數量更多或更少。另請參閱 VisualApplets Basics and Examples 中的 Multiple DMA Channel Designs 範例。

若要清除模擬並將其重設為啟動狀態,請使用 Reset 按鈕。

重設會產生以下效果:

  • 重設所有模擬來源中的影像序列,也就是說,新的模擬將會再次從序列的第一個影像開始。

  • 刪除所有探針的內容。

  • 將所有運算子重設回其啟動狀態(例如影像計數器、輸入連接埠中未收集的資料)。

現在,您已準備好開始模擬設計中所定義的資料處理。

  1. 按一下 Start 以開始模擬。

目前的模擬狀態會顯示在 Simulation 檢視下方的進度列中。警告與錯誤會顯示在 Log 面板中,您可以通过按一下 Show Details/Hide Details 按鈕來開啟或關閉該面板。一旦發生警告或錯誤,就會自動顯示 Log 面板。

[提示] 提示

如果您願意,可以在模擬期間保持模擬模組的檢視器視窗開啟。不過,這會使模擬速度變慢。

模擬成功

圖 112. 模擬成功


在模擬進行期間,模擬探測模組會填入產生的影像。模擬結果的縮圖會顯示在預覽影像影格中。開啟模擬探測的模擬檢視器視窗後,將會以完整大小顯示結果。

[注意] 自動重設模擬

當您變更設計時,模擬將會自動重設。重設時,所有模擬探測也會一併清除。

評估模擬結果

模擬完成後,您可以在探測中找到模擬結果。

[注意] 部分影像未顯示於探測中

當模擬探測包含非常大的影像時,VisualApplets 可能會因記憶體限制而無法正確顯示這些影像。在這種情況下,系統會顯示灰色影像(即所有像素的值皆為 205 (0xCD))。若發生此情況,請在模擬中使用較小的影像。

按兩下設計中的探測以開啟 Simulation Probe Viewer。

它看起來類似 Simulation Source Viewer(請參閱 'Loading the Image File(s) to your Simulation Source(s) '):設定通道位於左側,顯示通道位於右側,而 Sequence Viewer 則位於 Simulation Probe Viewer 視窗的底部。

在 Simulation Probe Viewer 中,您會看到顯示的模擬結果以進行初步評估。您可以透過像素對齊來變更顯示選項,並將影像儲存至檔案。儲存時有多種選項可用,例如像素分割。

您可以使用工具列中的對應圖示,或使用 CTRL+MouseWheelUp 放大以及 CTRL+MouseWheelDown 縮小,來放大和縮小顯示通道中顯示的影像。

如果您選擇非常高的縮放比例,系統會顯示像素網格以利更好地定位,並以文字呈現對應的像素值。

像素值

如同在 Simulation Source Viewer 中一樣,顯示面板中每個像素上都會顯示兩個十字游標。如果您看不到這兩個十字游標,請放大顯示面板中的圖片。白/黑色十字游標顯示滑鼠游標目前的位置,而彩色十字游標則位於滑鼠游標所指向的像素中心。此十字游標也會顯示在 Magnifier 的完全相同像素上。

在設定面板中,會顯示對應的像素值:

Pixel Values Probe

圖 113. Pixel Values Probe


您有不同的選項可調整所選像素的色彩值轉譯:

  • 您可以選擇是要將其顯示為十六進位數字,還是帶正負號或不帶正負號的十進位數字。

  • 您可以為定點數轉譯設定小數位數。

  • 此外,您可以定義一個 Scaling 因子,該因子會乘以這些值。這對於執行線性轉換(例如將輻射度轉換為度數)非常有用。

Display 顯示您螢幕上顯示的值。如果您的探測中包含 16 位元或 48 位元影像,此/這些值可能會與實際的色彩值(或灰階值)不同,因為螢幕上每個色彩頻道只能顯示 8 位元。

您可以選擇色彩對應,在 Display 中的值與影像視窗中顯示的色彩之間執行色調對應。處理帶正負號的影像資料,或在灰階呈現中包含的影像特徵難以辨識時,這特別有用。

如果模擬探測連接至傳輸核心 (kernels) 的連線,您可以在 Kernel 面板中的 kernel Row 和 kernel Column 微調方塊中選取個別的 kernel 影像。

Image Sequence

影像模擬完成後,會立即顯示在 Simulation Probe Viewer 中並新增至 Sequence Viewer。

您無法變更 Simulation Probe Viewer 中的影像順序。

不過,您可以刪除序列中的一或多個影像:

  1. 按住 CTRL 並選取您要刪除的影像。

  2. 按 DEL 或從選單中選擇 Edit → Remove Selected。

如果您透過對應來變更影像屬性(例如,當您將 16-bit 影像儲存於 BMP 檔案中時),縮圖將不會自動重新整理。根據預設, Sequence Viewer 會顯示原始模擬結果的縮圖。

變更列長度

VisualApplets 不僅限於處理和顯示列長均勻的矩形影像。它也可以顯示列長不同的影像。

VisualApplets 會按下述方式計算此類影像的影像大小:

[提示] 計算列長不均勻影像的影像大小

影像大小 = 最長列的像素數 * 列數

列長為 NULL 的列也會被計入。影像中未定義的區域會在顯示畫面中以藍色到青色的色彩漸層表示:

未定義影像區域的顯示

圖 114. 未定義影像區域的顯示


空白影像會以符號 Empty Image 顯示,且無法儲存。

空白影像符號

圖 115. 空白影像符號


顯示對齊

Simulation Probe Viewer 的顯示面板提供兩種顯示同一影像的方法:

  • 如果您啟用 Link View,影像的顯示外觀將與透過連結傳送至探針時相同。

  • 如果您啟用 File View,影像的顯示外觀將與使用目前設定儲存至檔案時相同。

由於螢幕一律使用每個色彩色階 8 bit,因此位元寬度更高或更低的影像無法直接顯示。

如果模擬結果的位元寬度大於 8 bit,您可以使用位移滑桿來選取您希望在顯示面板中顯示的 8 bit:

Link View

圖 116. Link View


在此範例中,選擇 16-bit 灰階的高 8 bit 進行顯示。

如果影像的位元寬度小於 8 bit,測試影像的灰階值會自動對應到 8-bit 螢幕顯示的 256 個灰階值。這種對應不會改變所顯示的灰階色階數量,但會增強它們之間的對比度。若無此對應,人眼可能完全無法看見影像。以 1-bit 影像為例:如果在顯示器上使用數值 0 和 1 且未進行對應,人眼會將兩者都解讀為黑色。在這種情況下,VisualApplets 的自動位元寬度對應會將 0 解讀為 0(黑色),並將 1 解讀為 255(白色)。

Line Profile

Line Profile 檢視畫面會顯示一條線的個別色彩值或灰階值。您可以透過 Tools 選單開啟 Line Profile。

有兩個輸出區域:

  • Overview:顯示整條線的個別色彩值或灰階值。

  • Detail:放大在 Overview 檢視中標記的區域。目前顯示在 Detail 檢視中的區域會在 Overview 檢視中以白色背景突顯。您可以使用 Detail 檢視下方的捲軸來移動顯示於 Detail 檢視中的區域。

Line Profile 檢視

圖 117:Line Profile 檢視


您可以使用 Line Index 數字方塊在影像中選取特定的線條,該線條隨即會在 Display 面板中標記出來。

對於彩色影像,您可以使用 R、G、B 與 Y 核取方塊來開啟或關閉個別的色彩通道。Y 代表亮度。此外,您可透過 Position X 數字方塊或青色標記來選取線條中的特定像素位置。若要使用青色標記,只需將滑鼠移至 Detail 檢視中即可。接著,這些數值就會顯示於 R、G、B 與 Y 中。

Line Histogram

Line Histogram 檢視是用來呈現影像中僅限選定線條的色彩值或灰階分佈情形。您可以透過 Tools 選單開啟 Line Histogram。

Line Histogram 檢視

圖 118:Line Histogram 檢視


直方圖檢視經過縮放,因此一律會涵蓋整個圖表的完整高度。

您可以使用 Line Index 數字方塊選取影像中的特定線條。如同在 Line Profile 檢視中一樣,該線條隨即會在 Display 面板中標記出來。

對於彩色影像,您可以使用 R、G、B 與 Y 核取方塊來開啟或關閉個別的色彩通道。Y 代表亮度。此外,您可透過 Value 數字方塊或青色標記來選取特定的色彩值。若要使用青色標記,請將滑鼠游標移至輸出檢視中。

對於較大的色深(例如 16 位元影像),數字方塊 Bin 會顯示以取代數字方塊 Value ,並且會在旁邊顯示 bin 範圍:

針對選定的 Value 或 Bin 編號,對應範圍內具有數值的像素數量會顯示於 Count 中。您可以手動在 Value 或 Bin 中輸入數字,或將滑鼠指向圖表來選取數字。

對於彩色影像,輸出會拆分為基本色彩值 RGB 與亮度值 Y。

顯示統計資料

Line Histogram 檢視也會顯示針對選定線條計算出的下列統計數值:

  • Mean 值

  • 標準差 (St. Dev.)

  • Minimal (Min.) 值

  • Maximum (Max.) 值

Image Histogram

Image Histogram 檢視是用來呈現影像中色彩值或灰階分佈情形。您可以透過 Tools 選單開啟 Image Histogram。

Image Histogram 檢視

圖 119. Image Histogram 檢視畫面


直方圖檢視經過縮放,因此一律會涵蓋整個圖表的完整高度。

對於彩色影像,您可以使用 R、G、B 與 Y 核取方塊來開啟或關閉個別的色彩通道。Y 代表亮度。此外,您可透過 Value 數字方塊或青色標記來選取特定的色彩值。若要使用青色標記,請將滑鼠游標移至輸出檢視中。

對於較大的色深(例如 16 位元影像),數字方塊 Bin 會顯示以取代數字方塊 Value ,並且會在旁邊顯示 bin 範圍:

針對選定的 Value 或 Bin 編號,對應範圍內具有數值的像素數量會顯示於 Count 中。您可以手動在 Value 或 Bin 中輸入數字,或將滑鼠指向圖表來選取數字。

對於彩色影像,輸出會拆分為基本色彩值 RGB 與亮度值 Y。

顯示統計資料

Image Histogram 檢視畫面亦會顯示針對所選影像計算出的下列統計值:

  • Mean 值

  • 標準差 (St. Dev.)

  • Minimal (Min.) 值

  • Maximum (Max.) 值

儲存模擬結果

您可以將模擬結果儲存為 TIFF/TIF、BMP、JPEG/JPG 及 PNG 影像檔案格式。TIFF 格式原生支援每個色彩色頻 8 位元與 16 位元,BMP 則僅支援每個色頻 8 位元。

實際將影像儲存為 TIFF/TIF 或 BMP 檔案之前,您應該在 Save Options 對話方塊中定義所有儲存設定。

  1. 若要開啟此對話方塊,請從 Simulation Probe Viewer 的主選單中選取 File → Save Options。隨後,Save Options 面板將會在 Simulation Probe Viewer 的右側開啟。

Save Options 對話方塊

圖 120. Save Options 對話方塊


在 Destination File Format 中,您可以定義要儲存影像的格式:

用於儲存的檔案格式選項

圖 121. 用於儲存的檔案格式選項


如果您想將 1 位元模擬結果儲存為 8 位元檔案格式,請勾選 Normalize gray values 方塊。在此情境中,Normalizing 是指將 0 對應至 0(黑色),並將 1 對應至 255(白色)。

像素對齊

如果影像的 Bit Width(即連接的 Bit Width)與您所選用於儲存的檔案格式 Bit Width 相同,您就可以 1:1 儲存影像。

如果影像的 Bit Width 小於檔案格式的 Bit Width,您可以使用滑桿變更像素對齊偏移量。如此一來,您就能將模擬結果的位元儲存在檔案格式(較大)像素內的特定位置。例如,將 TIFF 12 位元連接的位元儲存於 16 位元影像的最低 12 位元或最高 12 位元。

如果影像的 Bit Width 大於檔案格式的 Bit Width,您可以使用滑桿來選擇要將影像像素中的哪些位元儲存至檔案,以及哪些位元可以捨棄。

若要預覽即將儲存至檔案的(經裁剪的)影像:在 Simulation Probe Viewer 的主視窗中,將設定面板上方的選項按鈕設為 File View。

像素分割

如果您想使用 VisualApplets 的像素分割選項,您可以定義要將一個像素的色彩資訊分割為多少個像素(另請參閱 'Pixel Spitting and Merging')。

例如,如果您想將 16 位元模擬結果儲存至 8 位元 BMP 檔案中, Split 1 Pixel into 請設為 2 個像素。現在,該影像的 16 位元像素會被分割為兩個 8 位元像素。

在 Save Options 對話方塊中設定分割係數

圖 122. 在 Save Options 對話方塊中設定分割係數


透過分割,列長度會加倍、三倍等(取決於分割係數)。在我們的範例中,列長度會加倍。一般影像視覺化/處理程式可以顯示這些分割後的影像。但由於它們假設 Bit Width 為 8 位元,因此影像顯示會在水平方向上展開。

[注意] 分割影像的還原轉換

您可以在模擬來源中載入分割影像,並透過使用像素合併選項(請參閱 'Pixel Spitting and Merging')將其重新轉換為原本的 Bit Width。

儲存

[重要] 重要

從主功能表中選取 File → Save 時,將會套用您在 Save Options 對話方塊中定義的所有設定。

若要將您的模擬結果儲存至檔案,請按照以下步驟操作:

  1. 從主功能表中選取 File → Save。

  2. 定義儲存位置和檔案名稱。

  3. 按一下 Save。

[提示] 儲存影像序列

您也可以儲存整個影像序列。若要儲存影像序列,請在 Simulation Viewer 中選取所有您想要儲存的影像。若要這麼做,請按住 CTRL 並按一下影像。然後,從主功能表中選取 File → Save。儲存的影像將會自動編號。

常見問題集

Q: 我將彩色影像轉換為灰階影像,並嘗試將其載入至模擬來源。但是,VisualApplets拒絕將影像載入至單通道連結。請問問題出在哪裡?

A: 該影像仍然使用 3 個通道(飽和度為 0%)來保留色彩資訊。只需將您的影像轉換為單通道影像即可。

Q: 我的模擬探針在模擬後未包含任何結果。請問問題出在哪裡?

A: 您可能沒有模擬足夠的模擬週期。請增加週期數。此外,您的演算法可能不會產生任何輸出影像。請檢查運算子參考手冊中的各個運算子限制。此外,連接至訊號連結的模擬探針絕不會顯示輸出資料。

Q: 我的模擬探針被自動清除。為什麼?

A: 每次修改設計時,模擬探針可能會被清除。對於設計的小幅變更(例如移動模組或修改不影響目前連接埠的運算子內部參數),則不會發生這種情況。若是會改變設計拓撲的變更,或是透過連結傳播至已連接運算子的參數變更,則會使探針失效。