Version 2.0
Standard
GenICam_Standard.doc Page 1 of 53
GenICam Standard
Generic Interface for Cameras
Version 2.0
Version 2.0
Standard
GenICam_Standard.doc Page 2 of 53
Table of Contents
1 OVERVIEW....................................................................................................................... 5
2 GENAPI MODULE – CONFIGURING THE CAMERA............................................. 6
2.1 I
NTRODUCTION
.............................................................................................................. 6
2.2 B
ASIC
S
TRUCTURE OF THE
C
AMERA
D
ESCRIPTION
F
ILE
................................................ 7
2.3 N
ODES
,
I
NTERFACES
,
AND
A
BSTRACT
F
EATURES
.......................................................... 9
2.4 G
ETTING AND
S
ETTING
V
ALUES
.................................................................................. 10
2.5 A
CCESS
M
ODE
............................................................................................................. 11
2.6 C
ACHING
...................................................................................................................... 15
2.7 I
DENTIFYING AND
V
ERSIONING A
C
AMERA
D
ESCRIPTION
F
ILE
.................................... 19
2.7.1 Versioning the Schema ......................................................................................... 20
2.7.2 Versioning the Camera Description File ............................................................. 20
2.7.3 Identifying and Caching the Camera Description File........................................ 21
2.8 A
VAILABLE
N
ODE
T
YPES
............................................................................................. 21
2.8.1 Node ..................................................................................................................... 21
2.8.2 Category ............................................................................................................... 24
2.8.3 Register................................................................................................................. 26
2.8.4 Arrays and Selectors ............................................................................................ 28
2.8.5 Integer, IntReg, MaskedIntReg............................................................................. 29
2.8.6 StructReg .............................................................................................................. 32
2.8.7 Boolean................................................................................................................. 33
2.8.8 Command ............................................................................................................. 34
2.8.9 Float, FloatReg .................................................................................................... 34
2.8.10 Enumeration, EnumEntry ................................................................................. 35
2.8.11 StringReg........................................................................................................... 37
2.8.12 String (v1.1) ...................................................................................................... 37
2.8.13 SwissKnife, IntSwissKnife, Converter, and IntConverter ................................. 37
2.8.14 ConfRom, TextDesc, and IntKey....................................................................... 40
2.8.15 DcamLock and SmartFeature ........................................................................... 41
2.8.16 Port ................................................................................................................... 42
2.8.17 Group element................................................................................................... 43
2.9 A
VAILABLE
I
NTERFACES
.............................................................................................. 44
2.9.1 IInteger Interface.................................................................................................. 44
2.9.2 IFloat Interface .................................................................................................... 44
2.9.3 IString Interface ................................................................................................... 44
2.9.4 IEnumeration Interface ........................................................................................ 45
2.9.5 ICommand Interface............................................................................................. 45
2.9.6 IBoolean Interface................................................................................................ 45
2.9.7 IRegister Interface................................................................................................ 45
2.9.8 ICategory Interface .............................................................................................. 45
2.9.9 IPort Interface ...................................................................................................... 45
2.9.10 ISelector Interface............................................................................................. 45
3 APPENDIX....................................................................................................................... 46
Version 2.0
Standard
GenICam_Standard.doc Page 3 of 53
3.1 E
NDIANESS OF
G
IG
E
V
ISION
C
AMERAS
....................................................................... 46
3.1.1 Behavior of products based on schema version 1.1 and newer ........................... 46
3.1.2 Behavior of products based on schema version 1.0 ............................................. 47
3.1.3 Passing the schema version to the IPort implementation .................................... 47
3.2 O
THER
M
ODULES OF THE
G
EN
IC
AM
S
TANDARD
......................................................... 48
3.2.1 Standard Feature Naming Convention ................................................................ 48
3.2.2 GenTL................................................................................................................... 49
3.2.3 CLProtocol ........................................................................................................... 49
4 ACKNOWLEDGEMENTS ............................................................................................ 50
5 RIGHTS AND TRADEMARKS .................................................................................... 50
6 INDEX .............................................................................................................................. 51
Version 2.0
Standard
GenICam_Standard.doc Page 4 of 53
HISTORY
Version Date Changed by Change
1.0 13.06.2006
Fritz Dierks, Basler Released version as voted on during the
Montreal meeting
1.1 draft 1 25.03.2008
Fritz Dierks, Basler First draft for version 1.1
2.0 06.11.2009
Fritz Dierks, Basler Released
Version 2.0
Standard
GenICam_Standard.doc Page 5 of 53
1 Overview
Today’s digital cameras are packed with much more functionality than just delivering an
image. Processing the image and appending the results to the image data stream, controlling
external hardware, and doing the real-time part of the application have become common tasks
for machine vision cameras. As a result, the programming interface for cameras has become
more and more complex.
The goal of GenICam is to provide a generic programming interface for all kinds of cameras.
No matter what interface technology the cameras are using or what features they are
implementing, the application programming interface (API) should be always the same (see
Figure 1).
Figure 1 The GenICam vision
The GenICam standard consists of multiple modules according to the main tasks to be
solved:
GenApi : Application programming interface (API) for configuring a camera
GenTL : Transport layer (TL) for grabbing images
The modules can be released independently from each other.
Smart Cameras
GigE
1394
Camera LinkSmart Cameras
GigE
1394
Camera Link
Unified API