Impact Acquire SDK C++
CameraSettingsBlueFOX Class Reference

mvBlueFOX related camera settings(Device specific interface layout only). More...

#include <mvIMPACT_acquire.h>

Inheritance diagram for CameraSettingsBlueFOX:
[legend]

Public Member Functions

 CameraSettingsBlueFOX (Device *pDev, const std::string &settingName="Base")
 Constructs a new mvIMPACT::acquire::CameraSettingsBlueFOX object.
 
AutoControlParametersgetAutoControlParameters (void)
 Provides access to the control parameters for AGC and AEC.
 
HDRControlgetHDRControl (void)
 Returns the mvIMPACT::acquire::HDRControl object associated with this setting.
 
HOBJ hObj (void) const
 Returns a unique identifier for the component collection referenced by this object.
 
const ComponentCollectionrestoreDefault (void) const
 Restores the default for every component of this collection.
 

Public Attributes

PropertyIDeviceAdvancedOptions advancedOptions
 An enumerated integer property defining a collection of advanced options that can be enabled or disabled.
 
PropertyI aoiHeight
 An integer property defining the number of lines to capture.
 
PropertyI aoiStartX
 An integer property defining the X-offset for each capture line.
 
PropertyI aoiStartY
 An integer property defining the Y-offset.
 
PropertyI aoiWidth
 An integer property defining the number of pixels to capture per line.
 
PropertyIAutoControlMode autoControlMode
 An enumerated integer property defining the auto control mode the device is operated in.
 
AutoControlParameters autoControlParameters
 Provides access to the control parameters for AGC and AEC.
 
PropertyIAutoExposureControl autoExposeControl
 An enumerated integer property, which represents the current mode the AEC (A utomatic E xpose C ontrol) is operated in.
 
PropertyIAutoGainControl autoGainControl
 An enumerated integer property, which represents the current mode the AGC (A utomatic G ain C ontrol) is operated in.
 
PropertyS basedOn
 A string property (read-only) containing the name of the setting this setting is based on.
 
PropertyICameraBinningMode binningMode
 An enumerated integer property defining the binning mode the camera is operated in.
 
PropertyI expose_us
 An integer property which defines the exposure time for an image in us.
 
PropertyICameraExposeMode exposeMode
 An enumerated integer property defining the exposure mode the camera sensor is operated in.
 
PropertyI exposeToFlashDelay_us
 An integer property defining the delay in us after signaling the sensor to start the expose and the output of the flash signal at the camera's digital output.
 
PropertyICameraFlashMode flashMode
 An enumerated integer property defining the behaviour of the flash output of the camera (if available).
 
PropertyI flashToExposeDelay_us
 An integer property defining the delay in us between the start of the flash signal output and the beginning of the expose period of the image sensor.
 
PropertyICameraFlashType flashType
 An enumerated integer property defining the type of the flash output of the camera (if available).
 
PropertyI frameDelay_us
 An integer property defining the delay in us between an external trigger event an the begin of the sensor exposure.
 
PropertyF gain_dB
 A float property defining the gain in dB.
 
PropertyI imageRequestTimeout_ms
 An integer property defining the maximum time to wait for an image in ms.
 
PropertyI lineDelay_clk
 An integer property defining the delay in clocks between two lines.
 
PropertyF offset_pc
 A float property defining the analogue sensor offset in percent of the allowed range (sensor specific).
 
PropertyI offsetAutoBlackLevel
 An integer property defining the digital value assumed as black.
 
PropertyIBlueFOXOffsetAutoBlackSpeed offsetAutoBlackSpeed
 An enumerated integer property defining the speed of the auto offset calibration circuit.
 
PropertyIAutoOffsetCalibration offsetAutoCalibration
 An enumerated integer property defining the offset calibration mode.
 
PropertyI offsetBlackLevel_pc
 An integer property defining the analogue sensor offset in percent of the allowed range (sensor specific).
 
PropertyF offsetCorrection_pc
 A float property defining and additional analogue sensor offset in percent of the allowed range (sensor specific) per color channel.
 
PropertyICameraPixelClock pixelClock_KHz
 An enumerated integer property defining the pixel clock of the camera sensor in KHz.
 
