ic4 Namespace Reference

ic4 namespace More...

Namespaces

namespace PropId

Contains definitions for common device property identifiers.

Classes

struct BufferAllocator

Interface for custom image buffer allocators More...

class BufferPool

The buffer pool allows allocating additional buffers for use by the program. More...

class DeviceEnum

Device enumerator. More...

class DeviceInfo

Contains information about a video capture device. More...

class Display

Represents a display that can be used to display images. More...

struct DisplayStatistics

A structure containing display statistics. More...

class Error

This class to capture error information from library function calls. More...

class ExternalOpenGLDisplay

A specialized type of display able to render into an externally created OpenGL window. More...

class Grabber

Represents an opened video capture device, allowing device configuration and stream setup. More...

class IC4Exception

Exception thrown if an error occurs and exceptions are enabled for the failing function call. More...

class ImageBuffer

Represents an image buffer. More...

struct ImageType

Represents an image type, including pixel format and image dimensions. More...

struct InitLibraryConfig

The library initialization config structure. More...

class Interface

Represents a device interface. More...

class PropBoolean

Boolean properties represent a feature whose value is a simple on/off switch. More...

class PropCategory

Category properties define a tree-relationship between all properties in a property map. More...

class PropCommand

Command properties represent an action that can be performed by the device. More...

class PropEnumEntry

Represents an entry in a PropEnumeration. More...

class PropEnumeration

Enumeration properties represent a feature whose value is selected from a list of named entries. More...

class Property

Represents a property of a component, usually a video capture device. More...

class PropertyMap

Represents the property interface of a component, usually a video capture device. More...

class PropFloat

Float properties represent a feature whose value is a floating-point number. More...

class PropInteger

Integer properties represent a feature whose value is an integer number. More...

class PropRegister

Register properties have a value represented by raw bytes. More...

class PropString

String properties represent features whose value is a text. More...

class QueueSink

A sink implementation that allows a program to process all images received from a video capture device. More...

class QueueSinkListener

Abstract base class for QueueSink notifications. More...

struct SaveBitmapOptions

Contains image file storage options for bitmap files. More...

struct SaveJpegOptions

Contains image file storage options for Jpeg files. More...

struct SavePngOptions

Contains image file storage options for PNG files. More...

struct SaveTiffOptions

Contains image file storage options for TIFF files. More...

class Sink

Abstract base class for sinks. More...

class SnapSink

The snap sink is a sink implementation that allows a program to capture single images or sequences of images on demand, while still having a display showing all images. More...

class VideoWriter

Represents a video writer. More...

Typedefs

using  WindowHandle = c_interface::IC4_WINDOW_HANDLE

Type definition for parent window handles.

Enumerations

enum class   TransportLayerType { Unknown = c_interface::IC4_TLTYPE_UNKNOWN , GigEVision = c_interface::IC4_TLTYPE_GIGEVISION , USB3Vision = c_interface::IC4_TLTYPE_USB3VISION }

Contains the possible transport layer types. More...

enum class  DisplayType { Default = c_interface::IC4_DISPLAY_TYPE::IC4_DISPLAY_DEFAULT , Win32OpenGL = c_interface::IC4_DISPLAY_TYPE::IC4_DISPLAY_WIN32_OPENGL }

Defines the possible display types. More...

enum class  DisplayRenderPosition {
  TopLeft = c_interface::IC4_DISPLAY_RENDER_POSITION::IC4_DISPLAY_RENDER_POSITION_TOPLEFT , Center = c_interface::IC4_DISPLAY_RENDER_POSITION::IC4_DISPLAY_RENDER_POSITION_CENTER , StretchTopLeft = c_interface::IC4_DISPLAY_RENDER_POSITION::IC4_DISPLAY_RENDER_POSITION_STRETCH_TOPLEFT , StretchCenter = c_interface::IC4_DISPLAY_RENDER_POSITION::IC4_DISPLAY_RENDER_POSITION_STRETCH_CENTER ,
  Custom = c_interface::IC4_DISPLAY_RENDER_POSITION::IC4_DISPLAY_RENDER_POSITION_CUSTOM
}

Contains the possible display alignment and stretch modes. More...

enum class  ErrorHandlerBehavior { Ignore , Throw }

Specifies the default error handler behavior. More...

enum class  ErrorCode {
  NoError = c_interface::IC4_ERROR_NOERROR , Unknown = c_interface::IC4_ERROR_UNKNOWN , Internal = c_interface::IC4_ERROR_INTERNAL , InvalidOperation = c_interface::IC4_ERROR_INVALID_OPERATION ,
  OutOfMemory = c_interface::IC4_ERROR_OUT_OF_MEMORY , LibraryNotInitialized = c_interface::IC4_ERROR_LIBRARY_NOT_INITIALIZED , DriverError = c_interface::IC4_ERROR_DRIVER_ERROR , InvalidParameter = c_interface::IC4_ERROR_INVALID_PARAM_VAL ,
  ConversionNotSupported = c_interface::IC4_ERROR_CONVERSION_NOT_SUPPORTED , NoData = c_interface::IC4_ERROR_NO_DATA , GenICamFeatureNotFound = c_interface::IC4_ERROR_GENICAM_FEATURE_NOT_FOUND , GenICamDeviceError = c_interface::IC4_ERROR_GENICAM_DEVICE_ERROR ,
  GenICamTypeMismatch = c_interface::IC4_ERROR_GENICAM_TYPE_MISMATCH , GenICamAccessDenied = c_interface::IC4_ERROR_GENICAM_ACCESS_DENIED , GenICamNotImplemented = c_interface::IC4_ERROR_GENICAM_NOT_IMPLEMENTED , GenICamValueError = c_interface::IC4_ERROR_GENICAM_VALUE_ERROR ,
  GenICamChunkdataNotConnected = c_interface::IC4_ERROR_GENICAM_CHUNKDATA_NOT_CONNECTED , BufferTooSmall = c_interface::IC4_ERROR_BUFFER_TOO_SMALL , SinkTypeMismatch = c_interface::IC4_ERROR_SINK_TYPE_MISMATCH , SnapAborted = c_interface::IC4_ERROR_SNAP_ABORTED ,
  FileWriteError = c_interface::IC4_ERROR_FILE_FAILED_TO_WRITE_DATA , FileAccessDenied = c_interface::IC4_ERROR_FILE_ACCESS_DENIED , FilePathNotFound = c_interface::IC4_ERROR_FILE_PATH_NOT_FOUND , FileReadError = c_interface::IC4_ERROR_FILE_FAILED_TO_READ_DATA ,
  DeviceInvalid = c_interface::IC4_ERROR_DEVICE_INVALID , DeviceNotFound = c_interface::IC4_ERROR_DEVICE_NOT_FOUND , DeviceError = c_interface::IC4_ERROR_DEVICE_ERROR , Ambiguous = c_interface::IC4_ERROR_AMBIGUOUS ,
  ParseError = c_interface::IC4_ERROR_PARSE_ERROR , Timeout = c_interface::IC4_ERROR_TIMEOUT , Incomplete = c_interface::IC4_ERROR_INCOMPLETE , SinkNotConnected = c_interface::IC4_ERROR_SINK_NOT_CONNECTED ,
  ImageTypeMismatch = c_interface::IC4_ERROR_IMAGETYPE_MISMATCH , SinkAlreadyAttached = c_interface::IC4_ERROR_SINK_ALREADY_ATTACHED , SinkConnectAborted = c_interface::IC4_ERROR_SINK_CONNECT_ABORTED , HandlerAlreadyRegistered = c_interface::IC4_ERROR_HANDLER_ALREADY_REGISTERED ,
  HandlerNotFound = c_interface::IC4_ERROR_HANDLER_NOT_FOUND
}

Contains the possible error codes. More...

enum class  StreamSetupOption { AcquisitionStart , DeferAcquisitionStart }

Specifies whether ic4::Grabber::streamSetup() should enable acquisition after the stream was set up successfully. More...

enum class  PixelFormat : int32_t {
  Unspecified = c_interface::IC4_PIXEL_FORMAT_Unspecified , Mono8 = c_interface::IC4_PIXEL_FORMAT_Mono8 , Mono10p = c_interface::IC4_PIXEL_FORMAT_Mono10p , Mono12p = c_interface::IC4_PIXEL_FORMAT_Mono12p ,
  Mono16 = c_interface::IC4_PIXEL_FORMAT_Mono16 , BayerBG8 = c_interface::IC4_PIXEL_FORMAT_BayerBG8 , BayerBG10p = c_interface::IC4_PIXEL_FORMAT_BayerBG10p , BayerBG12p = c_interface::IC4_PIXEL_FORMAT_BayerBG12p ,
  BayerBG16 = c_interface::IC4_PIXEL_FORMAT_BayerBG16 , BayerGB8 = c_interface::IC4_PIXEL_FORMAT_BayerGB8 , BayerGB10p = c_interface::IC4_PIXEL_FORMAT_BayerGB10p , BayerGB12p = c_interface::IC4_PIXEL_FORMAT_BayerGB12p ,
  BayerGB16 = c_interface::IC4_PIXEL_FORMAT_BayerGB16 , BayerGR8 = c_interface::IC4_PIXEL_FORMAT_BayerGR8 , BayerGR10p = c_interface::IC4_PIXEL_FORMAT_BayerGR10p , BayerGR12p = c_interface::IC4_PIXEL_FORMAT_BayerGR12p ,
  BayerGR16 = c_interface::IC4_PIXEL_FORMAT_BayerGR16 , BayerRG8 = c_interface::IC4_PIXEL_FORMAT_BayerRG8 , BayerRG10p = c_interface::IC4_PIXEL_FORMAT_BayerRG10p , BayerRG12p = c_interface::IC4_PIXEL_FORMAT_BayerRG12p ,
  BayerRG16 = c_interface::IC4_PIXEL_FORMAT_BayerRG16 , BGRa8 = c_interface::IC4_PIXEL_FORMAT_BGRa8 , BGRa16 = c_interface::IC4_PIXEL_FORMAT_BGRa16 , BGR8 = c_interface::IC4_PIXEL_FORMAT_BGR8 ,
  Mono12Packed = c_interface::IC4_PIXEL_FORMAT_Mono12Packed , BayerBG12Packed = c_interface::IC4_PIXEL_FORMAT_BayerBG12Packed , BayerGB12Packed = c_interface::IC4_PIXEL_FORMAT_BayerGB12Packed , BayerGR12Packed = c_interface::IC4_PIXEL_FORMAT_BayerGR12Packed ,
  BayerRG12Packed = c_interface::IC4_PIXEL_FORMAT_BayerRG12Packed , YUV422_8 = c_interface::IC4_PIXEL_FORMAT_YUV422_8 , YCbCr422_8 = c_interface::IC4_PIXEL_FORMAT_YCbCr422_8 , YCbCr411_8_CbYYCrYY = c_interface::IC4_PIXEL_FORMAT_YCbCr411_8_CbYYCrYY ,
  YCbCr411_8 = c_interface::IC4_PIXEL_FORMAT_YCbCr411_8 , AnyBayer8 = c_interface::IC4_PIXEL_FORMAT_AnyBayer8 , AnyBayer10p = c_interface::IC4_PIXEL_FORMAT_AnyBayer10p , AnyBayer12p = c_interface::IC4_PIXEL_FORMAT_AnyBayer12p ,
  AnyBayer16 = c_interface::IC4_PIXEL_FORMAT_AnyBayer16 , Invalid = c_interface::IC4_PIXEL_FORMAT_Invalid
}

