Getting Started

FlyCapture® Software Development Kit

FlyCapture is a software package designed specifically for use with FLIR imaging cameras. A license to use the package is included with all Imaging Products. The package is compatible with both Microsoft Windows and Linux Ubuntu, and supports the ActiveX, DirectShow and TWAIN APIs. The package consists of:

  • device drivers (for Windows)
  • A software development kit (SDK)
  • A variety of example programs and affiliated source code.

These components provide users with all of the following:

  • A complete and easy-to-use programming library for image capture, processing, saving, and display
  • A standard C/C++/.NET interface allows for easy integration and use with all compatible cameras
  • Uses DMA to minimize latency and processor requirements
  • Allows for multithreaded programming
  • Full Application Programming Interface (API) allows for complete camera control
  • Visual C++ 6.0, Visual Studio 2005 example programs with full source code
NOTE:

The FlyCapture SDK example programs and software libraries can only be used with compatible FLIR cameras that have a FlyCapture driver installed. Third-party cameras, or FLIR cameras that are installed with a third-party camera driver, cannot be used with this SDK.

See Also

  • System Requirements
  • Backward Compatibility Information
  • Support for Third Party APIs
  • Distributing FlyCapture Applications
  • FlyCapture Device Drivers
  • FlyCap Demo Program
  • FlyCapture 2.0 Examples
  • FlyCapture 2.0 API Library
  • Technical Support Resources

Related Knowledge Base Articles

  • Using PGR DLLs with Borland C++ Builder.
  • How does image data get from a PGR IEEE-1394 digital camera to the user?


What's New in FlyCapture 2.2

FlyCapture version 2.2 provides the following new features and enhancements:

  • Support for programming and operating USB 3.0 cameras. For driver information, see PGR USB 3.0 Camera Driver.
  • Support for streaming images in YUV422 JPEG 2000-compressed format with supported GigE Vision cameras. To configure JPEG-compressed image format using the FlyCap demo program, see Custom Video Modes. To use the API, see the PixelFormat enumeration type for your programming interface. To determine if your GigE Vision camera supports JPEG compression, consult your camera's Technical Reference manual.
  • FlyCap demo program support for recording AVI and MP4 video, as well as image sequences in a variety of supported formats. For more information, see Recording Video and Saving Images.
  • Ability to resend dropped GVSP data packets to improve jitter in GigE Vision applications. To configure packet resend using the FlyCap demo program, see Advanced Camera Settings. To use the API, see the GigEConfig struct reference for your programming interface.
  • Ability to auto-configure a GigE Vision camera's IP address to the same subnet as the interface card. To auto-force IP addressing using the FlyCap demo program, see Camera Selection Dialog or the GigE Configurator online Help. To use the API, see the ForceIPAddressToCamera() or ForceAllIPAddressesAutomatically() functions of the BusManager class for your programming interface.
  • Updated DriverControlGUI tool for associating a camera or interface card with supported drivers. For more information, see DriverControlGUI.

See Also

  • FlyCapture Software Development Kit


System Requirements

Hardware Requirements

  • Compatible FLIR imaging cameras
    • Chameleon
    • Dragonfly
    • Dragonfly2
    • Dragonfly Express
    • Firefly
    • Firefly2
    • Firefly MV
    • Flea
    • Flea2
    • Flea3
    • Grasshopper
    • Grasshopper2
    • Scorpion
  • USB cameras: USB 2.0 port or host adapter card
  • 1394 cameras:
    • 1394a or 1394b PCI card and 1 free PCI slot
    • 6-pin 1394a cable or 9-pin 1394b cable
  • GigE Vision cameras:
    • GigE Network Interface Card (PCIe card with Intel PRO 1000 chipset recommended) and 1 free PCI slot
    • Cat5, Cat5e or Cat6 Ethernet cable
    • 12-24 V power supply with 8-pin HR25 GPIO wiring harness
  • Intel Core 2 dual or comparable PC
  • 2 GB of RAM recommended

Software Requirements (Windows)

  • Windows XP (Service Pack 3 recommended), Windows Vista (Service Pack 1 recommended) or Windows 7
  • MS Visual Studio 2005 SP1
  • MS Visual Studio 2005 SP1 and SP1 Update for Vista (to compile and run example code on Windows Vista or Windows 7)

Software Requirements (Linux)

  • Ubuntu 8.04
  • gtkmm-2.4-dev and libgtkmm-2.4-dev dependencies to compile and run graphical user interface (GUI)-based example code, such as FlyCap2_GTKmm. Console applications do not require these packages. These libraries are usually pre-installed.

Software Requirements (General)

  • FlyCapture applications that also use Intel Integrated Performance Primitives (IPP) must use IPP version 6.x.
NOTE:

The FlyCapture2 SDK example programs and software libraries can only be used with compatible FLIR cameras that have a FlyCapture driver installed. Third-party cameras, or FLIR cameras that are installed with a third-party camera driver, cannot be used with this SDK.

See Also

  • FlyCapture Software Development Kit

Related Knowledge Base Articles

  • Getting Started with FlyCapture 2.0 and Linux
  • Which versions of Visual Studio can be used to build applications using the FlyCapture or Ladybug SDK?
  • Which operating system will my PGR camera work with?
  • Troublesome hardware configurations


Backward Compatibility Information

Backward Compatibility with FlyCapture 1.x

FlyCapture version 2.0 is installed separately from earlier versions of FlyCapture. FlyCapture versions 1.x cannot be 'upgraded' to FlyCapture 2.0. In fact, both versions can be installed side-by-side on the same system. Additionally, you can run FlyCapture 1.x applications on FlyCapture 2.0. However, not all of the functions in the FlyCapture 1.x API are supported in FlyCapture 2.0. The following FlyCapture 1.x functions are not supported in FlyCapture 2.0:

  • flycaptureInplaceWhiteBalance
  • flycaptureGetImageFilters
  • flycaptureSetImageFilters
  • flycaptureInitializeNotify
  • flycaptureLockNextEvent
  • flycaptureWaitForImageEvent
  • flycaptureUnlockEvent
  • flycaptureSetMessageLoggingStatus
  • flycaptureGetMessageLoggingStatus
  • flycaptureInitializeMessaging
  • flycaptureCloseMessaging
  • flycaptureReceiveMessage
  • flycaptureBusErrorToString

See Also

  • FlyCapture Software Development Kit


Support for 3rd Party APIs

Support for Third Party APIs

The FlyCapture SDK supports applications built with the following third party interfaces:

  • ActiveX: For more informaiton, see FlyCapture ActiveX Programming Reference.pdf, available from the Start menu, or installed by default in the \doc folder of the Point Grey Research\FlyCapture2 installation directory.
  • DirectShow: For more information, see Knowledge Base Article 267.
  • TWAIN: The FlyCapture SDK includes drivers that allow TWAIN-compliant applications to connect to a FLIR 1394 imaging camera to view and capture images.

See Also

  • FlyCapture Software Development Kit


Distributing FlyCapture Applications

When distributing applications built with the FlyCapture SDK, the files that must be included with the distribution depend on the interface used to program the application. These interfaces include the following:

  • FlyCapture2: A C++ program.
  • FlyCapture2GUI: A C++ program that comprises graphical user interface (GUI) components.
  • FlyCapture2_C: A C program.
  • FlyCapture2GUI_C: A C program that comprises GUI components.
  • FlyCapture2Managed: A C# or VB.NET program that may or may not include GUI components.
  • FC1Emulation: A program written for FlyCapture version 1.x, but will run against a FlyCapture version 2.x installation.
  • FC1GUIEmulation: A program written for FlyCapture version 1.x that comprises GUI components, but will run against a FlyCapture version 2.x installation.

The following table indicates the .dll files required for inclusion in application distributions, depending on the programming interface. These files are installed by default in the bin/ folder of the FlyCapture2 installation directory.

File: | Interface:
 | FlyCapture2 | FlyCapture2GUI | FlyCapture2_C | FlyCapture2GUI_C | FlyCapture2Managed | FC1Emulation | FC1GUIEmulation
FlyCapture2.dll | X | X | X | X | X | X | X
libiomp5md.dll | X | X | X | X | X | X | X
FlyCapture2GUI.dll & FlyCapture2GUI_GTK.glade |  | X |  | X | X |  | X
FlyCapture2_C.dll |  |  | X | X |  | X | X
FlyCapture2GUI_C.dll |  |  |  | X |  |  | X
FlyCapture2Managed.dll |  |  |  |  | X |  |
PGRFlyCapture.dll |  |  |  |  |  | X |
PGRFlyCaptureGUI.dll |  |  |  |  |  |  | X
GTK+ runtimes |  | X* |  | X* | X* |  | X*

* Required for applications built with FlyCapture versions 2.0 and 2.1 only. Applications built with FlyCapture 2.2 and later do not require the GTK+ runtimes, unless based on the FlyCap2_GTKmm source code. In versions 2.0 and 2.1, the GTK+ libraries are installed by default in the gtk/ folder of the FlyCapture2 installation directory. Alternatively, they can be downloaded from http://www.ptgrey.com/support/downloads/index.asp.

See Also

  • FlyCapture Software Development Kit
  • Backward Compatibility Information
  • FlyCapture API Library
  • FlyCapture2 Examples


Device Drivers

Device Drivers and Utilities

IEEE-1394 and USB Cameras

The FlyCapture SDK includes the following device drivers for Windows users:

  • PGRCAM driver for easy camera installation.
  • FirePRO driver for low-level control of IEEE-1394b OHCI PCI Host Adapter.
For more information about the difference between the PGRCAM and FirePRO drivers, see Knowledge Base Article 171.
  • PGRUSBCam driver for low-level control of the USB 2.0 bus.
  • PGRXHCI driver for low-level control of the USB 3.0 bus.

For information about compatibility with Windows operating systems and application types, see Knowledge Base Article 258.

GigE Vision Cameras

The FLIR Image Filter driver is a network service that optimizes image streaming performance with GigE Vision cameras. For more information, see Image Filter Driver.

The FLIR GigE Configurator can be used to configure the internet protocol (IP) configuration for any GigE interface cards or FLIR GigE Vision cameras connected to the system. For more information, refer to the online Help file included with the tool. To open the GigE Configurator, click Start > Point Grey Research > FlyCapture2 > Utilities > GigEConfigurator.

Managing Camera Drivers

The following utilities can be used to manage camera drivers:

  • Driver Control GUI for changing drivers to associate with a camera or IEEE-1394 host adapter card.
  • Windows Device Manager for referencing installed hardware and updating device drivers.

The Program Files\Point Grey Research\FlyCapture2\driver directory contains signed and unsigned driver versions. For more information about working with driver versions, see Knowledge Base Article 337.

NOTE:

FLIR device drivers must be installed in order to use any of the FLIR programs or example software on Windows systems. No FLIR-specific drivers are required on Linux.

See Also

  • FlyCapture Software Development Kit
  • Managing Driver Versions

Related Knowledge Base Articles

  • Which FLIR camera driver should I use?
  • Working with signed and unsigned camera drivers
  • Using Windows Device Manager to determine PGR software and driver versions
  • Why does the "Found New Hardware Wizard" appear in Windows XP?
  • Why do I get a Hardware Installation warning screen?
  • Windows Device Manager incorrectly lists my PGR camera, or displays an exclamation mark beside the device.


Managing Driver Versions

FLIR provides both signed and unsigned drivers with releases of the FlyCapture SDK. Unsigned drivers are updated for each minor release, while signed drivers are updated less frequently. During an SDK installation, signed versions are always installed by default. However, if the SDK version you downloaded is not a major release, there may be more recent, unsigned, driver versions that were downloaded as well. You can upgrade to these versions using any of the following methods:

  • FLIR's DriverControlGUI utility. This is a graphical utility installed by default in the \bin folder of the SDK installation directory.
  • FLIR's DriverInstallUtility. This program is installed by default in the \bin folder of the SDK installation directory.
  • Manual installation using the Windows Device Manager
NOTE:

Windows Vista 64-bit does not permit installation of unsigned drivers.

Switching Drivers Using DriverControlGUI

FLIR's driverControlGUI utility is installed by default in the \bin folder of the SDK installation directory, and is an easy way to switch between different drivers. It is also available from the Start menu. The interface is divided into two panes. The upper pane lists detected cameras and the lower pane lists detected host adapter cards. Note that for FireWire cameras, FirePRO drivers are installed on cards only, while PGRCAM drivers are installed on both cards and cameras. (See Knowledge Base article 229 for more information.) After selecting a device, the area below each pane displays the available drivers for that device. To switch drivers, select a driver, then click Switch.

NOTE:

driverControlGUI may produce unexpected results on some systems. If this utility is not successful, use one of the other two methods described below.

Automatic Driver Upgrade Using DriverInstallUtility

You can use FLIR's DriverInstallUtility to install camera drivers outside of the standard SDK setup installation. DriverInstallUtility is installed by default in the \bin folder of the SDK installation directory. This tool uses the libraries provided in the DriverPackageInstall function of the Microsoft Windows Driver Kit. For more information about this function, see http://msdn.microsoft.com/en-us/library/ms793484.aspx.

The following Windows console example uses the DriverInstallUtility to install the PGRCAM driver:

DriverInstallUtility /i pgrcam.inf 20

Where /i specifies install, and 20 is the sum of 4 (FORCE) and 16 (LEGACY). The FORCE flag forces installation regardless of how well any existing drivers match the camera device. The LEGACY flag allows the driver to be installed regardless of whether it is signed or unsigned.

For more information on usage, run DriverInstallUtility with no parameters.

Manual Driver Upgrade Using Windows Device Manager

  1. In Device Manager, right-click the FLIR device and select Update Driver. For FireWire cameras, if you are upgrading a FirePRO driver, you are upgrading on a host adapter card rather than a camera; no camera appears in Device Manager in this case. Refer to Knowledge Base Article 229. If you are upgrading a PGRCAM driver, right-click on the camera.
  2. On the first screen of the Hardware Update Wizard, click No, not this time when asked to connect to Windows Update. Click Next.
  3. Click Install from a list or specific location. Click Next.
  4. Select Don't search. I will choose the driver to install. Click Next.
  5. Click Have Disk, then browse to the driver folder of the SDK installation directory. For example, C:\Program Files\Point Grey Research\FlyCapture2\driver\selfsigned\Windows XP. Select a driver, then click Open. On the previous window, Click OK.
  6. Select the appropriate camera model or host adapter card. If more than one camera model has the same name, sleect the first model with that name. Click Next.
  7. The installation process proceeds. When asked if you want to install the unsigned driver, click Continue Anyway. Click Finish to complete the installation.

See Also

  • Device Drivers and Utilities


FirePRO Low-Level Driver

The FirePRO driver (pgr1394b.sys) has been developed in an effort to provide the user with enhanced functionality. It is a replacement for the Microsoft low-level 1394 host adapter drivers (ohci1394.sys and 1394bus.sys), and directly interfaces with the FlyCapture library, removing the requirement for the PGRCAM camera driver (pgrcam.sys).

Advantages

  • Provides the ability to read OHCI card registers and get error codes from the OHCI card that are normally hidden.
  • Devices can run at full 1394b speeds (S800). The Microsoft Windows XP Service Pack 2 and Service Pack 3 drivers currently limit speeds to S100, while Windows Vista drivers limit S800 devices to S400 speeds.

Disadvantages

  • The FirePRO driver prevents any other devices from working on the OHCI card other than those provided by PGR, PGR distributors, or customers who use PGR devices as an OEM.
  • It installs only for FLIR FirePRO, Texas Instruments or LSI OHCI 1394a and 1394b PCI cards.
  • Since this is not a 1394 bus driver, devices that would normally appear in the Device Manager when using the Microsoft drivers, will not appear with the FirePRO driver. However, when PGR software such as Flycap.exe is executed, the cameras appear as expected.

DriverControlGUI allows the user to easily toggle between the FirePRO, PGRCAM, PGR FlyStream and other select third-party drivers.

NOTE:

The FirePRO driver prevents any other devices from working on the OHCI card other than those provided by PGR, PGR distributors, or customers who use PGR devices as an OEM. It installs only for Texas Instruments OHCI 1394b PCI cards.

See Also

  • FlyCapture Device Drivers

Related Knowledge Base Articles

  • Performance of 1394 devices decrease after installing Windows XP SP2.
  • Cameras connected to 1394 card using pgr1394b.sys not detected.


PGRCAM Camera Driver

The PGRCAM software driver (\driver\signed\pgrcam.sys) is used to control all FLIR 1394 Imaging Products. One version is digitally signed by Microsoft for easy camera installation. The unsigned driver is often a more recent version that includes more features and bug fixes; not every build of the PGRCAM driver goes through the intensive digital signing process. Visit Microsoft's Driver Signing page for more information.

NOTE:

The signed driver is only compatible with Windows XP and Windows Vista. It is not compatible with Windows 2000.

Installation Instructions

To use the PGRCAM signed driver requires the driver to be manually installed the first time. Upon successful installation, all subsequent installations of Applicable Products will be performed automatically.

  1. Uninstall all cameras from the system by locating the camera in the Windows Device Manager, right-clicking the device, and selecting Uninstall. Unplug the camera(s).
  2. Delete any oem*.inf files from your %SystemRoot%\inf directory.
  3. Reboot your machine.
  4. Plug a PGR camera in. The Found New Hardware Wizard will appear, prompting for driver installation.
NOTE:

The Found New Hardware Wizard will only appear once (for the first camera). All subsequent installations of Applicable Products will be automatically installed with the signed driver.
  5. Follow the steps outlined in Knowledge Base Article 102.
  6. To test that the signed driver is installed, connect a second PGR camera. Windows should detect the camera, and then automatically install the signed driver (verify this in Windows Device Manager).

See Also

  • FlyCapture Device Drivers

Related Knowledge Base Articles

  • Using Windows Device Manager to determine PGR software and driver versions
  • Why does the "Found New Hardware Wizard" appear in Windows XP?
  • Why do I get a Hardware Installation warning screen?


PGRUSBCam Camera Driver

The PGRUSBCam software driver (\driver\signed\PGRUSBCam.sys) is used to control all FLIR USB 2.0 Imaging Products. One version is digitally signed by Microsoft for easy camera installation. The unsigned driver is often a more recent version that includes more features and bug fixes; not every build of the PGRUSBCam driver goes through the intensive digital signing process. Visit Microsoft's Driver Signing page for more information.

See Also

  • FlyCapture Device Drivers

Related Knowledge Base Articles

  • Using USB 2.0 host adapter cards with USB cameras
  • Differences between USB cameras and FireWire cameras


PGR USB3 Camera Driver

PGR USB 3.0 Camera Driver

The PGRXHCI software driver (\driver\signed\PGRXHCI.sys) is used to control all FLIR USB 3.0 imaging devices. One version is digitally signed by Microsoft for easy camera installation. The unsigned driver is often a more recent version that includes more features and bug fixes; not every build of the driver goes through the intensive digital signing process. Visit Microsoft's Driver Signing page for more information.

NOTE:
  • The PGRXHCI driver is not compatible with FLIR USB2 imaging devices. Use the PGRUSBCam driver instead.
  • When the PGRUSBCam driver is used in conjunction with a USB 2.0 port, USB 3.0 devices operate at USB 2.0 speed.

See Also

  • FlyCapture Device Drivers
  • Managing Driver Versions

Related Knowledge Base Articles

  • Using USB 2.0 host adapter cards with USB cameras
  • Differences between USB cameras and FireWire cameras


Image Filter Driver

The FLIR Image Filter Driver (PGRGIGE.sys) was developed for use with GigE Vision cameras. This driver operates as a network service between the camera and the Microsoft built-in UDP stack to filter out GigE vision stream protocol (GVSP) packets.

The filter driver is installed and enabled by default as part of the FlyCapture SDK installation process. Use of the filter driver is recommended, as it can reduce CPU load and improve image streaming performance.

FLIR GigE Vision cameras can operate without the filter driver, by communicating directly with the Microsoft UDP stack. GigE Vision cameras operating on Linux systems can communicate directly with native Ubuntu drivers.

NOTE:

When the Image Filter Driver is in use, keep in mind the following:

  • The Image Filter Driver is installed on all GigE network interface cards on the system. The service must be explicitly disabled on any interface cards where it is not desired.
  • In some cases the filter driver service can cause the Jumbo Frames capability setting to revert to the default configuration. This may cause unexpected results with some cameras, depending on the packet size configuration.
  • The Windows Task Manager does not accurately report network utilization by the host adapter to which the camera is connected. Instead, the Task Manager reports 0% (or close to 0%) utilization.
  • When using network diagnostic tools such as Wireshark, only camera and network control data are available. No image data is available.

To configure or query the status of the Image Filter Driver

You can use any of the following methods to uninstall/reinstall, enable/disable or query the status of the Image Filter Driver:

NOTE:

All network interfaces are temporarily disabled during filter driver installation.
  • The FLIR GigE Configurator. To open the GigE Configurator, click Start > Point Grey Research > FlyCapture2 > Utilities > GigEConfigurator. After opening, click the Pt Grey Filter Driver menu item and select the desired option.
  • The InstallPGRFilterDriver.exe command prompt utility, located in the \bin folder of the FlyCapture2 installation directory.

Syntax:

InstallPGRFilterDriver.exe < /i inf-filename | /u > | /e | /d | /q >

Options:

/i
Installs the Image Filter Driver network service

<inf-filename>
Path to pgrgige.inf. This file is installed in the driver\ folder of the FlyCapture2 installation directory. Signed and self-signed versions are available for different operating systems.

/u
Uninstalls the Image Filter Driver network service

/e
Enables the filter driver on all GigE network interface cards on the system.

/d
Disables the filter driver on all GigE network interface cards on the system.

/q
Queries the current state of the filter driver (installed/not installed, enabled/disabled).

  • The networking properties dialog provided by your GigE network interface card software.
  • Manual install/uninstall through the Properties dialog of the network connection in Windows. The exact interface depends on your operating system. For example, in Windows XP, open Network Connections from the Control Panel. Then open the connection for which you want to install the driver. In the 'Properties' dialog, click Install... Under 'Select Network Component Type,' click Service, then click Add... Under 'Select Network Service,' click PointGrey, then click Point Grey Image Filter Driver. click OK.

See Also

  • FlyCapture Device Drivers

Related Knowledge Base Articles

  • Working with signed and unsigned camera drivers


DriverControlGUI

The DriverControlGUI utility allows you to quickly associate your FLIR camera or your system's IEEE-1394, USB 3.0 or GigE interface card with supported drivers. You can use DriverControlGUI to switch the drivers that are used by a FLIR camera between standard signed or unsigned FLIR drivers and third-party drivers from companies such as Cognex, National Instruments and Matrox.

To open DriverControlGUI

Start -> All Programs -> Point Grey Research -> FlyCapture2 -> Utilities -> DriverControl GUI

Or, run DriverControlGUI.exe from the \bin folder of the FlyCapture2 installation directory.

DriverControlGUI uses a tabbed dialog to separate driver installation by interface. Each interface tab consists of a device list in the left pane and driver information and control on the right. When a device is selected in the device list, the current driver information for that device is displayed in the Driver Info pane on the right. If the selected device is supported by DriverControlGUI, any other available drivers are listed in the drop-down boxes in the Driver Selection section. Only those third-party drivers detected on the system are listed as available. Alternatively, you can install a driver by browsing to a .inf file on the system. If the selected device is not supported by the application, then all driver options are greyed out.

To associate a driver with a device:

  1. Select an interface tab corresponding to the type of device (FireWire, USB, GigE).
  2. In the left pane, select the applicable device.
  3. In the right pane, select the driver you wish to install. The driver that is currently installed is listed as "Installed."
  4. Click Install Driver. The switch may take a few moments.
  5. Upon successful installation, a "Success" message appears, and the device list automatically refreshes.

Tab-Specific Options

Firewire tab

  • FirePro DMA Mode controls the DMA mode for firewire cards that use the FLIR FirePro driver. There are options to set all cards to packet-per-buffer mode or to buffer fill mode. For more information, see Knowledge Base Article 254.
  • To downgrade Microsoft drivers from SP2/3 to SP1 on Windows XP 32-bit systems, click Launch fixSP2g Utility. For more information, see Knowledge Base Article 171.
NOTE:

FLIR cameras that are connected to IEEE-1394b cards using the FirePRO driver are not listed in the device list. To associate these cameras with another driver, switch your 1394b card to the Microsoft 1394 driver.

USB tab

  • PCIe Bus Info displays the bus speed of a selected USB 3.0 card. The card must have the FLIR USB 3.0 driver (pgrxhci.inf) installed.
NOTE:

FLIR cameras that are connected to USB 3.0 cards using the FLIR USB 3.0 driver are not listed in the device list. To associate these cameras with another driver, switch your USB 3.0 card to the vendor's driver.

GigE tab

  • Filter Driver Control allows the ability to install/remove/enable/disable the FLIR GigE Image Filter Driver on all GigE network interface cards on the system.
  • To configure the IP address of any GigE cameras and interface cards connected to the system, click Launch GigE Configurator. For more information, refer to the online Help included with the GigE Configurator.

Other Configuration

  • PGR DirectShow Filters allows you to register/unregister the FLIR DirectShow Source and Decoder filters. For more information, see Knowledge Base Article 310.
  • Interface Enumeration allows you to enable/disable enumeration of selected interfaces by the FlyCapture2 library and GUI.
  • To open the Windows Device Manager, click Launch Device Manager.

See Also

  • FlyCapture Device Drivers

Related Knowledge Base Articles

  • PGR Imaging Products compatibility with third-party software and drivers
  • Using the FlyStream driver with support for DirectShow


Windows Device Manager

Device Manager provides you with information about how the hardware on your computer is installed and configured, and how the hardware interacts with your computer's programs. With Device Manager, you can update the device drivers for hardware installed on your computer, modify hardware settings, and troubleshoot problems.

You can access Device Manager in several different ways:

  1. Right-click My Computer > Properties > Hardware tab > Device Manager; or
  2. Select Start > Run and enter devmgmt.msc; or
  3. Select Start > Control Panel > System > Hardware > Device Manager.
  4. Click the Open Device Manager button in the Info/Support section of the FlyCap Camera Control dialog.

Once in Device Manager, you can determine the software version used by your camera by double-clicking the device icon or by right-clicking the camera icon and selecting Properties. Select the Driver tab, then click the Driver Details button.

NOTE:

The version listed under Driver Details is more accurate than the version listed under the main Driver tab.

See Also

  • FlyCapture Device Drivers


About FlyCap2

FlyCap Demo Program

The FlyCap application is a streaming image viewer you can use to test many of the capabilities of your compatible FLIR camera. It allows you to view a live video stream from the camera, as well as save individual images, adjust the various video formats, frame rates, properties and settings of the camera, and access camera registers.

NOTE:

The full FlyCap C++/C# source code is included with the FlyCapture SDK. To access the FlyCap workspace from the Start menu, select Program Files > Point Grey Research Inc. > FlyCapture2 > Examples.

Starting FlyCap

To run FlyCap from the Start menu, select Program Files > Point Grey Research Inc. > FlyCapture2 > FlyCap2.exe. The Camera Selection Dialog opens.

FlyCap2 consists of two primary interfaces: the Main Window and the Camera Control Dialog.

Interface Functions
Main Window
  • View a live video stream from the camera.
  • Save individual images.
  • View information about the images being received, such as resolution and timestamps.
Camera Control Dialog
  • Set standard pixel formats, resolutions, and frame rates.
  • Adjust image acquisition settings such as brightness, gain, shutter and others.
  • View information about the current camera, firmware and software environment.
  • Adjust the white balance and color processing algorithm.
  • Adjust advanced pixel format settings and configure high dynamic range mode.
  • Set Format_7 custom image modes.
  • Configure internal and external input triggers and output strobe signals.
  • Configure lookup tables of gamma functions.
  • Use the on-camera frame buffer and data storage spaces (if supported) to re-transmit images and store flash data.
  • Read and write to the camera registers.
  • Configure Message Logging (Not supported in this release).
  • View the physical registers and network topology (Not supported in this release).


Camera Selection Dialog

When FlyCap starts, the Camera Selection dialog appears. This dialog allows you to view a list of all the currently connected FLIR cameras, across all buses, and select one to control and view images from. It provides basic information for each camera, such as model type, serial number, maximum resolution, and the imaging sensor. Gigabit Ethernet-related network information is also available for any GigE Vision cameras that are connected. To view, select a GigE Vision camera, then expand GigE Information.

NOTE:

If your GigE Vision camera(s) do not appear under Camera List, the camera(s) may be on a different subnet from the interface card. To fix, click Auto Force IP.

Camera Selection Dialog

To begin grabbing images, select a camera and click OK. The FlyCap Main Window opens.

You can open multiple instances of FlyCap by selecting more than one camera. Note that the number of active cameras is limited by the bandwidth of the bus. For more information, refer to Knowledge Base Article 22.

To access the Camera Control Dialog prior to grabbing images, select a camera and click Configure Selected. Once you have finished configuring the camera, close the Camera Control dialog and click OK to begin grabbing images.

See Also

  • FlyCap Demo Program


FlyCapture2 Main Window

FlyCap Main Window

After selecting a camera in the Camera Selection dialog, the FlyCap main window opens and displays a live video stream from the camera.

Window Size

The FlyCapture window sizes itself to accommodate the current resolution of the camera; if the camera's output resolution is greater than the screen resolution, scrollbars appear. The FlyCap window can be stretched to take up the entire screen by hitting the F12 key, or selecting View > Fullscreen.

NOTE:

As an alternative to using scrollbars to view other areas of a large resolution image, you can left-click+hold your mouse pointer within the display window to drag the displayed portion around.

Window Components

The FlyCapture main window includes the following components:

Title Bar

The title bar at the top of the window displays the camera model and serial number.

Menu Bar

File
  • New Camera: Stops the current camera and opens the Camera Selection Dialog.
  • Start image transfer: Re-starts the camera after it has been stopped.
  • Stop image transfer: Stops the camera.
  • Save As: Opens a dialog to save the current image. For more information, see Recording Video and Saving Images.
  • Capture Video or Image Sequence: Opens a dialog for recording video or image sequences.
  • Exit: Closes FlyCapture.
View
  • Enable OpenGL: When checked, images are rendered to screen using the Open Graphics Library (OpenGL) interface. When unchecked, images are rendered to screen using the Windows Graphics Device Interface (GDI). Using OpenGL on supported systems may improve rendering performance. However, in some cases OpenGL may interact poorly with other system processes and produce unexpected behavior.
  • Draw Image: When checked, allows image streaming. When unchecked, pauses streaming.
  • Draw Crosshair: If Draw Image is checked, inserts a crosshair in the center of the image pane.
  • Change crosshair color: Opens the Color Selection dialog to change the crosshair color.
  • Show...: If checked, displays various screen elements. See below for more information.
  • Stretch To Fit If checked, adjusts the image dimensions to fit the size of the current window. This setting does not affect the resolution or size of any saved images.
  • Fullscreen: Changes the size of the FlyCap Main Window to fit the entire screen.
Settings

Sets the color processing algorithm used to interpolate raw Bayer-tile images into full color. For more information about color processing algorithms, refer to Knowledge Base Article 33.
Help

Displays FlyCapture version, copyright and End User License Agreement; or opens the Online Help.

Toolbar

new camera icon | Choose new camera - stops the current camera and opens the Camera Selection Dialog.
start camera icon | Re-starts the camera after it has been stopped.
stop camera icon | Stops the camera.
Opens the recording settings dialog | Opens a dialog for recording video or image sequences.
save image icon | Saves the current image. For more information, see Recording Video and Saving Images.
camera control icon | Opens the Camera Control dialog.
Histogram icon | Opens the FlyCapture Histogram dialog. This dialog provides statistical information about the representation of values in the current image, including grey, red, green and blue channel values, hue, saturation and lightness. Only greyscale values are represented on monochrome cameras, or color cameras streaming in a monochrome format.
Event statistics icon | Opens the Event Statistics dialog.
Zoom icons | Zooms in and out on the image display, or restores to 100%.

