Documentation – Beta v2021.1

The Imatest Image Acquisition Device Manager

The Device Manager allows the user to select and initialize supported image sensors and frame grabbers for direct data acquisition. 

Related pages

Realtime focusing with direct data acquisition – Using direct image acquisition

Supported image acquisition hardware – How to get support for your image acquisition hardware

IntroductionSystem memorySaved settingsTools menu

Introduction

The Device Manager is opened by pressing Device Manager in the Settings dropdown menu or the Device Manager button in the Data tab on the Imatest Master main window. Shown below is an example of the Device Manager in Windows with a small sampling of devices in the Device List. 

The Device List contains the list of supported capture interfaces (‘Image from file’, ‘Epiphan’, ‘Omnivision OVTA’, ‘STM Conduit’, ‘Graphin Easylab’, ‘ON Semi Devware’, ‘IP Camera’, …) followed by the detected devices from other interfaces (‘Microsoft LifeCam VX-7000’, in this example). Many devices will support a number of image capture formats (e.g. different resolutions, color spaces, bit depths, etc.), such as the MJPG_1024x768 format of the VX-7000. After selecting a device, the supported image capture formats will be displayed in the Format List

Selecting a format will cause any available controls to be displayed in the Settings panel and enable the Start preview button.  The controls in the Settings panel allow the user to modify the capture characteristics of the device. Pressing the  Save  button saves the settings of the current device and selects it for acquisition by Imatest Master

device_manager2Device Manager window

You cannot capture images with Imatest modules while the preview is active. The following error message will appear.

There was an error establishing a connection with the
device. Please make sure that no other program is accessing
the device and refresh the device list (Tools:Refresh device
list) is that is not the case.

If this occurs, the best thing to do is press  Save  to save the settings and turn off the Device manager. If the desired setting has already been saved, you might be able to get Imatest to acquire images by pressing Stop preview (turning off the preview). But pressing  Save  is a better, more reliable option.

 

Alignment tools

 

To aid in alignment, the Device Manager can also optionally overlay various guides (a crosshair, circle and grid lines) using a row of toggle buttons that are displayed after mousing-over the image display area (see above). This tool bar provides the following controls (using the numbering system in the above figure):

  1. Crosshair overlay toggle button
  2. Circle overlay toggle button
  3. Grid line overlay toggle button
  4. Pan tool toggle button
  5. Zoom-in tool toggle button
  6. Zoom-out tool toggle button
  7. Reset zoom tool toggle button

To enable an overlay, left click on the corresponding button and the overlay will be displayed:

The attributes of the overlays can be modified using a context menu which is accessed via a right click on the image display:

As shown, these attributes can be modified whether or not the corresponding overlay is currently displayed.

 

Additionally, the Device Manager has draggable panel dividers (number 8 above) that allow the user to change the area of various components of the Device Manager’s UI. For example, the user can easily increase the area occupied by the image display:

 

 

 

System memory

Device Manager will not function correctly if there is insufficient system memory. You’ll get a misleading “Out of memory” error message that makes it appear that Matlab/Imatest is using too much memory.

In Windows, you can see System memory in the Performance tab of the Task manager.

Windows Task Manager Memory display

The critical number is the Available memory, shown in the red circle. If it’s below about 1.8 GB the Device manager may not work properly, at least with the Matlab Image Acquisition toolbox that uses a constantly-refilling circular buffer that requires a lot of memory.

There are several ways to reduce memory use. The Device Manager Process tab displays the memory usage for each program. You can close programs that use excessive memory by right-clicking on the program and selecting End task. A particularly easy way to recover memory is to close web browsers (Firefox, Google Chrome, etc.), then repoen them. When they are reopened, they’ll use a lot less memory, until tabs are opened. (Some websites are real memory hogs.)

Google Chrome has a particularly nice extension called The Great Suspender. Highly recommended. I set my installation to suspend tabs (so they don’t use memory) after 12 hours. They reload very quickly when needed.

Saved settings

After pressing the Save button the settings for the current device are saved to a JSON-formatted file for later use by Imatest Master. For example, after pressing Save in the example above, the following data is written to ‘ImageAcqToolboxSource.json’:

{
   “ImageSource”: {
      “name”: “ImageAcqToolboxSource”,
      “data”: {
         “videoFormat”: “MJPG_1024x768”,
         “adaptorName”: “winvideo”,
         “deviceID”: [1],
         “deviceName”: “Microsoft LifeCam VX-7000”,
         “videoSource”: {
            “BacklightCompensation”: “on”,
            “Brightness”: [128],
            “Contrast”: [43],
            “FrameRate”: “7.5000”,
            “Gamma”: [3],
            “Hue”: [0],
            “Pan”: [0],
            “Saturation”: [48],
            “Sharpness”: [13],
            “Tilt”: [0],
            “WhiteBalance”: [4600],
            “WhiteBalanceMode”: “auto”,
            “Zoom”: [0]
         }
      }
   }
}

In this example, the control values are stored in the ‘videoSource’ sub-object and can be altered, within the bounds allowed by the controls.

By default, the JSON device settings files are saved to, and read from,  the same default directory as the Imatest INI file. You can easily open this directory from the Imatest main window by clicking File, Open INI file folder. The save location can be changed either from the ‘Change folder for device settings files … ‘ item in the Tools menu (see below), or by manually changing the [imatest] ImageSource_JSON_folder key in the Imatest INI file.

Note: As with the Imatest INI file, the device file names must not be changed, otherwise Imatest Master will not recognize them.

Tools menu

In the Tools menu are various items that allow the user to manipulate and view the JSON device file location, as well as refresh the Device List.

device_manager_tools_menu

 

  • ‘Open save location …’: Opens a folder browser to the location in which the device files are currently being saved and read.
  • ‘Load device settings file …’: Opens a file browser that allows the user to select a device settings file to load. Note: Pressing Save after loading a device will overwrite the settings stored in the current save directory.
  • ‘Change folder for device settings files …’: Opens a folder browser that allows the user to change the directory for saving and loading device files
  • ‘Refresh device list’: Refreshes the device list by polling for attached devices on any non-standard interface. Note: Refreshing takes several seconds and is not necessary for the standard supported devices (i.e. ‘Image from file’, ‘Epiphan’, ‘Omnivision OVTA’, ‘STM Conduit’, ‘Graphin Easylab’, ‘ON Semi Devware’, or ‘IP Camera’)

 

Note: Starting in Imatest 5.0, Imatest Master contains all image acquisition features and Imatest IS has been discontinued.