Operator Library: Synchronization
運算子 CutLine
會將輸入影像的行動態切割為多個較短的行。切割動作由輸入
Cut 控制,該輸入與輸入
I 同步。切割是以 parallelism P 所提供的粒度進行的。因此,不會產生虛擬像素(dummy pixels)。當輸入 Cut 處的像素值為 1 時,來自輸入 I 的對應像素仍包含在當前行的輸出中。在下一個可能的像素位置之後會終止該行,以便符合粒度條件。該運算子支援由參數 Mode 設定的兩種切割模式:
-
如果將 Mode 設定為
Split(預設值),則會將傳入的行
分割為多個片段。每當輸入 Cut 處目前行的某個像素值為 1 時,正在進行中的輸出行就會在 parallelism P 所提供的粒度處終止。
然後,會以接下來的傳入像素開頭來啟動新行。行中最後 parallelism P 個像素內的任何 1 值
皆無效。
-
如果將 Mode 設定為
Truncate,則傳入的行會被切割為單一
行,該行可能會比傳入的行更短。每當輸入 Cut 處目前行的某個像素值為
1 時,正在進行中的輸出行就會在 parallelism P 所提供的粒度處終止。在目前行結束之前,不會再將
任何像素轉發至輸出 O。
該運算子可能會產生具有
不同行長度的輸出影像。並非所有 VisualApplets 運算子都能處理使用不同
行長度的影像。
您也可以使用
CutLine 運算子將 0D 影像轉換為 1D 影像。
如果將使用 VALT_PIXEL0D 影像協定的連結連接至運算子的輸入,系統就會自動執行轉換。
在這種情況下,運算子一律處於 Split 模式,且參數
Mode 會被停用。
| Property |
Value |
| Operator Type |
M |
|
輸入連結
|
I,資料輸入 Cut,控制輸入
|
|
Output Link
|
O, data output |
| Link Parameter |
Input Link I |
輸入連結已切斷 |
Output Link O |
| Bit Width |
[1, 64] |
1 |
as I |
| Arithmetic |
{unsigned, signed} |
unsigned |
as I |
| Parallelism |
any |
as I |
as I |
| Kernel Columns |
any |
1 |
as I |
| Kernel Rows |
any |
1 |
as I |
| Img Protocol |
{VALT_IMAGE2D, VALT_LINE1D, VALT_PIXEL0D} |
as I |
自動 |
| Color Format |
any |
VAF_GRAY |
as I |
| Color Flavor |
any |
FL_NONE |
as I |
| Max. Img Width |
any |
as I |
any |
| Max. Img Height |
any |
as I |
any |
|
|
輸入 bit width 的範圍為:
-
對於無符號輸入:[1, 64]
-
對於有符號輸入:[2, 64]
-
對於無符號彩色輸入:[3, 63]
-
對於有符號彩色輸入:[6, 63]。
|
|
|
如果使用 VALT_IMAGE2D 或 VALT_LINE1D,則輸出影像協定與
輸入影像協定相同。如果在輸入端使用 VALT_PIXEL0D 影像協定,
則運算子會將影像轉換為 VALT_LINE1D 影像
協定。
|
|
|
輸出最大影像寬度必須小於或等於輸入
最大影像寬度。
|
|
|
輸出最大影像高度必須大於或等於
輸入影像高度。
|
| 模式 |
| Type |
static read/write parameter |
| Default |
分裂 |
| Range |
{分割、截斷} |
|
運作模式。
-
如果將 Mode 設定為
Split(預設值),則會將傳入的行
分割為多個片段。每當輸入 Cut 處目前行的某個像素值為 1 時,正在進行中的輸出行就會在 parallelism P 所提供的粒度處終止,
並且會以接下來的傳入像素開頭來啟動新行。
行中最後 parallelism P 個像素內的任何 1 值
皆無效。
-
如果將 Mode 設定為
Truncate,則傳入的行會被切割為
單一行,該行可能會比傳入的行更短。每當
輸入 Cut 處目前行的像素值為
1 時,正在進行中的輸出行就會在 parallelism P 所提供的粒度處終止。在目前行結束之前,不會再將
任何像素轉發至輸出 O。
|
以下範例顯示了 CutLine 運算子的使用方式: