0% found this document useful (0 votes)
1K views177 pages

mvIMPACT Acquire GUI Applications Manual

Uploaded by

Deniz Kutan
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
1K views177 pages

mvIMPACT Acquire GUI Applications Manual

Uploaded by

Deniz Kutan
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 177

mvIMPACT Acquire SDK GUI Applications

Documentation

English - Version 1.00


i

1 About this manual 1

2 wxPropView 2
2.1 Basic Operation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
2.1.1 Application Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
2.1.2 How To See The First Image . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
2.1.3 The Property Grid . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
2.1.4 Importing And Exporting Images . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
2.1.5 Accessing Log Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
2.2 Advanced Operation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
2.2.1 The Status Bar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
2.2.2 Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
2.2.3 Detailed Driver Information . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
2.2.4 Display Possibilities . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
2.2.5 Setting Up Multiple Display Support, Working With Several Capture Settings In Parallel . . . . 35
2.2.6 Record To RAM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
2.2.7 Record To Hard Disk . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
2.2.8 Snapshot To Hard Disk Mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
2.2.9 Video Stream Recording With FFmpeg . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
2.2.10 Influencing The Image Processing Performance . . . . . . . . . . . . . . . . . . . . . . . 56
2.2.11 Sharpness Adjustment / Focus Your Lens . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
2.3 Image Analysis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
2.3.1 General Usage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
2.3.2 Pixel Histogram . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60
2.3.3 Horizontal/Vertical Line Profile . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61
2.3.4 Spatial Noise Histogram . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62
2.3.5 Temporal Noise Histogram . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63
2.3.6 Intensity Plot . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64
2.3.7 Vector Scope . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
2.3.8 Info Plot . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
2.3.9 Feature Versus Time Plot . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66
2.4 Device Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68
2.4.1 General Device Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68
2.4.2 mvBlueFOX-1xx/mvBlueFOX-2xx . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83
2.4.3 Frame Grabber . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92
2.5 Wizards . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 114
2.5.1 AOI Wizard . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115
2.5.2 Color Correction Wizard . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 116
2.5.3 File Access Wizards . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 116
2.5.4 Lens Control Wizard . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 117
2.5.5 LUT Control Wizard . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 117
2.5.6 Multi-AOI Wizard . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 120

Generated by Doxygen
ii

2.5.7 Multi-Core Acquisition Wizard . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121


2.5.8 Quick Setup Wizard . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 124
2.5.9 Sequencer Control Wizard . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 128
2.6 Command-line Interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 128
2.6.1 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 129

3 mvDeviceConfigure 130
3.1 Updating The Firmware Of A MATRIX VISION Device . . . . . . . . . . . . . . . . . . . . . . . . . 131
3.1.1 Device Selection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131
3.1.2 Execute Firmware Update . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 132
3.1.3 Preserving UserSets During A Firmware Update . . . . . . . . . . . . . . . . . . . . . . . . 134
3.1.4 Always Select Best Matching Firmware For Device . . . . . . . . . . . . . . . . . . . . . . . 135
3.1.5 Troubleshooting / Dealing With Firmware Update Failures . . . . . . . . . . . . . . . . . . . 135
3.2 Verifying The Firmware Of A MATRIX VISION Device . . . . . . . . . . . . . . . . . . . . . . . . . 137
3.2.1 Device Selection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 138
3.3 Log-Output Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 141
3.3.1 Section Name . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 143
3.3.2 Devices Using This Section . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 143
3.3.3 Flags, Output Destinations, Output File Name, "Always Clear File" and "Stylesheet" . . . . . 143
3.3.4 Configure And Existing Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 143
3.3.5 Adding A New Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 144
3.4 DirectShow™ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 145
3.4.1 Registering devices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 146
3.4.2 Changing The Friendly Name . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 148
3.4.3 Using regsvr32 To Avoid User Interaction . . . . . . . . . . . . . . . . . . . . . . . . . . . . 150
3.5 CPU Sleep State / C-State configuration (Windows only, up to Windows 7) . . . . . . . . . . . . . . 151
3.6 mvBlueFOX-1xx/mvBlueFOX-2xx . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 153
3.6.1 Assigning A Unique ID To A Device . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 153
3.7 mvHYPERION . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 154
3.7.1 Assigning System-wide DMA memory (Windows only) . . . . . . . . . . . . . . . . . . . . . 154
3.8 Command-line Interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 155
3.8.1 update_fw_file Syntax . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 156
3.8.2 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 157

4 mvGigEConfigure 158
4.1 Install The GigE Vision™ Capture Filter Driver . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 158
4.2 Remove The GigE Vision™ Capture Filter Driver . . . . . . . . . . . . . . . . . . . . . . . . . . . . 160
4.3 Enable/Disable The GigE Vision™ Capture Filter Driver . . . . . . . . . . . . . . . . . . . . . . . . 161
4.4 Miscellaneous . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 161
4.5 Command-line Interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 161
4.5.1 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 162

5 mvIPConfigure 164

Generated by Doxygen
1 About this manual 1

5.1 Configure A GigE Vision™ Device . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 165


5.2 Assign A Temporary IPv4 Address . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 167
5.3 Recover An Incorrectly Configured GigE Vision™ Device . . . . . . . . . . . . . . . . . . . . . . . 167
5.4 View Potential Performance Issues . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 168
5.5 Various Auto-Configuration Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 169
5.6 Detecting Devices Residing In A Different Subnet . . . . . . . . . . . . . . . . . . . . . . . . . . . 170
5.7 Command-line Interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 173
5.7.1 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 174

1 About this manual

This manual is meant to give an overview about the GUI tools coming as part of any mvIMPACT Acquire driver
package:

• wxPropView is used to configure devices and acquire images from them, display and modify device/driver
properties, perform various image analysis as well as importing/exporting individual images to/from the hard
disk and recording video streams.

• mvDeviceConfigure is used to update the firmware of MATRIX VISION devices, configure the log output of
the mvIMPACT Acquire driver stack, assign unique IDs to some MATRIX VISION devices and some other
things.

• mvIPConfigure is used to configure the network behavior of GigE Vision™ devices and examine and resolve
network related issues with these.

• mvGigEConfigure is used to install, remove or configure the MATRIX VISION GigE Vision™ capture filter
driver on Windows systems.

Generated by Doxygen
2

2 wxPropView

wxPropView is used to acquire images, configure the device, display and modify device/driver properties, perform
various image analysis as well as recording video streams. Depending on the operating system, you will find the
application after the installation as follows:

• Windows

– as an icon with the name "wxPropView" on the desktop or within the "Start Menu"

• Linux

– in "/opt/mvIMPACT_Acquire/apps/mvPropView/x86_64" (64 bit system)


– in "/opt/mvIMPACT_Acquire/apps/mvPropView/armhf" (ARMhf bit systems).
– in "/opt/mvIMPACT_Acquire/apps/mvPropView/arm64" (ARM 64 bit systems).

• macOS

– as a shell start script 'startPropView.sh' in "∼/mvIMPACT_Acquire" and as an app in "∼/mvIMPACT_←-


Acquire/bin"

Note

GigE Vision™ devices:

• Linux: Without being root the system might not allow an application to modify the priorities of the
threads it creates. Since certain driver operations will work better with modified thread priorities it
is recommended to run wxPropView with this possibility, which might require the application being
executed as the root user. When this shall be done the following paths have to be exported for the
root user (this is done automatically for simple user):

export GENICAM_ROOT=/home/x/tmp
export GENICAM_ROOT_V3_3=/home/x/tmp
export GENICAM_LOG_CONFIG=/home/x/tmp/share/genicam/log/config/DefaultLogging.properties

or easier run shell script "genicam.sh" before:

. /etc/profile.d/genicam.sh

• macOS: The app wxPropView.app in "∼/mvIMPACT_Acquire/bin" does not use the


correct environment, so a double-click on the app will not find any GigEVision™ devices. To start
wxPropView wit the correct environment, start the shell script startPropView.sh in "∼/mv←-
IMPACT_Acquire".
• Windows: Given that during the start wxPropView searches the network for GigE Vision™ devices,
it could be possible that - depending on the Windows firewall settings - a Windows security alert
appears. Please click on "Unblock" or "Allow Access" depending on the version of Windows you
are working with so that the program works properly.

Generated by Doxygen
2.1 Basic Operation 3

Windows security alert

wxPropView - Introduction:
https://www.matrix-vision.com/de/knowledge-base/video-tutorials/wxpropview/in

• Basic Operation

• Advanced Operation

• Image Analysis

• Device Configuration

• Wizards

• Command-line Interface

2.1 Basic Operation

wxPropView - Working with wxPropView:


https://www.matrix-vision.com/de/knowledge-base/video-tutorials/wxpropview/workin

2.1.1 Application Overview

wxPropView will start with the Quick Setup Wizard if a device with a suitable feature set has been selected and
used:

Generated by Doxygen
4

wxPropView - Quick Setup Wizard Options

If supported the Quick Setup Wizard is the recommended way of capturing the first images. Later or when a third
party device or a MATRIX VISION device without the feature required by this wizard is used when started the first
time the application will look more or less like this:

wxPropView - Minimal Interface

On the left-hand side of the upper toolbar a drop down box will list all devices currently recognized by the mvIMPACT
Acquire driver framework. If you find that a device is missing first make sure that you have it's driver package installed
(e.g. by clicking on the "Info" button in the upper toolbar) and then make sure that the corresponding interface
technology and the interface the device is connected to (e.g. a network card (NIC)) is enabled for enumeration. This
can be seen by pressing the "Info" button in the upper toolbar. This would then open the Detailed Driver Information
dialog.

Generated by Doxygen
2.1 Basic Operation 5

To work with a device select it from the drop-down box and press the "Use" button.

Devices plugged into the system after the application has been started might not be listed until the "Update" button
has been pressed. When this button is pressed every installed driver will rescan all interfaces for new devices so
this will take some time.

In the middle of the upper toolbar various controls to either launch the Quick Setup Wizard or to start and stop the
acquisition manually are located. In the right section of the upper toolbar recording of series of images into the RAM
of the host computer can be configured. All these control will become available after a device has been initialised
by pressing the "Use" button.

2.1.1.1 Enabling More Controls Depending on your experience and/or needs you might want to see/do more
than shown above. This can be achieved via the "Settings" menu:

wxPropView - Enhanced Interface

• Selecting "Settings -> Property Grid -> Show Property Grid" will enable the The Property Grid displaying
all device and driver features on the left side of the application

• Enabling the "Show Left Tool Bar" option in the "Settings -> Options" dialog will add more tools to the far
left side of the application

2.1.1.2 Enabling The Image Analysis Tools Once the left toolbar is available there is more that can be acti-
vated. The most interesting feature is probably the Image Analysis tab control on the lower right of the application:

Generated by Doxygen
6

wxPropView - Enhanced Interface

2.1.1.3 The Big Picture With all features enabled wxPropView then will look somewhat like this:

wxPropView - All Controls Enabled

Generated by Doxygen
2.1 Basic Operation 7

• "Menu Bar" for accessing various features not bound to any buttons or other controls

• "Upper Tool Bar" for selecting and initializing devices, start/stop image acquisition, record/play back image
sequences, launching the Quick Setup Wizard and the interface configuration dialog

• "Left Tool Bar" to hide and show parts of the GUI and control various other settings

• "Status Tool Bar" for displaying various statistical information

• "Main Window" with

– the The Property Grid on the left providing access to the driver and device features
– the display area showing the current image

• the Image Analysis area allowing to look at an image's histogram and various other things

Pressing F1 will open a HELP dialog also showing the Command-line Interface of the application.

After having successfully initialized a device the tree control in the lower left part of the "Main Window" will display
the properties (settings or parameters) (according to the "interface layout") accessible by the user.

Note

USB3 Vision™ devices: Please have a look at the troubleshooting chapter of the mvBlueFOX 3 product
manual if you neither see the mvBlueFOX3 nor cannot use it

2.1.2 How To See The First Image

As described earlier, each device currently recognized will be listed in the drop down menu in the upper left corner
of the "Upper Tool Bar". When this is the first time you start the application after the system has been booted this
might take some seconds when working with devices that are not connected to the host system via PCI or PCIe.

Once you have selected the device of your choice from the drop down menu click on the "Use" button to open it.

When the device has been opened successfully, the remaining buttons of the dialog will become enabled!

Note

"Frame grabber devices": Before you can capture data make sure that

• a suitable camera has been connected to the grabber


