Operator SignalGate

Operator Library: Signal

此 operator 會在輸入 I 與輸出 O 之間對影像串流進行閘控 (gating)。 閘控由訊號輸入連結 Gate 控制。 若閘極關閉,則會捨棄輸入資料。 若閘極開啟,則會將像素轉發至輸出端。 不過,operator 會確保行 (lines) 或張 (frames) 的完整性不會被破壞,亦即一律傳輸完整的行或張,且不會遭到切割。 若 operator 搭配輸入影像通訊協定 VALT_LINE1D 使用, operator 會將在一個開啟閘極期間內的行組合成張。 因此,它會結合行,並將例如來自線陣相機的無限行串流轉換成張。 此 operator 常被用作線陣相機的影像觸發器。

下圖顯示了此 operator 行為的範例。 如您所見,行會饋送至 operator 中。 每一行的結尾都有一個內嵌於影像連結串流中的行結尾控制訊號。 閘極開啟的時間長度為三行。 在輸出端會呈現前三行,而第四行與第五行則會被捨棄。 此外,在閘極關閉前的最後一行之後,影像資料串流中會新增一個張結尾標記。 總而言之,在此範例中,operator 將前三行組合成了一張。 在關閉期間會捨棄資料。

若閘極在處理某行的過程中開啟,則該行將不會被使用。 此外,若閘極在處理某行的過程中關閉,則該行將會完整傳輸至輸出端。 這可確保行的完整性。 以下波形圖顯示了這些情況。

短暫關閉的閘極將會導致產生張結尾。 接下來的兩個波形圖顯示了閘極開啟或關閉的短暫期間。

請記住,當某行的第一個像素出現在輸入連結時,若此時閘極同時開啟,則該行將會被使用。 若各別行未被捨棄,且閘極輸入的下降緣出現在第一個行像素之後,則會在行之後產生張結尾。

除了 VALT_LINE1D 行資料串流之外,此 operator 亦可搭配輸入 I 處的 VALT_IMAGE2D 影像資料串流使用。 在這種情況下,若閘極與影像的第一個像素同時開啟,operator 將會轉發完整的輸入張,如下所示。

重設輸入可用於重設 operator,亦即切割某行並重新啟動。

[備註] 簡化的波形圖

波形圖經過簡化,以便顯示確切的 operator 行為。 實際實作會延遲行結尾與張結尾的輸出。

[警告] Operator 違反 Max. Image Height

若閘極持續保持開啟,operator 將會產生高度很大的影像。 若此高度超過為輸出連結設定的 Max. Image Height 連結 Property,則會違反 VisualApplets 規則。 您應該使用 operator SplitImage 切割超出範圍的影像, 或是刪除超出範圍的行 (RemoveLine, SelectROI)。

此運算子不支援 VisualApplets 功能模擬。

I/O Properties

Property Value
Operator Type P
輸入連結 I, 影像資料輸入
Gate, 訊號輸入
Reset, 訊號輸入
Output Link O, 影像資料輸出

同步與非同步輸入

  • 所有信號輸入可以透過 O-type operator 的任意網絡,由相同或不同的 M-type operator 提供來源。 如果它們由相同的 M-type 來源提供,將會自動進行同步。
  • 輸入 link I 與訊號輸入非同步。

支援的 Link 格式

Link Parameter Input Link I 輸入連結 Gate Input Link Reset Output Link O
Bit Width [1, 64]1 1 1 as I
Arithmetic {unsigned, signed} unsigned unsigned as I
Parallelism any 1 1 as I
Kernel Columns any 1 1 as I
Kernel Rows any 1 1 as I
Img Protocol {VALT_IMAGE2D, VALT_LINE1D} VALT_SIGNAL VALT_SIGNAL as I
Color Format any VAF_GRAY VAF_GRAY as I
Color Flavor any FL_NONE FL_NONE as I
Max. Img Width any any any as I
Max. Img Height any any any 若輸入為 VALT_IMAGE1D 則為任意值,否則與 I 相同

1

針對無符號數值,輸入 Bit Width 的範圍是 [1, 64]。 針對有符號輸入,範圍是 [2, 64]。 針對無符號彩色輸入為 [3, 63],針對有符號彩色輸入則為 [6, 63]。

參數

無

使用範例

以下範例顯示了 operator SignalGate 的使用方式: