Imaging Control 4 C++ Library 1.2.0
Loading...
Searching...
No Matches
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...
 

Functions

size_t getBitsPerPixel (PixelFormat pixel_format) noexcept
 Returns the bits per pixel of a pixel format.
 
std::string to_string (const ImageType &image_type, Error &err=Error::Default())
 Creates a string representation for an image type.
 
std::string to_string (PixelFormat fmt, Error &err=Error::Default())
 Creates a string representation for a pixel format.
 
bool initLibrary (const InitLibraryConfig &config={})
 This function must be used to initialize the library.
 
void exitLibrary ()
 This method should be called by the application, when the library should shut down.
 
bool imageBufferSaveAsBitmap (const ic4::ImageBuffer &buffer, const char *file_path, const SaveBitmapOptions &opt={}, Error &err=Error::Default())
 Saves an image buffer as a Bitmap file.
 
bool imageBufferSaveAsBitmap (const ic4::ImageBuffer &buffer, const std::string &file_path, const SaveBitmapOptions &opt={}, Error &err=Error::Default())
 Saves an image buffer as a Bitmap file.
 
bool imageBufferSaveAsPng (const ic4::ImageBuffer &buffer, const char *file_path, const SavePngOptions &opt={}, Error &err=Error::Default())
 Saves an image buffer as a PNG file.
 
bool imageBufferSaveAsPng (const ic4::ImageBuffer &buffer, const std::string &file_path, const SavePngOptions &opt={}, Error &err=Error::Default())
 Saves an image buffer as a PNG file.
 
bool imageBufferSaveAsTiff (const ic4::ImageBuffer &buffer, const char *file_path, const SaveTiffOptions &opt={}, Error &err=Error::Default())
 Saves an image buffer as a Tiff file.
 
bool imageBufferSaveAsTiff (const ic4::ImageBuffer &buffer, const std::string &file_path, const SaveTiffOptions &opt={}, Error &err=Error::Default())
 Saves an image buffer as a Tiff file.
 
bool imageBufferSaveAsJpeg (const ic4::ImageBuffer &buffer, const char *file_path, const SaveJpegOptions &opt={}, Error &err=Error::Default())
 Saves an image buffer as a Jpeg file.
 
bool imageBufferSaveAsJpeg (const ic4::ImageBuffer &buffer, const std::string &file_path, const SaveJpegOptions &opt={}, Error &err=Error::Default())
 Saves an image buffer as a Jpeg file.
 
std::string getVersionInfo (VersionInfoFlags flags=VersionInfoFlags::Default, Error &err=Error::Default())
 Retrieve IC4 version information.
 

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.