PropertyIImageBufferPixelFormat pixelFormat
 An enumerated integer property defining the pixel format used to transfer the image data into the target systems host memory.
 
PropertyIBoolean reverseX
 An enumerated integer property defining the behaviour of the Aoi reverse mode (if available).
 
PropertyIBoolean reverseY
 An enumerated integer property defining the behaviour of the Aoi reverse mode (if available).
 
PropertyIBlueFOXSensorTiming sensorTimingMode
 An enumerated integer property defining the current image sensor timing mode.
 
PropertyICameraShutterMode shutterMode
 An enumerated integer property defining the shutter mode to use.
 
PropertyICameraTestMode testMode
 An enumerated integer property defining the image transmission mode of the camera.
 
PropertyICameraTriggerMode triggerMode
 An enumerated integer property which defines what kind of trigger mode shall be used for an image acquisition.
 
PropertyICameraTriggerSource triggerSource
 An enumerated integer property defining where the trigger signal is expected to occur.
 

Protected Attributes

HOBJ m_hRoot
 

Detailed Description

mvBlueFOX related camera settings(Device specific interface layout only).

This class contains properties to control the way the image sensor of the mvBlueFOX behaves.

Note
This class will only be available if mvIMPACT::acquire::Device::interfaceLayout is set to mvIMPACT::acquire::dilDeviceSpecific before the device is opened.
Examples
ContinuousCaptureToAVIFile.cpp, DigitalIOs.cpp, DigitalIOs.legacy.cpp, SequenceCapture.cpp, and SequenceCapture.win32.cpp.

Constructor & Destructor Documentation

◆ CameraSettingsBlueFOX()

CameraSettingsBlueFOX ( Device * pDev,
const std::string & settingName = "Base" )
inlineexplicit

Constructs a new mvIMPACT::acquire::CameraSettingsBlueFOX object.

Parameters
[in]pDevA pointer to a mvIMPACT::acquire::Device object obtained from a mvIMPACT::acquire::DeviceManager object.
[in]settingNameThe name of the driver internal setting to access with this instance. A list of valid setting names can be obtained by a call to mvIMPACT::acquire::FunctionInterface::getAvailableSettings, new settings can be created with the function mvIMPACT::acquire::FunctionInterface::createSetting

Member Function Documentation

◆ getAutoControlParameters()

AutoControlParameters & getAutoControlParameters ( void )
inlineinherited

Provides access to the control parameters for AGC and AEC.

Note
These settings will only affect the image if mvIMPACT::acquire::CameraSettingsBlueDevice::autoGainControl, mvIMPACT::acquire::CameraSettingsBlueDevice::autoExposeControl or both are set to active.

◆ getHDRControl()

HDRControl & getHDRControl ( void )
inline

Returns the mvIMPACT::acquire::HDRControl object associated with this setting.

◆ hObj()

HOBJ hObj ( void ) const
inlineinherited

Returns a unique identifier for the component collection referenced by this object.

This handle will always reference an object of type mvIMPACT::acquire::ComponentList.

Returns
A unique identifier for the component referenced by this object.

◆ restoreDefault()

const ComponentCollection & restoreDefault ( void ) const
inlineinherited

Restores the default for every component of this collection.

Calling this function will restore the default value for every component belonging to this collection.

Note
The caller must have the right to modify the component. Otherwise an exception will be thrown.
Returns
A const reference to the component.

Member Data Documentation

◆ advancedOptions

An enumerated integer property defining a collection of advanced options that can be enabled or disabled.

This property is highly sensor dependent. Each sensor might offer a different sub set of the options offered. Only experienced users should work with this feature.

Valid values for this property are defined by the enumeration mvIMPACT::acquire::TDeviceAdvancedOptions.

◆ aoiHeight

PropertyI aoiHeight
inherited

An integer property defining the number of lines to capture.

◆ aoiStartX

PropertyI aoiStartX
inherited

An integer property defining the X-offset for each capture line.

Example: When setting this property to 5 the first pixel in each line of the resulting image will be pixel number 5 of each line transmitted by the camera.

◆ aoiStartY

PropertyI aoiStartY
inherited

