Balluff - BVS CA-SF Technical Documentation
|
For new applications or to set the device via ImpactControlCenter we recommend to use the GenICam interface layout as it allows the most flexible access to the device features.
After you've set the interface layout to GenICam (either programmed or using ImpactControlCenter), all GenICam controls of the device are available.
In ImpactControlCenter, you can see them in "Setting → Base → Camera → GenICam":
As you can see, there are some controls with and without the prefix "mv".
All those features are "camera based / device based" features which can also be accessed using the camera with other GenICam / USB3 Vision compliant third-party software.
The "Device Control" contains the features like
Feature name (acc. to SFNC) | Property name (acc. to Impact Acquire) | Description |
DeviceType | deviceType | Returns the device type. |
DeviceScanType | deviceScanType | Scan type of the sensor of the device. |
DeviceVendorName | deviceVendorName | Name of the manufacturer of the device. |
DeviceModelName | deviceModelName | Name of the device model. |
DeviceManufacturerInfo | deviceManufacturerInfo | Manufacturer information about the device. |
DeviceVersion | deviceVersion | Version of the device. |
DeviceFirmwareVersion | deviceFirmwareVersion | Firmware version of the device. |
DeviceSerialNumber | deviceSerialNumber | Serial number of the device. |
DeviceUserID | deviceUserID | User-programmable device identifier. |
DeviceTLVersionMajor | deviceTLVersionMajor | Major version of the transport layer of the device. |
DeviceTLVersionMinor | deviceTLVersionMinor | Minor version of the transport layer of the device. |
DeviceLinkSpeed | deviceLinkSpeed | Indicates the speed of transmission negotiated on the specified Link. |
DeviceTemperature | deviceTemperature | Device temperature. |
etc. |
related to the device and its sensor.
This control provides a bandwidth control feature . You have to select DeviceLinkThroughputLimit. Here you can set the maximum bandwidth in KBps.
Balluff offers also some information properties about the
The "Image Format Control" contains features like
Feature name (acc. to SFNC) | Property name (acc. to Impact Acquire) | Description |
SensorWidth | sensorWidth | Effective width of the sensor in pixels. |
SensorHeight | sensorHeight | Effective height of the sensor in pixels. |
SensorName | sensorName | Name of the sensor. |
Width | width | Width of the image provided by the device (in pixels). |
Height | height | Height of the image provided by the device (in pixels). |
BinningHorizontal, BinningVertical | binningHorizontal, binningVertical | Number of horizontal/vertical photo-sensitive cells to combine together. |
DecimationHorizontal, DecimationVertical | decimationHorizontal, decimationVertical | Sub-sampling of the image. This reduces the resolution (width) of the image by the specified decimation factor. |
TestPattern | testPattern | Selects the type of test image that is sent by the device. |
etc. |
related to the format of the transmitted image.
With TestPattern, for example, you can select the type of test image that is sent by the device. Here two special types are available:
Additionally, Balluff offers numerous additional features like:
The "Acquisition Control" contains features like
Feature name (acc. to SFNC) | Property name (acc. to Impact Acquire) | Description |
AcquisitionMode | acquisitionMode | Sets the acquisition mode of the device. The different modes configures a device to send
and can be used for asynchronously grabbing and sending image(s). It works with internal and external hardware trigger where the edge is selectable. The external trigger uses ImageRequestTimeout (ms) to time out.
|
AcquisitionStart | acquisitionStart | Starts the acquisition of the device. |
AcquisitionStop | acquisitionStop | Stops the acquisition of the device at the end of the current Frame. |
AcquisitionAbort | acquisitionAbort | Aborts the acquisition immediately. |
AcquisitionFrameRate | acquisitionFrameRate | Controls the acquisition rate (in Hertz) at which the frames are captured. Some cameras support a special internal trigger mode that allows more exact frame rates. This feature keeps the frame rate constant to an accuracy of +/-0.005 fps at 200 fps. This is achieved using frames with a length difference of up to 1 us. Please check in the sensor summary if this feature exists for the requested sensor. |
TriggerSelector | triggerSelector | Selects the type of trigger to configure. A possible option is mvTimestampReset. The use case about mvTimestampReset is available. |
TriggerOverlap[TriggerSelector] | triggerOverlap | Specifies the type trigger overlap permitted with the previous frame. TriggerOverlap is only intended for external trigger (which is usually non-overlapped: i.e. exposure and readout are sequentially). This leads to minimal latency / jitter between trigger and exposure. Maximum frame rate in triggered mode = frame rate of continuous mode This however leads to higher latency / jitter between trigger and exposure. A trigger will be not latched if it occurs before this moment (trigger is accurate in time). |
ExposureMode | exposureMode | Sets the operation mode of the exposure (or shutter). |
ExposureTime | exposureTime | Sets the exposure time (in microseconds) when ExposureMode is Timed and ExposureAuto is Off. |
ExposureAuto | exposureAuto | Sets the automatic exposure mode when ExposureMode is Timed. |
etc. |
related to the image acquisition, including the triggering mode.
Additionally, Balluff offers numerous additional features like:
For "Exposure Auto Mode", in ImpactControlCenter just select in "Exposure Auto" "Continuous". Afterwards, you have the possibility to set lower and upper limit, average gray combined with AOI setting:
The "Counter And Timer Control" is a powerful feature which Balluff/MATRIX VISION customers already know under the name Hardware Real-Time Controller (HRTC). Balluff/MATRIX VISION cameras provide:
Counter and Timers can be used, for example,
This achieves complete HRTC functionality which supports following applications:
The "Counter And Timer Control" contains features like
Feature name (acc. to SFNC) | Property name (acc. to Impact Acquire) | Description |
CounterSelector | counterSelector | Selects which counter to configure. |
CounterEventSource[CounterSelector] | counterEventSource | Selects the events that will be the source to increment the counter. |
CounterEventActivation[CounterSelector] | counterEventActivation | Selects the activation mode event source signal. |
etc. | ||
TimerSelector | timerSelector | Selects which timer to configure. |
TimerDuration[TimerSelector] | timerDuration | Sets the duration (in microseconds) of the timer pulse. |
TimerDelay[TimerSelector] | timerDelay | Sets the duration (in microseconds) of the delay. |
etc. |
related to the usage of programmable counters and timers.
Because there are many ways to use this feature, the list of use cases is long and not finished yet:
The "Analog Control" contains features like
Feature name (acc. to SFNC) | Property name (acc. to Impact Acquire) | Description |
GainSelector | gainSelector | Selects which gain is controlled by the various gain features. |
Gain[GainSelector] | gain | Controls the selected gain as an absolute physical value [in dB]. |
GainAuto[GainSelector] | gainAuto | Sets the automatic gain control (AGC) mode. |
GainAutoBalance | gainAutoBalance | Sets the mode for automatic gain balancing between the sensor color channels or taps. |
BlackLevelSelector | blackLevelSelector | Selects which black level is controlled by the various BlackLevel features. |
BlackLevel[BlackLevelSelector] | blackLevel | Controls the selected BlackLevel as an absolute physical value. |
BalanceWhiteAuto | balanceWhiteAuto | Controls the mode for automatic white balancing between the color channels. |
Gamma | gamma | Controls the gamma correction of pixel intensity. |
etc. |
related to the video signal conditioning in the analog domain.
Additionally, Balluff offers:
In ImpactControlCenter just select in "Gain Auto" (AGC) "Continuous". Afterwards, you have the possibility to set minimum and maximum limit combined with AOI setting:
The "Color Transformation Control" contains features like
Feature name (acc. to SFNC) | Property name (acc. to Impact Acquire) | Description |
ColorTransformationSelector | colorTransformationEnable | Activates the selected color transformation module. |
ColorTransformationSelector | colorTransformationSelector | Selects which color transformation module is controlled by the various color transformation features. |
ColorTransformationValue | colorTransformationValue | Represents the value of the selected Gain factor or Offset inside the transformation matrix. |
ColorTransformationValueSelector | colorTransformationValueSelector | Selects the gain factor or Offset of the Transformation matrix to access in the selected color transformation module. |
related to the control of the color transformation.
This control offers an enhanced color processing for optimum color fidelity using a color correction matrix (CCM) and enables
to be entered for RGBIN → RGBOUT transformation. This can be used to optimize specific colors or specific color temperatures.
Coefficients will be made available for sensor models and special requirements on demand.
The "Event Control" contains features like
Feature name (acc. to SFNC) | Property name (acc. to Impact Acquire) | Description |
EventSelector | eventSelector | Selects which Event to signal to the host application. |
EventNotification[EventSelector] | eventNotification | Activate or deactivate the notification to the host application of the occurrence of the selected Event. |
EventFrameTriggerData | eventFrameTriggerData | Category that contains all the data features related to the FrameTrigger event. |
EventFrameTrigger | eventFrameTrigger | Returns the unique identifier of the FrameTrigger type of event. |
EventFrameTriggerTimestamp | eventFrameTriggerTimestamp | Returns the timestamp of the AcquisitionTrigger event. |
EventFrameTriggerFrameID | eventFrameTriggerFrameID | Returns the unique identifier of the frame (or image) that generated the FrameTrigger event. |
EventExposureEndData | eventExposureEndData | Category that contains all the data features related to the ExposureEnd event. |
EventExposureEnd | eventExposureEnd | Returns the unique identifier of the ExposureEnd type of event. |
EventExposureEndTimestamp | eventExposureEndTimestamp | Returns the timestamp of the ExposureEnd Event. |
EventExposureEndFrameID | eventExposureEndFrameID | Returns the unique identifier of the frame (or image) that generated the ExposureEnd event. |
EventErrorData | eventErrorData | Category that contains all the data features related to the error event. |
EventError | eventError | Returns the unique identifier of the error type of event. |
EventErrorTimestamp | eventErrorTimestamp | Returns the timestamp of the error event. |
EventErrorFrameID | eventErrorFrameID | If applicable, returns the unique identifier of the frame (or image) that generated the error event. |
EventErrorCode | eventErrorCode | Returns an error code for the error(s) that happened. |
etc. |
related to the generation of Event notifications by the device.
The use case Working with Event Control shows how this control can be used.
The "Chunk Data Control" contains features like
Feature name (acc. to SFNC) | Property name (acc. to Impact Acquire) | Description |
ChunkModeActive | chunkModeActive | Activates the inclusion of chunk data in the payload of the image. |
ChunkSelector | chunkSelector | Selects which chunk to enable or control. |
ChunkEnable[ChunkSelector] | chunkEnable | Enables the inclusion of the selected chunk data in the payload of the image. |
ChunkImage | chunkImage | Returns the entire image data included in the payload. |
ChunkOffsetX | ChunkOffsetX | Returns the offset x of the image included in the payload. |
ChunkOffsetY | chunkOffsetY | Returns the offset y of the image included in the payload. |
ChunkWidth | chunkWidth | Returns the width of the image included in the payload. |
ChunkHeight | chunkHeight | Returns the height of the image included in the payload. |
ChunkPixelFormat | chunkPixelFormat | Returns the pixel format of the image included in the payload. |
ChunkTimestamp | chunkTimestamp | Returns the timestamp of the image included in the payload at the time of the FrameStart internal event. |
etc. |
related to the Chunk Data Control.
A description can be found in the image acquisition section of the Impact Acquire API manuals.
The "File Access Control" contains features like
Feature name (acc. to SFNC) | Property name (acc. to Impact Acquire) | Description |
FileSelector | fileSelector | Selects the target file in the device. |
FileOperationSelector[FileSelector] | fileOperationSelector | Selects the target operation for the selected file in the device. |
FileOperationExecute[FileSelector][FileOperationSelector] | fileOperationExecute | Executes the operation selected by FileOperationSelector on the selected file. |
FileOpenMode[FileSelector] | fileOpenMode | Selects the access mode in which a file is opened in the device. |
FileAccessBuffer | fileAccessBuffer | Defines the intermediate access buffer that allows the exchange. |
etc. |
related to the File Access Control that provides all the services necessary for generic file access of a device.
The use case Working with the UserFile section (Flash memory) shows how this control can be used.
The "Digital I/O Control" contains features like
Feature name (acc. to SFNC) | Property name (acc. to Impact Acquire) | Description |
LineSelector | lineSelector | Selects the physical line (or pin) of the external device connector to configure. |
LineMode[LineSelector] | lineMode | Controls if the physical Line is used to Input or Output a signal. |
UserOutputSelector | userOutputSelector | Selects which bit of the user output register will be set by UserOutputValue. |
UserOutputValue[UserOutputSelector] | userOutputValue | Sets the value of the bit selected by UserOutputSelector. |
etc. |
related to the control of the general input and output pins of the device.
Additionally, Balluff offers:
A description of these functions can be found in the use case Creating a debouncing filter at the inputs.
How you can test the digital inputs and outputs is described in "Testing The Digital Inputs" in the "Impact Acquire SDK GUI Applications" manual. The use case Creating synchronized acquisitions is a further example which shows you how to work with digital inputs and outputs.
The "Encoder Control" contains features like
Feature name (acc. to SFNC) | Property name (acc. to Impact Acquire) | Description |
EncoderSourceA | encoderSourceA | Selection of the A input line. |
EncoderSourceB | encoderSourceB | Selection of the B input line. |
EncoderMode [FourPhase] | encoderMode | The counter increments or decrements 1 for every full quadrature cycle. |
EncoderDivider | encoderDivider | Sets how many Encoder increment/decrements that are needed generate an encoder output signal. |
EncoderOutputMode | encoderOutputMode | Output signals are generated at all new positions in one direction. If the encoder reverses no output pulse are generated until it has again passed the position where the reversal started. |
EncoderValue | encoderValue | Reads or writes the current value of the position counter of the selected Encoder. Writing to EncoderValue is typically used to set the start value of the position counter. |
related to the usage if quadrature encoders.
The following figure explains the different EncoderOutputModes :
Additionally, the Encoder is also available as TriggerSource and as an EventSource.
A description of incremental encoder's principle can be found in the use case Processing triggers from an incremental encoder.
The purpose of a sequencer is to allow the user of a camera to define a series of feature sets for image acquisition which can consecutively be activated during the acquisition by the camera. Accordingly, the proposed sequence is configured by a list of parameter sets. Each of these sequencer sets contains the settings for a number of camera features. Similar to user sets, the actual settings of the camera are overwritten when one of these sequencer sets is loaded. The order in which the features are applied to the camera depends on the design of the vendor. It is recommended to apply all the image related settings to the camera, before the first frame of this sequence is captured. The sequencer sets can be loaded and saved by selecting them using SequencerSetSelector. The Execution of the sequencer is completely controlled by the device.
(quoted from the GenICam SFNC 2.3)
The index of the adjustable sequencer set is given by the SequencerSetSelector. The number of available sequencer sets is directly given by the range of this feature. The features which are actually part of a sequencer set are defined by the camera manufacturer. These features can be read by SequencerFeatureSelector and activated by SequencerFeatureEnable[SequencerFeatureSelector]. This configuration is the same for all Sequencer Sets. To configure a sequencer set the camera has to be switched into configuration mode by SequencerConfigurationMode. Then the user has to select the desired sequencer set he wants to modify with the SequencerSetSelector. After the user has changed all the needed camera settings it is possible to store all these settings within a selected sequencer set by executing SequencerSetSave[SequencerSetSelector]. The user can also read back these settings by executing SequencerSetLoad[SequencerSetSelector]. To permit a flexible usage, more than one possibility to go from one sequencer set to another can exist. Such a path is selected by SequencerPathSelector[SequencerSetSelector]. Each path and therefore the transition between different sequencer sets is based on a defined trigger and an aimed next sequencer set which is selectable by SequencerSetNext[SequencerSetSelector][SequencerPathSelector]. After the trigger occurs the settings of the next set are active. The trigger is defined by the features SequencerTriggerSource[SequencerSetSelector][SequencerPathSelector] and SequencerTriggerActivation[SequencerSetSelector][SequencerPathSelector]. The functions of these features are the same as TriggerSource and TriggerActivation. For a flexible sequencer implementation, the SequencerPathSelector[SequencerSetSelector] should be part of the sequencer sets.
(quoted from the GenICam SFNC 2.3)
The "Sequencer Control" contains features like
Feature name (acc. to SFNC) | Property name (acc. to Impact Acquire) | Description |
SequencerMode | sequencerMode | Controls if the sequencer mechanism is active. Possible values are:
|
SequencerConfigurationMode | sequencerConfigurationMode | Controls if the sequencer configuration mode is active. Possible values are:
|
SequencerFeatureSelector | sequencerFeatureSelector | Selects which sequencer features to control. The feature lists all the features that can be part of a device sequencer set. All the device's sequencer sets have the same features. Note that the name used in the enumeration must match exactly the device's feature name. |
SequencerFeatureEnable[SequencerFeatureSelector] | sequencerFeatureEnable | Enables the selected feature and make it active in all the sequencer sets. |
SequencerSetSelector | sequencerSetSelector | Selects the sequencer set to which further settings applies. |
SequencerSetSave | sequencerSetSave | Saves the current device state to the selected sequencer set selected by SequencerSetSelector. |
SequencerSetLoad | sequencerSetLoad | Loads the sequencer set selected by SequencerSetSelector in the device. Even if SequencerMode is Off, this will change the device state to the configuration of the selected set. |
SequencerSetActive | sequencerSetActive | Contains the currently active sequencer set. |
SequencerSetStart | sequencerSetStart | Sets the initial/start sequencer set, which is the first set used within a sequencer. |
SequencerPathSelector[SequencerSetSelector] | sequencerPathSelector | Selects to which branching path further path settings apply. |
SequencerSetNext | sequencerSetNext | Select the next sequencer set. |
SequencerTriggerSource | sequencerTriggerSource | Specifies the internal signal or physical input line to use as the sequencer trigger source. Values supported by Balluff/MATRIX VISION devices are:
Other possible values that might be supported by third party devices are:
|
SequencerTriggerActivation | sequencerTriggerActivation | Specifies the activation mode of the sequencer trigger. Supported values for UserOutput0 are:
|
The sequencer mode can be used to set a series of feature sets for image acquisition. The sets can consecutively be activated during the acquisition by the camera. The sequence is configured by a list of parameters sets.
The following features are currently available for using them inside the sequencer control:
Feature | Note | Changeable during runtime |
BinningHorizontal | - | |
BinningVertical | - | |
CounterDuration | Can be used to configure a certain set of sequencer parameters to be applied for the next CounterDuration frames. | since Firmware version 2.15 |
DecimationHorizontal | - | |
DecimationVertical | - | |
ExposureTime | since Firmware version 2.15 | |
Gain | since Firmware version 2.15 | |
Height | since Firmware version 2.36 | |
OffsetX | since Firmware version 2.35 | |
OffsetY | since Firmware version 2.35 | |
Width | since Firmware version 2.36 | |
mvUserOutput | - | |
UserOutputValueAll | - | |
UserOutputValueAllMask | - | |
Multiple conditional sequencer paths | - |
Actual settings of the camera are overwritten when a sequencer set is loaded.
Examples
section of the Impact Acquire C++ APIThe "Transport Layer Control" contains features like
Feature name (acc. to SFNC) | Property name (acc. to Impact Acquire) | Description |
PayloadSize | payloadSize | Provides the number of bytes transferred for each image or chunk on the stream channel. |
etc. |
related to the Transport Layer Control.
The "User Set Control" contains features like
Feature name (acc. to SFNC) | Property name (acc. to Impact Acquire) | Description |
UserSetSelector | userSetSelector | Selects the feature user set to load, save or configure. |
UserSetLoad[UserSetSelector] | userSetLoad | Loads the user set specified by UserSetSelector to the device and makes it active. |
UserSetSave[UserSetSelector] | userSetSave | Endianess of the device registers. |
UserSetDefault | userSetDefault | Selects the feature user set to load and make active when the device is reset. |
related to the User Set Control to save and load the user device settings.
The camera allows the storage of up to four configuration sets in the camera. This feature is similar to storing settings in the registry but this way in the camera. It is possible to store
permanently. You can select, which user set comes up after hard reset.
Use case related to the "User Set Control" is:
Another way to create user data is described here: Creating user data entries
The "mv Logic Gate Control" contains features like
Feature name (acc. to SFNC) | Property name (acc. to Impact Acquire) | Description |
mvLogicGateANDSelector | Selects the AND gate to configure. | |
mvLogicGateANDSource1 | Selects the first input signal of the AND gate selected by mvLogicGateANDSelector. | |
mvLogicGateANDSource2 | Selects the second input signal of the AND gate selected by mvLogicGateANDSelector. | |
mvLogicGateORSelector | Selects the OR gate to configure. | |
mvLogicGateORSource1 | Selects the first input signal of the OR gate selected by mvLogicGateORSelector. | |
mvLogicGateORSource2 | Selects the second input signal of the OR gate selected by mvLogicGateORSelector. | |
mvLogicGateORSource3 | Selects the third input signal of the OR gate selected by mvLogicGateORSelector. | |
mvLogicGateORSource4 | Selects the fourth input signal of the OR gate selected by mvLogicGateORSelector. |
related to control the devices Logic Gate Control parameters. It performs a logical operation on one or more logic inputs and produces a single logic output.
The use case Creating different exposure times for consecutive images shows how you can create different exposure times with timers, counters and the logic gate functionality.
The "mv FFC Control" contains features like
Feature name (acc. to SFNC) | Property name (acc. to Impact Acquire) | Description |
mvFFCEnable | Enables the flat field correction. | |
mvFFCCalibrationImageCount | The number of images to use for the calculation of the correction image. | |
mvFFCCalibrate | Starts the calibration of the flat field correction. |
related to control the devices Flat Field Correction parameters.
The use case shows how this control can be used.
The "mv Serial Interface Control" contains features like
Feature name (acc. to SFNC) | Property name (acc. to Impact Acquire) | Description |
mvSerialInterfaceMode | States the interface mode of the serial interface. | |
mvSerialInterfaceEnable | Controls whether the serial interface is enabled or not. | |
mvSerialInterfaceBaudRate | Serial interface clock frequency. | |
mvSerialInterfaceASCIIBuffer | Buffer for exchanging ASCII data over serial interface. | |
mvSerialInterfaceWrite | Command to write data from the serial interface. | |
mvSerialInterfaceRead | Command to read data from the serial interface. | |
etc. |
related to control the devices Serial Interface Control parameters. It enables the camera to be controlled via serial interface.
The use case Working With The Serial Interface (mv Serial Interface Control) shows how you can work with the serial interface control.
The "mv I2C Interface Control" contains features like
Feature name (acc. to SFNC) | Property name (acc. to Impact Acquire) | Description |
mvI2CInterfaceEnable | Controls whether the I2C interface is enabled or not. | |
mvI2CInterfaceDeviceAddress | I2C interface device address. | |
mvI2CInterfaceDeviceSubAddress | I2C interface device sub address. | |
mvI2CInterfaceASCIIBuffer | Buffer for exchanging ASCII data over I2C interface. | |
mvI2CInterfaceWrite | Command to write data to the I2C interface. | |
mvI2CInterfaceRead | Command to read data from the I2C interface. | |
etc. |
related to control the devices I2C Interface Control parameters. It enables the camera to be controlled via I2C interface.
The use case Working with the I2C interface (mv I2C Interface Control) shows how you can work with the serial interface control.
The "mv Defective Pixel Correction Control" contains features like
Feature name (acc. to SFNC) | Property name (acc. to Impact Acquire) | Description |
mvDefectivePixelCount | Contains the number of valid defective pixels. | |
mvDefectivePixelSelector | Controls the index of the defective pixel to access. | |
mvDefectivePixelDataLoad | Loads the defective pixels from the device non volatile memory. | |
mvDefectivePixelDataSave | Saves the defective pixels to the device non volatile memory. |
related to control the devices Defective Pixel data.
The "mv Frame Average Control" contains features like
Feature name (acc. to SFNC) | Property name (acc. to Impact Acquire) | Description |
mvFrameAverageEnable | Enables the frame averaging engine. | |
mvFrameAverageSlope | The slope in full range of register. |
related to the frame averaging engine.
The "mv Auto Feature Control" contains features like
Feature name (acc. to SFNC) | Property name (acc. to Impact Acquire) | Description |
mvAutoFeatureAOIMode | Common AutoControl AOI used for Auto Gain Control(AGC), Auto Exposure Control(AEC) and Auto White Balancing. | |
mvAutoFeatureSensitivity | The controllers sensitivity of brightness deviations. This parameter influences the gain as well as the exposure controller. | |
mvAutoFeatureCharacteristic | Selects the prioritization between Auto Exposure Control(AEC) and Auto Gain Control(AGC) controller. | |
mvAutoFeatureBrightnessTolerance | The error input hysteresis width of the controller. If the brightness error exceeds the half of the value in positive or negative direction, the controller restarts to control the brightness. |
related to the automatic control of exposure, gain, and white balance.
With this control you can influence the characteristic of the controller depending on certain light situations. AEC/AGC can be controlled with the new additional properties mvAutoFeatureSensitivity, mvAutoFeatureCharacteristic and mvAutoFeatureBrightnessTolerance.
The "mv High Dynamic Range Control" contains features like
Feature name (acc. to SFNC) | Property name (acc. to Impact Acquire) | Description |
mvHDREnable | Enables the high dynamic range feature. | |
mvHDRPreset | Selects the HDR parameter set. | |
mvHDRSelector | Selects the HDR parameter set to configure. | |
mvHDRVoltage1 | First HDR voltage in mV. | |
mvHDRVoltage2 | Second HDR voltage in mV. | |
mvHDRExposure1 | First HDR exposure in ppm. | |
mvHDRExposure2 | Second HDR exposure in ppm. |
related to the control of the device High Dynamic Range parameters.
The use case Adjusting sensor of camera models with onsemi MT9M034 shows the principle of the HDR.
The "LUT Control" contains features like
A 12 to 9 RawLUT for color cameras was added. The RawLUT works identically for all colors but with a higher resolution. This is useful if higher dynamic is needed.
Feature name (acc. to SFNC) | Property name (acc. to Impact Acquire) | Description |
LUTSelector | LUTSelector | Selects which LUT to control. |
LUTEnable[LUTSelector] | LUTEnable | Activates the selected LUT. |
LUTIndex[LUTSelector] | LUTIndex | Controls the index (offset) of the coefficient to access in the selected LUT. |
LUTValue[LUTSelector][LUTIndex] | LUTValue | Returns the value at entry LUTIndex of the LUT selected by LUTSelector. |
LUTValueAll[LUTSelector] | LUTValueAll | Allows access to all the LUT coefficients with a single read/write operation. |
mvLUTType | Describes which type of LUT is used for the current LUTSelector | |
mvLUTInputData | Describes the data the LUT is applied to (e.g bayer, RGB, or gray data) | |
mvLUTMapping | Describes the LUT mapping (e.g. 10 bit → 12 bit) |
related to the look-up table (LUT) control.
The look-up table (LUT) is a part of the signal path in the camera and maps data of the ADC into signal values. The LUT can be used e.g. for:
This saves (approx. 5%) CPU load, works on the fly in the FPGA of camera, is less noisy and there are no missing codes after Gamma stretching.
Three read-only registers describe the LUT that is selected using the LUTSelector register:
There are two different types of LUTs available in Balluff/MATRIX VISION cameras:
This register describes on which data the LUT is applied to:
This register describes the mapping of the currently selected LUT, e.g "map_10To10" means that a 10 bit input value is mapped to a 10 bit output values whereas "map_12To10" means that a 12 bit input value is mapped to a 10 bit output value.
mvBlueFOX3 | LUTSelector | LUT type | LUT mapping | LUT input data |
-1100G -1140GW -1031G -1012dG -1012bG -1013G -1013GE -1020G -1020aG | Luminance | Direct | map_10To12 | Gray |
-1012bC -1012dC -1013C -1020C -1031C -1100C -1140C | Luminance Red Green Blue | Interpolated Direct Direct Direct | map_10To10 map_8To12 map_8To12 map_8To12 | RGB Bayer Bayer Bayer |
-2004G -2016G -2017G -2024G -2024aG -2024bG -2032G -2032aG -2051G -2051aG -2051dG -2051pG -2064G -2071G -2071aG -2081aG -2089G -2089aG -2124G -2124aG -2124dG -2124rG -2162G -2204G -2205G -2246G -4315G BF3-5M-0004FG BF3-5M-0016ZG BF3-5M-0024AG BF3-5M-0024BG BF3-5M-0024ZG BF3-5M-0032AG BF3-5M-0032ZG BF3-5M-0051AG BF3-5M-0051ZG BF3-5M-0064ZG BF3-5M-0089AG BF3-5M-0089ZG BF3-5M-0124AG BF3-5M-0124RG BF3-5M-0124ZG BF3-5M-0205ZG BF3-4-0169ZG BF3-4-0196ZG | Luminance | Direct | map_12To9 | Gray |
-2004C -2016C -2017C -2024C -2024aC -2024bC -2032C -2032aC -2051C -2051aC -2051dC -2051pC -2064C -2071C -2071aC -2081aC -2089C -2089aC -2124C -2124aC -2124dC -2124rC -2162C -2204C -2205C -2246C -4315C BF3-5M-0004FC BF3-5M-0016ZC BF3-5M-0024AC BF3-5M-0024BC BF3-5M-0024ZC BF3-5M-0032AC BF3-5M-0032ZC BF3-5M-0051AC BF3-5M-0051ZC BF3-5M-0064ZC BF3-5M-0089AC BF3-5M-0089ZC BF3-5M-0124AC BF3-5M-0124RC BF3-5M-0124ZC BF3-5M-0205ZC BF3-4-0169ZC BF3-4-0196ZC | Luminance Red Green Blue mvRaw | Interpolated Direct Direct Direct Direct | map_10To10 map_10To9 map_10To9 map_10To9 map_12To9 | RGB Bayer Bayer Bayer Bayer |