Properties
Functions used to query, read or change properties of a component, usually the video capture device. More...
Modules
Property Map Represents the property interface of a component, usually a video capture device. |
|
Property Objects Represents a property of a component, usually of a video capture device. |
|
Property Lists Property lists represent groups of properties. |
|
Property Identifiers A lot of common property identifiers are described here. |
Detailed Description
Functions used to query, read or change properties of a component, usually the video capture device.
Properties are accessed through a IC4_PROPERTY_MAP. For example, to get the property map for the device properties of the video capture device opened by a grabber, call ic4_grabber_device_get_property_map().
Each property is identified by a string identifier, for example ExposureTime
or Gain
. Many property identifiers are defined by the GenICam Standard Feature Naming Convention (SFNC), but devices can also have additional device-specific properties.
Each property has a display name, a description, a type, and visibility and availability information. The display name can be used in user interfaces to show a friendly name for the property, while the description can contain additional information about the property's meaning and/or usage.
There are functions to directly interact with properties, such as ic4_propmap_set_value_int64() or ic4_propmap_set_value_double() that can be used to quickly configure the value of a property with a known type and value.
Detailed property information and configuration is achieved through an object-oriented interface. To get create a property object (IC4_PROPERTY), call ic4_propmap_find(), passing the property's known identifier.
A property object can be interogated for generic property attributes, for example
- Its type (ic4_prop_get_type())
- Its display name (ic4_prop_get_display_name())
- Its description (ic4_prop_get_description())
Each type has different methods of interaction and can provide additional type-dependent information:
- Integer properties
These are used to configure settings that are represented by whole numbers, such as theWidth
orHeight
of the ROI that is being read out from the image sensor.
An integer property defines a minimum and maximum value as well as a stepping for valid values.
They can define additional additional attributes such as a, a unit or display hints.
To interact with integer properties, call one of theic4_prop_integer_*
functions. - Float properties
These are used to configure settings that are represented by floating-point numbers, such as theExposureTime
orAcquisitionFrameRate
.
A float property defines a minimum and maximum value as well as a stepping for valid values.
They can define additional additional attributes such as a unit or display hints.
To interact with float properties, call one of theic4_prop_float_*
functions. - Command properties
A command property represents an action that a device can execute.
To interact with command properties, call one of theic4_prop_command_*
functions. - Boolean properties
A boolean property is a simple on/off switch. To interact with boolean properties, call one of theic4_prop_boolean_*
functions. - Enumeration properties
Enumeration properties let the user choose from a set of valid values identified by a string or numeric value.
They are used to configure camera settings such as thePixelFormat
. To interact with enumeration properties, call one of theic4_prop_enum_*
functions. - String properties
String properties are mostly used to provide device information in text form. To interact with string properties, call one of theic4_prop_string_*
functions.- Register properties
Register properties represent fixed-length arrays of raw byte data. To interact with register properties, call one of theic4_prop_register_*
functions.
- Register properties
- Category properties
Category properties are a special properties without a value, but they contain links to other properties.
That way, they span a tree of properties starting from theRoot
category. This tree can be used to structure user interfaces. To interact with category properties, call one of theic4_prop_category_*
functions.