Simulation

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

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

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

  • 模擬來源,以及

  • 模擬探針。

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

[備註] 注意

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

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

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

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

限制

模擬具有下列限制:

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

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

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

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

支援的影像格式

VisualApplets 支援下列影像格式,可用於來源影像以及儲存輸出 影像:

點陣圖

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

Simulation Source 檢視器

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

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

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

Simulation Source Viewer 將會開啟:

Simulation Source Viewer

圖 87. Simulation Source Viewer


直接在選單下方可以找到工具列。工具列的圖示提供以下選項(由左至右):

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

  • 提供不同影像顯示選項的檢視工具列。這些選項與 View 選單的前幾個選項相同:

    Viewing Options

    圖 88. Viewing Options


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

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

在左側,您會看到含有兩個分頁的設定面板:

Image File – Mapping

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

Display Properties

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

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

Pixel Values

圖 89. Pixel Values


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

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

如果您選擇非常高的縮放倍率,系統會顯示像素網格以利識別方向,並會顯示每個像素的十六進位/十進位值。

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

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

Zooming in the Magnifier

圖 90. Zooming in the Magnifier


如果您想要變更 Magnifier 的縮放倍率:

  1. 啟用 Tools → Magnifier 視窗。

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

如果您選擇非常高的縮放係數,系統將顯示像素網格以提供更好的方向感。

將影像載入至 Source

若要將測試影像或測試影像序列載入至您的來源,

  1. 透過按兩下設計中的來源來開啟 Simulation Source Viewer。

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

[備註] 注意

您可以在 VisualApplets 安裝資料夾中找到一些實用的測試影像,路徑如下: \Testimages.

[提示] 提示

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

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

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

來源中的縮圖顯示

圖 91. 來源中的縮圖顯示


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

用於模擬的反顯影像部分

圖 92. 用於模擬的反顯影像部分


[注意] 轉換您的影像

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

將影像序列載入至您的 Simulation Source

只要您將新影像載入來源,該影像就會顯示在 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] 表示在序列中模擬的影像


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

您有兩種方式可調整縮圖顯示。從選單中選取 下列其中一項

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

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

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

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

Pixel Values

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

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

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


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

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

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

Pixel Values

圖 95. 像素值


您可以選擇是否要將像素值檢視為不帶正負號十進位、 帶正負號十進位或十六進位數字。

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

Image Dimension

在 Simulation Source Viewer 標籤 Image File – Mapping 中,您會在左側找到包含目前影像(從檔案載入時)影像尺寸的表格,右側則包含 link 的影像尺寸:

影像尺寸

圖 96. 影像尺寸


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

如果影像檔的尺寸小於 link 的尺寸,則影像 會以 1:1 的比例傳輸至 link 上。

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

超過的影像尺寸

圖 97. 超過的影像尺寸


[提示] 提示

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

Image File Mapping

在 Simulation Source Viewer 標籤 Image File – Mapping 中,您也可以找到關於測試影像(檔案)的 Bit Width 以及來源所連接之 link 的 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 位元影像的 8 個位元中選擇了高 4 位元。因此,用於模擬的測試影像將只有 16 個灰階值,而不是 256 個。

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

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

4 位元影像的顯示屬性

圖 100. 4 位元影像的顯示屬性


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

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

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

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


Display Alignment

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

如果連結的 Bit Width 大於 8 位元,您必須定義要讓顯示面板顯示連結 Bit Width 中的哪 8 個位元。由於 PC 監視器上的顯示限制為每個色彩色階 8 位元,因此無法顯示更高的 Bit Width。

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

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

Display Alignment

圖 102. 顯示對齊


Pixel Spitting and Merging

影像 BMP 檔案格式每個像素的色彩色階最多允許 8 位元。 TIFF 格式每個色彩色階最多允許 16 位元。更高的 Bit Width 無法簡單地儲存在標準影像檔案格式中。

VisualApplets 提供了像素分割功能來解決這些限制。

若要以標準影像檔案格式儲存高像素 Bit Width 的影像,每個像素會被分割成多個影像檔案像素。因此,每個色彩色階最多可以在 BMP 或 TIFF 檔案格式中儲存高達 64 位元,例如以 8 x 8 位元的像素儲存。這些影像可以在一般影像檢視器或影像處理程式中檢視。當然,VisualApplets 產生的像素分割影像在顯示時會在水平方向上展開。因此,在 VisualApplets 中,像素分割僅僅是針對具有高 Bit Width(色彩深度)的影像的一種儲存選項。

若要載入儲存為 BMP 或 TIFF 若要將檔案匯入至您的模擬來源,您必須將共用同一個原始像素色彩資訊的相鄰像素合併回一個像素。因此,模擬來源檢視器可以合併像素分割影像以進行正確對應。分割作業可在 Simulation Probe Viewer (請參閱 「評估模擬結果」)中進行。您可以在 Simulation Source Viewer tab 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

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

[注意] 使用 Simulation Probes

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

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

    Simulation 視窗隨即開啟:

    Simulation 視窗

    圖 106. Simulation 視窗


    在上方窗格中,列出了當前設計中活動的所有模擬來源和模擬探棒。此清單僅供參考。

    在視窗的下方窗格中,您可以看到 Design Rules Check 1 的結果。

    您可以透過下拉式清單方塊變更清單的顯示方式:

    • Simulation Sources 和 Simulation Probes 僅顯示您為模擬設定的來源和探棒。

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

    變更來源和探棒顯示

    圖 107:變更來源和探棒顯示


[注意] 錯誤與注意事項的影響

只有在 Design Rules Check 1 期間未偵測到錯誤時,才能啟動模擬。Design Rules Check 1 所產生的警告不會阻止啟動模擬。

[備註] 注意

無法為模擬選取單一運算子。模擬將始終執行設計的所有運算子。

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

未連接的模擬模組

圖 108:未連接的模擬模組


[備註] 注意

相機運算子在模擬期間不會發送資料。需要將模擬來源連接到輸出連線,以為模擬提供資料。

在 Processing Cycle 欄位中,您可以指定希望程式執行的處理循環次數。

您也可以透過 System Settings 功能表設定模擬和處理循環:Settings → System Settings → Simulation:

Simulation Settings

圖 109:模擬設定


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

選取 Simulate data flow synchronization:整個設計從來源到目的端每個循環模擬一次。重點在於相依性的精確建模和準確的資料管理。允許來源每個循環提供一個或多個資料集。如果先前產生的資料仍需處理,模擬可能會阻止來源發送資料。因此,運算子會將傳入資料留在其輸入連接埠內,直到資料處理需要收集它為止。只要有效資料儲存在傳入連接埠中,就會阻止上游運算子產生資料。這會導致擁塞,相當於硬體中的抑制概念,並允許偵測死結。

Simulate 1D line by line:可以透過將多個行聚合為一個 2D 張量來處理 1D 資料,並像任何其他 2D 資料一樣進行模擬。這既快速又穩健,但將模擬限制為正好一個模擬循環。如果您選取 Simulate 1D line by line,則每一行都會被單獨處理,從而允許進行多步驟模擬,例如處理 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 基礎與範例 中的範例 多個 DMA 通道設計 。

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

重設會產生以下效果:

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

  • 所有探測點的内容都會被刪除。

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

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

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

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

[提示] 提示

如果需要,您可以在模擬期間保持模擬模組的檢視器視窗開啟。不過,這會降低模擬速度。

模擬成功

圖 112. 模擬成功


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

[備註] 自動模擬重設

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

評估 Simulation 結果

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

[備註] 某些影像未顯示在探測點中