Information Pane

Frame Rate

Displays the following information about the frame rate of the camera system:

  • Processed: The number of frames per second the PC is processing.
  • Displayed: The number of frames per second that the PC display is updating.
  • Requested: The number of frames per second that the camera is transmitting to the PC. This is the actual frame rate setting of the camera.

For more information, see Knowledge Base Article 182.
Timestamp

Displays the following timestamp information for the current image:

  • Seconds and Microseconds: Based on the PC system clock.
  • 1394 cycle time seconds, count and offset: Based on the 1394 cycle timer camera register.
Image

Displays the current settings for image resolution (width, height) in pixels, pixel format, and number of bits per pixel represented by the format.
Embedded Image Info

Displays the image property values that are currently being embedded in the first row of image pixels (except timestamp, which is displayed above). To configure image information embedding, see Advanced Camera Settings.
Diagnostics

Information to help diagnose camera and bus errors, including:

  • Skipped frames: The number of images since the start of capture that were not transmitted to the host system, and subsequently dropped, due to a buffer overflow on the camera.
  • Link recovery count: The number of times the camera reconnects after a brief interruption, such as due to a faulty cable or other connection problem.
  • Transmit failures: The number of image data transmissions since the start of capture that were not completed due to a buffer overflow on the camera. Transmit failures may result in torn images. See related knowledge base article, below.
  • Time since initialization: Time since the camera last booted up.
  • Time since last bus reset: Time since the last bus reset occurred.

Status Bar

The status bar, along the bottom of the window, displays the following information:

Frame Rate | See Information Pane, above.
Cursor | When the mouse is placed over the image, the current position (width, height) of the mouse cursor within the pixel array.
RGB | In color images, the brightness values of the red, green and blue channels of the pixel at the current cursor position.
Zoom | The percentage of magnification in the image when View > Stretch Image is checed in the Menu Bar.
Image/Display Size | Image size is the current resolution of the camera (width, height). Display size is the current size of the display area in the main window.

See Also

  • FlyCap Demo Program

Related Knowledge Base Articles

  • Image tearing causes and solutions.
  • Why is the frame rate displayed in the demo program different from the requested frame rate?
  • Different color processing algorithms.


Saving Images

Recording Video and Saving Images

The FlyCap demo program allows you to record AVI or MP4 video, or save image sequences or individual images in a variety of supported formats.

To save an individual image

  • From the FlyCap Main Window, click save image icon or select File > Save As. The image that is current when you click Save as is the image that is saved.

The following image formats are supported:

  • Windows Bitmap (.bmp) - BMP files are an historic (but still commonly used) file format for the Windows operating system. BMP images can range from black and white (1 byte per pixel) up to 24-bit colour (16.7 million colors), and can be viewed by most image viewers, including Microsoft Paint.
  • Portable Pixelmap (.ppm) - PPM is a very simple color image file format that may store pixel values up to 24 bits in size. The IrfanView and ImageJ shareware programs both provide native support for .ppm images.
  • Portable Greymap (.pgm) - The PGM format is a very simple grayscale file format. It is designed to be extremely easy to learn and write programs for, and is capable of storing 16-bit images. Paint Shop Pro by Corel is a good image editor that can open and display .pgm images. However, not all image editors can correctly display 16-bit images; examples of applications that can include XV for Linux and ImageJ.
  • JPEG (.jpg) - JPEG files use a lossy compression algorithm to compress images with relatively little image degradation. Compression quality is set to 85.
  • Tagged Image File Format (.tiff) - TIFF is a lossless format that can store up to 24 bits of RGB data per pixel, and is widely supported by image manipulation applications.
  • Portable Network Graphics (.png) - PNG is a lossless format that can store up to 24 bits of RGB data per pixel. It is used primarily as an alternative to GIF for transfering images on the Internet.
  • Raw data (.raw) - Raw image files contain no header or footer information, and are the basic raw image data (pixel values) represented by the image.

To capture video or image sequences

  1. From the FlyCap Main Window, click Recording settings dialog or select File > Capture video or image sequence. The Recording Settings Dialog opens
  2. Under Save Filename, specify the directory path and base filename of the saved video or image files. The directory is created when recording begins if it doesn't already exist. Existing files with the same name are overwritten. A counter is appended to the base filename indicating the video or image number in the current sequence.
  3. Under Saving Options, specify a number/sequence/time option for capturing frames.
  4. Select a Recording Mode, depending on system and application requirements.
  5. Only save corrupt frames when capturing: If selected, only corrupt frames are saved. Corrupt frames return a PGRERROR_IMAGE_CONSISTENCY_ERROR from a FlyCapture API RetrieveBuffer() function call.
  6. To save an image sequence, select the Images tab. See above for information about supported file formats.
  7. To save video, select the Videos tab. The following video formats are supported:
    • Uncompressed (.avi): Video consists of uncompressed image frames.
    • Motion JPEG (.avi): Video consists of JPEG-compressed frames.
    • H.264 (.mp4): Video consists of H.264-compressed frames.
  8. Frame Rate: Controls the playback rate of the video. This control is useful for creating slow motion video. To specify the current camera frame rate, click Use Camera Frame Rate.
  9. Click Start Recording.

See Also

  • FlyCap Main Window


Camera Control

Camera Control Dialog

The Camera Control dialog allows you to control most Point Grey camera functions.

NOTE:

To include this dialog within a custom software application, link to FlyCapture2GUI.lib and create a new CameraGUIContext within your application. Refer to the FlyCap2 demo source code for an example of how to do this.

To open the Camera Control Dialog

  • Click the camera control icon icon on the toolbar.

The dialog includes the following panes:

Pane | Purpose
Camera Settings | Adjust image acquisition settings, such as shutter, gain, brightness, exposure, white balance and others.
Standard Video Modes | Set standard pixel formats, resolutions, and frame rates.
Custom Video Modes | Set custom image modes and modes for GigE Vision cameras.
Camera Information | View information about the current camera, firmware and software environment.
Camera Registers | Read and write to the camera register.
Trigger/Strobe | Configure internal and external input triggers and output strobe signals.
Advanced Camera Settings | Configure advanced settings for Y8 and Y16 output, mirror imaging, Y16 endianness, test pattern display, and memory channels.
High Dynamic Range | Configure settings to operate the camera in high dynamic range mode.
Look Up Table | Remap pixel values based on gamma functions.
Frame Buffer | Use the on-camera frame buffer to re-transmit images.
Data Flash | Use the on-camera flash memory to upload or download data to/from the camera.
System Information | Returns information about the system on which FlyCap is running.
Bus Topology | Returns information about the network topology for all currently connected cameras.
Help/Support | Access the Knowledge Base or download center, or create a support ticket.

See Also

  • FlyCap Demo Program


Camera Settings Dialog

The Camera Settings dialog allows you to control a variety of different camera properties, which are implemented according to the IIDC 1394-based Digital Camera specification.

NOTE:

Some camera controls and formats may be unavailable. If a camera control is unavailable, then the camera does not support the function, or the function is not available in a particular format or mode.

Absolute Mode

Absolute values are real-world values, such as milliseconds (ms), decibels (dB) or percents (%). Using absolute values is easier and more efficient than applying complex conversion formulas to the integer values. In addition, conversion formulas can change between firmware versions. FLIR recommends using absolute values to determine camera settings.

Camera Settings

Brightness, exposure, shutter, gain and other camera parameters. Refer to the Glossary for definitions of many of the parameters. Depending on camera model, certain properties may provide the following controls:

  • Auto-When checked, the property continually adjusts automatically to return the best image possible, given lighting conditions.
  • On/Off-Enables or disables the property control. The value of the property at the time it is disabled remains in effect. In the case of frame rate, when Off, the value is dependent on the shutter speed or trigger mode that is currently in effect.
  • One Push-Performs an automatic adjustment of the feature until a desired state is reached.
NOTE:

To configure ranges for exposure, shutter and gain when operating in auto-exposure mode, use the Auto Range Control settings in the Advanced Camera Settings dialog.

See Also

  • Camera Control Dialog

Example Source Code

  • FlyCapture2Test
  • FlyCapture2Test_C
  • FlyCapture2Test_CSharp

Related Knowledge Base Articles

  • Using absolute value registers to determine real-world camera property values.
  • How long (how many frames) before a change to a PGR Imaging Product property or setting takes effect?
  • Extended shutter mode operation for DCAM 1.31-compliant PGR Imaging Products.
  • Camera reverts to default factory settings after being power cycled.


Standard Video Modes

The Standard Video Modes dialog allows you to change the resolution (horizontal and vertical pixel dimensions), pixel format (e.g. Y8, RGB, YUV422, etc.) and frame rate (number of frames transmitted per second) of the camera. The options available depend on camera model.

NOTE:

For video modes available on GigE Vision cameras, see Custom Video Modes.

NOTE:

All of the formats and frame rates listed in this dialog conform to the IIDC 1394-based Digital Camera (DCAM) specification. Consult your camera's Technical Reference manual or the FLIR Machine Vision Camera Register Reference for more information.

See Also

  • Camera Control Dialog

Related Knowledge Base Articles

  • Maximum number of PGR IEEE-1394 cameras on a single 1394 bus.
  • How to achieve 200 FPS using a Dragonfly Express.
  • Synchronizing image acquisition of multiple PGR cameras.
  • Understanding YUV Data Formats


Custom Video Modes

Most FLIR cameras implement a number of customizable video modes that allow for faster frame rates based on selecting a specific region of interest (ROI) of the image or by configuring the camera to sub-sample the image using a process known as “pixel binning”. All available video modes implemented by GigE Vision cameras are also accessible in this pane.

See your camera's Technical Reference or Getting Started Manual for a full list of supported modes and their implementation.

  • Mode (IIDC-1394 cameras only) - The Format_7 mode that dictates how binning is performed on IIDC-1394 cameras.
  • Pixel Format - Indicates the color-coding capability of the camera. Specifying Mono8, Mono12 or Mono16 for a color camera effectively disables color processing, and the raw stippled Bayer images are displayed.
  • Binning (GigE Vision cameras only) - Specifies how horizontal and vertical binning is performed on GigE Vision cameras.
  • Image - The custom image dimensions, or Region of Interest (ROI), are measured in pixels, and are relative to the top left corner of the image sensor. The top- and left-most coordinates are column 0, row 0. The custom image size must be evenly divisible by the Image size units and less than or equal to the Maximum image size. Alternatively, click and drag inside the preview window above to specify ROI. To move the ROI, right-click inside the ROI and drag.
  • Packet Size - Sets the number of bytes per packet of image data that are transmitted from the camera to the PC isochronously. A higher number of bytes per packet may result in a faster frame rate. On IIDC-1394 cameras, this value adjusts automatically to the maximum possible value based on changes in Mode, Pixel Format and Image Size settings. To adjust manually, use the slider, or enter an amount (in bytes) in the Packet Size box.
  • GigE Packet Delay (GigE Vision cameras only) - Sets a delay between image acquisition and transmission of data packets. On a network with multiple GigE Vision cameras, increasing packet delay lowers the amount of network bandwidth available to the camera.
  • Apply - Stops isochronous image transfer to apply the settings specified above, then restarts. It is not necessary to click Apply to change the following:
    • Binning
    • Changing only the position of the ROI, and not the size, unless the camera is a Flea3.

See Also

  • Camera Control Dialog

Example Source Code

  • CustomImageEx
  • CustomImageExCSharp

Related Knowledge Base Articles

  • Understanding Format_7 region of interest and pixel binning modes


Camera Information

The Camera Information dialog provides information about the camera hardware and firmware.

Technical Support

FLIR Integrated Imaging Solutions provides a variety of free technical support resources to assist you. For more information, open the camera control dialog Help/Support pane.

See Also

  • Technical Support Resources
  • Camera Control Dialog

Related Knowledge Base Articles

  • Determining the firmware version used by a PGR camera.
  • Should I upgrade my camera firmware or software?


Camera Registers

NOTE:

The Registers dialog provides direct access to camera registers, and is therefore recommended for advanced users only. For a detailed list of registers supported for your camera, consult your camera manual or the FLIR Machine Vision Camera Register Reference.

Register offsets and values are generally referred to in their hexadecimal forms, represented by either a '0x' before the number, or 'h' or 'H' after the number. For example, the decimal number 256 can be represented as 0xFF, FFh or FFH.

Register Set (GigE Vision cameras only)

GigE Vision cameras include registers from both the IIDC and GigE Vision standards. To specify which register set you wish to query, click the applicable option button. Most user-configurable features are controlled using the IIDC register set. For more information, consult your camera manual.

Read/Write Register

Control Description
Register (Hex)

The register address you want to read or write. The FlyCapture API library automatically takes into account the 1394 base offset 0xFFFF F0F0 0000 base address. For example, to read the 32-bit value of the SHUTTER register at 0xFFFF F0F0 081C, simply enter '81C', then click Read Register Value.
Name

The name of the register.
Value

The value of the register, in hexadecimal format (top row), corresponding register bits (bottom row), and IEEE Standard for Floating-Point Arithmetic (IEEE754) value on the right. Change values in any of the following ways:

  • Typing inside the hexadecimal textboxes for each byte.
  • Toggling binary values between '0' and '1' by clicking the individual bits.
  • Typing the IEEE754 value.
Write Register Value

Click to write a new Value setting to the current register.
Read Register Value

Click to read the value of the address displayed in Register (Hex).

Read/Write Register Block

You can read and write to a block of 32-bit register values. A block is a set of contiguous register addresses. A block is made up of many quadlets, where a quadlet is a 32-bit value.

Control | Description
Register (Hex) | The register address that begins the block of addresses you want to read or write. See Register (Hex), above.
Number of quadlets to read | The total number of contiguous register values you want to retrieve, beginning with the address in the Register field. For example, if you type '800h' in Register, then type '3' in Quadlets, you retrieve the BRIGHTNESS (800h), AUTO_EXPOSURE (804h) and SHARPNESS (808h) registers.
Write Register Block | After obtaining a register block by clicking Read Register Block, you can manually adjust the values of any register in the block by clicking inside any of the values. Then, click Write Register Block to write the new values to the camera register.
Read Register Block | Retrieves the specified block.

See Also

  • Camera Control Dialog


Trigger/Strobe Control

The Trigger/Strobe control dialog provides control over the general purpose input/output (GPIO) capabilities of the camera, including the ability to configure:

  • Specific pins for input and output.
  • External trigger mode.
  • External trigger delay (shutter delay when not in trigger mode).
  • Strobe pulse polarity, duration and delay.

For a full description of the triggering, strobe and GPIO capabilities of your camera, consult your camera's Technical Reference or Getting Started Manual.

NOTE:

Special output modes such as strobe signal pattern and PWM must be configured via register reads and writes. For more information, see Knowledge Base Article 207.

Trigger/Strobe Control

These controls set the conditions for how the camera receives and responds to external triggers.

Control | Description
Enable / disable trigger | When checked, allows the camera to respond to external triggers, or that an internal (software) trigger can fire. When unchecked, external trigger functionality is off, and only output (strobe) functionality is supported.
Mode | Specifies the mode for how the camera responds to an external trigger. For information about external trigger modes, refer to Knowledge Base Article 239. Not all modes are supported by all camera models.
Parameter | Certain trigger modes require a parameter to define the triggering cycle. For more information, see Knowledge Base Article 239.
Source | Specifies which GPIO pin receives input for an external trigger device.
Delay | When Enable/disable delay is checked, you can specify the time delay, in seconds, from when an external trigger event occurs to the start of integration (when the shutter opens). When Enable/disable trigger is unchecked, this value controls the shutter delay during normal synchronization.
Fire Software Trigger | When clicked, causes a one-time internal (software-based) trigger to fire. The Enable/Disable trigger control must be checked for the camera to respond.
Pin direction control | Use these controls to configure the direction of other GPIO pins that are not being used as an input trigger source.

Strobe Control

These controls set the conditions for how the camera outputs strobe signals.

Control | Description
Enable strobe for this pin | When checked, specifies the pin can output a strobe signal. The pin specified under Source (input) cannot be configured as an output.
Polarity | Specifies whether the strobe signal is active high or active low.
Delay | Specifies the period, in milliseconds, to delay assertion of the output strobe signal after start of exposure.
Duration | Specifies the duration of the strobe signal, in milliseconds. If a value of 0 is entered, the duration is the same as the length of exposure.

See Also

  • Camera Control Dialog

Example Source Code

  • AsyncTriggerEx
  • AsyncTriggerExCSharp

Related Knowledge Base Articles

  • External trigger modes supported by PGR cameras.
  • Synchronizing to an external signal using DCAM 1.31 Trigger_Mode_0
  • Setting a GPIO pin to output a signal using DCAM v1.31 strobe functionality.
  • Setting a GPIO pin to output a strobe signal pulse pattern.


Advanced Camera Settings

The Advanced Camera Settings dialog allows control of the following features:

NOTE:

Features that are not available on some cameras may appear available in the Advanced Imaging Dialog. Consult your camera's Technical Reference Manual to verify feature availabilty.

Raw Bayer output (only for Y8 and Y16)

When the camera is operating in Y8 or Y16 format, check to stream raw Bayer output. This is equivalent to switching between Y8/Y16 and Format7 Raw8/Raw16 modes.

Mirror image (horizontal flip)

Check to flip the image horizontally.

Y16 Endianness

Configure the endianness of Y16 data between IIDC 1394 DCAM-compliant mode (big endian) and FLIR-specific, Intel-compatible (little endian) mode.

Display Test Pattern

Enable or disable test pattern display.

Memory Channels

Some FLIR cameras provide users with the ability to save and restore camera settings and imaging parameters via on-board memory channels. This is useful for saving default power-up settings, such as gain, shutter, video format and frame rate, that are different from the factory defaults.

NOTE:

Refer to your camera's Technical Reference Manual for camera-specific implementation details.

  • Channel - Specifies the memory channel you want to save to, or restore from.
  • Save - Saves your curent camera settings to the specified channel.
  • Restore - Restores your camera to the settings you previously saved in the specified channel.

Embedded Image Info

Allows you to specify information to embed in the first row of image pixels. The type of information that can be embedded varies by camera model. For more information about embedded image information, consult your camera's Technical Reference Manual, or the FRAME_INFO register 12F8h in the FLIR Machine Vision Camera Register Reference. Embedded Image Information is also displayed in the Information Pane of the FlyCap Main Window.

Auto Range Control

Allows you to specify a range for exposure, shutter and gain that is narrower than the full range for the camera, when operating in auto-exposure mode. Use the Camera Settings dialog to set auto-exposure.

GigE Packet Resend (GigE Vision cameras only)

  • Enable packet resend - When checked, instructs the GigE Vision driver to request that dropped data packets are resent from the camera's internal memory. Enabling packet resend may help improve jitter on less-reliable GigE networks, but may also consume more CPU resources.
  • Timeout - Specifies the time, in ms, to wait to resend a packet following a resend request. A lower timeout period may improve jitter more than a higher period, but may also consume more CPU resources.
  • Max packets to resend - Specifies the maximum number of packet resend requests that can be active at a time. A higher number may improve system reliability, but may also consume more CPU resources.
  • Save - Writes the current GigE Packet Resend settings to the camera.
  • Load - Click to view the current GigE Packet Resend settings on the camera.

See Also

  • Camera Control Dialog


High Dynamic Range

Generally speaking, digital camera systems are not capable of accurately capturing many of the high dynamic range scenes that they are exposed to in real world settings. That is, they may not be able to capture features in both the darkest and brightest areas of an image simultaneously - darker portions of the image are too dark or brighter portions of the image are too bright. High Dynamic Range (HDR) mode helps to overcome this problem by capturing images with varying exposure settings. HDR is best suited for stationary applications.

NOTE:

HDR functionality is only available on supported cameras.

The HDR interface contains gain and shutter controls for 4 consecutive frames. When Enable high dynamic range is checked, the camera cycles between settings 1-4, one set of settings per consecutive frame.

See Also

  • Camera Control Dialog

Example Source Code

  • HighDynamicRangeEx


Look Up Table

Look Up Table Dialog

Some Point Grey cameras provide the ability to adjust gamma by remapping pixel values in a lookup table (LUT). This functionality is described in greater detail in your camera's Technical Reference Manual and in the FLIR Machine Vision Camera Register Reference. You can make changes to the LUT in the following ways:

  • Click and drag on any part of the graph to move the input/output graph points to their new values. The progression of value mappings depends on the Line Style setting (Linear, Spline or Free).
  • Load a text file of values by clicking Open under File Operations.