The pixel format defines the representation of pixels in an image. More...

enum class  LogLevel {
  Off = c_interface::IC4_LOG_OFF , Error = c_interface::IC4_LOG_ERROR , Warning = c_interface::IC4_LOG_WARN , Info = c_interface::IC4_LOG_INFO ,
  Debug = c_interface::IC4_LOG_DEBUG , Trace = c_interface::IC4_LOG_TRACE
}

Specifies the possible library log levels. More...

enum class  LogTarget { StdOut = c_interface::IC4_LOGTARGET_STDOUT , StdErr = c_interface::IC4_LOGTARGET_STDERR , File = c_interface::IC4_LOGTARGET_FILE , WinDebug = c_interface::IC4_LOGTARGET_WINDEBUG }

Defines the possible library log targets. More...

enum class  PropType {
  Invalid = c_interface::IC4_PROPERTY_TYPE::IC4_PROPTYPE_INVALID , Integer = c_interface::IC4_PROPERTY_TYPE::IC4_PROPTYPE_INTEGER , Float = c_interface::IC4_PROPERTY_TYPE::IC4_PROPTYPE_FLOAT , Enumeration = c_interface::IC4_PROPERTY_TYPE::IC4_PROPTYPE_ENUMERATION ,
  Boolean = c_interface::IC4_PROPERTY_TYPE::IC4_PROPTYPE_BOOLEAN , String = c_interface::IC4_PROPERTY_TYPE::IC4_PROPTYPE_STRING , Command = c_interface::IC4_PROPERTY_TYPE::IC4_PROPTYPE_COMMAND , Category = c_interface::IC4_PROPERTY_TYPE::IC4_PROPTYPE_CATEGORY ,
  Register = c_interface::IC4_PROPERTY_TYPE::IC4_PROPTYPE_REGISTER , Port = c_interface::IC4_PROPERTY_TYPE::IC4_PROPTYPE_PORT , EnumEntry = c_interface::IC4_PROPERTY_TYPE::IC4_PROPTYPE_ENUMENTRY
}

Defines the possible property types. More...

enum class  PropVisibility { Beginner = c_interface::IC4_PROPERTY_VISIBILITY::IC4_PROPVIS_BEGINNER , Expert = c_interface::IC4_PROPERTY_VISIBILITY::IC4_PROPVIS_EXPERT , Guru = c_interface::IC4_PROPERTY_VISIBILITY::IC4_PROPVIS_GURU , Invisible = c_interface::IC4_PROPERTY_VISIBILITY::IC4_PROPVIS_INVISIBLE }

Defines the possible property visibilities. More...

enum class  PropIntRepresentation {
  Linear = c_interface::IC4_PROPERTY_INT_REPRESENTATION::IC4_PROPINTREP_LINEAR , Logarithmic = c_interface::IC4_PROPERTY_INT_REPRESENTATION::IC4_PROPINTREP_LOGARITHMIC , Boolean = c_interface::IC4_PROPERTY_INT_REPRESENTATION::IC4_PROPINTREP_BOOLEAN , PureNumber = c_interface::IC4_PROPERTY_INT_REPRESENTATION::IC4_PROPINTREP_PURENUMBER ,
  HexNumber = c_interface::IC4_PROPERTY_INT_REPRESENTATION::IC4_PROPINTREP_HEXNUMBER , IPV4Address = c_interface::IC4_PROPERTY_INT_REPRESENTATION::IC4_PROPINTREP_IPV4ADDRESS , MACAddress = c_interface::IC4_PROPERTY_INT_REPRESENTATION::IC4_PROPINTREP_MACADDRESS
}