• the correct input channel has been selected
• a suitable camera description (an XML file selected with the property "Image Settings -> Camera
-> Type" in The Property Grid) has been selected. If you do not have an description, please have
a look at Working With Camera Descriptions to see, how to generate one.

Now, you can capture an image ("Acquisition Mode": "SingleFrame") or display live images ("Continuous"). Just

• select an "Acquisition Mode" e.g. "SingleFrame" and

• click the "Acquire" button.

Note

How to capture image data and configure a device from a custom application is described in great detail
in the corresponding mvIMPACT Acquire API manuals for the programming language of your choice.

Generated by Doxygen
8

wxPropView - First image

Three different acquisition modes are available:

• Continuous ("Live mode")

• MultiFrame ("A sequence of defined length")

• SingleFrame ("The acquisition of a single image")

The frame rate depends on

• the camera or sensor in combination with the transmission technology,

• the pixel clock of the sensor(defining the read-out speed of the device), and

• the "Acquisition Frame Rate".

If you want to have a fixed frame rate using the "Continuous" mode, for some "GenICam" compliant devices the
property "Setting -> Base -> Camera -> GenICam -> Acquisition Control -> Acquisition Frame Rate" will
be supported

Alternatively, if you need frame rates below 5 fps, you can use Timers.

Generated by Doxygen
2.1 Basic Operation 9

See also

• GenICam Standard Features Naming Convention (SFNC)( https://www.emva.org/standards-technology/


• product manuals ( https://www.matrix-vision.com/manuals/). Here for example the
use case "Creating synchronized acquisitions using timers", where a frame rate of 1 fps is gen-
erated.

Note

For color sensors, it is recommended to perform a white balance calibration now. This will improve the
quality of the resulting images significantly.

2.1.2.1 Storing The Current Image

Since

mvIMPACT Acquire 2.37.0

To save an image directly from the live display directly, just

1. Right-click on the display.

2. Either select "Save Current Image" or "Copy Current Image To Clipboard".

With "Save Current Image" a dialog will appear, where you can specify the destination folder and the file format.

With "Copy Current Image To Clipboard" you can open you preferred image editing tool an paste the clipboard into
it. For this functionality you can also use the shortcuts CTRL-C and CTRL-V.

wxPropView - Current image handling.

2.1.3 The Property Grid

The property grid on the left side of the application is the main way to modify driver and device behaviour. Properties
displayed in light grey are read-only and cannot be modified by the user. Only the properties, which actually have
an impact on the resulting image right now, will be visible. Therefore, certain properties might appear or disappear
when modifying another properties.

The values of properties currently set to their default values will be displayed in a normal green font to indicate that
these values have not been modified by the user so far. Modified properties (even if the value is the same as the
default) will be displayed in a bold green font. It is possible that properties do already appear as being modified
directly after opening a driver instance to it. In that case a previously stored setting has be found and loaded. See
Storing, Restoring And Managing Settings for details.

Generated by Doxygen
10

2.1.3.1 User Experience In the upper section of the property grid the "User Experience" can be selected. Ac-
cording to the chosen experience, the level of visibility is different:

• Beginner (basic camera settings/properties are visible)

• Expert (e.g. all advanced image processing are visible)

• Guru (all settings/properties are visible)

2.1.3.2 Find A Feature Once a device has been opened and maybe after switching the User Experience to "←-
Guru" there can easily be 500+ features into the feature tree of a single device instance. When not quite sure where
to look the "Find Feature" option might come in handy:

wxPropView - Find Feature

This will open a flat list of all features currently available (even those currently invisible). While typing along the list
is reduced to the features containing what has been typed so far.

Generated by Doxygen
2.1 Basic Operation 11

wxPropView - Find Feature Dialog

Once the feature has been found a double-click on that feature will close the find dialog again an will expand the
feature tree accordingly and will select the feature the user was looking for.

2.1.3.3 Detailed Feature Information Right-clicking on a feature in the property grid will allow (among other
things) to display the "Detailed Feature Information", displaying all sorts of information about a certain feature in
a separate dialog:

Generated by Doxygen
12

wxPropView - Detailed feature information

For additional information about what all these data means please refer to the documentation of the objects derived
from the Component class in the API manual of the programming language of your choice. Online versions of all
these documents can be found here: https://www.matrix-vision.com/manuals/

2.1.3.4 Properties
To modify the value of a property select the edit control right of the properties name. Property values, which refer to
the default value of the device, are displayed in green. A property value once modified by the user will be displayed
in black (even if the value itself has not changed). To restore its default value of a single property

• right click on the name of the property and

• select "Restore Default".

To restore the default value for a complete list (which might include sub-lists)

• right click on the name of a list and

• select "Restore Default".

In this case a popup window will be opened and you have to confirm again.

wxPropView - Restore default value of a property

Most properties store one value only, thus they will appear as a single entry in the property grid. However, properties
are capable of storing more than one value, if this is desired. A property storing more than one value will appear as
a parent list item with a WHITE background color (lists will be displayed with a grey background) and as many child
elements as values stored by the property. The parent grid control will display the number of values stored by the
property, every child element will display its corresponding value index.

If supported by the property, the user might increase or decrease the number of values stored by right-clicking on
the parent grid element. If the property allows the modification the pop up menu will contain additional entries now:

Generated by Doxygen
2.1 Basic Operation 13

wxPropView - A resizable property

When a new value has been created it will be displayed as a new child item of the parent grid item:

wxPropView - A resized property

Currently, only the last value can be removed via the GUI and a value can't be removed, when a property stores
one value only.

Also the user might want to set all (or a certain range of) values for properties that store multiple values with a single
operation. If supported by the property, this can also be achieved by right-clicking on the parent grid element. If the
property allows this modification the pop up menu will again contain additional entries:

Generated by Doxygen
14

wxPropView - Setting multiple property values

It's possible to either set all (or a range of) elements of the property to a certain value OR to define a value range,
that then will be applied to the range of property elements selected by the user. The following example will explain
how this works:

wxPropView - Setting multiple property values within a certain value range

In this sample the entries 0 to 255 of the property will be assigned the value range of 0 to 255. This will result in the
following values AFTER applying the values:

Generated by Doxygen
2.1 Basic Operation 15

wxPropView - After applying the value range to a property

Properties containing binary data will offer 2 additional options:

• "Read File Into Property Value"

• "Write Property Value To File"

Both might come in handy at some time. They allow to directly exchange the value of a property containing binary
data with the hard disk.

2.1.3.5 Methods
Methods appear as entries in the tree control as well. However, their name and behavior differs significantly from
the behavior of properties. The names of method objects will appear in 'C' syntax like e.g. "int function( char∗, int
)". This will specify a function returning an integer value and expecting a string and an integer as input parameters.
To execute a method object either click on the little button with the 3 dots right of the methods parameter list or

• right click on the name of a method and

• select "Execute" from the popup menu:

wxPropView - Calling a method object

Generated by Doxygen
16

Parameters can be passed to methods by selecting the edit control left of a method object. Separate the parameters
by blanks. So to call a function expecting a string and an integer value you e.g. might enter "testString 0"
into the edit control left of the method.

The return value (in almost every case an error code as an integer) will be displayed in the lower right corner of the
tree control. The values displayed here directly correspond the error codes defined in the interface reference and
therefore will be of type TDMR_ERROR or TPROPHANDLING_ERROR.

It is possible to execute methods either synchronously or asynchronously. This can be configured by using the
Options dialog and is explained in the section Synchronous Method Execution.

2.1.3.6 Standard View and Developers View


With wxPropView it is possible to switch the views between "Standard View" (user-friendly) and "Developers View".
While the first (default) view will display the device drivers feature tree in a way that might be suitable for most users
of a GUI application it might present the features in a slightly different order as they actually are implemented in the
device driver. The developers view switches the tree layout of the application to reflect the feature tree exactly like it
is implemented an presented by the SDK. It can be helpful when writing code that shall locate a certain property in
the feature tree of the driver using the C, C++, Java, .NET or Python interface. The feature hierarchy displayed here
can directly be used for searching for the features using the "ComponentLocator (C++/.NET)" objects or
"DMR_FindList (C)" and "OBJ_GetHandleEx (C)" functions.

wxPropView - Developers View

2.1.3.7 Callbacks The property grid offers a way to get informed when properties change. This can be done by
right-clicking on the desired feature and then select "Attach Callback" from the context menu. This can be done
for as many features as desired.

Generated by Doxygen
2.1 Basic Operation 17

wxPropView - Attach Callback

Now whenever one of these features change in any way (this includes not only a properties value but also e.g. it's
visibility or access mode) a message will be written to the "Output" tab of the lower right analysis controls:

wxPropView - Callbacks have been fired

To detach/remove the callback again just right-click on the feature again and select "Detach Callback". This option
will only be available if a callback is currently attached to the feature.

2.1.4 Importing And Exporting Images

wxPropView offers a wide range of image formats that can be used for exporting captured image to a file. Some
formats e.g. like packed YUV 4:2:2 with 10 bit per component are rather special thus they can't be stored into a
file like e.g. offered by the BMP file header. When a file is stored in a format, that does not support this data type
wxPropView will convert this image into something that matches the original image format as close as possible.
This, however, can result in the loss of data. In order to allow the storage of the complete information contained in a
captured image wxPropView allows to store the data in a raw format as well. This file format will just contain a binary
dump of the image with no leader or header information. However, the file name will automatically be extended by
information about the image to allow the restoring of the data at a later time.

All image formats, that can be exported can also be imported again. Importing a file can be done in 3 different
ways:

Generated by Doxygen
18

• via the menu (via the menu: "Action -> Load image...")

• by dragging an image file onto an image display within wxPropView and the dropping it there

• by starting wxPropView from the command line passing the file to open as a command line parameter (on
Windows® e.g. "wxPropView.exe MyImage.png" followed by [ENTER])

When importing a "∗.raw" image file a small dialog will pop up allowing the user to define the dimensions and
the pixel format of the image. When the file name has been generated using the image storage function offered by
wxPropView, the file name will be passed and the extracted information will automatically be set in the dialog thus
the user simply needs to confirm this information is correct.

wxPropView - Raw image file import

2.1.5 Accessing Log Files

Since

mvIMPACT Acquire 2.11.9

Using Windows, it is possible to access the log files generated by MATRIX VISION via the Help menu. Sending us
the log files will speed up support cases.

wxPropView - Help menu

The options are to

• directly open the logs folder, to

• create a zip file with all the logs, and to

• open the systems default email client to send an email to the MATRIX VISION Service Desk.

Generated by Doxygen
2.1 Basic Operation 19

2.1.5.1 Linux

Since

mvIMPACT Acquire 2.24.0

You can access the log files in Linux via /opt/mvIMPACT_Acquire/data/logs .


You can also extract the directory using the following command

env | grep MVIMPACT_ACQUIRE_DATA_DIR

or change the directory directly via

cd $MVIMPACT_ACQUIRE_DATA_DIR/logs

For older versions:


Like on Windows, log files will be generated if the activation flag for logging called mvDebugFlags.mvd is avail-
able in the same folder as the application (however, using Windows log files will be generated automatically, be-
cause the applications are started from the same folder). By default, on Linux the mvDebugFlags.mvd will be
installed in the installation's destination folder in the sub-folder "apps". For example, if the destination folder was
"/home/workspace", you can locate the mvDebugFlags.mvd like the following way:

user@linux-desktop:~$
// <- Starting the console window, you will be in the home directory: /home/
user@linux-desktop:~$ cd workspace/apps/
// <- Change the directory
user@linux-desktop:/home/workspace/apps$ ls -l
// <- List the directory
insgesamt 144
drwxr-xr-x 9 user user 4096 Mai 21 15:08 Callback
drwxr-xr-x 8 user user 4096 Mai 21 15:08 Callback_C
drwxr-xr-x 9 user user 4096 Mai 21 15:08 CaptureToUserMemory_C
drwxr-xr-x 3 user user 4096 Mai 21 15:03 Common
drwxr-xr-x 11 user user 4096 Mai 21 15:09 ContinuousCapture
drwxr-xr-x 9 user user 4096 Mai 21 15:09 ContinuousCaptureAllDevices
drwxr-xr-x 6 user user 4096 Mai 21 15:09 ContinuousCaptureFLTK
drwxr-xr-x 9 user user 4096 Mai 21 15:09 ContinuousCapture_C
drwxr-xr-x 11 user user 4096 Mai 21 15:09 DigitalIOs
drwxr-xr-x 11 user user 4096 Mai 21 15:09 GenericInterfaceLayout
drwxr-xr-x 11 user user 4096 Mai 21 15:09 GenICamInterfaceLayout
-rw-r--r-- 1 user user 854 Mai 21 15:03 Makefile
-rw-r--r-- 1 user user 7365 Mai 21 15:03 Makefile.samp.inc
-rw-r--r-- 1 user user 20713 Mai 21 15:03 mvDebugFlags.mvd
// <- Log activation flag
drwxr-xr-x 7 user user 4096 Mai 21 15:09 mvDeviceConfigure
drwxr-xr-x 6 user user 4096 Mai 21 15:10 mvIPConfigure
drwxr-xr-x 6 user user 4096 Mai 21 15:11 mvPropView
drwxr-xr-x 9 user user 4096 Mai 21 15:11 SingleCapture
drwxr-xr-x 9 user user 4096 Mai 21 15:11 SingleCaptureStorage

For log file generation you have to execute your app from the folder where mvDebugFlags.mvd is located. E.g. if
you want to start wxPropView:

user@linux-desktop:/home/workspace/apps$ ./mvPropView/x86_64/wxPropView
// <- Start the executable from the folder, where \b mvDebugFlags.mvd is located.

Another possibility would be, to copy the mvDebugFlags.mvd file to the folder of the executable:

user@linux-desktop:/home/workspace/apps$ cp mvDebugFlags.mvd ./mvPropView/x86_64/wxPropView


// <- Copy the log activation flag
user@linux-desktop:/home/workspace/apps$ cd ./mvPropView/x86_64/
// <- Change the directory
user@linux-desktop:/home/workspace/apps/mvPropView/x86_64/$ ./wxPropView
// <- Start the executable

Afterwards, several log files are generated which are listed in files.mvloglist. The log files have the file
extension .mvlog. Please send these files to our support team.

Generated by Doxygen
20

2.1.5.2 macOS

Since

mvIMPACT Acquire 2.50.0

If you have used the install script, you can access the log files via /∼/mvIMPACT_Acquire/data/logs .

You can also extract the directory using the following command

printenv | grep MVIMPACT_ACQUIRE_DATA_DIR

or change the directory directly via

cd $MVIMPACT_ACQUIRE_DATA_DIR/logs

Another possibility would be to copy the mvDebugFlags.mvd file to the folder of the executable:

user@apple-mac:~/mvIMPACT_Acquire/apps$ cp mvDebugFlags.mvd ../bin/


// <- Copy the log activation flag
user@apple-mac:~/mvIMPACT_Acquire/apps$ cd ../bin/
// <- Change the directory
user@apple-mac:~/mvIMPACT_Acquire/bin$ wxPropView.app/Contents/MacOS/wxPropView
// <- Start the executable

Afterwards, several log files are generated which are listed in files.mvloglist. The log files have the file
extension .mvlog. Please send these files to our support team.

2.2 Advanced Operation

2.2.1 The Status Bar

If the status bar is enabled (see Options for how to switch on and off the status bar) and a device has been initialized
and is currently transferring data various data is displayed here:

wxPropView - Status Bar

From left to right the following data is available:

• FPS: The current frame rate as a slow running average. The value will slowly adjust to the current capture
frame rate

• Display Frame Rate: The current rate captured data is displayed with. This value will never be higher than
the FPS value. Capturing data has the highest priority
and display updates will be skipped in favor of being able to capture and process all data. The rough display
frame rate can be configured via 'Settings -> Set Update Frequency...'

• MB/s: The current average bandwidth used for capturing data from the selected device

Generated by Doxygen
2.2 Advanced Operation 21

• Frame Buffer Usage: The current fill level of the device's frame buffer. This is a feature only available for
certain MATRIX VISION devices. A value somewhere around 0 which sometimes increases and sometimes
decreases would be normal. An ever increasing value or a more or less constant value of 100% indicates a
bandwidth problem

• Frames: The value of the 'FrameCount' property from the 'Statistics' property list. In contrast to the 'FrameNr'
property display in the image overlay this value
is even increased for timed out, aborted or otherwise erroneous buffers. See tool-tip/documentation of that
property to find out more

• Errors: The value of the 'ErrorCount' property from the 'Statistics' property list. See tool-tip/documentation of
that property to find out more

• Timeouts: The value of the 'TimedOutRequests' property from the 'Statistics' property list. See tool-
tip/documentation of that property to find out more

• Aborted: The value of the 'AbortedRequestsCount' property from the 'Statistics' property list. See tool-
tip/documentation of that property to find out more

• Lost: The value of the 'LostImagesCount' property from the 'Statistics' property list. See tool-
tip/documentation of that property to find out more

• Incomplete: The value of the 'FramesIncompleteCount' property from the 'Statistics' property list. See tool-
tip/documentation of that property to find out more

• Image: The dimensions and pixel format of the buffer currently displayed

• (x,y): The value of the pixel of the current coordinates when moving over the image with the mouse pointer

2.2.2 Options

Various additional things can be configured via the "Options" dialog

Generated by Doxygen
22

wxPropView - Options

Most of these are self explanatory. Those requiring some explanation are listed in the following sections.

2.2.2.1 Use Selector Grouping This is an option coming as a requirement from the GenICam standard (
https://www.emva.org/standards-technology/genicam/) where the concept of Selectors exists.
With these option enable (the default behaviour) features which are selected by others will be grouped below the
selecting feature in The Property Grid whenever possible. This usually results in a better tree structure. To find out
more about Selectors please refer to the GenICam standard.

Generated by Doxygen
2.2 Advanced Operation 23

wxPropView - A Sub-Tree Of The Property Grid With Selector Grouping Active

wxPropView - A Sub-Tree Of The Property Grid With Selector Grouping Inactive

2.2.2.2 Prefer Display Names A feature can have a so called display name in addition to it's API/feature name.
This display name might include whitespace characters and other things forbidden for normal feature names and
sometimes might improve readability in a GUI. Switching this option on or off will fill The Property Grid with either
the real feature names (as an API call would use them) or (if available) with the display names associated with each
feature. In case a feature does not define a display name the real feature name will be used instead.

Generated by Doxygen
24

wxPropView - A Sub-Tree Of The Property Grid Using Display Names

Generated by Doxygen
2.2 Advanced Operation 25

wxPropView - The Same Sub-Tree Of The Property Grid Using Normal Feature Names

2.2.2.3 Synchronous Method Execution

• With this feature active, Methods invoked from The Property Grid will be executed in the main thread of the
application. This results in the GUI to block until the method has been executed completely.

• With this option disabled (the default behaviour) method calls will be executed in a background task. Calling
several lengthly methods quickly will queue all the jobs into a queue. This queue will be monitored by a
background task and this background task then will execute one method after the other(NEVER two or more
in parallel) and will report back each individual execution result back to the main thread of the application.
Potential errors will be displayed from the main thread e.g. in the "Output" window of the Image Analysis
controls or by displaying a popup window containing details of the failure. The GUI will always stay responsive.

2.2.2.4 Allow Fast Single Frame Acquisition With this option enabled the "Acquire" button can be pressed
several times in "SingleFrame" mode even if the previous image transfer is still ongoing. Some third party devices
might have problems with remembering all single frame requests however since the standard doesn't really enforce
a certain behavior here. Some devices might return some kind of "I am still busy" notification others might simply
queue all requests and send out individual image one after the other. This option sometimes can be useful to test
for exactly this behaviour.

Generated by Doxygen
26

2.2.3 Detailed Driver Information

The driver information dialog can be accessed by pressing the "Info" button in the upper toolbar of the application.
It needs some time to open up since it will scan every driver loaded and every device accessible through that driver
before opening. Afterwards a tree visualizing the current driver/interface/device stack will be displayed:

wxPropView - Driver Information

• Each driver loaded will result in one entry directly below the Drivers node

– This entry will at least contain the full path and version of this driver

• If at least one device has been detected by a driver then below this specific driver node there will be another
sub-node Devices listing all the devices currently detected

• In case of the mvGenTLConsumer library the setup is a little different:

– Here below the actual GenICam GenTL Consumer several GenICam GenTL Producers might be listed
since the mvIMPACT Acquire Consumer is capable to connect to an arbitrary number of 3rd party
Producers as well as to the MATRIX VISION specific ones.
– According to the GenICam GenTL standard each Producer represents devices detected connected to
interfaces thus the tree here is a little deeper
– mvIMPACT Acquire allows to disable the enumeration of certain interfaces or even complete Producer
libraries for performance and also for stability reasons in case a Producer detected in the current sys-
tem doesn't operate well with the rest of the framework. What is enumerated and what is not can be
configured by using the check-boxes within the dialog. The configuration will be stored permanently and
can be configured at any time.

Generated by Doxygen
2.2 Advanced Operation 27

– Opening this dialog however is meant to display ALL devices thus even if a certain interface is not
meant to be enumerated opening this dialog will do so. As a consequence wxPropView will display all
devices connected to disabled interfaces upon leaving the dialog again until the application is closed
and restarted again.

More information about GenTL Consumer and Producer setup can be found in the corresponding chapter in the API
manuals. A more complex setup might look somewhat like this:

wxPropView - Complex Driver Information

Here several third party Producers each exposing a one or more interfaces can be seen. Also different transport
layer technologies are supported as shown in the image from above.

See also

• https://www.matrix-vision.com/manuals/ (API manuals, see chapter "Setting Up The


Framework For Third Party GenTL Producer Usage")

2.2.4 Display Possibilities

By default wxPropView will only display complete images. Incompletely captured images(e.g. due to transmission
errors or bandwidth shortages) will increase driver internal error counters only. These errors can either be observed
in The Status Bar or by navigating to the Statistics section of The Property Grid. If for debugging purposes also
incomplete images shall be displayed this can be changed either via the menu item "Settings -> Image Display
-> Show Incomplete Frames" or by pressing the "Incomplete" button on the left toolbar.

The area displaying the actual image has a zoom feature and when zoom in a lot, a thumbnail of the full image can
be displayed as well by enabling the Monitor Display from the left toolbar. Within the monitor display the part
of the zoomed image which is currently visible within the selected display will be marked then:

Generated by Doxygen
28

wxPropView - Using the monitor display

To zoom in and out of the image, the display window needs to be selected first by left-clicking on it and then the +/-
keys or the mouse wheel can be used. In order to do this the Fit To Screen option for this display window must
be switched off! This option as well as various other things affecting the behaviour of this display window can be
configured by right-clicking on the display area.

wxPropView - Display options

• "Fit To Screen": Will scale the image in a way that the maximum area is occupied while the aspect ratio is
preserved. With this option enabled regular zooming will not be possible.

Generated by Doxygen
2.2 Advanced Operation 29

• "1:1 Display": Will set all zoom factors back to 1. Will be ignored if "Fit To Screen" is active.

• "Full Screen": On Windows when a continuous acquisition is running will switch the display windows into a
DirectX based exclusive window. Only the live image will be displayed than. Pressing ESCAPE will switch
back to normal operation.

• "Scaling Mode": Will allow to select between different scaling options when zooming in and out of the image.
All modes provide either better performance in terms of CPU usage or better quality in terms of less scaling
artifacts. Which mode is best depends on the application.

• "Set Bit Shift Value": See Bit-shifting An Image

• "Request Info Overlay": Will display all meta-information (e.g. timestamp, frame ID, ...) belonging to each
image on top of the display actual image data

• "Select Request Info Overlay": Allows to select a custom color for the "Request Info Overlay"

• "Performance Warning Overlay": Will display various information about potential performance bottlenecks
in the current setup on top of the actual image data

• "Warn On Modifications Applied To The Image By The Display (By An Overlay)": If active a message
will be drawn on top of the image in the main display area to inform e.g. about data modifications applied to
the image by the display module (e.g. bit shifting).

• "Save Current Image": Will open a save dialog and will eventually store the image in the selected format to
the selected location

• "Copy Current Image To Clipboard": Will copy the current image into the systems clipboard

Within the far right corner of The Status Bar the intensity of the pixel the mouse currently hovers on in the display
area will be displayed:

wxPropView - Current pixel data

From left to right these value are:

• The X-offset within the image

• The Y-offset within the image

• The intensities for the individual color channels depending on the current pixel format(e.g. as from the screen-
shot above: The red, green and blue intensity of that pixel)

2.2.4.1 Bit-shifting An Image


Captured images in the display area by default are displayed by using the 8 most significant bits (MSB) of the image
only. Using the "Set Bit Shift Value" option from the display's context menu (see above) however it is possible to
display every consecutive 8-bit of a multi-byte image:

Generated by Doxygen
30

wxPropView - Set Bit Shift Value

This value results in a different group of bits being displayed allowing to see noise or other things otherwise hidden
in the LSBs (least significant bits) of the image. Apart from the dialog also left-clicking on the display and then using
the left and right arrow keys can be used to adjust the bit shift value.

Note

When enabling the "Warn On Modifications Applied To The Image By The Display" the currently
displayed bits are written on top of the image!

wxPropView - 12-bit grey-scale image and display options by using the bit shift value

In this particular case, the pixel will be brighter (as the most significant bits are 1’s). Perhaps you already recognized
it. Each shift means that each pixel value is multiplied or divided by 2 according to the direction.

Anyway, there is one restriction in the 8 bit display:

If the pixel value is greater than 255, the pixel value will be clipped to 255. To describe this from a programmer’s
view; a represents the pixel value:

Generated by Doxygen
2.2 Advanced Operation 31

a = ( a > 255 ) ? 255 : a

Combined with the monitor image shown above also the MSBs can be seen in parallel since the monitor display will
not use the bit shift value at all.

wxPropView - Bit-shifting an Image:


https://www.matrix-vision.com/de/knowledge-base/video-tutorials/wxpropview/bit-sh

2.2.4.2 Displaying Multiple Images In A Single Display Window (LineScan Mode)

A display window can be configured to display multiple consecutive images as a single big one. A typical use case
for this would be a line scan camera where several small stripes shall be combined as a single big image. But same
can also be used with area scan images. Usually just a single image will be displayed and will be overwritten by the
next image:

wxPropView - Standard Mode

Now when several images shall be combined the "Configure Images Per Display Count..." menu option must be
selected:

Generated by Doxygen
32

wxPropView - Setting up multiple images into a single display

This will open a dialog providing some additional explanation and allowing the user to select how many images shall
be combined into a single one:

wxPropView - Selecting the number of images displayed into a single display

Note

This operating will consume additional RAM and CPU cycles!

After configuration a continuous (or single frame based) acquisition can be started again and the big buffer will be
filled in aring-buffer fashion, meaning when the last section of the big buffer has been filled with a fresh image the
next time the uppermost section will be updated again:

Generated by Doxygen
2.2 Advanced Operation 33

wxPropView - 6 images displayed in a ring buffer as a single image

2.2.4.3 Using Multiple Displays

wxPropView is also capable of working with multiple display windows! This becomes particularly useful when either
working with one device and multiple settings as described here or when working with a GenICam device that offers
a sequencer. See Sequencer Control Wizard to find out more about that!

The amount of parallel image displays can be configured via the Command-line Interface by the parameters "dcx"
and "dcy":

wxPropView dcx=1 dcy=2

This will result in 1 display in horizontal direction and 2 in vertical direction.

Since

mvIMPACT Acquire 2.18.1

Generated by Doxygen
34

It is also possible to change the amount of display at runtime via "Settings -> Image Displays -> Configure
Image Display Count":

wxPropView - Configure Image Display Count

Afterwards 2 smaller dialogs will pop up allowing to select the amount of display windows in X/horizontal direction:

wxPropView - Selection of display windows in horizontal direction

And in Y/vertical direction:

wxPropView - Selection of display windows in vertical direction

Generated by Doxygen
2.2 Advanced Operation 35

As a result then the application will look like this:

wxPropView - 2 by 3 display windows

Each display window can be configured individually via it's context menu. For example it is possible to assign
different scaling factors and interpolation algorithms to each window. The perform an analysis like calculating a
histogram the corresponding display must be selected by left-clicking on it.

2.2.5 Setting Up Multiple Display Support, Working With Several Capture Settings In Parallel

wxPropView

• is capable of dealing with multiple capture settings or acquisition sequences for a single device

• can be configured to deal with multiple image displays

"Frame grabber":

• For frame grabbers with multiple input channels this e.g. can be used to display live images from all input
channels simultaneously. This even works if each input channel is connected to a different video signal in
terms of resolution and timing.

Additional capture settings can be created via the menu item: "Capture -> Capture Settings -> Create Capture
Settings". The Property Grid will display these capture settings either in "Developers" or in "Multiple Settings
View".

Generated by Doxygen
36

Note

In GenICam interface layout multiple capture settings are NOT supported. However, you can define dif-
ferent acquisition sets using the SequencerControl category of features or the corresponding sequencer
wizard of wxPropView if supported by the device.

Generated by Doxygen
2.2 Advanced Operation 37

Now, in order to set up wxPropView to work with 2 instead of one capture setting,

1. Various additional capture settings can be created. In order to understand what a capture setting actually is
please refer to

• "Image Acquisition -> Working With Settings" chapter of the "mvIMPACT Acquire API" manuals.
Creating a capture setting is done via the menu: "Capture -> Capture Settings -> Create Capture
Setting".

wxPropView - Create capture setting

2. Then, the user is asked for the name of the new setting.

wxPropView - Create capture setting - Choosing name

3. And finally for the base this new setting shall be derived from.

Generated by Doxygen
38

wxPropView - Create capture setting - Choosing base

Afterwards, in this example we end up having 2 capture settings:

• a "Base" setting, which is always available

• a "NewSetting1", which has been derived from "Base".

wxPropView - Two settings

Generated by Doxygen
2.2 Advanced Operation 39

As "NewSetting1" has been derived from "Base" changing a property in "Base" will automatically change this
property in "NewSetting1" if this property has not already been modified in "NewSetting1". Again to get an
understanding for this behaviour please refer to

• "Working with settings" chapter of the "mvIMPACT Acquire API" manuals.

Now, to set up wxPropView to display all images taken using capture setting "Base" in one display and all image
taken using capture setting "NewSetting1" in another display the capture settings need to be assigned to image
displays via "Capture -> Capture Settings -> Assign To Display(s)". How to create multiple display windows is
explained in Using Multiple Displays.

wxPropView - Assigning displays

wxPropView - Assigning displays

Generated by Doxygen
40

By default a new setting when created will be assigned to one of the available displays in a round-robin scheme,
thus when there are 3 displays, the first (Base) setting will be assigned to "Display 0", the next to "Display 1", the
next to "Display 2" and a fourth setting will be assigned to "Display 0" again. The setting to display relationships
can be customized via "Capture -> Capture Settings -> Assign to Display(s)".

As each image display keeps a reference to the request, this image belongs to the driver can't re-use the request
buffer until a new request is drawn into this display. Thus, it might be necessary to increase the number of request
objects the driver is working with if a larger number of displays are involved. The minimum number of requests
needed is 2 times the amount of images displays. The number of requests used by the driver can be set up in the
drivers property tree:

wxPropView - Setting up request count

Finally, wxPropView must be configured in order to use all available capture settings in a round-robin scheme. This
can be done by setting the capture setting usage mode to "Automatic" via "Capture -> Capture Settings ->
Usage Mode":

wxPropView - Capture setting usage mode

Generated by Doxygen
2.2 Advanced Operation 41

That's it. Now, starting a live acquisition will display live images in both displays and each display is using a different
set of capture parameters. If a device supports parallel acquisition from multiple input channels, this will increase

• the used bandwidth and also

• the CPU load

as wxPropView now needs to display more images per second. Each display can be configured independently thus
e.g. one display can be used scaled while the other displays 1:1 data. The analysis plots can be assigned to a
specific display by left-clicking on the corresponding image display, the info plot will plot a graph for each capture
setting in parallel.

wxPropView - Running example

When only one setting shall be used at a given time, this can be achieved by setting the capture setting usage mode
back to "Manual" via "Capture -> Capture Settings -> Usage Mode". Then the setting that shall be used can be
manually selected in the request control list:

Generated by Doxygen
42

wxPropView - Manual Setting Usage Mode

This can even be changed during a running acquisition.

Finally when the capture setting usage mode has been set to Automatic a continuous acquisition using all settings
can be started that will display all images that have been captured using a certain setting into a specific display
window:

wxPropView - Manual Setting Usage Mode

2.2.6 Record To RAM

It is also possible to record image sequences using wxPropView:

1. Clicking the Rec. button.

2. Press Acquire

3. When all images have been recorded the Next and Prev. buttons can be used to display the individual
images.

Generated by Doxygen
2.2 Advanced Operation 43

If you switched on the request info overlay (see Display Possibilities), the additional information will be displayed for
each image as well. With the timestamp you can see the interval between the individual frames in microseconds.

wxPropView - Using the record mode.

Without changing anything else recording works by using all request objects currently available to the driver (see
"System Settings -> RequestCount"). So instead of freeing a request object and feeding it back into the driver as
soon as a new image has been sent to the display module all the buffers are kept in memory. Because of that the
acquisition will stop automatically once RequestCount images have been captured. The capturing can either be
done in SingleFrame, Continuous or even in MultiFrame mode.

2.2.6.1 Advanced Options More recording options are available:

wxPropView - Advanced recording options

Generated by Doxygen
44

• "Silent Mode": Enabling this option will no longer display dialogs like asking the user to confirm the deletion
of the current recorded sequence before recording a new one.

• "Continuous": Enabling this option will no longer stop the recording once all buffers have been filled but
instead will always keep all the most recent buffers in memory and when necessary discarding the oldest one
when capturing a new one. This can be useful when a certain event/scene shall be captured and it is not fully
known when this will happen. When enough buffers are available simply stopping the acquisition afterwards
will allow to view the last buffers then

• "Setup Sequence Size": This will open a small dialog allowing to define sequence length that is larger than
the number of request objects available to the driver by effectively creating a deep copy of each image. The
dialog will display some additional details regarding this option.

2.2.6.2 Storing Recorded Sequences It is also possible to store recorded sequences in various ways:

wxPropView - Storing recorded sequences

• "Save Images Into Separate Files": This will open a file dialog allowing the selection of an output directory
and a file format for the operation. Afterwards individual image files will be written into that directory. If meta-
data is attached to these images (e.g. when working with chunk data) this information might be saved as
XML-file in the same directory as the image, when the corresponding checkbox in the file dialog is checked.
Otherwise the meta-data will be lost.

• "Save Images Into Stream": This will open a file dialog allowing the selection of an output file name. After-
wards all the data will be written into a single file. This will keep all the meta-data like chunk information but
as no header or anything else will be added to the output file a user needs to know what to do with this data
afterwards. The stream will contain a 1:1 copy of all the captured buffers one after the other. This can NOT
be imported back into wxPropView nor can it be parsed without additional knowledge! To record streams of
images Video Stream Recording With FFmpeg might be a better alternative if meta-data is not needed.

2.2.7 Record To Hard Disk

This mode can be used to save a sequence of images from the current acquisition to the hard disk directly.

You can save acquired images to the hard disk the following way:

Generated by Doxygen
2.2 Advanced Operation 45

• Select "Capture -> Setup Hard Disk Recording" from the menu.

• Enable the Hard Disk Recording.

• Enable saving of meta data if needed.

• Afterwards select the target folder for the images.

• Finally, choose the file format of the acquired images.

• Click "Apply" or "Ok" to finish the setup

• Current status information will be visible in the Output tab of the Image Analysis (The Big Picture)

wxPropView - Hard Disk Recording.

2.2.8 Snapshot To Hard Disk Mode

Since

mvIMPACT Acquire 2.37.0

The snapshot mode can be used to save single images from the current acquisition to the hard disk directly.

Generated by Doxygen
46

wxPropView - Snapshot Setup

For this, please follow these steps:

• Select "Capture -> Setup Snapshot To Hard Disk Mode" from the menu.

• In the setup window, enable the snapshot mode.

• Enable saving of meta data if needed.

• Select the destination folder on your hard disk.

• Select the desired file format of the image(s).

• Click "Apply" or "Ok" to finish the setup

• Now you can save the current image by pressing the space bar. Make sure, that the wxPropView main
window is selected.

• Current status information will be visible in the Output tab of the Analysis Area (The Big Picture)

2.2.9 Video Stream Recording With FFmpeg

Generated by Doxygen
2.2 Advanced Operation 47

Since

mvIMPACT Acquire 2.39.0

With the Video Stream Recording, it is possible to compress the acquired images into a video stream container and
save it on the hard disk.
Note

The recording functionality is based on features provided by the FFmpeg ( https://ffmpeg.org)


project. In order to use it you need to:

• Download the shared FFmpeg packages in version 4.x from the project website
• Extract the package in the proper folder, specified by your operating system (Have a look at the
detailed documentation of the VideoStream class for the programming language you plan to work
with, use C++ if you don't plan to develop code. Within the C++ documentation navigate to "←-
Modules -> Common -> VideoStream", click on it and scroll down to "Detailed Description")

In wxPropView, a video stream can be recorded by the 'Start', 'Pause' and 'Stop' buttons at the top right tool-bar.
They are however inactive when the video stream recording mode is deactivated OR when the video stream is not
correctly set up.

Figure 1: Video stream recording control buttons (inactive)

A video stream needs to be set up first to be able to get recorded. To do so:

1. Select the device to use and open it by clicking on the 'Use' button.

2. Navigate to the 'Capture' menu and click on the 'Video Stream Recording...' option to start a setup dialog.

Figure 2: Click 'Video Stream Recording...'

Generated by Doxygen
48

3. A setup dialog will then be initialized as follows. Please read the setup hints in the text box for more informa-
tion.

Figure 3: Video stream recording setup dialog

4. Enable the video stream recording mode. Choose a pixel format (e.g. 'YUV422Packed' or 'YUV422Planar')
that will be generated by the device driver and used by FFmpeg for video stream encoding. Then click on
'Select an output file' to create/choose a file to hold the recorded video stream.

Generated by Doxygen
2.2 Advanced Operation 49

Figure 4: Enable the video stream recording mode and set up device driver related parameters

5. In the file selector, choose a file type (e.g. '∗.mp4' or '∗.m2v') and enter a file name.

Generated by Doxygen
50

Figure 5: Select an output file

6. Set up video stream related parameters accordingly. In the check boxes below, users are allowed to choose
whether to synchronize acquisition stop with recording stop and whether to overwrite the already recorded
video stream if the currently selected output file has the same file name as the previous one.

Generated by Doxygen
2.2 Advanced Operation 51

Figure 6: Set up video stream related parameters

7. Once the video stream recording has been set up, click 'Apply' or 'Ok' to apply the current settings. Afterwards,
a log message in the analysis output will indicate whether the current settings have been applied successfully.
If successful, the 'Start' control button at the top right tool-bar will be enabled.

Generated by Doxygen
52

Figure 7: Apply the current settings

Note

When deactivating the video stream recording, uncheck the 'Enable video stream recording mode' and
then click 'Apply' or 'Ok' for the settings to take effect.

Once the settings have been applied, users can control the recording process via the 'Start', 'Pause' and 'Stop'
buttons:

• Start recording: Click the 'Start' control button to start recording the video stream. The current recording
status and information will be displayed in the analysis output. During recording, the setup dialog as well as
the 'Start' button will be disabled. The 'Pause' and 'Stop' buttons will then be enabled.

Generated by Doxygen
2.2 Advanced Operation 53

Figure 8: Start recording

• Pause recording: Click the 'Pause' button to pause a running recording. The current recording status will be
displayed in the analysis output.

Figure 9: Pause recording

Generated by Doxygen
54

• Resume recording: Click the 'Pause' button to resume a paused recording. The current recording status will
be displayed in the analysis output.

Figure 10: Resume recording

• Stop recording: Click the 'Stop' button to stop recording the video stream. The current recording status and
information will be displayed in the analysis output. Once the recording has been stopped, the setup dialog
as well as the 'Start' button will be enabled again. The 'Pause' and 'Stop' buttons will then be disabled.

Generated by Doxygen
2.2 Advanced Operation 55

Figure 11: Stop recording

When recording to an output file which has the same file name as the previous one while overwriting the recorded
content is not desired:

1. When clicking 'Start', a file selector will pop up to ask users to create a new output file with the same file type
as the previous one. If a new set of parameters of the video stream recording is needed, please click 'Cancel'
in the file selector and re-configure parameters in the setup dialog.

Figure 12: Select a new file when starting to record to an output file with the same file name as the previous
one without overwriting

2. Once a new file has been created, the video stream will start to get recorded. The current recording status
and information will be displayed in the analysis output. During recording, the setup dialog as well as the
'Start' button will be disabled. The 'Pause' and 'Stop' buttons will then be enabled.

Generated by Doxygen
56

Figure 13: Start recording to an output file with the same file name as the previous one without overwriting

2.2.10 Influencing The Image Processing Performance

mvIMPACT Acquire internally as well as wxPropView's various analysis and display options make massive use
of various techniques to improve the overall processing performance. One of the techniques used is OpenMP
( https://en.wikipedia.org/wiki/OpenMP) for distributing the load caused by expensive algorithms.
Usually the OpenMP runtime choses acceptable default parameters for these tasks but sometimes or on some
platforms manual adjustment might become necessary. When defaults are not ideal for whatever reasons or you
simply want to play around with this feature the number of threads used by the OpenMP runtime can be configured
manually:

wxPropView - Setting the OpenMP Thread Count

Generated by Doxygen
2.3 Image Analysis 57

The number of threads can be anything between 1 and the number of CPUs in the current system. More threads
introduce more overhead thus the speed gain typically is NOT linear as it be seen in the next image:

wxPropView - Image Processing Time With Different Thread Counts

This timing diagram was generated by using the Feature Versus Time Plot. It can be seen that adding more threads
to a task is not always perfect. In fact the additional CPU time needed can be rather high (have a look at the task
manager of your system as well).

Note

Depending on the compiler used to build mvIMPACT Acquire and/or wxPropView setting the thread
count might either affect the whole process (Windows) or the display and analysis module of wxProp←-
View only (Linux). On systems where this does only affect wxPropView itself each mvIMPACT Acquire
driver instance will allow to adjust the maximum number of threads that shall be used for driver internal
image processing as well. In that case the property "SystemSettings -> ImageProcessing -> Image←-
ProcessingMaximumThreadCount" will be available and can be configured as needed.

Since

2.41.0

2.2.11 Sharpness Adjustment / Focus Your Lens

Sharpness Adjustment can be performed quite easily using on of the profile plots! See Horizontal/Vertical Line Profile
to find out how to do this.

2.3 Image Analysis

2.3.1 General Usage

wxPropView comes with various controls that allow to perform some basic analysis of the images captured or
imported from hard disk. Among these are elements to display various histograms and line profiles as well as
information about images or properties over time.

Some of the analysis plots allow to switch between Graphical and Numerical display. On the numerical
display a right-click on the data will allow to copy the full numerical data grid into the clipboard.

Generated by Doxygen
58

2.3.1.1 Analysis AOIs

wxPropView - Current pixel data

Whenever an analysis plot offers a user selectable AOI, the currently defined AOI will be displayed on top of the
image when the corresponding analysis plot is selected and the Full AOI Mode option for that plot is switched
off. The AOI then can either be selected by using the AOI related spin buttons within the analysis tabs control area
or by using the mouse within the image display area. When using the mouse:

• left-click anywhere within the AOI and hold down the mouse button to move the AOI

• move on any of the edges or corners of the AOI and press the left mouse button on any of the small squares
displayed on top of the bounding box to change the size of the AOI

• left-click anywhere outside the AOI and hold down the mouse button to draw a completely new AOI

2.3.1.1.1 Synchronize AOIs The AOIs for the individual analysis tabs can be configured independently from all
the other tabs and all settings will be stored across sessions. When closing wxPropView and restarting it later the
last configuration will be restored. Sometimes however it might be useful to use the same AOI for ALL analysis
tabs. This can be configured by enabling the "Synchronize AOIs" option:

Generated by Doxygen
2.3 Image Analysis 59

wxPropView - Current pixel data

2.3.1.2 Other Drawing/Display Options Some of the analysis plots will provide additional controls to configure
the way the resulting data will be displayed.:

• "Full AOI Mode": Instead of using the configured AOI to calculate analysis data the full image will be pro-
cessed. The current AOI settings however will be preserved and can be reactivated by switching this option
back to off.

• "Process Bayer Parity": When raw Bayer images are captured this option can be used to either treat this
image as a single channel gray-scale image or treat it as a 4 channel (red, green, green, blue) image resulting
in either one large data set or 4 smaller ones. The latter option might e.g. be useful to see differences in the 2
green components or can be used for white balancing an image by adjusting parameters until all 4 data sets
are almost equal.

• "Plot Differences": Will display the delta between the current and the previous value instead of the value
itself

• "Scale Automatically": Will automatically adjust the Y-axis of a plot to map the lowest value of the current
value set to the intersection with the X-axis and the highest value to the upper limit of the plot. Enabling this
option will constantly change the scale of the Y-axis

• "Draw Start(%)": Will define the start of the range of data to display relative to the full data available. E.g.
if a histogram contains 256 entries and this value is set to 50, then only the upper half of the histogram will
displayed. This value combined with "Draw Window(%)" will allow to zoom in on a certain range of the
result data.

• "Draw Window(%)": Will define the range of data to display from the full data available. E.g. if a histogram
contains 256 entries and this value is set to 50 while "Draw Start(\%)" remains 0 then only the lower half of
the histogram will displayed. This value combined with "Draw Start(%)" will allow to zoom in on a certain
range of the result data.

• "Draw Step Width": Will allow to define how many data points will be drawn. 0 will draw 256, 1 will draw
every data point which e.g. for 16-bit data might be slow and other values draw a subset from the available
data points and might result in rounding effects so e.g. might hide missing codes. Use this option carefully!

Generated by Doxygen
60

• "Update Interval": Allows to balance CPU usage versus update speed for the selected control. E.g. a value
of 3 will only calculate and display updated data every third image or AOI movement.

• "History Depth": This is e.g. supported by the Intensity Plot and defines the number of result data sets kept
in memory. E.g. a value of 5 will result in this and the last 4 analysis results being kept and displayed. This
result data sets will be generated either

– by consecutive images being fed into the analysis plot


– by modifying the AOI on the current image (e.g. by dragging it around)

Note

Not every option listed here will be available for every analysis control!

2.3.1.3 Copy Grid Data To The Clipboard


Since wxPropView version 1.11.0 it is possible to copy analysis data to the clipboard. The data will be copied in
CSV style thus can be pasted directly into tools like Open Office™ or Microsoft® Office™.

To do this

• right-click on the specific analysis grid when in numerical display mode and

• select "Copy grid to clipboard" from the pop up menu.

wxPropView - Copying grid data to the clipboard

From within this context menu also a printf style format string can be specified for the data grid in order to e.g.
view the data e.g. in hexadecimal format.

2.3.2 Pixel Histogram

The pixel histogram control does provide a way to visualize the intensity distribution of the individual color channels
of an image:

Generated by Doxygen
2.3 Image Analysis 61

wxPropView - Pixel Histogram

In this example as the AOI contains a lot of green pixels, less red pixels and even less blue pixels of different
medium intensities the resulting histogram has peaks within the middle of the histogram where the green peaks are
the highest, followed by red and then blue.

The displayed analysis results in the graphical view will be scaled automatically to accommodate the most frequent
value. At the top additional information about each color channel will be displayed. From left to right the 3 values
per channel are

• the mean/average value

• the most frequent value count

• the most frequent value

See also

Other Drawing/Display Options

2.3.3 Horizontal/Vertical Line Profile

The horizontal and vertical line profile plots provide a way to visualize course of the intensity either in a horizontal
or in a vertical direction:

Generated by Doxygen
62

wxPropView - Line Profile

In this example (horizontal line profile) each test image bar within the AOI results in a flat line of a certain intensity
within the middle of the intensity range. Whenever a new intensity bar starts there is a sudden jump in intensity
found as well in the profile.

Typically the AOI dimension in the other direction will be 1 but also any other value is possible. In that case the
average value of the included range will be calculated.

Note

The profile lines can also be used to conveniently adjust the focus by looking at an edge and then try to
adjust the lens in a way this edge has its maximum gradient.

See also

Other Drawing/Display Options

2.3.4 Spatial Noise Histogram

The spatial noise histogram calculates and evaluates the statistical difference between two neighboring pixels in
vertical and horizontal direction. I.e. it shows the sensor's spatial background pattern like the sensitivity shifts of
each pixel. An ideal sensor or camera has a spatial noise of zero, a real sensor will not. analog gain for example
will result in additional noise. However, you have to keep in mind the temporal noise as well.

Generated by Doxygen
2.3 Image Analysis 63

wxPropView - Spatial noise histogram

For the information displayed in the upper region of the graphical view read: Channel::Direction (Mean/average
difference, most frequent value count/ value, Standard deviation)
Example: For a single channel(Mono) image the output of 'C0Hor(3.43, 5086/ 0, 9.25), C0Ver(3.26, 4840/ 0, 7.30)
will indicate that the mean difference between pixels in horizontal direction is 3.43, the most frequent difference is 0
and this difference is present 5086 times in the current AOI. The standard deviation in horizontal direction is 9.25.
The C0Ver value list contains the same data but in vertical direction.

See also

Other Drawing/Display Options

2.3.5 Temporal Noise Histogram

The temporal noise histogram shows the changes of a pixel from image to image. This method is more stable
because it is relatively independent from the image content. By subtracting two images, the actual structure is
eliminated, leaving the change of a pixel from image to image, that is, the noise assuming the sudden, massive
changes in scene or lighting conditions can be neglected. When capturing images for this kind of analysis all
parameters should stay constant, all automatic mechanisms(AGC, AEC, AWB, ...) have to be turned off and the
image should not have underexposed or saturated areas. However, there are no picture signals without temporal
noise. Light is a natural signal and the noise always increases with the signal strength. If the noise only follows
the natural limits, then the camera is good. Only if additional noise is added the camera or the sensor isn't working
perfectly.

wxPropView - Temporal noise histogram

Generated by Doxygen
64

For the information displayed in the upper region of the graphical view read: Channel (Mean difference, most
frequent value count/ value, Standard deviation)

Example: For a single channel(Mono) image the output of 'C0(3.43, 5086/ 0, 9.25) will indicate that the mean
difference between pixels in 2 consecutive images is 3.43, the most frequent difference is 0 and this difference is
present 5086 times in the current AOI. The standard deviation between pixels in these 2 images is 9.25. Please
note the impact of the 'Update Interval' in this plot: It can be used to define a gap between 2 images to compare.
E.g. if the update interval is set to 2, the differences between image 1 and 3, 3 and 5, 5 and 7 etc. will be calculated.
In order to get the difference between 2 consecutive images the update interval must be set to 1!

See also

Other Drawing/Display Options

2.3.6 Intensity Plot

This plot can be used to display either the average intensity or the most frequent value of pixel data within a certain
AOI over time:

wxPropView - Intensity Plot

There will be history depth entries, meaning the calculated data of the last history depth images or AOI movements
will be stored and displayed. So assuming the color bar from the above image moves to the right a little with each
new image right now this results in an ever increasing average green intensity since darker parts move out of the
AOI while lighter ones enter it from the left. The red and blue components are 0 obviously since only the green color
bar is within the AOI.

See also

Other Drawing/Display Options

Generated by Doxygen
2.3 Image Analysis 65

2.3.7 Vector Scope

This plot will display the color distribution within a user selectable AOI within the analyzed image. Each color that
is present in the AOI will result in a single dot in the resulting plot, so colors appearing only in a single pixel will be
as prominent as a color occupying 99% of the AOI. This can be useful to check saturation, missing codes, fine tune
the color fidelity and various other things:

wxPropView - Vector Scope

In the center of the plot all pixels with similar intensities for all 3 color components of a pixel will end up. The farer
out a pixel the more prominent 1 or 2 intensities of a 3 channel image are relative to the third component. So an
RGB value of 255/0/0 will end up in the little red square of the plot, a value of 0/255/255 will end up in the little cyan
square and so on.

See also

Other Drawing/Display Options

2.3.8 Info Plot

The info plot allows to select a certain property which is part of the meta data / chunk data of each image and plot
the value of this feature over time to see changes in this value.

Generated by Doxygen
66

wxPropView - Info Plot

Useful things that can be done with this plot are:

• seeing gain/exposure changes over time (e.g.)

• seeing sudden jumps in the FrameID (e.g. because of transmission problems or device frame buffer over-
flows)(In this case it might be helpful to enable the "Plot Differences" option)

• checking the precision of IEEE1588 timestamps or timestamp that are in sync. with the host system in general
by using the "Timestamp As Time" display (This will assume the timestamp of the device to be a real-world
time thus will only display correct times if that is the case. Otherwise ignore this display)

• checking since when and for how long the current acquisition is running

• checking when the last buffer has been received from the currently selected device

Note

Most features might require that chunk data is switched on for the device data transfer. For more informa-
tion about enabling/disabling meta data or about the Chunk Data format please refer to the corresponding
chapter in the product manual!

See also

Other Drawing/Display Options

2.3.9 Feature Versus Time Plot

This control allows to display changes of an arbitrary property of time:

Generated by Doxygen
2.3 Image Analysis 67

wxPropView - Feature Versus Time Plot

To use this plot

• "right-click" on the desired feature in The Property Grid

• select "Plot in Feature Vs. Time Plot"

• make sure the plot is enabled

• select a suitable history depth and update interval

Useful things that can be done with this feature include:

• check how the device temperature changes over time

• see how the exposure time or gain changes when a device performs AEC or AGC

• check how the properties "Statistics -> ImageProcTime_s" or "Statistics -> FormatConvertTime_s"
change over time with changing AOIs or processing algorithms

Note

• Only a single feature can currently be displayed in this plot. As soon as another one is selected the
new feature will be plotted instead.
• Only integer or floating point properties can be attached to this control.

See also

Other Drawing/Display Options

Generated by Doxygen
68

2.4 Device Configuration

• General Device Configuration

• mvBlueFOX-1xx/mvBlueFOX-2xx

• Frame Grabber

2.4.1 General Device Configuration

After the device has been initialized successfully in the "Grid" area of the GUI the available GenICam "interface
layout" properties are displayed in a hierarchy tree.

wxPropView - Configuring a device:


https://www.matrix-vision.com/de/knowledge-base/video-tutorials/wxpropview/config

• Changing The Interface Layout To GenICam Or DeviceSpecific

• Different Interface Layouts

• Interface Configuration And Driver Configuration

• Storing, Restoring And Managing Settings

• White Balancing A Color Camera

• Configuring Different Trigger Modes

• Testing The Digital Inputs

• Compensating Defective Pixels

• Saving User Settings In The Non-volatile Memory

2.4.1.1 Changing The Interface Layout To GenICam Or DeviceSpecific The mvIMPACT Acquire interface
internally uses the GenICam runtime libraries, so that it can be considered as an user application written with the
GenICam interface. This behavior has several advantages:

• The current version of the mvGenTL-Acquire driver is meant to work with every GigE Vision™ and every U3V
(USB3 Vision™) compliant device.

• Developers either can use the generic GenICam properties or the "mvIMPACT Acquire" properties.

You can change the property interfaceLayout with wxPropView to select the preferred interface.

• When "GigE Vision" and GenICam compliant devices from several vendors shall be used in the same ap-
plication it's recommended to use the "GenICam" interface layout only in order to keep the application code
simple.

• When several different MATRIX VISION devices (e.g. a frame grabber, a USB camera and a GigE Vision
camera) shall be operated by the same application, it's recommended to use the device specific interface
for the same reasons.

Generated by Doxygen
2.4 Device Configuration 69

• When an application shall be able to work with every MATRIX VISION device and every "GigE Vision" and
GenICam compliant device both approaches make sense however a mixture between the 2 worlds can't be
avoided.

To specify the InterfaceLayout for all devices globally, you can do this via the "Action -> Default Device Interface
Layout" in the menu:

Global selection of the interface layout for all devices

If you want to specify the InterfaceLayout for the used device, you can do this via "Device Properties" in the
section "Device -> InterfaceLayout":

Selection of the interface layout for this specific device

Generated by Doxygen
70

Note

If a device is opened, but the selected interface layout has been declared deprecated, a message box
will show up to make sure that the interface layout has not been changed by accident.

Warning message if an interface layout is selected which has been declared deprecated for the used device

See also

• GenICam Standard Features Naming Convention (SFNC)( https://www.emva.org/standards-technology/

2.4.1.2 Different Interface Layouts Devices belonging to this family only support the Device Specific interface
layout which is the common interface layout supported by most MATRIX VISION devices.

GenICam compliant devices can be operated in different interface layouts. Have a look at a GenICam compliant
device for additional information.

2.4.1.3 Interface Configuration And Driver Configuration Some basic driver configuration is available through
the Detailed Driver Information dialog. Much more is possible and how to do this is described in the API manuals in
the corresponding chapter "Setting Up The Framework For Third Party GenTL Producer Usage"

See also

• https://www.matrix-vision.com/manuals/ (API manuals, see chapter "Setting Up The


Framework For Third Party GenTL Producer Usage")

2.4.1.4 Storing, Restoring And Managing Settings

• About Settings

• Storing Settings

• Restoring Settings

• Deleting Settings

Generated by Doxygen
2.4 Device Configuration 71

2.4.1.4.1 About Settings A setting contains all parameters that are needed to configure the device to a state it
was in when the setting was created. Every image can be captured with a completely different set of parameters. In
almost every case, these parameters are accessible via a property offered by the device driver. A setting e.g. might
contain

• The gain to be applied to the analog to digital conversion process for analog video sources or

• The AOI to be captured from the incoming image data.

So for the user a setting is the one and only place where all the necessary modifications can be applied to achieve
the desired data acquisition mode. There is however an important difference in behaviour between different interface
layouts. See here to find out how to modify the interface layout or check in the API documentation for the interface←-
Layout property of the class Device.

• When working with the DeviceSpecific interface layout, each frame will be captured with the settings as
present when requesting the image. Every parameter can be modified at any time. When requesting another
image the settings valid at that moment will be used to fill this buffer with data

• For the GenICam interface layout all device properties modified during a continuous acquisition will be applied
at once so might affect this or the next image transmitted by the device. Depending on various parameters
(the number of buffer already captured but not collected by the application, the way the device internally
operates(e.g. has already captured a couple of images that await transmission), etc.) this will have impact
on that captured images somewhere in the near future thus when a precise moment to change settings is
needed, continuous acquisition must be stopped and then restarted after modifying the features. Certain
features (typically those affecting the buffer layout/size) cannot be changed while a continuous acquisition is
running in GenICam interface layout anyway.

Now, whenever a device is opened, the driver will execute following procedure:

wxPropView - Device setting start procedure

Generated by Doxygen
72

• Please note that each setting location step in the figure from above internally contains two search steps. First
the framework will try to locate a setting with user scope and if this can't be located, the same setting will be
searched with global (system-wide) scope. On Windows this e.g. will access either the HKEY_CURRENT←-
_USER or (in the second step) the HKEY_LOCAL_MACHINE branch in the Registry.

• Whenever storing a product specific setting, the device specific setting of the device used for storing will be
deleted (if existing). E.g. you have a device "VD000001" which belongs to the product group "VirtualDevice"
with a setting exclusively for "VD000001". As soon as you store a product specific setting using THIS device,
the (device specific) setting for "VD000001" will be deleted. Otherwise a product specific setting would never
be loaded as a device specific setting will always be found first. Storing a product specific setting with
a different device belonging to the same family however will NOT delete device specific settings for other
devices.

• The very same thing will also happen when opening a device from any other application! mvPropView does
not behave in a special way but only acts as an arbitrary user application.

• Whenever storing a device family specific setting, the device specific or product specific setting of the device
used for storing will be deleted (if existing). See above to find out why.

• On Windows the driver will not look for a matching XML file during start-up automatically as the native
storage location for settings is the Windows Registry. This must be loaded explicitly by the user by using the
appropriate API function offered by the SDK. However, under Linux XML files are the only setting formats
understood by the driver framework thus here the driver will also look for them at start-up. The device specific
setting will be an XML file with the serial number of the device as the file name, the product specific setting
will be an XML file with the product string as the filename, the device family specific setting will be an XML
file with the device family name as the file name. All other XML files containing settings will be ignored!

• Restoring of settings previously stored works in a similar way. After a device has been opened the settings
will be loaded automatically as described above.

• A detailed description of the individual properties offered by a device will not be provided here but can be
found in the C++ API reference, where descriptions for all properties relevant for the user (grouped together
in classes sorted by topic) can be found. As mvPropView doesn't introduce new functionality but simply
evaluates the list of features offered by the device driver and lists them any modification made using the
GUI controls just calls the underlying function needed to write to the selected component. mvPropView also
doesn't know about the type of component or e.g. the list of allowed values for a property. This again is
information delivered by the driver and therefore can be queried by the user as well without the need to have
special inside information. One version of the tool will always be delivered in source so it can be used as a
reference to find out how to get the desired information from the device driver.

Generated by Doxygen
2.4 Device Configuration 73

2.4.1.4.2 Storing Settings

wxPropView - Storing settings

Settings can be stored in several ways via the menu: "Action -> Capture Settings -> Save Active Device
Settings":

• "As Default Settings For All Devices Belonging To The Same Family (Per User Only)": As the start-up
parameters for every device belonging to the same family, e.g. for mvBlueCOUGAR-X, mvBlueCOUGAR-XD,
mvBlueCOUGAR-XT.

• "As Default Settings For All Devices Belonging To The Same Family And Product Type": As the start-
up parameters for every device belonging to the same product, e.g. for any mvBlueCOUGAR-X but not for
mvBlueCOUGAR-XD or mvBlueCOUGAR-XT.

• "As Default Settings For This Device(Serial Number)": As the start-up parameters for the currently se-
lected device.

• "To A File": As an XML file that can be used e.g. to transport a setting from one machine to another or even
to use the settings configured for one platform on another (Windows <-> Linux <-> macOS).

2.4.1.4.3 Restoring Settings Restoring of settings previously stored works in a similar way as Storing Settings.
After a device has been opened the settings will be loaded automatically as described above.

However a different setting can be restored at any time via the menu: "Action -> Capture Settings -> Load
Active Device Settings":

• explicitly load the device family specific settings stored on this machine (from "The Default Settings Location
For This Devices Family (Per User Only)")

• explicitly load the product specific settings stored on this machine (from "The Default Settings Location For
This Devices Family And Product Type)")

• explicitly load the device specific settings stored on this machine (from "The Default Settings Location For
This Device(Serial Number)")

• explicitly load device family specific settings from a XML file previously created ("From A File")

Generated by Doxygen
74

Note

Another way to load a setting from hard disk is by dragging it onto The Property Grid and dropping it
there.
"GenICam devices": Since mvIMPACT Acquire 2.9.0 GenICam devices will be able to save their prop-
erties in a XML File, only if the properties have the streamable attribute set (for more information refer
to the GenICam standard specification). Properties with no streamable attribute set, will
be silently ignored when saving, which means they will not be saved in the XML file. For MATRIX VI-
SION GenICam cameras, starting with firmware version 1.6.414 the streamable attribute is set for all
the necessary properties.

Note

Since mvIMPACT Acquire 2.9.0 and again in version 2.11.0 storing and loading of camera settings in a
XML file for the GenICam interface layout has been updated. As a result XML files created with newer
versions of mvIMPACT Acquire might not be readable on systems with older version of mvIMPACT
Acquire installed. XML files created on systems with earlier versions of mvIMPACT Acquire will always
be readable this or newer versions. See the following table for details.

mvIMPACT Acquire Loading a XML set- Loading a XML set- Loading a XML set-
Version tings file created with tings file created with tings file created with
mvIMPACT Acquire ver- mvIMPACT Acquire ver- mvIMPACT Acquire ver-
sion < 2.9.0 sion 2.9.0 - 2.10.1 sion 2.11.0 or later
< 2.9.0 YES NO NO
2.9.0 - 2.10.1 YES YES NO
>= 2.11.0 YES YES YES

Attention

Since mvIMPACT Acquire 2.28.0 it is possible for devices operated in the GenICam interface lay-
out to store settings including sequencer set and user set (see SFNC( https://www.emva.←-
org/standards-technology/genicam/) for details) data by specifying appropriate flags dur-
ing the storage operation. Settings stored like this cannot be loaded by previous mvIMPACT Acquire
versions.

Note

For devices operated in the GenICam interface layout further restriction apply: Settings created with a
certain product type can only be used with other devices belonging to the exact same type as defined
by the property Product inside the device list (the one device specific property list that is accessible
without initializing the device before). Even if a setting can be used with various firmware versions it is
recommended to use one setting for multiple devices all updated to the very same firmware version to
avoid compatibility problems.

Generated by Doxygen
2.4 Device Configuration 75

wxPropView - Restoring settings

2.4.1.4.4 Deleting Settings With "Action -> Capture Settings -> Manage..." you can delete the settings
which were saved on the system:

wxPropView - Manage settings

This will open another dialog displaying ALL (not only the ones applicable for the currently selected device) settings
that are currently stored on the system at the default location:

wxPropView - Manage settings

Generated by Doxygen
76

2.4.1.5 White Balancing A Color Camera


Start the wxPropView and initialize the device by clicking "Use" and start a "Continuous" acquisition.

wxPropView - Starting window

While using a color version of the camera, the PC will calculate a color image from the original gray Bayer mosaic
data. For getting correct colors when working with a Bayer mosaic filter you have to calibrate the white balance (this
must be performed every time the lighting conditions change).
The "White Balance Control" can be found in "Setting -> Base -> Camera -> GenICam -> Analog Control ->
Balance White Auto". Just select "Continuous" and you will get a white balanced image.
For older devices, wxPropView offers predefined settings for e.g.

• "Daylight",

• "TungstenLamp",

• "HalogenLamp",

• "FluorescentLamp" and many more.

Simply select the necessary item in the menu "Image Settings -> Base -> ImageProcessing -> WhiteBalance"
(DeviceSpecific interface layout) or "Setting -> Base -> ImageProcessing -> WhiteBalance" (GenICam inter-
face layout).
If you need a user defined setting, you can also define own ones. For this, select a profile (e.g. User1) for this
setting:

wxPropView - Selecting WhiteBalance profile

Generated by Doxygen
2.4 Device Configuration 77

Note

You can use up to 4 profiles.

Point the camera on a white or light gray area (the pixels do not have to be saturated, so use gray values between
150 and 230).

Go to the menu item "WhiteBalanceCalibration" and select the parameter "Calibrate Next Frame":

wxPropView - WhiteBalanceCalibration

By committing the selected value, the application accepts the change. The next acquired image will be the reference
for the white balance.

All further acquired images will be balanced with this setting:

Generated by Doxygen
78

wxPropView - White balance summary

For easier handling and easier working, all settings can be saved by clicking the menu Action -> Capture Settings -> Save ....

2.4.1.5.1 Optimizing White Balance In The Camera The gain is increased before the digital white balancing,
which uses green as reference. Based on the 14 bit image raw data, the digital white balance adjusts the gain of
red and blue. Afterwards, the 8 bit reducing and the transfer takes place.

To optimize the digital white balance within the camera you can select "Red" or "Blue" in "Balance Ratio Selector"
(in "Analog Control") to adjust the gain. Afterwards, turn "Balance White Auto" to "Off" and "Once" to execute it.

wxPropView - Optimizing white balance

2.4.1.6 Configuring Different Trigger Modes

To configure a device for a triggered acquisition, in wxPropView the property "Setting -> Base -> Camera -
> GenICam -> Acquisition Control -> Trigger Selector" ("GenICam interface layout") is available. For older
devices without GenICam you will find the property here: "Image Setting -> Camera -> TriggerMode".

Generated by Doxygen
2.4 Device Configuration 79

Note

The supported trigger modes of each sensor are described in the "More specific data" of each sensor
in the corresponding product manual.

All trigger modes are defined by an enumeration:

• TCameraTriggerMode and TCameraTriggerSource

"For frame grabbers:"

• DeviceTriggerMode. 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.

A sample on how to query a property's translation dictionary can be found here:

• mvIMPACT::acquire::PropertyI::getTranslationDict (C++ developers)

• OBJ_GetDictSize() (C or VB developers)

There is also a chapter "Getting a triggered image" chapter, which is available in the "mvIMPACT Acquire API"
manuals.

2.4.1.7 Testing The Digital Inputs

Note

The following description will be significant if you are using the "DeviceSpecific interface layout". In
GenICam layout, the "Digital I/O" section can be found in "Setting -> Base -> Camera -> GenICam ->
Digital I/O Control".

For performance reasons, device drivers will not automatically update their digital input properties if nobody is
interested in the current state. Therefore, in order to check the current state of a certain digital input, it is necessary
to manually refresh the state of the properties. To do this please right-click on the property you are interested in and
select "Force Refresh" from the pop-up menu.

GenICam interface layout only:

Some devices might also offer an event notification if a certain digital input changed its state. This event can then
be enabled

• via the "EventSelector" in "Setting -> Base -> Camera -> GenICam -> Event Control".

• Afterwards, a callback can be registered by right-clicking on the property you are interested in again.

• Now, select "Attach Callback" from the pop-up menu and switch to the "Output" tab in the lower right section
of wxPropView (Analysis tabs).

Whenever an event is send by the device that updates one of the properties a callback has been attached to, the
output window will print a message with some information about the detected change.

Generated by Doxygen
80

wxPropView - Call refresh

2.4.1.8 Compensating Defective Pixels

Since

Firmware version 1.01.20

The mvBlueCOUGAR-S cameras feature a built-in defective pixel compensation. For that purpose, you will need
the current firmware.

See also

• Updating The Firmware Of A MATRIX VISION Device

To compensate the defective pixels, please do following steps (you can use the tab "Pixel Histogram" to show the
gray scale values):

1. Select the value "PixelCompensationLevelRaw", which indicates the percentage level from which a pixel is
considered as defective.

2. Over "int PixelCompensationDetect()", click on the right mouse button and confirm with "Execute".

Generated by Doxygen
2.4 Device Configuration 81

wxPropView - Execute PixelCompensationDetect

wxPropView - PixelCompensationDetect executed

Generated by Doxygen
82

3. Now, activate the PixelCompensation by setting "PixelCompensationMode" to "On."

wxPropView - PixelCompensationMode "On"

This setting can be saved in the camera via "int PixelCompensationSave()" so that the pixel compensation is
system independent.

2.4.1.9 Saving User Settings In The Non-volatile Memory


Some cameras offer the possibility, to save up to 4 user sets in the camera's non-volatile memory directly. This
means that all camera specific settings you've adjusted via wxPropView can be saved in a non-volatile memory.

Example: You have connected a flash via exposure out of the camera and you want to avoid an overload of the
flash by maloperation, you can save a suitable shutter time, with which the camera will start.

To save your specific settings, set you properties in the "Setting -> Camera -> GenICam" section of wxPropView.
Then, select in "User Set Control" your user set with the "User Set Selector", for example "UserSet1". Afterwards,
save the user set with "int UserSetSave()". Finally, if you want that the camera starts with a specific user set (after
power up), you have to select it with the "User Set Default Selector".

wxPropView - User set control

Generated by Doxygen
2.4 Device Configuration 83

Attention

A firmware update will delete all saved register settings!

2.4.2 mvBlueFOX-1xx/mvBlueFOX-2xx

2.4.2.1 Setting Up External Trigger And Flash Control To set up external trigger and flash control, following
things are required:

• mvBlueFOX-1xx or mvBlueFOX-2xx with CCD sensor

• Host PC with USB 2.0 interface

• USB 2.0 cable with max. 5m

• Cable for supplying external trigger signal to camera

• Flash with needed cable and power supply

The camera is only connected by USB 2.0 cable to PC. All other signals are connected directly to the camera.
Trigger and flash signals are directly controlled by the FPGA, which does the timing in the camera. This makes the
trigger and flash control independent from CPU load of host PC or temporary USB 2.0 interrupts.

mvBlueFOX-1xx/mvBlueFOX-2xx - Trigger and flash

Trigger control
External trigger signal resets the image acquisition asynchronously to any other timing so that reaction delay is such
short that it can be ignored. If a delay between trigger signal and starting integration is needed, it can be defined.
By default it is set to 0 us.

Flash control
Signal for flash control is immediately set as soon as image integration begins. If a delay is needed it can be defined.
By default this delay is set to 0.

Generated by Doxygen
84

2.4.2.1.1 Connection External trigger signal


Signal for triggering image acquisition must be connected to digital input on backside of the mvBlueFOX on the
"D-Sub 9-pin connector" (see product manual https://www.matrix-vision.com/manuals/). You
can choose either input IN0 (pin 6 and 1) or IN1 (pin 9 and 4) for triggering.

mvBlueFOX-1xx/mvBlueFOX-2xx - External trigger signal

Schematic shows how to fit application's switch to camera's digital input. External trigger signal must be in following
conditions:

• TTL (5 V): High min. 3 V, Low max. 1 V

• PLC (24 V): High min. 12 V, Low max. 10 V

Application's switch can be a mechanical one any light barrier or some kind of encounter.

Note

Depending on used switch it might be necessary to use a pull-up or pull-down resistor so that camera
input can recognize signal correctly.

See also

• "Characteristics of the digital inputs" in the product manual ( https://www.matrix-vision.←-


com/manuals/)

To test the general trigger functionality, please follow these steps:

1. Select the "Acquisition Mode" "Continuous".

2. Click on "Acquire".

3. Set the "TriggerMode" to "OnHighLevel".

4. Set the "TriggerMode" to "DigitalInputThreshold" to e.g. 2V.

5. Connect a standard power supply with e.g. 5 V (higher than the value of "DigitalInputThreshold") to pin 1 (-)
and pin 6 (+)

Generated by Doxygen
2.4 Device Configuration 85

As long as the power supply is connected, you can see a live preview. If you disconnect the power supply the live
preview should stop. If this is working the trigger input works.

mvBlueFOX-1xx/mvBlueFOX-2xx - Settings to test the general trigger functionality

External flash signal


For supplying flash with control signal use any digital output Out0 (pin 7 and 2) or Out1 (pin 8 and 3) on 9 pin D-Sub
connector.

Generated by Doxygen
86

mvBlueFOX-1xx/mvBlueFOX-2xx - External flash signal

If current needed for flash is below 100 mA you can connect flash directly to camera outputs. If it is higher, you have
to use an additional driver for controlling the flash, which provides the higher current.

Note

Depending on used flash driver it could be necessary to use pull-up or pull-down resistors so that driver
can recognize the signal correctly.

See also

• "Characteristics of the digital outputs" in the product manual ( https://www.matrix-vision.←-


com/manuals/)

By default camera is running free. This means, it uses its own timing depending on set pixel clock, exposure time
and shutter mode.

2.4.2.1.2 Configuring An External Trigger Signal To let the camera acquire images only with an external trig-
ger signal you must change the "TriggerMode" to the mode suitable to your application:

Generated by Doxygen
2.4 Device Configuration 87

mvBlueFOX-1xx/mvBlueFOX-2xx - TriggerMode

Mode Description
Continuous Free running, no external trigger signal needed.
OnDemand Image acquisition triggered by command (software trigger).
OnLowLevel As long as trigger signal is Low camera acquires images with own timing.
OnHighLevel As long as trigger signal is High camera acquires images with own timing.
OnFallingEdge Each falling edge of trigger signal acquires one image.
OnRisingEdge Each rising edge of trigger signal acquires one image.
OnHighExpose Each rising edge of trigger signal acquires one image, exposure time corresponds to pulse
width.
OnLowExpose Each falling edge of trigger signal acquires one image, exposure time corresponds to pulse
width.
OnAnyEdge Start the exposure of a frame when the trigger input level changes from high to low or from
low to high.

Now, define on which pin the trigger signal is connected to.

Generated by Doxygen
88

mvBlueFOX-1xx/mvBlueFOX-2xx - TriggerSource

Choose either "DigIn0" if signal is connected to "IN0" or DigIn1 if signal is connected to IN1. In general entry
"RTCtrl" is not useful in this case because triggering would be controlled by the HRTC("Hardware Real-Time
Controller")(see product manual https://www.matrix-vision.com/manuals/) which is not described
here and also not necessary.

Depending on voltage level you are using for trigger signal you must choose the "DigitalInputThreshold":

mvBlueFOX-1xx/mvBlueFOX-2xx - DigitalInputThreshold

Generated by Doxygen
2.4 Device Configuration 89

In case of TTL choose 2V and in case of PLC choose 10V.


Now, the image acquisition runs corresponding to external trigger signal and trigger mode. You will see the acquired
images on the left part of the window. Preview will be updated in frequency of external trigger.
The program knows a timeout period within at least one trigger signal must be provided to the camera. If no trigger
signal comes within this time, no image is acquired and an error is set (error count increases). So be sure to set
this timeout period to a value, which is long enough to receive at least one trigger signal. You can set this value in
"ImageRequestTimeout_ms" property:

mvBlueFOX-1xx/mvBlueFOX-2xx - ImageRequestTimeout_ms

2.4.2.1.3 Configuring A Flash Signal To activate flash control signal set "FlashMode" to the output you con-
nected flash or flash driver to:

Generated by Doxygen
90

mvBlueFOX-1xx/mvBlueFOX-2xx - External flash signal

Since this mode is activated each image acquisition will generate the flash signal. This generation is independent
from used trigger mode. Flash signal is directly derived from integration timing.

This means that if no "FlashToExposedToLightDelay" is set flash signal will rise as soon as integration starts and fall
when integration is finished. The pulse width cannot be changed. So you can be sure that integration takes place
when trigger signal is high.

2.4.2.2 Working With The Hardware Look-Up-Table (LUT) There are two parameters which handles the pixel
formats of the camera:

• "Setting -> Camera -> PixelFormat" defines the pixel format used to transfer the image data into the target
systems host memory.

• "Setting -> ImageDestination -> PixelFormat" defines the pixel format of the resulting image (which is
kept in the memory by the driver).

If both formats are set to "Auto", 8 bit will be used.

If you set "LUTImplementation" to "Software" in "Setting -> ImageProcessing -> LUTOperations", the hardware
Look-Up-Table (LUT) will work with 8 bit data ("LUTMappingSoftware = 8To8"). Using Gamma functions you will
see gaps in the histogram:

mvBlueFOX-1xx/mvBlueFOX-2xx - 8to8 software LUT leads to gaps in the histogram using gamma functions
(screen-shot: mvBlueFOX-MLC)

Generated by Doxygen
2.4 Device Configuration 91

If you set "LUTImplementation" to "Hardware" in "Setting -> ImageProcessing -> LUTOperations", the hardware
Look-Up-Table (LUT) will work with 10 bit data inside the camera and converts the data to 8 bit for output ("←-
LUTMappingHardware = 10To8"). Now, there will be no gaps in the histogram:

mvBlueFOX-1xx/mvBlueFOX-2xx - 10to8 hardware LUT showing no gaps in the histogram (screenshot:


mvBlueFOX-MLC)

Generated by Doxygen
92

2.4.3 Frame Grabber

2.4.3.1 Working With Camera Descriptions Certain capture device (e.g. frame grabber) can process data from
a wide range of imaging devices (e.g. cameras). However, in order to interpret the incoming data from an imaging
device correctly, the capture device needs to be given a certain amount of information about the structure of the
video signal.

The "mvIMPACT Acquire" interface addresses this necessity by the introduction of so called "camera descrip-
tions". A "camera description" is a certain set of parameters that should enable the capture device to cope with
the incoming image data to reconstruct a correct image from the imaging device in the memory of the host system.
For instance, this information may contain information whether the image is transmitted as a whole or if it's transmit-
ted as individual blocks (e.g. when dealing with interlaced cameras) that need to be reconstructed in a certain way
to form the complete image.

Each capture device will support different sets of parameters. For example some capture devices will only be able to
capture image data from standard video source such as a PAL or NTSC compliant camera, while others might only
be capable to acquire data from digital image source such as CameraLink® compliant cameras. To reflect these
device specific capabilities "camera descriptions" have been grouped into different base classes. See e.g. mv←-
IMPACT::acquire::CameraDescriptionStandard to find out how the basic structure of these objects look. Which
basic "camera description" classes are supported by an individual device can be seen directly after the device
has been initialised by looking in the "camera description" list. By default this list will contain one description for
each supported basic family:

wxPropView - Available general camera descriptions

To select a certain camera description to be used to prepare the capture device for the expected data the property
"Type" under "Image Settings -> Camera" can be modified. Here every available set of camera parameters will
be listed:

Generated by Doxygen
2.4 Device Configuration 93

wxPropView - Selecting a camera description

Now, when a camera is connected, that differs in one or more parameters from the default offered by one of the
available base classes and no special description for the imaging device in question is available a new matching
description must be generated.

Note

It's also possible to modify one of the standard descriptions to adapt the parameter set to the used
imaging device, but this method is not recommend as this would define something to be "standard",
which in fact is not. Therefore it is not possible to store the standard descriptions permanently. It is,
however, possible to modify and work with the changed parameters, but these changes will be lost once
the device is closed.

The recommended way of adapting an imaging source to a capture device is to create a new description for a imag-
ing device that does not completely fall into one of the offered standard descriptions. The first thing to decide when
creating a new camera description is to which existing description offers the closest match for the new description.
Once this has been decided a copy of this description can be created with an arbitrary name (that must be unique
within the family the description is created from). Under wxPropView this can be achieved by

• typing the new name in the parameter edit control right of the "Copy" method of the camera description to
create the copy from.

• Afterwards, press ENTER to commit the new name and then the "Copy" method can be invoked

• by right-clicking on the name of the function and

• selecting "Call" from the popup menu:

Generated by Doxygen
94

wxPropView - Creating a new camera description

Afterwards, the newly created camera description will be added to the list of existing ones. Its parameters at this
point will match the parent description (the one the "Copy" method was executed from) completely.

wxPropView - The newly created camera description

Generated by Doxygen
2.4 Device Configuration 95

Now, the reason for creating a new camera description was that the parameters in the existing description didn't
exactly match the connected imaging device. Therefore, the next step would probably be to modify some of the
parameters. Once this has been done (or before) the newly created description can be selected via the property
"Type" under "Image Settings -> Camera":

wxPropView - Selecting the newly created camera description

Note

A new camera description will NOT be stored permanently by default. In order to make this description
available the next time the capture device is initialised, the newly created description must be exported
via a function call.

To store a camera description permanently the "Export" method of the new camera description must be invoked.
The method does not require any parameters so it can be executed directly by right-clicking on the name of the
function and selecting "Execute" from the popup menu:

Generated by Doxygen
96

wxPropView - Exporting a created camera description

As a direct result the modified settings will become the new default values of this particular camera description.
wxPropView indicates this by displaying all values belonging to the description in green now:

Generated by Doxygen
2.4 Device Configuration 97

wxPropView - After exporting a new camera description

Note

Again please note, that this will NOT work for one of the standard camera descriptions. Whenever the
user tries to export one of these, the error DMR_EXECUTION_PROHIBITED will be returned.

When exporting a camera description a file in XML format will be written to disc. On Windows® camera descriptions
will be stored under "%ALLUSERS%\Documents\MATRIX VISION\mvIMPACT acquire\Camera←-
Files" or "%MVIMPACT_ACQUIRE_DATA_DIR%\hfill \breakCameraFiles" which will point to the
same folder. On Linux® this directory will be "/etc/matrix-vision/mvimpact-acquire/camerafiles"
while under other platforms these files will end up in the current working directory.

Now, when closing and re-opening a device only the default camera descriptions an the one selected before settings
have been saved will appear in the list of camera descriptions. This is to save memory. However, all detected camera
descriptions will be available via the property "Type" under "Image Settings -> Camera":

Generated by Doxygen
98

wxPropView - After re-opening of the device

Once a description is selected, that hasn't been in the list of camera descriptions before, it will be created and thus
will become available for modifications again:

Generated by Doxygen
2.4 Device Configuration 99

wxPropView - After re-opening of the device and selecting a imported camera

Again: For a different camera a new description should be generated, to operate complex cameras in different
modes, a either a new description can be generated or an existing one can be modified.

After a camera has been modified the "Import" method can be used to fall back to the values stored in the camera
description file:

Generated by Doxygen
100

wxPropView - Invoking the "Import" command of a camera description

This will restore the default settings for this description:

Generated by Doxygen
2.4 Device Configuration 101

wxPropView - After invoking the "Import" command of a camera description

2.4.3.1.1 Configuring An Unknown CameraLink Or SDI Camera If you need a camera description of an un-
known CameraLink or SDI camera, wxPropView supports you with three properties, which can be found in "Info
-> Camera":

• DataCycleCounterLine0

• DataCycleCounterLine1

• LineCounter

For line scan cameras, the property DataCycleCounterLine0 is enough to know.

Generated by Doxygen
102

wxPropView - Info -> Camera

For area scan cameras, you will need all three properties.

Generated by Doxygen
2.4 Device Configuration 103

wxPropView - Info -> Camera

You can take the information in "Info -> Camera" to enter the values in "Camera Descriptions". (The figures 37
and 38 are showing CameraLink examples with default values in "Camera Descriptions". The values from "Info ->
Camera" are not entered yet.)

Note

To get the current values of the properties mentioned above you have to "Acquire" a "SingleFrame" first!

2.4.3.2 Basic Trigger Techniques In CameraLink Systems

Generated by Doxygen
104

2.4.3.2.1 Area Scan Cameras

2.4.3.2.2 Mode 1: Frame grabber is triggered, free running camera

Frame grabber is triggered, free running camera

2.4.3.2.3 Mode 2: Camera is triggered

Camera is triggered

2.4.3.2.4 Line Scan Cameras

Generated by Doxygen
2.4 Device Configuration 105

2.4.3.2.5 Mode 1: Camera is triggered by frame grabber

Camera is triggered by frame grabber

2.4.3.2.6 Mode 2: External trigger signal triggers camera

External trigger signal triggers camera

2.4.3.3 Triggering With mvHYPERION

2.4.3.3.1 Area Scan Cameras

Generated by Doxygen
106

2.4.3.3.2 Mode 1 In this mode, there is no change in the "Digital I/O" interface necessary.

Now, please follow these steps to run Mode 1 with mvHYPERION:

1. In "Image Setting -> Camera -> TriggerControls -> Frame Start" set "TriggerMode" to "On".

2. Choose the "TriggerSource" input (normally "Trigger-In").

3. Choose the "TriggerActivation" according to the application (e.g. "FallingEdge", "RisingEdge", etc.).

In order to that the camera will send an image stream continuously and the next image after a trigger event will be
acquired.

2.4.3.3.3 Mode 2 In this mode, there is no setup in "TriggerControls" necessary ("TriggerMode" = "Off").

Now, please follow these steps to run Mode 2 with mvHYPERION:

1. In "Digital I/O" set "ControlMode" to "PulseStartConfiguration".

2. Now, set the wanted mode of the used CameraLink signal (normally "DigitalOutputs -> CC1"), which is used
for triggering "TriggerSource" input (normally "Trigger-In"):

(a) "SinglePulse": On the basis of "PulseStartConfiguration" a signal is created and given to the camera for
triggering. Delay time and pulse width can be defined.
(b) "PassThrough": The signal of the chosen input will be negated in timing and pulse width or not passed
to the camera.

3. In "PulseStartConfiguration" set the PulseStartTrigger to "DigitalSignal":

(a) Set "DigitalSignal" to the wished input (normally: "Trigger-In").


(b) If the signal happens too fast, you can divide the trigger frequency with the "TriggerDivider".
(c) "TriggerMoment" shows the starting time with falling or rising edge.

Now, after a external trigger signal on the trigger input of the frame grabber, a trigger signal is generated on the
CameraLink connection ("CC1") and passed to the camera. In order to that, the camera acquires an image and
sends it to the frame grabber. You do not need a trigger on the frame grabber for the image acquisition given that
the frame grabber waits for the next image.

2.4.3.3.4 Line Scan Cameras

2.4.3.3.5 Mode 1 In this mode, there is no setup in "TriggerControls" necessary ("TriggerMode" = "Off").

Now, please follow these steps to run Mode 1 with mvHYPERION:

1. In "Digital I/O" set the mode to "SinglePulse" of the used CameraLink signal (normally "DigitalOutputs ->
CC1"), which is used for triggering and

(a) define "Priority", "Delay_us" and "Width_us" (pulse width).


(b) Afterwards, set the "PulseStartConfiguration" to "PulseStartConfiguration0".

2. In "PulseStartConfiguration"

(a) set the PulseStartTrigger to "Periodically".


(b) The Property "Frequency_Hz" defines the line frequency, which is passed to the camera over "CC1".

Generated by Doxygen
2.4 Device Configuration 107

2.4.3.3.6 Mode 2 "TriggerControls" settings in this mode are optionally.

Following settings in "Digital I/O" are necessary:

1. Now, set the wanted mode of the used CameraLink signal (normally "DigitalOutputs -> CC1"), which is
used for triggering "TriggerSource" input (normally "Trigger-In"):

(a) "SinglePulse": On the basis of "PulseStartConfiguration" a signal is created and given to the camera for
triggering. Delay time and pulse width can be defined.
(b) "PassThrough": The signal of the chosen input will be negated in timing and pulse width or not passed
to the camera. Please choose "Sync-In" as input. No further settings are necessary.

2. In "PulseStartConfiguration" set the PulseStartTrigger to "DigitalSignal":

(a) Set "DigitalSignal" to the wished input (normally: "Sync-In").


(b) If the signal happens too fast, you can divide the trigger frequency with the "TriggerDivider".
(c) "TriggerMoment" shows the starting time with falling or rising edge.

Now, after a external trigger signal on the sync input of the frame grabber, a trigger signal is generated on the
CameraLink connection ("CC1") and passed to the camera. In order to that, the camera acquires an image and
sends it to the frame grabber. It is possible to trigger the image acquisition of the frame grabber externally. For this,
please do following:

1. In "Image Settings -> Camera -> TriggerControls -> Frame Start" set "TriggerMode" to "On".

2. Choose the "TriggerSource" input (normally "Trigger-In").

3. Choose the "TriggerActivation" according to the application (e.g. "FallingEdge", "RisingEdge", etc.).

Per image and frame trigger, the number of lines will be acquired, which were defined in the camera description and
the AOI setting before.

2.4.3.4 Camera Acquisition Techniques There are different camera acquisition techniques. How you can set
them with wxPropView, which will be shown in the following section.

2.4.3.4.1 StartTrigger Directly after the trigger signal the acquisition starts. If you have, for example, a line scan
camera and want to acquire 1000 lines, 1000 lines will be acquired. During this time, further trigger signals are
ignored.

StartTrigger

Generated by Doxygen
108

To use StartTrigger, in wxPropView you have to

• set "Image Settings -> Camera -> TriggerControls -> FrameStart" to "On",

• select in "FrameStart" the used "TriggerSource" and

• set "Image Settings -> Camera -> TriggerControls -> FrameStop" to "Off".

wxPropView - Setting StartTrigger

2.4.3.4.2 TriggerStartStop In TriggerStartStop there are two trigger sources, one to start the acquisition and
the second trigger event to stop it. Between start and stop, there is at least one line pause. The image height is
affected by the stop event.

Generated by Doxygen
2.4 Device Configuration 109

TriggerStartStop

To use TriggerStartStop, in wxPropView you have to

• set "Image Settings -> Camera -> TriggerControls -> FrameStart" to "On",

• select in "FrameStart" the used "TriggerSource",

• set "Image Settings -> Camera -> TriggerControls -> FrameStop" to "On" and

• select in "FrameStop" the used "TriggerSource".

wxPropView - Setting TriggerStartStop

Generated by Doxygen
110

2.4.3.4.3 TriggerStartStop - Restart With "TriggerStartStop - Restart" the first trigger starts the acquisition
and following trigger signal stops the previous acquisition and starts the next one.

TriggerStartStop - Restart

To use "TriggerStartStop - Restart", in wxPropView you have to

• set the same parameters in "Image Settings -> Camera -> TriggerControls -> FrameStart" and "Image
Settings -> Camera -> TriggerControls -> FrameStop".

wxPropView - Setting StartTrigger

Generated by Doxygen
2.4 Device Configuration 111

Note

The image height depends on the trigger frequency.

1. trigger period > frame period -> image height complete

2. trigger period < frame period -> image height reduced (line synchronous; next request starts
immediately without loss of lines)

2.4.3.4.4 TriggerDelay With TriggerDelay it is possible to specify a delay after the trigger start event.

Trigger Delay

To use TriggerDelay, in wxPropView you have to

• set in "CameraDescriptions" the "Y" parameter of "ActiveVideoAoi",

Using line scan cameras, the "Y" position specifies the trigger acquisition delay in lines.

Generated by Doxygen
112

wxPropView - Setting The Trigger Delay

2.4.3.5 Triggering With mvTITAN-CL / mvGAMMA-CL

2.4.3.5.1 Area Scan Cameras

2.4.3.5.2 Mode 1 In this mode, there is no change in the "Digital I/O" interface necessary.

Now, please follow these steps to run Mode 1:

1. In "Camera -> TriggerMode" choose the "TriggerMode" (see also: CameraSettingsFrameGrabber and
TriggerControl).

2. Choose the "TriggerSource" input (normally "Trigger-In").

3. Choose the "TriggerActivation" according to the application (e.g. "FallingEdge", "RisingEdge", etc.).

In order to that the camera will send an image stream continuously and the next image after a trigger event on input
Trigger-In will be snapped.

Generated by Doxygen
2.4 Device Configuration 113

2.4.3.5.3 Mode 2 In this mode, there is no setup in "Camera" necessary.

Now, please follow these steps to run Mode 2:

1. In "Digital I/O -> DigitalOutputs" (see also: IOSubSystemFrameGrabber) set "ControlMode" of the used
CameraLink signal (normally "DigitalOutputs -> CC1") to "SinglePulse".

2. Now, set

(a) negation in "Polarity".


(b) delay time in "Delay_us".
(c) pulse width in "Width_us".

3. In "Digital I/O -> DigitalOutputs" set

(a) "PulseStartEvent" to "Trigger".


(b) "ImageTrigger" to the wished image acquisition point in time.

Now, after a external trigger signal on the trigger input "Trigger-In" of the frame grabber, a trigger signal is generated
on the CameraLink connection ("CC1") and passed to the camera. In order to that, the camera snaps an image and
sends it to the frame grabber. You do not need a trigger on the frame grabber for the image acquisition given that
the frame grabber waits for the next image.

2.4.3.5.4 Line Scan Cameras

2.4.3.5.5 Mode 1 In this mode, there is no setup in "Camera" necessary.

Now, please follow these steps to run Mode 1:

1. In "Digital I/O -> DigitalOutputs" (see also: IOSubSystemFrameGrabber and PulseStartConfiguration)


set

(a) set "ControlMode" to "RTC". "CC1" should disappear.


(b) Choose in "PulseStartEvent(line scan)" "Periodically".
(c) Set "SoftwareSignalPeriod_pclk", which specifies the period of the signal which is passed to the camera.
(d) Select the CameraLink channel of the signal in "Output" (normally "CC1").
(e) Set the pulse width in "Width_pclk".
(f) Set the negation in "Polarity".

In order to that the frame grabber will create a continuous signal with the defined period and it will be sent to the
camera via CameraLink. With this signal, the camera acquires lines and sends them to the frame grabber. Per
image, the number of lines will be acquired, which were defined in the camera description and the AOI setting
before.

Generated by Doxygen
114

2.4.3.5.6 Mode 2 Following settings in "Digital I/O" are necessary:

1. In "Digital I/O -> DigitalOutputs" (see also: IOSubSystemFrameGrabber and PulseStartConfiguration)


set the "PulseStartEvent"

(a) Choose a "PassThrough" mode to pass through the external trigger signal on "Sync-In" in frequency
and pulse width.
(b) Choose CameraLink output (normally "CC1").

2. Create a new signal via modes "Sync-In RisingEdge" or "Sync-In FallingEdge":

(a) Choose CameraLink output (normally "CC1").


(b) Set the pulse width in "Width_pclk".
(c) Set the negation in "Polarity".
(d) If the line trigger signal happens too fast, you can divide the trigger frequency with the "Dividers".
(e) "TriggerMoment" shows the starting time with falling or rising edge.

Now, after a external trigger signal on the sync input of the frame grabber, a trigger signal is generated on the
CameraLink connection ("CC1") and passed to the camera. In order to that, the camera acquires an image and
sends it to the frame grabber. It is possible to trigger the image acquisition of the frame grabber externally. For this,
please do following:

1. In "Image Settings -> Camera -> TriggerControls -> Frame Start" set "TriggerMode" to "On".

2. Choose the "TriggerSource" input "Trigger-In".

Per image and frame trigger, the number of lines will be acquired, which were defined in the camera description and
the AOI setting before.

2.5 Wizards

Wizards in wxPropView are meant to provide a convenient way to make use of certain sets of features that would
otherwise need cumbersome setting up via The Property Grid.

wxPropView - Wizard Access

Generated by Doxygen
2.5 Wizards 115

A wizard can be accessed in 3 ways:

• By pressing the Wizard button on the left toolbar of the application. This button will be enabled whenever
a property is selected in The Property Grid for which a wizard exists and when all other features needed by
this wizard are supported by the device/driver combination as well. So e.g. when selecting any LUT feature
in The Property Grid the Wizard button should become available. So pressing it afterwards would open the
LUT Control Wizard.

• By right-clicking on a feature and selecting "Open Wizard" from the context menu

• By selecting it from the Wizards menu. Here all wizards available by the open device currently selected will
be enabled. Disabled menu entries are either not available for this device or the device needs to be opened
first.

2.5.1 AOI Wizard

wxPropView - AOI Wizard

The AOI wizard allows the set up all sorts of AOIs in a fairly easy way. Supported AOIs can either be configured as
described within the image analysis chapter (Analysis AOIs) or by using the controls offed by the dialog. To select
a certain AOI when starting the wizard first the device will be configured to full AOI mode again. Pressing "Ok" will
then close the dialog and will apply all AOI settings to the device, pressing "Cancel" will revert all changes made
with this dialog.

Generated by Doxygen
116

2.5.2 Color Correction Wizard

The color correction wizard is mainly meant to allow the usage of the sensor specific color correction matrix (CCM)
which is a standard feature for every MATRIX VISION GenICam device and adjust the color correction to the used
output display thus the monitor which might use a certain color space. Both CCMs (camera and monitor) can then
be combined with a third one that will add/remove saturation from the resulting image. When satisfying settings
have been found some devices will allow to write these settings back into the device. If that is possible then all
the needed calculation will be done in the device itself thus resulting in satisfying images that do not cause any
additional CPU load on the host system.

Note

If the calculation cannot be done by the device then enabling this feature will result in additional CPU
load on the host system!

wxPropView - Color Correction Wizard

2.5.3 File Access Wizards

Both the file up- and download wizard provide an easy way to exchange files with a device. If supported by the
device this can be used e.g. to download a flat field correction image or an application specific file (e.g. calibration
data) that then later is used by another application. These wizards wrap the GenICam File Access Control features.

See also

• GenICam Standard Features Naming Convention (SFNC)( https://www.emva.org/standards-technology/


• API manuals ( https://www.matrix-vision.com/manuals/)

Generated by Doxygen
2.5 Wizards 117

2.5.4 Lens Control Wizard

Note

This wizard addresses MATRIX VISION specific features only thus will only be available for certain Gen←-
ICam compliant MATRIX VISION devices! Whether or not a device supports all the features required by
this wizard determines if it will be available or not. Please refer to the product manual of your device.
If supported a use-case describing electrical characteristics as well as various other information that is
needed to work with this wizard can be found there.

wxPropView - Lens Control Wizard

If the feature is available it allows to control a motorized lens connected to the MATRIX VISION device. Things like
focus or zoom might be configurable then depending on the used lens.

See also

• product manuals ( https://www.matrix-vision.com/manuals/)

2.5.5 LUT Control Wizard

The LUT wizard addresses the GenICam LUT Control feature category and aims to provide an easy way to set up
LUTs on a device. A detailed description of the GenICam related features used by the wizard can either be found in

Generated by Doxygen
118

the product specific manual, the mvIMPACT Acquire API documentation or the GenICam SFNC (Standard Features
Naming Convention).

When this wizard is started the first time for a given device it will download all LUTs from the device into the host
systems RAM. Depending on the speed the device is capable of delivering the requested data this might take some
time. During the download or later when uploading a LUT back into the device a progress dialog will inform about
the estimated time remaining. Afterwards the following dialog will be displayed:

wxPropView -LUT Wizard

Depending on the feature set supported by the device certain features might be disabled or simply will not be
displayed at all. In the upper left corner the LUT to configure can be selected, on the left hand side various controls
will allow to modify the currently selected LUT and the upper right buttons can be used to up- and download the
LUTs to/from the device. With the Import and Export buttons it is possible to exchange LUT data with the hard disk
in CSV-format.

For example if a device supports several LUTs (e.g. one for every color channel) then to copy one LUT into another
press the Copy button:

Generated by Doxygen
2.5 Wizards 119

wxPropView - LUT Wizard: Copy a LUT

It is also possible to manually enter each LUT entry by selecting the Numerical tab on the wizard, but this can
take quite some time. It would probably be easier to use Excel or something similar and then export the data in
CSV-format and import it back into the wizard again.

All modifications done to LUTs happen in the host systems cache. To make them effective they must be sent back
to the device. This can be done using the Synchronize dialog:

wxPropView - LUT Wizard: Synchronize

See also

• GenICam Standard Features Naming Convention (SFNC)( https://www.emva.org/standards-technology/


• API and product manuals ( https://www.matrix-vision.com/manuals/)

Generated by Doxygen
120

2.5.6 Multi-AOI Wizard

This wizard will allow to set up a device for transferring multiple AOIs from one larger image combined into a single,
then smaller frame.

Since

mvIMPACT Acquire 2.19.0

Note

This wizard addresses MATRIX VISION specific features only thus will only be available for certain Gen←-
ICam compliant MATRIX VISION devices! Whether or not a device supports all the features required by
this wizard determines if it will be available or not. Whether or not a device supports the "mvMulti←-
AreaMode" and other features required is described in the corresponding product manual.

If the currently selected device supports all the required features, the wizard can be selected from the "Wizards"
menu or by selecting a feature required by the wizard within the The Property Grid and then pressing the Wizard
button in the left toolbar or as described in the very beginning of the Wizards chapter:

wxPropView - Wizard menu

Once started the wizard will display one page for each AOI currently configured:

wxPropView - Multi AOI wizard

Generated by Doxygen
2.5 Wizards 121

Either the controls on each page can be used to modify each AOI or the green AOIs can be configure like the
Analysis AOIs used for the image analysis plots

The live image in the background shows the created AOIs in green and all the AOIs that must be transmitted as well
in red. The red AOIs are needed as a result of how the sensors implement this feature. More information about this
can be found in the product manual. The resulting image however always contains ALL areas in either red or green
boxes. All the other areas will not be read out of the sensor thus can result in a dramatical reduction in both used
bandwidth and sensor read-out time.

wxPropView - Multi AOI wizard - Live image

See also

• product manuals ( https://www.matrix-vision.com/manuals/)

2.5.7 Multi-Core Acquisition Wizard

Since

mvIMPACT Acquire 2.44.0

This wizard can be used to configure the Multi-Core Acquisition Optimizer feature of mvIMPACT Acquire.

Note

This feature is currently implemented for the mvBlueCOUGAR-X, mvBlueCOUGAR-XD and mvBlue←-
COUGAR-XT devices! To find out more about the underlying technology and required firmware versions
please refer to the corresponding chapters in the product manuals describing the network setup and
optimization.

This feature will allow to precisely select one or multiple physical CPU cores that shall be used to process the image
data coming from the device. This can be extremely helpful when facing one of the following scenarios:

• The CPU core used for receiving the network data shall be used exclusively for this task and all the application
related additional work like image processing shall be done using the remaining cores only

• Multiple cameras shall be used and each camera shall have its own dedicated CPU core for exclusive usage.
This can be used to avoid situations where the system assigns the work of multiple streams to the same CPU
core leading to data loss due to core overload

Generated by Doxygen
122

• A single core in the host system is not powerful enough to process the incoming network stream resulting
in data loss. Then this wizard as well as the mvIMPACT Acquire API can be used to distribute the load to
several cores

• The application itself performs a lot or parallel processing thus uses each CPU core in the system. The
one that must do the image data processing therefore gets more work in total thus degrading overall system
performance

Note

The Multi-Core Acquisition Optimizer feature uses the RSS (Receive Side Scaling) feature of modern
network cards in combination with a special implementation in the GigE Vision™ filter driver AND the
device firmware. In order to use it the camera must support certain features only available in mvBlue←-
COUGAR-X, mvBlueCOUGAR-XD and mvBlueCOUGAR-XT devices and an RSS capable network card
that is configured accordingly is required. More details can be found in the product manual.

The wizard itself is rather simple:

wxPropView - Multi-Core acquisition wizard

• "Base Core": This is a read-only feature! It reflects the RSS base processor number as configured by the
user (if supported by the NIC driver) or as selected by the NIC driver (if either NOT selected by the user OR
if manual selection is not supported by the NIC driver). CPU cores smaller than this value cannot be used for
processing network data from devices connected to this NIC. More details about RSS and this parameter in
particular can be found in various places on the Internet.

Generated by Doxygen
2.5 Wizards 123

• "First Core Index": This parameter allows the selection of the first CPU core that shall be used for processing
network data from this device relative to the "Base Core". E.g. if the base core has been set to 3 then setting
the first core index to 2 will result in CPU core 5 (3 + 2) being the first core to use for data processing.

• "Core Count": This parameter defines how many CPU cores starting at "First Core Index" shall be used for
processing image network data coming from this specific device. Using more cores reduces the overall load
for each individual core but also results in a slight overhead caused by core switches that must be handled by
the system

• "Core Switch Interval": This parameter defines after how many network packets another CPU core shall be
used. This value is only important when using more than 1 CPU core for processing network data! Selecting
a value that is too high can result in data loss as an individual core might not be able to get rid of its received
data in time and selecting a value too low introduces too much overhead for core switches.

For the full set of details please refer to the product manual mentioned above! As a general rule of thumb the
following guidelines can be used:

• If a single CPU core can cope with all the data the best performance can be achieved by using a dedicated
CPU core for processing the network data and by removing all other application specific CPU load from this
core. So explicit selection of 1 core is done using the Multi-Core Acquisition Optimizer feature (without it the
CPU core used by the system will be different for each session) and the application itself uses appropriate
mechanisms to move the remaining load to the other cores (e.g. by setting the process affinity mask)

• If the application cannot explicitly move its work to certain cores or when a single core is not powerful enough
use 2-8 cores in parallel for network data processing and select a higher "Core Switch Interval" when using
less CPU cores

When the wizard is configured its effect can e.g. be observed using the Windows task manager:

wxPropView - Multi-Core acquisition wizard running

Generated by Doxygen
124

2.5.8 Quick Setup Wizard

Since

mvIMPACT Acquire 2.11.3

The Quick Setup Wizard is a tiny and powerful single window configuration tool to optimize the image quality
automatically and to set the most important parameters which affect the image quality, in an easy way and to
get an immediate preview of these changes. If the wizard does not start automatically anymore because during a
previous session this option has been enabled the wizard needs to be started manually:

wxPropView - Quick Setup Wizard started

Afterwards the following dialog will be displayed:

wxPropView - Quick Setup Wizard

Generated by Doxygen
2.5 Wizards 125

Settings will be accepted by clicking "Ok", otherwise the changes are discarded and the previous ones will be
restored when leaving the dialog.

wxPropView - Quick Setup Wizard started

Depending on the sensor (gray-scale or color/Bayer), the wizard will automatically pre-select settings resulting in an
optimal image quality.

"For all cameras:"


The pixel format is chosen as 10 bit (if possible) as a good compromise on image quality and speed.
It will further set

• "Exposure" to Auto,

• "Gain" to Auto,

• "Frame rate" to Auto based on current settings of the camera, and

• switches camera into continuous mode

"In case of gray:"


The above settings will be also applied whenever the "Gray Preset" button is pressed. For gray cameras it is
assumed that image processing prefers a linear camera response.

"In case of color:"

• "Auto White Balance" in the device will be switched on

• a moderate, host based "Gamma correction" (1.8) will be applied

• a sensor specific "Color Correction Matrix" and the respective "sRGB display matrix" will be applied (if possible
this will be done in the device to reduce the CPU load on the host.

These settings will also be applied whenever the "Color Preset" button is pressed. Assuming that for a color camera
image this results in the best human visual feedback.

Generated by Doxygen
126

2.5.8.1 Changing Presets


The following presets are available:

• Gray

• Color (Host) will perform most of the expensive optimizations by utilizing the host systems CPU

• Color (Camera) will perform most of the expensive optimizations by utilizing the device, might not always be
available depending on the device's capabilities

• Factory

"Factory" can be used as a fall back to quickly skip or remove all presets and load the factory default settings.

2.5.8.2 Modifying Settings


All auto modes can be switched off and all settings, such as Gain, Exposure etc. can then be adjusted manually by
using:

• the sliders

• the spin buttons

• entering values into the text controls

Toggling the "Gamma" button loads or unloads a host based 10-bit Gamma correction with a moderate value of 1.8
into the signal processing path. Switch "Gamma" to make a gray-scale image appear natural for the human eye.

Toggling "Color+" button switches on/off both CCM and sRGB display matrix. This optimizes a color sensor's
response for the human eye and goes in conjunction with a display color response. Because sRGB displays are
mostly used and this is the default color space in Windows OS, these are preselected. If another display matrix
(e.g. Adobe or WideGamut) is required this can be selected by changing the ColorTwistOutputCorrection property
in The Property Grid accordingly. To locate the feature the Find A Feature option could be used.

2.5.8.2.1 Setting The Black Level The black level can be used if dark portions in the image are required to
appear even darker or brighter.

Note

The slider combines analog and digital settings in a way that once the analog value range is fully use the
digital range will be used addition. Analog is preferred whenever possible!

2.5.8.2.2 Setting The Gain Allows to set the gain value manually.

Note

The slider combines analog and digital settings in a way that once the analog value range is fully use the
digital range will be used addition. Analog is preferred whenever possible!

2.5.8.2.3 Setting The Saturation Can be used to increase/decrease the color saturation to make the image
appear more/less colorful. It does not change uncolored parts in the image nor changes the color tone or hue.

Generated by Doxygen
2.5 Wizards 127

2.5.8.3 Disabling The Quick Setup Wizard


Uncheck the checkbox "Show Quick Setup On Device Open" to disable the Quick Setup Wizard to be called
automatically:

wxPropView - Quick Setup Wizard - Enable/Disable On Device Open

Use the "Wizards" menu and select "Quick Setup" to open the Quick Setup Wizard again.

2.5.8.4 Applying/Discarding Changes


Use "OK" to use the values and settings of the Quick Setup Wizard and go back to the tree mode of wxPropView.

Use "Cancel" to discard the Quick Setup Wizard values and settings and go back to wxPropView and use the
former (or default) settings.

2.5.8.5 Image Display Functions


The Quick Setup Wizard still allows zooming into the image by right-clicking on the image display and unchecking
"Fit To Screen" mode. Use the mouse wheel to zoom in or out. Check "Fit To Screen" mode, if you want the
complete camera image to be sized in the window screen size.

See also

• Display Possibilities

2.5.8.6 Known Restrictions


In cases of Tungsten (artificial) light, camera brightness may tend to oscillate if Auto functions are used. This can
be minimized or avoided by setting the frame frequency to an integer divisor of the main frequency.

• Example:

– Europe: 50 Hz; Set frame rate to 100, 50, 25 12.5 fps or appropriate.
– In countries with 60 Hz use 120, 60, 30 or 15 accordingly.

Generated by Doxygen
128

2.5.9 Sequencer Control Wizard

The sequencer wizard addresses the GenICam Sequencer Control feature category and aims to provide an easy
way to set up a sequencer on a device. A detailed description of the GenICam related features used by the wizard
can either be found in the product specific manual which provides a use-case explaining the general concept of
the sequencer as well as various background information needed in order to make good use of this feature and the
wizard, the mvIMPACT Acquire API documentation or the GenICam SFNC (Standard Features Naming Convention).

wxPropView - Sequencer Wizard

Having a good basic understanding about the GenICam SFNC Sequencer Control concepts is required to efficiently
work with a sequencer on a device as it on of the most complex features offered by a device.

In the upper left region of the dialog the features to be used by the sequencer can be configured. Only the once
required should be enabled here in order to reduce complexity to a minimum. Switching off all features not needed
migth also result in faster switching time on the device when jumping from one set to another at runtime!

The wizard allows to add/remove sequencer sets and also to define a starting set for the sequencer operation
by some buttons. The right side of the dialog can be used to configure each set individually as required. In the
lower right section each set can - depending on certain conditions - be connected with another set. When loops or
open ends are detected warnings will be displayed automatically in this area and also the sets might get a different
background color then.

Note

Only GenICam devices supporting the Sequencer Control category will support this wizard.

See also

• GenICam Standard Features Naming Convention (SFNC)( https://www.emva.org/standards-technology/


• API manuals and (most important) the corresponding use-case in the product manual ( https←-
://www.matrix-vision.com/manuals/)

2.6 Command-line Interface

wxPropView supports various command-line parameters allowing to control the start-up behavior and the appear-
ance of the application.

The following table lists the available command-line parameters:

Generated by Doxygen
2.6 Command-line Interface 129

Parameter Description
width or w Defines the startup width of wxPropView. Example: width=640
height or h Defines the startup height of wxPropView. Example: height=460
xpos or x Defines the startup x position of wxPropView.
ypos or y Defines the startup x position of wxPropView.
propgridwidth or pgw Defines the startup width of the property grid.
debuginfo or di Will display debug information in the property grid.
dic Will display invisible (currently shadowed) components in the property
grid.
displayCountX or dcx Defines the number of images displayed in horizontal direction.
displayCountY or dcy Defines the number of images displayed in vertical direction.
fulltree or ft Will display the complete property tree (including the data not meant to
be accessed by the user) in the property grid. Example (Tree will be
shown): fulltree=1
fullscreen or fs Will directly switch to full-screen mode. Make sure to select a device
as well and configure it for live acquisition. Example: wxPropView
device=VD000001 live=1 fullscreen=1
device or d Will directly open a device with a particular serial number. '∗' can
be used as a wildcard, just ∗ will take the first device. Example←-
: d=GX000735
qsw Will forcefully hide or show the Quick Setup Wizard, regardless of the
default settings. Example (Quick Setup Wizard will be shown): qsw=1
interfaceConfiguration Will directly launch the interface configuration and driver information
dialog. Example: interfaceConfiguration=1
live Will directly start live acquisition from the device opened via device
or d directly. Example (will start the live acquisition): live=1
allowFullDeviceFileAccess Grants full access to files which are hidden by default (such as the de-
vice firmware) through the file up- and download wizard. Be sure you
know what you are doing when using this parameter. You might dam-
age your device! Example: allowFullDeviceFileAccess=1

To open an image file from hard disk just pass the full path to the image as a command-line parameter.

2.6.1 Examples

wxPropView d=* fulltree=1 qsw=0

This will start the first available device, will hide the Quick Setup Wizard and will display the complete property tree.

Note

Pressing F1 after the application is running will also display a detailed list of available command line
options as well as keyboard shortcuts and some other helping text!

Generated by Doxygen
130

3 mvDeviceConfigure

mvDeviceConfigure is mainly meant to update the firmware of MATRIX VISION devices and to configure the log-
output of the mvIMPACT Acquire driver stack. Apart from that this tool can

• display a list of all devices connected to the system that have a matching mvIMPACT Acquire driver installed

• register/unregister devices for the usage with DirectShow™ applications (Windows only)

• activate/deactivate CPU sleep states of the CPU (Windows only, up to Windows 7)

• assign unique IDs to mvBlueFOX-1xx/mvBlueFOX-2xx devices

• reserve system wide DMA memory for mvHYPERION frame grabber devices

Note

GigE Vision™ devices:

• macOS: The app mvDeviceConfigure.app in "∼/mvIMPACT_Acquire/bin" does not


use the correct environment, so a double-click on the app will not find any GigEVision™ devices.
To start mvDeviceConfigure with the correct environment, start the shell script startDevice←-
Configure.sh in "∼/mvIMPACT_Acquire".
• Windows: Given that during the start mvDeviceConfigure searches the network for GigE Vision™
devices, it could be possible that - depending on the Windows firewall settings - a Windows security
alert appears. Please click on "Unblock" or "Allow Access" depending on the version of Windows
you are working with so that the program works properly.

Windows security alert

Various things can also be done without user interaction (e.g. updating the firmware of a device). To find out how to
do this please refer to the Command-line Interface section

• Updating The Firmware Of A MATRIX VISION Device

Generated by Doxygen
3.1 Updating The Firmware Of A MATRIX VISION Device 131

• Verifying The Firmware Of A MATRIX VISION Device

• Log-Output Configuration

• DirectShow™

• CPU Sleep State / C-State configuration (Windows only, up to Windows 7)

• mvBlueFOX-1xx/mvBlueFOX-2xx

• mvHYPERION

• Command-line Interface

3.1 Updating The Firmware Of A MATRIX VISION Device

With the mvDeviceConfigure tool it is possible to update the firmware. In the device list new firmware versions, if
available and detected, will be marked in blue.

Note

Since version 2.29.1 for GenICam compliant devices firmware updates will not be installed by the mv←-
IMPACT Acquire driver installation package any more. Firmware archives can be downloaded from the
MATRIX VISION website instead. The latest firmware (and previous versions) can always be found
in the download area of the corresponding product. Downloaded archives should be copied into the
$(MVIMPACT_ACQUIRE_DIR)/Firmware/<product name> folder as then mvDeviceConfigure will au-
tomatically check if your devices run with the latest firmware or not. Newer versions of mvDevice←-
Configure and wxPropView will also check the MATRIX VISION website and can automatically download
new firmware versions!

To update the firmware on a MATRIX VISION device, the following steps are necessary:

Note

The firmware update is only necessary in some special cases (e.g. to benefit from a new functionality
added to the firmware, to fix a firmware related bug or to update the kernel driver). Before updating
the firmware be sure what you are doing and have a look into the change log (versionInfo.txt and/or the
manual to see if the update will fix your problem). If you have no problem at all it sometimes is better to
leave the system untouched!
The firmware update takes several minutes and during this time the application will not respond!

3.1.1 Device Selection

• Select the device you want to set up.

• Select "Action -> Update Firmware" from the menu or right-click on the device to get the same option
(mvBlueNAOS: "Update Firmware -> From Local Firmware Package").

Generated by Doxygen
132

Note

It is also possible to select the action with a right click on the device.

mvDeviceConfigure - Select action

3.1.2 Execute Firmware Update

Note

You will need administrator rights for updating the firmware. A dialog will appear.

• You have to close applications using the device and click Ok.

mvDeviceConfigure - Close all applications

• You have to select the update file

Generated by Doxygen
3.1 Updating The Firmware Of A MATRIX VISION Device 133

– mvBlueFOX3: mvBlueFOX3_Update.mvu
– mvBlueCOUGAR-X / -XD: mvBlueCOUGAR-X_Update.mvu
– mvBlueCOUGAR--XT: mvBlueCOUGAR-XT_Update.mvu
– mvBlueCOUGAR-S: mvBlueCOUGAR-S[MODELNAME]_Update.fpg
* Afterwards, you have to select the GenICam file that came with the firmware e.g. MATRIXVISION←-
_mvBlueCOUGAR-[MODELNAME]_GigE_[VERSIONNUMBER].zip .

mvDeviceConfigure - Select firmware file

Note

All current camera settings will be lost when updating the firmware. Network configuration settings (such
as static IP settings etc.) on the other hand will not be affected. UserSet settings may or may not be lost,
depending on whether the "Persistent UserSet Settings" parameter is set (this issue will be covered later
in this chapter).

• Confirm the firmware update.

Generated by Doxygen
134

mvDeviceConfigure - Confirm update

• Afterwards, you will see a progress bar:

mvDeviceConfigure - Progress of firmware update

If the firmware update is successful, the dialog will disappear.

Note

Depending on the system, a restart might be necessary. A dialog will notify this.

3.1.3 Preserving UserSets During A Firmware Update

For devices that are capable of storing UserSet settings on the device itself these settings will by default be pre-
served during firmware updates since mvIMPACT Acquire 2.9.1. This may lead to slightly longer firmware update
times. If UserSets are not used, and their persistence during firmware-updates is not desired, the "Persistent
UserSet Settings" in the Settings Submenu can be unchecked:

mvDeviceConfigure - UserSet Persistence

This will also accelerate the firmware update process.

Generated by Doxygen
3.1 Updating The Firmware Of A MATRIX VISION Device 135

3.1.4 Always Select Best Matching Firmware For Device

Some firmware archives may contain multiple suitable firmware files for a single device. E.g. each firmware file might
support a different feature set or different versions of the same firmware might reside in the same archive. When
more than one equally good match for a firmware is detected in an archive the user will always have to manually
select the version that shall be uploaded to the device, but when several matches have been found that are not
equally good, the state of the "Always Select Best Matching Firmware For Device" option decides whether the
best match is used automatically (when switched ON(default)) or the user is presented with a list where the firmware
to upload can be selected manually (when switched OFF). Best match or match in general can be a bit tricky
to understand but in the end boils down to how good the product itself and the string describing for which products
a certain firmware file inside the archive is suitable do overlap. If there is just one firmware file available within the
selected firmware archive this option won't have an effect.

Since

2.46.0

mvDeviceConfigure - Always Select Best Matching Firmware For Device

3.1.5 Troubleshooting / Dealing With Firmware Update Failures

3.1.5.1 mvBlueCOUGAR-XT

3.1.5.1.1 Rescue Mode The mvBlueCOUGAR-XT features a so called "RescueMode". The rescue mode will
make it possible to reinstall a firmware if an error occurred during a firmware update (e.g. power failure, etc.).

A device running in "RescueMode" can be recognized by

• a short red flash (1 s) superimposing the normal status LED behavior

• registers like "Setting -> Base -> Camera -> GenICam -> AcquisitionControl" or "Setting -> Base ->
Camera -> GenICam -> ImageFormatControl" usually located in The Property Grid which are needed for
streaming images, are not available and

Generated by Doxygen
136

• the register "Setting -> Base -> Camera -> GenICam -> DeviceControl -> mvDeviceOperationMode"
contains the value "Rescue".

In "RescueMode", the device is running with a reduced feature set that only allows installing a working, full featured
firmware again, but does not allow acquiring images.

2 situations might activate the rescue mode:

1. A firmware update fails e.g. because of a power failure during the update process. In this scenario the device
will always start in "RescueMode" then until another successful firmware update has been applied. In this
case

• The register "Setting -> Base -> Camera -> GenICam -> DeviceControl -> mvDeviceOperation←-
Mode" contains the value "Rescue".
• The register "Setting -> Base -> Camera -> GenICam -> DeviceControl -> mvDeviceRescue←-
ModeReason" has the value "FirmwareUpdateFailed".

2. An unexpected failure did trigger the software watchdog running on the device. In this case an applica-
tion/user can simply call DeviceReset and the device will try to reboot with the regular firmware image. If
that fails the device again will start in "RescueMode" and a regular firmware update must be performed. In
this case

• The register "Setting -> Base -> Camera -> GenICam -> DeviceControl -> mvDeviceOperation←-
Mode" contains the value "Rescue".
• The register "Setting -> Base -> Camera -> GenICam -> DeviceControl -> mvDeviceRescue←-
ModeReason" has the value "OtherError".

3.1.5.2 mvBlueCOUGAR-X

3.1.5.2.1 Fallback Firmware / Boot Section Mode The mvBlueCOUGAR-X features a backup firmware, located
on the device in the so called "BootSection". This alternate and rudimentary firmware is supposed to start if any-
thing broke the main firmware (e.g. in case of a power failure during a regular firmware update). The sole purpose
of this fallback firmware is to allow another firmware like in Updating The Firmware Of A MATRIX VISION Device in
order to get access to the full feature set of the device again.

A device running in "BootSection Mode" can be recognized by

• the register "Setting -> Base -> Camera -> GenICam -> DeviceControl -> mvDeviceFirmwareSource"
contains the value "BootSection".

3.1.5.3 mvBlueFOX3

Generated by Doxygen
3.2 Verifying The Firmware Of A MATRIX VISION Device 137

3.1.5.3.1 Fallback Firmware / Bootprogrammer Mode The mvBlueFOX3 features a small backup firmware,
called "Bootprogrammer Mode". The device will start using this firmware, if something broke the main firmware
(e.g. in case of a power failure during a regular firmware update). This firmware will not allow to acquire images
and is only meant to allow to reinstall a working, full featured firmware again.

A device running in "BootProgrammer Mode" can be recognized by

• the register "Device -> FirmwareVersion" contains a firmware version starting with '0'.

• the status-LED will be red

mvDeviceConfigure - Detection of a fallback firmware

3.2 Verifying The Firmware Of A MATRIX VISION Device

mvDeviceConfigure allows to verify the firmware running on a certain device.

Note

Since version 2.29.1 for GenICam compliant devices firmware updates will not be installed by the mv←-
IMPACT Acquire driver installation package any more. Firmware archives can be downloaded from the
MATRIX VISION website instead. The latest firmware (and previous versions) can always be found
in the download area of the corresponding product. Downloaded archives should be copied into the
$(MVIMPACT_ACQUIRE_DIR)/Firmware/<product name> folder as then mvDeviceConfigure will au-
tomatically check if your devices run with the latest firmware or not. Newer versions of mvDevice←-
Configure and wxPropView will also check the MATRIX VISION website and can automatically download
new firmware versions!

To verify the firmware on a MATRIX VISION device, the following steps are necessary:

Note

The firmware verification is only necessary in rare cases in order to detect a damaged firmware running
on a device or to exclude that a damaged firmware image on the device is responsible for any sort of
unexpected behaviour.
The firmware verification takes about a minute and during this time the application will not respond!

Generated by Doxygen
138

3.2.1 Device Selection

• Select the device you want to set up.

• Select "Action -> Verify Firmware" from the menu or right-click on the device to get the same option.

Note

It is also possible to select the action with a right click on the device.

mvDeviceConfigure - Select action

Afterwards you will be informed about what is about to happen if you continue the verification process:

Generated by Doxygen
3.2 Verifying The Firmware Of A MATRIX VISION Device 139

mvDeviceConfigure - Firmware Verification Confirmation

Next an appropriate firmware archive must be selected for the verification process. This obviously must be the
archive containing the firmware image that is currently running on the device:

mvDeviceConfigure - Firmware Verification Archive Selection

Once a firmware archive has been selected the internal verification process will start. This might take up to one
minute most likely about 30 seconds and during this time the application will not react and no progress information
will be displayed. Simply be patient!

Once the verification process has completed the result will be displayed. This is either a success message like it
can be seen below...

Generated by Doxygen
140

mvDeviceConfigure - Firmware Verification Success

... or a message box containing more information about what the result was. Usually this failure message either
explains that the firmware version running on the device is different from the version used for the validation process
in which case an incorrect archive has been selected for the verification or the result is an actual mismatch in both
hashes even though the firmware versions are the same. In this case it is extremely likely that the firmware image
running on the device has actually been damaged. Another firmware update should be applied then and afterwards
this verification process should be repeated. If the problem persists please get in touch with the MATRIX VISION
GmbH support!

mvDeviceConfigure - Firmware Verification Failure

Generated by Doxygen
3.3 Log-Output Configuration 141

3.3 Log-Output Configuration

The mvIMPACT Acquire driver stack provides a user configurable logging framework. This can either be edited
using any text editor which is the recommended way for advanced user only or by using mvDeviceConfiugre. All
configuration data defining what is logged and where the log-messages end up is defined by a file called mv←-
DebugFlags.mvd.

Note

• On Windows this file MUST be stored under "%ALLUSERS%\Documents\MATRIX


VISION\mvIMPACT Acquire\Logs" (or "%MVIMPACT_ACQUIRE_DATA_DIR%\←-
Logs" which will point to the same folder if not altered by an application/user).
• On Linux either the current working directory will be used, i.e. you have to save the
mvDebugFlags.mvd in the same directory as the application: e.g. "/PATH_TO_←-
MVIMPACTACQUIRE/apps/mvPropView/x86_64/" for logging wxPropView or "%←-
MVIMPACT_ACQUIRE_DATA_DIR%\Logs" which can be altered by an application/user).
• On macOS either the current working directory will be used, i.e. you have to save
the mvDebugFlags.mvd in the same directory as the application: e.g. "/PATH_TO_←-
MVIMPACTACQUIRE/bin/" for logging wxPropView or "$MVIMPACT_ACQUIRE_DATA_←-
DIR\Logs" which can be altered by an application/user).

The name of the file MUST ALWAYS be mvDebugFlags.mvd.

To use mvDeviceConfigure for the configuration of the log-output "Configure Log Output" must be selected from
the "Action" menu:

mvDeviceConfigure - Configure Log Output

Generated by Doxygen
142

This will result in the "Log Output Configuration" dialog being opened. Initially this dialog will not contain any
data. Now either an existing log-configuration can be imported by pressing the
"Load..." button or a completely new set of logger information can be created (usually not recommended). Assuming
an existing file shall be opened, this now needs to be located on the hard disk:

mvDeviceConfigure - Select ∗.mvd File

Afterwards the interpreted content of the file will be displayed in the list control in the upper part of the screen:

mvDeviceConfigure - Interpreted Log Configuration Data

The columns have the following meaning:

Generated by Doxygen
3.3 Log-Output Configuration 143

3.3.1 Section Name

This is the name of the logger as later used by the driver. These is either a library name, a device family name
or a device family name directly followed by a device ID. The mvIMPACT Acquire interface consists more or less
of 2 device independent libraries (mvPropHandling and mvDeviceManager) and a device specific library for each
device family (e.g. mvBlueFOX). A mvBlueFOX with a device ID 0 therefore would be configured by a section called
mvBlueFOX0.

3.3.2 Devices Using This Section

This column contains information about the devices that will later write log messages based on this section and the
devices currently detected in the system. The general device family specific section e.g. will be used by any device
belonging to that family whenever general information needs to be written, that does not use the device specific
section.

3.3.3 Flags, Output Destinations, Output File Name, "Always Clear File" and "Stylesheet"

These sections contain information for the driver how, to which location and which information needs to be sent to
the log output. They are described in detail the API manual in the "Logging" section explaining the XML file format
for the ∗.mvd file.

See also

• API manuals ( https://www.matrix-vision.com/manuals/)

3.3.4 Configure And Existing Configuration

Now e.g. to setup log output for an mvBlueFOX device with a device ID "0" right click on the corresponding list
entry an select "Configure Item" from the popup menu:

mvDeviceConfigure - Logging Configuration Options

Generated by Doxygen
144

This will result in the following dialog:

mvDeviceConfigure - Configure Logger Instance

Here the user can configure the way the log output shall be generated. When this dialog is ended by pressing the
OK button the changes will be applied to the list of configurations.

3.3.5 Adding A New Configuration

When a new configuration shall be generated for one or more devices this can be done by right-clicking anywhere
in the list control and then select "Add Item" from the popup menu:

The application then will display a list of log configurations that haven't yet been configured based on the devices
detected in the system. If the device so far is not present in the system or the configuration shall be created for
another system select "User defined". Please don't forget to name the section correctly as described in the sub
section 'section name'.

Generated by Doxygen
3.4 DirectShow™ 145

mvDeviceConfigure - Add Logger Instance

3.4 DirectShow™
Note

This feature will only be available when mvDeviceConfigure is started elevated user privileges.
Since registering, removing and modifying devices for the usage with DirectShow™ requires to write to a
special section of the Windows Registry elevated user privileges are needed to do this. You therefore
either have to be legitimated as an administrator or your user must have special access right!

mvIMPACT Acquire is shipped with an adapter allowing to use mvIMPACT Acquire devices from applications sup-
porting DirectShow™

However in order to be able to access a device through the driver stack from an application through DirectShow™ a
registration procedure is needed. This can either be done using mvDeviceConfigure or by a command line tool that
is part of the Windows operating system.

Note

Please be sure to register the devices for DirectShow™ usage with a matching version of mvDevice←-
Configure. I.e. if e.g. a 32-bit version of the VLC Media Player, Virtual Dub, etc., shall be used
the 32-bit version of mvDeviceConfigure ("C:\Program Files\MATRIX VISION\mvIMPACT Acquire\bin")
must be used for the registration procedure. The 64-bit version resides in "C:\Program Files\MATRIX
VISION\mvIMPACT Acquire\bin\x64") and has to be used when 64-bit applications shall work the Direct←-
Show™ interface later.

Generated by Doxygen
146

3.4.1 Registering devices

To register all devices currently recognized by the mvIMPACT Acquire driver stack for access with DirectShow™ the
following registration procedure is needed:

1. mvDeviceConfigure needs to be started(with elevated rights).


If no device has been registered the application will more or less (depending on the installed devices) look
like this.

mvDeviceConfigure - After Start

2. mvDeviceConfigure with missing administrator privileges.


You won't get any information of the DirectShow™ status without starting mvDeviceConfigure with elevated
user privileges.

Generated by Doxygen
3.4 DirectShow™ 147

mvDeviceConfigure - Missing administrator rights

3. To register every installed device for DirectShow™ access click on the menu item "DirectShow" -> "←-
Register All Devices".

mvDeviceConfigure - Register All Devices

4. After a successful registration the column "Registered For DirectShow" will display "yes" for every device and
the devices will be registered with a default DirectShow™ friendly name which is displayed in the "Direct←-
Show Friendly Name" column. This name then will be displayed by applications detecting DirectShow™

Generated by Doxygen
148

devices and this friendly name can be used to connect to an mvIMPACT Acquire device then

mvDeviceConfigure - All Devices Registered For DirectShow™ Access

3.4.2 Changing The Friendly Name

To modify the DirectShow™ friendly name of a device:

1. mvDeviceConfigure needs to be started(with elevated rights).

2. right-click on the device to rename and select "Set DirectShow Friendly Name":

Generated by Doxygen
3.4 DirectShow™ 149

mvDeviceConfigure - Set DirectShow™ Friendly Name

3. In the dialog that will show up then a new name can be assigned to the device. This then needs to be
confirmed with "OK".

mvDeviceConfigure - Dialog For New Name

4. Afterwards the column "DirectShow friendly name" will display the newly assigned friendly name.

mvDeviceConfigure - Renamed Device

Generated by Doxygen
150

Note

Please do not select the same friendly name for two different devices. In theory this is possible, however
the mvDeviceConfigure GUI will not allow this to avoid confusion.

3.4.3 Using regsvr32 To Avoid User Interaction

To register all devices currently recognized by the mvIMPACT Acquire driver stack with auto-assigned names, the
Windows tool "regsvr32" can be used from an elevated command shell.

The following command line options are available and can be passed during the silent registration:

EXAMPLES:

Register ALL devices that are recognized by mvIMPACT Acquire (this will only register devices which have drivers
installed) without any user interaction:

regsvr32 <path>\DirectShow_acquire.ax /s

Unregister ALL devices that have been registered before without any user interaction:

regsvr32 <path>\DirectShow_acquire.ax /u /s

Generated by Doxygen
3.5 CPU Sleep State / C-State configuration (Windows only, up to Windows 7) 151

3.5 CPU Sleep State / C-State configuration (Windows only, up to Windows 7)

Modern PC's, notebook's, etc. try to save energy by using a smart power management. For this several hardware
manufacturers specified the ACPI standard. The standard defines several power states. For example, if processor
load is not needed the processor changes to a power saving (sleep) state automatically and vice versa. Every state
change will stop the processor for microseconds. On some systems this time is enough to cause problems during
high bandwidth image data transfer.

Note

This feature can only be used when mvDeviceConfigure is started with elevated user privileges since
modifying the C-state configuration requires to change the current power scheme which requires elevated
privileges!

See also

More information about ACPI: http://en.wikipedia.org/wiki/Advanced_Configuration←-


_and_Power_Interface

mvDeviceConfigure allows to disable the power management on the processor level (so-called "C-states"):

Note

The API used to configure the CPU sleep states on Windows did change through the versions of Win-
dows! The following table shows what can be done in which version of Windows:

Windows Version Availability


Windows XP or smaller/older Only C2 and C3 states can be disabled.
Windows Vista - Windows 7 C1, C2 and C3 states can be disabled.
Windows 8 and above Used Windows API has been removed! Use BIOS settings, power
management features from the Windows control panel or Registry
hacks to configure C-state behaviour!

Please be sure you know what you do! To turn off the processor's sleep states will lead to a higher power
consumption of your system.
Modifying the sleep states using mvDeviceConfigure does only affects the current power scheme. For
notebooks this will e.g. make a difference depending on whether the notebook is running on battery or
not. E.g. if the sleep states have been disabled while running on battery and then the system is con-
nected to an external power supply, the sleep states might be active again. Thus in order to permanently
disable the sleep states, this needs to be done for all power schemes that will be used when operating
devices.

1. Start mvDeviceConfigure.

2. Go to tab "Settings" and uncheck "CPU Idle States Enabled".

Generated by Doxygen
152

mvDeviceConfigure - Settings

The sleep states can also be enabled or disabled from the command shell by calling mvDeviceConfigure like this:

mvDeviceConfigure.exe set_processor_idle_states=1 quit

or

mvDeviceConfigure.exe set_processor_idle_states=0 quit

The additional quit will result in the application to terminate after the new value has been applied.

Note

With Windows Vista or newer mvDeviceConfigure must be started from a command shell with adminis-
trator privileges in order to modify the processors sleep states.

To completely disable any GUI display the hidden parameter can be specified as well:

mvDeviceConfigure.exe set_processor_idle_states=1 hidden quit

Generated by Doxygen
3.6 mvBlueFOX-1xx/mvBlueFOX-2xx 153

3.6 mvBlueFOX-1xx/mvBlueFOX-2xx

3.6.1 Assigning A Unique ID To A Device

The device ID can be used to locate devices with a user defined ID(an integer value). The default ID on the device's
EEPROM is "0". If the user hasn't assigned unique device IDs to his devices, the serial number can be used to
selected a certain device instead. However, certain third-party drivers and interface libraries might rely on these
IDs to be set up in a certain way and in most of the cases this means, that each device needs to have a unique
ID assigned and stored in the devices non-volatile memory. So after installing the device driver and connecting
the devices setting up these IDs might be a good idea. This can also be helpful for applications involving multiple
cameras each with a dedicated job. E.g. the "upper left" camera can also be configured to use the unique ID of 42
so a software opening the device with the ID 42 always knows this will be the "upper left" camera for this application.

To assign an ID mvDeviceConfigure needs to be started. The following window will be displayed:

mvDeviceConfigure - Overview devices

Whenever there is more than one device belonging to the same device family with the same ID, mvDeviceConfigure
will display a warning and the devices in red color.

• Select the device you want to set up.

• Select the "Action -> Set ID" from the menu or right-click on the device to get the same option.

Generated by Doxygen
154

Note

It is also possible to select the action with a right click on the device entry in the list.

mvDeviceConfigure - Select action

• Enter the new ID and click OK.

• Now the overview shows you the list with all devices as well as the new ID.

In case there has been an ID conflict before that has been resolved now mvDeviceConfigure will no longer highlight
the conflict now. If a new conflict has been created by the latest action this can be seen now as well.

3.7 mvHYPERION

3.7.1 Assigning System-wide DMA memory (Windows only)

Note

This feature can only be used when mvDeviceConfigure is started with elevated user privileges since
the DMA memory configuration requires to access a special section of the Windows Registry and the
invocation of command line tools requiring elevated privileges!

The mvHYPERION driver support to reserve system wide DMA memory. This memory will then exclusively be
accessible by the mvHYPERION driver an no longer by the operating system so only chunks of memory should be
reserved that are not essential for the operating system or the application.

Once done however this memory can be accessed very efficiently by the device driver so it's usage if highly recom-
mended. In order to do so the menu entry "Action -> Update Permanent DMA Buffer Size" can be used.

Once the desired amount of memory has been entered and confirmed the system must be restarted.

Generated by Doxygen
3.8 Command-line Interface 155

3.8 Command-line Interface

mvDeviceConfigure supports various command-line parameters allowing to control the start-up behavior and the
appearance of the application.

The following table lists the available command-line parameters:

Parameter Description
custom_genicam_file or cgf Specifies a custom GenICam file to be used to open
devices for firmware updates. This can be useful when
the actual XML on the device is damaged/invalid.
force or f Forces a firmware update in unattended mode, even if
it isn't a newer version.
fw_file Specifies a custom name for the firmware file to use.
fw_path Specifies a custom path for the firmware files.
hidden Will start the application without showing the splash
screen or the application window. This might be useful
when doing a silent configuration in combination with
the 'quit' parameter
ignore_gev or igev Disables enumerating devices on all GEV interfaces
of the system, for all applications using a MATRIX VI-
SION GenTL producer(syntax: 'igev=1' or 'igev=0')
ignore_pci or ipci Disables enumerating devices on all PCI/PCIe in-
terfaces of the system, for all applications using a
MATRIX VISION GenTL producer(syntax: 'ipci=1' or
'ipci=0')
ignore_u3v or iu3v Disables enumerating devices on all U3V interfaces of
the system, for all applications using a MATRIX VI-
SION GenTL producer(syntax: 'iu3v=1' or 'iu3v=0')
ipv4_mask Specifies an IPv4 address mask to use as a filter for
the selected update operations. Multiple masks can
be passed here separated by semicolons.
log_file='file_name' or lf='file_←- Specifies a log file storing the content of this text con-
name' trol upon application shutdown.
quit or q Ends the application automatically after all updates
have been applied.
set_processor_idle_states or spis Changes the C1, C2 and C3 states for ALL pro-
cessors in the current system(syntax: 'spis=1' or
'spis=0')(Windows only up to WIndows 7).
select_best_matching_firmware or sbmf Defines whether to automatically select the best
matching firmware file found in the selected firmware
package or to present a list of choices to the user
if multiple firmware versions have been detected
(syntax: 'sbmf=1' or 'sbmf=0').
set_userset_persistence or sup Sets the persistency of UserSet settings during
firmware updates (syntax: 'sup=1' or 'sup=0').
setid or id Assigns an integer ID to one or many
devices(syntax: 'id=<serial>.<id>' or
'id=<product>.<id>')(available for mvBlueFOX2
devices only).
update_fw or ufw Updates the firmware of one or many devices.
update_fw_file or ufwf Updates the firmware of one or many devices. Pass a
full path to a text file that contains a serial number or a
product type per line.

Generated by Doxygen
156

∗ Can be used as a wildcard, devices will be searched by


serial number AND by product. The application will first
try to locate a device with a serial number matching the
specified string and then (if no suitable device is found)
a device with a matching product string.

The number of commands that can be passed to the application is not limited.

3.8.1 update_fw_file Syntax

When using the update_fw_file or ufwf to specify a file containing firmware update information the file needs
contain one line per product to update and this line must contain a comma-separated list of arguments where the
first argument either has to be the product type OR a serial number. Lines starting either with "//" or "#" will be
ignored. An example can be seen below:

mvBlueCOUGAR-X102nG // Will update ALL mvBlueCOUGAR-X102nG devices


mvBlueCOUGAR-XD104hC // a comment
//mvBlueFOX-220C // This line will be ignored since it starts with a comment
mvBlueFOX3-2032C, firmwarefile=mvBlueFOX3SpecialFirmware.mvu // will use a custom firmware package to update a
F0700034 // a certain serial number
mvBlueFOX3-1013C, serial=F0700033 // works as well however in that case the ’mvBlueFOX3-1013C’ will be ignored
mvBlueCOUGAR-X1012bC, serial=GX002233, serial=GX002234 // multiple serial numbers can be passed here
#mvBlueFOX3-2205C // This line will be ignored since it starts with a comment

3.8.1.1 Potential Pitfalls The file will be processed one line after the other. As a result certain combinations of
product types and serial numbers might lead to surprising behaviour:

mvBlueFOX3-2032C
// ... more content
mvBlueFOX3-2032C, serial=F0700033

The second line will effectively replace the initial mvBlueFOX3-2032C entry by a single serial number. So if
F0700033 does NOT specify a device of type mvBlueFOX3-2032C no update will be performed at all otherwise
the firmware of the device with the serial number F0700033 will be updated.

mvBlueFOX3-2032C, serial=F0700033
// ... more content
mvBlueFOX3-2032C

The second line will have no effect here since the first line is the more special one. So if F0700033 does NOT
specify a device of type mvBlueFOX3-2032C no update will be performed at all otherwise the firmware of the device
with the serial number F0700033 will be updated.

FF003022, firmwarefile=boom.mvu
// ... more content
mvBlueFOX3-2032aC, serial=FF003022

Above example will result in the device with the serial number FF003022 being updated twice if it actually is a
product of type mvBlueFOX3-2032aC. The first time a custom firmware archive will be used while this then will most
likely be overwritten by the default firmware archive in the next step.

Generated by Doxygen
3.8 Command-line Interface 157

3.8.2 Examples

mvDeviceConfigure ufw=BF000666

This will update the firmware of a mvBlueFOX with the serial number BF000666.

mvDeviceConfigure update_fw=BF*

This will update the firmware of ALL mvBlueFOX devices in the current system.

mvDeviceConfigure update_fw=mvBlueFOX-2* lf=output.txt quit

This will update the firmware of ALL mvBlueFOX-2 devices in the current system, then will store a log file of the
executed operations and afterwards will terminate the application.

mvDeviceConfigure setid=BF000666.5

This will assign the device ID '5' to a mvBlueFOX with the serial number BF000666.

mvDeviceConfigure ufw=*

This will update the firmware of every device in the system.

mvDeviceConfigure ufw=BF000666 ufw=BF000667

This will update the firmware of 2 mvBlueFOX cameras.

mvDeviceConfigure ipv4_mask=169.254.*;192.168.100* update_fw=GX*

This will update the firmware of all mvBlueCOUGAR-X devices with a valid IPv4 address that starts with '169.254.'
or '192.168.100.'.

Note

Pressing F1 after the application is running will also display a detailed list of available command line
options as well as keyboard shortcuts and some other helping text!

Generated by Doxygen
158

4 mvGigEConfigure

mvGigEConfigure is meant to assist with the installation, removal or configuration of the GigE Vision™ capture filter
driver on Windows systems.

This driver will improve the performance of the mvIMPACT Acquire driver stack on Windows systems by adding a
protocol driver to each NIC (networks interface card) in the system.

Note

The Windows 2000 version of this driver does not support the "Resend" mechanism of the GigE
Vision™ protocol.
Installing and configuring drivers on Windows requires elevated user privileges! You therefore either
have to be legitimated as an administrator or your user must have special access right!
In general the installation and the removal of the filter driver is done when installing the mvIMPACT
Acquire GenTL driver package thus usually manual installation/removal is not required. Therefore the
installation process also needs elevated privileges. However if for any reason manual configuration
should become necessary this tool will help doing this. There is also a Command-line Interface allowing
a non-interactive and even non-visual invocation of this tool. This might come in handy when doing
custom installations.
Windows: Given that during the start mvGigEConfigure searches the network for GigE Vision™ devices,
it could be possible that - depending on the Windows firewall settings - a Windows security alert appears.
Please click on "Unblock" or "Allow Access" depending on the version of Windows you are working
with so that the program works properly.

Windows security alert

4.1 Install The GigE Vision™ Capture Filter Driver

To install the GigE Vision™ capture filter driver, please follow these instructions:

1. Start mvGigEConfigure by clicking the program in the start menu.

Generated by Doxygen
4.1 Install The GigE Vision™ Capture Filter Driver 159

2. When started click on the "Install driver" button.


The tool will then automatically install the driver on ALL NICs currently available in the system.

After the installation of the capture filter driver, you will see you network devices and the connected devices:

mvGigEConfigure - Displaying connected devices after driver installation

When a GigE Vision™ compliant device will be initialised, wxPropView will display the used driver technology in
The Property Grid .

wxPropView - Device Properties

Once a device has been initialized successfully the property "mvStreamDriverTechnology" will display

• "FilterDriver" when the high performance kernel mode driver is used

• "SocketAPI" when the driver is not installed or available

The property is located under "System Settings -> GenTL" in interface layout "DeviceSpecific" or under "Image
Settings -> Camera -> GenTL" in interface layout "GenICam". For more information about different interface
layouts please refer to Changing The Interface Layout To GenICam Or DeviceSpecific.

Generated by Doxygen
160

Note

Afterwards you might want to Disable the filter driver on certain NIC or virtual adapters manually.

4.2 Remove The GigE Vision™ Capture Filter Driver

To remove the GigE Vision™ capture filter driver, please follow these instructions:

1. Start the mvGigEConfigure by clicking the program in the start menu.

2. When started lick on the "Remove driver" button.


The tool will then automatically remove the driver from ALL NICs it is currently installed on.

Note

Afterwards the list of NICs will be empty since only those where the filter driver is installed on (either
enabled or disabled) will be listed.

Generated by Doxygen
4.3 Enable/Disable The GigE Vision™ Capture Filter Driver 161

4.3 Enable/Disable The GigE Vision™ Capture Filter Driver

After an initial installation the filter driver will be installed on every NIC in the system. Sometimes this is not desired
(e.g. when running Wireshark on an adapter with the filter driver installed the image data can not be monitored), so
this tool also allows to enable or disable the filter driver for each NIC individually. This can be done by right-clicking
on the desired network adapter as shown in the following image:

mvGigEConfigure - Enable/Disable the filter driver

Note

The usage of the filter driver on Windows systems is highly recommended since its usage results in
less CPU load!

4.4 Miscellaneous

• Pressing F5 or selecting "Action -> Update Device List" from the menu will refresh the list of devices
connected to the individual network adapters

• Pressing F8 or selecting "Help -> Display NIC Setup Hints" from the menu will display various suggestions
on how to improve the NICs performance when dealing with GigE Vision™ traffic.

4.5 Command-line Interface

mvGigEConfigure supports various command-line parameters to allow driver installation without the need of user
interaction.
The following table lists the available command-line parameters:

Generated by Doxygen
162

Parameter Description
disable='index' or all Will disable the driver for interface index or every inter-
face.
enable='index', all or allWithAtLeast←- Will enable the driver for interface index, all interfaces
OneDevice or all interfaces that have at least on GigE Vision de-
vice connected to it.
hidden Will start the application without showing the splash
screen or the application window. This might be useful
when doing a silent configuration in combination with
the 'quit' parameter
install Will install the driver if it can be located under

• "%MVIMPACT_ACQUIRE_DIR%\Kernel←-
Drivers\mvGigECaptureDriver(x86)" for 32-bit
versions of Windows Vista, 7, 8 and 8.1

• "%MVIMPACT_ACQUIRE_DIR%\Kernel←-
Drivers\mvGigECaptureDriver(x86)(←-
SHA256.EV)" for 32-bit versions of Windows
10

• "%MVIMPACT_ACQUIRE_DIR%\Kernel←-
Drivers\mvGigECaptureDriver(x64)" for 64-bit
versions of Windows Vista, 7, 8 and 8.1

• "%MVIMPACT_ACQUIRE_DIR%\Kernel←-
Drivers\mvGigECaptureDriver(x64)(←-
SHA256.EV)" for 64-bit versions of Windows 10
and 11

install_retry_count Defines the number of retry attempts for the driver in-
stallation. This can sometimes be useful when a net-
work component is currently in use/shutting down. 45
seconds will be spent between 2 consecutive attempts.
Currently this value will only have an effect, if specified
BEFORE the 'install' parameter!
log_file='file_name' or lf='file_←- Will write the content of the output window of the appli-
name' cation into a file. Passing 'STDLOGDIR' as the initial
path (e.g. STDLOGDIR/file_name.log) will write the file
into MVIMPACT_ACQUIRE_DATA_DIR/logs thus the
file containing the regular mvIMPACT Acquire log-files
as well.
postInstallMessage Will display a message to the user AFTER the filter
driver has been installed on the system.
quit Will automatically terminate the application once all
the other command-line parameters have been pro-
cessed.
remove Will remove the driver.
welcome Will display a welcome message to the user explaining
what is about to happen.

4.5.1 Examples

So e.g. to automatically install the filter driver and terminate the application afterwards without any additional
messages displayed to the user the following command line is needed:

mvGigEConfigure install quit

Generated by Doxygen
4.5 Command-line Interface 163

If no GUI shall be displayed this command-line parameters can be used:

mvGigEConfigure install hidden quit

This will install the filter driver, but will disable it on all the adapters and then will terminate automatically:

mvGigEConfigure install disable=all quit

This will enable the filter driver on adapters 1 and 3 when it is already installed:

mvGigEConfigure enable=1 enable=3

This will be used during standard installation:

mvGigEConfigure welcome install postinstallmessage

Note

Pressing F1 after the application is running will also display a detailed list of available command line
options as well as keyboard shortcuts and some other helping text!

Generated by Doxygen
164

5 mvIPConfigure

mvIPConfigure is meant to allow the configuration of the network behaviour of GigE Vision™ compliant devices.
With mvIPConfigure it is possible

• to assign a user defined name to a GigE Vision™ compliant device

• to change its IP address behaviour

• to find and fix incorrectly configured (e.g. wrong IP address) GigE Vision™ compliant devices

Note

GigE Vision™ devices:

• macOS: The app mvIPConfigure.app in "∼/mvIMPACT_Acquire/bin" does not


use the correct environment, so a double-click on the app will not find any GigEVision™ de-
vices. To start mvIPConfigure with the correct environment, start the shell script start←-
IPConfigure.sh in "∼/mvIMPACT_Acquire".
• Windows: Given that during the start mvIPConfigure searches the network for GigE Vision™
devices, it could be possible that - depending on the Windows firewall settings - a Windows security
alert appears. Please click on "Unblock" or "Allow Access" depending on the version of Windows
you are working with so that the program works properly.

Windows security alert

A GigE Vision™ compliant device can be configured to

• use a persistent IP address (if supported by the device) or

• use DHCP to obtain an IP address

Since the GigE Vision™ standard requires LLA to be enabled at all times the "Use LLA" control will never become
modifiable.

Every GigE Vision™ compliant device must use the following IP protocol selection algorithm:

Generated by Doxygen
5.1 Configure A GigE Vision™ Device 165

GigE Vision™ - IP protocol selection sequence

Note

Pressing F1 will display a little dialog containing some usage hints as well as a list of available command-
line parameters.

5.1 Configure A GigE Vision™ Device

A GigE Vision™ device can be configured using this application as follows.

Generated by Doxygen
166

mvIPConfigure - Start window

1. Start mvIPConfigure by clicking the program in the start menu.

2. When started select the device you want to configure from the list on left side of the tool.

3. Click on the "Configure" button.


Now every feature that is supported by the device and that can be modified will become enabled.

mvIPConfigure - Device Properties

4. When the device shall use a persistent IP address not only check the check box "Use Persistent IP" but also
enter all the required data into the text controls in the group box "Persistent IP address".

Note

In order for the device being correctly detected in the network with the new IP address, please
power-cycle the device after applying the changes in the next step.

5. To write the changes to the device click on "Apply Changes" button. To discard the changes made in the
GUI controls either close the application, select another device or click anywhere in the device list.

Attention

If you use multiple GigE Vision™ devices connected to separate network adapters in a single host sys-
tem, make sure to use different subnets.

Generated by Doxygen
5.2 Assign A Temporary IPv4 Address 167

5.2 Assign A Temporary IPv4 Address

It is also possible to assign a temporary IP address to a certain device with a known MAC address via the "Action"
menu item.

Note

This even works if the device currently is NOT detected by the application due to incorrect network
configuration! It makes use of the FORCE_IP command specified by the GigE Vision™ standard.

1. Select the "Action" menu item and click on "Manually Assign Temporary IPv4 Address".

mvIPConfigure - Action menu

A dialog opens, where the desired network details can be entered.

mvIPConfigure - Temporary IP dialog

2. Click on "Execute" button.


The device will now use this data until power-cycled or until it is assigned a different IP address.

5.3 Recover An Incorrectly Configured GigE Vision™ Device

Because of the activated setting "Use Advanced Device Discovery", by default incorrectly configured GigE Vi-
sion™ compliant devices will be listed within mvIPConfigure even if the IP address does not match the local net-
work.

Generated by Doxygen
168

mvIPConfigure - Incorrectly configured device

Just select the device and configure it as described in Configure A GigE Vision™ Device.

5.4 View Potential Performance Issues

Right-clicking on any device will allow to view potential performance issues as well as a suggestion on how to
resolve them:

Generated by Doxygen
5.5 Various Auto-Configuration Options 169

mvIPConfigure - Potential Performance Issues

5.5 Various Auto-Configuration Options

mvIPConfigure provides various ways to automatically assign a matching IPv4 address to a device currently not
configured correctly for the NIC(network interface card) it is connected to:

Generated by Doxygen
170

mvIPConfigure - Incorrectly configured device

5.6 Detecting Devices Residing In A Different Subnet

By default devices residing in different subnets will not be discovered as the standard discovery mechanism uses
broadcasts into the local subnet. Therefore devices residing in different subnets will not show up without additional
configuration since broadcasts don't cross routers thus are not forwarded into different subnets.

Note

To discover devices residing in different subnets the IPv4 address of these devices must be known
upfront.

Using mvIPConfigure's "Setup Unicast Device Discovery Destinations" dialog allows to specify the known IPv4
address of each device which shall be discovered in a different subnet.

1. Select the "Action" menu item and click on "Set Up Unicast Device Discovery".

Generated by Doxygen
5.6 Detecting Devices Residing In A Different Subnet 171

mvIPConfigure - Action menu

A dialog will open, where the destination IP addresses of the devices to be discovered can be entered.

2. Select the interface through which the devices in the different subnet will be reachable by using the "←-
Interfaces" drop-down menu. This interface must be able to reach the target subnet of course so has to be
connected to the corresponding router and/or switch.

3. Enter the IPv4 addresses of devices which shall be discovered.

Note

Once the desired IPv4 addresses have been entered the "Discover" button can be used to detect
those devices. If a device is found the corresponding row in the grid will be marked in green and the
serial number of the discovered device will show up in the discovered column. If a device is NOT
showing up make sure the IPv4 address you have entered is correct and the interface selected for
detection is actually capable of reaching the desired subnet.

Generated by Doxygen
172

mvIPConfigure - Setup Unicast Device Discovery Destinations

4. Click on "Apply" button.


The dialog will be closed and mvIPConfigure as well as every other application using the mvIMPACT Acquire
driver stack will be able to discover and use devices at the previously entered IP addresses.

Generated by Doxygen
5.7 Command-line Interface 173

mvIPConfigure - Device discovered in a different subnet

To modify the settings the dialog can be used. To disable the device discovery in different subnets just select the
correct interface and clear the table using the "Clear" button.

Note

The settings for detecting devices in different subnets will be permanent for every application using
mvIMPACT Acquire on the given system. There is also a set of API properties that can be used to
implement the same behaviour. In fact mvIPConfigure uses this API internally. To implement this in your
own application have a look at the InterfaceModule class. The properties starting with mvUnicast←-
DeviceDiscovery will provide the required features.

5.7 Command-line Interface

mvIPConfigure supports various command-line parameters to allow various IP setup related configurations without
the need of user interaction.

The following table lists the available command-line parameters:

Parameter Description
device or d Selects a serial number of a device for configuration.
forceAutoConfigureDHCP or facd Configures devices using misconfigured IP addresses
connected to the adapter specified by a wildcard to use
DHCP mode. If no wildcard is specified every detected
misconfigured device will be configured to use DHCP
mode. (syntax: <Adapter IP address wildcard>).
forceAutoConfigurePersistent or facp Assigns automatically a persistent IP address to de-
vices connected to the adapter specified by a wild-
card. If no wildcard is specified every misconfigured
device will set up for a persistent IP address. (syntax:
<Adapter IP address wildcard>).
hidden Will start the application without showing the splash
screen or the application window. This might be useful
when doing a silent configuration in combination with
the 'quit' parameter.
log_file='file_name' or lf='file_←- Specifies a log file storing the content of this text con-
name' trol upon application shutdown.
persistentIPAddress Defines a persistent IP address for the device currently
selected(value syntax: <interface index>;<value>).
persistentSubnetMask Defines a persistent subnet mask for the de-
vice currently selected(value syntax: <interface
index>;<value>).
persistentDefaultGateway Defines a persistent default gateway for the de-
vice currently selected(value syntax: <interface
index>;<value>).
quit or q Terminates the application automatically after all the
configuration has been applied.
useDHCP Enables/disables the usage of DHCP for the de-
vice currently selected(value syntax: <interface
index>;<value>).
userDefinedName or udn Sets a user defined name for the device currently se-
lected.
usePersistentIP Enables/disables the usage of a persistent IP ad-
dress for the device currently selected(value syntax:
<interface index>;<value>).
Generated by Doxygen
174

5.7.1 Examples

mvIPConfigure device=GX000066 usePersistentIP=0;1 persistentIPAddress=0;172.111.2.1 persistentSubnetMask=0;255

Will configure interface 0 of the specified device to use a certain persistent IP configuration.

mvIPConfigure forceAutoConfigurePersistent=192.168.* quit

Will automatically enable persistent IPv4 address acquisition for all devices with an incorrect network setup on
Ethernet adapters with an IP address matching the value after the '=' character and will terminate the application
automatically afterwards.

mvIPConfigure facd=192.168.1.* quit

Will automatically enable DHCP address acquisition for all devices with an incorrect network setup on Ethernet
adapters with an IP address matching the value after the '=' character Both 'force∗' parameters will only apply to
misconfigured devices utilizing a persistent IP address and the 'Auto-fix Invalid Network Configurations' option from
'Settings' menu is active.

mvIPConfigure facd=192.168.1.* hidden quit

Will do the same but without displaying any GUI.

Note

Pressing F1 after the application is running will also display a detailed list of available command line
options as well as keyboard shortcuts and some other helping text!

Generated by Doxygen

You might also like