The Lookup Table dialog displays the following additional controls:

  • Enable LUT - LUT functionality for some cameras can be turned on or off; the LUT for other cameras is always on, but is either set to linear values or non-linear values.
  • Channel - Cameras that perform on-board color processing (for example, raw Bayer to RGB conversion on-camera) may have multiple LUT channels for each of the red, green and blue color components. To apply changes to all channels, specify All.
  • Clear - Resets the LUT to a linear function, equivalent to a gamma value of 1.0.
  • Load from Camera - Adjusts the LUT according to the last configuration saved using Set to Camera.
  • Set to Camera - Saves the current LUT configuration to the camera.
  • Open - Applies a LUT mapping based on an external text file. Click to browse for the file.
  • Save - Saves the current LUT configuration to an external text file.

See Also

  • Camera Control Dialog


Frame Buffer

Frame Buffer Dialog

The Frame Buffer Dialog allows users with supported cameras to retrieve images from the camera's frame buffer at a later time than when they were captured.

NOTE:

Frame buffer functionality is not available on all cameras. Consult your camera's Technical Reference Manual for feature support and camera-specific implementation.

Control Description
Frame buffer type

Indicates the type of frame buffer implemented on the camera. PGR type allows for transmitting a single image, while discarding any previous images in the buffer. IIDC 1.32 type transmits both the specified image and all previously accumulated images.

NOTE:

If the frame buffer is PGR type, transmitting an image that is not the first image causes all images before it in the frame buffer to be be lost!
Enable image hold

When checked, images accumulate in the frame buffer on a first in, first out basis. No images are transmitted from the camera to the PC, except if Transmit selected image or Retransmit last image is clicked. When unchecked, the buffer clears and isochronous transmission to the PC resumes.

Total Buffers

Indicates the total number of frames that can be stored in the buffer. This value depends on the size of the buffer, as well as the current pixel encoding format and resolution.

Buffers Used

Indicates the number of frames that are currently stored in the buffer.

Image Selection

Allows you to select a particular frame in the buffer, prior to clicking Transmit selected image. Use the slider to navigate to a frame. Images in PGR type start from 0 to n, with frame 0 being the oldest, or earliest-captured, image in the buffer, and n being the number specified in Buffers Used, minus 1. Images in IIDC 1.32 type start at 1.

Transmit selected image

Transmits the image selected in the Image Selection slider. If the frame buffer is PGR type, any images that collect earlier than the selected image are discarded. For example, if you select an image with index 3 on the slider and then click Transmit selected image, you send the fourth image in the buffer, while discarding images 0, 1, 2 and 3. If IIDC 1.32 type, all previously accumulated images are transmitted with the spcified image. As long as Enable Image Hold is checked, the buffer then re-accumulates.

Retransmit last image

Re-transmits the last image, or set of images, that was sent by the camera to the PC. This is useful if the image was corrupted in the last transmission.

See Also

  • Camera Control Dialog

Knowledge Base Articles

  • Accessing the on-camera frame buffer


Data Flash

Data Flash Dialog

The Data Flash Dialog allows the control of non-volatile memory for data storage on supported cameras. This interface allows you to upload a file into flash memory, download from flash memory to a file, or erase the flash memory.

Control | Description
Status | Indicates the success or failure of a flash memory operation.
Data Flash Size | The size of the camera's flash memory.
Flash -> File | Allows you to download the contents of flash memory to a file.
File -> Flash | Allows you to overwrite the contents of flash memory by uploading a file to it.
Erase Flash | Erases the contents of flash memory.
Progress | Indicates the progress of a flash memory operation.
Preview | Displays the first 1024 bytes of data that are stored in flash memory in hexadecimal encoded values.
Refresh preview | Refreshes the view of the Preview pane.

See Also

  • Camera Control Dialog


FlyCapture2 Examples

FlyCapture Examples

The FlyCapture SDK includes a number of examples in C, C++ and C# to help get you started in some basic camera programming tasks.

NOTE:

The full example source code can be found in the \src directory of the FlyCapture2 SDK installation. To access the examples workspace from the Start menu, select Program Files > Point Grey Research Inc. > FlyCapture2 > Examples.

Example | Language | Description
AsyncTriggerEx | C++, C#, VB.Net | Demonstrates some of the basic asynchronous trigger capabilities of compatible PGR Imaging Products.
BusEventsEx | C#, VB.Net | Demonstrates how to handle bus events such as bus arrivals, removals and resets through the Managed interface.
CustomImageEx | C++, C#, VB.Net | Demonstrates how to configure a PGR Imaging Product to output custom sized images.
ExtendedShutterEx | C++ | Demonstrates how to enable and calculate extended integration times for applicable FLIR Imaging Products.
FlyCap2_GTKmm | C++ | Demonsrates how to select a camera to start, stream images to screen, change camera settings and save images. This example is written using the GTKmm graphical framework.
FlyCap2MFC | C++ | Equivalent to FlyCap2, except uses features of the Microsoft Foundation Class Library.
FlyCapture2GUI | C++ | This example contains the same source code that is used for the Camera Selection and Camera Control dialogs in FlyCapture.
FlyCapture2SimpleGUI_CSharp | C# | A simple example demonstrating how to connect to a camera and display images to screen.
FlyCapture2Test | C, C++, C#, VB.Net | Tests basic functionality of a single camera and reports information related to all compatible cameras attached to the host system.
GigEGrabEx | C, C++, C#, VB.Net | Demonstrates how to grab images with GigE Vision cameras.
GrabCallbackEx | C++, C#, VB.Net | Demonstrates how to use the image callback functionality to receive images instead of using RetrieveBuffer().
HighDynamicRangeEx | C++ | Demonstrates the use of High Dynamic Range (HDR) functionality.
ImageEventEx | C++ | Demonstrates how to implement partial image event notification. Partial image event notification is a mechanism that provides the user with access to image data as it arrives in the PC's memory, before the entire image is available.
MultipleCameraEx | C++ | Synchronizes image grabbing across multiple cameras.
SaveImageToAviEx | C++, C# | Demonstrates saving a series of images to an AVI file.
SaveImageToFlashEx | C++ | Demonstrates saving images to the data flash on the camera.
SerialPortEx | C++ | Demonstrates how to transmit and receive characters by using the camera's serial buffer system.


AsyncTriggerEx

The AsyncTriggerEx sample program demonstrates some of the basic asynchronous trigger capabilities of compatible PGR Imaging Products. This program only works with cameras that can be asynchronously triggered, either using an external hardware trigger or by using the camera's internal software trigger.

The camera is started and put into trigger mode. The user can then either press a key to software trigger the camera, or trigger through an external hardware trigger. The example captures a specified number of images and then exits.

See Also

  • FlyCapture Examples


CustomImageEx

The CustomImageEx sample program demonstrates how to configure a PGR Imaging Product to output custom sized images - the FlyCapture equivalent of the IIDC specifications 'Format 7'. Custom image modes are often useful for achieving faster frame rates, reducing the resolution of an image, and allowing more cameras to run on a single bus by reducing bandwidth requirements.

The program creates a context and initializes the first camera on the 1394 bus. It then queries the camera to determine the custom image modes, resolution sizes, unit sizes and pixel formats the camera supports. The information returned by QueryFormat7Info() is the same kind of information you would see in FlyCap using the Format7 tab.

The program then starts the camera in custom image mode using parameters defined at the beginning of the code. Calling SetFormat7Configuration() with these parameters is essentially the same thing as setting these parameters in FlyCap and clicking "Apply". A number of images are grabbed in this custom image mode. The final image is then color-processed and saved in .bmp format to disk.

See Also

  • FlyCapture Examples


ExtendedShutterEx

The ExtendedShutterEx sample program demonstrates how to enable and calculate extended integration times for applicable FLIR Imaging Products. The way this is done can differ between cameras.

Many applications require extended shutter (integration) times up to several seconds long. Most FLIR Imaging Products implement extended shutter functionality in one of two ways:

  1. By turning off the FRAME_RATE register 0x83C. This effectively stops the camera from transmitting images at fixed frame intervals; the frame rate becomes dependent on the shutter time. Consult the FLIR Machine Vision Camera Register Reference for more information.
  2. By enabling extended shutter via the EXTENDED_SHUTTER register 0x1028.

The program begins by initializing the first camera on the bus and uses GetProperty() to determine if it implements the FRAME_RATE register. If it does, it turns the frame rate off. If the camera does not implement this register, the program then checks to see if the camera implements the EXTENDED_SHUTTER register. If it does, it accesses this register to put the camera into extended shutter mode. Otherwise, the user is notified that the camera does not implement extended shutter and the program exits.

Once the camera is in extended shutter mode, it is started in the default mode and frame rate. A series of images are grabbed, and their timestamps printed as a way of verifying that the extended shutter is working.

See Also

  • FlyCapture Examples


FlyCap2

FlyCap2_GTKmm

This example allows a user to select a camera to start, and then starts streaming images to screen. It is written using C++ with the GTKmm graphical framework. There are options to modify camera settings and display a histogram window. Images can be saved as a single image capture or multiple sequential images of various formats. Data can be saved by specifying the number of frames to capture, the length of time, or an indefinite stream where the user selects when to start and stop the camera recording.

A single instance of FlyCap2_GTKmm can only run one camera. However, multiple applications can be run to view different cameras. Simply select more than one camera when starting FlyCap2_GTKmm. Note that the number of active cameras is limited by the bandwidth of the bus. For more information, refer to Knowledge Base Article 22.

NOTE:

Beginning with FlyCapture version 2.2, the GTK Runtime libraries required to run this example are no longer pre-installed. To download the GTK Runtime, go to the FLIR downloads site.

See Also

  • System Requirements
  • FlyCapture Examples


FlyCap2MFC

The FlyCap2MFC example is the equivalent of the FlyCap2 example program, except it uses the Microsoft Foundation Class Library to implement the graphical user interface. Like FlyCap2, it is the main FLIR Integrated Imaging Solutions application used to work with single lens cameras. It allows a user to select a camera to start, and then starts streaming the images to screen. There are options to modify camera settings and save single images.

NOTE:

Visual Studio 2005 Standard Edition is required to build the FlyCap2MFC demo application. Express Edition does not include the MFC library.

While a single instance of FlyCap2MFC can only open one camera, multiple FlyCap2MFC applications can be run to view more than one camera. Note that the number of active cameras is limited by the bandwidth of the bus.

For more information on the FlyCap2MFC application, refer to the FlyCap Demo Program section of the SDK help.

See Also

  • System Requirements
  • FlyCapture Examples


FlyCapture2GUI

This example contains the same source code that is used for the Camera Selection and Camera Control dialogs in FlyCapture2. As a result, it uses many of the features availabel in the FlyCapture2 API and is a useful source for discovering how to perform many common functions, such as camera property manipulation, using the FlyCapture2 API.

See Also

  • FlyCapture2 Examples


FlyCapture2Test

The FlyCapture2Test sample program is a simple program designed to report information related to all compatible cameras attached to the host system, capture a series of images from a single camera, record the amount of time taken to grab these images, then save the last image in the current directory.