Defines the possible integer property representations. More...

enum class  PropFloatRepresentation { Linear = c_interface::IC4_PROPERTY_FLOAT_REPRESENTATION::IC4_PROPFLOATREP_LINEAR , Logarithmic = c_interface::IC4_PROPERTY_FLOAT_REPRESENTATION::IC4_PROPFLOATREP_LOGARITHMIC , PureNumber = c_interface::IC4_PROPERTY_FLOAT_REPRESENTATION::IC4_PROPFLOATREP_PURENUMBER }

Defines the possible float property representations. More...

enum class  PropDisplayNotation { Automatic = c_interface::IC4_PROPERTY_DISPLAY_NOTATION::IC4_PROPDISPNOTATION_AUTOMATIC , Fixed = c_interface::IC4_PROPERTY_DISPLAY_NOTATION::IC4_PROPDISPNOTATION_FIXED , Scientific = c_interface::IC4_PROPERTY_DISPLAY_NOTATION::IC4_PROPDISPNOTATION_SCIENTIFIC }

Defines the possible float property display notations. More...

enum class  PropIncrementMode { Increment = c_interface::IC4_PROPERTY_INCREMENT_MODE::IC4_PROPINCMODE_INCREMENT , ValueSet = c_interface::IC4_PROPERTY_INCREMENT_MODE::IC4_PROPINCMODE_VALUESET , None = c_interface::IC4_PROPERTY_INCREMENT_MODE::IC4_PROPINCMODE_NONE }

Defines the possible property increment modes for Integer and Float properties. More...

enum class  PngCompressionLevel {
  Auto = c_interface::IC4_PNG_COMPRESSION_AUTO , Low = c_interface::IC4_PNG_COMPRESSION_LOW , Medium = c_interface::IC4_PNG_COMPRESSION_MEDIUM , High = c_interface::IC4_PNG_COMPRESSION_HIGH ,
  Highest = c_interface::IC4_PNG_COMPRESSION_HIGHEST
}

Defines the possible PNG file compression levels. More...

enum class  SinkType { QueueSink = c_interface::IC4_SINK_TYPE_QUEUESINK , SnapSink = c_interface::IC4_SINK_TYPE_SNAPSINK }

Identifies the type of a sink. More...

enum class  VersionInfoFlags {
  Default = c_interface::IC4_VERSION_INFO_DEFAULT , All = c_interface::IC4_VERSION_INFO_ALL , IC4 = c_interface::IC4_VERSION_INFO_IC4 , Driver = c_interface::IC4_VERSION_INFO_DRIVER ,
  Plugins = c_interface::IC4_VERSION_INFO_PLUGINS
}

Contains retrievable version descriptions. More...

enum class  VideoWriterType { MP4_H264 = c_interface::IC4_VIDEO_WRITER_MP4_H264 , MP4_H265 = c_interface::IC4_VIDEO_WRITER_MP4_H265 }

Defines the available video writer types. More...

Detailed Description

ic4 namespace

Typedef Documentation

WindowHandle

typedef ic4::c_interface::IC4_WINDOW_HANDLE WindowHandle

Type definition for parent window handles.

Window handle representing parent window for displays or dialogs.

Enumeration Type Documentation

DisplayRenderPosition

enum class DisplayRenderPosition
strong

Contains the possible display alignment and stretch modes.

Enumerator
TopLeft

Display images unscaled at the top left corner of the window

Center

Display images unscaled an the center of the window

StretchTopLeft

Display images stretched at the top left corner of the window

StretchCenter

Display images stretched at the center of the window

Custom

Display images at custom coordinates

DisplayType

enum class DisplayType
strong

Defines the possible display types.

Enumerator
Default

Selects the platform's default display type.

For Windows, this is Win32OpenGL.

Win32OpenGL

Optimized OpenGL display for Windows platform.

ErrorCode

enum class ErrorCode
strong

Contains the possible error codes.

Enumerator
NoError

No error occurred, the operation was successful.

Unknown

An unknown error occurred.

Internal

An internal error (bug) occurred.

InvalidOperation

The operation is not valid in the current state.

OutOfMemory

Out of memory.

LibraryNotInitialized

initLibrary has not been not called.

DriverError

Device driver behaved unexpectedly.

InvalidParameter

An invalid parameter was passed in.

ConversionNotSupported

The operation would require an image format conversion that is not supported.

NoData

The requested data is not available.

GenICamFeatureNotFound

No matching GenICam feature found.

GenICamDeviceError

Error occured writing to device.

GenICamTypeMismatch

Attempted an operation on the wrong node type, e.g. command_execute on an integer.

GenICamAccessDenied

Tried to access a camera feature that is currently not accessible.

GenICamNotImplemented

Tried to access a feature that is not implemented by the current camera.

GenICamValueError

Tried to set an invalid value, e.g. out of range.

GenICamChunkdataNotConnected

