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

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 the Width or Height 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 the ic4_prop_integer_* functions.
  • Float properties
    These are used to configure settings that are represented by floating-point numbers, such as the ExposureTime or AcquisitionFrameRate.
    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 the ic4_prop_float_* functions.
  • Command properties
    A command property represents an action that a device can execute.
    To interact with command properties, call one of the ic4_prop_command_* functions.
  • Boolean properties
    A boolean property is a simple on/off switch. To interact with boolean properties, call one of the ic4_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 the PixelFormat. To interact with enumeration properties, call one of the ic4_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 the ic4_prop_string_* functions.
    • Register properties
      Register properties represent fixed-length arrays of raw byte data. To interact with register properties, call one of the ic4_prop_register_* functions.
  • 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 the Root category. This tree can be used to structure user interfaces. To interact with category properties, call one of the ic4_prop_category_* functions.