See Also

  • FlyCapture Examples


HighDynamicRangeEx

The HighDynamicRangeEx example demonstrates the use of the High Dynamic Range (HDR) functionality. This example can only be used on cameras which support HDR.

When HDR mode is enabled, the shutter and gain settings for each image alternate between four sets of shutter and gain settings in the HDR register. All 4 registers must be used; the images cycle through registers HDR0 to HDR3 and then back to HDR0 again. This cycle continues until HDR mode is turned off.

The example initializes the camera, and verifies that HDR is supported. The four HDR registers are then set up with different, increasing values for shutter and gain.

The next 4 images are then grabbed and saved to disk. The user can look at these images and verify that each image corresponds to the settings for each HDR register.

Once the images are saved to disk, the program cleans up and exits.

See Also

  • FlyCapture Examples


ImageEventEx

This example illustrates how users can implement partial image event notification. Partial image event notification is a mechanism that provides the user with access to image data as it arrives in the PC's memory, before the entire image is available.

This functionality is achieved by specifying a number of events, which are tied to various locations in the image. The events are then signalled as the corresponding portion of the image arrives on the PC. This allows the user to start processing the data immediately without having to wait for image transmission to complete. If you specify one event, it occurs at the end of the image. If you specify two events, the first occurs near the beginning of the image, and the second occurs at the end. If you specify more than two events, they are spread evenly among the remainder of the image.

Partial image event notification is particularly useful in applications requiring extremely low latency, such as moving the camera and stopping only to take pictures. In this case, setting two events, with the first occuring near the beginning of the image, is a good method for indicating the end of integration and that it is safe to move the camera without disrupting image capture.

Partial image event notification is also available in custom image mode; however, there are some additional considerations when using this mode. Event notifications must be set on packet boundaries, so you must compute the total image size, including padding, when deciding where to set event sizes. There will be at most one padded packet transmitted, so the ceiling of the computed image size divided by the packet size returns the number of packets transmitted per image:

numOfPackets = ceiling(( rows * cols * bytesPerPixel)/bytesPerPacket)

If the camera has already been started with the chosen bytes per packet, this value can be queried from the format 7 registers. See the entry for PACKET_PER_FRAME_INQ (0x048) in the FLIR Machine Vision Camera Register Reference.

NOTE:

Partial image event notification operates differently between the Windows and Linux operating systems in the following ways:

  • On Windows, if more than one image event is specified, the first event occurs after the PC receives the first packet. The remainder of the events are equally distributed along the length of the image. On Linux, all events are equally distributed along the image. However, if an image is transmitted in more than one packet, there are no notifications after the first packet is transmitted.
  • On Linux, synchronizing image transmission on the sy-bit is disabled when using partial image event notification. As a result, in certain cases when the CPU is heavily loaded and the image rendering software is not cycling for a long period, the image stream may fall out of synch and become corrupted. To re-synchronize transmission, stop and re-start isochronous image grabbing and transmission.

NOTE:

Depending on your operating system, for this example to work on your PC, you may need to install a hotfix from Microsoft. Please refer to the following Knowledge Base Article for more information:

Knowledge Base Article 153: Recommended or required Windows Service Packs and Hotfixes

See Also

  • FlyCapture Examples


MultipleCameraEx

This example starts multiple cameras using the StartSyncCapture() function. This function synchronizes image grabbing across all cameras. Additionally, it enables timestamps to be embedded in images, allowing users to obtain the exact timing of each camera's exposure.

See Also

  • FlyCapture Examples


SaveImageToAviEx

This example saves a series of images to AVI files. The program starts the first camera attached to the host system, opens an AVI file, captures a series of images from the camera, and appends the images to the AVI file.

See Also

  • FlyCapture Examples


SaveImageToFlashEx

The SaveImageToFlashEx utility is a basic example which utilizes the data flash on the camera. When an image is grabbed, it is saved directly to flash instead of sending the data out. Not all cameras support data flash. On supported cameras, flash size varies by model, so the size of the image that can be stored varies. Consult your camera's documentation for more information.

Once the image is stored in the camera, the image can be recovered at any time on any PC.

The example uses a FlashMode enumeration to capture the image (-c) or save the stored image to disk (-r).

See Also

  • FlyCapture Examples


SerialPortEx

This example illustrates how users can transmit and receive characters by using the camera's serial buffer system.

This example creates the camera context and does the following:

  • Allocates a GUI handle to be used in all successive calls
  • Displays the camera selection dialog
  • Initializes the selected camera on the bus and associates it with the given context
  • Checks to make sure that the serial port is actually supported
  • Creates a thread to receive data and display the data

OnTransmit() is used to transmit data out of the camera's serial port based on user input

ReceiveLoop() is used to get the connection parameters from the camera, update the dialog, verify the receive buffer status and determine the amount of data to be read, read the data and display the data in the window.

Users can use the 'Write Register Value' button to set the serial port register values, and use 'Read Register Value' to get the serial port register values.


FlyCapture API Overview

FlyCapture C Language API

The information for the following sections is derived from the commented sections of the following FlyCapture header (.h) files, located in the C:\Program Files\Point Grey Research\ FlyCapture2\include\C directory:

  • FlyCapture_C.h
  • FlyCapture2Defs_C.h
  • FlyCapture2GUI_C.h
  • FlyCapture2Platform_C.h


FlyCapture API Overview

FlyCapture C++ API

The information for the following sections is derived from the commented sections of the following FlyCapture header (.h) files, located in the C:\Program Files\Point Grey Research\ FlyCapture2\include directory:

  • AVIRecorder.h
  • BusManager.h
  • Camera.h
  • CamerBase.h
  • Error.h
  • FlyCapture2.h
  • FlyCapture2Defs.h
  • FlyCapture2GUI.h
  • FlyCapture2Platform.h
  • GigECamera.h
  • Image.h
  • ImageStatistics.h
  • TopologyNode.h
  • Utilities.h


Software End User License Agreement

The FlyCapture2® Software Development Kit (the "Software") is owned and copyrighted by FLIR Integrated Imaging Solutions, Inc. All rights are reserved. The Original Purchaser is granted a license to use the Software subject to the following restrictions and limitations.

  1. The license is to the Original Purchaser only, and is nontransferable unless you have received written permission of FLIR Integrated Imaging Solutions, Inc.
  2. The Original Purchaser may use the Software only with FLIR Integrated Imaging Solutions, Inc. cameras owned by the Original Purchaser, including but not limited to, Firefly®, Firefly®2, Firefly® MV, Flea®, Flea®2, Scorpion™, Dragonfly®, Dragonfly®2, Dragonfly Express™, Grasshopper® or Chameleon™ Camera Modules.
  3. The Original Purchaser may make back-up copies of the Software for his or her own use only, subject to the use limitations of this license.
  4. Subject to s.5 below, the Original Purchaser may not engage in, nor permit third parties to engage in, any of the following:
    1. Providing or disclosing the Software to third parties.
    2. Making alterations or copies of any kind of the Software (except as specifically permitted in s.3 above).
    3. Attempting to un-assemble, de-compile or reverse engineer the Software in any way.
    4. Granting sublicenses, leases or other rights in the Software to others.
  5. Original Purchasers who are Original Equipment Manufacturers may make Derivative Products with the Software. Derivative Products are new software products developed, in whole or in part, using the Software and other FLIR Integrated Imaging Solutions, Inc. products. FLIR Integrated Imaging Solutions, Inc. hereby grants a license to Original Equipment Manufacturers to incorporate and distribute the libraries found in the Software with the Derivative Products. The components of any Derivative Product that contain the Software libraries may only be used with FLIR Integrated Imaging Solutions, Inc. products, or images derived from such products.
  6. By the distribution of the Software libraries with Derivative Products, Original Purchasers agree to:
    1. not permit further redistribution of the Software libraries by end-user customers
    2. include a valid copyright notice on any Derivative Product; and
    3. indemnify, hold harmless, and defend FLIR Integrated Imaging Solutions, Inc. from and against any claims or lawsuits, including attorney’s fees, that arise or result from the use or distribution of any Derivative Product.

FLIR Integrated Imaging Solutions, Inc. reserves the right to terminate this license if there are any violations of its terms or if there is a default committed by the Original Purchaser. Upon termination, for any reason, all copies of the Software must be immediately returned to FLIR Integrated Imaging Solutions, Inc. and the Original Purchaser shall be liable to FLIR Integrated Imaging Solutions, Inc. for any and all damages suffered as a result of the violation or default.


Software Warranty

FLIR Integrated Imaging Solutions warrants to the Original Purchaser, for a period of one (1) year from date of purchase that:

  1. The diskette on which the Software is furnished and the accompanying documentation are not defective;
  2. The Software is properly recorded upon the diskettes enclosed;
  3. The documentation is substantially complete and contains all the information FLIR Integrated Imaging Solutions deems necessary to use the Software;
  4. The Software functions substantially as described in the documentation.

FLIR Integrated Imaging Solutions, Inc.'s entire liability and the Original Purchaser's exclusive remedy shall be the replacement of any diskette or documentation not meeting these warranties. On such an occasion, a copy of the paid receipt accompanied with the faulty diskette or documentation must be returned to FLIR Integrated Imaging Solutions, Inc. or an authorized dealer.

FLIR Integrated Imaging Solutions, Inc. expressly disclaims and excludes all other warranties, express, implied and statutory, including, but without limitation, warranty of merchantability and fitness for a particular application or purpose. In no event shall FLIR Integrated Imaging Solutions, Inc. be liable to the Original Purchaser or any third party for direct, indirect, incidental, consequential, special or accidental damages, including without limitation damages for business interruption, loss of profits, revenue, data or bodily injury or death.


Third Party Software Notices

This page contains Third Party Software Notices and/or Additional Terms and Conditions for FlyCapture 2.x.

FreeImage

This software uses code from the FreeImage open source image library licensed under the FreeImage Public License, Version 1.0. Source code and the full text of this license can be found in the thirdparty\freeimage\ folder of this software distribution. See http://freeimage.sourceforge.net for more information.

IPP

This software uses Intel® Integrated Performance Primitives, which is governed by the End User License Agreement for the Intel(R) Software Development Products, available at http://www.intel.com/cd/software/products/asmo-na/eng/346084.htm. FLIR Integrated Imaging Solutions, Inc. explicitly prohibits disassembly and reverse engineering of Intel Integrated Performance Primitives components.


Glossary