當模擬探針包含非常大的影像時,VisualApplets 可能會因為 Memory 限制而無法正確顯示這些影像。 在這種情況下,將會顯示灰色影像(即所有像素的值皆為 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 縮小,來放大或縮小顯示通道中顯示的影像。

如果您選擇非常高的縮放倍率,將會顯示像素網格以利更好地定位,並且會以文字形式呈現對應的像素值。

Pixel Values

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

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

Pixel Values Probe

圖 113. Pixel Values Probe


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

  • 您可以選擇是要將其顯示為十六進位數字,還是顯示為有號或無號十進位數字。

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

  • 此外,您可以定義一個 Scaling 係數,該係數會與數值相乘。這對於執行線性轉換(例如將弳度轉換為角度)非常有用。

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

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

如果模擬探針連接到傳輸核心的連線,您可以在 Kernel 面板中的核心 Row 和核心 Column 微調方塊中選擇個別的核心影像。

Image Sequence

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

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

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

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

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

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

Varying Row Length

VisualApplets 不僅限於處理和顯示列長度一致的矩形影像。它也能顯示列長度不同的影像。

VisualApplets 計算此类圖像的圖像大小如下:

[提示] 計算行長度不均勻圖像的圖像大小

圖像大小 = 最長行的像素數 * 行數

行長度為 NULL 的行也會被計算在內。圖像中未定義的區域 在顯示時會以藍色到青色的顏色漸層表示:

未定義圖像區域的顯示

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


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

空白圖像符號

圖 115. 空白圖像符號


Display Alignment

Simulation Probe Viewer 的顯示面板提供兩種方式來顯示相同的 圖像:

  • 如果您啟用 Link View,顯示的圖像將 如同它透過鏈結傳遞給探針時的樣子。

  • 如果您啟用 File View,顯示的圖像將 如同您使用目前設定將其儲存至檔案時的樣子。

由於監視器一律使用每個顏色通道 8 bit,因此位元數更高或更低的圖像 無法直接顯示。

如果模擬結果的 Bit Width 高於 8 bit, 您可以使用位移滑桿來選擇您希望在顯示面板中 顯示的 8 bit:

Link View

圖 116. Link View


在此範例中,選擇了 16 位元灰階的高 8 位元來進行顯示。

如果圖像的 Bit Width 小於 8 bit, 測試圖像的灰階值會自動對應到 8 位元監視器顯示器的 256 個灰階值。 這種對應不會改變所顯示的灰階色調數量,但會增強它們之間的對比度。 若無此對應,人眼可能完全無法看見圖像。以 1-bit 圖像為例: 如果在顯示監視器時未使用對應而直接使用 0 和 1 的值, 人眼會將兩者都解讀為黑色。在這種情況下, VisualApplets 的自動 Bit Width 對應會將 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 ,且區間範圍將顯示於其旁邊:

針對選定的 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 ,且區間範圍將顯示於其旁邊:

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

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

顯示統計資料

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

  • Mean 值

  • 標準差 (St. Dev.)

  • Minimal (Min.) 值

  • Maximum (Max.) 值

儲存 Simulation 結果

您可以將模擬結果儲存為 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-bit 模擬結果儲存為 8-bit 檔案格式,請勾選 Normalize gray values 方塊。Normalizing 在此脈絡中是指 將 0 對應至 0(黑色),並將 1 對應至 255(白色)。

Pixel Alignment

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

如果影像的 Bit Width小於檔案格式的 Bit Width, 您可以使用滑桿變更像素對齊位移量。 透過這種方式,您可以將模擬結果的位元儲存在檔案格式(較大)像素內的特定位置。 例如,將 12-bit 連結的位元儲存在 16-bit 的最低 12 個位元或最高 12 個位元上 TIFF 影像。

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

若要預覽即將儲存至檔案的(已剝離)影像:在 Simulation Probe Viewer 的主視窗中, 將設定面板頂端的圓鈕設定為 File View。

Pixel Splitting

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

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

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

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


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

[備註] 分割影像的重新轉換

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

儲存

[重要] 重要事項

從主選單中選取 File → Save 時, 您在 Save Options 對話方塊中定義的所有設定都會生效。

若要將模擬結果儲存至檔案,請依下列步驟操作:

  1. 從主選單中選取 File → Save。

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

  3. 按一下 Save。

[提示] 儲存影像序列

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

常見問題集

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

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

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

A:您可能沒有模擬足夠的模擬循環。請增加循環次數。此外,您的演算法可能未產生任何輸出影像。請檢查運算子參考資料中的各自運算子限制。同時,連接至信號連線的模擬探針絕不會顯示輸出資料。

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

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