SignalGate 算子

Operator Library: Signal

该 operator 对输入 I 和输出 O 之间的图像流进行门控。 该门由信号输入链路 Gate 控制。 如果门关闭,则丢弃输入数据。 如果门打开,则将像素转发到输出。 但是,该 operator 确保行或帧的完整性不被破坏,即始终传输完整的行或帧且不会被截断。 如果该 operator 与输入图像协议 VALT_LINE1D 一起使用,则它会将一个打开门周期内的行组装成一帧。 因此,它会组合行,并将例如来自线扫描相机的无限行流转换为帧。 该 operator 通常用作线扫描相机的图像触发器。

下图展示了该 operator 行为的一个示例。 如您所见,行被馈送到 operator 中。 每行都以嵌入在图像链路流中的行尾控制信号结束。 门保持打开状态,持续三行的时间。 在输出端呈现前三行,而第四行和第五行被丢弃。 此外,在门关闭前的最后一行之后,会在图像数据流中添加一个帧尾标记。 综上所述,在此示例中,operator 将前三行组装成了一帧。 在关闭期间会丢弃数据。

如果在正在处理某行的过程中门打开,则将不使用该行。 此外,如果在正在处理某行的过程中门关闭,则该行将完全传输到输出端。 这确保了行的完整性。 以下波形图显示了这些情况。

短暂关闭的门将导致生成帧尾。 接下来的两个波形图显示了门打开或关闭的短周期。

请记住,如果在输入链路处出现行的第一个像素时门同时打开,则将使用该行。 如果在某行未被丢弃且在第一个行像素之后出现了门输入的下降沿,则会在该行之后生成一个帧尾。

除了 VALT_LINE1D 行数据流之外,该 operator 还可以与输入 I 处的 VALT_IMAGE2D 图像数据流一起使用。 在这种情况下,如果门与图像的第一个像素同时打开,该 operator 将转发完整的输入帧,如下所示。

重置输入可用于重置 operator,即截断一行并重新开始。

[注意] 简化波形图

波形图经过了简化,以便展示该 operator 的准确行为。 实际实现会延迟行尾和帧尾的输出。

[警告] Operator Violates Max.Image Height

如果门持续打开,该 operator 将生成高度很大的图像。 如果此高度超过了为输出链路设置的 Max. Image Height 链路 Property,则会违反 VisualApplets 规则。 您应该使用 operator SplitImage 裁剪超出部分的图像,或者 删除超出部分的行(RemoveLine, SelectROI)。

此算子不包含在 VisualApplets 功能仿真中。

I/O Property

Property 值
Operator Type P
输入链路 I,图像数据输入
Gate,信号输入
Reset,信号输入
Output Link O,图像数据输出

同步和异步输入

  • 所有信号输入可以由相同或不同的 M-type 算子通过任意 O-type 算子网络提供源。 if 它们由相同的 M-type 源提供源,则会自动进行同步。
  • 输入链路 I 与信号输入异步。

Supported Link Format

Link Parameter Input Link I Input Link 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 的用法: