Impact Acquire SDK GUI Applications
Setting Up Multiple Display Support, Working With Several Capture Settings In Parallel

ImpactControlCenter

  • is capable of dealing with multiple capture settings or acquisition sequences for a single device
  • can be configured to deal with multiple image displays

"Frame grabber":

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

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

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

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

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

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



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

    ImpactControlCenter - Create capture setting - Choosing name



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

    ImpactControlCenter - Create capture setting - Choosing base

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

  • a "Base" setting, which is always available
  • a "NewSetting1", which has been derived from "Base".
ImpactControlCenter - Two settings

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

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

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

ImpactControlCenter - Assigning displays
ImpactControlCenter - Assigning displays

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

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

ImpactControlCenter - Setting up request count

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

ImpactControlCenter - Capture setting usage mode

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

  • the used bandwidth and also
  • the CPU load

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

ImpactControlCenter - Running example

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

ImpactControlCenter - Manual Setting Usage Mode

This can even be changed during a running acquisition.

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

ImpactControlCenter - Manual Setting Usage Mode