Impact Acquire SDK C++
CameraSettingsFrameGrabber Class Reference

A class to access frame grabber related camera settings(Device specific interface layout only) (deprecated. More...

#include <mvIMPACT_acquire.h>

Inheritance diagram for CameraSettingsFrameGrabber:
[legend]

Public Member Functions

 CameraSettingsFrameGrabber (Device *pDev, const std::string &settingName="Base")
 Constructs a new mvIMPACT::acquire::CameraSettingsFrameGrabber object.
 
unsigned int getTriggerControlCount (void) const
 Returns the number of mvIMPACT::acquire::TriggerControls available for this device.
 
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.
 
const TriggerControltriggerControl (const std::string &name) const
 Returns a const pointer to a mvIMPACT::acquire::TriggerControl object or NULL if the name passed to the function does not specify a valid trigger control.
 
const TriggerControltriggerControl (unsigned int nr) const
 Returns a const pointer to a mvIMPACT::acquire::TriggerControl object.
 
virtual ~CameraSettingsFrameGrabber ()
 

Public Attributes

PropertyIAcquisitionField acquisitionField
 An enumerated integer property defining which frame(s) of an interlaced video signal will be digitised or triggers the start of the acquisition.
 
PropertyI aoiHeight
 An integer property defining the number of lines to capture.
 
PropertyICameraAoiMode aoiMode
 An enumerated integer property defining the used AOI mode for the image 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.
 
PropertyS basedOn
 A string property (read-only) containing the name of the setting this setting is based on.
 
PropertyI contrast_pc
 An integer property defining the contrast value to be applied to the image data by the frame grabber in per cent.
 
PropertyF gain_dB
 A float property defining the gain in dB.
 
PropertyI hue_pc
 An integer property defining the hue value to be applied to the image data by the frame grabber in per cent.
 
PropertyI imageRequestTimeout_ms
 An integer property defining the maximum time to wait for an image in ms.
 
PropertyIInterlacedMode interlacedMode
 An enumerated integer property defining how the image from the camera shall be captured.
 
PropertyILineCounter lineCounter
 An enumerated integer property defining the way line counter information is handled by the device.
 
PropertyI luminance_pc
 An integer property defining the luminance value to be applied to the image data by the frame grabber in per cent.
 
PropertyI offset_mV
 An integer property defining the offset in milli-Volt.
 
PropertyIImageBufferPixelFormat pixelFormat
 An enumerated integer property defining the pixel format used to transfer the image data into the target systems host memory.
 
PropertyI saturation_pc
 An integer property defining the saturation value to be applied to the image data by the frame grabber in per cent.
 
PropertyIScanClock scanClock
 An enumerated integer property defining the scan clock mode used for the current acquisition.
 
PropertyI scanRate_kHz
 An integer property defining the current scan frequency of the capture device.
 
PropertyIDeviceScanRateMode scanRateMode
 An enumerated integer property defining the scan rate mode for this setting.
 
PropertyICameraSerialPortBaudRate serialPortBaudrate
 An enumerated integer property defining the baud rate of the serial communication port between frame grabber and camera.
 
PropertyI softwareTriggerPeriod_ms
 An integer property defining the software simulated trigger period.
 
PropertyIDeviceTriggerMode triggerMode
 An enumerated integer property defining the behaviour of the frame grabbers trigger input.
 
PropertyI type
 An enumerated integer property defining the camera description used for the image acquisition.
 

Protected Attributes

HOBJ m_hRoot
 

Detailed Description

A class to access frame grabber related camera settings(Device specific interface layout only) (deprecated.

Deprecated
Beginning with the release of 3.0.0 of Impact Acquire everything specifically related to frame grabber boards will be considered as deprecated and might be removed without further notice!

This class contains properties to control the way the a frame grabber behaves in connection with the connected camera.

Note
Not every frame grabber will support every property defined in this class. Please refer to the description of the individual properties and make heavy use of the function mvIMPACT::acquire::Component::isValid in order to check whether a property is available for the device.
This class will only be available if mvIMPACT::acquire::Device::interfaceLayout is set to mvIMPACT::acquire::dilDeviceSpecific before the device is opened.

Constructor & Destructor Documentation

◆ CameraSettingsFrameGrabber()

CameraSettingsFrameGrabber ( Device * pDev,
const std::string & settingName = "Base" )
explicit

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

[in] A pointer to a mvIMPACT::acquire::Device object obtained from a mvIMPACT::acquire::DeviceManager object. [in] The 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

◆ ~CameraSettingsFrameGrabber()

virtual ~CameraSettingsFrameGrabber ( )
inlinevirtual

Member Function Documentation

◆ getTriggerControlCount()

unsigned int getTriggerControlCount ( void ) const
inline

Returns the number of mvIMPACT::acquire::TriggerControls available for this device.

This might be 0 if the device either does not support this feature.

◆ 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.

◆ triggerControl() [1/2]

const TriggerControl * triggerControl ( const std::string & name) const
inline

Returns a const pointer to a mvIMPACT::acquire::TriggerControl object or NULL if the name passed to the function does not specify a valid trigger control.

Parameters
[in]nameThe name of the trigger control

◆ triggerControl() [2/2]

const TriggerControl * triggerControl ( unsigned int nr) const
inline

Returns a const pointer to a mvIMPACT::acquire::TriggerControl object.

If nr references an invalid pin an STL out_of_range exception will be thrown.

Parameters
[in]nrThe number of the trigger control

Member Data Documentation

◆ acquisitionField

PropertyIAcquisitionField acquisitionField

An enumerated integer property defining which frame(s) of an interlaced video signal will be digitised or triggers the start of the acquisition.

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

Note
This property will not be available for every frame grabber, so before using it, check if the property is available at all by calling mvIMPACT::acquire::Component::isValid. Accessing an invalid property will raise an exception!

◆ aoiHeight

PropertyI aoiHeight
inherited

An integer property defining the number of lines to capture.

◆ aoiMode

An enumerated integer property defining the used AOI mode for the image capture.

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

◆ 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.

◆ basedOn

PropertyS basedOn
inherited

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

Since
1.12.67

◆ contrast_pc

PropertyI contrast_pc

An integer property defining the contrast value to be applied to the image data by the frame grabber in per cent.

Note
This property will not be available for every frame grabber, so before using it, check if the property is available at all by calling mvIMPACT::acquire::Component::isValid. Accessing an invalid property will raise an exception!

◆ gain_dB

PropertyF gain_dB

A float property defining the gain in dB.

This is the gain applied during the analogue to digital conversion inside the frame grabber, not applied inside the camera.

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

Note
This property will not be available for every frame grabber, so before using it, check if the property is available at all by calling mvIMPACT::acquire::Component::isValid. Accessing an invalid property will raise an exception!

◆ hue_pc

PropertyI hue_pc

An integer property defining the hue value to be applied to the image data by the frame grabber in per cent.

Note
This property will not be available for every frame grabber, so before using it, check if the property is available at all by calling mvIMPACT::acquire::Component::isValid. Accessing an invalid property will raise an exception!

◆ 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.

◆ interlacedMode

PropertyIInterlacedMode interlacedMode

An enumerated integer property defining how the image from the camera shall be captured.

If a video signal is transmitted to the capture device in an interlaced format, the device can either capture each individual frame, or merge two frames together into a complete image.

This property will be invisible when the camera description selected by the property mvIMPACT::acquire::CameraSettingsFrameGrabber::type does define it property mvIMPACT::acquire::CameraDescriptionBase::interlacedType to be mvIMPACT::acquire::citNone as the decision whether an interlaced image shall be reconstructed from frames or left as individual frame is redundant if the video source transmits full frames only.

The visibility of a property can be checked by calling mvIMPACT::acquire::Component::isVisible

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

Note
This property will not be available for every frame grabber, so before using it, check if the property is available at all by calling mvIMPACT::acquire::Component::isValid. Accessing an invalid property will raise an exception!

◆ lineCounter

PropertyILineCounter lineCounter

An enumerated integer property defining the way line counter information is handled by the device.

This is interesting for line scan camera applications. Valid values for this property are defined by the enumeration mvIMPACT::acquire::TLineCounter.

Note
This property will not be available for every frame grabber, so before using it, check if the property is available at all by calling mvIMPACT::acquire::Component::isValid. Accessing an invalid property will raise an exception!

◆ luminance_pc

PropertyI luminance_pc

An integer property defining the luminance value to be applied to the image data by the frame grabber in per cent.

Note
This property will not be available for every frame grabber, so before using it, check if the property is available at all by calling mvIMPACT::acquire::Component::isValid. Accessing an invalid property will raise an exception!

◆ m_hRoot

HOBJ m_hRoot
protectedinherited

◆ offset_mV

PropertyI offset_mV

An integer property defining the offset in milli-Volt.

This is the analogue offset applied during the analogue to digital conversion inside the frame grabber, not applied inside the camera.

Note
This property will not be available for every frame grabber, so before using it, check if the property is available at all by calling mvIMPACT::acquire::Component::isValid. Accessing an invalid property will raise an exception!

◆ 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.

◆ saturation_pc

PropertyI saturation_pc

An integer property defining the saturation value to be applied to the image data by the frame grabber in per cent.

Note
This property will not be available for every frame grabber, so before using it, check if the property is available at all by calling mvIMPACT::acquire::Component::isValid. Accessing an invalid property will raise an exception!

◆ scanClock

PropertyIScanClock scanClock

An enumerated integer property defining the scan clock mode used for the current acquisition.

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

Note
This property will not be available for every frame grabber, so before using it, check if the property is available at all by calling mvIMPACT::acquire::Component::isValid. Accessing an invalid property will raise an exception! Digital frame grabbers will however NOT support this property.

◆ scanRate_kHz

PropertyI scanRate_kHz

An integer property defining the current scan frequency of the capture device.

This property is only visible if the mvIMPACT::acquire::CameraSettingsFrameGrabber::scanRateMode property is NOT in an auto mode.

Note
This property will not be available for every frame grabber, so before using it, check if the property is available at all by calling mvIMPACT::acquire::Component::isValid. Accessing an invalid property will raise an exception!

◆ scanRateMode

An enumerated integer property defining the scan rate mode for this setting.

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

Note
This property will not be available for every frame grabber, so before using it, check if the property is available at all by calling mvIMPACT::acquire::Component::isValid. Accessing an invalid property will raise an exception!

◆ serialPortBaudrate

An enumerated integer property defining the baud rate of the serial communication port between frame grabber and camera.

Currently this property is only available for CameraLink® frame grabbers.

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

Note
This property will not be available for every frame grabber, so before using it, check if the property is available at all by calling mvIMPACT::acquire::Component::isValid. Accessing an invalid property will raise an exception!

◆ softwareTriggerPeriod_ms

PropertyI softwareTriggerPeriod_ms

An integer property defining the software simulated trigger period.

When mvIMPACT::acquire::CameraSettingsFrameGrabber::triggerMode is set to mvIMPACT::acquire::dtmPeriodically this property defines the interval between two consecutive external trigger events simulated by the driver.

Currently this property is only available for mvTITAN and mvGAMMA frame grabbers.

Note
This property will not be available for every frame grabber, so before using it, check if the property is available at all by calling mvIMPACT::acquire::Component::isValid. Accessing an invalid property will raise an exception!

◆ triggerMode

An enumerated integer property defining the behaviour of the frame grabbers trigger input.

Note
Valid values for this property are defined by the enumeration mvIMPACT::acquire::TDeviceTriggerMode. However not every device will offer all these trigger modes but a subset of them. Valid trigger modes therefore can be found by reading the properties translation dictionary.
This property will not be available for every frame grabber, so before using it, check if the property is available at all by calling mvIMPACT::acquire::Component::isValid. Accessing an invalid property will raise an exception!

◆ type

PropertyI type

An enumerated integer property defining the camera description used for the image acquisition.

This property ALWAYS defines a translation dictionary containing a string representation and a numerical value for the camera descriptions available for the device. The string representation of the camera description will be built from the property name of the class this camera description belongs to (e.g. 'Standard', 'NonStandard' or 'CameraLink') and the name of the camera description itself. Assuming a the device can handle standard video cameras and a description for a camera named 'MyCCIRCamera' will therefore add 'Standard_MyCCIRCamera' and a unique numerical representation to the properties translation dictionary.