Camera Skan Ray
Camera Skan Ray
LumaCam GigE
Documentation
2/3" 3801-401-109-00
Manual SDK 4 for LumaCam GigE V2.3
Qioptiq Photonics
Gmbh & Co KG
(Formerly LINOS)
Hans-Riedl-Str. 9
D-85622 Feldkirchen (Munich)
Telephone: +49 - 89 – 255 458 - 0
Fax: +49 – 89 – 255 458 – 111
Content
1 Introduction .............................................................................................................................................. 7
2 Installation ................................................................................................................................................ 7
2.1 Windows ........................................................................................................................................... 7
2.2 Linux ................................................................................................................................................. 8
2.3 Logging ............................................................................................................................................. 8
3 Function Interface Description.................................................................................................................... 9
3.1 SDK4Acquire...................................................................................................................................... 9
3.1.1 Device Access Functions ............................................................................................................. 9
3.1.1.1 SDK4InitLib......................................................................................................................... 9
3.1.1.2 SDK4CloseLib ................................................................................................................... 10
3.1.1.3 SDK4GetNumDevices ........................................................................................................ 11
3.1.1.4 SDK4GetDeviceID.............................................................................................................. 12
3.1.1.5 SDK4OpenDevice .............................................................................................................. 12
3.1.1.6 SDK4CloseDevice .............................................................................................................. 14
3.1.1.7 SDK4DevStartAcquisition .................................................................................................. 15
3.1.1.8 SDK4DevStopAcquisition................................................................................................... 16
3.1.1.9 SDK4DevGetControl.......................................................................................................... 17
3.1.1.10 SDK4DevGetDataStream ................................................................................................... 17
3.1.1.11 SDK4DevGetClassID.......................................................................................................... 19
3.1.1.12 SDK4DevGetModel ........................................................................................................... 20
3.1.2 Data Stream Functions.............................................................................................................. 21
3.1.2.1 SDK4DSGetPayloadSize..................................................................................................... 21
3.1.2.2 SDK4DSAnnounceBuffer ................................................................................................... 22
3.1.2.3 SDK4DSAllocAndAnnounceBuffer...................................................................................... 23
3.1.2.4 SDK4DSQueueBuffer ......................................................................................................... 24
3.1.2.5 SDK4DSWaitForBuffer....................................................................................................... 25
3.1.2.6 SDK4DSFlushQueue .......................................................................................................... 26
3.1.2.7 SDK4DSRevokeBuffer........................................................................................................ 27
3.1.3 Image Format Function............................................................................................................. 28
3.1.3.1 SDK4DSGetWidth ............................................................................................................. 28
3.1.3.2 SDK4DSGetHeight............................................................................................................. 29
3.1.3.3 SDK4DSGetPixelFormat..................................................................................................... 30
3.1.3.4 SDK4DSGetTimePerFrame ................................................................................................. 30
3.1.4 Buffer Functions ....................................................................................................................... 31
3.1.4.1 SDK4BufferGetPtr ............................................................................................................. 31
3.1.4.2 SDK4BufferGetPrivatePtr................................................................................................... 32
3.1.4.3 SDK4BufferGetSize............................................................................................................ 33
3.1.4.4 SDK4BufferIsComplete ...................................................................................................... 34
3.1.4.5 SDK4BufferSizeFilled ......................................................................................................... 35
3.2 SDK4H3XRControl ........................................................................................................................... 36
3.2.1 GigEVision Control Functions.................................................................................................... 36
3.2.1.1 SDK4GetGigEVersion ........................................................................................................ 36
3.2.1.2 SDK4GetMacAddress ........................................................................................................ 37
3.2.1.3 SDK4GetCurrentIPAddress ................................................................................................ 38
3.2.1.4 SDK4GetCurrentSubnetmask............................................................................................. 39
3
3.2.1.5 SDK4GetCurrentDefaultGateway....................................................................................... 40
3.2.1.6 SDK4SetPacketSize ........................................................................................................... 41
3.2.1.7 SDK4GetPacketSize........................................................................................................... 42
3.2.2 General Device Functions.......................................................................................................... 43
3.2.2.1 SDK4GetDeviceName........................................................................................................ 43
3.2.2.2 SDK4GetSerialNumber ...................................................................................................... 44
3.2.2.3 SDK4GetFunctionModelID................................................................................................. 45
3.2.2.4 SDK4GetFunctionModelVersion......................................................................................... 46
3.2.2.5 SDK4GetRevision .............................................................................................................. 47
3.2.2.6 SDK4GetSoftwareVersion.................................................................................................. 48
3.2.2.7 SDK4GetFirmwareVersion ................................................................................................. 49
3.2.3 Exposure Functions................................................................................................................... 50
3.2.3.1 SDK4SetExposureMode..................................................................................................... 50
3.2.3.2 SDK4GetExposureMode .................................................................................................... 51
3.2.3.3 SDK4SetExposure.............................................................................................................. 52
3.2.3.4 SDK4GetExposure............................................................................................................. 53
3.2.4 Gain Functions ......................................................................................................................... 54
3.2.4.1 SDK4SetGain .................................................................................................................... 54
3.2.4.2 SDK4GetGain.................................................................................................................... 55
3.2.4.3 SDK4SetAGC .................................................................................................................... 56
3.2.4.4 SDK4GetAGC.................................................................................................................... 57
3.2.4.5 SDK4SetAutomaticLevel .................................................................................................... 58
3.2.4.6 SDK4GetAutomaticLevel ................................................................................................... 59
3.2.4.7 SDK4SetAutoGainStopMode ............................................................................................. 60
3.2.4.8 SDK4GetAutoGainStopMode ............................................................................................ 61
3.2.5 Signal Analysis Functions.......................................................................................................... 62
3.2.5.1 SDK4SetMeasureFrameShow............................................................................................. 62
3.2.5.2 SDK4GetMeasureFrameShow............................................................................................ 63
3.2.5.3 SDK4SetMeasureWindow.................................................................................................. 64
3.2.5.4 SDK4GetMeasureWindow................................................................................................. 65
3.2.6 Overlay Functions ..................................................................................................................... 66
3.2.6.1 SDK4SetOverlayShow........................................................................................................ 66
3.2.6.2 SDK4GetOverlayShow ....................................................................................................... 66
3.2.6.3 SDK4SetOverlayPosition.................................................................................................... 68
3.2.6.4 SDK4GetOverlayPosition ................................................................................................... 69
3.2.6.5 SDK4SetOverlayStyle......................................................................................................... 70
3.2.6.6 SDK4GetOverlayStyle ........................................................................................................ 71
3.2.6.7 SDK4SetOverlaySize .......................................................................................................... 72
3.2.6.8 SDK4GetOverlaySize ......................................................................................................... 73
3.2.7 Digital Enhancement Functions................................................................................................. 74
3.2.7.1 SDK4SetBrightness............................................................................................................ 74
3.2.7.2 SDK4GetBrightness........................................................................................................... 75
3.2.7.3 SDK4SetContrast .............................................................................................................. 76
3.2.7.4 SDK4GetContrast.............................................................................................................. 77
3.2.7.5 SDK4SetSharpness ............................................................................................................ 78
3.2.7.6 SDK4GetSharpness ........................................................................................................... 79
3.2.7.7 SDK4SetHistogramEqualization ......................................................................................... 80
3.2.7.8 SDK4GetHistogramEqualization ........................................................................................ 81
3.2.8 Memory Functions .................................................................................................................... 82
3.2.8.1 SDK4SetVerticalFlip........................................................................................................... 82
3.2.8.2 SDK4GetVerticalFlip.......................................................................................................... 83
4
3.2.8.3 SDK4SetHorizontalFlip ...................................................................................................... 84
3.2.8.4 SDK4GetHorizontalFlip...................................................................................................... 85
3.2.8.5 SDK4SetLastImageHold..................................................................................................... 86
3.2.8.6 SDK4GetLastImageHold .................................................................................................... 87
3.2.8.7 SDK4StoreImage............................................................................................................... 88
3.2.8.8 SDK4SetImageSubtraction................................................................................................. 89
3.2.8.9 SDK4GetImageSubtraction ................................................................................................ 90
3.2.8.10 SDK4SetRecursiveFilter...................................................................................................... 91
3.2.8.11 SDK4GetRecursiveFilter..................................................................................................... 92
3.2.8.12 SDK4SetAutoMotionDetection .......................................................................................... 93
3.2.8.13 SDK4GetAutoMotionDetection.......................................................................................... 94
3.2.9 Look Up Table Functions .......................................................................................................... 95
3.2.9.1 SDK4SetGammaIndex ....................................................................................................... 95
3.2.9.2 SDK4GetGammaIndex....................................................................................................... 96
3.2.9.3 SDK4SetNegativeImage..................................................................................................... 97
3.2.9.4 SDK4GetNegativeImage.................................................................................................... 98
ABC Functions......................................................................................................................................... 99
3.2.9.5 SDK4SetABC..................................................................................................................... 99
3.2.9.6 SDK4GetABC .................................................................................................................. 100
3.2.9.7 SDK4SetABCStopMode ................................................................................................... 101
3.2.9.8 SDK4GetABCStopMode .................................................................................................. 102
3.2.9.9 SDK4SetABCThreshold .................................................................................................... 103
3.2.9.10 SDK4GetABCThreshold ................................................................................................... 103
3.2.9.11 SDK4GetABCXRLevel ...................................................................................................... 105
3.2.10 Defect Pixel Functions............................................................................................................. 106
3.2.10.1 SDK4SetDefectPixelAutoCompensation ........................................................................... 106
3.2.10.2 SDK4GetDefectPixelCount............................................................................................... 107
3.2.10.3 SDK4SetDefectPixelShow ................................................................................................ 107
3.2.10.4 SDK4GetDefectPixelShow................................................................................................ 109
3.2.10.5 SDK4SetDefectPixel......................................................................................................... 110
3.2.10.6 SDK4GetDefectPixel ........................................................................................................ 112
3.2.11 Image Correction Functions .................................................................................................... 114
3.2.11.1 SDK4SetShadingCorrectionMode..................................................................................... 114
3.2.11.2 SDK4GetShadingCorrectionMode.................................................................................... 115
3.2.11.3 SDK4SetShadingCorrection ............................................................................................. 116
3.2.11.4 SDK4GetShadingCorrection............................................................................................. 117
3.2.11.5 SDK4SetCircularBlankingMode........................................................................................ 118
3.2.11.6 SDK4GetCircularBlankingMode....................................................................................... 119
3.2.11.7 SDK4SetCircularBlankingSize .......................................................................................... 120
3.2.11.8 SDK4GetCircularBlankingSize.......................................................................................... 121
3.2.11.9 SDK4SetCircularBlankingPosition .................................................................................... 122
3.2.11.10 SDK4GetCircularBlankingPosition ................................................................................... 123
3.2.12 Internal Test Functions............................................................................................................ 124
3.2.12.1 SDK4SetTestPattern ........................................................................................................ 124
3.2.12.2 SDK4GetTestPattern ....................................................................................................... 125
3.2.12.3 SDK4GetTemperature ..................................................................................................... 126
3.2.13 Basic Settings Functions ......................................................................................................... 126
3.2.13.1 SDK4SaveSettings ........................................................................................................... 126
3.2.13.2 SDK4LoadSettings........................................................................................................... 127
3.2.13.3 SDK4SetStartupSettings .................................................................................................. 128
3.2.13.4 SDK4GetStartupSettings ................................................................................................. 129
5
3.2.13.5 SDK4SetAccessMode....................................................................................................... 129
3.2.13.6 SDK4GetAccessMode...................................................................................................... 131
3.2.13.7 SDK4GetOperationMode................................................................................................. 132
3.2.14 Motor Control Functions......................................................................................................... 132
3.2.14.1 SDK4MotorSetControl..................................................................................................... 132
3.2.14.2 SDK4MotorGetControl .................................................................................................... 133
3.3 Appendix ....................................................................................................................................... 135
3.3.1 Enumerations SDK4Acquire .................................................................................................... 135
3.3.1.1 ENUM_DEVICE_ACCESS................................................................................................. 135
3.3.1.2 ENUM_PIXELFORMAT .................................................................................................... 136
3.3.1.3 ENUM_MEDIATYPE ........................................................................................................ 137
3.3.2 Enumerations SDK4H3XRControl ............................................................................................ 137
3.3.2.1 SDK4_ENUM_SWITCH.................................................................................................... 137
3.3.2.2 SDK4_ENUM_EXPOSUREMODE...................................................................................... 137
3.3.2.3 SDK4_ENUM_AGC ......................................................................................................... 138
3.3.2.4 SDK4_ENUM_COLORCODING ........................................................................................ 138
3.3.2.5 SDK4_ENUM_IMAGEHOLD............................................................................................. 138
3.3.2.6 SDK4_ENUM_RECURSIVEFILTER..................................................................................... 138
3.3.2.7 SDK4_ENUM_OVERLAYSELECT ...................................................................................... 139
3.3.2.8 SDK4_ENUM_LINESTYLE ................................................................................................ 139
3.3.2.9 SDK4_ENUM_OVERLAYWIDTH....................................................................................... 139
3.3.2.10 SDK4_ENUM_MFCOLOR ................................................................................................ 139
3.3.2.11 SDK4_ENUM_PATTERNGENERATOR_SELECT ................................................................. 139
3.3.2.12 SDK4_ENUM_PATTERN.................................................................................................. 140
3.3.2.13 SDK4_ENUM_SETTINGS ................................................................................................. 140
3.3.2.14 SDK4_ENUM_ACCESSMODE .......................................................................................... 140
3.3.2.15 SDK4_ENUM_OPERATIONMODE.................................................................................... 140
3.3.2.16 SDK4_ENUM_ABC ......................................................................................................... 141
3.3.2.17 SDK4_ENUM_ABC_SELECT ............................................................................................ 141
3.3.2.18 SDK4_ENUM_SHADINGSELECT ...................................................................................... 141
3.3.2.19 SDK4_ENUM_DEFECTPIXEL_MODE ................................................................................ 141
3.3.2.20 SDK4_ENUM_HISTOEQUAL ............................................................................................ 142
3.3.3 Structures SDK4H3XRControl.................................................................................................. 142
3.3.3.1 SDK4_KOVERLAYSIZE..................................................................................................... 142
3.3.3.2 SDK4_KSTYLE................................................................................................................. 142
3.3.3.3 SDK4_KSIZE.................................................................................................................... 142
3.3.3.4 SDK4_KPOSITION ........................................................................................................... 143
3.3.3.5 SDK4_KCIRCULARPOSITION ........................................................................................... 143
3.3.3.6 SDK4_KVERSION ............................................................................................................ 143
3.3.3.7 SDK4_KREVISION ........................................................................................................... 143
3.3.3.8 SDK4_KACCESSMODE .................................................................................................... 143
3.3.3.9 SDK4_KMWCIRCLE......................................................................................................... 144
3.3.3.10 SDK4_KDEFECTPIXELSELECT........................................................................................... 144
3.3.3.11 SDK4_KDEFECTPIXEL...................................................................................................... 144
3.3.4 Definitions.............................................................................................................................. 144
3.3.4.1 DEV_HANDLE................................................................................................................. 144
3.3.4.2 CTRL_HANDLE................................................................................................................ 144
3.3.4.3 DS_HANDLE ................................................................................................................... 144
3.3.4.4 BUFFER_HANDLE ........................................................................................................... 144
3.3.5 Error Codes ............................................................................................................................ 145
3.3.5.1 SDK4_ERROR ................................................................................................................. 145
6
1 Introduction
Concept:
Kappa SDK4 is designed as a Programming Interface for QIOPTIQ LumaCam GigE cameras. SDK4 provides
functionalities for device access and image acquisition (SDK4Acquire) and for camera controlling
(SDK4H3XRControl).
Programming interface:
SDK4 provides a C-Function Interface for Windows and Linux.
SDK4Acquire provides device access and data stream access. It has two different approaches for image buffer
management, either by buffers being allocated by the application or by the engine of SDK4Acquire. Image
buffers have to be polled, there is no event or callback mechanism.
For controlling functions, SDK4Acquire provides a control handle, which is used by SDK4H3XRControl in order to
access its controlling functions.
2 Installation
System Requirements:
Operating System: Windows XP 32Bit SP3, Windows Vista 32Bit, Windows 7 32/64 Bit,
Linux 32/64 Bit (>Kernel 2.6)
CPU: Dual Core 2 GHz
RAM: 2 GB
Graphics card: 256 MB
Network card: “Jumbo-Frames” or “MTU-Size” of at least 4 kB.
2.1 Windows
Driver:
For the Windows 32-bit operating systems, Kappa provides an additional filter driver on top of the driver of the
network card, which is called Kobra Driver. Kobra Driver has to be installed after the driver of the
network card!
For the installation of Kobra Driver you find an installation tool called KobraManager on the Setup
CD in the folder \bin\32bit\KobraManager.
Binaries:
Binaries:
The Setup CD contains a folder \lib\ for each 32-bit and 64-bit operating systems. These folders contain
static libraries SDK4Acquire.lib and SDK4H3XRControl.lib.
Furthermore, the Setup CD contains a folder \bin\ for each 32-bit and 64-bit operating system. These folders
contain the following dynamic link libraries:
SDK4Acquire.dll
SDK4H3XRControl.dll
GigEVisionTL.dll
Log4cxx.dll
Kobra.dll (only in the 32bit folder)
The \include\SDK4\ folder contains header files for SDK4Acquire, the
\include\SDK4\Control\ folder contains header files for SDK4H3XRControl.
7
The folder \src\Discovery\ contains discover.cpp , a console application sample, which
demonstrates the device discovery.
The folder \src\MultiAcquire\ contains .cpp and .h files for a console application sample, which
demonstrates the use of threads for image acquiring.
The folder \src\H3XRCtrl\ contains h3xrctrl.cpp , a console application sample, which
demonstrates camera controlling.
2.2 Linux
SDK4 for Linux is available on request.
2.3 Logging
SDK4 provides a facility to log function calls. Therefore, a file named log4j.xml is needed in the execution
folder. If the file does not exist, no logging is done. An example for this type of file is provided in the folders
\bin\32bit\ and \bin\64bit\.
This file contains the logging options, such as log level, log target, log folder and file name.
Log target,
target, log
log folder and log file name:
<param name="file" value="${APPDATA}\SDK4.log" />
Log level:
<priority value="INFO" /> <!--(DEBUG, INFO or ERROR)-->
<root>
<priority value="INFO" />
<appender-ref ref="SDK4FileAppender"/>
</root>
</log4j:configuration>
8
3 Function Interface Description
3.1 SDK4Acquire
3.1.1.1 SDK4InitLib
This function initializes the library.
Return value
Error code:
SDK4_ERR_SUCCESS (0) in case of no error
SDK4_ERR_ERROR (-1001) in case of unspecified error
one of the other error codes defined in SDK4_ERROR
Example
SDK4InitLib();
...
SDK4CloseLib();
See also
SDK4CloseLib
9
3.1.1.2 SDK4CloseLib
This function closes the library.
Example
SDK4InitLib();
...
SDK4CloseLib();
See also
SDK4InitLib
10
3.1.1.3 SDK4GetNumDevices
This function finds the number of GigEVision compatible devices found in the subnet.
Parameters
piNumDevices (int32_t*)
Pointer to the number of devices
Return value
Error code:
SDK4_ERR_SUCCESS (0) in case of no error
SDK4_ERR_ERROR (-1001) in case of unspecified error
one of the other error codes defined in SDK4_ERROR
Example
SDK4InitLib();
int numDevices=0;
SDK4_ERROR err = SDK4GetNumDevices(&numDevices);
SDK4CloseLib();
See also
SDK4InitLib
SDK4CloseLib
11
3.1.1.4 SDK4GetDeviceID
This function gets the device ID (devicename) corresponding the specified device index.
Return value
Error code:
SDK4_ERR_SUCCESS (0) in case of no error
SDK4_ERR_ERROR (-1001) in case of unspecified error
one of the other error codes defined in SDK4_ERROR
Example
SDK4InitLib();
int32_t numDevices=0;
SDK4GetNumDevices(&numDevices);
for(uint32_t i = 0; i < numDevices; i++)
{
char sName[256];
int32_t sizeName=sizeof(sName);
SDK4GetDeviceID(i,sName,&sizeName);
cout << "[" << i+1 << "] " << sName << endl;
}
...
SDK4CloseLib();
See also
SDK4InitLib
SDK4CloseLib
SDK4GetNumDevices
3.1.1.5 SDK4OpenDevice
This function opens the device with the specified devicename and gives the device handle.
12
phDev(DEV_HANDLE *)
The pointer to the handle of the device
Return value
Error code:
SDK4_ERR_SUCCESS (0) in case of no error
SDK4_ERR_ERROR (-1001) in case of unspecified error
one of the other error codes defined in SDK4_ERROR
Remarks
There are 3 different device access modes, specified in ENUM_DEVICE_ACCESS:
• The access can be “exclusive”, i. e. no other process has access to the camera.
• The access can be “read only”, i. e. the process can monitor the data stream from the camera, but has
no access to controlling functions.
• The access can be a “control” access, i. e. the application has controlling access and allows other
processes to have monitor access.
Example
SDK4InitLib();
int32_t numDevices=0;
SDK4GetNumDevices(&numDevices);
char sName[256];
int32_t sizeName=sizeof(sName);
DEV_HANDLE hDev;
if (numDevices>0)
{
SDK4GetDeviceID(0,sName,&sizeName);
SDK4OpenDevice(sName,DEVICEACCESS_CONTROL,&hDev);
...
SDK4CloseDevice(hDev);
}
...
SDK4CloseLib();
See also
DEV_HANDLE
ENUM_DEVICE_ACCESS
SDK4CloseDevice
13
3.1.1.6 SDK4CloseDevice
This function closes the device with the specified device handle.
Return value
Error code:
SDK4_ERR_SUCCESS (0) in case of no error
SDK4_ERR_ERROR (-1001) in case of unspecified error
one of the other error codes defined in SDK4_ERROR
Example
SDK4InitLib();
int32_t numDevices=0;
SDK4GetNumDevices(&numDevices);
char sName[256];
int32_t sizeName=sizeof(sName);
DEV_HANDLE hDev;
if (numDevices>0)
{
SDK4GetDeviceID(0,sName,&sizeName);
SDK4OpenDevice(sName,DEVICEACCESS_CONTROL,&hDev);
...
SDK4CloseDevice(hDev);
}
...
SDK4CloseLib();
See also
DEV_HANDLE
ENUM_DEVICE_ACCESS
SDK4OpenDevice
14
3.1.1.7 SDK4DevStartAcquisition
This function starts the image acquisition of the device specified by its device handle.
Return value
Error code:
SDK4_ERR_SUCCESS (0) in case of no error
SDK4_ERR_ERROR (-1001) in case of unspecified error
one of the other error codes defined in SDK4_ERROR
Remarks
This function is only accessible by processes which have control or exclusive device access.
Example
SDK4InitLib();
DEV_HANDLE hDev;
...
SDK4DevStartAcquisition (hDev);
SDK4DevStopAcquisition (hDev);
...
SDK4CloseLib();
See also
DEV_HANDLE
SDK4DevStopAcquisition
ENUM_DEVICE_ACCESS
15
3.1.1.8 SDK4DevStopAcquisition
This function stops the image acquisition of the device specified by its device handle.
Parameters
hDev(DEV_HANDLE)
the handle of the device
Return value
Error code:
SDK4_ERR_SUCCESS (0) in case of no error
SDK4_ERR_ERROR (-1001) in case of unspecified error
one of the other error codes defined in SDK4_ERROR
Remarks
This function is only accessible by processes which have control or exclusive device access.
Example
SDK4InitLib();
DEV_HANDLE hDev;
...
SDK4DevStartAcquisition (hDev);
SDK4DevStopAcquisition (hDev);
...
SDK4CloseLib();
See also
DEV_HANDLE
SDK4DevStartAcquisition
ENUM_DEVICE_ACCESS
16
3.1.1.9 SDK4DevGetControl
This function gives the control handle of the device, specified by its device handle.
Parameters
hDev(DEV_HANDLE)
the handle of the device
phCtrl(CTRL_HANDLE*)
The pointer to the control handle of the device
Return value
Error code:
SDK4_ERR_SUCCESS (0) in case of no error
SDK4_ERR_ERROR (-1001) in case of unspecified error
one of the other error codes defined in SDK4_ERROR
Remarks
This function is only accessible by processes which have control or exclusive device access.
Example
DEV_HANDLE hDev;
char sName[256];
int32_t sizeName=sizeof(sName);
SDK4GetDeviceID(0,sName,&sizeName);
DEV_HANDLE hDev;
SDK4OpenDevice(sName,DEVICEACCESS_CONTROL,&hDev);
CTRL_HANDLE hCtrl;
SDK4DevGetControl(hDev, &hCtrl);
SDK4CloseDevice(hDev);
See also
DEV_HANDLE
CTRL_HANDLE
SDK4OpenDevice
ENUM_DEVICE_ACCESS
3.1.1.10 SDK4DevGetDataStream
This function gives the handle to the data stream of the device, specified by its device handle.
Parameters
hDev(DEV_HANDLE)
the handle of the device
phDataStream (DEV_HANDLE *)
pointer to the data stream handle of the device
17
Return value
Error code:
SDK4_ERR_SUCCESS (0) in case of no error
SDK4_ERR_ERROR (-1001) in case of unspecified error
one of the other error codes defined in SDK4_ERROR
Remarks
This function is accessible in all device access modes.
Example
DEV_HANDLE hDev;
char sName[256];
int32_t sizeName=sizeof(sName);
SDK4GetDeviceID(0,sName,&sizeName);
DEV_HANDLE hDev;
SDK4OpenDevice(sName,DEVICEACCESS_CONTROL,&hDev);
DS_HANDLE hDataStream;
SDK4DevGetDataStream(hDev, &hDataStream);
SDK4CloseDevice(hDev);
See also
DEV_HANDLE
DS_HANDLE
SDK4OpenDevice
18
3.1.1.11 SDK4DevGetClassID
This function gets the device class ID of the device (device class name).
Parameters
hDev(DEV_HANDLE)
the handle of the device
sID(char * )
The character array of the class ID
piSize(int32_t *)
The pointer to the maximal size of the array
Return value
Error code:
SDK4_ERR_SUCCESS (0) in case of no error
SDK4_ERR_ERROR (-1001) in case of unspecified error
one of the other error codes defined in SDK4_ERROR
Remarks
The result of this function is “Hires3XR” in case of a Kappa Hires3XR camera.
Example
DEV_HANDLE hDev;
char sName[256];
int32_t sizeName=sizeof(sName);
SDK4GetDeviceID(0,sName,&sizeName);
DEV_HANDLE hDev;
SDK4OpenDevice(sName,DEVICEACCESS_CONTROL,&hDev);
char sClassId[256];
int32_t sizeClassId=sizeof(sClassId);
SDK4DevGetClassID(hDev, sClassId, &sizeClassId);
SDK4CloseDevice(hDev);
See also
DEV_HANDLE
SDK4OpenDevice
19
3.1.1.12 SDK4DevGetModel
This function gets the model of the device.
Parameters
hDev(DEV_HANDLE)
the handle of the device
sModel (char * )
The character array of the model name
piSize(int32_t *)
The pointer to the maximal size of the array
Return value
Error code:
SDK4_ERR_SUCCESS (0) in case of no error
SDK4_ERR_ERROR (-1001) in case of unspecified error
one of the other error codes defined in SDK4_ERROR
Remarks
The result of this function is the specific model of Hires3XR camera, for example “Hires3XR”.
Example
DEV_HANDLE hDev;
char sName[256];
int32_t sizeName=sizeof(sName);
SDK4GetDeviceID(0,sName,&sizeName);
DEV_HANDLE hDev;
SDK4OpenDevice(sName,DEVICEACCESS_CONTROL,&hDev);
static char sModel[256];
int32_t sizeModel=sizeof(sModel);
SDK4DevGetModel(hDev, sModel, &sizeModel);
SDK4CloseDevice(hDev);
See also
DEV_HANDLE
SDK4OpenDevice
20
3.1.2 Data Stream Functions
3.1.2.1 SDK4DSGetPayloadSize
This function gets the payload size of the image frames.
Parameters
hDataStream (DS_HANDLE)
The data stream handle
piSize (uint32_t*)
The pointer to the payload size
Return value
Error code:
SDK4_ERR_SUCCESS (0) in case of no error
SDK4_ERR_ERROR (-1001) in case of unspecified error
one of the other error codes defined in SDK4_ERROR
Remarks
This function is useful to determine the buffer size, which is needed for data stream buffer allocation and
announcement.
Example
DEV_HANDLE hDev;
...
DS_HANDLE hDataStream;
SDK4DevGetDataStream(hDev, &hDataStream);
int32_t iSize=0;
SDK4DSGetPayloadSize(hDataStream, &iSize);
See also
DEV_HANDLE
DS_HANDLE
SDK4DevGetDataStream
SDK4DSAllocAndAnnounceBuffer
SDK4DSAnnounceBuffer
21
3.1.2.2 SDK4DSAnnounceBuffer
This function announces an image buffer to the stream engine, which was allocated by the application.
Parameters
hDataStream (DS_HANDLE)
The data stream handle
pBuffer(void *)
The pointer to the image buffer
iSize(size_t )
The size of the private buffer
pPrivate(void *)
The pointer to a buffer, which contains private data, which is linked to the image buffer
phBuffer(BUFFER_HANDLE *)
The pointer to the buffer handle, which is returned
Return value
Error code:
SDK4_ERR_SUCCESS (0) in case of no error
SDK4_ERR_ERROR (-1001) in case of unspecified error
one of the other error codes defined in SDK4_ERROR
Example
DS_HANDLE hDataStream;
...
BUFFER_HANDLE * hBuffer;
nBuffers=3;
SDK4DSGetPayloadSize(hDataStream,&nPayloadSize);
hBuffer = (BUFFER_HANDLE*) malloc(nBuffers*sizeof(BUFFER_HANDLE));
for(int i=0;i<nBuffers;i++)
{
SDK4DSAnnounceBuffer(hDataStream,
new uint8_t[nPayloadSize],nPayloadSize,
new uint8_t[4],&hBuffer[i]);
SDK4DSQueueBuffer(hDataStream,hBuffer[i]);
}
See also
DEV_HANDLE
DS_HANDLE
SDK4DSAllocAndAnnounceBuffer
SDK4DSQueueBuffer
SDK4DSRevokeBuffer
22
3.1.2.3 SDK4DSAllocAndAnnounceBuffer
This function announces an image buffer to the stream engine, which is to be allocated by the engine.
Parameters
hDataStream (DS_HANDLE)
The data stream handle
pBuffer(void *)
The pointer to the image buffer
iSize(size_t )
The size of the private buffer
pPrivate(void *)
The pointer to a buffer, which contains private data, which is linked to the image buffer
phBuffer(BUFFER_HANDLE *)
The pointer to the buffer handle, which is returned
Return value
Error code:
SDK4_ERR_SUCCESS (0) in case of no error
SDK4_ERR_ERROR (-1001) in case of unspecified error
one of the other error codes defined in SDK4_ERROR
Example
DS_HANDLE hDataStream;
...
BUFFER_HANDLE * hBuffer;
nBuffers=3;
SDK4DSGetPayloadSize(hDataStream,&nPayloadSize);
hBuffer = (BUFFER_HANDLE*) malloc(nBuffers*sizeof(BUFFER_HANDLE));
for(int i=0;i<nBuffers;i++)
{
SDK4DSAllocAndAnnounceBuffer(
hDataStream,nPayloadSize,NULL,&hBuffer[i]);
SDK4DSQueueBuffer(hDataStream,hBuffer[i]);
}
See also
DEV_HANDLE
DS_HANDLE
SDK4DSAnnounceBuffer
SDK4DSQueueBuffer
SDK4DSRevokeBuffer
23
3.1.2.4 SDK4DSQueueBuffer
This function gives an image buffer back to the queue, when it is not used anymore.
Parameters
hDataStream (DS_HANDLE)
The data stream handle
hBuffer(BUFFER_HANDLE)
the buffer handle
Return value
Error code:
SDK4_ERR_SUCCESS (0) in case of no error
SDK4_ERR_ERROR (-1001) in case of unspecified error
one of the other error codes defined in SDK4_ERROR
Example
DS_HANDLE hDataStream;
...
SDK4DevStartAcquisition(hDev);
BUFFER_HANDLE hTempBuffer;
void* pBuffer;
uint32_t size;
int32_t bIsComplete=0;
SDK4DSWaitForBuffer(hDataStream,&hTempBuffer,nTimeout);
SDK4BufferGetPtr(hTempBuffer,&pBuffer);
SDK4BufferGetSize(hTempBuffer,&size);
SDK4BufferIsComplete(hTempBuffer,&bIsComplete);
ASSERT(1,bIsComplete);
if (SDK4BufferSizeFilled(hTempBuffer,&sizeFilled)==SDK4_ERR_SUCCESS)
{
SDK4DSQueueBuffer(hDataStream,hTempBuffer);
}
SDK4DevStopAcquisition(hDev);
See also
DS_HANDLE
BUFFER_HANDLE
SDK4DSAllocAndAnnounceBuffer
SDK4DSAnnounceBuffer
SDK4DSRevokeBuffer
24
3.1.2.5 SDK4DSWaitForBuffer
This function waits for an image buffer to be filled. If the function call was successful,
the pointer to a buffer handle is returned.
Parameters
hDataStream (DS_HANDLE)
The data stream handle
phBuffer(BUFFER_HANDLE* )
The pointer to the buffer handle, which is returned
Timeout(uint32_t )
The timeout in milliseconds
Return value
Error code:
SDK4_ERR_SUCCESS (0) in case of no error
SDK4_ERR_ERROR (-1001) in case of unspecified error
one of the other error codes defined in SDK4_ERROR
Example
DS_HANDLE hDataStream;
...
SDK4DevStartAcquisition(hDev);
BUFFER_HANDLE hTempBuffer;
void* pBuffer;
uint32_t size;
int32_t bIsComplete=0;
SDK4DSWaitForBuffer(hDataStream,&hTempBuffer,nTimeout);
...
SDK4DSQueueBuffer(hDataStream,hTempBuffer);
...
SDK4DevStopAcquisition(hDev);
See also
DS_HANDLE
BUFFER_HANDLE
SDK4DSAllocAndAnnounceBuffer
SDK4DSAnnounceBuffer
SDK4DSQueueBuffer
25
3.1.2.6 SDK4DSFlushQueue
This function removes all image buffers from the image queue.
Parameters
hDataStream (DS_HANDLE)
The data stream handle
Return value
Error code:
SDK4_ERR_SUCCESS (0) in case of no error
SDK4_ERR_ERROR (-1001) in case of unspecified error
one of the other error codes defined in SDK4_ERROR
Example
for(int i=0;i<nBuffers;i++)
{
SDK4DSAnnounceBuffer(hDataStream,
new uint8_t[nPayloadSize],nPayloadSize,
new uint8_t[4],&hBuffer[i]);
SDK4DSQueueBuffer(hDataStream,hBuffer[i]);
}
SDK4DevStartAcquisition(hDev);
BUFFER_HANDLE hTempBuffer;
void* pBuffer;
uint32_t size;
int32_t bIsComplete=0;
SDK4DSWaitForBuffer(hDataStream,&hTempBuffer,nTimeout);
...
SDK4DSQueueBuffer(hDataStream,hTempBuffer);
SDK4DevStopAcquisition(hDev);
SDK4DSFlushQueue(hDataStream);
for(int i=0;i<nBuffers;i++)
{
void* pBuffer=NULL;
void* pPrivate=NULL;
SDK4DSRevokeBuffer(hDataStream,hBuffer[i],&pBuffer,&pPrivate);
if (pBuffer!=NULL)
delete pBuffer;
if (pPrivate!=NULL)
delete pPrivate;
}
See also
DS_HANDLE
SDK4DSAllocAndAnnounceBuffer
SDK4DSAnnounceBuffer
SDK4DSQueueBuffer
26
3.1.2.7 SDK4DSRevokeBuffer
This function deletes an image buffer, which has been announced previously. When the image format has been
changed, this has to be done, before new buffer(s) with a changed size is (are) going to be announced.
Parameters
hDataStream (DS_HANDLE)
The data stream handle
hBuffer(BUFFER_HANDLE )
The buffer handle
ppBuffer(void **)
The pointer to the image buffer
ppPrivate(void **)
The pointer to the private buffer
Return value
Error code:
SDK4_ERR_SUCCESS (0) in case of no error
SDK4_ERR_ERROR (-1001) in case of unspecified error
one of the other error codes defined in SDK4_ERROR
Example
for(int i=0;i<nBuffers;i++)
{
SDK4DSAnnounceBuffer(hDataStream,
new uint8_t[nPayloadSize],nPayloadSize,
new uint8_t[4],&hBuffer[i]);
SDK4DSQueueBuffer(hDataStream,hBuffer[i]);
}
SDK4DevStartAcquisition(hDev);
BUFFER_HANDLE hTempBuffer;
void* pBuffer;
uint32_t size;
int32_t bIsComplete=0;
SDK4DSWaitForBuffer(hDataStream,&hTempBuffer,nTimeout);
...
SDK4DSQueueBuffer(hDataStream,hTempBuffer);
SDK4DevStopAcquisition(hDev);
SDK4DSFlushQueue(hDataStream);
for(int i=0;i<nBuffers;i++)
{
void* pBuffer=NULL;
void* pPrivate=NULL;
SDK4DSRevokeBuffer(hDataStream,hBuffer[i],&pBuffer,&pPrivate);
if (pBuffer!=NULL)
delete pBuffer;
if (pPrivate!=NULL)
delete pPrivate;
}
27
See also
DS_HANDLE
SDK4DSAllocAndAnnounceBuffer
SDK4DSAnnounceBuffer
SDK4DSQueueBuffer
3.1.3.1 SDK4DSGetWidth
This function returns the image width.
Parameters
hDataStream (DS_HANDLE)
The data stream handle
pWidth(int32_t*)
The pointer to the image width
Return value
Error code:
SDK4_ERR_SUCCESS (0) in case of no error
SDK4_ERR_ERROR (-1001) in case of unspecified error
one of the other error codes defined in SDK4_ERROR
Example
DEV_HANDLE hDev;
...
DS_HANDLE hDataStream;
SDK4DevGetDataStream(hDev, &hDataStream);
int32_t iWidth;
SDK4DSGetWidth(DS_HANDLE hDataStream, &iWidth);
See also
DS_HANDLE
SDK4DevGetDataStream
28
3.1.3.2 SDK4DSGetHeight
This function returns the image height.
Parameters
hDataStream (DS_HANDLE)
The data stream handle
pHeight(int32_t*)
The pointer to the image height
Return value
Error code:
SDK4_ERR_SUCCESS (0) in case of no error
SDK4_ERR_ERROR (-1001) in case of unspecified error
one of the other error codes defined in SDK4_ERROR
Example
DEV_HANDLE hDev;
...
DS_HANDLE hDataStream;
SDK4DevGetDataStream(hDev, &hDataStream);
int32_t iHeight;
SDK4DSGetHeight(DS_HANDLE hDataStream, &iHeight);
See also
DS_HANDLE
SDK4DevGetDataStream
29
3.1.3.3 SDK4DSGetPixelFormat
This function returns the pixelformat of the image.
Parameters
hDataStream (DS_HANDLE)
The data stream handle
pFormat (ENUM_PIXELFORMAT*)
The pointer to the pixelformat
Return value
Error code:
SDK4_ERR_SUCCESS (0) in case of no error
SDK4_ERR_ERROR (-1001) in case of unspecified error
one of the other error codes defined in SDK4_ERROR
Example
Example
DEV_HANDLE hDev;
...
DS_HANDLE hDataStream;
SDK4DevGetDataStream(hDev, &hDataStream);
ENUM_PIXELFORMAT iFormat;
SDK4DSGetPixelFormat(DS_HANDLE hDataStream, &iFormat);
See also
DS_HANDLE
SDK4DevGetDataStream
ENUM_PIXELFORMAT
3.1.3.4 SDK4DSGetTimePerFrame
This function returns the time per frame of the data stream.
Parameters
hDataStream (DS_HANDLE)
The data stream handle
pTimePerFrame (int32_t*)
The pointer to the “time per frame” variable
Return value
Error code:
SDK4_ERR_SUCCESS (0) in case of no error
SDK4_ERR_ERROR (-1001) in case of unspecified error
one of the other error codes defined in SDK4_ERROR
30
Remarks
The unit of time per frame is 100 ns.
Example
DEV_HANDLE hDev;
...
DS_HANDLE hDataStream;
SDK4DevGetDataStream(hDev, &hDataStream);
int32_t iTimePerFrame;
SDK4DSGetTimePerFrame (DS_HANDLE hDataStream, &iTimePerFrame);
See also
DS_HANDLE
SDK4DevGetDataStream
3.1.4.1 SDK4BufferGetPtr
This function returns the pointer to the image buffer related to the buffer handle.
Parameters
hBuffer(BUFFER_HANDLE )
The buffer handle
ppPtr(void** )
The pointer to the image buffer
Return value
Error code:
SDK4_ERR_SUCCESS (0) in case of no error
SDK4_ERR_ERROR (-1001) in case of unspecified error
one of the other error codes defined in SDK4_ERROR
Example
...
BUFFER_HANDLE hBuffer;
void* pBuffer;
SDK4DSWaitForBuffer(hDataStream,&hBuffer,nTimeout);
SDK4BufferGetPtr(hBuffer,&pBuffer);
See also
BUFFER_HANDLE
SDK4DSWaitForBuffer
31
3.1.4.2 SDK4BufferGetPrivatePtr
This function returns the pointer to the private buffer related to the buffer handle.
Parameters
hBuffer(BUFFER_HANDLE )
The buffer handle
ppPrivatePtr (void** )
The pointer to the private buffer
Return value
Error code:
SDK4_ERR_SUCCESS (0) in case of no error
SDK4_ERR_ERROR (-1001) in case of unspecified error
one of the other error codes defined in SDK4_ERROR
Example
...
BUFFER_HANDLE hBuffer;
void* pPrivatePtr;
SDK4DSWaitForBuffer(hDataStream,&hBuffer,nTimeout);
SDK4BufferGetPrivatePtr(hBuffer,&pPrivatePtr);
See also
BUFFER_HANDLE
SDK4DSWaitForBuffer
32
3.1.4.3 SDK4BufferGetSize
This function returns the size of the image buffer related to the buffer handle.
Parameters
hBuffer(BUFFER_HANDLE )
The buffer handle
pSize (uint32_t * )
The pointer to the buffer size
Return value
Error code:
SDK4_ERR_SUCCESS (0) in case of no error
SDK4_ERR_ERROR (-1001) in case of unspecified error
one of the other error codes defined in SDK4_ERROR
Example
...
BUFFER_HANDLE hBuffer;
uint32_t size;
SDK4DSWaitForBuffer(hDataStream,&hBuffer,nTimeout);
SDK4BufferGetSize(hBuffer,&size);
See also
BUFFER_HANDLE
SDK4DSWaitForBuffer
33
3.1.4.4 SDK4BufferIsComplete
This function returns 1, if the buffer was transmitted completely, and 0, if the transmission was incomplete, i. e.
there were packets lost.
Parameters
hBuffer(BUFFER_HANDLE )
The buffer handle
pIsComplete (uint32_t * )
The pointer to the "transmission complete" variable
Return value
Error code:
SDK4_ERR_SUCCESS (0) in case of no error
SDK4_ERR_ERROR (-1001) in case of unspecified error
one of the other error codes defined in SDK4_ERROR
Example
...
BUFFER_HANDLE hBuffer;
void* pBuffer;
int32_t bIsComplete=0;
SDK4DSWaitForBuffer(hDataStream,& hBuffer,nTimeout);
SDK4BufferIsComplete(hBuffer,&bIsComplete);
See also
BUFFER_HANDLE
SDK4DSWaitForBuffer
34
3.1.4.5 SDK4BufferSizeFilled
This function returns the number of bytes, with which the buffer was filled.
If SDK4BufferIsComplete returns 1, this number should be equal to the value, returned by
SDK4DSGetPayloadSize.
If SDK4BufferIsComplete returns 0, this number, compared to the value of SDK4DSGetPayloadSize, indicates the
number of lost bytes.
Parameters
hBuffer(BUFFER_HANDLE )
The buffer handle
pSizeFilled (uint32_t * )
The pointer to the number of transmitted bytes
Return value
Error code:
SDK4_ERR_SUCCESS (0) in case of no error
SDK4_ERR_ERROR (-1001) in case of unspecified error
one of the other error codes defined in SDK4_ERROR
Example
DS_HANDLE hDataStream;
...
SDK4DevStartAcquisition(hDev);
BUFFER_HANDLE hBuffer;
int32_t bIsComplete=0;
int32_t sizeFilled=0;
SDK4DSWaitForBuffer(hDataStream,& hBuffer,nTimeout);
SDK4BufferIsComplete(hBuffer,&bIsComplete);
if (!bIsComplete)
SDK4BufferSizeFilled(hBuffer,&sizeFilled);
See also
BUFFER_HANDLE
SDK4DSWaitForBuffer
35
3.2 SDK4H3XRControl
3.2.1.1 SDK4GetGigEVersion
This function gets the current Version of GigEVision Standard, the camera is conform to.
Parameters
hCtrl(CTRL_HANDLE )
The control handle of the device
puGigEVersion (uint32_t * )
The pointer to the version value
Return value
Error code:
SDK4_ERR_SUCCESS (0) in case of no error
SDK4_ERR_ERROR (-1001) in case of unspecified error
one of the other error codes defined in SDK4_ERROR
Remarks
The actual cameras are conform to GigEVision Version 1.1. (version value 0x00010001).
Example
Example
...
DEV_HANDLE hDev;
CTRL_HANDLE hCtrl;
SDK4DevGetControl(hDev, &hCtrl);
uint32_t uGigEVersion = 0;
SDK4GetGigEVersion(hCtrl,&uGigEVersion);
See also
SDK4DevGetControl
CTRL_HANDLE
36
3.2.1.2 SDK4GetMacAddress
This function gets the MAC Address of the camera.
Parameters
hCtrl(CTRL_HANDLE )
The control handle of the device
psMacAddress(char * )
the character array of the MAC Address</param>
piSize(int32_t *)
the pointer to the maximal array size
Return value
Error code:
SDK4_ERR_SUCCESS (0) in case of no error
SDK4_ERR_ERROR (-1001) in case of unspecified error
one of the other error codes defined in SDK4_ERROR
Example
...
DEV_HANDLE hDev;
CTRL_HANDLE hCtrl;
SDK4DevGetControl(hDev, &hCtrl);
char sMacAddress [256];
int32_t size=sizeof(sMacAddress);
SDK4GetMacAddress(hCtrl,&sMacAddress, &size);
See also
SDK4DevGetControl
CTRL_HANDLE
37
3.2.1.3 SDK4GetCurrentIPAddress
This function gets the current IP Address of the camera.
Parameters
hCtrl(CTRL_HANDLE )
The control handle of the device
psIPAddress (char * )
the character array of the IP Address</param>
piSize(int32_t *)
the pointer to the maximal array size
Return value
Error code:
SDK4_ERR_SUCCESS (0) in case of no error
SDK4_ERR_ERROR (-1001) in case of unspecified error
one of the other error codes defined in SDK4_ERROR
Example
...
DEV_HANDLE hDev;
CTRL_HANDLE hCtrl;
SDK4DevGetControl(hDev, &hCtrl);
char sIPAddress [256];
int32_t size=sizeof(sIPAddress);
SDK4GetCurrentIPAddress (hCtrl,&sIPAddress, &size);
See also
SDK4DevGetControl
CTRL_HANDLE
38
3.2.1.4 SDK4GetCurrentSubnetmask
This function gets the current Subnet mask of the camera.
Parameters
hCtrl(CTRL_HANDLE )
The control handle of the device
psSubnetmask (char * )
the character array of the Subnet Mask</param>
piSize(int32_t *)
the pointer to the maximal array size
Return value
Error code:
SDK4_ERR_SUCCESS (0) in case of no error
SDK4_ERR_ERROR (-1001) in case of unspecified error
one of the other error codes defined in SDK4_ERROR
Example
...
DEV_HANDLE hDev;
CTRL_HANDLE hCtrl;
SDK4DevGetControl(hDev, &hCtrl);
char sSubnetmask [256];
int32_t size=sizeof(sSubnetmask);
SDK4GetCurrentSubnetmask (hCtrl,&sSubnetmask, &size);
See also
SDK4DevGetControl
CTRL_HANDLE
39
3.2.1.5 SDK4GetCurrentDefaultGateway
This function gets the Default Gateway of the camera.
Parameters
hCtrl(CTRL_HANDLE )
The control handle of the device
psDefaultGateway (char * )
the character array of the Default Gateway</param>
piSize(int32_t *)
the pointer to the maximal array size
Return value
Error code:
SDK4_ERR_SUCCESS (0) in case of no error
SDK4_ERR_ERROR (-1001) in case of unspecified error
one of the other error codes defined in SDK4_ERROR
Example
...
DEV_HANDLE hDev;
CTRL_HANDLE hCtrl;
SDK4DevGetControl(hDev, &hCtrl);
char sDefaultGateway [256];
int32_t size=sizeof(sDefaultGateway);
SDK4GetCurrentDefaultGateway (hCtrl,& sDefaultGateway, &size);
See also
SDK4DevGetControl
CTRL_HANDLE
40
3.2.1.6 SDK4SetPacketSize
This function sets the packet size of the UDP packets, by which the image frames are sent by the camera.
Parameters
hCtrl (CTRL_HANDLE )
The control handle of the device
uPacketSize (uint32_t )
the packet size
Return value
Error code:
SDK4_ERR_SUCCESS (0) in case of no error
SDK4_ERR_ERROR (-1001) in case of unspecified error
one of the other error codes defined in SDK4_ERROR
Remarks
The minimal packet size should be set to 4k Bytes, otherwise packet loss could occur. Packet size must not be
greater than Jumbo frame size or MTU size of the network card. The packet size value should be increased in
steps of 32.
Example
...
DEV_HANDLE hDev;
CTRL_HANDLE hCtrl;
SDK4DevGetControl(hDev, &hCtrl);
SDK4SetPacketSize (hCtrl, 8192);
See also
SDK4DevGetControl
CTRL_HANDLE
41
3.2.1.7 SDK4GetPacketSize
This function gets the current size of the UDP streaming packets.
Parameters
hCtrl (CTRL_HANDLE )
The control handle of the device
puPacketSize (uint32_t )
the pointer to the packet size
Return value
Error code:
SDK4_ERR_SUCCESS (0) in case of no error
SDK4_ERR_ERROR (-1001) in case of unspecified error
one of the other error codes defined in SDK4_ERROR
Example
...
DEV_HANDLE hDev;
CTRL_HANDLE hCtrl;
SDK4DevGetControl(hDev, &hCtrl);
uint32_t size=0;
SDK4GetPacketSize (hCtrl, &size);
See also
SDK4DevGetControl
CTRL_HANDLE
42
3.2.2 General Device Functions
3.2.2.1 SDK4GetDeviceName
This function gets the name of the device.
Parameters
hCtrl(CTRL_HANDLE )
The control handle of the device
psDeviceName (char * )
the character array of the Device Name</param>
piSize(int32_t *)
the pointer to the maximal array size
Return value
Error code:
SDK4_ERR_SUCCESS (0) in case of no error
SDK4_ERR_ERROR (-1001) in case of unspecified error
one of the other error codes defined in SDK4_ERROR
Example
...
DEV_HANDLE hDev;
CTRL_HANDLE hCtrl;
SDK4DevGetControl(hDev, &hCtrl);
char sDeviceName [256];
int32_t size=sizeof(sDeviceName);
SDK4GetDeviceName (hCtrl,&sDeviceName, &size);
See also
SDK4DevGetControl
CTRL_HANDLE
43
3.2.2.2 SDK4GetSerialNumber
This function gets the serial number of the device.
Parameters
hCtrl(CTRL_HANDLE )
The control handle of the device
psSerialNumber (char * )
the character array of the serial number</param>
piSize(int32_t *)
the pointer to the maximal array size
Return value
Error code:
SDK4_ERR_SUCCESS (0) in case of no error
SDK4_ERR_ERROR (-1001) in case of unspecified error
one of the other error codes defined in SDK4_ERROR
Example
...
DEV_HANDLE hDev;
CTRL_HANDLE hCtrl;
SDK4DevGetControl(hDev, &hCtrl);
char sSerialNumber [256];
int32_t size=sizeof(sSerialNumber);
SDK4GetSerialNumber (hCtrl,& sSerialNumber, &size);
See also
SDK4DevGetControl
CTRL_HANDLE
44
3.2.2.3 SDK4GetFunctionModelID
This function gets the function model ID of the device.
Parameters
hCtrl(CTRL_HANDLE )
The control handle of the device
puModelID (uint32_t *)
the pointer to the function model ID
Return value
Error code:
SDK4_ERR_SUCCESS (0) in case of no error
SDK4_ERR_ERROR (-1001) in case of unspecified error
one of the other error codes defined in SDK4_ERROR
Example
...
DEV_HANDLE hDev;
CTRL_HANDLE hCtrl;
SDK4DevGetControl(hDev, &hCtrl);
uint32_t id=0;
SDK4GetFunctionModelID (hCtrl,&id);
See
Se e also
SDK4DevGetControl
CTRL_HANDLE
45
3.2.2.4 SDK4GetFunctionModelVersion
This function gets the function model version of the device.
SDK4_Error SDK4GetFunctionModelVersion(CTRL_HANDLE
hCtrl,SDK4_KVERSION * pkVersion)
Parameters
hCtrl(CTRL_HANDLE )
The control handle of the device
pkVersion (SDK4_KVERSION *)
the pointer to the function model version
Return value
Error code:
SDK4_ERR_SUCCESS (0) in case of no error
SDK4_ERR_ERROR (-1001) in case of unspecified error
one of the other error codes defined in SDK4_ERROR
Example
...
DEV_HANDLE hDev;
CTRL_HANDLE hCtrl;
SDK4DevGetControl(hDev, &hCtrl);
SDK4_KVERSION version;
SDK4GetFunctionModelVersion (hCtrl,& version);
See also
SDK4DevGetControl
CTRL_HANDLE
SDK4_KVERSION
46
3.2.2.5 SDK4GetRevision
This function gets the Revision of the device.
Parameters
hCtrl(CTRL_HANDLE )
The control handle of the device
pkRevision (SDK4_ KREVISION *)
the pointer to the revision
Return value
Error code:
SDK4_ERR_SUCCESS (0) in case of no error
SDK4_ERR_ERROR (-1001) in case of unspecified error
one of the other error codes defined in SDK4_ERROR
Example
...
DEV_HANDLE hDev;
CTRL_HANDLE hCtrl;
SDK4DevGetControl(hDev, &hCtrl);
SDK4_ KREVISION revision;
SDK4GetRevision (hCtrl,&revision);
See also
SDK4DevGetControl
CTRL_HANDLE
SDK4_ KREVISION
47
3.2.2.6 SDK4GetSoftwareVersion
This function gets the Software Version of the device.
Parameters
Parameters
hCtrl(CTRL_HANDLE )
The control handle of the device
pkVersion (SDK4_KVERSION *)
the pointer to the Software Version
Return value
Error code:
SDK4_ERR_SUCCESS (0) in case of no error
SDK4_ERR_ERROR (-1001) in case of unspecified error
one of the other error codes defined in SDK4_ERROR
Example
...
DEV_HANDLE hDev;
CTRL_HANDLE hCtrl;
SDK4DevGetControl(hDev, &hCtrl);
SDK4_KVERSION version;
SDK4GetSoftwareVersion (hCtrl,& version);
See also
SDK4DevGetControl
CTRL_HANDLE
SDK4_KVERSION
48
3.2.2.7 SDK4GetFirmwareVersion
This function gets the Firmware Version of the device.
Parameters
hCtrl(CTRL_HANDLE )
The control handle of the device
pkVersion (SDK4_KVERSION *)
the pointer to the Firmware Version
Return value
Error code:
SDK4_ERR_SUCCESS (0) in case of no error
SDK4_ERR_ERROR (-1001) in case of unspecified error
one of the other error codes defined in SDK4_ERROR
Example
...
DEV_HANDLE hDev;
CTRL_HANDLE hCtrl;
SDK4DevGetControl(hDev, &hCtrl);
SDK4_KVERSION version;
SDK4GetFirmwareVersion (hCtrl,& version);
See also
SDK4DevGetControl
CTRL_HANDLE
SDK4_KVERSION
49
3.2.3 Exposure Functions
3.2.3.1 SDK4SetExposureMode
This function sets the Exposure Mode to one of the values specified in SDK4_ENUM_EXPOSUREMODE.
Parameters
hCtrl(CTRL_HANDLE )
The control handle of the device
uMode(SDK4_ENUM_EXPOSUREMODE )
the exposure mode value
Return value
Error code:
SDK4_ERR_SUCCESS (0) in case of no error
SDK4_ERR_ERROR (-1001) in case of unspecified error
one of the other error codes defined in SDK4_ERROR
Remarks
In H3XR_ENUM_EXPOSUREMODE_FREERUNNINGPARALLEL CCD exposure and CCD readout phases will be
performed parallel. Due to this fact the exposure time is the same as CCD readout time (33 ms). In this mode
SDK4SetExposure is inactive.
In H3XR_ENUM_EXPOSUREMODE_FRAMEONDEMAND CCD exposure and CCD readout phases will be
performed sequentially. The exposure time will be controlled by the length of trigger input signal. The period
time of the trigger signal controls the image frequency. Due to this fact, the value of the Exposure Message is
not valid.
In H3XR_ENUM_EXPOSUREMODE_ASYNCEXP CCD exposure and CCD readout phases will also be performed
sequentially. The start time of CCD exposure is triggered by the trigger input signal, the duration of the CCD
exposure is specified by the function SDK4SetExpsoure. During the subsequent readout phase of 33 ms, the
next exposure can also be triggered.
Example
CTRL_HANDLE hCtrl;
...
uint32_t uReadoutTime;
SDK4_KEXPOSURE kExposure;
SDK4SetExposureMode(
hCtrl, H3XR_ENUM_EXPOSUREMODE_FREERUNNINGPARALLEL);
SDK4GetExposure(hCtrl,&kExposure);
See also
SDK4DevGetControl
CTRL_HANDLE
SDK4_ENUM_EXPOSUREMODE
SDK4SetExposure
SDK4GetExposureMode
50
3.2.3.2 SDK4GetExposureMode
This function gets the current value of the Exposure Mode.
Parameters
hCtrl(CTRL_HANDLE )
The control handle of the device
puMode(SDK4_ENUM_EXPOSUREMODE *)
the pointer to the exposure mode value
Return value
Error code:
SDK4_ERR_SUCCESS (0) in case of no error
SDK4_ERR_ERROR (-1001) in case of unspecified error
one of the other error codes defined in SDK4_ERROR
Example
CTRL_HANDLE hCtrl;
...
SDK4_ENUM_EXPOSUREMODE uMode;
SDK4GetExposureMode(hCtrl, &uMode);
See also
SDK4DevGetControl
CTRL_HANDLE
SDK4_ENUM_EXPOSUREMODE
SDK4SetExposureMode
51
3.2.3.3 SDK4SetExposure
This function sets the Exposure Time in ms.
Parameters
hCtrl(CTRL_HANDLE )
The control handle of the device
uExposure (uint32_t)
the exposure time value
Return value
Error code:
SDK4_ERR_SUCCESS (0) in case of no error
SDK4_ERR_ERROR (-1001) in case of unspecified error
one of the other error codes defined in SDK4_ERROR
Remarks
Exposure time has a range from 0 to 2000 ms, in units of 1 ms. It can only be controlled manually, when the
Exposure Mode has been set to H3XR_ENUM_EXPOSUREMODE_ASYNCEXP.
Example
CTRL_HANDLE hCtrl;
...
SDK4SetExposureMode(hCtrl, H3XR_ENUM_EXPOSUREMODE_ASYNCEXP);
// Set ExposureTime to 300 ms:
SDK4SetExposure(hCtrl, 300);
See also
SDK4DevGetControl
CTRL_HANDLE
SDK4SetExposureMode
SDK4GetExposure
52
3.2.3.4 SDK4GetExposure
This function gets the current value of the Exposure Time (in ms).
Parameters
hCtrl(CTRL_HANDLE )
The control handle of the device
puExposure (uint32_t*)
the pointer to the exposure time value
Return value
Error code:
SDK4_ERR_SUCCESS (0) in case of no error
SDK4_ERR_ERROR (-1001) in case of unspecified error
one of the other error codes defined in SDK4_ERROR
Example
CTRL_HANDLE hCtrl;
...
uint32_t uExposure;
SDK4GetExposure(hCtrl,&uExposure);
See also
SDK4DevGetControl
CTRL_HANDLE
SDK4SetExposure
53
3.2.4 Gain Functions
3.2.4.1 SDK4SetGain
This function sets the manual gain of the camera.
Parameters
hCtrl(CTRL_HANDLE )
The control handle of the device
uGain(uint32_t )
the gain value
Return value
Error code:
SDK4_ERR_SUCCESS (0) in case of no error
SDK4_ERR_ERROR (-1001) in case of unspecified error
one of the other error codes defined in SDK4_ERROR
Remarks
This function is only active, when AGC is switched off. The values range between 0 and 568 (0 to 20 dB, each
step 0.0359 dB).
Example
CTRL_HANDLE hCtrl;
...
SDK4_ENUM_AGC uAGC;
SDK4GetAGC(hCtrl, &uAGC);
// if possible, set gain to 10:
if (uAGC == H3XR_ENUM_AGC_OFF)
SDK4SetGain(hCtrl, 10);
See also
SDK4DevGetControl
CTRL_HANDLE
SDK4GetGain
SDK4GetAGC
54
3.2.4.2 SDK4GetGain
This function gets the current gain value of the camera.
Parameters
hCtrl(CTRL_HANDLE )
The control handle of the device
puGain(uint32_t )
the pointer to the gain value
Return value
Error code:
SDK4_ERR_SUCCESS (0) in case of no error
SDK4_ERR_ERROR (-1001) in case of unspecified error
one of the other error codes defined in SDK4_ERROR
Example
CTRL_HANDLE hCtrl;
...
uint32_t uGain
SDK4GetGain(hCtrl,&uGain);
See also
SDK4DevGetControl
CTRL_HANDLE
SDK4SetGain
55
3.2.4.3 SDK4SetAGC
This function sets the Automatic Gain Control.
Parameters
Param eters
hCtrl(CTRL_HANDLE )
The control handle of the device
uAgc (SDK4_ENUM_AGC)
the agc value
Return value
Error code:
SDK4_ERR_SUCCESS (0) in case of no error
SDK4_ERR_ERROR (-1001) in case of unspecified error
one of the other error codes defined in SDK4_ERROR
Remarks
When AGC is switched off (H3XR_ENUM_OFF), gain can be changed manually by SDK4SetGain.
When AGC is switched on (H3XR_ENUM_ON), it automatically changes gain in a range of 0 to 20 dB.
When AGC is switched to stop mode (H3XR_ENUM_STOP), it also automatically changes gain, until the
external AGC Stop signal is set. Then, depending on the value of AutoGainStopMode, either the gain value is set
to 0 (SDK4_ENUM_SWITCH_OFF) or it is fixed to its last value(SDK4_ENUM_SWITCH_ON).
Example
CTRL_HANDLE hCtrl;
...
SDK4SetAGC(hCtrl, H3XR_ENUM_OFF);
See also
SDK4DevGetControl
CTRL_HANDLE
SDK4_ENUM_AGC
SDK4SetGain
SDK4GetAGC
SDK4GetAutoGainStopMode
56
3.2.4.4 SDK4GetAGC
This function gets the current value of Automatic Gain Control.
Parameters
hCtrl(CTRL_HANDLE )
The control handle of the device
puOnOff (SDK4_ENUM_AGC*)
the pointer to the agc switch
Return value
Error code:
SDK4_ERR_SUCCESS (0) in case of no error
SDK4_ERR_ERROR (-1001) in case of unspecified error
one of the other error codes defined in SDK4_ERROR
Example
CTRL_HANDLE hCtrl;
...
SDK4_ENUM_AGC uAGC;
SDK4GetAGC(hCtrl, &uAGC);
// if possible, set the level to 30:
if ((uAGC == H3XR_ENUM_ON) || (uAGC == H3XR_ENUM_STOP))
SDK4SetAutomaticLevel(hCtrl, 30);
See also
SDK4DevGetControl
CTRL_HANDLE
SDK4_ENUM_AGC
SDK4SetAGC
57
3.2.4.5 SDK4SetAutomaticLevel
This function sets the Automatic Level (i. e. the target level of AGC).
Parameters
hCtrl(CTRL_HANDLE )
The control handle of the device
uLevel(uint32_t )
the automatic level value
Return value
Error code:
SDK4_ERR_SUCCESS (0) in case of no error
SDK4_ERR_ERROR (-1001) in case of unspecified error
one of the other error codes defined in SDK4_ERROR
Remarks
The possible values range from 0 to 100%. AutomaticLevel only works, when AGC is active or in stop mode.
Example
CTRL_HANDLE hCtrl;
...
SDK4_ENUM_AGC uAGC;
SDK4GetAGC(hCtrl, &uAGC);
// if possible, set the level to 30:
if ((uAGC == H3XR_ENUM_ON) || (uAGC == H3XR_ENUM_STOP))
SDK4SetAutomaticLevel(hCtrl, 30);
See also
SDK4DevGetControl
CTRL_HANDLE
SDK4GetAutomaticLevel
SDK4GetAGC
58
3.2.4.6 SDK4GetAutomaticLevel
This function gets the current value of Automatic Level.
Parameters
hCtrl(CTRL_HANDLE )
The control handle of the device
puLevel(uint32_t )
the pointer to the automatic level value
Return value
Error code:
SDK4_ERR_SUCCESS (0) in case of no error
SDK4_ERR_ERROR (-1001) in case of unspecified error
one of the other error codes defined in SDK4_ERROR
Example
CTRL_HANDLE hCtrl;
...
uint32_t uLevel
SDK4GetAutomaticLevel(hCtrl,&uLevel);
See also
SDK4DevGetControl
CTRL_HANDLE
SDK4SetAutomaticLevel
59
3.2.4.7 SDK4SetAutoGainStopMode
This function sets the Automatic Gain Stop Mode.
Parameters
hCtrl(CTRL_HANDLE )
The control handle of the device
uStop (SDK4_ENUM_SWITCH)
the stop mode
Return value
Error code:
SDK4_ERR_SUCCESS (0) in case of no error
SDK4_ERR_ERROR (-1001) in case of unspecified error
one of the other error codes defined in SDK4_ERROR
Remarks
This function is only active, when AGC is set to H3XR_ENUM_STOP. In this AGC mode, the gain value is
controlled automatically, until the external AGC Stop signal is set. Subsequently, when the
AutoGainStopMode was switched off, gain is set to 0, or when AutoGainStopMode was switched
on, the gain value is fixed to its last value.
Example
CTRL_HANDLE hCtrl;
...
SDK4_ENUM_AGC uAGC;
SDK4GetAGC(hCtrl, &uAGC);
if (uAGC == H3XR_ENUM_STOP)
SDK4SetAutoGainStopMode(hCtrl, SDK4_ENUM_SWITCH_ON));
See also
SDK4DevGetControl
CTRL_HANDLE
SDK4GetAutoGainStopMode
SDK4GetAGC
SDK4GetGain
60
3.2.4.8 SDK4GetAutoGainStopMode
This function gets the Automatic Gain Stop Mode
Parameters
hCtrl(CTRL_HANDLE )
The control handle of the device
puStop (SDK4_ENUM_SWITCH*)
the pointer to the stop mode
Return value
Error code:
SDK4_ERR_SUCCESS (0) in case of no error
SDK4_ERR_ERROR (-1001) in case of unspecified error
one of the other error codes defined in SDK4_ERROR
Example
CTRL_HANDLE hCtrl;
...
SDK4_ENUM_SWITCH uStop;
SDK4GetAutoGainStopMode(hCtrl, &uStop));
See also
SDK4DevGetControl
CTRL_HANDLE
SDK4SetAutoGainStopMode
61
3.2.5 Signal Analysis Functions
3.2.5.1 SDK4SetMeasureFrameShow
This function shows or hides the outline frame of the measure window.
Parameters
hCtrl(CTRL_HANDLE )
The control handle of the device
uShow (SDK4_ENUM_SWITCH)
the display switch
Return value
Error code:
SDK4_ERR_SUCCESS (0) in case of no error
SDK4_ERR_ERROR (-1001) in case of unspecified error
one of the other error codes defined in SDK4_ERROR
Example
CTRL_HANDLE hCtrl;
...
SDK4SetMeasureFrameShow (hCtrl, SDK4_ENUM_SWITCH_ON);
See also
SDK4DevGetControl
CTRL_HANDLE
SDK4_ENUM_SWITCH
SDK4GetMeasureFrameShow
62
3.2.5.2 SDK4GetMeasureFrameShow
This function gets the current display state of the measure window.
SDK4_Error SDK4GetMeasureFrameShow(CTRL_HANDLE
hCtrl,SDK4_ENUM_SWITCH* puShow)
Parameters
hCtrl(CTRL_HANDLE )
The control handle of the device
puShow (SDK4_ENUM_SWITCH*)
the pointer fo the display switch
Return value
Error code:
SDK4_ERR_SUCCESS (0) in case of no error
SDK4_ERR_ERROR (-1001) in case of unspecified error
one of the other error codes defined in SDK4_ERROR
Example
CTRL_HANDLE hCtrl;
...
SDK4_ENUM_SWITCH uShow;
SDK4GetMeasureFrameShow (hCtrl, &uShow);
See also
SDK4DevGetControl
CTRL_HANDLE
SDK4_ENUM_SWITCH
SDK4SetMeasureFrameShow
63
3.2.5.3 SDK4SetMeasureWindow
This function sets position, size and stretch factor of the selected circular measure window for AGC.
Parameters
hCtrl(CTRL_HANDLE )
The control handle of the device
kMwCircle (SDK4_KMWCIRCLE)
the measure window circle
Return value
Error code:
SDK4_ERR_SUCCESS (0) in case of no error
SDK4_ERR_ERROR (-1001) in case of unspecified error
one of the other error codes defined in SDK4_ERROR
Remarks
This function sets start and end point of the measure window. Position 0/0 is the center of the CCD sensor.
The radius of the measure window is restricted to 0 .. 511 pixels.
The line width of the circle ranges from 1 .. 3 pixels.
The position of the measure window ranges from -511 to +511 on x-axis and on y- axis.
The vStretch factor has a range from 1 ..512, but it is currently fixed to128.
Example
CTRL_HANDLE hCtrl;
...
// Set the measure window to a radius of 100, a line width of 3,
beginning at -10/+10:
SDK4_KMWCIRCLE kMwCircle;
kMwCircle.radius = 100;
kMwCircle.width = 3;
kMwCircle.center.xPos = -10;
kMwCircle.center.yPos = +10;
kMwCircle.vStretch = 128;
SDK4SetMeasureWindow(hCtrl, kMwCircle);
See also
SDK4DevGetControl
CTRL_HANDLE
SDK4_KMWCIRCLE
SDK4GetMeasureWindow
64
3.2.5.4 SDK4GetMeasureWindow
This function gets the current position and size of the measure window.
Parameters
hCtrl(CTRL_HANDLE )
The control handle of the device
pkMwCircle (SDK4_KMWCIRCLE *)
the pointer to the measure window circle
Return value
Error code:
SDK4_ERR_SUCCESS (0) in case of no error
SDK4_ERR_ERROR (-1001) in case of unspecified error
one of the other error codes defined in SDK4_ERROR
Example
CTRL_HANDLE hCtrl;
...
// get position and size of the measure window:
SDK4_KMWCIRCLE kMwCircle;
SDK4GetMeasureWindow(hCtrl, &kMwCircle);
See also
SDK4DevGetControl
CTRL_HANDLE
SDK4_KMWCIRCLE
SDK4SetMeasureWindow
65
3.2.6 Overlay Functions
3.2.6.1 SDK4SetOverlayShow
This function is used to display or hide the selected line generator.
Parameters
hCtrl(CTRL_HANDLE )
The control handle of the device
uSelect (SDK4_ENUM_OVERLAYSELECT)
the selected overlay generator, specified in SDK4_ENUM_OVERLAYSELECT
uShow (SDK4_ENUM_SWITCH)
the switch value
Return value
Error code:
SDK4_ERR_SUCCESS (0) in case of no error
SDK4_ERR_ERROR (-1001) in case of unspecified error
one of the other error codes defined in SDK4_ERROR
Remarks
There are two line generators, which can be displayed (see SDK4_ENUM_OVERLAYSELECT).
Example
CTRL_HANDLE hCtrl;
...
// show overlay line 1:
SDK4SetOverlayShow(hCtrl, H3XR_ENUM_OVERLAYSELECT_LINEGENERATOR1,
SDK4_ENUM_SWITCH_ON);
See also
SDK4DevGetControl
CTRL_HANDLE
SDK4_ENUM_OVERLAYSELECT
SDK4_ENUM_SWITCH
SDK4GetOverlayShow
3.2.6.2 SDK4GetOverlayShow
This function gets the display switch of the selected line generator.
Parameters
hCtrl(CTRL_HANDLE )
66
The control handle of the device
uSelect (SDK4_ENUM_OVERLAYSELECT)
the selected overlay generator, specified in SDK4_ENUM_OVERLAYSELECT
puShow (SDK4_ENUM_SWITCH*)
the pointer to the switch value
Return value
Error code:
SDK4_ERR_SUCCESS (0) in case of no error
SDK4_ERR_ERROR (-1001) in case of unspecified error
one of the other error codes defined in SDK4_ERROR
Remarks
There are two line generators, which can be displayed (see SDK4_ENUM_OVERLAYSELECT).
Example
CTRL_HANDLE hCtrl;
...
SDK4_ENUM_SWITCH uShowCircle1;
SDK4GetOverlayShow(hCtrl, H3XR_ENUM_OVERLAYSELECT_LINEGENERATOR1,
&uShowCircle1);
See also
SDK4DevGetControl
CTRL_HANDLE
SDK4_ENUM_OVERLAYSELECT
SDK4_ENUM_SWITCH
SDK4GetOverlayShow
67
3.2.6.3 SDK4SetOverlayPosition
This function sets the position of the selected line generator.
Parameters
hCtrl(CTRL_HANDLE )
The control handle of the device
uSelect (SDK4_ENUM_OVERLAYSELECT)
the selected overlay generator, specified in SDK4_ENUM_OVERLAYSELECT
kPosition (SDK4_KCIRCULARPOSITION)
the overlay position
Return value
Error code: SDK4_ERR_SUCCESS (0) in case of no error
SDK4_ERR_ERROR (-1001) in case of unspecified error
one of the other error codes defined in SDK4_ERROR
Remarks
There are two line generators, which can be selected (see SDK4_ENUM_OVERLAYSELECT).
The position for each overlay generator is set with respect to the center of the sensor image, its range is -512 ..
511.
Example
CTRL_HANDLE hCtrl;
...
// set the position of overlay line 2 to 500/500:
SDK4_ KCIRCULARPOSITION kPosition;
kPosition.xPos = 500;
kPosition.yPos = 500;
SDK4SetOverlayPosition (hCtrl,
H3XR_ENUM_OVERLAYSELECT_LINEGENERATOR2, kPosition);
See also
SDK4DevGetControl
CTRL_HANDLE
SDK4_ENUM_OVERLAYSELECT
SDK4_KCIRCULARPOSITION
SDK4SetOverlayShow
SDK4GetOverlayPosition
68
3.2.6.4 SDK4GetOverlayPosition
This function gets the current position of the selected line generator.
Parameters
hCtrl(CTRL_HANDLE )
The control handle of the device
uSelect (SDK4_ENUM_OVERLAYSELECT)
the selected overlay generator, specified in SDK4_ENUM_OVERLAYSELECT
pkPosition (SDK4_KCIRCULARPOSITION *)
the pointer to the overlay position
Return value
Error code:
SDK4_ERR_SUCCESS (0) in case of no error
SDK4_ERR_ERROR (-1001) in case of unspecified error
one of the other error codes defined in SDK4_ERROR
Example
CTRL_HANDLE hCtrl;
...
SDK4_ KCIRCULARPOSITION kPosition;
SDK4GetOverlayPosition (hCtrl,
H3XR_ENUM_OVERLAYSELECT_LINEGENERATOR2, &kPosition);
See also
SDK4DevGetControl
CTRL_HANDLE
SDK4_ENUM_OVERLAYSELECT
SDK4_KCIRCULARPOSITION
SDK4SetOverlayShow
SDK4SetOverlayPosition
69
3.2.6.5 SDK4SetOverlayStyle
This function sets the style of the selected line generator.
Parameters
hCtrl(CTRL_HANDLE )
The control handle of the device
uSelect (SDK4_ENUM_OVERLAYSELECT)
the selected overlay generator, specified in SDK4_ENUM_OVERLAYSELECT
kStyle (SDK4_KSTYLE)
the overlay style
Return value
Error code:
SDK4_ERR_SUCCESS (0) in case of no error
SDK4_ERR_ERROR (-1001) in case of unspecified error
one of the other error codes defined in SDK4_ERROR
Remarks
There are two line generators, which can be selected (see SDK4_ENUM_OVERLAYSELECT).
The color of the overlay generators is specified in SDK4_ENUM_MFCOLOR, the line style is specified in
SDK4_ENUM_LINESTYLE.
Example
CTRL_HANDLE hCtrl;
...
// set the style of overlay line 1 to black and dashed:
SDK4_KSTYLE kStyle;
kStyle.color = H3XR_ENUM_COLOR_GREY0;
kStyle.style = SDK4_ENUM_LINESTYLE_DASHED;
SDK4SetOverlayStyle (hCtrl, H3XR_ENUM_OVERLAYSELECT_LINEGENERATOR1,
kStyle);
See also
SDK4DevGetControl
CTRL_HANDLE
SDK4_ENUM_OVERLAYSELECT
SDK4_KSTYLE
SDK4_ENUM_MFCOLOR
SDK4_ENUM_LINESTYLE
SDK4SetOverlayShow
SDK4GetOverlayStyle
70
3.2.6.6 SDK4GetOverlayStyle
This function gets the current style of the selected line generator.
Parameters
hCtrl(CTRL_HANDLE )
The control handle of the device
uSelect (SDK4_ENUM_OVERLAYSELECT)
the selected overlay generator, specified in SDK4_ENUM_OVERLAYSELECT
pkStyle (SDK4_KSTYLE*)
the pointer to the overlay style
Return value
Error code:
SDK4_ERR_SUCCESS (0) in case of no error
SDK4_ERR_ERROR (-1001) in case of unspecified error
one of the other error codes defined in SDK4_ERROR
Remarks
There are two line generators, which can be selected (see SDK4_ENUM_OVERLAYSELECT).
The color of the overlay generators is specified in SDK4_ENUM_MFCOLOR, the line style is specified in
SDK4_ENUM_LINESTYLE.
Example
CTRL_HANDLE hCtrl;
...
SDK4_KSTYLE kStyle;
SDK4GetOverlayStyle (hCtrl, SDK4_ENUM_OVERLAYSELECT_LINEGENERATOR1,
&kStyle);
See also
SDK4DevGetControl
CTRL_HANDLE
SDK4_ENUM_OVERLAYSELECT
SDK4_KSTYLE
SDK4_ENUM_MFCOLOR
SDK4_ENUM_LINESTYLE
SDK4SetOverlayShow
SDK4GetOverlayStyle
71
3.2.6.7 SDK4SetOverlaySize
This function sets the size of the selected line generator.
Parameters
hCtrl(CTRL_HANDLE )
The control handle of the device
uSelect (SDK4_ENUM_OVERLAYSELECT)
the selected overlay generator, specified in SDK4_ENUM_OVERLAYSELECT
kSize (SDK4_KOVERLAYSIZE)
the overlay size, specified in SDK4_KOVERLAYSIZE
Return value
Error code:
SDK4_ERR_SUCCESS (0) in case of no error
SDK4_ERR_ERROR (-1001) in case of unspecified error
one of the other error codes defined in SDK4_ERROR
Remarks
There are two line generators, which can be selected (see SDK4_ENUM_OVERLAYSELECT).
The width attribute of SDK4_KOVERLAYSIZE is specified in SDK4_ENUM_OVERLAYWIDTH. The length attribute
is defined as the length of a line, beginning in the center of the reticle. The valuerange of the length is 3 .. 1023,
when the length value is set to 0 , the reticle covers the whole width and height of the image.
Example
CTRL_HANDLE hCtrl;
// set the size of overlay line 1 to a width of 5 pixels and a
length of 100 pixels:
SDK4_KOVERLAYSIZE kSize;
kSize.width = SDK4_ENUM_OVERLAYWIDTH_PIXEL5;
kSize.length = 100;
SDK4SetOverlaySize (hCtrl, H3XR_ENUM_OVERLAYSELECT_LINEGENERATOR1,
kSize);
See also
SDK4DevGetControl
CTRL_HANDLE
SDK4_ENUM_OVERLAYSELECT
SDK4_KOVERLAYSIZE
SDK4_ENUM_OVERLAYWIDTH
SDK4SetOverlayShow
SDK4GetOverlaySize
72
3.2.6.8 SDK4GetOverlaySize
This function gets the current size of the selected line generator.
Parameters
hCtrl(CTRL_HANDLE )
The control handle of the device
uSelect (SDK4_ENUM_OVERLAYSELECT)
the selected overlay generator, specified in SDK4_ENUM_OVERLAYSELECT
kSize (SDK4_KOVERLAYSIZE)
the overlay size, specified in SDK4_KOVERLAYSIZE
Return value
Error code:
SDK4_ERR_SUCCESS (0) in case of no error
SDK4_ERR_ERROR (-1001) in case of unspecified error
one of the other error codes defined in SDK4_ERROR
Remarks
There are two line generators, which can be selected (see SDK4_ENUM_OVERLAYSELECT).
Example
CTRL_HANDLE hCtrl;
...
// get the size of overlay circle 2:
SDK4_KOVERLAYSIZE kSize;
SDK4GetOverlaySize (hCtrl, H3XR_ENUM_OVERLAYSELECT_LINEGENERATOR2,
&kSize);
See also
SDK4DevGetControl
CTRL_HANDLE
SDK4_ENUM_OVERLAYSELECT
SDK4_KOVERLAYSIZE
SDK4_ENUM_OVERLAYWIDTH
SDK4SetOverlayShow
SDK4SetOverlaySize
73
3.2.7 Digital Enhancement Functions
3.2.7.1 SDK4SetBrightness
This function sets the Brightness (digital level offset).
Parameters
hCtrl(CTRL_HANDLE )
The control handle of the device
uBrightness (uint32_t)
the brightness value
Return value
Error code:
SDK4_ERR_SUCCESS (0) in case of no error
SDK4_ERR_ERROR (-1001) in case of unspecified error
one of the other error codes defined in SDK4_ERROR
Remarks
The values range from 0 to 16383.
Example
CTRL_HANDLE hCtrl;
...
SDK4SetBrightness (hCtrl, 2048);
See also
SDK4DevGetControl
CTRL_HANDLE
SDK4GetBrightness
74
3.2.7.2 SDK4GetBrightness
This function gets the current value of Brightness (digital level offset).
Parameters
hCtrl(CTRL_HANDLE )
The control handle of the device
puBrightness (uint32_t*)
the pointer to the brightness value
Return value
Error code:
SDK4_ERR_SUCCESS (0) in case of no error
SDK4_ERR_ERROR (-1001) in case of unspecified error
one of the other error codes defined in SDK4_ERROR
Remarks
The values range from 0 to 16383.
Example
CTRL_HANDLE hCtrl;
...
uint32_t uBrightness
SDK4GetBrightness (hCtrl, &uBrightness);
See also
SDK4DevGetControl
CTRL_HANDLE
SDK4SetBrightness
75
3.2.7.3 SDK4SetContrast
This function sets the Contrast (digital level gain).
Parameters
hCtrl(CTRL_HANDLE )
The control handle of the device
uContrast (uint32_t)
the contrast value
Return value
Error code:
SDK4_ERR_SUCCESS (0) in case of no error
SDK4_ERR_ERROR (-1001) in case of unspecified error
one of the other error codes defined in SDK4_ERROR
Remarks
The values range from 0 to 255.
Example
CTRL_HANDLE hCtrl;
...
SDK4SetContrast (hCtrl, 127);
See also
SDK4DevGetControl
CTRL_HANDLE
SDK4GetContrast
76
3.2.7.4 SDK4GetContrast
This function gets the current value of Contrast (digital level gain).
Parameters
hCtrl(CTRL_HANDLE )
The control handle of the device
puContrast (uint32_t*)
the pointer to the contrast value
Return value
Error code:
SDK4_ERR_SUCCESS (0) in case of no error
SDK4_ERR_ERROR (-1001) in case of unspecified error
one of the other error codes defined in SDK4_ERROR
Remarks
The values range from 0 to 255.
Example
CTRL_HANDLE hCtrl;
...
uint32_t uContrast
SDK4GetContrast (hCtrl, &uContrast);
See also
SDK4DevGetControl
CTRL_HANDLE
SDK4SetContrast
77
3.2.7.5 SDK4SetSharpness
This function sets the Sharpness (digital edge enhancement).
Parameters
hCtrl(CTRL_HANDLE )
The control handle of the device
uSharpness (uint32_t)
the sharpness value
Return value
Error code:
SDK4_ERR_SUCCESS (0) in case of no error
SDK4_ERR_ERROR (-1001) in case of unspecified error
one of the other error codes defined in SDK4_ERROR
Remarks
The values range from 0 to 255.
Example
CTRL_HANDLE hCtrl;
...
SDK4SetSharpness (hCtrl, 255);
See also
SDK4DevGetControl
CTRL_HANDLE
SDK4GetSharpness
78
3.2.7.6 SDK4GetSharpness
This function gets the current value of Sharpness (digital edge enhancement).
Parameters
hCtrl(CTRL_HANDLE )
The control handle of the device
puSharpness (uint32_t*)
the pointer to the sharpness value
Return value
Error code:
SDK4_ERR_SUCCESS (0) in case of no error
SDK4_ERR_ERROR (-1001) in case of unspecified error
one of the other error codes defined in SDK4_ERROR
Remarks
The values range from 0 to 255.
Example
CTRL_HANDLE hCtrl;
...
uint32_t uSharpness
SDK4GetSharpness (hCtrl, &uSharpness);
See also
SDK4DevGetControl
CTRL_HANDLE
SDK4SetSharpness
79
3.2.7.7 SDK4SetHistogramEqualization
This function switches the histogram equalization into one of the modes “on”, “off” or “push”.
Parameters
Parameters
hCtrl(CTRL_HANDLE )
The control handle of the device
uMode (SDK4_ENUM_HISTOEQUAL)
the histogram equalization mode
Return value
Error code:
SDK4_ERR_SUCCESS (0) in case of no error
SDK4_ERR_ERROR (-1001) in case of unspecified error
one of the other error codes defined in SDK4_ERROR
Remarks
A histogram of the gray values in the active image is generated. This histogram is spreaded and equalized, and
based on these values, the next image is computed. Histogram equalization can either be performed once
(SDK4_ENUM_HISTOEQUAL_PUSH) or permanently (SDK4_ENUM_HISTOEQUAL_ON).
Example
CTRL_HANDLE hCtrl;
...
SDK4SetHistogramEqualization (hCtrl, SDK4_ENUM_HISTOEQUAL_ON);
See also
SDK4DevGetControl
CTRL_HANDLE
SDK4_ENUM_HISTOEQUAL
SDK4GetHistogramEqualization
80
3.2.7.8 SDK4GetHistogramEqualization
This function gets the current value of the histogram equalization.
Parameters
hCtrl(CTRL_HANDLE )
The control handle of the device
puMode (SDK4_ENUM_HISTOEQUAL *)
the pointer to the switch
Return value
Error code:
SDK4_ERR_SUCCESS (0) in case of no error
SDK4_ERR_ERROR (-1001) in case of unspecified error
one of the other error codes defined in SDK4_ERROR
Example
CTRL_HANDLE hCtrl;
...
SDK4_ENUM_HISTOEQUAL uMode;
SDK4GetHistogramEqualization(hCtrl, &uMode);
See also
SDK4DevGetControl
CTRL_HANDLE
SDK4_ENUM_HISTOEQUAL
SDK4SetHistogramEqualization
81
3.2.8 Memory Functions
3.2.8.1 SDK4SetVerticalFlip
This function can flip the camera image vertically.
Parameters
hCtrl(CTRL_HANDLE )
The control handle of the device
uOnOff (uint32_t)
the flip switch
Return value
Error code:
SDK4_ERR_SUCCESS (0) in case of no error
SDK4_ERR_ERROR (-1001) in case of unspecified error
one of the other error codes defined in SDK4_ERROR
Remarks
The position of the measure windows and generated lines are independent of the vertical flip function.
Example
CTRL_HANDLE hCtrl;
...
SDK4SetVerticalFlip (hCtrl, SDK4_ENUM_SWITCH_ON);
See also
SDK4DevGetControl
CTRL_HANDLE
SDK4GetVerticalFlip
SDK4_ENUM_SWITCH
82
3.2.8.2 SDK4GetVerticalFlip
This function gets the current value of the vertical flip.
Parameters
hCtrl(CTRL_HANDLE )
The control handle of the device
puOnOff (uint32_t*)
the pointer to the flip switch
Return value
Error code:
SDK4_ERR_SUCCESS (0) in case of no error
SDK4_ERR_ERROR (-1001) in case of unspecified error
one of the other error codes defined in SDK4_ERROR
Example
CTRL_HANDLE hCtrl;
...
SDK4_ENUM_SWITCH uFlip;
SDK4GetVerticalFlip (hCtrl, &uFlip);
See also
SDK4DevGetControl
CTRL_HANDLE
SDK4SetVerticalFlip
SDK4_ENUM_SWITCH
83
3.2.8.3 SDK4SetHorizontalFlip
This function can flip the camera image horizontally.
Parameters
hCtrl(CTRL_HANDLE )
The control handle of the device
uOnOff (uint32_t)
the flip switch
Return value
Error code:
SDK4_ERR_SUCCESS (0) in case of no error
SDK4_ERR_ERROR (-1001) in case of unspecified error
one of the other error codes defined in SDK4_ERROR
Remarks
The position of the measure windows and generated lines are independent of the horizontal flip function.
Example
CTRL_HANDLE hCtrl;
...
SDK4SetHorizontalFlip (hCtrl, SDK4_ENUM_SWITCH_ON);
See also
SDK4DevGetControl
CTRL_HANDLE
SDK4GetHorizontalFlip
SDK4_ENUM_SWITCH
84
3.2.8.4 SDK4GetHorizontalFlip
This function gets the current value of the horizontal flip.
Parameters
hCtrl(CTRL_HANDLE )
The control handle of the device
puOnOff (uint32_t*)
the pointer to the flip switch
Return value
Error code:
SDK4_ERR_SUCCESS (0) in case of no error
SDK4_ERR_ERROR (-1001) in case of unspecified error
one of the other error codes defined in SDK4_ERROR
Example
CTRL_HANDLE hCtrl;
...
SDK4_ENUM_SWITCH uFlip;
SDK4GetHorizontalFlip (hCtrl, &uFlip);
See also
SDK4DevGetControl
CTRL_HANDLE
SDK4SetHorizontalFlip
SDK4_ENUM_SWITCH
85
3.2.8.5 SDK4SetLastImageHold
This function can freeze the current camera image.
Parameters
hCtrl(CTRL_HANDLE )
The control handle of the device
uHold (SDK4_ENUM_IMAGEHOLD)
the image hold value
Return value
Error code:
SDK4_ERR_SUCCESS (0) in case of no error
SDK4_ERR_ERROR (-1001) in case of unspecified error
one of the other error codes defined in SDK4_ERROR
Remarks
The last image hold message can be used to freeze the current camera image
(SDK4_ENUM_IMAGEHOLD_HOLD). The same image will be transmitted by the camera until switching back to
live by setting SDK4_ENUM_IMAGEHOLD_LIVE. The hold image has the same timing as the live image.
Example
CTRL_HANDLE hCtrl;
...
// freeze the image:
SDK4SetLastImageHold (hCtrl, SDK4_ENUM_IMAGEHOLD_HOLD);
See also
SDK4DevGetControl
CTRL_HANDLE
SDK4_ENUM_IMAGEHOLD
SDK4GetLastImageHold
86
3.2.8.6 SDK4GetLastImageHold
This function gets the current value of last image hold.
Parameters
hCtrl(CTRL_HANDLE )
The control handle of the device
puHold (SDK4_ENUM_IMAGEHOLD*)
the pointer to the image hold value
Return value
Error code:
SDK4_ERR_SUCCESS (0) in case of no error
SDK4_ERR_ERROR (-1001) in case of unspecified error
one of the other error codes defined in SDK4_ERROR
Example
CTRL_HANDLE hCtrl;
...
SDK4_ENUM_IMAGEHOLD uHold;
SDK4GetLastImageHold (hCtrl, &uHold);
See also
SDK4DevGetControl
CTRL_HANDLE
SDK4_ENUM_SWITCH
SDK4SetLastImageHold
87
3.2.8.7 SDK4StoreImage
This function can store the current camera image to a volatile memory, when the switch is set
to 1.
Parameters
hCtrl(CTRL_HANDLE )
The control handle of the device
uOnOff (uint32_t)
the store switch
Return value
Error code:
SDK4_ERR_SUCCESS (0) in case of no error
SDK4_ERR_ERROR (-1001) in case of unspecified error
one of the other error codes defined in SDK4_ERROR
Remarks
The stored image can be used to be subtracted from the live image. Please refer to SDK4SetImageSubtraction.
Example
CTRL_HANDLE hCtrl;
...
// store one image and subtract it from the live image:
SDK4StoreImage(hCtrl, SDK4_ENUM_SWITCH_ON);
SDK4StoreImage(hCtrl, SDK4_ENUM_SWITCH_OFF);
...
SDK4SetImageSubtraction(hCtrl, SDK4_ENUM_SWITCH_ON);
See also
SDK4DevGetControl
CTRL_HANDLE
SDK4_ENUM_SWITCH
SDK4SetImageSubtraction
88
3.2.8.8 SDK4SetImageSubtraction
This function controls the image subtraction.
Parameters
hCtrl(CTRL_HANDLE )
The control handle of the device
uOnOff (uint32_t)
the image subtraction switch
Return value
Error code:
SDK4_ERR_SUCCESS (0) in case of no error
SDK4_ERR_ERROR (-1001) in case of unspecified error
one of the other error codes defined in SDK4_ERROR
Remarks
The image previously stored to the camera can be subtracted from the live image, when the switch is set to
SDK4_ENUM_SWITCH_ON.
Example
CTRL_HANDLE hCtrl;
...
// store one image and subtract it from the live image:
SDK4StoreImage(hCtrl, SDK4_ENUM_SWITCH_ON);
SDK4StoreImage(hCtrl, SDK4_ENUM_SWITCH_OFF);
...
SDK4SetImageSubtraction(hCtrl, SDK4_ENUM_SWITCH_ON);
See also
SDK4DevGetControl
CTRL_HANDLE
SDK4_ENUM_SWITCH
SDK4StoreImage
SDK4GetImageSubtraction
89
3.2.8.9 SDK4GetImageSubtraction
This function gets the current value of the image subtraction.
Parameters
hCtrl(CTRL_HANDLE )
The control handle of the device
puOnOff (uint32_t)
the pointer to the image subtraction switch
Return value
Error code:
SDK4_ERR_SUCCESS (0) in case of no error
SDK4_ERR_ERROR (-1001) in case of unspecified error
one of the other error codes defined in SDK4_ERROR
Example
CTRL_HANDLE hCtrl;
...
SDK4_ENUM_SWITCH uSubtract;
SDK4GetImageSubtraction(hCtrl, &uSubtract);
See also
SDK4DevGetControl
CTRL_HANDLE
SDK4_ENUM_SWITCH
SDK4StoreImage
SDK4SetImageSubtraction
90
3.2.8.10 SDK4SetRecursiveFilter
This function sets the factor of the recursive filter to one of the values specified in
SDK4_ENUM_RECURSIVEFILTER.
Parameters
hCtrl(CTRL_HANDLE )
The control handle of the device
uFactor (SDK4_ENUM_RECURSIVEFILTER)
the recursive filter factor
Return value
Error code:
SDK4_ERR_SUCCESS (0) in case of no error
SDK4_ERR_ERROR (-1001) in case of unspecified error
one of the other error codes defined in SDK4_ERROR
Remarks
The recursive filter accumulates up to 16 images to reduce noise in the image. Setting the recursive filter to
SDK4_ENUM_RECURSIVEFILTER_FACTOR1 turns the feature off.
Example
CTRL_HANDLE hCtrl;
...
// accumulate 8 image:
SDK4SetRecursiveFilter (hCtrl, SDK4_ENUM_RECURSIVEFILTER_FACTOR8);
See also
SDK4DevGetControl
CTRL_HANDLE
SDK4_ENUM_RECURSIVEFILTER
SDK4GetRecursiveFilter
91
3.2.8.11 SDK4GetRecursiveFilter
This function gets the current factor of the recursive filter.
Parameters
hCtrl(CTRL_HANDLE )
The control handle of the device
puFactor (SDK4_ENUM_RECURSIVEFILTER*)
the pointer to the recursive filter factor
Return value
Error code:
SDK4_ERR_SUCCESS (0) in case of no error
SDK4_ERR_ERROR (-1001) in case of unspecified error
one of the other error codes defined in SDK4_ERROR
Example
CTRL_HANDLE hCtrl;
...
SDK4_ENUM_RECURSIVEFILTER uFactor;
SDK4GetRecursiveFilter (hCtrl, &uFactor);
See also
SDK4DevGetControl
CTRL_HANDLE
SDK4_ENUM_RECURSIVEFILTER
SDK4SetRecursiveFilter
92
3.2.8.12 SDK4SetAutoMotionDetection
This function switches auto motion detection on and off.
SDK4_Error SDK4SetAutoMotionDetection(CTRL_HANDLE
hCtrl,SDK4_ENUM_SWITCH uOnOff)
Parameters
hCtrl(CTRL_HANDLE )
The control handle of the device
uOnOff (SDK4_ENUM_SWITCH)
the auto motion detection switch
Return value
Error code:
SDK4_ERR_SUCCESS (0) in case of no error
SDK4_ERR_ERROR (-1001) in case of unspecified error
one of the other error codes defined in SDK4_ERROR
Remarks
Auto motion detection is only enabled, when the recursive filter is active. When auto motion detection is
switched on, it detects motions in the picture area. If a motion is detected, the recursive filter function is without
effect.
Example
Example
CTRL_HANDLE hCtrl;
...
// accumulate 8 image:
SDK4SetRecursiveFilter(hCtrl, SDK4_ENUM_RECURSIVEFILTER_FACTOR8);
SDK4SetAutoMotionDetection(hCtrl, SDK4_ENUM_SWITCH_ON);
See also
SDK4DevGetControl
CTRL_HANDLE
SDK4_ENUM_RECURSIVEFILTER
SDK4SetRecursiveFilter
SDK4GetAutoMotionDetection
93
3.2.8.13 SDK4GetAutoMotionDetection
This function gets the current value of auto motion detection.
Parameters
hCtrl(CTRL_HANDLE )
The control handle of the device
puOnOff (SDK4_ENUM_SWITCH*)
the pointer to he auto motion detection switch
Return value
Error code:
SDK4_ERR_SUCCESS (0) in case of no error
SDK4_ERR_ERROR (-1001) in case of unspecified error
one of the other error codes defined in SDK4_ERROR
Example
CTRL_HANDLE hCtrl;
...
SDK4_ENUM_ SWITCH uSwitch;
SDK4GetAutoMotionDetection(hCtrl, &uSwitch);
See also
SDK4DevGetControl
CTRL_HANDLE
SDK4_ENUM_SWITCH
SDK4SetAutoMotionDetection
94
3.2.9 Look Up Table Functions
3.2.9.1 SDK4SetGammaIndex
This function sets the index of the gamma correction function.
Parameters
hCtrl(CTRL_HANDLE )
The control handle of the device
iGammaIndex (int32_t)
the selected gamma index
Return value
Error code:
SDK4_ERR_SUCCESS (0) in case of no error
SDK4_ERR_ERROR (-1001) in case of unspecified error
one of the other error codes defined in SDK4_ERROR
Remarks
The index can interpolate between a Gamma 1.0 function (0, linear transformation) and a Gamma 0.3 function
(+12).
Example
CTRL_HANDLE hCtrl;
...
// set gamma index to 0.3:
SDK4SetGammaIndex (hCtrl, 12);
See also
SDK4DevGetControl
CTRL_HANDLE
SDK4GetGammaIndex
95
3.2.9.2 SDK4GetGammaIndex
This function gets the current value of the index of the gamma correction function.
Parameters
hCtrl(CTRL_HANDLE )
The control handle of the device
piGammaIndex (int32_t*)
the pointer to the gamma index
Return value
Error code:
SDK4_ERR_SUCCESS (0) in case of no error
SDK4_ERR_ERROR (-1001) in case of unspecified error
one of the other error codes defined in SDK4_ERROR
Remarks
The index can interpolate between a Gamma 1.0 function (0, linear transformation) and a Gamma 0.3 function
(+12).
Example
Exam ple
CTRL_HANDLE hCtrl;
...
int32_t iIndex;
SDK4GetGammaIndex (hCtrl, &iIndex);
See also
SDK4DevGetControl
CTRL_HANDLE
SDK4SetGammaIndex
96
3.2.9.3 SDK4SetNegativeImage
This function can invert the camera image.
Parameters
hCtrl(CTRL_HANDLE )
The control handle of the device
uNegativeImage (uint32_t)
the inversion value
Return value
Error code:
SDK4_ERR_SUCCESS (0) in case of no error
SDK4_ERR_ERROR (-1001) in case of unspecified error
one of the other error codes defined in SDK4_ERROR
Remarks
The inverting is done in the raw image data of the CCD sensor.
Example
CTRL_HANDLE hCtrl;
...
// invert the image:
SDK4SetNegativeImage (hCtrl, SDK4_ENUM_SWITCH_ON);
See also
SDK4DevGetControl
CTRL_HANDLE
SDK4_ENUM_SWITCH
SDK4GetNegativeImage
97
3.2.9.4 SDK4GetNegativeImage
This function gets the current value of the image inversion.
Parameters
hCtrl(CTRL_HANDLE )
The control handle of the device
puNegativeImage (uint32_t)
the pointer to the inversion value
Return value
Error code:
SDK4_ERR_SUCCESS (0) in case of no error
SDK4_ERR_ERROR (-1001) in case of unspecified error
one of the other error codes defined in SDK4_ERROR
Remarks
The inverting is done in the raw image data of the CCD sensor.
Example
CTRL_HANDLE hCtrl;
...
SDK4_ENUM_SWITCH uNegative;
SDK4GetNegativeImage (hCtrl, &uNegative);
See also
SDK4DevGetControl
CTRL_HANDLE
SDK4_ENUM_SWITCH
SDK4SetNegativeImage
98
ABC Functions
3.2.9.5 SDK4SetABC
This function sets one of the automatic balance control modes which are specified in SDK4_ENUM_ABC. ABC
provides the opportunity to adapt the x-ray power to the x-ray object, via external outputs XR-HIGH-EXT and
XR-LOW-EXT.
Parameters
hCtrl(CTRL_HANDLE )
The control handle of the device
uOnOffStop (SDK4_ENUM_ABC)
automatic balance control mode
Return value
Error code:
SDK4_ERR_SUCCESS (0) in case of no error
SDK4_ERR_ERROR (-1001) in case of unspecified error
one of the other error codes defined in SDK4_ERROR
Remarks
When ABC is switched off (H3XR_ENUM_OFF), the external signals, XR-HIGH-EXT and XR-
LOW-EXT, are not active.
When ABC is switched on (H3XR_ENUM_ON), the external signals, XR-HIGH-EXT and XR-
LOW-EXT, are active, and automatic balance control is running.
When ABC is switched to stop mode (H3XR_ENUM_STOP), automatic balance control is running, until the
external ABC Stop signal is set. Then, depending on the value of ABCStopMode, either the ABC is switched off
(SDK4_ENUM_SWITCH_OFF) or the balance is fixed to its last value(SDK4_ENUM_SWITCH_ON).
Example
CTRL_HANDLE hCtrl;
...
// set ABC to stop mode, and switch on ABCStopMode:
SDK4SetABC(hCtrl, H3XR_ENUM_STOP);
SDK4SetABCStopMode(hCtrl, SDK4_ENUM_SWITCH_ON);
See also
SDK4DevGetControl
CTRL_HANDLE
SDK4_ENUM_ABC
SDK4GetABC
SDK4SetABCStopMode
99
3.2.9.6 SDK4GetABC
This function gets the current value of automatic balance control.
Return value
Error code:
SDK4_ERR_SUCCESS (0) in case of no error
SDK4_ERR_ERROR (-1001) in case of unspecified error
one of the other error codes defined in SDK4_ERROR
Example
CTRL_HANDLE hCtrl;
...
SDK4_ENUM_ABC uABC;
SDK4GetABC(hCtrl, &uABC);
See also
SDK4DevGetControl
CTRL_HANDLE
SDK4_ENUM_ABC
SDK4SetABC
100
3.2.9.7 SDK4SetABCStopMode
This function switches the automatic balance control stop mode on and off.
Parameters
hCtrl(CTRL_HANDLE )
The control handle of the device
uStop (SDK4_ENUM_SWITCH)
the ABC stop mode switch
Return value
Error code: SDK4_ERR_SUCCESS (0) in case of no error
SDK4_ERR_ERROR (-1001) in case of unspecified error
one of the other error codes defined in SDK4_ERROR
Remarks
ABCStop mode is only enabled, when ABC is set to H3XR_ENUM_STOP.
When ABC is switched to stop mode (H3XR_ENUM_STOP), automatic balance control is running, until the
external ABC Stop signal is set.
When ABCStopMode was switched off (SDK4_ENUM_SWITCH_OFF) , ABC is switched off, after the
external signal has occurred.
When ABCStopMode was switched on (SDK4_ENUM_SWITCH_ON) , the balance is fixed to its last value.
Example
CTRL_HANDLE hCtrl;
...
// set ABC to stop mode, and switch on ABCStopMode:
SDK4SetABC(hCtrl, H3XR_ENUM_STOP);
SDK4SetABCStopMode(hCtrl, SDK4_ENUM_SWITCH_ON);
See also
SDK4DevGetControl
CTRL_HANDLE
SDK4_ENUM_SWITCH
SDK4_ENUM_ABC
SDK4SetABC
SDK4GetABCStopMode
101
3.2.9.8 SDK4GetABCStopMode
This function gets the current value of the automatic balance control stop mode.
Parameters
hCtrl(CTRL_HANDLE )
The control handle of the device
puStop (SDK4_ENUM_ SWITCH *)
the pointer to the ABC stop mode switch
Return value
Error code:
SDK4_ERR_SUCCESS (0) in case of no error
SDK4_ERR_ERROR (-1001) in case of unspecified error
one of the other error codes defined in SDK4_ERROR
Example
CTRL_HANDLE hCtrl;
...
SDK4_ENUM_SWITCH uStop;
SDK4GetABCStopMode(hCtrl, &uStop);
See also
SDK4DevGetControl
CTRL_HANDLE
SDK4_ENUM_SWITCH
SDK4SetABCStopMode
102
3.2.9.9 SDK4SetABCThreshold
This function sets the threshold values for the output signals XR-HIGH-EXT and XR-LOW-EXT.
SDK4_Error SDK4SetABCThreshold(CTRL_HANDLE
hCtrl,SDK4_ENUM_ABC_SELECT uSelect, uint32_t uThreshold)
Parameters
Paramete rs
hCtrl(CTRL_HANDLE )
The control handle of the device
uSelect (SDK4_ENUM_ABC_SELECT)
the external signal
uThreshold (uint32_t)
the threshold value
Return value
Error code:
SDK4_ERR_SUCCESS (0) in case of no error
SDK4_ERR_ERROR (-1001) in case of unspecified error
one of the other error codes defined in SDK4_ERROR
Remarks
The value range of the threshold is 0 .. 1024, the default value for H3XR_ENUM_XRHIGH is 358, the default
value for H3XR_ENUM_XRLOW is 255.
Example
CTRL_HANDLE hCtrl;
...
// set ABC threshold of the XR-HIGH-EXT signal to 500:
SDK4SetABCThreshold(hCtrl, H3XR_ENUM_XRHIGH, 500);
See also
SDK4DevGetControl
CTRL_HANDLE
SDK4_ENUM_ABC_SELECT
SDK4GetABCThreshold
3.2.9.10 SDK4GetABCThreshold
This function gets the threshold values for the output signals XR-HIGH-EXT and XR-LOW-EXT.
Parameters
hCtrl(CTRL_HANDLE )
The control handle of the device
uSelect (SDK4_ENUM_ABC_SELECT)
the external signal
puThreshold (uint32_t*)
the pointer to the threshold value
103
Return value
Error code:
SDK4_ERR_SUCCESS (0) in case of no error
SDK4_ERR_ERROR (-1001) in case of unspecified error
one of the other error codes defined in SDK4_ERROR
Example
CTRL_HANDLE hCtrl;
...
// get the ABC threshold value of the XR-LOW-EXT signal:
uint32_t uThreshold;
SDK4GetABCThreshold(hCtrl, H3XR_ENUM_XRLOW, &uThreshold);
See also
SDK4DevGetControl
CTRL_HANDLE
SDK4_ENUM_ABC_SELECT
SDK4SetABCThreshold
104
3.2.9.11 SDK4GetABCXRLevel
This function gets the actual digital value of XR Linear.
Parameters
hCtrl(CTRL_HANDLE )
The control handle of the device
puLevel (uint32_t*)
the pointer to the digital level
Return value
Error code:
SDK4_ERR_SUCCESS (0) in case of no error
SDK4_ERR_ERROR (-1001) in case of unspecified error
one of the other error codes defined in SDK4_ERROR
Example
CTRL_HANDLE hCtrl;
...
uint32_t uLevel;
SDK4GetABCXRLevel(hCtrl, &uLevel);
See also
SDK4DevGetControl
CTRL_HANDLE
105
3.2.10 Defect Pixel Functions
3.2.10.1 SDK4SetDefectPixelAutoCompensation
This function is used to start the automatic defective pixel compensation.
Parameters
hCtrl(CTRL_HANDLE )
The control handle of the device
Return value
Error code:
SDK4_ERR_SUCCESS (0) in case of no error
SDK4_ERR_ERROR (-1001) in case of unspecified error
one of the other error codes defined in SDK4_ERROR
Remarks
The position of the defective pixels found by the automatic will be written in the EEPROM. Defective pixel
settings set by a previous automatic compensation procedure or manual adjustment will be reset at the start of
the automatic defective pixel compensation.
The defect pixels, which are detected, are written into a list of max. 128 entries. Not all of these pixels were
compensated (as for of a neighboring defect pixel). The first 116 defect pixel entries are accessible to
SDK4SetDefectPixel and SDK4GetDefectPixel in adjust mode, the other 12 entries are accessible in maintanance
mode.
Note:
This function is only available in Adjust Mode or Maintenance Mode!
Example
CTRL_HANDLE hCtrl;
...
// set the access mode of the camera to maintanace mode and start
// defect pixel auto compensation:
SDK4_KACCESSMODE maintanaceMode = {SDK4_ENUM_ACCESS_MAINTANANCEMODE,
0x1234};
SDK4SetAccessMode(hCtrl, maintanaceMode);
SDK4SetDefectPixelAutoCompensation (hCtrl);
See also
SDK4DevGetControl
CTRL_HANDLE
SDK4SetAccessMode
SDK4SetDefectPixel
SDK4GetDefectPixel
106
3.2.10.2 SDK4GetDefectPixelCount
This function gets the number of defect pixels, which were compensated by the automatic defective pixel
compensation.
Parameters
hCtrl(CTRL_HANDLE )
The control handle of the device
puCount(uint32_t*)
the pointer to the number of compensated defect pixels
Return value
Error code:
SDK4_ERR_SUCCESS (0) in case of no error
SDK4_ERR_ERROR (-1001) in case of unspecified error
one of the other error codes defined in SDK4_ERROR
Remarks
Note: This function is only available in Adjust Mode or Maintenance Mode!
Example
CTRL_HANDLE hCtrl;
...
uint32_t uCount;
SDK4GetDefectPixelCount(hCtrl, &uCount);
See also
SDK4DevGetControl
CTRL_HANDLE
SDK4SetDefectPixelAutoCompensation
SDK4SetAccessMode
3.2.10.3 SDK4SetDefectPixelShow
This function switches the display of defect pixels on and off.
Parameters
hCtrl(CTRL_HANDLE )
The control handle of the device
uShow (SDK4_ENUM_SWITCH)
the defect pixel show switch
Return value
Error code:
SDK4_ERR_SUCCESS (0) in case of no error
SDK4_ERR_ERROR (-1001) in case of unspecified error
107
one of the other error codes defined in SDK4_ERROR
Remarks
The defect pixels are displayed as gray pixels.
Note:
This function is only available in Adjust Mode or Maintenance Mode!
Example
CTRL_HANDLE hCtrl;
...
// set the access mode of the camera to maintanace mode and switch
// the display of defect pixels on. Then switch access mode back to
// user mode:
SDK4_KACCESSMODE maintanaceMode = {SDK4_ENUM_ACCESS_MAINTANANCEMODE,
0x1234};
SDK4SetAccessMode(hCtrl, maintanaceMode);
SDK4SetDefectPixelShow(hCtrl, SDK4_ENUM_SWITCH_ON);
...
SDK4_KACCESSMODE userMode = {SDK4_ENUM_ACCESS_USERMODE, 0};
SDK4SetAccessMode(hCtrl, userMode);
See also
SDK4DevGetControl
CTRL_HANDLE
SDK4_ENUM_SWITCH
SDK4GetDefectPixelShow
SDK4SetAccessMode
SDK4SetDefectPixelAutoCompensation
108
3.2.10.4 SDK4GetDefectPixelShow
This function gets the current value of defect pixel show control.
SDK4_Error SDK4GetDefectPixelShow(CTRL_HANDLE
hCtrl,SDK4_ENUM_SWITCH* puShow)
Parameters
hCtrl(CTRL_HANDLE )
The control handle of the device
puShow (SDK4_ENUM_SWITCH *)
the pointer to the defect pixel show switch
Return value
value
Error code:
SDK4_ERR_SUCCESS (0) in case of no error
SDK4_ERR_ERROR (-1001) in case of unspecified error
one of the other error codes defined in SDK4_ERROR
Example
CTRL_HANDLE hCtrl;
...
SDK4_ENUM_SWITCH uShow;
SDK4GetDefectPixelShow(hCtrl, &uShow);
See also
SDK4DevGetControl
CTRL_HANDLE
SDK4_ENUM_SWITCH
SDK4SetDefectPixelShow
109
3.2.10.5 SDK4SetDefectPixel
This function is used to manually adjust the defective pixel compensation or change the parameters for defective
pixels found by the automatic defective pixel compensation.
Parameters
hCtrl(CTRL_HANDLE )
The control handle of the device
kSelect(SDK4_KDEFECTPIXELSELECT)
the selected defect pixel
kDefectPixel (SDK4_KDEFECTPIXEL)
the defect pixel parameters
Return value
Error code:
SDK4_ERR_SUCCESS (0) in case of no error
SDK4_ERR_ERROR (-1001) in case of unspecified error
one of the other error codes defined in SDK4_ERROR
Remarks
The defect pixels are hold in a list of max. 128 entries. Not all of these pixels are compensated (as for of a
neighboring defect pixel). The first 116 defect pixel entries are accessible to SDK4SetDefectPixel and
SDK4GetDefectPixel in adjust mode, the other 12 entries are accessible in maintanance mode.
SDK4_KDEFECTPIXELSELECT has 2 parameters, pixelNumber (the index in defect pixel list) and store ( for future
use, it has to be set to 1).
SDK4_KDEFECTPIXEL has 3 parameters, the x and y position of the pixel (see SDK4_KPOSITION) and its mode.
Note:
This function is only available in Adjust Mode or Maintenance Mode!
110
Example
CTRL_HANDLE hCtrl;
...
// set the access mode of the camera to maintanace mode and get the
// the defect pixel parameters at position 120.
// If this defect pixel is not compensated, set it to Hightlight.
// Then switch access mode back to user mode:
SDK4_KACCESSMODE maintanaceMode = {SDK4_ENUM_ACCESS_MAINTANANCEMODE,
0x1234};
SDK4SetAccessMode(hCtrl, maintanaceMode);
SDK4_KDEFECTPIXELSELECT kSelect = {120, 1};
SDK4_KDEFECTPIXEL kDefectPixel = new SDK4_KDEFECTPIXEL();
SDK4GetDefectPixel(hCtrl, kSelect, &kDefectPixel);
printf(“\nDefectpixel 120: x = %d, y = %d, mode = %d”,
kDefectPixel.pos.xPos, kDefectPixel.pos.yPos,
kDefectPixel.mode);
if (kDefectPixel.mode == SDK4_ENUM_DEFECTPIXEL_COMPENSATION_OFF)
kDefectPixel.mode = SDK4_ENUM_DEFECTPIXEL_HIGHLIGHT;
SDK4SetDefectPixel(hCtrl, kSelect, kDefectPixel);
...
SDK4_KACCESSMODE userMode = {SDK4_ENUM_ACCESS_USERMODE, 0};
SDK4SetAccessMode(hCtrl, userMode);
See also
SDK4DevGetControl
CTRL_HANDLE
SDK4_KDEFECTPIXELSELECT
SDK4_KDEFECTPIXEL
SDK4_KPOSITION
SDK4_ENUM_DEFECTPIXEL_MODE
SDK4GetDefectPixel
SDK4SetAccessMode
111
3.2.10.6 SDK4GetDefectPixel
This function gets the parameters of the selected defect pixel.
Parameters
hCtrl(CTRL_HANDLE )
The control handle of the device
kSelect(SDK4_KDEFECTPIXELSELECT)
the selected defect pixel
pkDefectPixel (SDK4_KDEFECTPIXEL*)
the pointer to the defect pixel parameters
Return value
Error code:
SDK4_ERR_SUCCESS (0) in case of no error
SDK4_ERR_ERROR (-1001) in case of unspecified error
one of the other error codes defined in SDK4_ERROR
Remarks
The defect pixels are hold in a list of max. 128 entries. Not all of these pixels are compensated (as for of a
neighboring defect pixel). The first 116 defect pixel entries are accessible to SDK4SetDefectPixel and
SDK4GetDefectPixel in adjust mode, the other 12 entries are accessible in maintanance mode.
SDK4_KDEFECTPIXELSELECT has 2 parameters, pixelNumber (the index in defect pixel list) and store ( for future
use, it has to be set to 1).
SDK4_KDEFECTPIXEL has 3 parameters, the x and y position of the pixel (see SDK4_KPOSITION) and its mode.
Note:
This function is only available in Adjust Mode or Maintenance Mode!
Example
CTRL_HANDLE hCtrl;
...
// set the access mode of the camera to maintanace mode and get the
// the defect pixel parameters at position 120.
// Then switch access mode back to user mode:
SDK4_KACCESSMODE maintanaceMode = {SDK4_ENUM_ACCESS_MAINTANANCEMODE,
0x1234};
SDK4SetAccessMode(hCtrl, maintanaceMode);
SDK4_KDEFECTPIXELSELECT kSelect = {120, 1};
SDK4_KDEFECTPIXEL kDefectPixel = new SDK4_KDEFECTPIXEL();
SDK4GetDefectPixel(hCtrl, kSelect, &kDefectPixel);
printf(“\nDefectpixel 120: x = %d, y = %d, mode = %d”,
kDefectPixel.pos.xPos, kDefectPixel.pos.yPos,
kDefectPixel.mode);
...
SDK4_KACCESSMODE userMode = {SDK4_ENUM_ACCESS_USERMODE, 0};
SDK4SetAccessMode(hCtrl, userMode);
See also
112
SDK4DevGetControl
CTRL_HANDLE
SDK4_KDEFECTPIXELSELECT
SDK4_KDEFECTPIXEL
SDK4_KPOSITION
SDK4_ENUM_DEFECTPIXEL_MODE
SDK4SetDefectPixel
SDK4SetAccessMode
113
3.2.11 Image Correction Functions
3.2.11.1 SDK4SetShadingCorrectionMode
This function switches the shading correction on and off.
Parameters
hCtrl(CTRL_HANDLE )
The control handle of the device
uOnOff (SDK4_ENUM_SWITCH)
the switch of the shading correction mode
Return value
Error code:
SDK4_ERR_SUCCESS (0) in case of no error
SDK4_ERR_ERROR (-1001) in case of unspecified error
one of the other error codes defined in SDK4_ERROR
Remarks
Shading correction compensates vignetting of the image intensifier and optics in horizontal and vertical
direction.
Example
CTRL_HANDLE hCtrl;
...
// switch shading correction on:
SDK4SetShadingCorrectionMode(hCtrl, SDK4_ENUM_SWITCH_ON);
See also
SDK4DevGetControl
CTRL_HANDLE
SDK4_ENUM_SWITCH
SDK4GetShadingCorrectionMode
114
3.2.11.2 SDK4GetShadingCorrectionMode
This function gets the value of the shading correction mode.
Parameters
hCtrl(CTRL_HANDLE )
The control handle of the device
puOnOff (SDK4_ENUM_SWITCH*)
the switch of the shading correction mode
Return value
Error code:
SDK4_ERR_SUCCESS (0) in case of no error
SDK4_ERR_ERROR (-1001) in case of unspecified error
one of the other error codes defined in SDK4_ERROR
Remarks
There a two sources, which can genernate a test pattern, a pre-processing and a post-processing generator (see
SDK4_ENUM_PATTERNGENERATOR_SELECT).
Example
CTRL_HANDLE hCtrl;
...
// get the value of the shading correction mode:
SDK4_ENUM_SWITCH eSwitch;
SDK4GetShadingCorrectionMode(hCtrl, &eSwitch);
See also
SDK4DevGetControl
CTRL_HANDLE
SDK4_ENUM_SWITCH
SDK4SetShadingCorrectionMode
115
3.2.11.3 SDK4SetShadingCorrection
This function sets the shading correction value for a selected direction.
Parameters
hCtrl(CTRL_HANDLE )
The control handle of the device
uSelect(SDK4_ENUM_SHADINGSELECT)
the selector for the direction to correct
iCorrection (int32_t)
the correction value
Return value
Error code:
SDK4_ERR_SUCCESS (0) in case of no error
SDK4_ERR_ERROR (-1001) in case of unspecified error
one of the other error codes defined in SDK4_ERROR
Remarks
Shading correction can be performed for V(vertical)-Tilt , H(horizontal)-Tilt, V(vertical)-Dome and, H(horizontal)-
Dome (see SDK4_ENUM_SHADINGSELECT).
The value range of iCorrection is -128 .. 127.
Shading correction is only enabled, when Shading Corection Mode is switched on.
Example
CTRL_HANDLE hCtrl;
...
// switch shading correction on and set the correction value for V-
// Dome to -10:
SDK4SetShadingCorrectionMode(hCtrl, SDK4_ENUM_SWITCH_ON);
SDK4SetShadingCorrection(hCtrl, H3XR_ENUM_VDOME, -10);
See also
SDK4DevGetControl
CTRL_HANDLE
SDK4_ENUM_SHADINGSELECT
SDK4SetShadingCorrectionMode
SDK4GetShadingCorrection
116
3.2.11.4 SDK4GetShadingCorrection
This function gets the shading correction value for a selected direction.
Parameters
hCtrl(CTRL_HANDLE )
The control handle of the device
uSelect(SDK4_ENUM_SHADINGSELECT)
the selector for the direction to correct
piCorrection (int32_t*)
the pointer to the correction value
Return value
Error code:
SDK4_ERR_SUCCESS (0) in case of no error
SDK4_ERR_ERROR (-1001) in case of unspecified error
one of the other error codes defined in SDK4_ERROR
Remarks
There a two sources, which can genernate a test pattern, a pre-processing and a post-processing generator (see
SDK4_ENUM_PATTERNGENERATOR_SELECT).
Example
CTRL_HANDLE hCtrl;
...
// get the Shading correction value for H-Dome:
Int32_t iCorrection;
SDK4GetShadingCorrection(hCtrl, H3XR_ENUM_HDOME , &iCorrection);
See also
SDK4DevGetControl
CTRL_HANDLE
SDK4_ENUM_SHADINGSELECT
SDK4SetShadingCorrection
117
3.2.11.5 SDK4SetCircularBlankingMode
This function switches the circular blanking on and off.
Parameters
hCtrl(CTRL_HANDLE )
The control handle of the device
uOnOff (SDK4_ENUM_SWITCH)
the switch of the circlular blanking mode
Return value
Error code:
SDK4_ERR_SUCCESS (0) in case of no error
SDK4_ERR_ERROR (-1001) in case of unspecified error
one of the other error codes defined in SDK4_ERROR
Remarks
Re marks
This functions blanks the are of the image that is not used.
Example
CTRL_HANDLE hCtrl;
...
// switch circular blanking on:
SDK4SetCircularBlankingMode(hCtrl, SDK4_ENUM_SWITCH_ON);
See also
SDK4DevGetControl
CTRL_HANDLE
SDK4_ENUM_SWITCH
SDK4GetCircularBlankingMode
118
3.2.11.6 SDK4GetCircularBlankingMode
This function gets the value of the circular blanking mode.
Parameters
hCtrl(CTRL_HANDLE )
The control handle of the device
puOnOff (SDK4_ENUM_SWITCH*)
the switch of the circlular blanking mode
Return value
Error code:
SDK4_ERR_SUCCESS (0) in case of no error
SDK4_ERR_ERROR (-1001) in case of unspecified error
one of the other error codes defined in SDK4_ERROR
Example
CTRL_HANDLE hCtrl;
...
// get the value of the circular blanking mode:
SDK4_ENUM_SWITCH eSwitch;
SDK4GetCircularBlankingMode(hCtrl, &eSwitch);
See also
SDK4DevGetControl
CTRL_HANDLE
SDK4_ENUM_SWITCH
SDK4SetCircularBlankingMode
119
3.2.11.7 SDK4SetCircularBlankingSize
This function sets the diameter of the Circular Blanking.
Parameters
hCtrl(CTRL_HANDLE )
The control handle of the device
uSize (uint32_t)
the size value
Return value
Error code:
SDK4_ERR_SUCCESS (0) in case of no error
SDK4_ERR_ERROR (-1001) in case of unspecified error
one of the other error codes defined in SDK4_ERROR
Remarks
This function is only enabled, when Circular Blanking Mode is switched on.
The value range of the size is 0 .. 255 (default 128).
Example
CTRL_HANDLE hCtrl;
...
// switch circular blanking on and set the size to 200:
SDK4SetCircularBlankingMode(hCtrl, SDK4_ENUM_SWITCH_ON);
SDK4SetCircularBlankingSize(hCtrl, 200);
See also
SDK4DevGetControl
CTRL_HANDLE
SDK4GetCircularBlankingSize
SDK4SetCircularBlankingMode
120
3.2.11.8 SDK4GetCircularBlankingSize
This function gets the value of the diameter of the Circular Blanking.
Parameters
hCtrl(CTRL_HANDLE )
The control handle of the device
puSize(uint32_t*)
the pointer to the size value
Return value
Error code:
SDK4_ERR_SUCCESS (0) in case of no error
SDK4_ERR_ERROR (-1001) in case of unspecified error
one of the other error codes defined in SDK4_ERROR
Example
CTRL_HANDLE hCtrl;
...
// get the value of the circular blanking size:
uint32_t uSize;
SDK4GetCircularBlankingSize(hCtrl, &uSize);
See also
SDK4DevGetControl
CTRL_HANDLE
SDK4SetCircularBlankingSize
SDK4SetCircularBlankingMode
121
3.2.11.9 SDK4SetCircularBlankingPosition
This function sets the position of the Circular Blanking .
Parameters
hCtrl(CTRL_HANDLE )
The control handle of the device
kPosition(SDK4_KCIRCULARPOSITION)
the value of the circular blanking position
Return value
Error code:
SDK4_ERR_SUCCESS (0) in case of no error
SDK4_ERR_ERROR (-1001) in case of unspecified error
one of the other error codes defined in SDK4_ERROR
Remarks
Rem arks
This function is only enabled, when Circular Blanking Mode is switched on.
The default position (0, 0) lies in the center of the image, the value range of the position is -128 .. 127 in
horizontal and vertical direction.
Example
CTRL_HANDLE hCtrl;
...
// switch circular blanking on and set the position to 20/-20:
SDK4SetCircularBlankingMode(hCtrl, SDK4_ENUM_SWITCH_ON);
SDK4_KCIRCULARPOSITION kPosition = {20, -20};
SDK4SetCircularBlankingPosition(hCtrl, kPosition);
See also
SDK4DevGetControl
CTRL_HANDLE
SDK4_KCIRCULARPOSITION
SDK4GetCircularBlankingPosition
SDK4SetCircularBlankingMode
122
3.2.11.10 SDK4GetCircularBlankingPosition
This function gets the value of the position of the Circular Blanking.
Parameters
hCtrl(CTRL_HANDLE )
The control handle of the device
pkPosition(SDK4_KCIRCULARPOSITION*)
the pointer to the value of the circular blanking position
Return value
Error code:
SDK4_ERR_SUCCESS (0) in case of no error
SDK4_ERR_ERROR (-1001) in case of unspecified error
one of the other error codes defined in SDK4_ERROR
Example
CTRL_HANDLE hCtrl;
...
// get the value of the circular blanking position:
uint32_t uSize;
SDK4_KCIRCULARPOSITION kPosition = new SDK4_KCIRCULARPOSITION();
SDK4GetCircularBlankingPosition(hCtrl, &kPosition);
See also
SDK4DevGetControl
CTRL_HANDLE
SDK4_KCIRCULARPOSITION
SDK4SetCircularBlankingPosition
SDK4SetCircularBlankingMode
123
3.2.12 Internal Test Functions
3.2.12.1 SDK4SetTestPattern
This function selects a pattern generator, specified in SDK4_ENUM_PATTERNGENERATOR, and sets one of Test
patterns which are specified in SDK4_ENUM_PATTERN.
Parameters
hCtrl(CTRL_HANDLE )
The control handle of the device
uSelect (SDK4_ENUM_PATTERNGENERATOR_SELECT)
the selected test pattern generator
uPattern (SDK4_ENUM_PATTERN)
the test pattern
Return value
Error code:
SDK4_ERR_SUCCESS (0) in case of no error
SDK4_ERR_ERROR (-1001) in case of unspecified error
one of the other error codes defined in SDK4_ERROR
Remarks
There a two sources, which can genernate a test pattern, a pre-processing and a post-processing generator (see
SDK4_ENUM_PATTERNGENERATOR_SELECT).
The value range of the test patterns is specified in SDK4_ENUM_PATTERN. H3XR_ENUM_IMAGEDATA
switches to the live image of the CCD, all other options show test patterns.
In case, both a pre-processing and a post-processing test pattern is selected, only the post-processing test
pattern is visible.
Example
CTRL_HANDLE hCtrl;
...
// switch from live image to a gray-scale test pattern of the pre-
processing pattern generator and back:
SDK4SetTestPattern (hCtrl, H3XR_ENUM_PATTERNGENERATOR_PREPROCESSING,
H3XR_ENUM_GRAYSCALE);
...
SDK4SetTestPattern (hCtrl, H3XR_ENUM_PATTERNGENERATOR_PREPROCESSING,
H3XR_ENUM_IMAGEDATA);
See also
SDK4DevGetControl
CTRL_HANDLE
SDK4_ENUM_PATTERN
SDK4_ENUM_PATTERNGENERATOR_SELECT
SDK4GetTestPattern
124
3.2.12.2 SDK4GetTestPattern
This function selects a pattern generator, specified in SDK4_ENUM_PATTERNGENERATOR, and
gets the current Test pattern of this generator.
Return value
Error code:
SDK4_ERR_SUCCESS (0) in case of no error
SDK4_ERR_ERROR (-1001) in case of unspecified error
one of the other error codes defined in SDK4_ERROR
Remarks
There a two sources, which can genernate a test pattern, a pre-processing and a post-processing generator (see
SDK4_ENUM_PATTERNGENERATOR_SELECT).
Example
CTRL_HANDLE hCtrl;
...
SDK4_ENUM_PATTERN uPattern;
SDK4GetTestPattern (hCtrl, H3XR_ENUM_PATTERNGENERATOR_PREPROCESSING,
&uPattern);
See also
SDK4DevGetControl
CTRL_HANDLE
SDK4_ENUM_PATTERN
SDK4_ENUM_PATTERNGENERATOR_SELECT
SDK4SetTestPattern
125
3.2.12.3 SDK4GetTemperature
This function gets the current temperature in °C.
Parameters
hCtrl(CTRL_HANDLE )
The control handle of the device
piTemperature (int32_t)
the pointer to the temperature value
Return value
Error code: SDK4_ERR_SUCCESS (0) in case of no error
SDK4_ERR_ERROR (-1001) in case of unspecified error
one of the other error codes defined in SDK4_ERROR
Remarks
The temperature measurement has a tolerance of +/- 4K.
Example
CTRL_HANDLE hCtrl;
...
int32_t iTemperature;
SDK4GetTemperature (hCtrl, &iTemperature);
See also
SDK4DevGetControl
CTRL_HANDLE
3.2.13.1 SDK4SaveSettings
This function stores the current settings to one of the user defined settings in the camera EEPROM.
Parameters
hCtrl(CTRL_HANDLE )
The control handle of the device
uSetting (SDK4_ENUM_SETTINGS)
the selected setting
Return value
Error code: SDK4_ERR_SUCCESS (0) in case of no error
SDK4_ERR_ERROR (-1001) in case of unspecified error
one of the other error codes defined in SDK4_ERROR
126
Remarks
The current settings can be stored as user setting1 or user setting2. The default setting cannot be changed. For
the value range see SDK4_ENUM_SETTINGS.
Example
CTRL_HANDLE hCtrl;
...
// save current settings to user settings 1 and then declare them as
// startup settings:
SDK4SaveSettings (hCtrl, SDK4_ENUM_SETTINGS_USERSETTINGS1);
SDK4SetStartupSettings (hCtrl, SDK4_ENUM_SETTINGS_USERSETTINGS1);
See also
also
SDK4DevGetControl
CTRL_HANDLE
SDK4_ENUM_SETTINGS
SDK4LoadSettings
SDK4SetStartupSettings
3.2.13.2 SDK4LoadSettings
This function loads either the default settings or one of the previously stored user defined settings from the
camera EEPROM.
Parameters
hCtrl(CTRL_HANDLE )
The control handle of the device
uSetting (SDK4_ENUM_ SETTINGS)
the selected setting
Return value
Error code:
SDK4_ERR_SUCCESS (0) in case of no error
SDK4_ERR_ERROR (-1001) in case of unspecified error
one of the other error codes defined in SDK4_ERROR
Example
CTRL_HANDLE hCtrl;
...
// load the factory settings:
SDK4LoadSettings (hCtrl, SDK4_ENUM_SETTINGS_FACTORYSETTINGS);
See also
SDK4DevGetControl
CTRL_HANDLE
SDK4_ENUM_SETTINGS
SDK4SaveSettings
SDK4SetStartupSettings
127
3.2.13.3 SDK4SetStartupSettings
This function selects either the default settings or one of the previously stored user defined settings, for the
camera to use at startup.
Parameters
hCtrl(CTRL_HANDLE )
The control handle of the device
uSetting (SDK4_ENUM_ SETTINGS)
the selected setting
Return value
Error code:
SDK4_ERR_SUCCESS (0) in case of no error
SDK4_ERR_ERROR (-1001) in case of unspecified error
one of the other error codes defined in SDK4_ERROR
Example
CTRL_HANDLE hCtrl;
...
// save current settings to user settings 1 and then declare them as
// startup settings:
SDK4SaveSettings (hCtrl, SDK4_ENUM_SETTINGS_USERSETTINGS1);
SDK4SetStartupSettings (hCtrl, SDK4_ENUM_SETTINGS_USERSETTINGS1);
See also
SDK4DevGetControl
CTRL_HANDLE
SDK4_ENUM_SETTINGS
SDK4SaveSettings
SDK4GetStartupSettings
128
3.2.13.4 SDK4GetStartupSettings
This function gets the currently selected startup setting.
Parameters
hCtrl(CTRL_HANDLE )
The control handle of the device
puSetting (SDK4_ENUM_ SETTINGS*)
the pointer to the setting
Return value
Error code:
SDK4_ERR_SUCCESS (0) in case of no error
SDK4_ERR_ERROR (-1001) in case of unspecified error
one of the other error codes defined in SDK4_ERROR
Example
CTRL_HANDLE hCtrl;
...
SDK4_ENUM_SETTINGS uSettings;
SDK4GetStartupSettings (hCtrl, &uSettings);
See also
SDK4DevGetControl
CTRL_HANDLE
SDK4_ENUM_SETTINGS
SDK4SaveSettings
SDK4SetStartupSettings
3.2.13.5 SDK4SetAccessMode
This function sets the Control Access to one of the modes defined in SDK4_ENUM_ACCESSMODE.
Parameters
hCtrl(CTRL_HANDLE )
The control handle of the device
kAccessMode (SDK4_KACCESSMODE)
the selected access mode
Return value
Error code:
SDK4_ERR_SUCCESS (0) in case of no error
SDK4_ERR_ERROR (-1001) in case of unspecified error
one of the other error codes defined in SDK4_ERROR
129
Remarks
There are 3 access modes, which are needed for different camera controlling functions (see
SDK4_ENUM_ACCESS).
Most of all controlling functions can be accessed, when the camera runs in SDK4_ENUM_ACCESS_USERMODE,
which is the default mode.
Some functions are only accessible in SDK4_ENUM_ACCESS_MAINTANANCEMODE, such as some of the
defectpixel functions.
Functions, which are only accessible in SDK4_ENUM_ACCESS_ADJUSTMODE, are only used by the
manufacturer.
For SDK4_ENUM_ACCESS_MAINTANANCEMODE and SDK4_ENUM_ACCESS_ADJUSTMODE different unlock
codes are needed. The unlock code for SDK4_ENUM_ACCESS_MAINTANANCEMODE is hex 1234.
Example
CTRL_HANDLE hCtrl;
...
// set the access mode of the camera to maintanace mode and switch
// the display of defect pixels on. Then switch access mode back to
// user mode:
SDK4_KACCESSMODE maintanaceMode = {SDK4_ENUM_ACCESS_MAINTANANCEMODE,
0x1234};
SDK4SetAccessMode(hCtrl, maintanaceMode);
SDK4SetDefectPixelShow(hCtrl, SDK4_ENUM_SWITCH_ON);
SDK4_KACCESSMODE userMode = {SDK4_ENUM_ACCESS_USERMODE, 0};
SDK4SetAccessMode(hCtrl, userMode);
See also
SDK4DevGetControl
CTRL_HANDLE
SDK4_KACCESSMODE
SDK4_ENUM_ACCESS
SDK4GetAccessMode
130
3.2.13.6 SDK4GetAccessMode
This function gets the current access mode of the camera.
Parameters
hCtrl(CTRL_HANDLE )
The control handle of the device
pkAccessMode (SDK4_KACCESSMODE*)
the pointer to the access mode
Return
Return value
Error code:
SDK4_ERR_SUCCESS (0) in case of no error
SDK4_ERR_ERROR (-1001) in case of unspecified error
one of the other error codes defined in SDK4_ERROR
Example
CTRL_HANDLE hCtrl;
...
SDK4_KACCESSMODE accessMode = new SDK4_KACCESSMODE();
SDK4GetAccessMode(hCtrl, &accessMode);
See also
SDK4DevGetControl
CTRL_HANDLE
SDK4_KACCESSMODE
SDK4_ENUM_ACCESS
SDK4SetAccessMode
131
3.2.13.7 SDK4GetOperationMode
This function gets the current operation mode of the camera.
Parameters
hCtrl(CTRL_HANDLE )
The control handle of the device
puMode (SDK4_ENUM_OPERATIONMODE*)
the pointer to the operation mode
Return value
Error code:
SDK4_ERR_SUCCESS (0) in case of no error
SDK4_ERR_ERROR (-1001) in case of unspecified error
one of the other error codes defined in SDK4_ERROR
Remarks
This function is used to receive information from the micro controller about the actual operation mode.
Example
CTRL_HANDLE hCtrl;
...
SDK4_ENUM_OPERATIONMODE opMode;
SDK4GetOperationMode (hCtrl, & opMode);
See also
SDK4DevGetControl
CTRL_HANDLE
SDK4_ENUM_OPERATIONMODE
3.2.14.1 SDK4MotorSetControl
This function is used to control the iris and the filter motor.
Parameters
hCtrl(CTRL_HANDLE )
The control handle of the device
uSelect (uint32_t)
the selected motor control address
uData (uint32_t)
the motor control data
132
Return value
Error code:
SDK4_ERR_SUCCESS (0) in case of no error
SDK4_ERR_ERROR (-1001) in case of unspecified error
one of the other error codes defined in SDK4_ERROR
Remarks
The value of uSelect is defined as the address of the motor control command. Some of these commands can be
used to control either the iris or the filter motor, others are motor independent.
The following table shows the addresses of all commands, by which data can be set to the motor control:
Command Address Value Iris Address Value Filter Address Value Iris + Filter
Filter
GotoPos 0x02
0x03
HomeLeft 0x04
0x05
HomeRight 0x06
0x07
StoreRight 0x08
0x09
StoreLeft 0x0A
0x0B
SetLeft 0x0C
0x0D
SetRight 0x0E
0x0F
StartCalibration 0x20
FilterOn 0x22
FilterOff 0x24
RampConfig 0x2A
The range of the data value depends on the selected command address.
Example
CTRL_HANDLE hCtrl;
...
// change the position of the iris motor to position 1000:
SDK4MotorSetControl (hCtrl, 0x02, 1000);
See also
SDK4DevGetControl
CTRL_HANDLE
SDK4MotorGetControl
3.2.14.2 SDK4MotorGetControl
This function is used to get control data from the iris and the filter motor.
133
Parameters
hCtrl(CTRL_HANDLE )
The control handle of the device
uSelect (uint32_t)
the selected motor control address
puData (uint32_t*)
the pointer to the motor control data
Return value
Error code:
SDK4_ERR_SUCCESS (0) in case of no error
SDK4_ERR_ERROR (-1001) in case of unspecified error
one of the other error codes defined in SDK4_ERROR
Remarks
The value of uSelect is defined as the address of the motor control command. Some of these commands can be
used to get control data either from the iris or the filter motor, others are motor independent.
The following table shows the addresses of all commands, which retrieve data from the motor control:
Command Address Value Iris Address Value Filter Address Value Iris + Filter
GetLeft 0x10
0x11
GetRight 0x12
0x13
GetActPos 0x14
0x15
GetVersion 0x16
GetStatus 0x18
IrisCorrection 0x28
Example
CTRL_HANDLE hCtrl;
...
// get the actual position of the iris motor:
uint32_t uPosition;
SDK4MotorGetControl (hCtrl, 0x14, &uPosition);
See also
SDK4DevGetControl
CTRL_HANDLE
SDK4MotorGetControl
134
3.3 Appendix
3.3.1.1 ENUM_DEVICE_ACCESS
This enumeration defines SDK4 types of device access.
enum ENUM_DEVICE_ACCESS
{
Open the device read only. All Port functions can only
read from the device:
DEVICEACCESS_READONLY =2,
Open the device in a way that other hosts/processes can
have read only access to the device. Device access level
is read/write for this process:
DEVICEACCESS_CONTROL =3,
Open the device in a way that only this host/process can
have access to the device. Device access level is
read/write for this process:
DEVICEACCESS_EXCLUSIVE =4
};
135
3.3.1.2 ENUM_PIXELFORMAT
This enumeration defines SDK4 pixel formats.
enum ENUM_PIXELFORMAT
{
PIXELFORMAT_RGB24 = 0x01180001,
PIXELFORMAT_RGB32 = 0x01200002,
PIXELFORMAT_YUV = 0x01100003,
PIXELFORMAT_UYVY = 0x0110000f,
PIXELFORMAT_Y8 = 0x00080004,
PIXELFORMAT_Y10 = 0x00100005,
PIXELFORMAT_Y12 = 0x00100006,
PIXELFORMAT_Y12P = 0x00100010,
PIXELFORMAT_Y12_MSB = 0x00100012,
PIXELFORMAT_Y14 = 0x00100007,
PIXELFORMAT_Y14_MSB = 0x00100013,
PIXELFORMAT_Y16 = 0x00100008,
PIXELFORMAT_Y12S = 0x02100009,
PIXELFORMAT_Y14S = 0x0210000a,
PIXELFORMAT_YUVS = 0x0310000c,
PIXELFORMAT_D8 = 0x00080014,
PIXELFORMAT_D12 = 0x0010000d,
PIXELFORMAT_D14 = 0x0010000e
};
136
3.3.1.3 ENUM_MEDIATYPE
This enumeration defines SDK4 types of device access.
enum ENUM_MEDIATYPE
{
MEDIATYPE_VIDEOFRAME =0,
MEDIATYPE_VIDEOSTREAM =1,
MEDIATYPE_AUDIOSTREAM =2
};
3.3.2.1 SDK4_ENUM_SWITCH
This enumeration defines SDK4 switch for “on” and “off” state.
enum SDK4_ENUM_SWITCH
{
SDK4_ENUM_SWITCH_OFF = 0,
SDK4_ENUM_SWITCH_ON = 1
};
3.3.2.2 SDK4_ENUM_EXPOSUREMODE
This enumeration defines SDK4 modes of exposure..
enum SDK4_ENUM_EXPOSUREMODE
{
H3XR_ENUM_EXPOSUREMODE_FREERUNNINGPARALLEL = 1,
H3XR_ENUM_EXPOSUREMODE_FRAMEONDEMAND = 2,
H3XR_ENUM_EXPOSUREMODE_ASYNCEXP = 3
};
137
3.3.2.3 SDK4_ENUM_AGC
This enumeration defines SDK4 modes of AGC.
enum SDK4_ENUM_AGC
{
H3XR_ENUM_AGC_OFF = 0,
H3XR_ENUM_AGC_ON = 1,
H3XR_ENUM_AGC_STOP = 2
};
3.3.2.4 SDK4_ENUM_COLORCODING
This enumeration defines SDK4 types of color coding in H3XR cameras.
enum SDK4_ENUM_COLORCODING
{
SDK4_ENUM_COLORCODING_Y14 = 6
};
3.3.2.5 SDK4_ENUM_IMAGEHOLD
This enumeration defines SDK4 modes of Image Hold.
enum SDK4_ENUM_IMAGEHOLD
{
SDK4_ENUM_IMAGEHOLD_LIVE = 0,
SDK4_ENUM_IMAGEHOLD_HOLD = 1
};
3.3.2.6 SDK4_ENUM_RECURSIVEFILTER
This enumeration defines SDK4 types of Recursive Filter Factors.
enum SDK4_ENUM_RECURSIVEFILTER
{
SDK4_ENUM_RECURSIVEFILTER_FACTOR1 = 0,
SDK4_ENUM_RECURSIVEFILTER_FACTOR2 = 1,
SDK4_ENUM_RECURSIVEFILTER_FACTOR4 = 2,
SDK4_ENUM_RECURSIVEFILTER_FACTOR8 = 3,
SDK4_ENUM_RECURSIVEFILTER_FACTOR16 = 4
};
138
3.3.2.7 SDK4_ENUM_OVERLAYSELECT
This enumeration defines SDK4 types of overlays.
enum SDK4_ENUM_OVERLAYSELECT
{
SDK4_ENUM_OVERLAYSELECT_LINEGENERATOR1 = 0,
SDK4_ENUM_OVERLAYSELECT_LINRGENERATOR2 = 1
};
3.3.2.8 SDK4_ENUM_LINESTYLE
This enumeration defines SDK4 types of overlay line styles.
enum SDK4_ENUM_LINESTYLE
{
SDK4_ENUM_LINESTYLE_SOLID = 0,
SDK4_ENUM_LINESTYLE_DASHED = 1
};
3.3.2.9 SDK4_ENUM_OVERLAYWIDTH
This enumeration defines SDK4 types of overlay line width.
enum SDK4_ENUM_OVERLAYWIDTH
{
SDK4_ENUM_OVERLAYWIDTH_PIXEL1 = 0,
SDK4_ENUM_OVERLAYWIDTH_PIXEL3 = 1,
SDK4_ENUM_OVERLAYWIDTH_PIXEL5 = 2,
SDK4_ENUM_OVERLAYWIDTH_PIXEL7 = 3
};
3.3.2.10 SDK4_ENUM_MFCOLOR
This enumeration defines SDK4 measure frame colors in H3XR cameras.
enum SDK4_ENUM_MFCOLOR
{
H3XR_ENUM_COLOR_GREY0 = 0,
H3XR_ENUM_COLOR_GREY25 = 1,
H3XR_ENUM_COLOR_GREY75 = 2,
H3XR_ENUM_COLOR_GREY100 = 3
};
3.3.2.11 SDK4_ENUM_PATTERNGENERATOR_SELECT
This enumeration defines SDK4 test pattern generators in H3XR cameras.
enum SDK4_ENUM_PATTERNGENERATOR_SELECT
{
H3XR_ENUM_PATTERNGENERATOR_PREPROCESSING = 0,
H3XR_ENUM_PATTERNGENERATOR_POSTPROCESSING = 1
};
139
3.3.2.12 SDK4_ENUM_PATTERN
This enumeration defines SDK4 types of test patterns in H3XR cameras.
enum SDK4_ENUM_PATTERN_BW
{
H3XR_ENUM_IMAGEDATA = 0,
H3XR_ENUM_GRAYSCALE = 1,
H3XR_ENUM_GRAYSCALEMARGIN = 2,
H3XR_ENUM_TRIANGLE4 = 3,
H3XR_ENUM_CONSUMER = 4,
H3XR_ENUM_RESOLUTION = 5,
H3XR_ENUM_GRAYRAMP = 6
};
3.3.2.13 SDK4_ENUM_SETTINGS
This enumeration defines SDK4 types of settings, which are stored in the EEPROM of the camera.
enum SDK4_ENUM_SETTINGS
{
SDK4_ENUM_SETTINGS_FACTORYSETTINGS = 0,
SDK4_ENUM_SETTINGS_USERSETTINGS1 = 1,
SDK4_ENUM_SETTINGS_USERSETTINGS2 = 2
};
3.3.2.14 SDK4_ENUM_ACCESSMODE
This enumeration defines SDK4 access modes.
enum SDK4_ENUM_ACCESSMODE
{
SDK4_ENUM_ACCESS_USERMODE = 0,
SDK4_ENUM_ACCESS_MAINTANANCEMODE = 1,
SDK4_ENUM_ACCESS_ADJUSTMODE = 2
};
3.3.2.15 SDK4_ENUM_OPERATIONMODE
This enumeration defines SDK4 operation modes.
enum SDK4_ENUM_OPERATIONMODE
{
SDK4_ENUM_OPERATION_BOOT = 0,
SDK4_ENUM_OPERATION_OPERATION = 1
};
140
3.3.2.16 SDK4_ENUM_ABC
This enumeration defines SDK4 ABC modes.
enum SDK4_ENUM_ABC
{
H3XR_ENUM_OFF = 0,
H3XR_ENUM_ON = 1,
H3XR_ENUM_STOP = 2
};
3.3.2.17 SDK4_ENUM_ABC_SELECT
This enumeration defines the selector ABC threshold output signals (XR-HIGH-EXT and XR-LOW-EXT).
enum SDK4_ENUM_ABC_SELECT
{
H3XR_ENUM_XRHIGH = 0,
H3XR_ENUM_XRLOW = 1
};
3.3.2.18 SDK4_ENUM_SHADINGSELECT
This enumeration defines the selector for the direction of Shading correction.
enum SDK4_ENUM_SHADINGSELECT
{
H3XR_ENUM_VTILT = 0,
H3XR_ENUM_HTILT = 1,
H3XR_ENUM_VDOME = 2,
H3XR_ENUM_HDOME = 3
};
3.3.2.19 SDK4_ENUM_DEFECTPIXEL_MODE
This enumeration defines the mode of a defect pixel.
enum SDK4_ENUM_DEFECTPIXEL_MODE
{
SDK4_ENUM_DEFECTPIXEL_COMPENSATION_OFF = 0,
SDK4_ENUM_DEFECTPIXEL_COMPENSATION_ON = 1,
SDK4_ENUM_DEFECTPIXEL_HIGHLIGHT = 2
};
141
3.3.2.20 SDK4_ENUM_HISTOEQUAL
This enumeration defines the histogram equalization modes.
3.3.3.1 SDK4_KOVERLAYSIZE
This structure defines SDK4 datatype of Overlay Size.
struct SDK4_KOVERLAYSIZE
{
uint32_t width;
uint32_t length;
};
3.3.3.2 SDK4_KSTYLE
This structure defines SDK4 datatype of Overlay Style.
struct SDK4_KSTYLE
{
uint32_t color;
uint32_t style;
};
3.3.3.3 SDK4_KSIZE
This structure defines SDK4 datatype of Image Size.
struct SDK4_KSIZE
{
uint32_t width;
uint32_t height;
};
142
3.3.3.4 SDK4_KPOSITION
This structure defines SDK4 datatype of Position (beginning at the upper left corner of the image).
struct SDK4_KPOSITION
{
uint32_t xPos;
uint32_t yPos;
};
3.3.3.5 SDK4_KCIRCULARPOSITION
This structure defines SDK4 datatype of Position (beginning at the center of the image).
struct SDK4_KCIRCULARPOSITION
{
int32_t xPos;
int32_t yPos;
};
3.3.3.6 SDK4_KVERSION
This structure defines SDK4 datatype of Version.
struct SDK4_KVERSION
{
uint32_t major;
uint32_t minor;
};
3.3.3.7 SDK4_KREVISION
This structure defines SDK4 datatype of Revision.
struct SDK4_KREVISION
{
uint32_t hardware;
uint32_t software;
};
3.3.3.8 SDK4_KACCESSMODE
This structure defines SDK4 datatype of Access Mode.
struct SDK4_KACCESSMODE
{
uint32_t mode;
uint32_t unlockCode;
};
143
3.3.3.9 SDK4_KMWCIRCLE
This structure defines SDK4 datatype of the circular measure window.
struct SDK4_KMWCIRCLE
{
uint32_t radius;
uint32_t width;
SDK4_KCIRCULARPOSITION center;
uint32_t vStretch;
};
3.3.3.10 SDK4_KDEFECTPIXELSELECT
This structure defines SDK4 datatype of the selector of defect pixels.
struct SDK4_KDEFECTPIXELSELECT
{
uint32_t pixelNumber;
uint32_t store;
};
3.3.3.11 SDK4_KDEFECTPIXEL
This structure defines SDK4 datatype, that characterizes a defect pixels.
struct SDK4_KDEFECTPIXEL
{
SDK4_KPOSITION pos;
SDK4_ENUM_DEFECTPIXEL_MODE mode;
};
3.3.4 Definitions
3.3.4.1 DEV_HANDLE
typedef void * DEV_HANDLE;
3.3.4.2 CTRL_HANDLE
typedef void * CTRL_HANDLE;
3.3.4.3 DS_HANDLE
typedef void * DS_HANDLE;
3.3.4.4 BUFFER_HANDLE
typedef void * BUFFER_HANDLE;
144
3.3.5 Error Codes
3.3.5.1 SDK4_ERROR
This enumeration defines SDK4 error types.
enum SDK4_ERROR
{
SDK4_ERR_SUCCESS = 0,
SDK4_ERR_ERROR = -1001,
SDK4_ERR_NOT_INITIALIZED = -1002,
SDK4_ERR_NOT_IMPLEMENTED = -1003,
SDK4_ERR_RESOURCE_IN_USE = -1004,
SDK4_ERR_ACCESS_DENIED = -1005,
SDK4_ERR_INVALID_HANDLE = -1006,
SDK4_ERR_INVALID_ID = -1007,
SDK4_ERR_NO_DATA = -1008,
SDK4_ERR_INVALID_PARAMETER = -1009,
SDK4_ERR_IO = -1010,
SDK4_ERR_TIMEOUT = -1011,
SDK4_ERR_CANTSETFEATURE = -1012,
SDK4_ERR_CANTGETFEATURE = -1013,
SDK4_ERR_OUTOFRANGE = -1014,
SDK4_ERR_DISABLED = -1015,
SDK4_ERR_ACQUISITIONRUNNING = -1016,
SDK4_ERR_INVALID_BUFFER_SIZE = -1201,
SDK4_ERR_INVALID_ADDRESS = -1202,
SDK4_ERR_INVALID_INTERFACE = -1203,
};
145
SDK4
LumaCam GigE
Documentation
2/3" 3801-401-109-00
Manual SDK 4 for LumaCam GigE V2.3
Qioptiq Photonics
Gmbh & Co KG
(Formerly LINOS)
Hans-Riedl-Str. 9
D-85622 Feldkirchen (Munich)
Telephone: +49 - 89 – 255 458 - 0
Fax: +49 – 89 – 255 458 – 111
Content
1 Introduction .............................................................................................................................................. 7
2 Installation ................................................................................................................................................ 7
2.1 Windows ........................................................................................................................................... 7
2.2 Linux ................................................................................................................................................. 8
2.3 Logging ............................................................................................................................................. 8
3 Function Interface Description.................................................................................................................... 9
3.1 SDK4Acquire...................................................................................................................................... 9
3.1.1 Device Access Functions ............................................................................................................. 9
3.1.1.1 SDK4InitLib......................................................................................................................... 9
3.1.1.2 SDK4CloseLib ................................................................................................................... 10
3.1.1.3 SDK4GetNumDevices ........................................................................................................ 11
3.1.1.4 SDK4GetDeviceID.............................................................................................................. 12
3.1.1.5 SDK4OpenDevice .............................................................................................................. 12
3.1.1.6 SDK4CloseDevice .............................................................................................................. 14
3.1.1.7 SDK4DevStartAcquisition .................................................................................................. 15
3.1.1.8 SDK4DevStopAcquisition................................................................................................... 16
3.1.1.9 SDK4DevGetControl.......................................................................................................... 17
3.1.1.10 SDK4DevGetDataStream ................................................................................................... 17
3.1.1.11 SDK4DevGetClassID.......................................................................................................... 19
3.1.1.12 SDK4DevGetModel ........................................................................................................... 20
3.1.2 Data Stream Functions.............................................................................................................. 21
3.1.2.1 SDK4DSGetPayloadSize..................................................................................................... 21
3.1.2.2 SDK4DSAnnounceBuffer ................................................................................................... 22
3.1.2.3 SDK4DSAllocAndAnnounceBuffer...................................................................................... 23
3.1.2.4 SDK4DSQueueBuffer ......................................................................................................... 24
3.1.2.5 SDK4DSWaitForBuffer....................................................................................................... 25
3.1.2.6 SDK4DSFlushQueue .......................................................................................................... 26
3.1.2.7 SDK4DSRevokeBuffer........................................................................................................ 27
3.1.3 Image Format Function............................................................................................................. 28
3.1.3.1 SDK4DSGetWidth ............................................................................................................. 28
3.1.3.2 SDK4DSGetHeight............................................................................................................. 29
3.1.3.3 SDK4DSGetPixelFormat..................................................................................................... 30
3.1.3.4 SDK4DSGetTimePerFrame ................................................................................................. 30
3.1.4 Buffer Functions ....................................................................................................................... 31
3.1.4.1 SDK4BufferGetPtr ............................................................................................................. 31
3.1.4.2 SDK4BufferGetPrivatePtr................................................................................................... 32
3.1.4.3 SDK4BufferGetSize............................................................................................................ 33
3.1.4.4 SDK4BufferIsComplete ...................................................................................................... 34
3.1.4.5 SDK4BufferSizeFilled ......................................................................................................... 35
3.2 SDK4H3XRControl ........................................................................................................................... 36
3.2.1 GigEVision Control Functions.................................................................................................... 36
3.2.1.1 SDK4GetGigEVersion ........................................................................................................ 36
3.2.1.2 SDK4GetMacAddress ........................................................................................................ 37
3.2.1.3 SDK4GetCurrentIPAddress ................................................................................................ 38
3.2.1.4 SDK4GetCurrentSubnetmask............................................................................................. 39
3
3.2.1.5 SDK4GetCurrentDefaultGateway....................................................................................... 40
3.2.1.6 SDK4SetPacketSize ........................................................................................................... 41
3.2.1.7 SDK4GetPacketSize........................................................................................................... 42
3.2.2 General Device Functions.......................................................................................................... 43
3.2.2.1 SDK4GetDeviceName........................................................................................................ 43
3.2.2.2 SDK4GetSerialNumber ...................................................................................................... 44
3.2.2.3 SDK4GetFunctionModelID................................................................................................. 45
3.2.2.4 SDK4GetFunctionModelVersion......................................................................................... 46
3.2.2.5 SDK4GetRevision .............................................................................................................. 47
3.2.2.6 SDK4GetSoftwareVersion.................................................................................................. 48
3.2.2.7 SDK4GetFirmwareVersion ................................................................................................. 49
3.2.3 Exposure Functions................................................................................................................... 50
3.2.3.1 SDK4SetExposureMode..................................................................................................... 50
3.2.3.2 SDK4GetExposureMode .................................................................................................... 51
3.2.3.3 SDK4SetExposure.............................................................................................................. 52
3.2.3.4 SDK4GetExposure............................................................................................................. 53
3.2.4 Gain Functions ......................................................................................................................... 54
3.2.4.1 SDK4SetGain .................................................................................................................... 54
3.2.4.2 SDK4GetGain.................................................................................................................... 55
3.2.4.3 SDK4SetAGC .................................................................................................................... 56
3.2.4.4 SDK4GetAGC.................................................................................................................... 57
3.2.4.5 SDK4SetAutomaticLevel .................................................................................................... 58
3.2.4.6 SDK4GetAutomaticLevel ................................................................................................... 59
3.2.4.7 SDK4SetAutoGainStopMode ............................................................................................. 60
3.2.4.8 SDK4GetAutoGainStopMode ............................................................................................ 61
3.2.5 Signal Analysis Functions.......................................................................................................... 62
3.2.5.1 SDK4SetMeasureFrameShow............................................................................................. 62
3.2.5.2 SDK4GetMeasureFrameShow............................................................................................ 63
3.2.5.3 SDK4SetMeasureWindow.................................................................................................. 64
3.2.5.4 SDK4GetMeasureWindow................................................................................................. 65
3.2.6 Overlay Functions ..................................................................................................................... 66
3.2.6.1 SDK4SetOverlayShow........................................................................................................ 66
3.2.6.2 SDK4GetOverlayShow ....................................................................................................... 66
3.2.6.3 SDK4SetOverlayPosition.................................................................................................... 68
3.2.6.4 SDK4GetOverlayPosition ................................................................................................... 69
3.2.6.5 SDK4SetOverlayStyle......................................................................................................... 70
3.2.6.6 SDK4GetOverlayStyle ........................................................................................................ 71
3.2.6.7 SDK4SetOverlaySize .......................................................................................................... 72
3.2.6.8 SDK4GetOverlaySize ......................................................................................................... 73
3.2.7 Digital Enhancement Functions................................................................................................. 74
3.2.7.1 SDK4SetBrightness............................................................................................................ 74
3.2.7.2 SDK4GetBrightness........................................................................................................... 75
3.2.7.3 SDK4SetContrast .............................................................................................................. 76
3.2.7.4 SDK4GetContrast.............................................................................................................. 77
3.2.7.5 SDK4SetSharpness ............................................................................................................ 78
3.2.7.6 SDK4GetSharpness ........................................................................................................... 79
3.2.7.7 SDK4SetHistogramEqualization ......................................................................................... 80
3.2.7.8 SDK4GetHistogramEqualization ........................................................................................ 81
3.2.8 Memory Functions .................................................................................................................... 82
3.2.8.1 SDK4SetVerticalFlip........................................................................................................... 82
3.2.8.2 SDK4GetVerticalFlip.......................................................................................................... 83
4
3.2.8.3 SDK4SetHorizontalFlip ...................................................................................................... 84
3.2.8.4 SDK4GetHorizontalFlip...................................................................................................... 85
3.2.8.5 SDK4SetLastImageHold..................................................................................................... 86
3.2.8.6 SDK4GetLastImageHold .................................................................................................... 87
3.2.8.7 SDK4StoreImage............................................................................................................... 88
3.2.8.8 SDK4SetImageSubtraction................................................................................................. 89
3.2.8.9 SDK4GetImageSubtraction ................................................................................................ 90
3.2.8.10 SDK4SetRecursiveFilter...................................................................................................... 91
3.2.8.11 SDK4GetRecursiveFilter..................................................................................................... 92
3.2.8.12 SDK4SetAutoMotionDetection .......................................................................................... 93
3.2.8.13 SDK4GetAutoMotionDetection.......................................................................................... 94
3.2.9 Look Up Table Functions .......................................................................................................... 95
3.2.9.1 SDK4SetGammaIndex ....................................................................................................... 95
3.2.9.2 SDK4GetGammaIndex....................................................................................................... 96
3.2.9.3 SDK4SetNegativeImage..................................................................................................... 97
3.2.9.4 SDK4GetNegativeImage.................................................................................................... 98
ABC Functions......................................................................................................................................... 99
3.2.9.5 SDK4SetABC..................................................................................................................... 99
3.2.9.6 SDK4GetABC .................................................................................................................. 100
3.2.9.7 SDK4SetABCStopMode ................................................................................................... 101
3.2.9.8 SDK4GetABCStopMode .................................................................................................. 102
3.2.9.9 SDK4SetABCThreshold .................................................................................................... 103
3.2.9.10 SDK4GetABCThreshold ................................................................................................... 103
3.2.9.11 SDK4GetABCXRLevel ...................................................................................................... 105
3.2.10 Defect Pixel Functions............................................................................................................. 106
3.2.10.1 SDK4SetDefectPixelAutoCompensation ........................................................................... 106
3.2.10.2 SDK4GetDefectPixelCount............................................................................................... 107
3.2.10.3 SDK4SetDefectPixelShow ................................................................................................ 107
3.2.10.4 SDK4GetDefectPixelShow................................................................................................ 109
3.2.10.5 SDK4SetDefectPixel......................................................................................................... 110
3.2.10.6 SDK4GetDefectPixel ........................................................................................................ 112
3.2.11 Image Correction Functions .................................................................................................... 114
3.2.11.1 SDK4SetShadingCorrectionMode..................................................................................... 114
3.2.11.2 SDK4GetShadingCorrectionMode.................................................................................... 115
3.2.11.3 SDK4SetShadingCorrection ............................................................................................. 116
3.2.11.4 SDK4GetShadingCorrection............................................................................................. 117
3.2.11.5 SDK4SetCircularBlankingMode........................................................................................ 118
3.2.11.6 SDK4GetCircularBlankingMode....................................................................................... 119
3.2.11.7 SDK4SetCircularBlankingSize .......................................................................................... 120
3.2.11.8 SDK4GetCircularBlankingSize.......................................................................................... 121
3.2.11.9 SDK4SetCircularBlankingPosition .................................................................................... 122
3.2.11.10 SDK4GetCircularBlankingPosition ................................................................................... 123
3.2.12 Internal Test Functions............................................................................................................ 124
3.2.12.1 SDK4SetTestPattern ........................................................................................................ 124
3.2.12.2 SDK4GetTestPattern ....................................................................................................... 125
3.2.12.3 SDK4GetTemperature ..................................................................................................... 126
3.2.13 Basic Settings Functions ......................................................................................................... 126
3.2.13.1 SDK4SaveSettings ........................................................................................................... 126
3.2.13.2 SDK4LoadSettings........................................................................................................... 127
3.2.13.3 SDK4SetStartupSettings .................................................................................................. 128
3.2.13.4 SDK4GetStartupSettings ................................................................................................. 129
5
3.2.13.5 SDK4SetAccessMode....................................................................................................... 129
3.2.13.6 SDK4GetAccessMode...................................................................................................... 131
3.2.13.7 SDK4GetOperationMode................................................................................................. 132
3.2.14 Motor Control Functions......................................................................................................... 132
3.2.14.1 SDK4MotorSetControl..................................................................................................... 132
3.2.14.2 SDK4MotorGetControl .................................................................................................... 133
3.3 Appendix ....................................................................................................................................... 135
3.3.1 Enumerations SDK4Acquire .................................................................................................... 135
3.3.1.1 ENUM_DEVICE_ACCESS................................................................................................. 135
3.3.1.2 ENUM_PIXELFORMAT .................................................................................................... 136
3.3.1.3 ENUM_MEDIATYPE ........................................................................................................ 137
3.3.2 Enumerations SDK4H3XRControl ............................................................................................ 137
3.3.2.1 SDK4_ENUM_SWITCH.................................................................................................... 137
3.3.2.2 SDK4_ENUM_EXPOSUREMODE...................................................................................... 137
3.3.2.3 SDK4_ENUM_AGC ......................................................................................................... 138
3.3.2.4 SDK4_ENUM_COLORCODING ........................................................................................ 138
3.3.2.5 SDK4_ENUM_IMAGEHOLD............................................................................................. 138
3.3.2.6 SDK4_ENUM_RECURSIVEFILTER..................................................................................... 138
3.3.2.7 SDK4_ENUM_OVERLAYSELECT ...................................................................................... 139
3.3.2.8 SDK4_ENUM_LINESTYLE ................................................................................................ 139
3.3.2.9 SDK4_ENUM_OVERLAYWIDTH....................................................................................... 139
3.3.2.10 SDK4_ENUM_MFCOLOR ................................................................................................ 139
3.3.2.11 SDK4_ENUM_PATTERNGENERATOR_SELECT ................................................................. 139
3.3.2.12 SDK4_ENUM_PATTERN.................................................................................................. 140
3.3.2.13 SDK4_ENUM_SETTINGS ................................................................................................. 140
3.3.2.14 SDK4_ENUM_ACCESSMODE .......................................................................................... 140
3.3.2.15 SDK4_ENUM_OPERATIONMODE.................................................................................... 140
3.3.2.16 SDK4_ENUM_ABC ......................................................................................................... 141
3.3.2.17 SDK4_ENUM_ABC_SELECT ............................................................................................ 141
3.3.2.18 SDK4_ENUM_SHADINGSELECT ...................................................................................... 141
3.3.2.19 SDK4_ENUM_DEFECTPIXEL_MODE ................................................................................ 141
3.3.2.20 SDK4_ENUM_HISTOEQUAL ............................................................................................ 142
3.3.3 Structures SDK4H3XRControl.................................................................................................. 142
3.3.3.1 SDK4_KOVERLAYSIZE..................................................................................................... 142
3.3.3.2 SDK4_KSTYLE................................................................................................................. 142
3.3.3.3 SDK4_KSIZE.................................................................................................................... 142
3.3.3.4 SDK4_KPOSITION ........................................................................................................... 143
3.3.3.5 SDK4_KCIRCULARPOSITION ........................................................................................... 143
3.3.3.6 SDK4_KVERSION ............................................................................................................ 143
3.3.3.7 SDK4_KREVISION ........................................................................................................... 143
3.3.3.8 SDK4_KACCESSMODE .................................................................................................... 143
3.3.3.9 SDK4_KMWCIRCLE......................................................................................................... 144
3.3.3.10 SDK4_KDEFECTPIXELSELECT........................................................................................... 144
3.3.3.11 SDK4_KDEFECTPIXEL...................................................................................................... 144
3.3.4 Definitions.............................................................................................................................. 144
3.3.4.1 DEV_HANDLE................................................................................................................. 144
3.3.4.2 CTRL_HANDLE................................................................................................................ 144
3.3.4.3 DS_HANDLE ................................................................................................................... 144
3.3.4.4 BUFFER_HANDLE ........................................................................................................... 144
3.3.5 Error Codes ............................................................................................................................ 145
3.3.5.1 SDK4_ERROR ................................................................................................................. 145
6
1 Introduction
Concept:
Kappa SDK4 is designed as a Programming Interface for QIOPTIQ LumaCam GigE cameras. SDK4 provides
functionalities for device access and image acquisition (SDK4Acquire) and for camera controlling
(SDK4H3XRControl).
Programming interface:
SDK4 provides a C-Function Interface for Windows and Linux.
SDK4Acquire provides device access and data stream access. It has two different approaches for image buffer
management, either by buffers being allocated by the application or by the engine of SDK4Acquire. Image
buffers have to be polled, there is no event or callback mechanism.
For controlling functions, SDK4Acquire provides a control handle, which is used by SDK4H3XRControl in order to
access its controlling functions.
2 Installation
System Requirements:
Operating System: Windows XP 32Bit SP3, Windows Vista 32Bit, Windows 7 32/64 Bit,
Linux 32/64 Bit (>Kernel 2.6)
CPU: Dual Core 2 GHz
RAM: 2 GB
Graphics card: 256 MB
Network card: “Jumbo-Frames” or “MTU-Size” of at least 4 kB.
2.1 Windows
Driver:
For the Windows 32-bit operating systems, Kappa provides an additional filter driver on top of the driver of the
network card, which is called Kobra Driver. Kobra Driver has to be installed after the driver of the
network card!
For the installation of Kobra Driver you find an installation tool called KobraManager on the Setup
CD in the folder \bin\32bit\KobraManager.
Binaries:
Binaries:
The Setup CD contains a folder \lib\ for each 32-bit and 64-bit operating systems. These folders contain
static libraries SDK4Acquire.lib and SDK4H3XRControl.lib.
Furthermore, the Setup CD contains a folder \bin\ for each 32-bit and 64-bit operating system. These folders
contain the following dynamic link libraries:
SDK4Acquire.dll
SDK4H3XRControl.dll
GigEVisionTL.dll
Log4cxx.dll
Kobra.dll (only in the 32bit folder)
The \include\SDK4\ folder contains header files for SDK4Acquire, the
\include\SDK4\Control\ folder contains header files for SDK4H3XRControl.
7
The folder \src\Discovery\ contains discover.cpp , a console application sample, which
demonstrates the device discovery.
The folder \src\MultiAcquire\ contains .cpp and .h files for a console application sample, which
demonstrates the use of threads for image acquiring.
The folder \src\H3XRCtrl\ contains h3xrctrl.cpp , a console application sample, which
demonstrates camera controlling.
2.2 Linux
SDK4 for Linux is available on request.
2.3 Logging
SDK4 provides a facility to log function calls. Therefore, a file named log4j.xml is needed in the execution
folder. If the file does not exist, no logging is done. An example for this type of file is provided in the folders
\bin\32bit\ and \bin\64bit\.
This file contains the logging options, such as log level, log target, log folder and file name.
Log target,
target, log
log folder and log file name:
<param name="file" value="${APPDATA}\SDK4.log" />
Log level:
<priority value="INFO" /> <!--(DEBUG, INFO or ERROR)-->
<root>
<priority value="INFO" />
<appender-ref ref="SDK4FileAppender"/>
</root>
</log4j:configuration>
8
3 Function Interface Description
3.1 SDK4Acquire
3.1.1.1 SDK4InitLib
This function initializes the library.
Return value
Error code:
SDK4_ERR_SUCCESS (0) in case of no error
SDK4_ERR_ERROR (-1001) in case of unspecified error
one of the other error codes defined in SDK4_ERROR
Example
SDK4InitLib();
...
SDK4CloseLib();
See also
SDK4CloseLib
9
3.1.1.2 SDK4CloseLib
This function closes the library.
Example
SDK4InitLib();
...
SDK4CloseLib();
See also
SDK4InitLib
10
3.1.1.3 SDK4GetNumDevices
This function finds the number of GigEVision compatible devices found in the subnet.
Parameters
piNumDevices (int32_t*)
Pointer to the number of devices
Return value
Error code:
SDK4_ERR_SUCCESS (0) in case of no error
SDK4_ERR_ERROR (-1001) in case of unspecified error
one of the other error codes defined in SDK4_ERROR
Example
SDK4InitLib();
int numDevices=0;
SDK4_ERROR err = SDK4GetNumDevices(&numDevices);
SDK4CloseLib();
See also
SDK4InitLib
SDK4CloseLib
11
3.1.1.4 SDK4GetDeviceID
This function gets the device ID (devicename) corresponding the specified device index.
Return value
Error code:
SDK4_ERR_SUCCESS (0) in case of no error
SDK4_ERR_ERROR (-1001) in case of unspecified error
one of the other error codes defined in SDK4_ERROR
Example
SDK4InitLib();
int32_t numDevices=0;
SDK4GetNumDevices(&numDevices);
for(uint32_t i = 0; i < numDevices; i++)
{
char sName[256];
int32_t sizeName=sizeof(sName);
SDK4GetDeviceID(i,sName,&sizeName);
cout << "[" << i+1 << "] " << sName << endl;
}
...
SDK4CloseLib();
See also
SDK4InitLib
SDK4CloseLib
SDK4GetNumDevices
3.1.1.5 SDK4OpenDevice
This function opens the device with the specified devicename and gives the device handle.
12
phDev(DEV_HANDLE *)
The pointer to the handle of the device
Return value
Error code:
SDK4_ERR_SUCCESS (0) in case of no error
SDK4_ERR_ERROR (-1001) in case of unspecified error
one of the other error codes defined in SDK4_ERROR
Remarks
There are 3 different device access modes, specified in ENUM_DEVICE_ACCESS:
• The access can be “exclusive”, i. e. no other process has access to the camera.
• The access can be “read only”, i. e. the process can monitor the data stream from the camera, but has
no access to controlling functions.
• The access can be a “control” access, i. e. the application has controlling access and allows other
processes to have monitor access.
Example
SDK4InitLib();
int32_t numDevices=0;
SDK4GetNumDevices(&numDevices);
char sName[256];
int32_t sizeName=sizeof(sName);
DEV_HANDLE hDev;
if (numDevices>0)
{
SDK4GetDeviceID(0,sName,&sizeName);
SDK4OpenDevice(sName,DEVICEACCESS_CONTROL,&hDev);
...
SDK4CloseDevice(hDev);
}
...
SDK4CloseLib();
See also
DEV_HANDLE
ENUM_DEVICE_ACCESS
SDK4CloseDevice
13
3.1.1.6 SDK4CloseDevice
This function closes the device with the specified device handle.
Return value
Error code:
SDK4_ERR_SUCCESS (0) in case of no error
SDK4_ERR_ERROR (-1001) in case of unspecified error
one of the other error codes defined in SDK4_ERROR
Example
SDK4InitLib();
int32_t numDevices=0;
SDK4GetNumDevices(&numDevices);
char sName[256];
int32_t sizeName=sizeof(sName);
DEV_HANDLE hDev;
if (numDevices>0)
{
SDK4GetDeviceID(0,sName,&sizeName);
SDK4OpenDevice(sName,DEVICEACCESS_CONTROL,&hDev);
...
SDK4CloseDevice(hDev);
}
...
SDK4CloseLib();
See also
DEV_HANDLE
ENUM_DEVICE_ACCESS
SDK4OpenDevice
14
3.1.1.7 SDK4DevStartAcquisition
This function starts the image acquisition of the device specified by its device handle.
Return value
Error code:
SDK4_ERR_SUCCESS (0) in case of no error
SDK4_ERR_ERROR (-1001) in case of unspecified error
one of the other error codes defined in SDK4_ERROR
Remarks
This function is only accessible by processes which have control or exclusive device access.
Example
SDK4InitLib();
DEV_HANDLE hDev;
...
SDK4DevStartAcquisition (hDev);
SDK4DevStopAcquisition (hDev);
...
SDK4CloseLib();
See also
DEV_HANDLE
SDK4DevStopAcquisition
ENUM_DEVICE_ACCESS
15
3.1.1.8 SDK4DevStopAcquisition
This function stops the image acquisition of the device specified by its device handle.
Parameters
hDev(DEV_HANDLE)
the handle of the device
Return value
Error code:
SDK4_ERR_SUCCESS (0) in case of no error
SDK4_ERR_ERROR (-1001) in case of unspecified error
one of the other error codes defined in SDK4_ERROR
Remarks
This function is only accessible by processes which have control or exclusive device access.
Example
SDK4InitLib();
DEV_HANDLE hDev;
...
SDK4DevStartAcquisition (hDev);
SDK4DevStopAcquisition (hDev);
...
SDK4CloseLib();
See also
DEV_HANDLE
SDK4DevStartAcquisition
ENUM_DEVICE_ACCESS
16
3.1.1.9 SDK4DevGetControl
This function gives the control handle of the device, specified by its device handle.
Parameters
hDev(DEV_HANDLE)
the handle of the device
phCtrl(CTRL_HANDLE*)
The pointer to the control handle of the device
Return value
Error code:
SDK4_ERR_SUCCESS (0) in case of no error
SDK4_ERR_ERROR (-1001) in case of unspecified error
one of the other error codes defined in SDK4_ERROR
Remarks
This function is only accessible by processes which have control or exclusive device access.
Example
DEV_HANDLE hDev;
char sName[256];
int32_t sizeName=sizeof(sName);
SDK4GetDeviceID(0,sName,&sizeName);
DEV_HANDLE hDev;
SDK4OpenDevice(sName,DEVICEACCESS_CONTROL,&hDev);
CTRL_HANDLE hCtrl;
SDK4DevGetControl(hDev, &hCtrl);
SDK4CloseDevice(hDev);
See also
DEV_HANDLE
CTRL_HANDLE
SDK4OpenDevice
ENUM_DEVICE_ACCESS
3.1.1.10 SDK4DevGetDataStream
This function gives the handle to the data stream of the device, specified by its device handle.
Parameters
hDev(DEV_HANDLE)
the handle of the device
phDataStream (DEV_HANDLE *)
pointer to the data stream handle of the device
17
Return value
Error code:
SDK4_ERR_SUCCESS (0) in case of no error
SDK4_ERR_ERROR (-1001) in case of unspecified error
one of the other error codes defined in SDK4_ERROR
Remarks
This function is accessible in all device access modes.
Example
DEV_HANDLE hDev;
char sName[256];
int32_t sizeName=sizeof(sName);
SDK4GetDeviceID(0,sName,&sizeName);
DEV_HANDLE hDev;
SDK4OpenDevice(sName,DEVICEACCESS_CONTROL,&hDev);
DS_HANDLE hDataStream;
SDK4DevGetDataStream(hDev, &hDataStream);
SDK4CloseDevice(hDev);
See also
DEV_HANDLE
DS_HANDLE
SDK4OpenDevice
18
3.1.1.11 SDK4DevGetClassID
This function gets the device class ID of the device (device class name).
Parameters
hDev(DEV_HANDLE)
the handle of the device
sID(char * )
The character array of the class ID
piSize(int32_t *)
The pointer to the maximal size of the array
Return value
Error code:
SDK4_ERR_SUCCESS (0) in case of no error
SDK4_ERR_ERROR (-1001) in case of unspecified error
one of the other error codes defined in SDK4_ERROR
Remarks
The result of this function is “Hires3XR” in case of a Kappa Hires3XR camera.
Example
DEV_HANDLE hDev;
char sName[256];
int32_t sizeName=sizeof(sName);
SDK4GetDeviceID(0,sName,&sizeName);
DEV_HANDLE hDev;
SDK4OpenDevice(sName,DEVICEACCESS_CONTROL,&hDev);
char sClassId[256];
int32_t sizeClassId=sizeof(sClassId);
SDK4DevGetClassID(hDev, sClassId, &sizeClassId);
SDK4CloseDevice(hDev);
See also
DEV_HANDLE
SDK4OpenDevice
19
3.1.1.12 SDK4DevGetModel
This function gets the model of the device.
Parameters
hDev(DEV_HANDLE)
the handle of the device
sModel (char * )
The character array of the model name
piSize(int32_t *)
The pointer to the maximal size of the array
Return value
Error code:
SDK4_ERR_SUCCESS (0) in case of no error
SDK4_ERR_ERROR (-1001) in case of unspecified error
one of the other error codes defined in SDK4_ERROR
Remarks
The result of this function is the specific model of Hires3XR camera, for example “Hires3XR”.
Example
DEV_HANDLE hDev;
char sName[256];
int32_t sizeName=sizeof(sName);
SDK4GetDeviceID(0,sName,&sizeName);
DEV_HANDLE hDev;
SDK4OpenDevice(sName,DEVICEACCESS_CONTROL,&hDev);
static char sModel[256];
int32_t sizeModel=sizeof(sModel);
SDK4DevGetModel(hDev, sModel, &sizeModel);
SDK4CloseDevice(hDev);
See also
DEV_HANDLE
SDK4OpenDevice
20
3.1.2 Data Stream Functions
3.1.2.1 SDK4DSGetPayloadSize
This function gets the payload size of the image frames.
Parameters
hDataStream (DS_HANDLE)
The data stream handle
piSize (uint32_t*)
The pointer to the payload size
Return value
Error code:
SDK4_ERR_SUCCESS (0) in case of no error
SDK4_ERR_ERROR (-1001) in case of unspecified error
one of the other error codes defined in SDK4_ERROR
Remarks
This function is useful to determine the buffer size, which is needed for data stream buffer allocation and
announcement.
Example
DEV_HANDLE hDev;
...
DS_HANDLE hDataStream;
SDK4DevGetDataStream(hDev, &hDataStream);
int32_t iSize=0;
SDK4DSGetPayloadSize(hDataStream, &iSize);
See also
DEV_HANDLE
DS_HANDLE
SDK4DevGetDataStream
SDK4DSAllocAndAnnounceBuffer
SDK4DSAnnounceBuffer
21
3.1.2.2 SDK4DSAnnounceBuffer
This function announces an image buffer to the stream engine, which was allocated by the application.
Parameters
hDataStream (DS_HANDLE)
The data stream handle
pBuffer(void *)
The pointer to the image buffer
iSize(size_t )
The size of the private buffer
pPrivate(void *)
The pointer to a buffer, which contains private data, which is linked to the image buffer
phBuffer(BUFFER_HANDLE *)
The pointer to the buffer handle, which is returned
Return value
Error code:
SDK4_ERR_SUCCESS (0) in case of no error
SDK4_ERR_ERROR (-1001) in case of unspecified error
one of the other error codes defined in SDK4_ERROR
Example
DS_HANDLE hDataStream;
...
BUFFER_HANDLE * hBuffer;
nBuffers=3;
SDK4DSGetPayloadSize(hDataStream,&nPayloadSize);
hBuffer = (BUFFER_HANDLE*) malloc(nBuffers*sizeof(BUFFER_HANDLE));
for(int i=0;i<nBuffers;i++)
{
SDK4DSAnnounceBuffer(hDataStream,
new uint8_t[nPayloadSize],nPayloadSize,
new uint8_t[4],&hBuffer[i]);
SDK4DSQueueBuffer(hDataStream,hBuffer[i]);
}
See also
DEV_HANDLE
DS_HANDLE
SDK4DSAllocAndAnnounceBuffer
SDK4DSQueueBuffer
SDK4DSRevokeBuffer
22
3.1.2.3 SDK4DSAllocAndAnnounceBuffer
This function announces an image buffer to the stream engine, which is to be allocated by the engine.
Parameters
hDataStream (DS_HANDLE)
The data stream handle
pBuffer(void *)
The pointer to the image buffer
iSize(size_t )
The size of the private buffer
pPrivate(void *)
The pointer to a buffer, which contains private data, which is linked to the image buffer
phBuffer(BUFFER_HANDLE *)
The pointer to the buffer handle, which is returned
Return value
Error code:
SDK4_ERR_SUCCESS (0) in case of no error
SDK4_ERR_ERROR (-1001) in case of unspecified error
one of the other error codes defined in SDK4_ERROR
Example
DS_HANDLE hDataStream;
...
BUFFER_HANDLE * hBuffer;
nBuffers=3;
SDK4DSGetPayloadSize(hDataStream,&nPayloadSize);
hBuffer = (BUFFER_HANDLE*) malloc(nBuffers*sizeof(BUFFER_HANDLE));
for(int i=0;i<nBuffers;i++)
{
SDK4DSAllocAndAnnounceBuffer(
hDataStream,nPayloadSize,NULL,&hBuffer[i]);
SDK4DSQueueBuffer(hDataStream,hBuffer[i]);
}
See also
DEV_HANDLE
DS_HANDLE
SDK4DSAnnounceBuffer
SDK4DSQueueBuffer
SDK4DSRevokeBuffer
23
3.1.2.4 SDK4DSQueueBuffer
This function gives an image buffer back to the queue, when it is not used anymore.
Parameters
hDataStream (DS_HANDLE)
The data stream handle
hBuffer(BUFFER_HANDLE)
the buffer handle
Return value
Error code:
SDK4_ERR_SUCCESS (0) in case of no error
SDK4_ERR_ERROR (-1001) in case of unspecified error
one of the other error codes defined in SDK4_ERROR
Example
DS_HANDLE hDataStream;
...
SDK4DevStartAcquisition(hDev);
BUFFER_HANDLE hTempBuffer;
void* pBuffer;
uint32_t size;
int32_t bIsComplete=0;
SDK4DSWaitForBuffer(hDataStream,&hTempBuffer,nTimeout);
SDK4BufferGetPtr(hTempBuffer,&pBuffer);
SDK4BufferGetSize(hTempBuffer,&size);
SDK4BufferIsComplete(hTempBuffer,&bIsComplete);
ASSERT(1,bIsComplete);
if (SDK4BufferSizeFilled(hTempBuffer,&sizeFilled)==SDK4_ERR_SUCCESS)
{
SDK4DSQueueBuffer(hDataStream,hTempBuffer);
}
SDK4DevStopAcquisition(hDev);
See also
DS_HANDLE
BUFFER_HANDLE
SDK4DSAllocAndAnnounceBuffer
SDK4DSAnnounceBuffer
SDK4DSRevokeBuffer
24
3.1.2.5 SDK4DSWaitForBuffer
This function waits for an image buffer to be filled. If the function call was successful,
the pointer to a buffer handle is returned.
Parameters
hDataStream (DS_HANDLE)
The data stream handle
phBuffer(BUFFER_HANDLE* )
The pointer to the buffer handle, which is returned
Timeout(uint32_t )
The timeout in milliseconds
Return value
Error code:
SDK4_ERR_SUCCESS (0) in case of no error
SDK4_ERR_ERROR (-1001) in case of unspecified error
one of the other error codes defined in SDK4_ERROR
Example
DS_HANDLE hDataStream;
...
SDK4DevStartAcquisition(hDev);
BUFFER_HANDLE hTempBuffer;
void* pBuffer;
uint32_t size;
int32_t bIsComplete=0;
SDK4DSWaitForBuffer(hDataStream,&hTempBuffer,nTimeout);
...
SDK4DSQueueBuffer(hDataStream,hTempBuffer);
...
SDK4DevStopAcquisition(hDev);
See also
DS_HANDLE
BUFFER_HANDLE
SDK4DSAllocAndAnnounceBuffer
SDK4DSAnnounceBuffer
SDK4DSQueueBuffer
25
3.1.2.6 SDK4DSFlushQueue
This function removes all image buffers from the image queue.
Parameters
hDataStream (DS_HANDLE)
The data stream handle
Return value
Error code:
SDK4_ERR_SUCCESS (0) in case of no error
SDK4_ERR_ERROR (-1001) in case of unspecified error
one of the other error codes defined in SDK4_ERROR
Example
for(int i=0;i<nBuffers;i++)
{
SDK4DSAnnounceBuffer(hDataStream,
new uint8_t[nPayloadSize],nPayloadSize,
new uint8_t[4],&hBuffer[i]);
SDK4DSQueueBuffer(hDataStream,hBuffer[i]);
}
SDK4DevStartAcquisition(hDev);
BUFFER_HANDLE hTempBuffer;
void* pBuffer;
uint32_t size;
int32_t bIsComplete=0;
SDK4DSWaitForBuffer(hDataStream,&hTempBuffer,nTimeout);
...
SDK4DSQueueBuffer(hDataStream,hTempBuffer);
SDK4DevStopAcquisition(hDev);
SDK4DSFlushQueue(hDataStream);
for(int i=0;i<nBuffers;i++)
{
void* pBuffer=NULL;
void* pPrivate=NULL;
SDK4DSRevokeBuffer(hDataStream,hBuffer[i],&pBuffer,&pPrivate);
if (pBuffer!=NULL)
delete pBuffer;
if (pPrivate!=NULL)
delete pPrivate;
}
See also
DS_HANDLE
SDK4DSAllocAndAnnounceBuffer
SDK4DSAnnounceBuffer
SDK4DSQueueBuffer
26
3.1.2.7 SDK4DSRevokeBuffer
This function deletes an image buffer, which has been announced previously. When the image format has been
changed, this has to be done, before new buffer(s) with a changed size is (are) going to be announced.
Parameters
hDataStream (DS_HANDLE)
The data stream handle
hBuffer(BUFFER_HANDLE )
The buffer handle
ppBuffer(void **)
The pointer to the image buffer
ppPrivate(void **)
The pointer to the private buffer
Return value
Error code:
SDK4_ERR_SUCCESS (0) in case of no error
SDK4_ERR_ERROR (-1001) in case of unspecified error
one of the other error codes defined in SDK4_ERROR
Example
for(int i=0;i<nBuffers;i++)
{
SDK4DSAnnounceBuffer(hDataStream,
new uint8_t[nPayloadSize],nPayloadSize,
new uint8_t[4],&hBuffer[i]);
SDK4DSQueueBuffer(hDataStream,hBuffer[i]);
}
SDK4DevStartAcquisition(hDev);
BUFFER_HANDLE hTempBuffer;
void* pBuffer;
uint32_t size;
int32_t bIsComplete=0;
SDK4DSWaitForBuffer(hDataStream,&hTempBuffer,nTimeout);
...
SDK4DSQueueBuffer(hDataStream,hTempBuffer);
SDK4DevStopAcquisition(hDev);
SDK4DSFlushQueue(hDataStream);
for(int i=0;i<nBuffers;i++)
{
void* pBuffer=NULL;
void* pPrivate=NULL;
SDK4DSRevokeBuffer(hDataStream,hBuffer[i],&pBuffer,&pPrivate);
if (pBuffer!=NULL)
delete pBuffer;
if (pPrivate!=NULL)
delete pPrivate;
}
27
See also
DS_HANDLE
SDK4DSAllocAndAnnounceBuffer
SDK4DSAnnounceBuffer
SDK4DSQueueBuffer
3.1.3.1 SDK4DSGetWidth
This function returns the image width.
Parameters
hDataStream (DS_HANDLE)
The data stream handle
pWidth(int32_t*)
The pointer to the image width
Return value
Error code:
SDK4_ERR_SUCCESS (0) in case of no error
SDK4_ERR_ERROR (-1001) in case of unspecified error
one of the other error codes defined in SDK4_ERROR
Example
DEV_HANDLE hDev;
...
DS_HANDLE hDataStream;
SDK4DevGetDataStream(hDev, &hDataStream);
int32_t iWidth;
SDK4DSGetWidth(DS_HANDLE hDataStream, &iWidth);
See also
DS_HANDLE
SDK4DevGetDataStream
28
3.1.3.2 SDK4DSGetHeight
This function returns the image height.
Parameters
hDataStream (DS_HANDLE)
The data stream handle
pHeight(int32_t*)
The pointer to the image height
Return value
Error code:
SDK4_ERR_SUCCESS (0) in case of no error
SDK4_ERR_ERROR (-1001) in case of unspecified error
one of the other error codes defined in SDK4_ERROR
Example
DEV_HANDLE hDev;
...
DS_HANDLE hDataStream;
SDK4DevGetDataStream(hDev, &hDataStream);
int32_t iHeight;
SDK4DSGetHeight(DS_HANDLE hDataStream, &iHeight);
See also
DS_HANDLE
SDK4DevGetDataStream
29
3.1.3.3 SDK4DSGetPixelFormat
This function returns the pixelformat of the image.
Parameters
hDataStream (DS_HANDLE)
The data stream handle
pFormat (ENUM_PIXELFORMAT*)
The pointer to the pixelformat
Return value
Error code:
SDK4_ERR_SUCCESS (0) in case of no error
SDK4_ERR_ERROR (-1001) in case of unspecified error
one of the other error codes defined in SDK4_ERROR
Example
Example
DEV_HANDLE hDev;
...
DS_HANDLE hDataStream;
SDK4DevGetDataStream(hDev, &hDataStream);
ENUM_PIXELFORMAT iFormat;
SDK4DSGetPixelFormat(DS_HANDLE hDataStream, &iFormat);
See also
DS_HANDLE
SDK4DevGetDataStream
ENUM_PIXELFORMAT
3.1.3.4 SDK4DSGetTimePerFrame
This function returns the time per frame of the data stream.
Parameters
hDataStream (DS_HANDLE)
The data stream handle
pTimePerFrame (int32_t*)
The pointer to the “time per frame” variable
Return value
Error code:
SDK4_ERR_SUCCESS (0) in case of no error
SDK4_ERR_ERROR (-1001) in case of unspecified error
one of the other error codes defined in SDK4_ERROR
30
Remarks
The unit of time per frame is 100 ns.
Example
DEV_HANDLE hDev;
...
DS_HANDLE hDataStream;
SDK4DevGetDataStream(hDev, &hDataStream);
int32_t iTimePerFrame;
SDK4DSGetTimePerFrame (DS_HANDLE hDataStream, &iTimePerFrame);
See also
DS_HANDLE
SDK4DevGetDataStream
3.1.4.1 SDK4BufferGetPtr
This function returns the pointer to the image buffer related to the buffer handle.
Parameters
hBuffer(BUFFER_HANDLE )
The buffer handle
ppPtr(void** )
The pointer to the image buffer
Return value
Error code:
SDK4_ERR_SUCCESS (0) in case of no error
SDK4_ERR_ERROR (-1001) in case of unspecified error
one of the other error codes defined in SDK4_ERROR
Example
...
BUFFER_HANDLE hBuffer;
void* pBuffer;
SDK4DSWaitForBuffer(hDataStream,&hBuffer,nTimeout);
SDK4BufferGetPtr(hBuffer,&pBuffer);
See also
BUFFER_HANDLE
SDK4DSWaitForBuffer
31
3.1.4.2 SDK4BufferGetPrivatePtr
This function returns the pointer to the private buffer related to the buffer handle.
Parameters
hBuffer(BUFFER_HANDLE )
The buffer handle
ppPrivatePtr (void** )
The pointer to the private buffer
Return value
Error code:
SDK4_ERR_SUCCESS (0) in case of no error
SDK4_ERR_ERROR (-1001) in case of unspecified error
one of the other error codes defined in SDK4_ERROR
Example
...
BUFFER_HANDLE hBuffer;
void* pPrivatePtr;
SDK4DSWaitForBuffer(hDataStream,&hBuffer,nTimeout);
SDK4BufferGetPrivatePtr(hBuffer,&pPrivatePtr);
See also
BUFFER_HANDLE
SDK4DSWaitForBuffer
32
3.1.4.3 SDK4BufferGetSize
This function returns the size of the image buffer related to the buffer handle.
Parameters
hBuffer(BUFFER_HANDLE )
The buffer handle
pSize (uint32_t * )
The pointer to the buffer size
Return value
Error code:
SDK4_ERR_SUCCESS (0) in case of no error
SDK4_ERR_ERROR (-1001) in case of unspecified error
one of the other error codes defined in SDK4_ERROR
Example
...
BUFFER_HANDLE hBuffer;
uint32_t size;
SDK4DSWaitForBuffer(hDataStream,&hBuffer,nTimeout);
SDK4BufferGetSize(hBuffer,&size);
See also
BUFFER_HANDLE
SDK4DSWaitForBuffer
33
3.1.4.4 SDK4BufferIsComplete
This function returns 1, if the buffer was transmitted completely, and 0, if the transmission was incomplete, i. e.
there were packets lost.
Parameters
hBuffer(BUFFER_HANDLE )
The buffer handle
pIsComplete (uint32_t * )
The pointer to the "transmission complete" variable
Return value
Error code:
SDK4_ERR_SUCCESS (0) in case of no error
SDK4_ERR_ERROR (-1001) in case of unspecified error
one of the other error codes defined in SDK4_ERROR
Example
...
BUFFER_HANDLE hBuffer;
void* pBuffer;
int32_t bIsComplete=0;
SDK4DSWaitForBuffer(hDataStream,& hBuffer,nTimeout);
SDK4BufferIsComplete(hBuffer,&bIsComplete);
See also
BUFFER_HANDLE
SDK4DSWaitForBuffer
34
3.1.4.5 SDK4BufferSizeFilled
This function returns the number of bytes, with which the buffer was filled.
If SDK4BufferIsComplete returns 1, this number should be equal to the value, returned by
SDK4DSGetPayloadSize.
If SDK4BufferIsComplete returns 0, this number, compared to the value of SDK4DSGetPayloadSize, indicates the
number of lost bytes.
Parameters
hBuffer(BUFFER_HANDLE )
The buffer handle
pSizeFilled (uint32_t * )
The pointer to the number of transmitted bytes
Return value
Error code:
SDK4_ERR_SUCCESS (0) in case of no error
SDK4_ERR_ERROR (-1001) in case of unspecified error
one of the other error codes defined in SDK4_ERROR
Example
DS_HANDLE hDataStream;
...
SDK4DevStartAcquisition(hDev);
BUFFER_HANDLE hBuffer;
int32_t bIsComplete=0;
int32_t sizeFilled=0;
SDK4DSWaitForBuffer(hDataStream,& hBuffer,nTimeout);
SDK4BufferIsComplete(hBuffer,&bIsComplete);
if (!bIsComplete)
SDK4BufferSizeFilled(hBuffer,&sizeFilled);
See also
BUFFER_HANDLE
SDK4DSWaitForBuffer
35
3.2 SDK4H3XRControl
3.2.1.1 SDK4GetGigEVersion
This function gets the current Version of GigEVision Standard, the camera is conform to.
Parameters
hCtrl(CTRL_HANDLE )
The control handle of the device
puGigEVersion (uint32_t * )
The pointer to the version value
Return value
Error code:
SDK4_ERR_SUCCESS (0) in case of no error
SDK4_ERR_ERROR (-1001) in case of unspecified error
one of the other error codes defined in SDK4_ERROR
Remarks
The actual cameras are conform to GigEVision Version 1.1. (version value 0x00010001).
Example
Example
...
DEV_HANDLE hDev;
CTRL_HANDLE hCtrl;
SDK4DevGetControl(hDev, &hCtrl);
uint32_t uGigEVersion = 0;
SDK4GetGigEVersion(hCtrl,&uGigEVersion);
See also
SDK4DevGetControl
CTRL_HANDLE
36
3.2.1.2 SDK4GetMacAddress
This function gets the MAC Address of the camera.
Parameters
hCtrl(CTRL_HANDLE )
The control handle of the device
psMacAddress(char * )
the character array of the MAC Address</param>
piSize(int32_t *)
the pointer to the maximal array size
Return value
Error code:
SDK4_ERR_SUCCESS (0) in case of no error
SDK4_ERR_ERROR (-1001) in case of unspecified error
one of the other error codes defined in SDK4_ERROR
Example
...
DEV_HANDLE hDev;
CTRL_HANDLE hCtrl;
SDK4DevGetControl(hDev, &hCtrl);
char sMacAddress [256];
int32_t size=sizeof(sMacAddress);
SDK4GetMacAddress(hCtrl,&sMacAddress, &size);
See also
SDK4DevGetControl
CTRL_HANDLE
37
3.2.1.3 SDK4GetCurrentIPAddress
This function gets the current IP Address of the camera.
Parameters
hCtrl(CTRL_HANDLE )
The control handle of the device
psIPAddress (char * )
the character array of the IP Address</param>
piSize(int32_t *)
the pointer to the maximal array size
Return value
Error code:
SDK4_ERR_SUCCESS (0) in case of no error
SDK4_ERR_ERROR (-1001) in case of unspecified error
one of the other error codes defined in SDK4_ERROR
Example
...
DEV_HANDLE hDev;
CTRL_HANDLE hCtrl;
SDK4DevGetControl(hDev, &hCtrl);
char sIPAddress [256];
int32_t size=sizeof(sIPAddress);
SDK4GetCurrentIPAddress (hCtrl,&sIPAddress, &size);
See also
SDK4DevGetControl
CTRL_HANDLE
38
3.2.1.4 SDK4GetCurrentSubnetmask
This function gets the current Subnet mask of the camera.
Parameters
hCtrl(CTRL_HANDLE )
The control handle of the device
psSubnetmask (char * )
the character array of the Subnet Mask</param>
piSize(int32_t *)
the pointer to the maximal array size
Return value
Error code:
SDK4_ERR_SUCCESS (0) in case of no error
SDK4_ERR_ERROR (-1001) in case of unspecified error
one of the other error codes defined in SDK4_ERROR
Example
...
DEV_HANDLE hDev;
CTRL_HANDLE hCtrl;
SDK4DevGetControl(hDev, &hCtrl);
char sSubnetmask [256];
int32_t size=sizeof(sSubnetmask);
SDK4GetCurrentSubnetmask (hCtrl,&sSubnetmask, &size);
See also
SDK4DevGetControl
CTRL_HANDLE
39
3.2.1.5 SDK4GetCurrentDefaultGateway
This function gets the Default Gateway of the camera.
Parameters
hCtrl(CTRL_HANDLE )
The control handle of the device
psDefaultGateway (char * )
the character array of the Default Gateway</param>
piSize(int32_t *)
the pointer to the maximal array size
Return value
Error code:
SDK4_ERR_SUCCESS (0) in case of no error
SDK4_ERR_ERROR (-1001) in case of unspecified error
one of the other error codes defined in SDK4_ERROR
Example
...
DEV_HANDLE hDev;
CTRL_HANDLE hCtrl;
SDK4DevGetControl(hDev, &hCtrl);
char sDefaultGateway [256];
int32_t size=sizeof(sDefaultGateway);
SDK4GetCurrentDefaultGateway (hCtrl,& sDefaultGateway, &size);
See also
SDK4DevGetControl
CTRL_HANDLE
40
3.2.1.6 SDK4SetPacketSize
This function sets the packet size of the UDP packets, by which the image frames are sent by the camera.
Parameters
hCtrl (CTRL_HANDLE )
The control handle of the device
uPacketSize (uint32_t )
the packet size
Return value
Error code:
SDK4_ERR_SUCCESS (0) in case of no error
SDK4_ERR_ERROR (-1001) in case of unspecified error
one of the other error codes defined in SDK4_ERROR
Remarks
The minimal packet size should be set to 4k Bytes, otherwise packet loss could occur. Packet size must not be
greater than Jumbo frame size or MTU size of the network card. The packet size value should be increased in
steps of 32.
Example
...
DEV_HANDLE hDev;
CTRL_HANDLE hCtrl;
SDK4DevGetControl(hDev, &hCtrl);
SDK4SetPacketSize (hCtrl, 8192);
See also
SDK4DevGetControl
CTRL_HANDLE
41
3.2.1.7 SDK4GetPacketSize
This function gets the current size of the UDP streaming packets.
Parameters
hCtrl (CTRL_HANDLE )
The control handle of the device
puPacketSize (uint32_t )
the pointer to the packet size
Return value
Error code:
SDK4_ERR_SUCCESS (0) in case of no error
SDK4_ERR_ERROR (-1001) in case of unspecified error
one of the other error codes defined in SDK4_ERROR
Example
...
DEV_HANDLE hDev;
CTRL_HANDLE hCtrl;
SDK4DevGetControl(hDev, &hCtrl);
uint32_t size=0;
SDK4GetPacketSize (hCtrl, &size);
See also
SDK4DevGetControl
CTRL_HANDLE
42
3.2.2 General Device Functions
3.2.2.1 SDK4GetDeviceName
This function gets the name of the device.
Parameters
hCtrl(CTRL_HANDLE )
The control handle of the device
psDeviceName (char * )
the character array of the Device Name</param>
piSize(int32_t *)
the pointer to the maximal array size
Return value
Error code:
SDK4_ERR_SUCCESS (0) in case of no error
SDK4_ERR_ERROR (-1001) in case of unspecified error
one of the other error codes defined in SDK4_ERROR
Example
...
DEV_HANDLE hDev;
CTRL_HANDLE hCtrl;
SDK4DevGetControl(hDev, &hCtrl);
char sDeviceName [256];
int32_t size=sizeof(sDeviceName);
SDK4GetDeviceName (hCtrl,&sDeviceName, &size);
See also
SDK4DevGetControl
CTRL_HANDLE
43
3.2.2.2 SDK4GetSerialNumber
This function gets the serial number of the device.
Parameters
hCtrl(CTRL_HANDLE )
The control handle of the device
psSerialNumber (char * )
the character array of the serial number</param>
piSize(int32_t *)
the pointer to the maximal array size
Return value
Error code:
SDK4_ERR_SUCCESS (0) in case of no error
SDK4_ERR_ERROR (-1001) in case of unspecified error
one of the other error codes defined in SDK4_ERROR
Example
...
DEV_HANDLE hDev;
CTRL_HANDLE hCtrl;
SDK4DevGetControl(hDev, &hCtrl);
char sSerialNumber [256];
int32_t size=sizeof(sSerialNumber);
SDK4GetSerialNumber (hCtrl,& sSerialNumber, &size);
See also
SDK4DevGetControl
CTRL_HANDLE
44
3.2.2.3 SDK4GetFunctionModelID
This function gets the function model ID of the device.
Parameters
hCtrl(CTRL_HANDLE )
The control handle of the device
puModelID (uint32_t *)
the pointer to the function model ID
Return value
Error code:
SDK4_ERR_SUCCESS (0) in case of no error
SDK4_ERR_ERROR (-1001) in case of unspecified error
one of the other error codes defined in SDK4_ERROR
Example
...
DEV_HANDLE hDev;
CTRL_HANDLE hCtrl;
SDK4DevGetControl(hDev, &hCtrl);
uint32_t id=0;
SDK4GetFunctionModelID (hCtrl,&id);
See
Se e also
SDK4DevGetControl
CTRL_HANDLE
45
3.2.2.4 SDK4GetFunctionModelVersion
This function gets the function model version of the device.
SDK4_Error SDK4GetFunctionModelVersion(CTRL_HANDLE
hCtrl,SDK4_KVERSION * pkVersion)
Parameters
hCtrl(CTRL_HANDLE )
The control handle of the device
pkVersion (SDK4_KVERSION *)
the pointer to the function model version
Return value
Error code:
SDK4_ERR_SUCCESS (0) in case of no error
SDK4_ERR_ERROR (-1001) in case of unspecified error
one of the other error codes defined in SDK4_ERROR
Example
...
DEV_HANDLE hDev;
CTRL_HANDLE hCtrl;
SDK4DevGetControl(hDev, &hCtrl);
SDK4_KVERSION version;
SDK4GetFunctionModelVersion (hCtrl,& version);
See also
SDK4DevGetControl
CTRL_HANDLE
SDK4_KVERSION
46
3.2.2.5 SDK4GetRevision
This function gets the Revision of the device.
Parameters
hCtrl(CTRL_HANDLE )
The control handle of the device
pkRevision (SDK4_ KREVISION *)
the pointer to the revision
Return value
Error code:
SDK4_ERR_SUCCESS (0) in case of no error
SDK4_ERR_ERROR (-1001) in case of unspecified error
one of the other error codes defined in SDK4_ERROR
Example
...
DEV_HANDLE hDev;
CTRL_HANDLE hCtrl;
SDK4DevGetControl(hDev, &hCtrl);
SDK4_ KREVISION revision;
SDK4GetRevision (hCtrl,&revision);
See also
SDK4DevGetControl
CTRL_HANDLE
SDK4_ KREVISION
47
3.2.2.6 SDK4GetSoftwareVersion
This function gets the Software Version of the device.
Parameters
Parameters
hCtrl(CTRL_HANDLE )
The control handle of the device
pkVersion (SDK4_KVERSION *)
the pointer to the Software Version
Return value
Error code:
SDK4_ERR_SUCCESS (0) in case of no error
SDK4_ERR_ERROR (-1001) in case of unspecified error
one of the other error codes defined in SDK4_ERROR
Example
...
DEV_HANDLE hDev;
CTRL_HANDLE hCtrl;
SDK4DevGetControl(hDev, &hCtrl);
SDK4_KVERSION version;
SDK4GetSoftwareVersion (hCtrl,& version);
See also
SDK4DevGetControl
CTRL_HANDLE
SDK4_KVERSION
48
3.2.2.7 SDK4GetFirmwareVersion
This function gets the Firmware Version of the device.
Parameters
hCtrl(CTRL_HANDLE )
The control handle of the device
pkVersion (SDK4_KVERSION *)
the pointer to the Firmware Version
Return value
Error code:
SDK4_ERR_SUCCESS (0) in case of no error
SDK4_ERR_ERROR (-1001) in case of unspecified error
one of the other error codes defined in SDK4_ERROR
Example
...
DEV_HANDLE hDev;
CTRL_HANDLE hCtrl;
SDK4DevGetControl(hDev, &hCtrl);
SDK4_KVERSION version;
SDK4GetFirmwareVersion (hCtrl,& version);
See also
SDK4DevGetControl
CTRL_HANDLE
SDK4_KVERSION
49
3.2.3 Exposure Functions
3.2.3.1 SDK4SetExposureMode
This function sets the Exposure Mode to one of the values specified in SDK4_ENUM_EXPOSUREMODE.
Parameters
hCtrl(CTRL_HANDLE )
The control handle of the device
uMode(SDK4_ENUM_EXPOSUREMODE )
the exposure mode value
Return value
Error code:
SDK4_ERR_SUCCESS (0) in case of no error
SDK4_ERR_ERROR (-1001) in case of unspecified error
one of the other error codes defined in SDK4_ERROR
Remarks
In H3XR_ENUM_EXPOSUREMODE_FREERUNNINGPARALLEL CCD exposure and CCD readout phases will be
performed parallel. Due to this fact the exposure time is the same as CCD readout time (33 ms). In this mode
SDK4SetExposure is inactive.
In H3XR_ENUM_EXPOSUREMODE_FRAMEONDEMAND CCD exposure and CCD readout phases will be
performed sequentially. The exposure time will be controlled by the length of trigger input signal. The period
time of the trigger signal controls the image frequency. Due to this fact, the value of the Exposure Message is
not valid.
In H3XR_ENUM_EXPOSUREMODE_ASYNCEXP CCD exposure and CCD readout phases will also be performed
sequentially. The start time of CCD exposure is triggered by the trigger input signal, the duration of the CCD
exposure is specified by the function SDK4SetExpsoure. During the subsequent readout phase of 33 ms, the
next exposure can also be triggered.
Example
CTRL_HANDLE hCtrl;
...
uint32_t uReadoutTime;
SDK4_KEXPOSURE kExposure;
SDK4SetExposureMode(
hCtrl, H3XR_ENUM_EXPOSUREMODE_FREERUNNINGPARALLEL);
SDK4GetExposure(hCtrl,&kExposure);
See also
SDK4DevGetControl
CTRL_HANDLE
SDK4_ENUM_EXPOSUREMODE
SDK4SetExposure
SDK4GetExposureMode
50
3.2.3.2 SDK4GetExposureMode
This function gets the current value of the Exposure Mode.
Parameters
hCtrl(CTRL_HANDLE )
The control handle of the device
puMode(SDK4_ENUM_EXPOSUREMODE *)
the pointer to the exposure mode value
Return value
Error code:
SDK4_ERR_SUCCESS (0) in case of no error
SDK4_ERR_ERROR (-1001) in case of unspecified error
one of the other error codes defined in SDK4_ERROR
Example
CTRL_HANDLE hCtrl;
...
SDK4_ENUM_EXPOSUREMODE uMode;
SDK4GetExposureMode(hCtrl, &uMode);
See also
SDK4DevGetControl
CTRL_HANDLE
SDK4_ENUM_EXPOSUREMODE
SDK4SetExposureMode
51
3.2.3.3 SDK4SetExposure
This function sets the Exposure Time in ms.
Parameters
hCtrl(CTRL_HANDLE )
The control handle of the device
uExposure (uint32_t)
the exposure time value
Return value
Error code:
SDK4_ERR_SUCCESS (0) in case of no error
SDK4_ERR_ERROR (-1001) in case of unspecified error
one of the other error codes defined in SDK4_ERROR
Remarks
Exposure time has a range from 0 to 2000 ms, in units of 1 ms. It can only be controlled manually, when the
Exposure Mode has been set to H3XR_ENUM_EXPOSUREMODE_ASYNCEXP.
Example
CTRL_HANDLE hCtrl;
...
SDK4SetExposureMode(hCtrl, H3XR_ENUM_EXPOSUREMODE_ASYNCEXP);
// Set ExposureTime to 300 ms:
SDK4SetExposure(hCtrl, 300);
See also
SDK4DevGetControl
CTRL_HANDLE
SDK4SetExposureMode
SDK4GetExposure
52
3.2.3.4 SDK4GetExposure
This function gets the current value of the Exposure Time (in ms).
Parameters
hCtrl(CTRL_HANDLE )
The control handle of the device
puExposure (uint32_t*)
the pointer to the exposure time value
Return value
Error code:
SDK4_ERR_SUCCESS (0) in case of no error
SDK4_ERR_ERROR (-1001) in case of unspecified error
one of the other error codes defined in SDK4_ERROR
Example
CTRL_HANDLE hCtrl;
...
uint32_t uExposure;
SDK4GetExposure(hCtrl,&uExposure);
See also
SDK4DevGetControl
CTRL_HANDLE
SDK4SetExposure
53
3.2.4 Gain Functions
3.2.4.1 SDK4SetGain
This function sets the manual gain of the camera.
Parameters
hCtrl(CTRL_HANDLE )
The control handle of the device
uGain(uint32_t )
the gain value
Return value
Error code:
SDK4_ERR_SUCCESS (0) in case of no error
SDK4_ERR_ERROR (-1001) in case of unspecified error
one of the other error codes defined in SDK4_ERROR
Remarks
This function is only active, when AGC is switched off. The values range between 0 and 568 (0 to 20 dB, each
step 0.0359 dB).
Example
CTRL_HANDLE hCtrl;
...
SDK4_ENUM_AGC uAGC;
SDK4GetAGC(hCtrl, &uAGC);
// if possible, set gain to 10:
if (uAGC == H3XR_ENUM_AGC_OFF)
SDK4SetGain(hCtrl, 10);
See also
SDK4DevGetControl
CTRL_HANDLE
SDK4GetGain
SDK4GetAGC
54
3.2.4.2 SDK4GetGain
This function gets the current gain value of the camera.
Parameters
hCtrl(CTRL_HANDLE )
The control handle of the device
puGain(uint32_t )
the pointer to the gain value
Return value
Error code:
SDK4_ERR_SUCCESS (0) in case of no error
SDK4_ERR_ERROR (-1001) in case of unspecified error
one of the other error codes defined in SDK4_ERROR
Example
CTRL_HANDLE hCtrl;
...
uint32_t uGain
SDK4GetGain(hCtrl,&uGain);
See also
SDK4DevGetControl
CTRL_HANDLE
SDK4SetGain
55
3.2.4.3 SDK4SetAGC
This function sets the Automatic Gain Control.
Parameters
Param eters
hCtrl(CTRL_HANDLE )
The control handle of the device
uAgc (SDK4_ENUM_AGC)
the agc value
Return value
Error code:
SDK4_ERR_SUCCESS (0) in case of no error
SDK4_ERR_ERROR (-1001) in case of unspecified error
one of the other error codes defined in SDK4_ERROR
Remarks
When AGC is switched off (H3XR_ENUM_OFF), gain can be changed manually by SDK4SetGain.
When AGC is switched on (H3XR_ENUM_ON), it automatically changes gain in a range of 0 to 20 dB.
When AGC is switched to stop mode (H3XR_ENUM_STOP), it also automatically changes gain, until the
external AGC Stop signal is set. Then, depending on the value of AutoGainStopMode, either the gain value is set
to 0 (SDK4_ENUM_SWITCH_OFF) or it is fixed to its last value(SDK4_ENUM_SWITCH_ON).
Example
CTRL_HANDLE hCtrl;
...
SDK4SetAGC(hCtrl, H3XR_ENUM_OFF);
See also
SDK4DevGetControl
CTRL_HANDLE
SDK4_ENUM_AGC
SDK4SetGain
SDK4GetAGC
SDK4GetAutoGainStopMode
56
3.2.4.4 SDK4GetAGC
This function gets the current value of Automatic Gain Control.
Parameters
hCtrl(CTRL_HANDLE )
The control handle of the device
puOnOff (SDK4_ENUM_AGC*)
the pointer to the agc switch
Return value
Error code:
SDK4_ERR_SUCCESS (0) in case of no error
SDK4_ERR_ERROR (-1001) in case of unspecified error
one of the other error codes defined in SDK4_ERROR
Example
CTRL_HANDLE hCtrl;
...
SDK4_ENUM_AGC uAGC;
SDK4GetAGC(hCtrl, &uAGC);
// if possible, set the level to 30:
if ((uAGC == H3XR_ENUM_ON) || (uAGC == H3XR_ENUM_STOP))
SDK4SetAutomaticLevel(hCtrl, 30);
See also
SDK4DevGetControl
CTRL_HANDLE
SDK4_ENUM_AGC
SDK4SetAGC
57
3.2.4.5 SDK4SetAutomaticLevel
This function sets the Automatic Level (i. e. the target level of AGC).
Parameters
hCtrl(CTRL_HANDLE )
The control handle of the device
uLevel(uint32_t )
the automatic level value
Return value
Error code:
SDK4_ERR_SUCCESS (0) in case of no error
SDK4_ERR_ERROR (-1001) in case of unspecified error
one of the other error codes defined in SDK4_ERROR
Remarks
The possible values range from 0 to 100%. AutomaticLevel only works, when AGC is active or in stop mode.
Example
CTRL_HANDLE hCtrl;
...
SDK4_ENUM_AGC uAGC;
SDK4GetAGC(hCtrl, &uAGC);
// if possible, set the level to 30:
if ((uAGC == H3XR_ENUM_ON) || (uAGC == H3XR_ENUM_STOP))
SDK4SetAutomaticLevel(hCtrl, 30);
See also
SDK4DevGetControl
CTRL_HANDLE
SDK4GetAutomaticLevel
SDK4GetAGC
58
3.2.4.6 SDK4GetAutomaticLevel
This function gets the current value of Automatic Level.
Parameters
hCtrl(CTRL_HANDLE )
The control handle of the device
puLevel(uint32_t )
the pointer to the automatic level value
Return value
Error code:
SDK4_ERR_SUCCESS (0) in case of no error
SDK4_ERR_ERROR (-1001) in case of unspecified error
one of the other error codes defined in SDK4_ERROR
Example
CTRL_HANDLE hCtrl;
...
uint32_t uLevel
SDK4GetAutomaticLevel(hCtrl,&uLevel);
See also
SDK4DevGetControl
CTRL_HANDLE
SDK4SetAutomaticLevel
59
3.2.4.7 SDK4SetAutoGainStopMode
This function sets the Automatic Gain Stop Mode.
Parameters
hCtrl(CTRL_HANDLE )
The control handle of the device
uStop (SDK4_ENUM_SWITCH)
the stop mode
Return value
Error code:
SDK4_ERR_SUCCESS (0) in case of no error
SDK4_ERR_ERROR (-1001) in case of unspecified error
one of the other error codes defined in SDK4_ERROR
Remarks
This function is only active, when AGC is set to H3XR_ENUM_STOP. In this AGC mode, the gain value is
controlled automatically, until the external AGC Stop signal is set. Subsequently, when the
AutoGainStopMode was switched off, gain is set to 0, or when AutoGainStopMode was switched
on, the gain value is fixed to its last value.
Example
CTRL_HANDLE hCtrl;
...
SDK4_ENUM_AGC uAGC;
SDK4GetAGC(hCtrl, &uAGC);
if (uAGC == H3XR_ENUM_STOP)
SDK4SetAutoGainStopMode(hCtrl, SDK4_ENUM_SWITCH_ON));
See also
SDK4DevGetControl
CTRL_HANDLE
SDK4GetAutoGainStopMode
SDK4GetAGC
SDK4GetGain
60
3.2.4.8 SDK4GetAutoGainStopMode
This function gets the Automatic Gain Stop Mode
Parameters
hCtrl(CTRL_HANDLE )
The control handle of the device
puStop (SDK4_ENUM_SWITCH*)
the pointer to the stop mode
Return value
Error code:
SDK4_ERR_SUCCESS (0) in case of no error
SDK4_ERR_ERROR (-1001) in case of unspecified error
one of the other error codes defined in SDK4_ERROR
Example
CTRL_HANDLE hCtrl;
...
SDK4_ENUM_SWITCH uStop;
SDK4GetAutoGainStopMode(hCtrl, &uStop));
See also
SDK4DevGetControl
CTRL_HANDLE
SDK4SetAutoGainStopMode
61
3.2.5 Signal Analysis Functions
3.2.5.1 SDK4SetMeasureFrameShow
This function shows or hides the outline frame of the measure window.
Parameters
hCtrl(CTRL_HANDLE )
The control handle of the device
uShow (SDK4_ENUM_SWITCH)
the display switch
Return value
Error code:
SDK4_ERR_SUCCESS (0) in case of no error
SDK4_ERR_ERROR (-1001) in case of unspecified error
one of the other error codes defined in SDK4_ERROR
Example
CTRL_HANDLE hCtrl;
...
SDK4SetMeasureFrameShow (hCtrl, SDK4_ENUM_SWITCH_ON);
See also
SDK4DevGetControl
CTRL_HANDLE
SDK4_ENUM_SWITCH
SDK4GetMeasureFrameShow
62
3.2.5.2 SDK4GetMeasureFrameShow
This function gets the current display state of the measure window.
SDK4_Error SDK4GetMeasureFrameShow(CTRL_HANDLE
hCtrl,SDK4_ENUM_SWITCH* puShow)
Parameters
hCtrl(CTRL_HANDLE )
The control handle of the device
puShow (SDK4_ENUM_SWITCH*)
the pointer fo the display switch
Return value
Error code:
SDK4_ERR_SUCCESS (0) in case of no error
SDK4_ERR_ERROR (-1001) in case of unspecified error
one of the other error codes defined in SDK4_ERROR
Example
CTRL_HANDLE hCtrl;
...
SDK4_ENUM_SWITCH uShow;
SDK4GetMeasureFrameShow (hCtrl, &uShow);
See also
SDK4DevGetControl
CTRL_HANDLE
SDK4_ENUM_SWITCH
SDK4SetMeasureFrameShow
63
3.2.5.3 SDK4SetMeasureWindow
This function sets position, size and stretch factor of the selected circular measure window for AGC.
Parameters
hCtrl(CTRL_HANDLE )
The control handle of the device
kMwCircle (SDK4_KMWCIRCLE)
the measure window circle
Return value
Error code:
SDK4_ERR_SUCCESS (0) in case of no error
SDK4_ERR_ERROR (-1001) in case of unspecified error
one of the other error codes defined in SDK4_ERROR
Remarks
This function sets start and end point of the measure window. Position 0/0 is the center of the CCD sensor.
The radius of the measure window is restricted to 0 .. 511 pixels.
The line width of the circle ranges from 1 .. 3 pixels.
The position of the measure window ranges from -511 to +511 on x-axis and on y- axis.
The vStretch factor has a range from 1 ..512, but it is currently fixed to128.
Example
CTRL_HANDLE hCtrl;
...
// Set the measure window to a radius of 100, a line width of 3,
beginning at -10/+10:
SDK4_KMWCIRCLE kMwCircle;
kMwCircle.radius = 100;
kMwCircle.width = 3;
kMwCircle.center.xPos = -10;
kMwCircle.center.yPos = +10;
kMwCircle.vStretch = 128;
SDK4SetMeasureWindow(hCtrl, kMwCircle);
See also
SDK4DevGetControl
CTRL_HANDLE
SDK4_KMWCIRCLE
SDK4GetMeasureWindow
64
3.2.5.4 SDK4GetMeasureWindow
This function gets the current position and size of the measure window.
Parameters
hCtrl(CTRL_HANDLE )
The control handle of the device
pkMwCircle (SDK4_KMWCIRCLE *)
the pointer to the measure window circle
Return value
Error code:
SDK4_ERR_SUCCESS (0) in case of no error
SDK4_ERR_ERROR (-1001) in case of unspecified error
one of the other error codes defined in SDK4_ERROR
Example
CTRL_HANDLE hCtrl;
...
// get position and size of the measure window:
SDK4_KMWCIRCLE kMwCircle;
SDK4GetMeasureWindow(hCtrl, &kMwCircle);
See also
SDK4DevGetControl
CTRL_HANDLE
SDK4_KMWCIRCLE
SDK4SetMeasureWindow
65
3.2.6 Overlay Functions
3.2.6.1 SDK4SetOverlayShow
This function is used to display or hide the selected line generator.
Parameters
hCtrl(CTRL_HANDLE )
The control handle of the device
uSelect (SDK4_ENUM_OVERLAYSELECT)
the selected overlay generator, specified in SDK4_ENUM_OVERLAYSELECT
uShow (SDK4_ENUM_SWITCH)
the switch value
Return value
Error code:
SDK4_ERR_SUCCESS (0) in case of no error
SDK4_ERR_ERROR (-1001) in case of unspecified error
one of the other error codes defined in SDK4_ERROR
Remarks
There are two line generators, which can be displayed (see SDK4_ENUM_OVERLAYSELECT).
Example
CTRL_HANDLE hCtrl;
...
// show overlay line 1:
SDK4SetOverlayShow(hCtrl, H3XR_ENUM_OVERLAYSELECT_LINEGENERATOR1,
SDK4_ENUM_SWITCH_ON);
See also
SDK4DevGetControl
CTRL_HANDLE
SDK4_ENUM_OVERLAYSELECT
SDK4_ENUM_SWITCH
SDK4GetOverlayShow
3.2.6.2 SDK4GetOverlayShow
This function gets the display switch of the selected line generator.
Parameters
hCtrl(CTRL_HANDLE )
66
The control handle of the device
uSelect (SDK4_ENUM_OVERLAYSELECT)
the selected overlay generator, specified in SDK4_ENUM_OVERLAYSELECT
puShow (SDK4_ENUM_SWITCH*)
the pointer to the switch value
Return value
Error code:
SDK4_ERR_SUCCESS (0) in case of no error
SDK4_ERR_ERROR (-1001) in case of unspecified error
one of the other error codes defined in SDK4_ERROR
Remarks
There are two line generators, which can be displayed (see SDK4_ENUM_OVERLAYSELECT).
Example
CTRL_HANDLE hCtrl;
...
SDK4_ENUM_SWITCH uShowCircle1;
SDK4GetOverlayShow(hCtrl, H3XR_ENUM_OVERLAYSELECT_LINEGENERATOR1,
&uShowCircle1);
See also
SDK4DevGetControl
CTRL_HANDLE
SDK4_ENUM_OVERLAYSELECT
SDK4_ENUM_SWITCH
SDK4GetOverlayShow
67
3.2.6.3 SDK4SetOverlayPosition
This function sets the position of the selected line generator.
Parameters
hCtrl(CTRL_HANDLE )
The control handle of the device
uSelect (SDK4_ENUM_OVERLAYSELECT)
the selected overlay generator, specified in SDK4_ENUM_OVERLAYSELECT
kPosition (SDK4_KCIRCULARPOSITION)
the overlay position
Return value
Error code: SDK4_ERR_SUCCESS (0) in case of no error
SDK4_ERR_ERROR (-1001) in case of unspecified error
one of the other error codes defined in SDK4_ERROR
Remarks
There are two line generators, which can be selected (see SDK4_ENUM_OVERLAYSELECT).
The position for each overlay generator is set with respect to the center of the sensor image, its range is -512 ..
511.
Example
CTRL_HANDLE hCtrl;
...
// set the position of overlay line 2 to 500/500:
SDK4_ KCIRCULARPOSITION kPosition;
kPosition.xPos = 500;
kPosition.yPos = 500;
SDK4SetOverlayPosition (hCtrl,
H3XR_ENUM_OVERLAYSELECT_LINEGENERATOR2, kPosition);
See also
SDK4DevGetControl
CTRL_HANDLE
SDK4_ENUM_OVERLAYSELECT
SDK4_KCIRCULARPOSITION
SDK4SetOverlayShow
SDK4GetOverlayPosition
68
3.2.6.4 SDK4GetOverlayPosition
This function gets the current position of the selected line generator.
Parameters
hCtrl(CTRL_HANDLE )
The control handle of the device
uSelect (SDK4_ENUM_OVERLAYSELECT)
the selected overlay generator, specified in SDK4_ENUM_OVERLAYSELECT
pkPosition (SDK4_KCIRCULARPOSITION *)
the pointer to the overlay position
Return value
Error code:
SDK4_ERR_SUCCESS (0) in case of no error
SDK4_ERR_ERROR (-1001) in case of unspecified error
one of the other error codes defined in SDK4_ERROR
Example
CTRL_HANDLE hCtrl;
...
SDK4_ KCIRCULARPOSITION kPosition;
SDK4GetOverlayPosition (hCtrl,
H3XR_ENUM_OVERLAYSELECT_LINEGENERATOR2, &kPosition);
See also
SDK4DevGetControl
CTRL_HANDLE
SDK4_ENUM_OVERLAYSELECT
SDK4_KCIRCULARPOSITION
SDK4SetOverlayShow
SDK4SetOverlayPosition
69
3.2.6.5 SDK4SetOverlayStyle
This function sets the style of the selected line generator.
Parameters
hCtrl(CTRL_HANDLE )
The control handle of the device
uSelect (SDK4_ENUM_OVERLAYSELECT)
the selected overlay generator, specified in SDK4_ENUM_OVERLAYSELECT
kStyle (SDK4_KSTYLE)
the overlay style
Return value
Error code:
SDK4_ERR_SUCCESS (0) in case of no error
SDK4_ERR_ERROR (-1001) in case of unspecified error
one of the other error codes defined in SDK4_ERROR
Remarks
There are two line generators, which can be selected (see SDK4_ENUM_OVERLAYSELECT).
The color of the overlay generators is specified in SDK4_ENUM_MFCOLOR, the line style is specified in
SDK4_ENUM_LINESTYLE.
Example
CTRL_HANDLE hCtrl;
...
// set the style of overlay line 1 to black and dashed:
SDK4_KSTYLE kStyle;
kStyle.color = H3XR_ENUM_COLOR_GREY0;
kStyle.style = SDK4_ENUM_LINESTYLE_DASHED;
SDK4SetOverlayStyle (hCtrl, H3XR_ENUM_OVERLAYSELECT_LINEGENERATOR1,
kStyle);
See also
SDK4DevGetControl
CTRL_HANDLE
SDK4_ENUM_OVERLAYSELECT
SDK4_KSTYLE
SDK4_ENUM_MFCOLOR
SDK4_ENUM_LINESTYLE
SDK4SetOverlayShow
SDK4GetOverlayStyle
70
3.2.6.6 SDK4GetOverlayStyle
This function gets the current style of the selected line generator.
Parameters
hCtrl(CTRL_HANDLE )
The control handle of the device
uSelect (SDK4_ENUM_OVERLAYSELECT)
the selected overlay generator, specified in SDK4_ENUM_OVERLAYSELECT
pkStyle (SDK4_KSTYLE*)
the pointer to the overlay style
Return value
Error code:
SDK4_ERR_SUCCESS (0) in case of no error
SDK4_ERR_ERROR (-1001) in case of unspecified error
one of the other error codes defined in SDK4_ERROR
Remarks
There are two line generators, which can be selected (see SDK4_ENUM_OVERLAYSELECT).
The color of the overlay generators is specified in SDK4_ENUM_MFCOLOR, the line style is specified in
SDK4_ENUM_LINESTYLE.
Example
CTRL_HANDLE hCtrl;
...
SDK4_KSTYLE kStyle;
SDK4GetOverlayStyle (hCtrl, SDK4_ENUM_OVERLAYSELECT_LINEGENERATOR1,
&kStyle);
See also
SDK4DevGetControl
CTRL_HANDLE
SDK4_ENUM_OVERLAYSELECT
SDK4_KSTYLE
SDK4_ENUM_MFCOLOR
SDK4_ENUM_LINESTYLE
SDK4SetOverlayShow
SDK4GetOverlayStyle
71
3.2.6.7 SDK4SetOverlaySize
This function sets the size of the selected line generator.
Parameters
hCtrl(CTRL_HANDLE )
The control handle of the device
uSelect (SDK4_ENUM_OVERLAYSELECT)
the selected overlay generator, specified in SDK4_ENUM_OVERLAYSELECT
kSize (SDK4_KOVERLAYSIZE)
the overlay size, specified in SDK4_KOVERLAYSIZE
Return value
Error code:
SDK4_ERR_SUCCESS (0) in case of no error
SDK4_ERR_ERROR (-1001) in case of unspecified error
one of the other error codes defined in SDK4_ERROR
Remarks
There are two line generators, which can be selected (see SDK4_ENUM_OVERLAYSELECT).
The width attribute of SDK4_KOVERLAYSIZE is specified in SDK4_ENUM_OVERLAYWIDTH. The length attribute
is defined as the length of a line, beginning in the center of the reticle. The valuerange of the length is 3 .. 1023,
when the length value is set to 0 , the reticle covers the whole width and height of the image.
Example
CTRL_HANDLE hCtrl;
// set the size of overlay line 1 to a width of 5 pixels and a
length of 100 pixels:
SDK4_KOVERLAYSIZE kSize;
kSize.width = SDK4_ENUM_OVERLAYWIDTH_PIXEL5;
kSize.length = 100;
SDK4SetOverlaySize (hCtrl, H3XR_ENUM_OVERLAYSELECT_LINEGENERATOR1,
kSize);
See also
SDK4DevGetControl
CTRL_HANDLE
SDK4_ENUM_OVERLAYSELECT
SDK4_KOVERLAYSIZE
SDK4_ENUM_OVERLAYWIDTH
SDK4SetOverlayShow
SDK4GetOverlaySize
72
3.2.6.8 SDK4GetOverlaySize
This function gets the current size of the selected line generator.
Parameters
hCtrl(CTRL_HANDLE )
The control handle of the device
uSelect (SDK4_ENUM_OVERLAYSELECT)
the selected overlay generator, specified in SDK4_ENUM_OVERLAYSELECT
kSize (SDK4_KOVERLAYSIZE)
the overlay size, specified in SDK4_KOVERLAYSIZE
Return value
Error code:
SDK4_ERR_SUCCESS (0) in case of no error
SDK4_ERR_ERROR (-1001) in case of unspecified error
one of the other error codes defined in SDK4_ERROR
Remarks
There are two line generators, which can be selected (see SDK4_ENUM_OVERLAYSELECT).
Example
CTRL_HANDLE hCtrl;
...
// get the size of overlay circle 2:
SDK4_KOVERLAYSIZE kSize;
SDK4GetOverlaySize (hCtrl, H3XR_ENUM_OVERLAYSELECT_LINEGENERATOR2,
&kSize);
See also
SDK4DevGetControl
CTRL_HANDLE
SDK4_ENUM_OVERLAYSELECT
SDK4_KOVERLAYSIZE
SDK4_ENUM_OVERLAYWIDTH
SDK4SetOverlayShow
SDK4SetOverlaySize
73
3.2.7 Digital Enhancement Functions
3.2.7.1 SDK4SetBrightness
This function sets the Brightness (digital level offset).
Parameters
hCtrl(CTRL_HANDLE )
The control handle of the device
uBrightness (uint32_t)
the brightness value
Return value
Error code:
SDK4_ERR_SUCCESS (0) in case of no error
SDK4_ERR_ERROR (-1001) in case of unspecified error
one of the other error codes defined in SDK4_ERROR
Remarks
The values range from 0 to 16383.
Example
CTRL_HANDLE hCtrl;
...
SDK4SetBrightness (hCtrl, 2048);
See also
SDK4DevGetControl
CTRL_HANDLE
SDK4GetBrightness
74
3.2.7.2 SDK4GetBrightness
This function gets the current value of Brightness (digital level offset).
Parameters
hCtrl(CTRL_HANDLE )
The control handle of the device
puBrightness (uint32_t*)
the pointer to the brightness value
Return value
Error code:
SDK4_ERR_SUCCESS (0) in case of no error
SDK4_ERR_ERROR (-1001) in case of unspecified error
one of the other error codes defined in SDK4_ERROR
Remarks
The values range from 0 to 16383.
Example
CTRL_HANDLE hCtrl;
...
uint32_t uBrightness
SDK4GetBrightness (hCtrl, &uBrightness);
See also
SDK4DevGetControl
CTRL_HANDLE
SDK4SetBrightness
75
3.2.7.3 SDK4SetContrast
This function sets the Contrast (digital level gain).
Parameters
hCtrl(CTRL_HANDLE )
The control handle of the device
uContrast (uint32_t)
the contrast value
Return value
Error code:
SDK4_ERR_SUCCESS (0) in case of no error
SDK4_ERR_ERROR (-1001) in case of unspecified error
one of the other error codes defined in SDK4_ERROR
Remarks
The values range from 0 to 255.
Example
CTRL_HANDLE hCtrl;
...
SDK4SetContrast (hCtrl, 127);
See also
SDK4DevGetControl
CTRL_HANDLE
SDK4GetContrast
76
3.2.7.4 SDK4GetContrast
This function gets the current value of Contrast (digital level gain).
Parameters
hCtrl(CTRL_HANDLE )
The control handle of the device
puContrast (uint32_t*)
the pointer to the contrast value
Return value
Error code:
SDK4_ERR_SUCCESS (0) in case of no error
SDK4_ERR_ERROR (-1001) in case of unspecified error
one of the other error codes defined in SDK4_ERROR
Remarks
The values range from 0 to 255.
Example
CTRL_HANDLE hCtrl;
...
uint32_t uContrast
SDK4GetContrast (hCtrl, &uContrast);
See also
SDK4DevGetControl
CTRL_HANDLE
SDK4SetContrast
77
3.2.7.5 SDK4SetSharpness
This function sets the Sharpness (digital edge enhancement).
Parameters
hCtrl(CTRL_HANDLE )
The control handle of the device
uSharpness (uint32_t)
the sharpness value
Return value
Error code:
SDK4_ERR_SUCCESS (0) in case of no error
SDK4_ERR_ERROR (-1001) in case of unspecified error
one of the other error codes defined in SDK4_ERROR
Remarks
The values range from 0 to 255.
Example
CTRL_HANDLE hCtrl;
...
SDK4SetSharpness (hCtrl, 255);
See also
SDK4DevGetControl
CTRL_HANDLE
SDK4GetSharpness
78
3.2.7.6 SDK4GetSharpness
This function gets the current value of Sharpness (digital edge enhancement).
Parameters
hCtrl(CTRL_HANDLE )
The control handle of the device
puSharpness (uint32_t*)
the pointer to the sharpness value
Return value
Error code:
SDK4_ERR_SUCCESS (0) in case of no error
SDK4_ERR_ERROR (-1001) in case of unspecified error
one of the other error codes defined in SDK4_ERROR
Remarks
The values range from 0 to 255.
Example
CTRL_HANDLE hCtrl;
...
uint32_t uSharpness
SDK4GetSharpness (hCtrl, &uSharpness);
See also
SDK4DevGetControl
CTRL_HANDLE
SDK4SetSharpness
79
3.2.7.7 SDK4SetHistogramEqualization
This function switches the histogram equalization into one of the modes “on”, “off” or “push”.
Parameters
Parameters
hCtrl(CTRL_HANDLE )
The control handle of the device
uMode (SDK4_ENUM_HISTOEQUAL)
the histogram equalization mode
Return value
Error code:
SDK4_ERR_SUCCESS (0) in case of no error
SDK4_ERR_ERROR (-1001) in case of unspecified error
one of the other error codes defined in SDK4_ERROR
Remarks
A histogram of the gray values in the active image is generated. This histogram is spreaded and equalized, and
based on these values, the next image is computed. Histogram equalization can either be performed once
(SDK4_ENUM_HISTOEQUAL_PUSH) or permanently (SDK4_ENUM_HISTOEQUAL_ON).
Example
CTRL_HANDLE hCtrl;
...
SDK4SetHistogramEqualization (hCtrl, SDK4_ENUM_HISTOEQUAL_ON);
See also
SDK4DevGetControl
CTRL_HANDLE
SDK4_ENUM_HISTOEQUAL
SDK4GetHistogramEqualization
80
3.2.7.8 SDK4GetHistogramEqualization
This function gets the current value of the histogram equalization.
Parameters
hCtrl(CTRL_HANDLE )
The control handle of the device
puMode (SDK4_ENUM_HISTOEQUAL *)
the pointer to the switch
Return value
Error code:
SDK4_ERR_SUCCESS (0) in case of no error
SDK4_ERR_ERROR (-1001) in case of unspecified error
one of the other error codes defined in SDK4_ERROR
Example
CTRL_HANDLE hCtrl;
...
SDK4_ENUM_HISTOEQUAL uMode;
SDK4GetHistogramEqualization(hCtrl, &uMode);
See also
SDK4DevGetControl
CTRL_HANDLE
SDK4_ENUM_HISTOEQUAL
SDK4SetHistogramEqualization
81
3.2.8 Memory Functions
3.2.8.1 SDK4SetVerticalFlip
This function can flip the camera image vertically.
Parameters
hCtrl(CTRL_HANDLE )
The control handle of the device
uOnOff (uint32_t)
the flip switch
Return value
Error code:
SDK4_ERR_SUCCESS (0) in case of no error
SDK4_ERR_ERROR (-1001) in case of unspecified error
one of the other error codes defined in SDK4_ERROR
Remarks
The position of the measure windows and generated lines are independent of the vertical flip function.
Example
CTRL_HANDLE hCtrl;
...
SDK4SetVerticalFlip (hCtrl, SDK4_ENUM_SWITCH_ON);
See also
SDK4DevGetControl
CTRL_HANDLE
SDK4GetVerticalFlip
SDK4_ENUM_SWITCH
82
3.2.8.2 SDK4GetVerticalFlip
This function gets the current value of the vertical flip.
Parameters
hCtrl(CTRL_HANDLE )
The control handle of the device
puOnOff (uint32_t*)
the pointer to the flip switch
Return value
Error code:
SDK4_ERR_SUCCESS (0) in case of no error
SDK4_ERR_ERROR (-1001) in case of unspecified error
one of the other error codes defined in SDK4_ERROR
Example
CTRL_HANDLE hCtrl;
...
SDK4_ENUM_SWITCH uFlip;
SDK4GetVerticalFlip (hCtrl, &uFlip);
See also
SDK4DevGetControl
CTRL_HANDLE
SDK4SetVerticalFlip
SDK4_ENUM_SWITCH
83
3.2.8.3 SDK4SetHorizontalFlip
This function can flip the camera image horizontally.
Parameters
hCtrl(CTRL_HANDLE )
The control handle of the device
uOnOff (uint32_t)
the flip switch
Return value
Error code:
SDK4_ERR_SUCCESS (0) in case of no error
SDK4_ERR_ERROR (-1001) in case of unspecified error
one of the other error codes defined in SDK4_ERROR
Remarks
The position of the measure windows and generated lines are independent of the horizontal flip function.
Example
CTRL_HANDLE hCtrl;
...
SDK4SetHorizontalFlip (hCtrl, SDK4_ENUM_SWITCH_ON);
See also
SDK4DevGetControl
CTRL_HANDLE
SDK4GetHorizontalFlip
SDK4_ENUM_SWITCH
84
3.2.8.4 SDK4GetHorizontalFlip
This function gets the current value of the horizontal flip.
Parameters
hCtrl(CTRL_HANDLE )
The control handle of the device
puOnOff (uint32_t*)
the pointer to the flip switch
Return value
Error code:
SDK4_ERR_SUCCESS (0) in case of no error
SDK4_ERR_ERROR (-1001) in case of unspecified error
one of the other error codes defined in SDK4_ERROR
Example
CTRL_HANDLE hCtrl;
...
SDK4_ENUM_SWITCH uFlip;
SDK4GetHorizontalFlip (hCtrl, &uFlip);
See also
SDK4DevGetControl
CTRL_HANDLE
SDK4SetHorizontalFlip
SDK4_ENUM_SWITCH
85
3.2.8.5 SDK4SetLastImageHold
This function can freeze the current camera image.
Parameters
hCtrl(CTRL_HANDLE )
The control handle of the device
uHold (SDK4_ENUM_IMAGEHOLD)
the image hold value
Return value
Error code:
SDK4_ERR_SUCCESS (0) in case of no error
SDK4_ERR_ERROR (-1001) in case of unspecified error
one of the other error codes defined in SDK4_ERROR
Remarks
The last image hold message can be used to freeze the current camera image
(SDK4_ENUM_IMAGEHOLD_HOLD). The same image will be transmitted by the camera until switching back to
live by setting SDK4_ENUM_IMAGEHOLD_LIVE. The hold image has the same timing as the live image.
Example
CTRL_HANDLE hCtrl;
...
// freeze the image:
SDK4SetLastImageHold (hCtrl, SDK4_ENUM_IMAGEHOLD_HOLD);
See also
SDK4DevGetControl
CTRL_HANDLE
SDK4_ENUM_IMAGEHOLD
SDK4GetLastImageHold
86
3.2.8.6 SDK4GetLastImageHold
This function gets the current value of last image hold.
Parameters
hCtrl(CTRL_HANDLE )
The control handle of the device
puHold (SDK4_ENUM_IMAGEHOLD*)
the pointer to the image hold value
Return value
Error code:
SDK4_ERR_SUCCESS (0) in case of no error
SDK4_ERR_ERROR (-1001) in case of unspecified error
one of the other error codes defined in SDK4_ERROR
Example
CTRL_HANDLE hCtrl;
...
SDK4_ENUM_IMAGEHOLD uHold;
SDK4GetLastImageHold (hCtrl, &uHold);
See also
SDK4DevGetControl
CTRL_HANDLE
SDK4_ENUM_SWITCH
SDK4SetLastImageHold
87
3.2.8.7 SDK4StoreImage
This function can store the current camera image to a volatile memory, when the switch is set
to 1.
Parameters
hCtrl(CTRL_HANDLE )
The control handle of the device
uOnOff (uint32_t)
the store switch
Return value
Error code:
SDK4_ERR_SUCCESS (0) in case of no error
SDK4_ERR_ERROR (-1001) in case of unspecified error
one of the other error codes defined in SDK4_ERROR
Remarks
The stored image can be used to be subtracted from the live image. Please refer to SDK4SetImageSubtraction.
Example
CTRL_HANDLE hCtrl;
...
// store one image and subtract it from the live image:
SDK4StoreImage(hCtrl, SDK4_ENUM_SWITCH_ON);
SDK4StoreImage(hCtrl, SDK4_ENUM_SWITCH_OFF);
...
SDK4SetImageSubtraction(hCtrl, SDK4_ENUM_SWITCH_ON);
See also
SDK4DevGetControl
CTRL_HANDLE
SDK4_ENUM_SWITCH
SDK4SetImageSubtraction
88
3.2.8.8 SDK4SetImageSubtraction
This function controls the image subtraction.
Parameters
hCtrl(CTRL_HANDLE )
The control handle of the device
uOnOff (uint32_t)
the image subtraction switch
Return value
Error code:
SDK4_ERR_SUCCESS (0) in case of no error
SDK4_ERR_ERROR (-1001) in case of unspecified error
one of the other error codes defined in SDK4_ERROR
Remarks
The image previously stored to the camera can be subtracted from the live image, when the switch is set to
SDK4_ENUM_SWITCH_ON.
Example
CTRL_HANDLE hCtrl;
...
// store one image and subtract it from the live image:
SDK4StoreImage(hCtrl, SDK4_ENUM_SWITCH_ON);
SDK4StoreImage(hCtrl, SDK4_ENUM_SWITCH_OFF);
...
SDK4SetImageSubtraction(hCtrl, SDK4_ENUM_SWITCH_ON);
See also
SDK4DevGetControl
CTRL_HANDLE
SDK4_ENUM_SWITCH
SDK4StoreImage
SDK4GetImageSubtraction
89
3.2.8.9 SDK4GetImageSubtraction
This function gets the current value of the image subtraction.
Parameters
hCtrl(CTRL_HANDLE )
The control handle of the device
puOnOff (uint32_t)
the pointer to the image subtraction switch
Return value
Error code:
SDK4_ERR_SUCCESS (0) in case of no error
SDK4_ERR_ERROR (-1001) in case of unspecified error
one of the other error codes defined in SDK4_ERROR
Example
CTRL_HANDLE hCtrl;
...
SDK4_ENUM_SWITCH uSubtract;
SDK4GetImageSubtraction(hCtrl, &uSubtract);
See also
SDK4DevGetControl
CTRL_HANDLE
SDK4_ENUM_SWITCH
SDK4StoreImage
SDK4SetImageSubtraction
90
3.2.8.10 SDK4SetRecursiveFilter
This function sets the factor of the recursive filter to one of the values specified in
SDK4_ENUM_RECURSIVEFILTER.
Parameters
hCtrl(CTRL_HANDLE )
The control handle of the device
uFactor (SDK4_ENUM_RECURSIVEFILTER)
the recursive filter factor
Return value
Error code:
SDK4_ERR_SUCCESS (0) in case of no error
SDK4_ERR_ERROR (-1001) in case of unspecified error
one of the other error codes defined in SDK4_ERROR
Remarks
The recursive filter accumulates up to 16 images to reduce noise in the image. Setting the recursive filter to
SDK4_ENUM_RECURSIVEFILTER_FACTOR1 turns the feature off.
Example
CTRL_HANDLE hCtrl;
...
// accumulate 8 image:
SDK4SetRecursiveFilter (hCtrl, SDK4_ENUM_RECURSIVEFILTER_FACTOR8);
See also
SDK4DevGetControl
CTRL_HANDLE
SDK4_ENUM_RECURSIVEFILTER
SDK4GetRecursiveFilter
91
3.2.8.11 SDK4GetRecursiveFilter
This function gets the current factor of the recursive filter.
Parameters
hCtrl(CTRL_HANDLE )
The control handle of the device
puFactor (SDK4_ENUM_RECURSIVEFILTER*)
the pointer to the recursive filter factor
Return value
Error code:
SDK4_ERR_SUCCESS (0) in case of no error
SDK4_ERR_ERROR (-1001) in case of unspecified error
one of the other error codes defined in SDK4_ERROR
Example
CTRL_HANDLE hCtrl;
...
SDK4_ENUM_RECURSIVEFILTER uFactor;
SDK4GetRecursiveFilter (hCtrl, &uFactor);
See also
SDK4DevGetControl
CTRL_HANDLE
SDK4_ENUM_RECURSIVEFILTER
SDK4SetRecursiveFilter
92
3.2.8.12 SDK4SetAutoMotionDetection
This function switches auto motion detection on and off.
SDK4_Error SDK4SetAutoMotionDetection(CTRL_HANDLE
hCtrl,SDK4_ENUM_SWITCH uOnOff)
Parameters
hCtrl(CTRL_HANDLE )
The control handle of the device
uOnOff (SDK4_ENUM_SWITCH)
the auto motion detection switch
Return value
Error code:
SDK4_ERR_SUCCESS (0) in case of no error
SDK4_ERR_ERROR (-1001) in case of unspecified error
one of the other error codes defined in SDK4_ERROR
Remarks
Auto motion detection is only enabled, when the recursive filter is active. When auto motion detection is
switched on, it detects motions in the picture area. If a motion is detected, the recursive filter function is without
effect.
Example
Example
CTRL_HANDLE hCtrl;
...
// accumulate 8 image:
SDK4SetRecursiveFilter(hCtrl, SDK4_ENUM_RECURSIVEFILTER_FACTOR8);
SDK4SetAutoMotionDetection(hCtrl, SDK4_ENUM_SWITCH_ON);
See also
SDK4DevGetControl
CTRL_HANDLE
SDK4_ENUM_RECURSIVEFILTER
SDK4SetRecursiveFilter
SDK4GetAutoMotionDetection
93
3.2.8.13 SDK4GetAutoMotionDetection
This function gets the current value of auto motion detection.
Parameters
hCtrl(CTRL_HANDLE )
The control handle of the device
puOnOff (SDK4_ENUM_SWITCH*)
the pointer to he auto motion detection switch
Return value
Error code:
SDK4_ERR_SUCCESS (0) in case of no error
SDK4_ERR_ERROR (-1001) in case of unspecified error
one of the other error codes defined in SDK4_ERROR
Example
CTRL_HANDLE hCtrl;
...
SDK4_ENUM_ SWITCH uSwitch;
SDK4GetAutoMotionDetection(hCtrl, &uSwitch);
See also
SDK4DevGetControl
CTRL_HANDLE
SDK4_ENUM_SWITCH
SDK4SetAutoMotionDetection
94
3.2.9 Look Up Table Functions
3.2.9.1 SDK4SetGammaIndex
This function sets the index of the gamma correction function.
Parameters
hCtrl(CTRL_HANDLE )
The control handle of the device
iGammaIndex (int32_t)
the selected gamma index
Return value
Error code:
SDK4_ERR_SUCCESS (0) in case of no error
SDK4_ERR_ERROR (-1001) in case of unspecified error
one of the other error codes defined in SDK4_ERROR
Remarks
The index can interpolate between a Gamma 1.0 function (0, linear transformation) and a Gamma 0.3 function
(+12).
Example
CTRL_HANDLE hCtrl;
...
// set gamma index to 0.3:
SDK4SetGammaIndex (hCtrl, 12);
See also
SDK4DevGetControl
CTRL_HANDLE
SDK4GetGammaIndex
95
3.2.9.2 SDK4GetGammaIndex
This function gets the current value of the index of the gamma correction function.
Parameters
hCtrl(CTRL_HANDLE )
The control handle of the device
piGammaIndex (int32_t*)
the pointer to the gamma index
Return value
Error code:
SDK4_ERR_SUCCESS (0) in case of no error
SDK4_ERR_ERROR (-1001) in case of unspecified error
one of the other error codes defined in SDK4_ERROR
Remarks
The index can interpolate between a Gamma 1.0 function (0, linear transformation) and a Gamma 0.3 function
(+12).
Example
Exam ple
CTRL_HANDLE hCtrl;
...
int32_t iIndex;
SDK4GetGammaIndex (hCtrl, &iIndex);
See also
SDK4DevGetControl
CTRL_HANDLE
SDK4SetGammaIndex
96
3.2.9.3 SDK4SetNegativeImage
This function can invert the camera image.
Parameters
hCtrl(CTRL_HANDLE )
The control handle of the device
uNegativeImage (uint32_t)
the inversion value
Return value
Error code:
SDK4_ERR_SUCCESS (0) in case of no error
SDK4_ERR_ERROR (-1001) in case of unspecified error
one of the other error codes defined in SDK4_ERROR
Remarks
The inverting is done in the raw image data of the CCD sensor.
Example
CTRL_HANDLE hCtrl;
...
// invert the image:
SDK4SetNegativeImage (hCtrl, SDK4_ENUM_SWITCH_ON);
See also
SDK4DevGetControl
CTRL_HANDLE
SDK4_ENUM_SWITCH
SDK4GetNegativeImage
97
3.2.9.4 SDK4GetNegativeImage
This function gets the current value of the image inversion.
Parameters
hCtrl(CTRL_HANDLE )
The control handle of the device
puNegativeImage (uint32_t)
the pointer to the inversion value
Return value
Error code:
SDK4_ERR_SUCCESS (0) in case of no error
SDK4_ERR_ERROR (-1001) in case of unspecified error
one of the other error codes defined in SDK4_ERROR
Remarks
The inverting is done in the raw image data of the CCD sensor.
Example
CTRL_HANDLE hCtrl;
...
SDK4_ENUM_SWITCH uNegative;
SDK4GetNegativeImage (hCtrl, &uNegative);
See also
SDK4DevGetControl
CTRL_HANDLE
SDK4_ENUM_SWITCH
SDK4SetNegativeImage
98
ABC Functions
3.2.9.5 SDK4SetABC
This function sets one of the automatic balance control modes which are specified in SDK4_ENUM_ABC. ABC
provides the opportunity to adapt the x-ray power to the x-ray object, via external outputs XR-HIGH-EXT and
XR-LOW-EXT.
Parameters
hCtrl(CTRL_HANDLE )
The control handle of the device
uOnOffStop (SDK4_ENUM_ABC)
automatic balance control mode
Return value
Error code:
SDK4_ERR_SUCCESS (0) in case of no error
SDK4_ERR_ERROR (-1001) in case of unspecified error
one of the other error codes defined in SDK4_ERROR
Remarks
When ABC is switched off (H3XR_ENUM_OFF), the external signals, XR-HIGH-EXT and XR-
LOW-EXT, are not active.
When ABC is switched on (H3XR_ENUM_ON), the external signals, XR-HIGH-EXT and XR-
LOW-EXT, are active, and automatic balance control is running.
When ABC is switched to stop mode (H3XR_ENUM_STOP), automatic balance control is running, until the
external ABC Stop signal is set. Then, depending on the value of ABCStopMode, either the ABC is switched off
(SDK4_ENUM_SWITCH_OFF) or the balance is fixed to its last value(SDK4_ENUM_SWITCH_ON).
Example
CTRL_HANDLE hCtrl;
...
// set ABC to stop mode, and switch on ABCStopMode:
SDK4SetABC(hCtrl, H3XR_ENUM_STOP);
SDK4SetABCStopMode(hCtrl, SDK4_ENUM_SWITCH_ON);
See also
SDK4DevGetControl
CTRL_HANDLE
SDK4_ENUM_ABC
SDK4GetABC
SDK4SetABCStopMode
99
3.2.9.6 SDK4GetABC
This function gets the current value of automatic balance control.
Return value
Error code:
SDK4_ERR_SUCCESS (0) in case of no error
SDK4_ERR_ERROR (-1001) in case of unspecified error
one of the other error codes defined in SDK4_ERROR
Example
CTRL_HANDLE hCtrl;
...
SDK4_ENUM_ABC uABC;
SDK4GetABC(hCtrl, &uABC);
See also
SDK4DevGetControl
CTRL_HANDLE
SDK4_ENUM_ABC
SDK4SetABC
100
3.2.9.7 SDK4SetABCStopMode
This function switches the automatic balance control stop mode on and off.
Parameters
hCtrl(CTRL_HANDLE )
The control handle of the device
uStop (SDK4_ENUM_SWITCH)
the ABC stop mode switch
Return value
Error code: SDK4_ERR_SUCCESS (0) in case of no error
SDK4_ERR_ERROR (-1001) in case of unspecified error
one of the other error codes defined in SDK4_ERROR
Remarks
ABCStop mode is only enabled, when ABC is set to H3XR_ENUM_STOP.
When ABC is switched to stop mode (H3XR_ENUM_STOP), automatic balance control is running, until the
external ABC Stop signal is set.
When ABCStopMode was switched off (SDK4_ENUM_SWITCH_OFF) , ABC is switched off, after the
external signal has occurred.
When ABCStopMode was switched on (SDK4_ENUM_SWITCH_ON) , the balance is fixed to its last value.
Example
CTRL_HANDLE hCtrl;
...
// set ABC to stop mode, and switch on ABCStopMode:
SDK4SetABC(hCtrl, H3XR_ENUM_STOP);
SDK4SetABCStopMode(hCtrl, SDK4_ENUM_SWITCH_ON);
See also
SDK4DevGetControl
CTRL_HANDLE
SDK4_ENUM_SWITCH
SDK4_ENUM_ABC
SDK4SetABC
SDK4GetABCStopMode
101
3.2.9.8 SDK4GetABCStopMode
This function gets the current value of the automatic balance control stop mode.
Parameters
hCtrl(CTRL_HANDLE )
The control handle of the device
puStop (SDK4_ENUM_ SWITCH *)
the pointer to the ABC stop mode switch
Return value
Error code:
SDK4_ERR_SUCCESS (0) in case of no error
SDK4_ERR_ERROR (-1001) in case of unspecified error
one of the other error codes defined in SDK4_ERROR
Example
CTRL_HANDLE hCtrl;
...
SDK4_ENUM_SWITCH uStop;
SDK4GetABCStopMode(hCtrl, &uStop);
See also
SDK4DevGetControl
CTRL_HANDLE
SDK4_ENUM_SWITCH
SDK4SetABCStopMode
102
3.2.9.9 SDK4SetABCThreshold
This function sets the threshold values for the output signals XR-HIGH-EXT and XR-LOW-EXT.
SDK4_Error SDK4SetABCThreshold(CTRL_HANDLE
hCtrl,SDK4_ENUM_ABC_SELECT uSelect, uint32_t uThreshold)
Parameters
Paramete rs
hCtrl(CTRL_HANDLE )
The control handle of the device
uSelect (SDK4_ENUM_ABC_SELECT)
the external signal
uThreshold (uint32_t)
the threshold value
Return value
Error code:
SDK4_ERR_SUCCESS (0) in case of no error
SDK4_ERR_ERROR (-1001) in case of unspecified error
one of the other error codes defined in SDK4_ERROR
Remarks
The value range of the threshold is 0 .. 1024, the default value for H3XR_ENUM_XRHIGH is 358, the default
value for H3XR_ENUM_XRLOW is 255.
Example
CTRL_HANDLE hCtrl;
...
// set ABC threshold of the XR-HIGH-EXT signal to 500:
SDK4SetABCThreshold(hCtrl, H3XR_ENUM_XRHIGH, 500);
See also
SDK4DevGetControl
CTRL_HANDLE
SDK4_ENUM_ABC_SELECT
SDK4GetABCThreshold
3.2.9.10 SDK4GetABCThreshold
This function gets the threshold values for the output signals XR-HIGH-EXT and XR-LOW-EXT.
Parameters
hCtrl(CTRL_HANDLE )
The control handle of the device
uSelect (SDK4_ENUM_ABC_SELECT)
the external signal
puThreshold (uint32_t*)
the pointer to the threshold value
103
Return value
Error code:
SDK4_ERR_SUCCESS (0) in case of no error
SDK4_ERR_ERROR (-1001) in case of unspecified error
one of the other error codes defined in SDK4_ERROR
Example
CTRL_HANDLE hCtrl;
...
// get the ABC threshold value of the XR-LOW-EXT signal:
uint32_t uThreshold;
SDK4GetABCThreshold(hCtrl, H3XR_ENUM_XRLOW, &uThreshold);
See also
SDK4DevGetControl
CTRL_HANDLE
SDK4_ENUM_ABC_SELECT
SDK4SetABCThreshold
104
3.2.9.11 SDK4GetABCXRLevel
This function gets the actual digital value of XR Linear.
Parameters
hCtrl(CTRL_HANDLE )
The control handle of the device
puLevel (uint32_t*)
the pointer to the digital level
Return value
Error code:
SDK4_ERR_SUCCESS (0) in case of no error
SDK4_ERR_ERROR (-1001) in case of unspecified error
one of the other error codes defined in SDK4_ERROR
Example
CTRL_HANDLE hCtrl;
...
uint32_t uLevel;
SDK4GetABCXRLevel(hCtrl, &uLevel);
See also
SDK4DevGetControl
CTRL_HANDLE
105
3.2.10 Defect Pixel Functions
3.2.10.1 SDK4SetDefectPixelAutoCompensation
This function is used to start the automatic defective pixel compensation.
Parameters
hCtrl(CTRL_HANDLE )
The control handle of the device
Return value
Error code:
SDK4_ERR_SUCCESS (0) in case of no error
SDK4_ERR_ERROR (-1001) in case of unspecified error
one of the other error codes defined in SDK4_ERROR
Remarks
The position of the defective pixels found by the automatic will be written in the EEPROM. Defective pixel
settings set by a previous automatic compensation procedure or manual adjustment will be reset at the start of
the automatic defective pixel compensation.
The defect pixels, which are detected, are written into a list of max. 128 entries. Not all of these pixels were
compensated (as for of a neighboring defect pixel). The first 116 defect pixel entries are accessible to
SDK4SetDefectPixel and SDK4GetDefectPixel in adjust mode, the other 12 entries are accessible in maintanance
mode.
Note:
This function is only available in Adjust Mode or Maintenance Mode!
Example
CTRL_HANDLE hCtrl;
...
// set the access mode of the camera to maintanace mode and start
// defect pixel auto compensation:
SDK4_KACCESSMODE maintanaceMode = {SDK4_ENUM_ACCESS_MAINTANANCEMODE,
0x1234};
SDK4SetAccessMode(hCtrl, maintanaceMode);
SDK4SetDefectPixelAutoCompensation (hCtrl);
See also
SDK4DevGetControl
CTRL_HANDLE
SDK4SetAccessMode
SDK4SetDefectPixel
SDK4GetDefectPixel
106
3.2.10.2 SDK4GetDefectPixelCount
This function gets the number of defect pixels, which were compensated by the automatic defective pixel
compensation.
Parameters
hCtrl(CTRL_HANDLE )
The control handle of the device
puCount(uint32_t*)
the pointer to the number of compensated defect pixels
Return value
Error code:
SDK4_ERR_SUCCESS (0) in case of no error
SDK4_ERR_ERROR (-1001) in case of unspecified error
one of the other error codes defined in SDK4_ERROR
Remarks
Note: This function is only available in Adjust Mode or Maintenance Mode!
Example
CTRL_HANDLE hCtrl;
...
uint32_t uCount;
SDK4GetDefectPixelCount(hCtrl, &uCount);
See also
SDK4DevGetControl
CTRL_HANDLE
SDK4SetDefectPixelAutoCompensation
SDK4SetAccessMode
3.2.10.3 SDK4SetDefectPixelShow
This function switches the display of defect pixels on and off.
Parameters
hCtrl(CTRL_HANDLE )
The control handle of the device
uShow (SDK4_ENUM_SWITCH)
the defect pixel show switch
Return value
Error code:
SDK4_ERR_SUCCESS (0) in case of no error
SDK4_ERR_ERROR (-1001) in case of unspecified error
107
one of the other error codes defined in SDK4_ERROR
Remarks
The defect pixels are displayed as gray pixels.
Note:
This function is only available in Adjust Mode or Maintenance Mode!
Example
CTRL_HANDLE hCtrl;
...
// set the access mode of the camera to maintanace mode and switch
// the display of defect pixels on. Then switch access mode back to
// user mode:
SDK4_KACCESSMODE maintanaceMode = {SDK4_ENUM_ACCESS_MAINTANANCEMODE,
0x1234};
SDK4SetAccessMode(hCtrl, maintanaceMode);
SDK4SetDefectPixelShow(hCtrl, SDK4_ENUM_SWITCH_ON);
...
SDK4_KACCESSMODE userMode = {SDK4_ENUM_ACCESS_USERMODE, 0};
SDK4SetAccessMode(hCtrl, userMode);
See also
SDK4DevGetControl
CTRL_HANDLE
SDK4_ENUM_SWITCH
SDK4GetDefectPixelShow
SDK4SetAccessMode
SDK4SetDefectPixelAutoCompensation
108
3.2.10.4 SDK4GetDefectPixelShow
This function gets the current value of defect pixel show control.
SDK4_Error SDK4GetDefectPixelShow(CTRL_HANDLE
hCtrl,SDK4_ENUM_SWITCH* puShow)
Parameters
hCtrl(CTRL_HANDLE )
The control handle of the device
puShow (SDK4_ENUM_SWITCH *)
the pointer to the defect pixel show switch
Return value
value
Error code:
SDK4_ERR_SUCCESS (0) in case of no error
SDK4_ERR_ERROR (-1001) in case of unspecified error
one of the other error codes defined in SDK4_ERROR
Example
CTRL_HANDLE hCtrl;
...
SDK4_ENUM_SWITCH uShow;
SDK4GetDefectPixelShow(hCtrl, &uShow);
See also
SDK4DevGetControl
CTRL_HANDLE
SDK4_ENUM_SWITCH
SDK4SetDefectPixelShow
109
3.2.10.5 SDK4SetDefectPixel
This function is used to manually adjust the defective pixel compensation or change the parameters for defective
pixels found by the automatic defective pixel compensation.
Parameters
hCtrl(CTRL_HANDLE )
The control handle of the device
kSelect(SDK4_KDEFECTPIXELSELECT)
the selected defect pixel
kDefectPixel (SDK4_KDEFECTPIXEL)
the defect pixel parameters
Return value
Error code:
SDK4_ERR_SUCCESS (0) in case of no error
SDK4_ERR_ERROR (-1001) in case of unspecified error
one of the other error codes defined in SDK4_ERROR
Remarks
The defect pixels are hold in a list of max. 128 entries. Not all of these pixels are compensated (as for of a
neighboring defect pixel). The first 116 defect pixel entries are accessible to SDK4SetDefectPixel and
SDK4GetDefectPixel in adjust mode, the other 12 entries are accessible in maintanance mode.
SDK4_KDEFECTPIXELSELECT has 2 parameters, pixelNumber (the index in defect pixel list) and store ( for future
use, it has to be set to 1).
SDK4_KDEFECTPIXEL has 3 parameters, the x and y position of the pixel (see SDK4_KPOSITION) and its mode.
Note:
This function is only available in Adjust Mode or Maintenance Mode!
110
Example
CTRL_HANDLE hCtrl;
...
// set the access mode of the camera to maintanace mode and get the
// the defect pixel parameters at position 120.
// If this defect pixel is not compensated, set it to Hightlight.
// Then switch access mode back to user mode:
SDK4_KACCESSMODE maintanaceMode = {SDK4_ENUM_ACCESS_MAINTANANCEMODE,
0x1234};
SDK4SetAccessMode(hCtrl, maintanaceMode);
SDK4_KDEFECTPIXELSELECT kSelect = {120, 1};
SDK4_KDEFECTPIXEL kDefectPixel = new SDK4_KDEFECTPIXEL();
SDK4GetDefectPixel(hCtrl, kSelect, &kDefectPixel);
printf(“\nDefectpixel 120: x = %d, y = %d, mode = %d”,
kDefectPixel.pos.xPos, kDefectPixel.pos.yPos,
kDefectPixel.mode);
if (kDefectPixel.mode == SDK4_ENUM_DEFECTPIXEL_COMPENSATION_OFF)
kDefectPixel.mode = SDK4_ENUM_DEFECTPIXEL_HIGHLIGHT;
SDK4SetDefectPixel(hCtrl, kSelect, kDefectPixel);
...
SDK4_KACCESSMODE userMode = {SDK4_ENUM_ACCESS_USERMODE, 0};
SDK4SetAccessMode(hCtrl, userMode);
See also
SDK4DevGetControl
CTRL_HANDLE
SDK4_KDEFECTPIXELSELECT
SDK4_KDEFECTPIXEL
SDK4_KPOSITION
SDK4_ENUM_DEFECTPIXEL_MODE
SDK4GetDefectPixel
SDK4SetAccessMode
111
3.2.10.6 SDK4GetDefectPixel
This function gets the parameters of the selected defect pixel.
Parameters
hCtrl(CTRL_HANDLE )
The control handle of the device
kSelect(SDK4_KDEFECTPIXELSELECT)
the selected defect pixel
pkDefectPixel (SDK4_KDEFECTPIXEL*)
the pointer to the defect pixel parameters
Return value
Error code:
SDK4_ERR_SUCCESS (0) in case of no error
SDK4_ERR_ERROR (-1001) in case of unspecified error
one of the other error codes defined in SDK4_ERROR
Remarks
The defect pixels are hold in a list of max. 128 entries. Not all of these pixels are compensated (as for of a
neighboring defect pixel). The first 116 defect pixel entries are accessible to SDK4SetDefectPixel and
SDK4GetDefectPixel in adjust mode, the other 12 entries are accessible in maintanance mode.
SDK4_KDEFECTPIXELSELECT has 2 parameters, pixelNumber (the index in defect pixel list) and store ( for future
use, it has to be set to 1).
SDK4_KDEFECTPIXEL has 3 parameters, the x and y position of the pixel (see SDK4_KPOSITION) and its mode.
Note:
This function is only available in Adjust Mode or Maintenance Mode!
Example
CTRL_HANDLE hCtrl;
...
// set the access mode of the camera to maintanace mode and get the
// the defect pixel parameters at position 120.
// Then switch access mode back to user mode:
SDK4_KACCESSMODE maintanaceMode = {SDK4_ENUM_ACCESS_MAINTANANCEMODE,
0x1234};
SDK4SetAccessMode(hCtrl, maintanaceMode);
SDK4_KDEFECTPIXELSELECT kSelect = {120, 1};
SDK4_KDEFECTPIXEL kDefectPixel = new SDK4_KDEFECTPIXEL();
SDK4GetDefectPixel(hCtrl, kSelect, &kDefectPixel);
printf(“\nDefectpixel 120: x = %d, y = %d, mode = %d”,
kDefectPixel.pos.xPos, kDefectPixel.pos.yPos,
kDefectPixel.mode);
...
SDK4_KACCESSMODE userMode = {SDK4_ENUM_ACCESS_USERMODE, 0};
SDK4SetAccessMode(hCtrl, userMode);
See also
112
SDK4DevGetControl
CTRL_HANDLE
SDK4_KDEFECTPIXELSELECT
SDK4_KDEFECTPIXEL
SDK4_KPOSITION
SDK4_ENUM_DEFECTPIXEL_MODE
SDK4SetDefectPixel
SDK4SetAccessMode
113
3.2.11 Image Correction Functions
3.2.11.1 SDK4SetShadingCorrectionMode
This function switches the shading correction on and off.
Parameters
hCtrl(CTRL_HANDLE )
The control handle of the device
uOnOff (SDK4_ENUM_SWITCH)
the switch of the shading correction mode
Return value
Error code:
SDK4_ERR_SUCCESS (0) in case of no error
SDK4_ERR_ERROR (-1001) in case of unspecified error
one of the other error codes defined in SDK4_ERROR
Remarks
Shading correction compensates vignetting of the image intensifier and optics in horizontal and vertical
direction.
Example
CTRL_HANDLE hCtrl;
...
// switch shading correction on:
SDK4SetShadingCorrectionMode(hCtrl, SDK4_ENUM_SWITCH_ON);
See also
SDK4DevGetControl
CTRL_HANDLE
SDK4_ENUM_SWITCH
SDK4GetShadingCorrectionMode
114
3.2.11.2 SDK4GetShadingCorrectionMode
This function gets the value of the shading correction mode.
Parameters
hCtrl(CTRL_HANDLE )
The control handle of the device
puOnOff (SDK4_ENUM_SWITCH*)
the switch of the shading correction mode
Return value
Error code:
SDK4_ERR_SUCCESS (0) in case of no error
SDK4_ERR_ERROR (-1001) in case of unspecified error
one of the other error codes defined in SDK4_ERROR
Remarks
There a two sources, which can genernate a test pattern, a pre-processing and a post-processing generator (see
SDK4_ENUM_PATTERNGENERATOR_SELECT).
Example
CTRL_HANDLE hCtrl;
...
// get the value of the shading correction mode:
SDK4_ENUM_SWITCH eSwitch;
SDK4GetShadingCorrectionMode(hCtrl, &eSwitch);
See also
SDK4DevGetControl
CTRL_HANDLE
SDK4_ENUM_SWITCH
SDK4SetShadingCorrectionMode
115
3.2.11.3 SDK4SetShadingCorrection
This function sets the shading correction value for a selected direction.
Parameters
hCtrl(CTRL_HANDLE )
The control handle of the device
uSelect(SDK4_ENUM_SHADINGSELECT)
the selector for the direction to correct
iCorrection (int32_t)
the correction value
Return value
Error code:
SDK4_ERR_SUCCESS (0) in case of no error
SDK4_ERR_ERROR (-1001) in case of unspecified error
one of the other error codes defined in SDK4_ERROR
Remarks
Shading correction can be performed for V(vertical)-Tilt , H(horizontal)-Tilt, V(vertical)-Dome and, H(horizontal)-
Dome (see SDK4_ENUM_SHADINGSELECT).
The value range of iCorrection is -128 .. 127.
Shading correction is only enabled, when Shading Corection Mode is switched on.
Example
CTRL_HANDLE hCtrl;
...
// switch shading correction on and set the correction value for V-
// Dome to -10:
SDK4SetShadingCorrectionMode(hCtrl, SDK4_ENUM_SWITCH_ON);
SDK4SetShadingCorrection(hCtrl, H3XR_ENUM_VDOME, -10);
See also
SDK4DevGetControl
CTRL_HANDLE
SDK4_ENUM_SHADINGSELECT
SDK4SetShadingCorrectionMode
SDK4GetShadingCorrection
116
3.2.11.4 SDK4GetShadingCorrection
This function gets the shading correction value for a selected direction.
Parameters
hCtrl(CTRL_HANDLE )
The control handle of the device
uSelect(SDK4_ENUM_SHADINGSELECT)
the selector for the direction to correct
piCorrection (int32_t*)
the pointer to the correction value
Return value
Error code:
SDK4_ERR_SUCCESS (0) in case of no error
SDK4_ERR_ERROR (-1001) in case of unspecified error
one of the other error codes defined in SDK4_ERROR
Remarks
There a two sources, which can genernate a test pattern, a pre-processing and a post-processing generator (see
SDK4_ENUM_PATTERNGENERATOR_SELECT).
Example
CTRL_HANDLE hCtrl;
...
// get the Shading correction value for H-Dome:
Int32_t iCorrection;
SDK4GetShadingCorrection(hCtrl, H3XR_ENUM_HDOME , &iCorrection);
See also
SDK4DevGetControl
CTRL_HANDLE
SDK4_ENUM_SHADINGSELECT
SDK4SetShadingCorrection
117
3.2.11.5 SDK4SetCircularBlankingMode
This function switches the circular blanking on and off.
Parameters
hCtrl(CTRL_HANDLE )
The control handle of the device
uOnOff (SDK4_ENUM_SWITCH)
the switch of the circlular blanking mode
Return value
Error code:
SDK4_ERR_SUCCESS (0) in case of no error
SDK4_ERR_ERROR (-1001) in case of unspecified error
one of the other error codes defined in SDK4_ERROR
Remarks
Re marks
This functions blanks the are of the image that is not used.
Example
CTRL_HANDLE hCtrl;
...
// switch circular blanking on:
SDK4SetCircularBlankingMode(hCtrl, SDK4_ENUM_SWITCH_ON);
See also
SDK4DevGetControl
CTRL_HANDLE
SDK4_ENUM_SWITCH
SDK4GetCircularBlankingMode
118
3.2.11.6 SDK4GetCircularBlankingMode
This function gets the value of the circular blanking mode.
Parameters
hCtrl(CTRL_HANDLE )
The control handle of the device
puOnOff (SDK4_ENUM_SWITCH*)
the switch of the circlular blanking mode
Return value
Error code:
SDK4_ERR_SUCCESS (0) in case of no error
SDK4_ERR_ERROR (-1001) in case of unspecified error
one of the other error codes defined in SDK4_ERROR
Example
CTRL_HANDLE hCtrl;
...
// get the value of the circular blanking mode:
SDK4_ENUM_SWITCH eSwitch;
SDK4GetCircularBlankingMode(hCtrl, &eSwitch);
See also
SDK4DevGetControl
CTRL_HANDLE
SDK4_ENUM_SWITCH
SDK4SetCircularBlankingMode
119
3.2.11.7 SDK4SetCircularBlankingSize
This function sets the diameter of the Circular Blanking.
Parameters
hCtrl(CTRL_HANDLE )
The control handle of the device
uSize (uint32_t)
the size value
Return value
Error code:
SDK4_ERR_SUCCESS (0) in case of no error
SDK4_ERR_ERROR (-1001) in case of unspecified error
one of the other error codes defined in SDK4_ERROR
Remarks
This function is only enabled, when Circular Blanking Mode is switched on.
The value range of the size is 0 .. 255 (default 128).
Example
CTRL_HANDLE hCtrl;
...
// switch circular blanking on and set the size to 200:
SDK4SetCircularBlankingMode(hCtrl, SDK4_ENUM_SWITCH_ON);
SDK4SetCircularBlankingSize(hCtrl, 200);
See also
SDK4DevGetControl
CTRL_HANDLE
SDK4GetCircularBlankingSize
SDK4SetCircularBlankingMode
120
3.2.11.8 SDK4GetCircularBlankingSize
This function gets the value of the diameter of the Circular Blanking.
Parameters
hCtrl(CTRL_HANDLE )
The control handle of the device
puSize(uint32_t*)
the pointer to the size value
Return value
Error code:
SDK4_ERR_SUCCESS (0) in case of no error
SDK4_ERR_ERROR (-1001) in case of unspecified error
one of the other error codes defined in SDK4_ERROR
Example
CTRL_HANDLE hCtrl;
...
// get the value of the circular blanking size:
uint32_t uSize;
SDK4GetCircularBlankingSize(hCtrl, &uSize);
See also
SDK4DevGetControl
CTRL_HANDLE
SDK4SetCircularBlankingSize
SDK4SetCircularBlankingMode
121
3.2.11.9 SDK4SetCircularBlankingPosition
This function sets the position of the Circular Blanking .
Parameters
hCtrl(CTRL_HANDLE )
The control handle of the device
kPosition(SDK4_KCIRCULARPOSITION)
the value of the circular blanking position
Return value
Error code:
SDK4_ERR_SUCCESS (0) in case of no error
SDK4_ERR_ERROR (-1001) in case of unspecified error
one of the other error codes defined in SDK4_ERROR
Remarks
Rem arks
This function is only enabled, when Circular Blanking Mode is switched on.
The default position (0, 0) lies in the center of the image, the value range of the position is -128 .. 127 in
horizontal and vertical direction.
Example
CTRL_HANDLE hCtrl;
...
// switch circular blanking on and set the position to 20/-20:
SDK4SetCircularBlankingMode(hCtrl, SDK4_ENUM_SWITCH_ON);
SDK4_KCIRCULARPOSITION kPosition = {20, -20};
SDK4SetCircularBlankingPosition(hCtrl, kPosition);
See also
SDK4DevGetControl
CTRL_HANDLE
SDK4_KCIRCULARPOSITION
SDK4GetCircularBlankingPosition
SDK4SetCircularBlankingMode
122
3.2.11.10 SDK4GetCircularBlankingPosition
This function gets the value of the position of the Circular Blanking.
Parameters
hCtrl(CTRL_HANDLE )
The control handle of the device
pkPosition(SDK4_KCIRCULARPOSITION*)
the pointer to the value of the circular blanking position
Return value
Error code:
SDK4_ERR_SUCCESS (0) in case of no error
SDK4_ERR_ERROR (-1001) in case of unspecified error
one of the other error codes defined in SDK4_ERROR
Example
CTRL_HANDLE hCtrl;
...
// get the value of the circular blanking position:
uint32_t uSize;
SDK4_KCIRCULARPOSITION kPosition = new SDK4_KCIRCULARPOSITION();
SDK4GetCircularBlankingPosition(hCtrl, &kPosition);
See also
SDK4DevGetControl
CTRL_HANDLE
SDK4_KCIRCULARPOSITION
SDK4SetCircularBlankingPosition
SDK4SetCircularBlankingMode
123
3.2.12 Internal Test Functions
3.2.12.1 SDK4SetTestPattern
This function selects a pattern generator, specified in SDK4_ENUM_PATTERNGENERATOR, and sets one of Test
patterns which are specified in SDK4_ENUM_PATTERN.
Parameters
hCtrl(CTRL_HANDLE )
The control handle of the device
uSelect (SDK4_ENUM_PATTERNGENERATOR_SELECT)
the selected test pattern generator
uPattern (SDK4_ENUM_PATTERN)
the test pattern
Return value
Error code:
SDK4_ERR_SUCCESS (0) in case of no error
SDK4_ERR_ERROR (-1001) in case of unspecified error
one of the other error codes defined in SDK4_ERROR
Remarks
There a two sources, which can genernate a test pattern, a pre-processing and a post-processing generator (see
SDK4_ENUM_PATTERNGENERATOR_SELECT).
The value range of the test patterns is specified in SDK4_ENUM_PATTERN. H3XR_ENUM_IMAGEDATA
switches to the live image of the CCD, all other options show test patterns.
In case, both a pre-processing and a post-processing test pattern is selected, only the post-processing test
pattern is visible.
Example
CTRL_HANDLE hCtrl;
...
// switch from live image to a gray-scale test pattern of the pre-
processing pattern generator and back:
SDK4SetTestPattern (hCtrl, H3XR_ENUM_PATTERNGENERATOR_PREPROCESSING,
H3XR_ENUM_GRAYSCALE);
...
SDK4SetTestPattern (hCtrl, H3XR_ENUM_PATTERNGENERATOR_PREPROCESSING,
H3XR_ENUM_IMAGEDATA);
See also
SDK4DevGetControl
CTRL_HANDLE
SDK4_ENUM_PATTERN
SDK4_ENUM_PATTERNGENERATOR_SELECT
SDK4GetTestPattern
124
3.2.12.2 SDK4GetTestPattern
This function selects a pattern generator, specified in SDK4_ENUM_PATTERNGENERATOR, and
gets the current Test pattern of this generator.
Return value
Error code:
SDK4_ERR_SUCCESS (0) in case of no error
SDK4_ERR_ERROR (-1001) in case of unspecified error
one of the other error codes defined in SDK4_ERROR
Remarks
There a two sources, which can genernate a test pattern, a pre-processing and a post-processing generator (see
SDK4_ENUM_PATTERNGENERATOR_SELECT).
Example
CTRL_HANDLE hCtrl;
...
SDK4_ENUM_PATTERN uPattern;
SDK4GetTestPattern (hCtrl, H3XR_ENUM_PATTERNGENERATOR_PREPROCESSING,
&uPattern);
See also
SDK4DevGetControl
CTRL_HANDLE
SDK4_ENUM_PATTERN
SDK4_ENUM_PATTERNGENERATOR_SELECT
SDK4SetTestPattern
125
3.2.12.3 SDK4GetTemperature
This function gets the current temperature in °C.
Parameters
hCtrl(CTRL_HANDLE )
The control handle of the device
piTemperature (int32_t)
the pointer to the temperature value
Return value
Error code: SDK4_ERR_SUCCESS (0) in case of no error
SDK4_ERR_ERROR (-1001) in case of unspecified error
one of the other error codes defined in SDK4_ERROR
Remarks
The temperature measurement has a tolerance of +/- 4K.
Example
CTRL_HANDLE hCtrl;
...
int32_t iTemperature;
SDK4GetTemperature (hCtrl, &iTemperature);
See also
SDK4DevGetControl
CTRL_HANDLE
3.2.13.1 SDK4SaveSettings
This function stores the current settings to one of the user defined settings in the camera EEPROM.
Parameters
hCtrl(CTRL_HANDLE )
The control handle of the device
uSetting (SDK4_ENUM_SETTINGS)
the selected setting
Return value
Error code: SDK4_ERR_SUCCESS (0) in case of no error
SDK4_ERR_ERROR (-1001) in case of unspecified error
one of the other error codes defined in SDK4_ERROR
126
Remarks
The current settings can be stored as user setting1 or user setting2. The default setting cannot be changed. For
the value range see SDK4_ENUM_SETTINGS.
Example
CTRL_HANDLE hCtrl;
...
// save current settings to user settings 1 and then declare them as
// startup settings:
SDK4SaveSettings (hCtrl, SDK4_ENUM_SETTINGS_USERSETTINGS1);
SDK4SetStartupSettings (hCtrl, SDK4_ENUM_SETTINGS_USERSETTINGS1);
See also
also
SDK4DevGetControl
CTRL_HANDLE
SDK4_ENUM_SETTINGS
SDK4LoadSettings
SDK4SetStartupSettings
3.2.13.2 SDK4LoadSettings
This function loads either the default settings or one of the previously stored user defined settings from the
camera EEPROM.
Parameters
hCtrl(CTRL_HANDLE )
The control handle of the device
uSetting (SDK4_ENUM_ SETTINGS)
the selected setting
Return value
Error code:
SDK4_ERR_SUCCESS (0) in case of no error
SDK4_ERR_ERROR (-1001) in case of unspecified error
one of the other error codes defined in SDK4_ERROR
Example
CTRL_HANDLE hCtrl;
...
// load the factory settings:
SDK4LoadSettings (hCtrl, SDK4_ENUM_SETTINGS_FACTORYSETTINGS);
See also
SDK4DevGetControl
CTRL_HANDLE
SDK4_ENUM_SETTINGS
SDK4SaveSettings
SDK4SetStartupSettings
127
3.2.13.3 SDK4SetStartupSettings
This function selects either the default settings or one of the previously stored user defined settings, for the
camera to use at startup.
Parameters
hCtrl(CTRL_HANDLE )
The control handle of the device
uSetting (SDK4_ENUM_ SETTINGS)
the selected setting
Return value
Error code:
SDK4_ERR_SUCCESS (0) in case of no error
SDK4_ERR_ERROR (-1001) in case of unspecified error
one of the other error codes defined in SDK4_ERROR
Example
CTRL_HANDLE hCtrl;
...
// save current settings to user settings 1 and then declare them as
// startup settings:
SDK4SaveSettings (hCtrl, SDK4_ENUM_SETTINGS_USERSETTINGS1);
SDK4SetStartupSettings (hCtrl, SDK4_ENUM_SETTINGS_USERSETTINGS1);
See also
SDK4DevGetControl
CTRL_HANDLE
SDK4_ENUM_SETTINGS
SDK4SaveSettings
SDK4GetStartupSettings
128
3.2.13.4 SDK4GetStartupSettings
This function gets the currently selected startup setting.
Parameters
hCtrl(CTRL_HANDLE )
The control handle of the device
puSetting (SDK4_ENUM_ SETTINGS*)
the pointer to the setting
Return value
Error code:
SDK4_ERR_SUCCESS (0) in case of no error
SDK4_ERR_ERROR (-1001) in case of unspecified error
one of the other error codes defined in SDK4_ERROR
Example
CTRL_HANDLE hCtrl;
...
SDK4_ENUM_SETTINGS uSettings;
SDK4GetStartupSettings (hCtrl, &uSettings);
See also
SDK4DevGetControl
CTRL_HANDLE
SDK4_ENUM_SETTINGS
SDK4SaveSettings
SDK4SetStartupSettings
3.2.13.5 SDK4SetAccessMode
This function sets the Control Access to one of the modes defined in SDK4_ENUM_ACCESSMODE.
Parameters
hCtrl(CTRL_HANDLE )
The control handle of the device
kAccessMode (SDK4_KACCESSMODE)
the selected access mode
Return value
Error code:
SDK4_ERR_SUCCESS (0) in case of no error
SDK4_ERR_ERROR (-1001) in case of unspecified error
one of the other error codes defined in SDK4_ERROR
129
Remarks
There are 3 access modes, which are needed for different camera controlling functions (see
SDK4_ENUM_ACCESS).
Most of all controlling functions can be accessed, when the camera runs in SDK4_ENUM_ACCESS_USERMODE,
which is the default mode.
Some functions are only accessible in SDK4_ENUM_ACCESS_MAINTANANCEMODE, such as some of the
defectpixel functions.
Functions, which are only accessible in SDK4_ENUM_ACCESS_ADJUSTMODE, are only used by the
manufacturer.
For SDK4_ENUM_ACCESS_MAINTANANCEMODE and SDK4_ENUM_ACCESS_ADJUSTMODE different unlock
codes are needed. The unlock code for SDK4_ENUM_ACCESS_MAINTANANCEMODE is hex 1234.
Example
CTRL_HANDLE hCtrl;
...
// set the access mode of the camera to maintanace mode and switch
// the display of defect pixels on. Then switch access mode back to
// user mode:
SDK4_KACCESSMODE maintanaceMode = {SDK4_ENUM_ACCESS_MAINTANANCEMODE,
0x1234};
SDK4SetAccessMode(hCtrl, maintanaceMode);
SDK4SetDefectPixelShow(hCtrl, SDK4_ENUM_SWITCH_ON);
SDK4_KACCESSMODE userMode = {SDK4_ENUM_ACCESS_USERMODE, 0};
SDK4SetAccessMode(hCtrl, userMode);
See also
SDK4DevGetControl
CTRL_HANDLE
SDK4_KACCESSMODE
SDK4_ENUM_ACCESS
SDK4GetAccessMode
130
3.2.13.6 SDK4GetAccessMode
This function gets the current access mode of the camera.
Parameters
hCtrl(CTRL_HANDLE )
The control handle of the device
pkAccessMode (SDK4_KACCESSMODE*)
the pointer to the access mode
Return
Return value
Error code:
SDK4_ERR_SUCCESS (0) in case of no error
SDK4_ERR_ERROR (-1001) in case of unspecified error
one of the other error codes defined in SDK4_ERROR
Example
CTRL_HANDLE hCtrl;
...
SDK4_KACCESSMODE accessMode = new SDK4_KACCESSMODE();
SDK4GetAccessMode(hCtrl, &accessMode);
See also
SDK4DevGetControl
CTRL_HANDLE
SDK4_KACCESSMODE
SDK4_ENUM_ACCESS
SDK4SetAccessMode
131
3.2.13.7 SDK4GetOperationMode
This function gets the current operation mode of the camera.
Parameters
hCtrl(CTRL_HANDLE )
The control handle of the device
puMode (SDK4_ENUM_OPERATIONMODE*)
the pointer to the operation mode
Return value
Error code:
SDK4_ERR_SUCCESS (0) in case of no error
SDK4_ERR_ERROR (-1001) in case of unspecified error
one of the other error codes defined in SDK4_ERROR
Remarks
This function is used to receive information from the micro controller about the actual operation mode.
Example
CTRL_HANDLE hCtrl;
...
SDK4_ENUM_OPERATIONMODE opMode;
SDK4GetOperationMode (hCtrl, & opMode);
See also
SDK4DevGetControl
CTRL_HANDLE
SDK4_ENUM_OPERATIONMODE
3.2.14.1 SDK4MotorSetControl
This function is used to control the iris and the filter motor.
Parameters
hCtrl(CTRL_HANDLE )
The control handle of the device
uSelect (uint32_t)
the selected motor control address
uData (uint32_t)
the motor control data
132
Return value
Error code:
SDK4_ERR_SUCCESS (0) in case of no error
SDK4_ERR_ERROR (-1001) in case of unspecified error
one of the other error codes defined in SDK4_ERROR
Remarks
The value of uSelect is defined as the address of the motor control command. Some of these commands can be
used to control either the iris or the filter motor, others are motor independent.
The following table shows the addresses of all commands, by which data can be set to the motor control:
Command Address Value Iris Address Value Filter Address Value Iris + Filter
Filter
GotoPos 0x02
0x03
HomeLeft 0x04
0x05
HomeRight 0x06
0x07
StoreRight 0x08
0x09
StoreLeft 0x0A
0x0B
SetLeft 0x0C
0x0D
SetRight 0x0E
0x0F
StartCalibration 0x20
FilterOn 0x22
FilterOff 0x24
RampConfig 0x2A
The range of the data value depends on the selected command address.
Example
CTRL_HANDLE hCtrl;
...
// change the position of the iris motor to position 1000:
SDK4MotorSetControl (hCtrl, 0x02, 1000);
See also
SDK4DevGetControl
CTRL_HANDLE
SDK4MotorGetControl
3.2.14.2 SDK4MotorGetControl
This function is used to get control data from the iris and the filter motor.
133
Parameters
hCtrl(CTRL_HANDLE )
The control handle of the device
uSelect (uint32_t)
the selected motor control address
puData (uint32_t*)
the pointer to the motor control data
Return value
Error code:
SDK4_ERR_SUCCESS (0) in case of no error
SDK4_ERR_ERROR (-1001) in case of unspecified error
one of the other error codes defined in SDK4_ERROR
Remarks
The value of uSelect is defined as the address of the motor control command. Some of these commands can be
used to get control data either from the iris or the filter motor, others are motor independent.
The following table shows the addresses of all commands, which retrieve data from the motor control:
Command Address Value Iris Address Value Filter Address Value Iris + Filter
GetLeft 0x10
0x11
GetRight 0x12
0x13
GetActPos 0x14
0x15
GetVersion 0x16
GetStatus 0x18
IrisCorrection 0x28
Example
CTRL_HANDLE hCtrl;
...
// get the actual position of the iris motor:
uint32_t uPosition;
SDK4MotorGetControl (hCtrl, 0x14, &uPosition);
See also
SDK4DevGetControl
CTRL_HANDLE
SDK4MotorGetControl
134
3.3 Appendix
3.3.1.1 ENUM_DEVICE_ACCESS
This enumeration defines SDK4 types of device access.
enum ENUM_DEVICE_ACCESS
{
Open the device read only. All Port functions can only
read from the device:
DEVICEACCESS_READONLY =2,
Open the device in a way that other hosts/processes can
have read only access to the device. Device access level
is read/write for this process:
DEVICEACCESS_CONTROL =3,
Open the device in a way that only this host/process can
have access to the device. Device access level is
read/write for this process:
DEVICEACCESS_EXCLUSIVE =4
};
135
3.3.1.2 ENUM_PIXELFORMAT
This enumeration defines SDK4 pixel formats.
enum ENUM_PIXELFORMAT
{
PIXELFORMAT_RGB24 = 0x01180001,
PIXELFORMAT_RGB32 = 0x01200002,
PIXELFORMAT_YUV = 0x01100003,
PIXELFORMAT_UYVY = 0x0110000f,
PIXELFORMAT_Y8 = 0x00080004,
PIXELFORMAT_Y10 = 0x00100005,
PIXELFORMAT_Y12 = 0x00100006,
PIXELFORMAT_Y12P = 0x00100010,
PIXELFORMAT_Y12_MSB = 0x00100012,
PIXELFORMAT_Y14 = 0x00100007,
PIXELFORMAT_Y14_MSB = 0x00100013,
PIXELFORMAT_Y16 = 0x00100008,
PIXELFORMAT_Y12S = 0x02100009,
PIXELFORMAT_Y14S = 0x0210000a,
PIXELFORMAT_YUVS = 0x0310000c,
PIXELFORMAT_D8 = 0x00080014,
PIXELFORMAT_D12 = 0x0010000d,
PIXELFORMAT_D14 = 0x0010000e
};
136
3.3.1.3 ENUM_MEDIATYPE
This enumeration defines SDK4 types of device access.
enum ENUM_MEDIATYPE
{
MEDIATYPE_VIDEOFRAME =0,
MEDIATYPE_VIDEOSTREAM =1,
MEDIATYPE_AUDIOSTREAM =2
};
3.3.2.1 SDK4_ENUM_SWITCH
This enumeration defines SDK4 switch for “on” and “off” state.
enum SDK4_ENUM_SWITCH
{
SDK4_ENUM_SWITCH_OFF = 0,
SDK4_ENUM_SWITCH_ON = 1
};
3.3.2.2 SDK4_ENUM_EXPOSUREMODE
This enumeration defines SDK4 modes of exposure..
enum SDK4_ENUM_EXPOSUREMODE
{
H3XR_ENUM_EXPOSUREMODE_FREERUNNINGPARALLEL = 1,
H3XR_ENUM_EXPOSUREMODE_FRAMEONDEMAND = 2,
H3XR_ENUM_EXPOSUREMODE_ASYNCEXP = 3
};
137
3.3.2.3 SDK4_ENUM_AGC
This enumeration defines SDK4 modes of AGC.
enum SDK4_ENUM_AGC
{
H3XR_ENUM_AGC_OFF = 0,
H3XR_ENUM_AGC_ON = 1,
H3XR_ENUM_AGC_STOP = 2
};
3.3.2.4 SDK4_ENUM_COLORCODING
This enumeration defines SDK4 types of color coding in H3XR cameras.
enum SDK4_ENUM_COLORCODING
{
SDK4_ENUM_COLORCODING_Y14 = 6
};
3.3.2.5 SDK4_ENUM_IMAGEHOLD
This enumeration defines SDK4 modes of Image Hold.
enum SDK4_ENUM_IMAGEHOLD
{
SDK4_ENUM_IMAGEHOLD_LIVE = 0,
SDK4_ENUM_IMAGEHOLD_HOLD = 1
};
3.3.2.6 SDK4_ENUM_RECURSIVEFILTER
This enumeration defines SDK4 types of Recursive Filter Factors.
enum SDK4_ENUM_RECURSIVEFILTER
{
SDK4_ENUM_RECURSIVEFILTER_FACTOR1 = 0,
SDK4_ENUM_RECURSIVEFILTER_FACTOR2 = 1,
SDK4_ENUM_RECURSIVEFILTER_FACTOR4 = 2,
SDK4_ENUM_RECURSIVEFILTER_FACTOR8 = 3,
SDK4_ENUM_RECURSIVEFILTER_FACTOR16 = 4
};
138
3.3.2.7 SDK4_ENUM_OVERLAYSELECT
This enumeration defines SDK4 types of overlays.
enum SDK4_ENUM_OVERLAYSELECT
{
SDK4_ENUM_OVERLAYSELECT_LINEGENERATOR1 = 0,
SDK4_ENUM_OVERLAYSELECT_LINRGENERATOR2 = 1
};
3.3.2.8 SDK4_ENUM_LINESTYLE
This enumeration defines SDK4 types of overlay line styles.
enum SDK4_ENUM_LINESTYLE
{
SDK4_ENUM_LINESTYLE_SOLID = 0,
SDK4_ENUM_LINESTYLE_DASHED = 1
};
3.3.2.9 SDK4_ENUM_OVERLAYWIDTH
This enumeration defines SDK4 types of overlay line width.
enum SDK4_ENUM_OVERLAYWIDTH
{
SDK4_ENUM_OVERLAYWIDTH_PIXEL1 = 0,
SDK4_ENUM_OVERLAYWIDTH_PIXEL3 = 1,
SDK4_ENUM_OVERLAYWIDTH_PIXEL5 = 2,
SDK4_ENUM_OVERLAYWIDTH_PIXEL7 = 3
};
3.3.2.10 SDK4_ENUM_MFCOLOR
This enumeration defines SDK4 measure frame colors in H3XR cameras.
enum SDK4_ENUM_MFCOLOR
{
H3XR_ENUM_COLOR_GREY0 = 0,
H3XR_ENUM_COLOR_GREY25 = 1,
H3XR_ENUM_COLOR_GREY75 = 2,
H3XR_ENUM_COLOR_GREY100 = 3
};
3.3.2.11 SDK4_ENUM_PATTERNGENERATOR_SELECT
This enumeration defines SDK4 test pattern generators in H3XR cameras.
enum SDK4_ENUM_PATTERNGENERATOR_SELECT
{
H3XR_ENUM_PATTERNGENERATOR_PREPROCESSING = 0,
H3XR_ENUM_PATTERNGENERATOR_POSTPROCESSING = 1
};
139
3.3.2.12 SDK4_ENUM_PATTERN
This enumeration defines SDK4 types of test patterns in H3XR cameras.
enum SDK4_ENUM_PATTERN_BW
{
H3XR_ENUM_IMAGEDATA = 0,
H3XR_ENUM_GRAYSCALE = 1,
H3XR_ENUM_GRAYSCALEMARGIN = 2,
H3XR_ENUM_TRIANGLE4 = 3,
H3XR_ENUM_CONSUMER = 4,
H3XR_ENUM_RESOLUTION = 5,
H3XR_ENUM_GRAYRAMP = 6
};
3.3.2.13 SDK4_ENUM_SETTINGS
This enumeration defines SDK4 types of settings, which are stored in the EEPROM of the camera.
enum SDK4_ENUM_SETTINGS
{
SDK4_ENUM_SETTINGS_FACTORYSETTINGS = 0,
SDK4_ENUM_SETTINGS_USERSETTINGS1 = 1,
SDK4_ENUM_SETTINGS_USERSETTINGS2 = 2
};
3.3.2.14 SDK4_ENUM_ACCESSMODE
This enumeration defines SDK4 access modes.
enum SDK4_ENUM_ACCESSMODE
{
SDK4_ENUM_ACCESS_USERMODE = 0,
SDK4_ENUM_ACCESS_MAINTANANCEMODE = 1,
SDK4_ENUM_ACCESS_ADJUSTMODE = 2
};
3.3.2.15 SDK4_ENUM_OPERATIONMODE
This enumeration defines SDK4 operation modes.
enum SDK4_ENUM_OPERATIONMODE
{
SDK4_ENUM_OPERATION_BOOT = 0,
SDK4_ENUM_OPERATION_OPERATION = 1
};
140
3.3.2.16 SDK4_ENUM_ABC
This enumeration defines SDK4 ABC modes.
enum SDK4_ENUM_ABC
{
H3XR_ENUM_OFF = 0,
H3XR_ENUM_ON = 1,
H3XR_ENUM_STOP = 2
};
3.3.2.17 SDK4_ENUM_ABC_SELECT
This enumeration defines the selector ABC threshold output signals (XR-HIGH-EXT and XR-LOW-EXT).
enum SDK4_ENUM_ABC_SELECT
{
H3XR_ENUM_XRHIGH = 0,
H3XR_ENUM_XRLOW = 1
};
3.3.2.18 SDK4_ENUM_SHADINGSELECT
This enumeration defines the selector for the direction of Shading correction.
enum SDK4_ENUM_SHADINGSELECT
{
H3XR_ENUM_VTILT = 0,
H3XR_ENUM_HTILT = 1,
H3XR_ENUM_VDOME = 2,
H3XR_ENUM_HDOME = 3
};
3.3.2.19 SDK4_ENUM_DEFECTPIXEL_MODE
This enumeration defines the mode of a defect pixel.
enum SDK4_ENUM_DEFECTPIXEL_MODE
{
SDK4_ENUM_DEFECTPIXEL_COMPENSATION_OFF = 0,
SDK4_ENUM_DEFECTPIXEL_COMPENSATION_ON = 1,
SDK4_ENUM_DEFECTPIXEL_HIGHLIGHT = 2
};
141
3.3.2.20 SDK4_ENUM_HISTOEQUAL
This enumeration defines the histogram equalization modes.
3.3.3.1 SDK4_KOVERLAYSIZE
This structure defines SDK4 datatype of Overlay Size.
struct SDK4_KOVERLAYSIZE
{
uint32_t width;
uint32_t length;
};
3.3.3.2 SDK4_KSTYLE
This structure defines SDK4 datatype of Overlay Style.
struct SDK4_KSTYLE
{
uint32_t color;
uint32_t style;
};
3.3.3.3 SDK4_KSIZE
This structure defines SDK4 datatype of Image Size.
struct SDK4_KSIZE
{
uint32_t width;
uint32_t height;
};
142
3.3.3.4 SDK4_KPOSITION
This structure defines SDK4 datatype of Position (beginning at the upper left corner of the image).
struct SDK4_KPOSITION
{
uint32_t xPos;
uint32_t yPos;
};
3.3.3.5 SDK4_KCIRCULARPOSITION
This structure defines SDK4 datatype of Position (beginning at the center of the image).
struct SDK4_KCIRCULARPOSITION
{
int32_t xPos;
int32_t yPos;
};
3.3.3.6 SDK4_KVERSION
This structure defines SDK4 datatype of Version.
struct SDK4_KVERSION
{
uint32_t major;
uint32_t minor;
};
3.3.3.7 SDK4_KREVISION
This structure defines SDK4 datatype of Revision.
struct SDK4_KREVISION
{
uint32_t hardware;
uint32_t software;
};
3.3.3.8 SDK4_KACCESSMODE
This structure defines SDK4 datatype of Access Mode.
struct SDK4_KACCESSMODE
{
uint32_t mode;
uint32_t unlockCode;
};
143
3.3.3.9 SDK4_KMWCIRCLE
This structure defines SDK4 datatype of the circular measure window.
struct SDK4_KMWCIRCLE
{
uint32_t radius;
uint32_t width;
SDK4_KCIRCULARPOSITION center;
uint32_t vStretch;
};
3.3.3.10 SDK4_KDEFECTPIXELSELECT
This structure defines SDK4 datatype of the selector of defect pixels.
struct SDK4_KDEFECTPIXELSELECT
{
uint32_t pixelNumber;
uint32_t store;
};
3.3.3.11 SDK4_KDEFECTPIXEL
This structure defines SDK4 datatype, that characterizes a defect pixels.
struct SDK4_KDEFECTPIXEL
{
SDK4_KPOSITION pos;
SDK4_ENUM_DEFECTPIXEL_MODE mode;
};
3.3.4 Definitions
3.3.4.1 DEV_HANDLE
typedef void * DEV_HANDLE;
3.3.4.2 CTRL_HANDLE
typedef void * CTRL_HANDLE;
3.3.4.3 DS_HANDLE
typedef void * DS_HANDLE;
3.3.4.4 BUFFER_HANDLE
typedef void * BUFFER_HANDLE;
144
3.3.5 Error Codes
3.3.5.1 SDK4_ERROR
This enumeration defines SDK4 error types.
enum SDK4_ERROR
{
SDK4_ERR_SUCCESS = 0,
SDK4_ERR_ERROR = -1001,
SDK4_ERR_NOT_INITIALIZED = -1002,
SDK4_ERR_NOT_IMPLEMENTED = -1003,
SDK4_ERR_RESOURCE_IN_USE = -1004,
SDK4_ERR_ACCESS_DENIED = -1005,
SDK4_ERR_INVALID_HANDLE = -1006,
SDK4_ERR_INVALID_ID = -1007,
SDK4_ERR_NO_DATA = -1008,
SDK4_ERR_INVALID_PARAMETER = -1009,
SDK4_ERR_IO = -1010,
SDK4_ERR_TIMEOUT = -1011,
SDK4_ERR_CANTSETFEATURE = -1012,
SDK4_ERR_CANTGETFEATURE = -1013,
SDK4_ERR_OUTOFRANGE = -1014,
SDK4_ERR_DISABLED = -1015,
SDK4_ERR_ACQUISITIONRUNNING = -1016,
SDK4_ERR_INVALID_BUFFER_SIZE = -1201,
SDK4_ERR_INVALID_ADDRESS = -1202,
SDK4_ERR_INVALID_INTERFACE = -1203,
};
145