Impact Acquire SDK Python
CameraSettingsVirtualDevice Class Reference

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

Inheritance diagram for CameraSettingsVirtualDevice:
[legend]

Public Member Functions

 __init__ (self, *args)
 Constructs a new mvIMPACT.acquire.CameraSettingsVirtualDevice object.
 hObj (self)
 Returns a unique identifier for the component collection referenced by this object.
 restoreDefault (self)
 Restores the default for every component of this collection.

Properties

 aoiHeight = property(lib_mvIMPACT_acquire.BasicDeviceSettingsWithAOI_aoiHeight_get, doc=)
 An integer property defining the number of lines to capture.
 aoiMode = property(lib_mvIMPACT_acquire.CameraSettingsVirtualDevice_aoiMode_get, doc=)
 An enumerated integer property defining the used AOI mode for the image capture.
 aoiStartX = property(lib_mvIMPACT_acquire.BasicDeviceSettingsWithAOI_aoiStartX_get, doc=)
 An integer property defining the X-offset for each capture line.
 aoiStartY = property(lib_mvIMPACT_acquire.BasicDeviceSettingsWithAOI_aoiStartY_get, doc=)
 An integer property defining the Y-offset.
 aoiWidth = property(lib_mvIMPACT_acquire.BasicDeviceSettingsWithAOI_aoiWidth_get, doc=)
 An integer property defining the number of pixels to capture per line.
 basedOn = property(lib_mvIMPACT_acquire.BasicDeviceSettings_basedOn_get, doc=)
 A string property (read-only) containing the name of the setting this setting is based on.
 bayerMosaicParity = property(lib_mvIMPACT_acquire.CameraSettingsVirtualDevice_bayerMosaicParity_get, doc=)
 An enumerated integer property defining the Bayer attribute assigned to the generated test image.
 bufferPartCount = property(lib_mvIMPACT_acquire.CameraSettingsVirtualDevice_bufferPartCount_get, doc=)
 An integer property defining the number of buffer part to transmit in each request.
 channelBitDepth = property(lib_mvIMPACT_acquire.CameraSettingsVirtualDevice_channelBitDepth_get, doc=)
 An integer property defining the channel bit depth for certain test image generation modes.
 frameDelay_us = property(lib_mvIMPACT_acquire.CameraSettingsVirtualDevice_frameDelay_us_get, doc=)
 An integer property defining a delay in us before the 'captured' image is returned to the user.
 gain_dB = property(lib_mvIMPACT_acquire.CameraSettingsVirtualDevice_gain_dB_get, doc=)
 A float property defining the gain in dB to be applied to the test image.
 imageDirectory = property(lib_mvIMPACT_acquire.CameraSettingsVirtualDevice_imageDirectory_get, doc=)
 A string property defining the directory to capture images from.
 imageRequestTimeout_ms = property(lib_mvIMPACT_acquire.BasicDeviceSettings_imageRequestTimeout_ms_get, doc=)
 An integer property defining the maximum time to wait for an image in ms.
 imageType = property(lib_mvIMPACT_acquire.CameraSettingsVirtualDevice_imageType_get, doc=)
 An enumerated integer property defining what images shall be captured from hard disk.
 paddingX = property(lib_mvIMPACT_acquire.CameraSettingsVirtualDevice_paddingX_get, doc=)
 An integer property defining the padding(in bytes) in X-direction for certain test image generation modes.
 pixelFormat = property(lib_mvIMPACT_acquire.CameraSettingsBase_pixelFormat_get, doc=)
 An enumerated integer property defining the pixel format used to transfer the image data into the target systems host memory.
 tapsXGeometry = property(lib_mvIMPACT_acquire.CameraSettingsVirtualDevice_tapsXGeometry_get, doc=)
 An enumerated integer property defining the way this camera transmits the pixel data in X direction.
 tapsYGeometry = property(lib_mvIMPACT_acquire.CameraSettingsVirtualDevice_tapsYGeometry_get, doc=)
 An enumerated integer property defining the way this camera transmits the pixel data in Y direction.
 testImageBarWidth = property(lib_mvIMPACT_acquire.CameraSettingsVirtualDevice_testImageBarWidth_get, doc=)
 An integer property defining the width (in pixels) of the different bars in certain test modes.
 testMode = property(lib_mvIMPACT_acquire.CameraSettingsVirtualDevice_testMode_get, doc=)
 An enumerated integer property defining the test mode use to generate the dummy images.
 thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
 userData = property(lib_mvIMPACT_acquire.CameraSettingsVirtualDevice_userData_get, doc=)
 A string property that will be copied into the user data property of each request.

Detailed Description

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

Note
As this is a device driver meant for testing the interface an allowing to start the integration of Impact Acquire into an application, this class might change at ANY time! Changes in the virtual device driver might not be backward compatible!
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

◆ __init__()

__init__ ( self,
* args )

Constructs a new mvIMPACT.acquire.CameraSettingsVirtualDevice object.

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

Member Function Documentation

◆ hObj()

hObj ( self)
inherited

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()

restoreDefault ( self)
inherited

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.

Property Documentation

◆ aoiHeight

aoiHeight = property(lib_mvIMPACT_acquire.BasicDeviceSettingsWithAOI_aoiHeight_get, doc=)
staticinherited

An integer property defining the number of lines to capture.

◆ aoiMode

aoiMode = property(lib_mvIMPACT_acquire.CameraSettingsVirtualDevice_aoiMode_get, doc=)
static

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

This feature will only be visible, when the property mvIMPACT.acquire.CameraSettingsVirtualDevice.testMode is set to mvIMPACT.acquire.vdtmImageDirectory. Then this property will allow to enforce a certain image dimension ( mvIMPACT.acquire.camUser ) or to capture every image file in its original dimensions ( mvIMPACT.acquire.camFull ). Valid values for this property may be: mvIMPACT.acquire.camFull, mvIMPACT.acquire.camUser.

Since
2.11.9

◆ aoiStartX

aoiStartX = property(lib_mvIMPACT_acquire.BasicDeviceSettingsWithAOI_aoiStartX_get, doc=)
staticinherited

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

aoiStartY = property(lib_mvIMPACT_acquire.BasicDeviceSettingsWithAOI_aoiStartY_get, doc=)
staticinherited

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

aoiWidth = property(lib_mvIMPACT_acquire.BasicDeviceSettingsWithAOI_aoiWidth_get, doc=)
staticinherited

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

◆ basedOn

basedOn = property(lib_mvIMPACT_acquire.BasicDeviceSettings_basedOn_get, doc=)
staticinherited

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

Since
1.12.67

◆ bayerMosaicParity

bayerMosaicParity = property(lib_mvIMPACT_acquire.CameraSettingsVirtualDevice_bayerMosaicParity_get, doc=)
static

An enumerated integer property defining the Bayer attribute assigned to the generated test image.

When images are acquired via a directory, or a Bayer test pattern is generated this can be used to specify the Bayer parity. mvIMPACT.acquire.bmpUndefined will set the buffers Bayer attribute thus will result in a grey(mono) buffer being returned.

Valid values for this property may be: mvIMPACT.acquire.bmpUndefined, mvIMPACT.acquire.bmpGR, mvIMPACT.acquire.bmpRG, mvIMPACT.acquire.bmpBG, mvIMPACT.acquire.bmpGB.

◆ bufferPartCount

bufferPartCount = property(lib_mvIMPACT_acquire.CameraSettingsVirtualDevice_bufferPartCount_get, doc=)
static

An integer property defining the number of buffer part to transmit in each request.

This property is meant to test the multi-part buffer feature of Impact Acquire mainly. When set to 0 multi-part buffer handling is switched off. When set to a value greater than 0 the virtual device will transmit data in multi-part mode, meaning that mvIMPACT.acquire.Request.getBufferPartCount() will return a value larger than zero. Only when this is the case the properties belonging to the individual buffer parts are guaranteed to contain up to date data while then all properties whose name starts with image within that request might not.

Since
2.20.0

◆ channelBitDepth

channelBitDepth = property(lib_mvIMPACT_acquire.CameraSettingsVirtualDevice_channelBitDepth_get, doc=)
static

An integer property defining the channel bit depth for certain test image generation modes.

When mvIMPACT.acquire.CameraSettingsBase.pixelFormat is NOT set to mvIMPACT.acquire.ibpfAuto, this this property will become invisible.

When mvIMPACT.acquire.CameraSettingsVirtualDevice.testMode is set to mvIMPACT.acquire.vdtmMovingMonoRamp, mvIMPACT.acquire.vdtmMovingBayerDataRamp or mvIMPACT.acquire.vdtmBayerWhiteBalanceTestImage this property will allow to define the pixel format for the test image.

◆ frameDelay_us

frameDelay_us = property(lib_mvIMPACT_acquire.CameraSettingsVirtualDevice_frameDelay_us_get, doc=)
static

An integer property defining a delay in us before the 'captured' image is returned to the user.

◆ gain_dB

gain_dB = property(lib_mvIMPACT_acquire.CameraSettingsVirtualDevice_gain_dB_get, doc=)
static

A float property defining the gain in dB to be applied to the test image.

The formula for given gain_dB is

gain_x= 10 ^ (gain_dB/20)

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

◆ imageDirectory

imageDirectory = property(lib_mvIMPACT_acquire.CameraSettingsVirtualDevice_imageDirectory_get, doc=)
static