1394a | An Institute of Electrical and Electronics Engineers (IEEE) interface standard capable of transferring data at a rate of 400Mbit per second.
1394b | An IEEE interface standard capable of transferring data at a rate of 800Mbit per second.
Absolute Values | Real-world values, such as milliseconds (ms), decibels (dB) or percent (%). Using the absolute values is easier and more efficient than applying complex conversion formulas to integer values.
Analog-to-Digital Converter | Often abbreviated as ADC or A/D converted, it is a device that converts a voltage to a digital number.
API | Application Programming Interface. Essentially a library of software functions.
Asynchronous Transfer | Asynchronous transfers, unlike isochronous transfers, do not guarantee when data will be transferred. Asynchronous transfers do guarantee that data will arrive as sent. We use asynchronous transfers when data integrity is a higher priority than speed. An example might be an image data transfer to a printer, where speed is less critical than getting the image pixels correct. Asynchronous transfers are initiated from a single node, designated the ‘requestor’, to or from the address space of another node, designated the ‘responder’. Asynchronous requests are packet based. The requestor node generates a request packet that the 1394 bus sends to the responder node. The responder node is responsible for handling the request packet and creating a response packet that is sent back to the requestor node to complete a single transfer. There are three types of 1394 asynchronous transfers: Read, Write and Lock.
BPP | Bytes per packet. An image is broken into multiple packets of data, which are then streamed isochronously to the host system. Each packet is made up of multiple bytes of data.
Brightness (%) | This is essentially the level of black in an image. A high brightness will result in a low amount of black in the image. In the absence of noise, the minimum pixel value in an image acquired with a brightness setting of 1% should be 1% of the A/D converter’s minimum value.
Config ROM | Configuration read-only memory. A section of memory dedicated to describing low-level device characteristics such as Model and Vendor ID, DCAM version compliance, base address quadlet offsets, etc.
Color Processing | Also known as ‘interpolation,’ an algorithm for converting raw Bayer-tiled image data into full color images. Depending on camera model, this process takes place either on-camera or on the PC. For more information, refer to Knowledge Base Article 33.
DCAM | Abbreviation for the IIDC 1394-based Digital Camera (DCAM) Specification, which is the standard used for building FireWire-based cameras. As a general rule, PGR IEEE-1394 cameras conform to the IIDC 1394-based Digital Camera Specification v1.31. Check your camera’s Technical Reference or Getting Started Manual for specific DCAM compliance. The DCAM specification can be purchased from the 1394 Trade Association (http://www.1394ta.org/)
Exposure (EV) | This is the average intensity of the image. It will use other available (non-manually adjustable) controls to adjust the image.
Firmware | Programming that is inserted into programmable read-only memory, thus becoming a permanent part of a computing device. Firmware is created and tested like software and can be loaded onto the camera.
Format_7 | Encompasses partial or custom image video formats and modes, such as region of interest of pixel binned modes. Format_7 modes and frame rates are defined by the camera manufacturer, as opposed to the DCAM specification.
FPS | Frames per second
Frame Rate | Often defined in terms of number of frames per second (FPS) or frequency (Hz). This is the speed at which the camera is streaming images to the host system. It basically defines the interval between consecutive image transfers.
Gain (dB) | The amount of amplification that is applied to a pixel. An increase in gain can result in a brighter image and an increase in noise.
Gamma | Gamma defines the function between incoming light level and output picture level. Gamma can be useful in emphasizing details in the darkest and/or brightest regions of the image.
Grabbing Images | A commonly used phrase to refer to the process of enabling isochronous transfers on a camera, which allows image data to be streamed from the camera to the host system.
GPIO | General Purpose Input/Output.
Hz | Hertz. A unit of frequency; one Hertz has a periodic interval of one second. Often used interchangeably with FPS as a measure of frame rate.
Isochronous Transfer | Isochronous transfers on the 1394 bus guarantee timely delivery of data. Specifically, isochronous transfers are scheduled by the bus so that they occur once every 125µs. Each 125µs timeslot on the bus is called a frame. Isochronous transfers, unlike asynchronous transfers, do not in any way guarantee the integrity of data through a transfer. No response packet is sent for an isochronous transfer. Isochronous transfers are useful for situations that require a constant data rate but not necessarily data integrity. Examples include video or audio data transfers. Isochronous transfers on the 1394 bus do not target a specific node. Isochronous transfers are broadcast transfers which use channel numbers to determine destination.
Lookup Table (LUT) | A matrix of gamma functions for each color value of the current pixel encoding format.
Node | An addressable device attached to a bus. Although multiple nodes may be present within the same physical enclosure (module), each has its own bus interface and address space and may be reset independently of the others.
Node ID | A 16-bit number that uniquely differentiates a node from all other nodes within a group of interconnected buses. Although the structure of the node ID is bus-dependent, it usually consists of a bus ID portion and a local ID portion. The most significant bits of node ID are the same for all nodes on the same bus; this is the bus ID. The least-significant bits of node ID are unique for each node on the same bus; this is called the local ID. The local ID may be assigned as a consequence of bus initialization.
One Push | For use when a control is in manual adjust mode, One Push sets a parameter to an auto-adjusted value, then returns the control to manual adjust mode.
Pan | A mechanism to horizontally move the current portion of the sensor that is being imaged. In stereo and spherical cameras, pan controls which individual sensors transmit images.
Pixel Clock | The rate at which the sensor outputs voltage signals in each pixel from the optical input.
Pixel Format | The encoding scheme by which color or greyscale images are produced from raw image data.
PHY | Physical layer. Each 1394 PHY provides the interface to the 1394 bus and performs key functions in the communications process, such as bus configuration, speed signaling and detecting transfer speed, 1394 bus control arbitration, and others.
Quadlet | A 4 byte (32-bit) value.
Quadlet Offset | The number of quadlets separating a base address and the desired CSR address. For example, if the base address is 0xFFFFF0F00000 and the value of the quadlet offset is 0x100, then the actual address offset is 0x400 and the actual adress 0xFFFFF0F00400.
Register | A term used to describe quadlet-aligned addresses that may be read or written by bus transactions.
Saturation | This is how far a color is from a gray image of the same intensity. For example, red is highly saturated, whereas a pale pink is not.
SDK | Software Development Kit
Sharpness | This works by filtering the image to reduce blurred edges.
Shutter (ms) | This is the amount of time that the camera’s electronic shutter stays open for; also known as the exposure or integration time. The shutter time defines the start and end point of when light falls on the imaging sensor. At the end of the exposure period, all charges are simultaneously transferred to light-shielded areas of the sensor. The charges are then shifted out of the light shielded areas of the sensor and read out.
Signal-to-Noise Ratio (dB) | The difference between the ideal signal that you expect and the real-world signal that you actually see is usually called noise. The relationship between signal and noise is called the signal-to-nose ratio (SNR). SNR is calculated using the general methodology outlined in KB Article 142.
SXGA | 1280 X 1024 pixel resolution
Tilt | A mechanism to vertically move the current portion of the sensor that is being imaged.
Trigger | A signal to which the acquisition of images by the camera is synchronized. Triggers can be from an outside electrical source (external) or software-generated (internal).
UXGA | 1600 X 1200 pixel resolution
VGA | 640 X 480 pixel resolution
White Balance | A method to enable white areas of an image to appear correctly by modifying the gain of red and blue channels relative to the green channel. White balance can be used to accommodate differing lighting conditions.
XVGA | 1024 X 768 pixel resolution


Technical Support Resources

FLIR Integrated Imaging Solutions strives to provide the highest level of technical support possible to our customers. Most support resources can be accessed through the Product Support section of our website.

Creating a Customer Login Account

The first step in accessing our technical support resources is to obtain a Customer Login Account. To apply for a Customer Login Account, click here.

Product Downloads

Customers with a Customer Login Account can access the latest software, firmware and documentation for their cameras from our downloads site here. We encourage our customers to keep their software and firmware up-to-date by downloading and installing the latest versions. These versions include the latest bug fixes and feature enhancements.

Related Documents and Manuals

The following documents and manuals are helpful in understanding how to control FLIR Integrated Imaging Solutions products and how to access your camera’s full functionality. Many of these documents are included in the SDK \doc directory or via the Start menu -> Point Grey Research -> FlyCapture2 -> Documentation. Other documents are downloadable from http://www.ptgrey.com/support/downloads/.

  • FLIR Machine Vision Camera Register Reference.
  • The Getting Started Manual or Technical Reference Manual (if available) for your camera model.
  • The FLIR knowledge base, accessible from http://www.ptgrey.com/support/kb/index.asp.


FlyCapture API Overview

The information for the following sections is derived from the commented sections of the following FlyCapture header (.h) files, located in the C:\Program Files\Point Grey Research\ FlyCapture2\include directory:

  • BusManager.h
  • Camera.h
  • Error.h
  • FlyCapture2.h
  • FlyCapture2Defs.h
  • FlyCapture2GUI.h
  • FlyCapture2Platform.h
  • Image.h


AsyncTriggerExCSharp

The AsyncTriggerExCSharp program demonstrates the same basic asynchronous trigger capabilities as the AsyncTriggerEx example, except it is written in C#.

The camera is started and put into trigger mode. The user can then either press a key to software trigger the camera, or trigger through an external hardware trigger. The example captures a specified number of images and then exits.

This program only works with cameras that can be asynchronously triggered, either using an external hardware trigger or by using the camera's internal software trigger.

See Also

  • FlyCapture Examples


CustomImageExCSharp

The CustomImageExCSharp sample program demonstrates how to configure a PGR Imaging Product to output custom sized images. It is the equivalent of the CustomImageEx sample program, except it is written in C#.

Custom images are the FlyCapture equivalent of the IIDC specifications 'Format 7'. They are often useful for achieving faster frame rates, reducing the resolution of an image, and allowing more cameras to run on a single bus by reducing bandwidth requirements.

The program creates a context and initializes the first camera on the 1394 bus. It then queries the camera to determine the custom image modes, resolution sizes, unit sizes and pixel formats the camera supports. The information returned by QueryFormat7Info() is the same kind of information you would see in FlyCap using the Format7 tab.

The program then starts the camera in custom image mode using parameters defined at the beginning of the code. Calling SetFormat7Configuration() with these parameters is essentially the same thing as setting these parameters in FlyCap and clicking "Apply". A number of images are grabbed in this custom image mode. The final image is then color-processed and saved in .bmp format to disk.

See Also

  • FlyCapture Examples


FlyCapture2Test_C

This example is the same as the FlyCapture2Test example, except it is written in C.

The example is a simple program designed to report information related to all compatible cameras attached to the host system, capture a series of images from a single camera, record the amount of time taken to grab these images, then save the last image in the current directory.

See Also

  • FlyCapture Examples


FlyCapture2TestCSharp

This example is the same as the FlyCapture2Test example, except it is written in C Sharp.

The example is a simple program designed to report information related to all compatible cameras attached to the host system, capture a series of images from a single camera, record the amount of time taken to grab these images, then save the last image in the current directory.

See Also

  • FlyCapture Examples