Tried to read a value that is only available if chunk data is connected to the property map.

BufferTooSmall

A supplied buffer was too small to receive all available data.

SinkTypeMismatch

Tried to call a sink type-specific function on an instance of a different sink type.

SnapAborted

A snap operation was not completed, because the camera was stopped before all requested frames could be captured.

FileWriteError

Failed to write data to a file.

FileAccessDenied

Failed to write to a file, because the location was not writable.

FilePathNotFound

Failed to write to a file, because the path was invalid.

FileReadError

Failed to read data from a file.

DeviceInvalid

The device has become invalid (e. g. it was unplugged).

DeviceNotFound

The device was not found.

DeviceError

The device behaved unexpectedly.

Ambiguous

The parameter did not uniquely identify an item.

ParseError

There was an error parsing the parameter or file.

Timeout

The requested operation could not be completed before the timeout expired.

Incomplete

The operation was only partially successful, e.g. not all properties of the grabber could be restored.

SinkNotConnected

Sink is not yet connected.

ImageTypeMismatch

The passed buffer does not have the expected ImageType.

SinkAlreadyAttached

The sink passed in is already attached to another graph.

SinkConnectAborted

The sink's connect handler signaled an error.

HandlerAlreadyRegistered

Attempted to register the same notification handler twice.

HandlerNotFound

Attempted to use a non-existing notification handler.

ErrorHandlerBehavior

enum class ErrorHandlerBehavior
strong

Specifies the default error handler behavior.

Enumerator
Ignore

Ignores errors passed to ic4::Error::Default()

Throw

Throws errors passed to ic4::Error::Default() as ic4::IC4Exception.

LogLevel

enum class LogLevel
strong

Specifies the possible library log levels.

Enumerator
Off

Disable logging.

Error

Log only errors.

Warning

Log warnings and above.

Info

Log info and above.

Debug

Log debug and above.

Trace

Log trace and above.

LogTarget

enum class LogTarget
strong

Defines the possible library log targets.

Enumerator
StdOut

Log to stdout.

StdErr

Log to stderr.

File

Log to a file.

WinDebug

Log using OutputDebugString (Windows only)

PixelFormat

enum class PixelFormat : int32_t
strong

The pixel format defines the representation of pixels in an image.

Enumerator
Unspecified

Unspecified pixel format, used to partially define a image type.

Mono8

Monochrome 8-bit.

Mono10p

Monochrome 10-bit packed.

Mono12p

Monochrome 12-bit packed.

Mono16

Monochrome 16-bit.

BayerBG8

Bayer Blue-Green 8-bit.

BayerBG10p

Bayer Blue-Green 10-bit packed.

BayerBG12p

Bayer Blue-Green 12-bit packed.

BayerBG16

Bayer Blue-Green 16-bit.

BayerGB8

Bayer Green-Blue 8-bit.

BayerGB10p

Bayer Green-Blue 10-bit packed.

BayerGB12p

Bayer Green-Blue 12-bit packed.

BayerGB16

Bayer Green-Blue 16-bit.

BayerGR8

Bayer Green-Red 8-bit.

BayerGR10p

Bayer Green-Red 10-bit packed.

BayerGR12p

Bayer Green-Red 12-bit packed.

BayerGR16

Bayer Green-Red 16-bit.

BayerRG8

Bayer Red-Green 8-bit.

BayerRG10p

Bayer Red-Green 10-bit packed.

BayerRG12p

Bayer Red-Green 12-bit packed.

BayerRG16

Bayer Red-Green 16-bit.

BGRa8

Blue-Green-Red-alpha 8-bit.

BGRa16

Blue-Green-Red-alpha 16-bit.

BGR8

Blue-Green-Red 8-bit.

Mono12Packed

GigE Vision specific format, Monochrome 12-bit packed.

BayerBG12Packed

GigE Vision specific format, Bayer Blue-Green 12-bit packed.

BayerGB12Packed

GigE Vision specific format, Bayer Green-Blue 12-bit packed.

BayerGR12Packed

GigE Vision specific format, Bayer Green-Red 12-bit packed.

BayerRG12Packed

GigE Vision specific format, Bayer Red-Green 12-bit packed.

YUV422_8

YUV 4:2:2 8-bit.

YCbCr422_8

YCbCr 4:2:2 8-bit.

YCbCr411_8_CbYYCrYY

YCbCr 4:1:1 8-bit (CbYYCrYY)

YCbCr411_8

YCbCr 4:1:1 8-bit (YYCbYYCr)

AnyBayer8

Virtual pixel format value to select any 8-bit bayer format.

When setting the camera's ic4::PropId::PixelFormat to this value, automatically selects one of the 8-bit bayer pixel formats PixelFormat::BayerBG8, PixelFormat::BayerGB8, PixelFormat::BayerRG8 or PixelFormat::BayerGR8.

AnyBayer10p

Virtual pixel format value to select any 10-bit packed bayer format.