A string property defining the directory to capture images from.

This feature will only be visible, when the property mvIMPACT.acquire.CameraSettingsVirtualDevice.testMode is set to mvIMPACT.acquire.vdtmImageDirectory.

See mvIMPACT.acquire.CameraSettingsVirtualDevice.imageType to find out how to configure what kind of images shall be captured from disk.

◆ imageRequestTimeout_ms

imageRequestTimeout_ms = property(lib_mvIMPACT_acquire.BasicDeviceSettings_imageRequestTimeout_ms_get, doc=)
staticinherited

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.

◆ imageType

imageType = property(lib_mvIMPACT_acquire.CameraSettingsVirtualDevice_imageType_get, doc=)
static

An enumerated integer property defining what images shall be captured from hard disk.

This feature will only be visible, when the property mvIMPACT.acquire.CameraSettingsVirtualDevice.testMode is set to mvIMPACT.acquire.vdtmImageDirectory.

Valid values for this property may be: mvIMPACT.acquire.vditNone, mvIMPACT.acquire.vditBMP, mvIMPACT.acquire.vditPGM, mvIMPACT.acquire.vditPNG, mvIMPACT.acquire.vditJPG, mvIMPACT.acquire.vditTIFF, mvIMPACT.acquire.vditALL.

◆ paddingX

paddingX = property(lib_mvIMPACT_acquire.CameraSettingsVirtualDevice_paddingX_get, doc=)
static

An integer property defining the padding(in bytes) in X-direction for certain test image generation modes.

When mvIMPACT.acquire.CameraSettingsVirtualDevice.testMode is set to a mono format(not the weird packed ones!), mvIMPACT.acquire.vdtmMovingBayerDataRamp or mvIMPACT.acquire.vdtmBayerWhiteBalanceTestImage this property will allow to define the padding in bytes for each line. This will result in images where the line pitch differs from the width multiplied by the bytes per pixel value. E.g. a padding of 1 in X-direction and a width of 5 for a 16 bit mono format will result in a line pitch of 11 bytes(5*2 + 1).

◆ pixelFormat

pixelFormat = property(lib_mvIMPACT_acquire.CameraSettingsBase_pixelFormat_get, doc=)
staticinherited

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 may be: mvIMPACT.acquire.ibpfRaw, mvIMPACT.acquire.ibpfMono8, mvIMPACT.acquire.ibpfMono16, mvIMPACT.acquire.ibpfRGBx888Packed, mvIMPACT.acquire.ibpfYUV422Packed, mvIMPACT.acquire.ibpfRGBx888Planar, mvIMPACT.acquire.ibpfMono10, mvIMPACT.acquire.ibpfMono12, mvIMPACT.acquire.ibpfMono14, mvIMPACT.acquire.ibpfRGB888Packed, mvIMPACT.acquire.ibpfYUV444Planar, mvIMPACT.acquire.ibpfMono32, mvIMPACT.acquire.ibpfYUV422Planar, mvIMPACT.acquire.ibpfRGB101010Packed, mvIMPACT.acquire.ibpfRGB121212Packed, mvIMPACT.acquire.ibpfRGB141414Packed, mvIMPACT.acquire.ibpfRGB161616Packed, mvIMPACT.acquire.ibpfYUV422_UYVYPacked, mvIMPACT.acquire.ibpfMono12Packed_V2, mvIMPACT.acquire.ibpfYUV422_10Packed, mvIMPACT.acquire.ibpfYUV422_UYVY_10Packed, mvIMPACT.acquire.ibpfBGR888Packed, mvIMPACT.acquire.ibpfBGR101010Packed_V2, mvIMPACT.acquire.ibpfYUV444_UYVPacked, mvIMPACT.acquire.ibpfYUV444_UYV_10Packed, mvIMPACT.acquire.ibpfYUV444Packed, mvIMPACT.acquire.ibpfYUV444_10Packed, mvIMPACT.acquire.ibpfMono12Packed_V1, mvIMPACT.acquire.ibpfYUV411_UYYVYY_Packed, mvIMPACT.acquire.ibpfRGB888Planar, mvIMPACT.acquire.ibpfAuto.

◆ tapsXGeometry

tapsXGeometry = property(lib_mvIMPACT_acquire.CameraSettingsVirtualDevice_tapsXGeometry_get, doc=)
static

An enumerated integer property defining the way this camera transmits the pixel data in X direction.

Within the virtual device driver, modifying this property internally will only attach the corresponding attribute to the request buffer, thus might result in the tap sort filter to process the data. This is mainly meant for testing purposes.

