SFNC —— 标准特征命名约定(一)

简介: SFNC —— 标准特征命名约定(一)

1、介绍

   本文档包含了 GenICam 的 “标准特性命名约定(SFNC)”,该协议为基于 GenICam 标准的设备提供了标准特性命名约定和标准行为模型。所有 GenICam 标准文档的最新发布版本都可以在 EMVA 网站 上的 GenICam 下载页面上找到(特别请参见 “SFNC(标准特性命名约定)” 一节)。


   仅使用 GenApi 就足以使相机或设备的所有功能都可以通过 GenICam API 进行访问。然而,如果用户想要为整类相机或设备编写通用和便携式软件,并能够互操作,那么仅凭 GenApi 是不够的,软件和设备供应商必须就标准特性的通用命名约定达成一致。这是 GenICam 的 “标准特性命名约定(SFNC)” 的角色,它将提供一组共同的特性、它们的名称,并为它们定义一个标准行为。


   要符合 GenICam 标准,产品必须提供 GenICam XML 文件。


GenICamXML 文件必须与最新的 GenApi 和模式兼容。

GenICamXML 文件必须包含它所描述的产品的所有公共特性。

GenICamXML 特性必须尽可能遵循标准特性命名约定。

   这些要求确保用户可以为其设备依赖完整、一致和便携的功能集,并且这些功能总是以标准的方式访问。

1.1 约定(Conventions)

功能名称和接口(Feature Name and Interface)

   根据 GenICam 标准,一个设备的所有公共特性都必须包含在 GenICam XML 文件中,并且如果存在这些特性,则必须使用 SFNC 名称和接口类型。可以包括其他没有映射到现有 SNFC 特性的供应商特定或专用特性,但必须位于 GenICam XML 中的供应商特定的名称空间中,并且可能使用供应商特定的名称。


   此文档列出了必须使用的每个特性、名称和接口类型。

功能类别(Feature Category)

    对于 GenICam 标准,每个特性都应该包含在一个 “类别” 中。类别元素定义了特征将位于哪一组特征中。

    类别不会影响特性的功能,但 GUI 在显示功能时对功能进行分组。其目的主要是为了确保 GUI 能够以更有组织的方式呈现特性。

    本文档列出了每个特性,建议使用的类别。

功能级别(Feature Level)

    在本文档中,特性根据以下需求级别进行标记:

  • M:强制性(Mandatory)—— 必须实现,以实现符合 GenICam 标准。
  • R:推荐(Recommended)—— 此特性为用例增加了重要方面,如果使用,必须尊重命名约定。
  • O:可选(Optional)—— 此功能不那么重要。然而,如果使用它,就必须考虑并必须尊重命名约定。

特征可见性(Feature Visibility)

   根据 GenICam 的标准,每个特征都可以被分配一个 “可见性”。可见性定义了应该访问该功能的用户类型。可能的值是:初学者(Beginner)、专家(Expert)、大师(Guru) 和 隐形人(Invisible)。最后一个要求特性可以从 API 中访问,但在 GUI 中不可见。


   分配推荐的可见性:


B: 初学者(Beginner) —— 所有特性应该通过 GUI 和 API 对所有用户都可见。这是 GenICam XML 文件中的默认可见性,如果为特性省略了可见性元素,将使用。具有 “初学者” 可见性的特性的数量应该限制在设备的所有基本特性上,因此 GUI 显示器组织良好,易于使用。

E:专家(Expert) —— 需要更深入地了解相机功能的功能。这是相机中所有高级功能的首选可见性级别。

G:Guru(Guru) —— 高级功能,如果对相机当前的操作模式设置错误,可能会使相机进入一种无法正常工作的状态。

I:隐形(Invisible)—— 应该为GUI用户保持隐藏的特性,但仍然可以通过API使用。

   本文档列出了每个特性,一个应该使用的可见性。

选择器(Selector)

    选择器用于索引在存在多个特征实例的情况下(例如,彩色相机的红/绿/蓝组件的每个单独通道的模拟增益)。

    选择器是一个单独的特性,通常是一个整数枚举或一个整数。选择器必须仅用于选择后续更改的目标特性。不允许根据选择器值的更改而改变设备的行为。

1.2 标准单位(Standard Units)

  以下缩写被用作本文档中描述的特性的标准单位。请注意,所有单元都使用纯 ASCII 字符。

缩写 含义
ns 纳秒(nanoseconds)
us 一百万分之一秒,微秒( microseconds )
ms 毫秒 ( milliseconds )
m 米(meter)
mm 毫米(millimeter)
in 英寸(相当于 2.54 厘米,一英尺有12英寸)(inch)
s 秒(seconds)
B 字节( Bytes )
Bps 每秒字节数(Bytes per second)
MBps 百万字节每秒(Mega Bytes per second)
Mbps 每秒百万位(Mega bits per second)
Fps (电视图像的)每秒帧数 (Frames per second)
dB 分贝(decibels)
C 摄氏度(Celsius)
Hz 赫兹(Hertz)
% 百分比(Percent)
dpt 屈光度(diopter)

1.3 缩略语(Acronyms)

    在本文档中使用了以下定义。

缩写 含义
ADC Analog to Digital Converter( 模数转换器)
AGC Automatic Gain Control( 自动增益调整,自动增益控制)
AIA Automated Imaging Association(自动成像协会)
CRT Cathode Ray Tube( 电子射线管)
DC Direct Current(n. 直流电)
DHCP Dynamic Host Configuration Protocol( 动态主机配置协议)
EMVA European Machine Vision Association(欧洲机器视觉协会)
ID Identifier(标识符)
I/O Input/Output(adj. 输入输出)
IP Internet Protocol( 互联网协议)
LLA Link-Local Address(链接本地地址)
LUT Look-Up Table( 查表,查表法)
M Mandatory(adj. 强制的;命令的;受委托的)
O Optional(adj. 可选择的,非强制的)
PTP Precision Time Protocol(精确时间协议)
R Recommended or Read (depends on the context)(推荐或阅读(取决于上下文))
ROI Region Of Interest( 感兴趣区)
URL Uniform Resource Locator( 统一资源定位系统)
W Write(写)
XML eXtensible Markup Language( 可延伸[可扩充]标记语言)

1.4 标准定义(Standard Definitions)

    本节定义了本文档中使用的术语。下面的设备通信模型部分说明了它们之间的相互关系(参见图 1-1 )。

image.png

image.png image.png

1.5 设备通信模型(Device Communication Model)

    本节介绍了使用 SFNC 控制的设备的一般通信模型。它介绍了主机系统和采集设备之间的控制和数据流通信所涉及的主要元素。

    一般来说,设备通信模型是:

  • 远程设备和主机系统使用虚拟链路进行通信。
  • 虚拟链接是通过一个或多个物理连接建立的。
  • 主机系统使用其 GenICam XML 文件中存在的特性来控制远程设备。
  • 远程发射器设备具有一个生成数据流的数据源。
  • 数据流被发送到虚拟链路的流通道上的主机系统。
  • 主机接口上的数据流的接收由本地接收设备处理。
  • 本地接收器设备将数据流写入主机系统内存。

1.6 设备采集模型(Device Acquisition Model)

   介绍了通过设备采集数据所涉及的主要元素和用于传输到主机系统的图像的典型数据流。它涵盖了具有单一数据源的典型设备和具有多源、多感兴趣区域和数据传输控制的更复杂的设备。


   具有一个数据源、一个感兴趣的区域和数据传输的自动控制,如图 1-2 所示,是该模型的简单特例,其中源、区域和传输特性是固定的,不能改变(因此相应的固定特性可以被省略)。

    图 1-2:固定配置的基本采集装置。(Figure 1-2: Basic acquisition device with fixed configuration.)

    对于源、区域和传输控制流值固定的基本设备的典型特征设置通常简化为:

Width = 320

Height = 240

AcquisitionStart

AcquisitionStop


   但一般来说,对于更复杂的设备,采集和数据传输模型是:


一个设备有一个或多个源。

一个源有一个或多个感兴趣的区域。

一个感兴趣的区域指向一个数据流。

源上数据生成由 “采集控制” ( “Acquisition Control” )特性进行控制。

感兴趣区域的尺寸由 “图像格式控制” ( “Image Format Control” )特性控制。

流的传出数据流由 “传输控制” ( “Transfer Control” )特性进行控制。

传输控制模块的输出进入流通道。(The output of the Transfer Control module goes to a Stream Channel.)

流通道在虚拟链路上传输。

虚拟链接是通过使用一个或多个设备的物理连接与主机系统建立的。

  下面的图 1-3 展示了一个更复杂的设备的例子,它支持多源、多区域的数据流传输控制。

2、特性摘要

2.1 设备控制(Device Control)

    包含与设备的控制和信息相关的功能(详情请参见设备控制章节)。

2.2 图像格式控制(Image Format Control)

    包含与传输图像格式相关的功能(详情请参见图像格式控制章节)。

2.3 采集控制(Acquisition Control)

  包含与图像采集相关的功能,包括触发和曝光控制(详情请参见采集控制章节)。

2.4 模拟控制(Analog Control)

    包含模拟域中与视频信号调节相关的功能(详情请参见模拟控制章节)。

2.5 LUT控制(LUT Control)

  包含与查找表(LUT)控件相关的功能(有关详细信息,请参见 LUT 控件章节)。

2.6 颜色转换控制(Color Transformation Control)

    包含与颜色转换控制相关的特性(详细信息请参见颜色转换控制章节)。

2.7 数字输入输出控制(Digital I/O Control)

    包含与设备输入和输出引脚控制相关的功能(详情请参见数字I/O控制章节)。

2.8 计数器和计时器控制(Counter and Timer Control)

    包含与可编程计数器和计时器的使用相关的特性(详细信息请参阅计数器和计时器控制章节)。

