A base class for camera related settings(Device specific interface layout only).
More...
#include <mvIMPACT_acquire.h>
A base class for camera related settings(Device specific interface layout only).
This class acts as a base class for camera related settings. It only contains settings that are available for almost every device!
- Note
- This class will only be available if mvIMPACT::acquire::Device::interfaceLayout is set to mvIMPACT::acquire::dilDeviceSpecific before the device is opened.
- Examples
- CaptureToMegaBuffer.cpp, CaptureToOpenGLMemory.cpp, and ContinuousCapture.linux.cpp.
◆ CameraSettingsBase()
◆ hObj()
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()
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.
◆ aoiHeight
An integer property defining the number of lines to capture.
◆ aoiStartX
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
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
An integer property defining the number of pixels to capture per line.
◆ basedOn
A string property (read-only) containing the name of the setting this setting is based on.
- Since
- 1.12.67
◆ imageRequestTimeout_ms
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.
◆ m_hRoot
◆ pixelFormat
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.