Using USB3 Vision Cameras with Matrox Imaging Library

This application note provides information on how to configure and use Teledyne FLIR machine vision USB3 Vision cameras. This document helps users understand the basics of USB3 Vision, and how to use USB3 Vision cameras with third-party USB3 Vision software.

Preparing for Use

Before you use your camera, we recommend that you are aware of the following resources available:

Getting Started Manual for the camera—provides information on installing components and software needed to run the camera. 

Technical Reference for the camera—provides information on the camera’s specifications, features and operations, as well as imaging and acquisition controls.

Firmware updates—ensure you are using to most up-to-date firmware for the camera to take advantage of improvements and fixes.

Tech Insights—Subscribe to our monthly email updates containing information on new knowledge base articles, new firmware and software releases, and Product Change Notices (PCN).

Understanding USB3 Vision

USB3 Vision is a communication interface for vision applications based on the USB 3.1 technology. All cameras supporting USB3 Vision interact the same way with software also supporting USB3 Vision. 

The USB3 Vision standard defines required elements for camera identification, control, and output. Like GigE Vision, it uses GenICam, a programming interface for camera attribute control. GenICam allows camera vendors to define features and attributes in an XML file stored inside the camera. The file is parsed by the host application when the camera is initially discovered. One of the key benefits of GenICam is the ability for camera vendors to introduce new camera-specific features without needing to update the host application. 

Each camera attribute, such as exposure time, is controlled by a specific GenICam feature. Most USB3 Vision applications provide a Graphical User Interface (GUI) to control these attributes.

For more information on the USB3 Vision standard, visit visiononline.org.

For more information on GenICam, visit emva.org.

Installation and Configuration

System Requirements

  • USB 3.1 interface card
  • Teledyne FLIR USB 3.1 camera with USB3 Vision firmware
  • FlyCapture 2.5 or later
  • USB3 Vision compliant software—the example used in this document is Matrox Imaging Library.

Before using a USB3 Vision camera with a third-party application, complete the following steps:

1. Plug in the camera to the USB 3.1 host controller.

2. Install the third-party USB3 Vision software.

3. Ensure third-party Driver is installed for the Camera.

The following sections provide more detail.

Step 1—Connect the Camera

Using a USB 3.1 cable, connect the camera to the USB 3.1 host controller on the PC.

Step 2—Install Third-Party USB3 Vision Software

The example used in this document is Matrox Imaging Library. USB3 Vision support requires MIL/MIL-Lit 10 with MIL 10 Update 1 (or its successor).

Step 3—Ensure Third-Party Driver is Installed for the Camera

Make sure camera appears in device manager as “Matrox managed USB3 Vision camera”. If “Matrox managed USB3 Vision Camera” does not show up in device manager, follow advice in USB3 Vision Troubleshooting Tips.

 

Running Third-Party Software

Teledyne FLIR machine vision USB3 Vision cameras work with the Spinnaker SDK, the FlyCapture2 SDK, or with third-party USB3 Vision applications.

 

This document provides examples using Matrox Imaging Library.

To access the camera in Matrox Intellicam:

1. Open MilConfig.

Start menuAll ProgramsMatrox ImagingGeneral ToolsMilconfig

2. Select Matrox USB3 Vision as the default system type.

Under MilConfig→General→Default Values→Default System→System Type→Matrox USB3 Vision

3. Open Matrox Intellicam.

Start menuAll ProgramsMatrox ImagingGeneral ToolsMatrox Intellicam

4. Ensure allocated system selected is “USB3 Vision 0”.

5. Create new Digitizer Configuration Format (DCF). From the File menu, select New, then select USB3Vision.

Configuring USB3 Vision Camera Properties

To configure various camera properties:

1. In Matrox Intellicam, open Feature Browser. From the Digitizer select Camera Features.

Ensure the camera has stopped streaming before applying camera settings.

2. Intellicam provides different options to change camera properties via the XML tree, configure it according to the application needs.

3. To enable constant update of the camera’s read-only values, check the “Polling” checkbox located at the top right hand corner of Intellicam’s camera feature pane.

Exposure Time (read-only) will keep updating as long as Polling is checked.

Note: Select User Level "Guru" in order to see all camera supported features.

Capturing Images with a USB3 Vision Camera

Capturing in Free Running

To capture images in free running mode:

1. Ensure trigger mode is off.

Under Point Grey Research camera -> Acquisition Control -> Trigger Selector -> Trigger Mode -> Off

2. Set Acquisition Mode to continuous.

Under Point Grey Research camera -> Acquisition Control -> Acquisition Mode -> Continuous

3. Start continuous acquisition.

From toolbar, select Digitizer -> Continuous Grab

Capturing with Triggers

To capture images using triggers:

1. Using the camera feature box, under Acquisition Control -> Trigger Selector -> Trigger Mode -> On

  • Frame Start—the camera starts integration from the trigger defined by the Trigger Source and Trigger Activation and the integration time is defined by the Exposure Time value.
  • Exposure Active—the camera starts integration from the Trigger Activation and the integration time is equal to the state time of the trigger input. 

2. To start software triggering the camera, set the Trigger Source to “Software”.

3. Click Trigger Software -> Execute()

USB 3.1 Chunk Data

Support for Chunk Data Stream is part of the USB3 Vision standard.

Chunk Data Stream allows images to have chunks of additional data such as time stamp or frame counter. 

To enable Chunk Data Stream:

1. Using the camera feature box, under Chunk Data Control.

2. Select ChunkEnable and turn it on.

3. Select ChunkModeActive and turn it on.

4. Select ChunkSelector to choose the desired data to include in the payload of the image.

Note: It is necessary to close the image window before enabling additional chunk selectors.

Note: Decreasing the live display zoom will help increase the update rate of the enabled chunk data.

Matrox IntelliCam Troubleshooting Tips

“Continuous Safe Grab” or “Single Safe Grab” results in black images

Solution: This is due to the fact that the image size is too big. Increasing “non-paged memory” in MilConfig resolves this issue.

Mono12 Packed pixel format is not supported

MIL 10 Update 1 does not support Mono12 Packed pixel format. Support for mono12 packed pixel format will be provided in a future MIL 10 update.

Matrox Intellicam returns allocation error, “Not enough non-paged memory to allocate the buffer”

Solution: Start MilConfig and under Non-Paged Memory -> Non-Paged Memory -> Request Non-Paged Memory Size -> increase memory size and restart PC.

Difficulties setting the camera properties or starting acquisition on the first attempt

Solution: Remove the following DDLs installed in the system32:

CLAllSerial_MD_VC80_v2_3.dll
CLProtocol_MD_VC80_v2_3.dll
GCBase_MD_VC80_v2_3.dll
GenApi_MD_VC80_v2_3.dll
log4cpp_MD_VC80_v2_3.dll
Log_MD_VC80_v2_3.dll
MathParser_MD_VC80_v2_3.dll
CLSerCOM.dll
Xalan-C_MD_VC80_v1_10_1.dll
XalanMessages_MD_VC80_v1_10_1.dll
Xerces-C_MD_VC80_v2_7_1.dll
XMLLoader_MD_VC80_v2_3.dll

USB3 Vision Troubleshooting Tips

Known FlyCapture Issues with USB3 Vision Firmware

To use the FLIR machine vision USB3 Vision cameras, we recommend the Spinnaker SDK, or FlyCapture 2.5 SDK or later. 

FlyCapture 2.4 SDK may work with USB3 Vision cameras, but we have not done extensive testing with this pairing and cannot guarantee results.

FlyCapture 2.3 SDK and earlier versions do not work with USB3 Vision cameras.

What to do if my camera appears in FlyCapture2 but not in MIL?

Verify Firmware and Update if Necessary

The USB3 Vision standard was established after the launch of our USB 3.1 cameras. USB3 Vision support for our USB 3.1 cameras started from the following firmware version:

Camera Firmware
Flea3 USB 3.1 2.7.3.0 and newer
Grasshopper3 USB 3.1 2.3.3.0 and newer

To determine your camera’s firmware version:

1. Ensure the camera has powered up.

2. Open the FlyCap2 program, installed with the FlyCapture2 SDK.

Start menu→All Programs→Point Grey FlyCapture2 SDK→Point Grey FlyCap2

The firmware version is displayed in the Camera Selection window, as well as on the Camera Information tab of the Camera Control dialog.


FlyCap2 Camera Selection Window

If the firmware of the camera does not support USB3 Vision, you can update the firmware to the latest version.

To update your camera’s firmware version:

1. Download the firmware file from our Downloads page.

2. Ensure the camera has powered up.

3. Open the UpdatorGUI utility, installed with FlyCapture2 SDK.

Start menu→All Programs→Point Grey FlyCapture2 SDK→Utilities→UpdatorGUI3

4. Select the camera from the Camera List.

5. Click Open to select the firmware file.

6. Click Update to begin the update process. Do NOT disconnect the camera until the update is complete.

Ensure the USB 3.1 host controller is using the manufacturer’s driver(or Windows 8 driver).

Third-party USB3 Vision applications come with their own device driver, which needs to be installed for the USB3 Vision camera. To install the third-party device driver for the camera, the USB 3.1 host controller must be configured to use the manufacturer’s driver, and not the USBPro driver (pgrxhci). If using Windows 8, the Windows driver can also be used.

 

If the USB 3.1 host controller is configured to use the USBPro driver you are not able to install the third-party camera driver.

To determine which driver the USB 3.1 host controller is using, open DriverControlGUI and click on the USB tab. 
Start menuAll ProgramsPoint Grey FlyCapture2 SDKUtilitiesDriverControlGUI
If the host controller is configured for the Point Grey USBPro driver, the camera does not appear as a separate device.


In the figures to the right:

A. Shows a Renesas USB 3 Extensible Host Controller with the USBPro driver installed. The camera is not shown.

 

B. Shows a Flea3 camera as a separate device listing running with a Renesas USB 3.1 Host Controller with the manufacturer’s driver installed.

The camera and card are listed as two separate devices.

If your USB 3.1 host controller is using the USBPro driver, you can change this using the DriverControlGUI.

To change the driver of the USB 3.1 host controller:

1. Ensure the camera has powered up.

2. Open the DriverControlGUI utility, installed with the FlyCapture2 SDK.

Start menuAll ProgramsPoint Grey FlyCapture2 SDKUtilitiesDriverControlGUI

3. Click on the USB tab.

4. From the PC tree, under the host controller, select the Point Grey USB 3.1 Vision Camera.

5. Under Driver Selection, select Third-Party Drivers, and select the driver from the drop-down. If there is more than one listed, select the latest version for the manufacturer.

  • If no driver is listed, select Manual Selection and click Browse to find the driver on your computer.
  • Click Install Driver.

Ensure the camera is configured to use the MIL device driver.

To install the third-party USB3 Vision driver on the camera:

1. Ensure the camera has powered up and connected.

2. Install MIL/MIL-Lite 10 and MIL 10 update 1 (or its successor), the USB3Vision driver is included in this update.

3. Make sure camera appears in device manager as “Matrox managed USB3 Vision camera”. 

4. If the camera appears as Point Grey USB 3.1 Vision Camera, this indicates that Windows is using our USB3 Vision camera driver. In the case, we proceed to load Matrox's USB3 Vision driver.

5. Open the DriverControlGUI utility, installed with the FlyCapture2 SDK.

Start menuAll ProgramsPoint Grey FlyCapture2 SDKUtilitiesDriverControlGUI

6. Click on the USB tab.

7. From the PC tree, under the host controller, select the Point Grey USB 3.1 Vision Camera.

8. Under Driver Selection, select Manual Selection and click Browse to find the driver on your computer.

For Matrox Imaging, the driver is found under:
C:\Program Files\Matrox Imaging\Drivers\usb3vision\sys\mtxusb3vision.inf

9. Click Install Driver.

10. Once you have installed the third-party USB3 Vision camera driver, the DriverControlGUI lists the camera under the third-party software listing.

 

You can also use Windows Device Manager to install drivers on host controllers and cameras.