When setting the camera's ic4::PropId::PixelFormat to this value, automatically selects one of the 10-bit packed bayer pixel formats PixelFormat::BayerBG10p, PixelFormat::BayerGB10p, PixelFormat::BayerRG10p or PixelFormat::BayerGR10p.

AnyBayer12p

Virtual pixel format value to select any 12-bit packed bayer format.

When setting the camera's ic4::PropId::PixelFormat to this value, automatically selects one of the 12-bit packed bayer pixel formats PixelFormat::BayerBG12p, PixelFormat::BayerGB12p, PixelFormat::BayerRG12p, PixelFormat::BayerGR12p, PixelFormat::BayerBG12Packed, PixelFormat::BayerGB12Packed, PixelFormat::BayerRG12Packed or PixelFormat::BayerGR12Packed.

AnyBayer16

Virtual pixel format value to select any 16-bit bayer format.

When setting the camera's ic4::PropId::PixelFormat to this value, automatically selects one of the 16-bit bayer pixel formats PixelFormat::BayerBG16, PixelFormat::BayerGB16, PixelFormat::BayerRG16 or PixelFormat::BayerGR16.

Invalid

Invalid pixel format.

PngCompressionLevel

enum class PngCompressionLevel
strong

Defines the possible PNG file compression levels.

Higher compression levels can generate smaller files, but the compression can take more time.

Enumerator
Auto

Automatically select a compression level.

Low

Low compression.

Medium

Medium compression.

High

High compression.

Highest

Highest compression.

PropDisplayNotation

enum class PropDisplayNotation
strong

Defines the possible float property display notations.

Each float property has a display notation hint that can help creating more useful user interfaces.

Enumerator
Automatic

Use an automatic mechanism to determine the best display notation.

Fixed

Suggest fixed point notation.

Scientific

Suggest scientific notation.

PropFloatRepresentation

enum class PropFloatRepresentation
strong

Defines the possible float property representations.

Each float property has a representation hint that can help creating more useful user interfaces.

Enumerator
Linear

Suggest a slider to edit the value.

Logarithmic

Suggest a slider with logarithmic mapping.

PureNumber

Suggest displaying a number.

PropIncrementMode

enum class PropIncrementMode
strong

Defines the possible property increment modes for Integer and Float properties.

Enumerator
Increment

The property used a fixed step between valid values.

Use PropInteger::increment() or PropFloat::increment() to get the property's step size.

ValueSet

The property defines a set of valid values.

Use PropInteger::validValueSet() or PropFloat::validValueSet() to query the set of valid values.

None

The property allows setting all values between its minimum and maximum value.

This mode is only valid for Float properties.

Integer properties report increment 1 if they allow every possible value between their minimum and maximum value.

PropIntRepresentation

enum class PropIntRepresentation
strong

Defines the possible integer property representations.

Each integer property has a representation hint that can help creating more useful user interfaces.

Enumerator
Linear

Suggest a slider to edit the value.

Logarithmic

Suggest a slider with logarithmic mapping.

Boolean

Suggest a checkbox.

PureNumber

Suggest displaying a decimal number.

HexNumber

Suggest displaying a hexadecimal number.

IPV4Address

Suggest treating the integer as a IPV4 address.

MACAddress

Suggest treating the integer as a MAC address.

PropType

enum class PropType
strong

Defines the possible property types.

The property type defines the possible operations on a property and its data type.

Enumerator
Invalid

Not a valid property type, indicates an error.

Integer

Integer property.

Float

Float property.

Enumeration

Enumeration property.

Boolean

Boolean property.

String

String property.

Command

Command property.

Category

Category property.

Register

Register property.

Port

Port property.

EnumEntry

Enumeration entry property.

PropVisibility

enum class PropVisibility
strong

Defines the possible property visibilities.

Each property has a visibility hint that can be used to create user interfaces for different user types.

Enumerator
Beginner

Beginner visibility.

Expert

Expert visibility.

Guru

Guru visibility.

Invisible

Invisible.

SinkType

enum class SinkType
strong

Identifies the type of a sink.

Enumerator
QueueSink

Queue sink.

SnapSink

Snap sink.

StreamSetupOption

enum class StreamSetupOption
strong

Specifies whether ic4::Grabber::streamSetup() should enable acquisition after the stream was set up successfully.

Enumerator
AcquisitionStart

Start acquisition after the stream was set up.

This is equivalent to manually calling Grabber::acquisitionStart().

DeferAcquisitionStart

Do not start acquisition.

To acquire images, Grabber::acquisitionStart() must be called at a later time.

TransportLayerType

enum class TransportLayerType
strong

Contains the possible transport layer types.

Enumerator
Unknown

Other or unknown transport layer type.

GigEVision

The transport layer uses the GigE Vision standard.

USB3Vision

The transport layer uses the USB3 Vision standard.

VersionInfoFlags

enum class VersionInfoFlags
strong

Contains retrievable version descriptions.

Enumerator
Default

Give the most useful information.

All

Give as many information as possible.

IC4

Information about IC4 libraries.

Driver

Information about TIS GenTL provider.

Plugins

Information about IC4 plugins, like GStreamer or OpenGL.