An integer property defining the Y-offset.

Example: When setting this property to 5 the first line of the resulting image will be line number 5 of the image transmitted by the camera.

◆ aoiWidth

PropertyI aoiWidth
inherited

An integer property defining the number of pixels to capture per line.

◆ autoControlMode

PropertyIAutoControlMode autoControlMode
inherited

An enumerated integer property defining the auto control mode the device is operated in.

This property can be used to control the overall behaviour of the algorithms used for performing AEC (A utomatic E xpose C ontrol) or AGC (A utomatic G ain C ontrol). This could be done by the device itself thus e.g. even in the analog domain or e.g. by a software process in the driver. Each method will offer certain advantages and disadvantages and depending on the application the correct method can be selected.

Valid values for this property are defined by the enumeration mvIMPACT::acquire::TAutoControlMode.

Every device or even different models belonging to the same device family may support different auto control modes, thus it's crucial to query the valid modes for each device by reading the properties translation dictionary BEFORE trying to assign a certain value to this property.

◆ autoControlParameters

AutoControlParameters autoControlParameters
inherited

Provides access to the control parameters for AGC and AEC.

Note
These settings will only affect the image if mvIMPACT::acquire::CameraSettingsBlueDevice::autoGainControl, mvIMPACT::acquire::CameraSettingsBlueDevice::autoExposeControl or both are set to active.

◆ autoExposeControl

PropertyIAutoExposureControl autoExposeControl
inherited

An enumerated integer property, which represents the current mode the AEC (A utomatic E xpose C ontrol) is operated in.

The values used to capture the image, which are directly influenced by an activated AGC or AEC (e.g. the gain or the exposure time) will be returned as part of the result of the image request.

Valid values for this property are defined by the enumeration mvIMPACT::acquire::TAutoExposureControl.

Note
This property might not be supported by every device. Therefore always call the function mvIMPACT::acquire::Component::isValid to check if this property is available or not.

◆ autoGainControl

PropertyIAutoGainControl autoGainControl
inherited

An enumerated integer property, which represents the current mode the AGC (A utomatic G ain C ontrol) is operated in.

The values used to capture the image, which are directly influenced by an activated AGC or AEC (e.g. the gain or the exposure time) will be returned as part of the result of the image request.

Valid values for this property are defined by the enumeration mvIMPACT::acquire::TAutoGainControl.

Note
This property is not supported by every device. Therefore always call the function mvIMPACT::acquire::Component::isValid to check if this property is available or not.

◆ basedOn

PropertyS basedOn
inherited

A string property (read-only) containing the name of the setting this setting is based on.

Since
1.12.67

◆ binningMode

PropertyICameraBinningMode binningMode
inherited

An enumerated integer property defining the binning mode the camera is operated in.

By default the no binning will be performed.

Note
Not every camera will support every binning mode. To find out which binning modes are supported by your camera you can query the properties translation table with the functions mvIMPACT::acquire::PropertyICameraBinningMode::getTranslationDictString and mvIMPACT::acquire::PropertyICameraBinningMode::getTranslationDictValue C++ offers the more efficient function mvIMPACT::acquire::PropertyICameraBinningMode::getTranslationDict in addition to the functions mentioned above.

Valid values for this property are defined by the enumeration mvIMPACT::acquire::TCameraBinningMode.

◆ expose_us

PropertyI expose_us
inherited

An integer property which defines the exposure time for an image in us.

◆ exposeMode

PropertyICameraExposeMode exposeMode
inherited

An enumerated integer property defining the exposure mode the camera sensor is operated in.

Valid values for this property are defined by the enumeration mvIMPACT::acquire::TCameraExposeMode.

Note
Not every device will offer the same options. Check for valid modes by reading the properties translation dictionary with the functions mvIMPACT::acquire::PropertyICameraExposeMode::getTranslationDictString and mvIMPACT::acquire::PropertyICameraExposeMode::getTranslationDictValue. C++ offers the more efficient function mvIMPACT::acquire::PropertyICameraExposeMode::getTranslationDict in addition to the functions mentioned above.

◆ exposeToFlashDelay_us

PropertyI exposeToFlashDelay_us