2.9 编码器控制(Encoder Control)

    包含与正交编码器使用相关的特性(详细信息请参阅编码器控制章节)。

2.10 逻辑块控制(Logic Block Control)

    包含与逻辑块使用相关的特性(详细信息请参见逻辑块控制章节)。

2.11 软件信号控制(Software Signal Control)

    包含与软件信号控制相关的功能(详情请参见软件信号控制章节)。

2.12 动作控制(Action Control)

  包含与操作命令机制的控制相关的特性(有关详细信息,请参阅操作控制章节)。

2.13 事件控制(Event Control)

    包含与设备生成事件通知相关的功能(有关详细信息,请参阅事件控制章节)。

2.14 用户设置控制(User Set Control)

    包含与要保存和加载用户设备设置的用户设置控制相关的功能(有关详细信息,请参阅用户设置控制章节)。

2.15 排序器控制(Sequencer Control)

    包含与排序器的控制相关的特性(详情请参阅排序器控制章节)。

2.16 文件访问控制(File Access Control)

    包含与设备的通用文件访问相关的特性(详细信息请参见文件访问控制章节)。

2.17 源控制(Source Control)

    包含与多个源设备控制相关的功能(详细信息请参阅源控制章节)。

2.18 传输控制(Transfer Control)

    包含与传输控制相关的特性(有关详细信息,请参阅传输控制章节)。

2.19 扫描 3D 控制(Scan 3D Control)

    包含与 3D 扫描功能控制相关的功能(详情请参见3D扫描控制章节)。

2.20 灯光控制(Light Control)

    包含与灯光控制相关的功能(有关详细信息,请参阅灯光控制章节)。

2.21 光学控制(Optic Control)

    包含与光学控制相关的特性(有关详细信息,请参见光学控制章节)。

2.22 块数据控制(Chunk Data Control)

    包含与块数据控制相关的特性(详细信息请参见块数据控制章节)。

2.23 测试控制(Test Control)

    包含与测试特性的控制相关的特性(详情请参见测试控制章节)。

2.24 GenICam 控制(GenICam Control)

    包含与 GenICam 控制和访问相关的特性(详细信息见 GenICam 控制章节)。

2.25 传输层控制(Transport Layer Control)

    包含与传输层控制相关的特性(有关详细信息,请参阅“传输层控制”章节)。



目录
相关文章
|
6月前
|
Java
Java面向对象特征(二)----- 继承
Java面向对象特征(二)----- 继承
Java面向对象特征(二)----- 继承
|
5月前
|
JavaScript
交叉类型的主要用途是表示对象的合成
交叉类型的主要用途是表示对象的合成
32 0
|
7月前
|
编译器 程序员 C语言
【C++ 类型系统】了解C++ 中 标量、复合、标准布局、平凡和聚合类型
【C++ 类型系统】了解C++ 中 标量、复合、标准布局、平凡和聚合类型
246 0
|
SQL IDE Java
如何高效编码? 使用有意义的命名
编码中随处可见命名。我们给变量、函数、参数、类和包命名;我们jar文件命名。我们命名,命名,不断命名,既然有怎么多命名要做,不妨就做好它。
|
自然语言处理 算法 编译器
C++基础句法
● 使用场景 1.switch只能支持常量固定值相等的判断 2.if还可以判断区间范围 3.用switch能做的,用if都能做,但是反过来不行。
85 0
|
编解码
失真的概念和定义
失真的概念和定义
251 0
|
机器学习/深度学习 计算机视觉
基于自正则原型网络的小样本语义分割
基于自正则原型网络的小样本语义分割
185 0
基于自正则原型网络的小样本语义分割
|
存储 SQL BI
数据字典标准与统一的重要性(码表&枚举值)
关于“公共代码、编码、码表、枚举值”的含义,以及在软件开发中的应用场景。
466 0
数据字典标准与统一的重要性(码表&枚举值)
选择正确的错误度量标准:MAPE与sMAPE的优缺点
选择正确的错误度量标准:MAPE与sMAPE的优缺点
932 0
选择正确的错误度量标准:MAPE与sMAPE的优缺点
|
关系型数据库 MySQL 数据库
数据库技术知识点(一)IDEFO需求建模方法、解释实体、实体型、实体集的区别、完全函数依赖、部分函数依赖、传递函数、平凡函数依赖、非平凡函数依赖举例、超码、主码、候选码的概念与区分
数据库技术知识点(一)IDEFO需求建模方法、解释实体、实体型、实体集的区别、完全函数依赖、部分函数依赖、传递函数、平凡函数依赖、非平凡函数依赖举例、超码、主码、候选码的概念与区分
数据库技术知识点(一)IDEFO需求建模方法、解释实体、实体型、实体集的区别、完全函数依赖、部分函数依赖、传递函数、平凡函数依赖、非平凡函数依赖举例、超码、主码、候选码的概念与区分