VideoWriterType

enum class VideoWriterType
strong

Defines the available video writer types.

Enumerator
MP4_H264

Create MP4 files with H.264 encoding.

MP4_H265

Create MP4 files with H.265/HEVC encoding.

Function Documentation

exitLibrary()

void exitLibrary ( )
inline

This method should be called by the application, when the library should shut down.

If this function is not called, the library may seem to leak several objects and bytes, because the dump running objects call may happen before the library has been told to unload itself.

After calling exitLibrary no operation on the library is valid and so its effect is undefined.

getBitsPerPixel()

size_t getBitsPerPixel ( PixelFormat pixel_format)
inlinenoexcept

Returns the bits per pixel of a pixel format.

Parameters
[in]pixel_formatA pixel format
Returns
The bits required to store one pixel using the given pixel format.
The function returns 0 if the bits per pixel of the pixel format is unknown.

getVersionInfo()

std::string getVersionInfo ( VersionInfoFlags flags = VersionInfoFlags::Default,
Error & err = Error::Default()
)
inline

Retrieve IC4 version information.

Parameters
[in]flagsWhat version information to retrieve
[out]errReference to an error handler. See Error Handling for details.
Returns
std::string - string containing version information about IC4

imageBufferSaveAsBitmap() [1/2]

bool imageBufferSaveAsBitmap ( const ic4::ImageBuffer & buffer,
const char * file_path,
const SaveBitmapOptions & opt = {},
Error & err = Error::Default()
)
inline

Saves an image buffer as a Bitmap file.

Parameters
[in]bufferAn image buffer
[in]file_pathPath of the image file
[in]optOptions structure configuring the save operation
[out]errReference to an error handler. See Error Handling for details.
Returns
true on success, otherwise false.
Check the err output parameter for error code and error message.
Note
Depending on the pixel format of the image buffer, a transformation is applied before saving the image.
  • Monochrome pixel formats are converted to Mono8 and stored as a 8-bit monochrome bitmap file
  • Bayer, RGB and YUV pixel formats are converted to BGR8 and stored as a 24-bit color bitmap file

imageBufferSaveAsBitmap() [2/2]

bool imageBufferSaveAsBitmap ( const ic4::ImageBuffer & buffer,
const std::string & file_path,
const SaveBitmapOptions & opt = {},
Error & err = Error::Default()
)
inline

Saves an image buffer as a Bitmap file.

Parameters
[in]bufferAn image buffer
[in]file_pathPath of the image file
[in]optOptions structure configuring the save operation
[out]errReference to an error handler. See Error Handling for details.
Returns
true on success, otherwise false.
Check the err output parameter for error code and error message.
Note
Depending on the pixel format of the image buffer, a transformation is applied before saving the image.
  • Monochrome pixel formats are converted to Mono8 and stored as a 8-bit monochrome bitmap file
  • Bayer, RGB and YUV pixel formats are converted to BGR8 and stored as a 24-bit color bitmap file

imageBufferSaveAsJpeg() [1/2]

bool imageBufferSaveAsJpeg ( const ic4::ImageBuffer & buffer,
const char * file_path,
const SaveJpegOptions & opt = {},
Error & err = Error::Default()
)
inline

Saves an image buffer as a Jpeg file.

Parameters
[in]bufferAn image buffer
[in]file_pathPath of the image file
[in]optOptions structure configuring the save operation
[out]errReference to an error handler. See Error Handling for details.
Returns
true on success, otherwise false.
Check the err output parameter for error code and error message.
Note
Depending on the pixel format of the image buffer, a transformation is applied before saving the image.
  • Monochrome pixel formats are converted to Mono8 and stored as a monochrome jpeg file
  • Bayer, RGB and YUV pixel formats are converted to BGR8 stored as a color jpeg file

imageBufferSaveAsJpeg() [2/2]

bool imageBufferSaveAsJpeg ( const ic4::ImageBuffer & buffer,
const std::string & file_path,
const SaveJpegOptions & opt = {},
Error & err = Error::Default()
)
inline

Saves an image buffer as a Jpeg file.

Parameters
[in]bufferAn image buffer
[in]file_pathPath of the image file
[in]optOptions structure configuring the save operation
[out]errReference to an error handler. See Error Handling for details.
Returns
true on success, otherwise false.
Check the err output parameter for error code and error message.
Note
Depending on the pixel format of the image buffer, a transformation is applied before saving the image.
  • Monochrome pixel formats are converted to Mono8 and stored as a monochrome jpeg file
  • Bayer, RGB and YUV pixel formats are converted to BGR8 stored as a color jpeg file

imageBufferSaveAsPng() [1/2]

bool imageBufferSaveAsPng ( const ic4::ImageBuffer & buffer,
const char * file_path,
const SavePngOptions & opt = {},
Error & err = Error::Default()
)
inline

Saves an image buffer as a PNG file.