An integer property defining the delay in us after signaling the sensor to start the expose and the output of the flash signal at the camera's digital output.

◆ flashMode

An enumerated integer property defining the behaviour of the flash output of the camera (if available).

If this property is set the cameras flash output (if available) will be pulsed during the exposure period of the sensor. In that case the pulse width will be equal to the exposure time.

Valid values for this property are defined by the enumeration mvIMPACT::acquire::TCameraFlashMode.

See also
mvIMPACT::acquire::CameraSettingsBlueFOX::flashToExposeDelay_us

◆ flashToExposeDelay_us

PropertyI flashToExposeDelay_us

An integer property defining the delay in us between the start of the flash signal output and the beginning of the expose period of the image sensor.

Note
This property is mainly provided for compatibility reasons. Previous versions of the mvBlueFOX driver produced a fixed delay of about 300 us between the beginning of the flash signal creation and the beginning of the sensors expose period. Newer versions of the driver do NOT produce this delay anymore which might cause a different illumination for applications using very intensive, short flash and expose times. Applications relying on the delay introduced in older driver versions should set this property to '300' by calling mvIMPACT::acquire::PropertyI::write.
See also
mvIMPACT::acquire::CameraSettingsBlueDevice::expose_us

◆ flashType

An enumerated integer property defining the type of the flash output of the camera (if available).