Valid values for this property may be: mvIMPACT.acquire.cltxg1X, mvIMPACT.acquire.cltxg1X2, mvIMPACT.acquire.cltxg2X, mvIMPACT.acquire.cltxg2XE, mvIMPACT.acquire.cltxg2XM, mvIMPACT.acquire.cltxg1X3, mvIMPACT.acquire.cltxg3X, mvIMPACT.acquire.cltxg1X4, mvIMPACT.acquire.cltxg4X, mvIMPACT.acquire.cltxg2X2, mvIMPACT.acquire.cltxg2X2E, mvIMPACT.acquire.cltxg2X2M, mvIMPACT.acquire.cltxg4XE, mvIMPACT.acquire.cltxg1X8, mvIMPACT.acquire.cltxg8X, mvIMPACT.acquire.cltxg4X2, mvIMPACT.acquire.cltxg4X2E.

Since
2.5.2

◆ tapsYGeometry

tapsYGeometry = property(lib_mvIMPACT_acquire.CameraSettingsVirtualDevice_tapsYGeometry_get, doc=)
static

An enumerated integer property defining the way this camera transmits the pixel data in Y direction.

Within the virtual device driver, modifying this property internally will only attach the corresponding attribute to the request buffer, thus might result in the tap sort filter to process the data. This is mainly meant for testing purposes.

Valid values for this property may be: mvIMPACT.acquire.cltyg1Y, mvIMPACT.acquire.cltyg1Y2, mvIMPACT.acquire.cltyg2YE.

Since
2.5.2

◆ testImageBarWidth

testImageBarWidth = property(lib_mvIMPACT_acquire.CameraSettingsVirtualDevice_testImageBarWidth_get, doc=)
static

An integer property defining the width (in pixels) of the different bars in certain test modes.

◆ testMode

testMode = property(lib_mvIMPACT_acquire.CameraSettingsVirtualDevice_testMode_get, doc=)
static

An enumerated integer property defining the test mode use to generate the dummy images.

When mvIMPACT.acquire.CameraSettingsBase.pixelFormat is NOT set to mvIMPACT.acquire.ibpfAuto, this this property will become invisible.

Valid values for this property may be: mvIMPACT.acquire.vdtmMovingRGBx888PackedImage, mvIMPACT.acquire.vdtmMovingRGB888PackedImage, mvIMPACT.acquire.vdtmMovingRGBx888PlanarImage, mvIMPACT.acquire.vdtmMovingMonoRamp, mvIMPACT.acquire.vdtmMovingYUV422PackedRamp, mvIMPACT.acquire.vdtmMovingYUV422PlanarRamp, mvIMPACT.acquire.vdtmMovingRGB101010PackedImage, mvIMPACT.acquire.vdtmMovingRGB121212PackedImage, mvIMPACT.acquire.vdtmMovingRGB141414PackedImage, mvIMPACT.acquire.vdtmMovingRGB161616PackedImage, mvIMPACT.acquire.vdtmMovingBayerDataRamp, mvIMPACT.acquire.vdtmBayerWhiteBalanceTestImage, mvIMPACT.acquire.vdtmImageDirectory, mvIMPACT.acquire.vdtmLeakyPixelTestImageMono8Bayer, mvIMPACT.acquire.vdtmMovingYUV422_UYVYPackedRamp, mvIMPACT.acquire.vdtmHorizontalMonoRamp, mvIMPACT.acquire.vdtmVerticalMonoRamp, mvIMPACT.acquire.vdtmMovingVerticalMonoRamp, mvIMPACT.acquire.vdtmHorizontalMono12Packed_V2Ramp, mvIMPACT.acquire.vdtmMovingBGR888PackedImage, mvIMPACT.acquire.vdtmMovingYUV444PackedRamp, mvIMPACT.acquire.vdtmMovingYUV444_UYVPackedRamp, mvIMPACT.acquire.vdtmMovingBGRPacked_V2Image, mvIMPACT.acquire.vdtmEmptyMonoBuffer, mvIMPACT.acquire.vdtmHorizontalMono12Packed_V1Ramp, mvIMPACT.acquire.vdtmHorizontalBayer12Packed_V1Ramp, mvIMPACT.acquire.vdtmHorizontalBayer12Packed_V2Ramp, mvIMPACT.acquire.vdtmMovingYUV411_UYYVYY_PackedRamp, mvIMPACT.acquire.vdtmMovingRGB888PlanarImage, mvIMPACT.acquire.vdtmHotAndColdPixelTestImageBayer, mvIMPACT.acquire.vdtmHotAndColdPixelTestImageRGB888Packed.

◆ thisown

thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
static

◆ userData

userData = property(lib_mvIMPACT_acquire.CameraSettingsVirtualDevice_userData_get, doc=)
static

A string property that will be copied into the user data property of each request.

This e.g. can be used to assign a certain identifier to each image request.