Parameters
[in]bufferAn image buffer
[in]file_pathPath of the image file
[in]optOptions structure configuring the save operation
[out]errReference to an error handler. See Error Handling for details.
Returns
true on success, otherwise false.
Check the err output parameter for error code and error message.
Note
Depending on the pixel format of the image buffer, a transformation is applied before saving the image.
  • Monochrome pixel formats with a bit depth higher than 8bpp are converted to Mono16 and stored as a monochrome PNG file with 16 bits per channel
  • Mono8 image buffers are stored as a monochrome PNG file with 8 bits per channel
  • Bayer formats with a bit depth higher than 8bpp are converted to BGRa16 and stored as a 4-channel PNG with 16 bits per channel
  • 8-bit Bayer, RGB and YUV pixel formats are converted to BGR8 stored as a 3-channel PNG file with 8 bits per channel

imageBufferSaveAsPng() [2/2]

bool imageBufferSaveAsPng ( const ic4::ImageBuffer & buffer,
const std::string & file_path,
const SavePngOptions & opt = {},
Error & err = Error::Default()
)
inline

Saves an image buffer as a PNG file.

Parameters
[in]bufferAn image buffer
[in]file_pathPath of the image file
[in]optOptions structure configuring the save operation
[out]errReference to an error handler. See Error Handling for details.
Returns
true on success, otherwise false.
Check the err output parameter for error code and error message.
Note
Depending on the pixel format of the image buffer, a transformation is applied before saving the image.
  • Monochrome pixel formats with a bit depth higher than 8bpp are converted to Mono16 and stored as a monochrome PNG file with 16 bits per channel
  • Mono8 image buffers are stored as a monochrome PNG file with 8 bits per channel
  • Bayer formats with a bit depth higher than 8bpp are converted to BGRa16 and stored as a 4-channel PNG with 16 bits per channel
  • 8-bit Bayer, RGB and YUV pixel formats are converted to BGR8 stored as a 3-channel PNG file with 8 bits per channel

imageBufferSaveAsTiff() [1/2]

bool imageBufferSaveAsTiff ( const ic4::ImageBuffer & buffer,
const char * file_path,
const SaveTiffOptions & opt = {},
Error & err = Error::Default()
)
inline

Saves an image buffer as a Tiff file.

Parameters
[in]bufferAn image buffer
[in]file_pathPath of the image file
[in]optOptions structure configuring the save operation
[out]errReference to an error handler. See Error Handling for details.
Returns
true on success, otherwise false.
Check the err output parameter for error code and error message.
Note
Depending on the pixel format of the image buffer, a transformation is applied before saving the image.
  • Monochrome pixel formats with a bit depth higher than 8bpp are converted to Mono16 and stored as a monochrome Tiff file with 16 bits per channel
  • Mono8 image buffers are stored as a monochrome Tiff file with 8 bits per channel
  • Bayer formats with a bit depth higher than 8bpp are converted to BGRa16 and stored as a 4-channel Tiff with 16 bits per channel
  • 8-bit Bayer, RGB and YUV pixel formats are converted to BGR8 stored as a 3-channel Tiff file with 8 bits per channel

imageBufferSaveAsTiff() [2/2]

bool imageBufferSaveAsTiff ( const ic4::ImageBuffer & buffer,
const std::string & file_path,
const SaveTiffOptions & opt = {},
Error & err = Error::Default()
)
inline

Saves an image buffer as a Tiff file.

Parameters
[in]bufferAn image buffer
[in]file_pathPath of the image file
[in]optOptions structure configuring the save operation
[out]errReference to an error handler. See Error Handling for details.
Returns
true on success, otherwise false.
Check the err output parameter for error code and error message.
Note
Depending on the pixel format of the image buffer, a transformation is applied before saving the image.
  • Monochrome pixel formats with a bit depth higher than 8bpp are converted to Mono16 and stored as a monochrome Tiff file with 16 bits per channel
  • Mono8 image buffers are stored as a monochrome Tiff file with 8 bits per channel
  • Bayer formats with a bit depth higher than 8bpp are converted to BGRa16 and stored as a 4-channel Tiff with 16 bits per channel
  • 8-bit Bayer, RGB and YUV pixel formats are converted to BGR8 stored as a 3-channel Tiff file with 8 bits per channel

initLibrary()

bool initLibrary ( const InitLibraryConfig & config = {})
inline

This function must be used to initialize the library.

Parameters
[in]configConfigures global library settings such as default error handler and logging.
Returns
true on success, otherwise false.

to_string() [1/2]

std::string to_string ( const ImageType & image_type,
Error & err = Error::Default()
)
inline

Creates a string representation for an image type.

Parameters
[in]image_typeAn image type
[out]errReference to an error handler. See Error Handling for details.
Returns
A string representation for image_type.
If no string representation could be created, an empty string is returned. Check the err output parameter for error code and error message.

to_string() [2/2]

std::string to_string ( PixelFormat fmt,
Error & err = Error::Default()
)
inline

Creates a string representation for a pixel format.

Parameters
[in]fmtA pixel format
[out]errReference to an error handler. See Error Handling for details.
Returns
A string representation for fmt.
If no string representation could be created, an empty string is returned. Check the err output parameter for error code and error message.