Depending of the camera sensor type (rolling shutter or frame shutter there well be different modes available

Valid values for this property are defined by the enumeration mvIMPACT::acquire::TCameraFlashType.

◆ frameDelay_us

PropertyI frameDelay_us
inherited

An integer property defining the delay in us between an external trigger event an the begin of the sensor exposure.

Note
This property is not supported by every device. Therefore always call the function mvIMPACT::acquire::Component::isValid to check if this property is available or not.

◆ gain_dB

PropertyF gain_dB
inherited

A float property defining the gain in dB.

The formula for given gain_dB is

gain_x= 10 ^ (gain_dB/20)
PropertyF gain_dB
A float property defining the gain in dB.
Definition mvIMPACT_acquire.h:19643

Example:

gain_x = 10 ^ (6/20) = 1.995

I.e. increasing the gain setting by 6dB corresponds to factor of 2.

The formula for given gain_x is

gain_dB = 20*log(gain_x) dB

Where:
gain_dB: Balluff gain value (logarithmic)
gain_x: multiplicative gain
^: power function

◆ imageRequestTimeout_ms

PropertyI imageRequestTimeout_ms
inherited

An integer property defining the maximum time to wait for an image in ms.

Attention
Since Impact Acquire 2.32.0 the default value for this property has been changed! See Calling 'imageRequestWaitFor' Never Returns / An Application No Longer Terminates After Upgrading To Impact Acquire 2.32.0 Or Greater for details.

When this property is set to 0 the timeout never elapses. If the timeout this property defines elapses the currently processed request will be returned to the user even if no data has been captured so far. The result structure of the request object should be examined in that case. Also this should be considered as an error from the users point of view in which case he should clean up the acquisition queue by calling mvIMPACT::acquire::FunctionInterface::imageRequestReset. Afterwards the capture loop can be restarted.

Note
It is crucial to understand that this is a timeout PER REQUEST! The timespan taken into account for the measurement starts when the driver begins to capture data into this particular buffer! So when queuing 4 buffers with a timeout of 3000 ms each and no data being transmitted by the device for any reason will cause the last buffer to time out 3000*4 = 12000 ms AFTER the buffer has been queued and the acquisition has been started as the driver will wait for up to 3 seconds for each buffer that is being processed. When the device sends data this timeout does not affect the runtime behaviour at all. No additional delay is introduced by it when everything runs as planned.

◆ lineDelay_clk

PropertyI lineDelay_clk

An integer property defining the delay in clocks between two lines.

Can be used to slow down the image readout the reduce the peak bandwidth required for the transfer.

◆ m_hRoot

HOBJ m_hRoot
protectedinherited

◆ offset_pc

PropertyF offset_pc
inherited

A float property defining the analogue sensor offset in percent of the allowed range (sensor specific).

This property influences the average grey level when no light reaches the sensor. mvBlueFOX specific: Changing its value will have no effect if mvIMPACT::acquire::CameraSettingsBlueFOX::offsetAutoCalibration is set to mvIMPACT::acquire::aocOn.

By default this value will be around 10 (if mvIMPACT::acquire::CameraSettingsBlueFOX::offsetAutoCalibration if set to mvIMPACT::acquire::aocOn). This means the average grey value for an image taken in a completely dark environment will be around 10. When setting mvIMPACT::acquire::CameraSettingsBlueFOX::offsetAutoCalibration to mvIMPACT::acquire::aocOff mvIMPACT::acquire::CameraSettingsBlueFOX::offset_pc can be used to modify this value.

The valid range for this property lies between -100% and +100%, whereas negative values will shifts the black level towards 0 and positive values to 255.

Note
This property might not be supported by every device. Therefore always call the function mvIMPACT::acquire::Component::isValid to check if this property is available or not.

◆ offsetAutoBlackLevel

PropertyI offsetAutoBlackLevel

An integer property defining the digital value assumed as black.

Modifying this property in rare cases might be useful to achieve a higher dynamic range for noise close to the black level.

Note
As the mvBlueFOX internally works with a 10 bit analog to digital conversion increasing this value by 4 will result in a black level increased by about 1 in the resulting 8 bit raw image delivered from the camera.

◆ offsetAutoBlackSpeed

An enumerated integer property defining the speed of the auto offset calibration circuit.

Valid values for this property are defined by the enumeration mvIMPACT::acquire::TBlueFOXOffsetAutoBlackSpeed.

◆ offsetAutoCalibration

PropertyIAutoOffsetCalibration offsetAutoCalibration

An enumerated integer property defining the offset calibration mode.

If this property is set to mvIMPACT::acquire::aocOff the offset can be adjusted manually by modifying the mvIMPACT::acquire::CameraSettingsBlueFOX::offset_pc and mvIMPACT::acquire::CameraSettingsBlueFOX::offsetCorrection_pc properties.

If set to mvIMPACT::acquire::aocOn the offset is approx. 10. That means, that the medium pixel count is 10, in case no light is falling on the sensor.

Valid values for this property are defined by the enumeration mvIMPACT::acquire::TAutoOffsetCalibration.

◆ offsetBlackLevel_pc

PropertyI offsetBlackLevel_pc

An integer property defining the analogue sensor offset in percent of the allowed range (sensor specific).

This property influences the average grey level when no light reaches the sensor.

Note
This property might not be supported by every device. Therefore always call the function mvIMPACT::acquire::Component::isValid to check if this property is available or not.

◆ offsetCorrection_pc

PropertyF offsetCorrection_pc

A float property defining and additional analogue sensor offset in percent of the allowed range (sensor specific) per color channel.

Together with value of the property mvIMPACT::acquire::CameraSettingsBlueDevice::offset_pc this property influences the average grey level when no light reaches the sensor.

This property stores 4 values.

  • The value at index 0 applies to the green component of the red-green rows of the bayer pattern
  • The value at index 1 applies to the red component of the bayer pattern
  • The value at index 2 applies to the green component of the blue-green rows of the bayer pattern
  • The value at index 3 applies to the blue component of the bayer pattern
Note
This property might not be supported by every device. Therefore always call the function mvIMPACT::acquire::Component::isValid to check if this property is available or not. In addition to that this property must be enabled explicitly by setting the advanced option bit mvIMPACT::acquire::daoEnablePerChannelOffsetCorrection of the property mvIMPACT::acquire::CameraSettingsBlueFOX::advancedOptions.
See also
mvIMPACT::acquire::CameraSettingsBlueDevice::offset_pc

◆ pixelClock_KHz

PropertyICameraPixelClock pixelClock_KHz
inherited

An enumerated integer property defining the pixel clock of the camera sensor in KHz.

Valid values for this property are defined by the enumeration mvIMPACT::acquire::TCameraPixelClock.

Note
Changing the pixel clock at runtime will have major impact on the overall behaviour of the camera. The pixel clock should therefore not be modified constantly during the execution of the application code. Whenever this property is changed, the next images captured should be skipped if a device works with an active auto offset calibration controller circuit as then the control circuits on the camera might need one to three images until all control loops are locked again.

Every device or even different models belonging to the same device family may support different pixel clocks, thus it's crucial to query the valid clock modes for each sensor by reading the properties translation dictionary.

◆ pixelFormat

PropertyIImageBufferPixelFormat pixelFormat
inherited

An enumerated integer property defining the pixel format used to transfer the image data into the target systems host memory.

Support for this property has been added in version 1.11.0 of Impact Acquire thus old driver versions will raise an exception if an application accesses the property without checking if the property is present.

By default this property will be set to mvIMPACT::acquire::ibpfAuto. This will result in the previous driver behaviour where depending on the various post processing steps that are enabled or disabled the driver will decide which transfer format will be used. However sometimes this could result in a transfer format, which is not ideal for the application (e.g. when a post processing step of the application needs RGBx888Packed but the systems bandwidth is limited the application might want to transfer the data in YUV422 packed and then use the fast format conversion algorithm in the driver). This can be achieved by explicitly setting mvIMPACT::acquire::CameraSettingsBase::pixelFormat to mvIMPACT::acquire::ibpfYUV422Packed and mvIMPACT::acquire::ImageDestination::pixelFormat to mvIMPACT::acquire::ibpfRGBx888Packed.

Note
Selecting a defined transfer format can in some cases result in certain filters (e.g. dark current, ...) to be switched of as then the filters themselves can no longer influence the transfer format, which is sometimes necessary as not every filter does support every input format. Also this property will contain only pixel formats, which are actually supported by the capture device, thus in most of the cases this will be a subset of the pixel formats defined by the enumeration defining this property.

Valid values for this property are defined by the enumeration mvIMPACT::acquire::TImageBufferPixelFormat.

◆ reverseX

PropertyIBoolean reverseX

An enumerated integer property defining the behaviour of the Aoi reverse mode (if available).

If this property is set the x-axis will be inverted by the sensor (if available).

Valid values for this property are defined by the enumeration mvIMPACT::acquire::TBoolean.

◆ reverseY

PropertyIBoolean reverseY

An enumerated integer property defining the behaviour of the Aoi reverse mode (if available).

If this property is set the y-axis will be inverted by the sensor (if available).

Valid values for this property are defined by the enumeration mvIMPACT::acquire::TBoolean.

◆ sensorTimingMode

PropertyIBlueFOXSensorTiming sensorTimingMode

An enumerated integer property defining the current image sensor timing mode.

Valid values for this property are defined by the enumeration mvIMPACT::acquire::TBlueFOXSensorTiming.

◆ shutterMode

An enumerated integer property defining the shutter mode to use.

Valid values for this property are defined by the enumeration mvIMPACT::acquire::TCameraShutterMode.

◆ testMode

PropertyICameraTestMode testMode
inherited

An enumerated integer property defining the image transmission mode of the camera.

If this property is set to mvIMPACT::acquire::ctmOff the 'normal' image captured by the cameras sensor will be transmitted. This is the default. To ensure correct operation the camera might define several test modes where some kind of well defined pattern will be transmitted.

Valid values for this property are defined by the enumeration mvIMPACT::acquire::TCameraTestMode. No every test mode will be supported by every device.

◆ triggerMode

PropertyICameraTriggerMode triggerMode
inherited

An enumerated integer property which defines what kind of trigger mode shall be used for an image acquisition.

Valid values for this property are defined by the enumeration mvIMPACT::acquire::TCameraTriggerMode.

Note
Not every device will support every trigger mode. To find out which trigger modes are supported by a specific device at runtime the properties translation dictionary should be queried.
Also the sensor specific part of this manual will contain a list of trigger modes that are available for this specific image sensor.

◆ triggerSource

An enumerated integer property defining where the trigger signal is expected to occur.

When working with hardware generated signals via mvIMPACT::acquire::RTCtrProgram objects this property should be set to mvIMPACT::acquire::ctsRTCtrl as otherwise the program will not affect the behaviour of the camera.

Valid values for this property are defined by the enumeration mvIMPACT::acquire::TCameraTriggerSource.