AVINE Video Client 3

Quick Reference

(Service Release 1 (SR1): October 2013)


Table of Contents

 

Overview

The Video Client 3 is a fast versatile video display and analysis tool used to monitor, taking and analyzing data that is produced by image sources, such as video cameras. The Video Client was originally written for monitoring and measurements at Photo-Injector Test Facility Zeuthen (PITZ). But it is made in a generic way so that it is also useful for other sites than PITZ.

Brief list of possibilities:

  • receive live video as well as take sequence of video images from live sources
  • monitor what is going on (see electron beam, see laser beam, see dark current, see diagnostic devices in the beam pipe)
  • online-analysis of the beam images (spot size, position, shape, ...)
  • optimize the beam image quality before data is taken and stored permanently
  • do manual data-taking
  • do semi-automatic data-taking (control of laser shutter)
  • correlate behaviour between spot-size, position and shape and "moving" experiment parameters (Online-DAQ)



Figure 1: Main Application Window
(click to enlarge)

 

What's new in Service Release 1 (SR1)

  • Features
    • browse individual images if more than one image has been grabbed/loaded
    • failed grabbing attempts can be reviewed and kept, repeated etc.
    • added video image's event number to Online DAQ
    • enhanced Zoom Panel
    • improved Histogram Panel
    • enhanced False Color Table Panel
    • save human readable video image header format side-by-side to images
    • drag and drop of images/background from explorer window to main window (load image/background)

  • Fixes
    • major rewrite of drawing video image and decorations
    • improved responsiveness of GUI
    • ALT-F4 handling fixed
    • crash on some scrollbar actions on Zoom Panel

  • Cosmetic Changes
    • Sum Of Pixels now shows zero (0.0) if zero, not one (1.0) like it was before
    • if scale factor is not set, and RMS values on toolbar are shown with unit 'px' instead of 'mm'
    • Polled/Dropped frames moved from Side Panel to status bar (bottom right of main window)
    • clear background keyboard shortcut CTRL-C removed
    • added display of bits per pixel to File Preview Dialog

For details, please see release notes.

 

Features of the program

  • Spot position and size calculation using Fourier analysis
  • Spot position and size calculation using Straightforward statistics
  • False color (classic, MATLAB JET-like) and grayscale mode
  • Projections of the video signal (in X and Y)
  • Printing of video images as well as the whole program window
  • Live video-mode (polling)
  • Acquiring sequence of images (grabbing)
  • Saving and loading of raw images and backgrounds using application-specific (IMM, IMC) and widely used format (Windows BMP)
  • Background subtraction
  • Acquiring backgrounds using grab single background, add to background, envelope background and average background
  • Snapshot mode (video snapshot to BMP file)
  • Automatic acquire of certain control system properties (parameters of the experiment) for simplified correlations (so-called Online DAQ)
  • Automatic acquire of certain control system properties in order to save side-by-side to video frame(s)
  • Scaled values (instead of pixel values obtain results directly in millimeters)
  • Image preview on loading files
  • Semi-automatic datataking of background and signal frames (called: GrabAndSave), interfacing of some shutter, e.g. Laser shutter
  • X-Ray filtering
  • Zoom Panel
  • Histogram Panel
  • False Color Table Layout Panel
  • Selectable area of interest, either circular or rectangular (all calculations are only done there and not on the whole video frame)
  • Free field on toolbar with the following implemented functions
    • Sum of pixel values of video area (Sum of Pixels)
    • Cooked pixel value under mouse cursor (Cooked Value)
    • Mean value of pixel values of video area (Z mean)
    • Rms value of pixel values of video area (Z rms)
    • XY Correlation Coefficient of video area (XY Corr (-1..1))
    • Tilt factor of video area (XY Tilt)
    • XY Angle of Regression Line (XY Angle [°])

    More technical:
  • Works over Remote Desktop (Microsoft Remote Desktop Connection, VNC, Timbuktu)
  • Compatible with Multi-Monitor setups
  • Video frame transfer from server to Video Client 3 can use multicasting (configurable)
  • XML config file with speaking names
  • Video System 3 video data interface (compatible with Video System 3 sources)
 

Menu description and quick reference of functions

MenuEntrySubmenuDescriptionDefault
Application Area of InterestRectangularSwitches to rectangular area of interest.[1]On
CircularSwitches to circular area of interest. [1] 
Color ModeGrayscaleSwitches on grayscale color mode [2] 
False colorSwitches on PITZ false color mode [3]On
JET False colorSwitches on false color mode similar to MATLAB JET [4] 
Free FieldSum of PixelsThe sum of all pixel values of the current area of interest of the image displayed, is shown. [5]On
Cooked Value under CursorDisplays the pixel value (depth) of the pixel that the mouse cursor points to. In addition, the maximum pixel value, according to bit depth of the image, is printed. [5,7]  
Z meanDisplays the mean value of all pixel values inside the area of interest. [5,6,8] 
Z rmsDisplays the rms value of all pixel values inside the area of interest. [5,6,8] 
XY Correlation CoefficientDisplays the XY correlation coefficient of the pixel values inside the area of interest.[5,6,8,9] 
XY Tilt Displays the XY Tilt value of the pixel values inside the area of interest.[5,6,8,9] 
XY Angle of Regression LineDisplays the Angle of the Regression Line (unit [degrees]) of the pixel values inside the area of interest.[5,6,8,9] 
Normalization Switches normalization of the video data on and off 
Projection modeX ProjectionSwitches X projection on and offOn
Y ProjectionSwitches Y projection on and offOn
OffSwitches displaying of all projections off 
Statistics Mode FourierSwitches on Fourier statistics (slow, more precise, less sensitive to noise) 
StraightforwardSwitches on straightforward statistics (using MEAN and RMS formula) (fast, less precise, sensitive to noise)On
StreakcameraStreak image analysis (experimental) 
OffSwitches off statistics 
X-Ray filtering Switches X-Ray filtering on and off 
Keep Aspect Ratio Switches the "Keep Aspect Ratio" on and off. If on, the program resizes the video frame inside the application window to respect the proper aspect ratio of the video frame width and height.On
Stay on top Switches the "Stay on top" on and off. If on, the program is on top of all other windows all the time. 
Offline One can enable/disable Offline Mode (all online control and video system connections are cut when Offline) 
Preferences Shows up the preferences dialog to set up snapshot output directory, set Online DAQ configuration file as well as output directory.
Reload Server (Camera) List If one comes to the conclusion that in the Live Image Source combo box there should be more servers listed or one wants to remove servers from the list not available right now, reloading the list may help.
Print image Prints the current image (can also print to electronic logbook if a proper printer driver for it is installed)
Print whole window Prints the whole application window (can also print to electronic logbook if a proper printer driver for it is installed)
Quit Quits (exits) the application


MenuEntrySubmenuDescription
ImageLoad Loads in raw images (either IMM, IMC or BMP file format)
Save Saves raw images (either IMM, IMC or BMP file). Raw means that no image processing (x-ray filtering, normalization, background subtraction, false colours) is applied. One also has the possibility to save important experiment data (like klystron forward power) together with the image file(s) to a text file. If saving multiple images to BMP file, one is not able load them in again into the Video Client as a bunch.
Grab1 FrameGrabs a single video frame from currently selected Live Image Source (see toolbar).
2 FramesGrabs two video frames. The displayed image will be an average image of these two images. All calculations are performed on each individual video image and are then averaged. [10]
......
200 FramesGrabs 200 video frames. The displayed image will be an average image of these 200 images. All calculations are performed on each individual video image and are then averaged. [10]
Grab and Save...10 FramesGrabs a sequence of 10 images and 10 background source images and saves them to disk
......
100 FramesGrabs a sequence of 100 images and 100 background source images and saves them to disk
Poll Start or stop Poll mode (live video)
Snap Saves currently displayed image (with image processing applied) to BMP file with timestamp to folder configured via Application->Preferences.
Analyze Analyzes the current video buffer again (after one changed some settings like normalization, x-ray filtering, change to AOI...)


MenuEntrySubmenuDescription
BackgroundLoad Loads in the current background image (BKG, BKC or BMP file format)
Save Saves the current background image (BKG, BKC or BMP file format)
Grab Grabs a single background that automatically replaces the current background image.
Add Adds a background to the current background image (addition).
Get->Envelope5 FramesGrabs 5 images in a row, creates an enveloped background image out of them and puts this image as the current background image. [10]
......
200 FramesGrabs 200 images in a row, creates an enveloped background image out of them and puts this image as the current background image. [10]
Get->Average5 FramesGrabs five images in a row, creates an averaged background image out of them and puts this image as the current background image. [10]
......
200 FramesGrabs 200 images in a row, creates an averaged background image out of them and puts this image as the current background image. [10]
Show Shows the current background image
Clear Clears the current background image


MenuEntryDescription
ViewFalse Color Table PanelShows a panel where the current false color table is drawn as a stripe.
Histogram PanelShows a panel where the histogram of the image that is currently shown, is drawn.
Messages PanelFor advanced users: Shows a panel where the messages of the application are logged.
Side PanelShows a side panel where additional information and options for the advanced user are shown.
Tine Server Address PanelFor advanced users: Shows a panel where an individual TINE video server address (to get video from) is possible to enter, check and enable.
Zoom PanelShows a panel where the currently displayed image can be zoomed in or out, also provides 100% view (1:1, i.e. 1 pixel on the screen is 1 pixel of the image source).

MenuEntryDescription
HelpQuick referenceShows this html help
AboutDisplays the about box of the program


Footnotes:

[1] In addition, the area of interest (AOI) is automatically reset to the biggest one possible. For rectangular AOI, the AOI will span the whole image dimensions.
[2] If using grayscale color mode, problems observing weak signals could appear. The gray scales are linear distributed across the bit-depth of the pixels of the image. Depending on the capabilities of the monitor, only a fraction of the possible gray scales are shown physically. Dark gray tends to vanish into black.
[3] PITZ false color mode was designed for improved recognizablity of weak signals in comparison to grayscale. In addition, distinguishing between low, medium, high and saturated intensity is much easier with it. Black means no, blue means weak, green means medium, red means strong and white means saturated signal.
[4] The colors are drawn like in MATLAB if JET color table is used. Slight finetuning has been performed so that the maximum (saturated) intensity of the displayed data is shown as white.
[5] If there are multiple video frames in the buffer, first of all the value is calculated for each individual frame in the buffer. Then the individual values are averaged. What is shown in the field is the averaged value.
[6] Please note that X-Ray filtering and background subtraction are performed before the value is calculated. So if these algorithms are in effect, they may alter this value! In contrast, normalization is performed after the value is calculated, so applying normalization does not influence this value.
[7] Please note that X-Ray filtering, background subtraction and normalization are performed before the value is calculated. So if these algorithms are in effect, they may alter this value!
[8] Please note that this value is only calculated if statistics mode is switched to straightforward or fourier.
[9] Dedicated documentation on XY Correlation Factor, Tilt and Angle of Regression Line is available on the Video System website.
[10] Any algorithm applied on a sequence of images is designed to perform best if there are no images lost in-between (so-called dropped frames) while recording the sequence. Due to shared resources like network bandwidth, drops may occur. The Video Client 3 will present a warning in this case. Also in rare cases it may happen that the image source is changed on server-side while the Video Client 3 records a sequence. Such events will be detected and an error message will be shown. As the recorded sequence is considered useless in this case, the sequence will be discarded.

 

Toolbar

Toolbar  

ControlDescription
Toggle-Button Override ScaleIf pressed, x-Scale and y-Scale boxes can be edited (and so scale values delivered with the image can be overridden by user-defined values)
x-Scale (mm/px)Displays the scale value used to calculate the x-mean and x-rms values
y-Scale (mm/px)Displays the scale value used to calculate the y-mean and y-rms values
<x> (mm or px)Displays the currently calculated x MEAN value (only valid in straightforward or Fourier statistics)
<x> (mm or px)Displays the currently calculated y MEAN value (only valid in straightforward or Fourier statistics)
x RMS (mm or px)Displays the currently calculated x RMS value (only valid in straightforward or Fourier statistics)
y RMS (mm or px)Displays the currently calculated y RMS value (only valid in straightforward or Fourier statistics)
Toggle-Button NormalizationOne can see whether Normalization is switched on (button looks pressed) or off (button looks like not pressed). In addition, one can easily switch it on/off.
Toggle-Button X-Ray filteringOne can see whether X-Ray filtering is switched on or off. In addition, one can easily switch it on/off.
Live Image SourceOne can select the current server where Video Client 3 will get video streams from. For each server address it is shown which camera is currently bound to that server (if any). If the combo box is opened it shows all servers which are in principle available. Items written in black show servers which currently provide video frames. Items displayed in gray show servers which do not currently provide video frames. The combo box flickers (red/white) if the status of the currently selected server changes. If the whole control is grayed out then no server is available at all. This could be due to the fact that the application's mode is currently set to offline.
Button [...]For advanced users: Opens or shows Tine Server Address Panel (enter, check and enable individual TINE server video feed)
Switch...Opens or shows camera switching panel (to switch a server to a different camera)
Toggle-Button Poll ModeBy this button one can quickly see whether poll mode is switched on or off and, if one wants to, switch it on or off.
FF: Sum of PixelsThe so-called 'free field' shows the sum of the pixels after background subtraction. The free field can show various values, see Application->Free Field menu entry.
DAQstart (DAQstop)Starts/stops simple Online Data Acquisition (so-called Online-DAQ). If Online-DAQ is currently running the button is labeled 'DAQstop'. When pressing DAQstop, Online-DAQ is stopped and data that is still being buffered will be flushed to csv file on disk.
DAQdiscardCan be used as a button to stop currently active Online DAQ and automatically discard the data (do not save to disk).
Icon showing Coordinate SystemAs an information for the user, this icon shows the used coordinate system inside the video frame. Calculated values are shown using this coordinate system, where applicable.
BackgroundIndicates whether background image is set or empty.
Browse Individual ImagesIs enabled if there is more than one image in Video Client's internal image buffer. One is able to browse individual images instead of averaged image and decorations, shown by default.
Snap ImageBy pressing this button the user can save currently displayed video image (which contains image processing like background subtraction, normalization, x-ray filtering and applied false color table) to a Windows BMP file. The file name contains the current timestamp. The file is written to a special folder which can be configured via menu Application->Preferences.
 

Description of the Zoom Panel

Zoom Panel

The zoom panel shows a magnified or demagnified part of the video image shown on the main application window. The zoom factor can be chosen from 1 to 1000% (10:1). Some predefined zoom steps are selectable in the combo box on the left of the tool bar. To the right of the combo box, one can see which zoom factor is currently set in the zoom panel. Using the second feature on the tool bar, one is able to choose whether or when decorations (mouse cursor axis, spot size and centre) are drawn on top of the scaled pixels. One can choose between On (Always draw the decorations), Off (never draw decorations) and Mouse (draw decorations if mouse pointer is inside zoom panel's video area). The third feature on the tool bar, called 'Always follow Mouse on Main Video Area', changes the Zoom Panel into a magnifying glass. If the checkbox is checked (alternative: one can press SHIFT key while moving mouse on main application window's video area), the scaled video area follows the mouse cursor in the main application window.

 

Description of the Histogram Panel

Histogram Panel

On the histogram panel, the absolute number of pixels that share a distinct pixel intensity (pixel value) are shown across the x-axis. On the y-axis, the number of pixels that share the same pixel value, are plotted. Note that only pixels inside the area of interest are taken into account for calculating the histogram. In case that only a certain portion of the histogram values are used throughout the image's pixel values, the x-axis may be displayed discontinued. In that case, the lowest and highest index shown is displayed in red color at the x-axis.
In case of under and overexposed images, one is able to cut (remove) the lowest and highest index value from the histogram display, as in such case the number of pixels with those index values can be much more than numbers of other pixels values. Removing them from display can improve visibility of other histogram indices.

 

Description of the Side Panel

Side Panel

SectionLabelDescription
Image Buffer Number of Imagesnumber of images the image buffer currently consist of
Widthwidth of each image in pixels
Heightheight of each image in pixels
Formatcurrent format of the image buffer [1]
Image Sourcedescriptive name (position), where the image(s) came from
Image Source IDID (unique number) of the image source
Area of Interest (AOI) Typetype of area of interest (rectangular or circular). [2]
Constraintsthe actual values which define the area of interest. [2]
NormalizationModeOne can switch between Top-Down normalization and Top only. The latter works like in Video Client 2. [3]
X-Ray Filtering Options to control X-Ray Filtering (equalisation of excessively raised (regions of) pixels using 3x3 matrix). [3]
PercentageOne can set the percentage the examined center pixel's value must stick out of the surrounding pixel's value before it is considered to require equalization. (1-200%)
Number of PixelsOne is able to choose the minimum number of surrounding pixels for which the percentage condition needs to be fulfilled before the center pixel is equalized.
CSV File Writing DelimiterShows the currently used CSV file delimiter. [4]
Decimal PointShows the decimal point used when writing CSV files. [4]
Grab and Save Laser Shutter ControlThe control of the laser shutter in GrabAndSave function can be disabled. The status is shown here for reference.

Footnotes: 
[1] The data formats the Video Client 3 supports are: Gray8 (maximum 8 bits per pixel) and Gray16 (maximum 16 bits per pixel). In addition to the format, the effective bits per pixel currently set are shown. For example there exist Gray16 EBitPP=12 which means 16 physical bits per pixel, but the image source is only able to deliver 12 bits per pixel. The remaining 4 bits are not used and will not go into calculations. Only the effective bits are taken into account.
[2] There are two types of Areas of Interest: Rectangular and Circular. The rectangular area of interest is defined by its bounding rectangle pixel positions left(l), top(t), right(r) and bottom(b). The circular area of interest is defined by its centre point (cx, cy) and its radius (r). There is always an area of interest set inside Video Client 3. The biggest rectangular area of interest spans the whole image dimensions. The biggest circular area of interest is a circle which is restricted to the image dimensions.
[3] The setting is volatile. It will be lost if Video Client 3 is closed.
[4] The current delimiter and decimal point for CSV files are tried to be obtained from Windows regional settings. Furthermore they can be specified in videoclnt3-config.xml. The config file takes precedence over what was obtained from Windows regional settings.

 

Description of the False Color Table Panel

False Color Table Panel

In the False Color Table Panel, the currently selected false color table can be inspected. The false color table is displayed as a thick horizontal bar-like stream of colors from lowest color index (LSB: Least Significant Bit) to highest color index (MSB: Most Significant Bit) [1]. The thick horizontal bar consists of thinner vertical solid bars, one for each color index.

Using the toolbar, the layout of the false color table can be adjusted to ones needs. One is able to set an absolute thickness (width) of each unique color bar or fit the color table to the width of the panel. In addition one is able to add segmentation bars in between each color bar (thin vertical lines). The thin vertical color bar below the mouse cursor, while one is moving along the big horizontal color bar, is displayed in greater detail on the right hand side of the toolbar. The pixel index, the color itself and the RGB triplet (range of each component is from 0.0 to 1.0) are shown.

Note: If the width of the big horizontal color bar is smaller than the width of the window, the bar is scaled to fit the window width. If the width is bigger than the width of the window, the horizontal scroll bar is enabled.

Footnotes: 
[1] Note that the highest color index depends on the effective bits per pixel setting of the current image(s) in Video Client's image buffer.
 

Keyboard-shortcuts

HotkeyDescription
F2Switches statistics mode to Fourier statistics
F3Switches statistics mode to straightforward statistics
F4Switches all statistics off
F5Switches the color palette to grayscale
F6Switches the color palette to PITZ false colors
F6Switches the color palette to false colors close to MATLAB JET
F10Take a snapshot to file on disk of what is seen inside the video frame.
ALT-A(Re-)Analyze the current image buffer (can be loaded image(s), grabbed image(s) or the last polled image)
ALT-PSwitch poll mode on/off
CTRL-GGrabs a background and shows it
CTRL-AGrabs a background and adds it to the current background image. Resulting background is shown.
CTRL-SShows the current background image.
ALT-F4Closes application gracefully
CTRL+arrow keysAdjusts position of the area of interest inside the video frame
CTRL+shift+arrow keysAdjusts size of the area of interest
 

Mouse functions

FunctionWhereDescription
SHIFT+move mouseinside the video image region on main windowmoves video area shown on Zoom Panel (like magnifying glass)
right clickinside the video image region on main windowStarts / stops poll mode
left click and draginside the video image region on main windowselect area of interest
 

File Formats

In this section, the different file formats used by the application are briefly explained.

FormatLong nameDescription
IMMIMage MediaThe IMM format is used for storing raw images. It can contain more than one image and contains the scale value of the images. The layout of the uncompressed binary file is very simple. An IMM file can get very big (1 MB - 100 MB). One should use this format only as a fallback solution, e.g. in order to load in the images into old video software which does not provide IMC loading.
IMCImage Media CompressedThe IMC format differs from IMM that the images are compressed (using zlib). The compression ratio is usually 1:2-1:5. It is the preferred saving format, especially if one has taken more than 5 frames. Note that zlib compression is CPU intense. Saving a lot of images to IMC file may take a while, certainly longer than saving IMM.
BMPWindows BitMaP fileThe BMP format can be used for storing raw images or raw backgrounds. A BMP file can contain only a single image. When saving more than one image, each image is saved to individual file. When one saves a sequence of images out of Video Client 3 as BMP, one can only load them back in Video Client 3 as individual single images, not as a sequence. One should use this format only if one wants to load in these images into e.g. picture processing programs in order to postprocess them.
BKGBacKGround fileThe BKG file format is used for storing a raw, single uncompressed background image to file.
BKCBacKground CompressedThe BKC format differs from BKG by two things. First, the images contained are compressed using zlib and second, there can be more than one background image inside. This allows for saving of source background images where an enveloped or averaged single background image may later on be created out of it.
 

Preferences Dialog

Preferences Dialog

OptionDescription
DAQ configuration fileOne can view which Online DAQ configuration file is currently used. Also, one is able to select an individual Online DAQ file here, in order to have properties acquired and stored, which differ from the default property list.
DAQ output directoryOne can enter or choose the directory where the csv files created by Online DAQ will be written to.
Snapshot directoryOne can enter or choose the directory, where the snapshots of the currently displayed video image will be written to (as BMP file).
File preview dialogIf one experience problems with the file preview dialog (sluggish image selection due to slow access to files e.g.), one is able to disable the File Preview Dialog or reenable it (if it is wanted again).

For advanced users and experts, there is an xml configuration file where one can find many advanced adjustment possibilities.

 

Further References

AVINE Video System homepage:http://avine.desy.de
Video Client 3 section on AVINE homepage:https://winweb.desy.de/mcs/tine/VideoSystem/vsVideoClient3.html


Last modified: Oct 15, 2013