Video Client 3 (Version 0.92+) Quick Reference

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 Video Client 3

  • Interface for getting video frames from Server is now Video System 3-style
    • supports JPEG images (will be converted to grayscale on input)
    • supports RGB colour images (will be converted to grayscale on input)
    • support independend x and y scale factor
  • Redesigned Interface/Toolbar
  • Zoom Panel
  • Histogram Panel
  • False Colour Table Panel
  • Side Panel
  • Normalisation now taking into account upper and lower bound (backward compatible upper bound normalisation is available as an option)
  • Possibility to tweak X-Ray filtering
  • Position and size of area of interest can be finetuned by keyboard (CTRL+arrow-keys, CTRL+shift+arrow-keys)
  • works via VNC and Timbuktu
  • XML configuration files with speaking names, easily editable via text editor

 

Features of the program

  • Spot position and size calculation using Fourier analysis
  • Spot position and size calculation using Straightforward statistics
  • False color (classic, JET) and greyscale 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) and offline mode (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 of a saved video frame
  • Scaled values (instead of pixel values obtain results directly in millimeters)
  • Image preview on loading files
  • Semi-automatic datataking (called: GrabAndSave) with interfacing of Laser shutter
  • X-Ray filtering
  • Selectable area of interest either circular or rectangular (all calculations are only done there and not on the whole video frame)
  • Cathode bounds superimposed over the image (useful for Virtual Cathode cameras)
  • Free field in toolbar with two implemented functions at the moment
    • 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

MenuEntrySubmenuDescription
Application Area of InterestCircularSwitches to circular area of interest. [1]
RectangularSwitches to circular area of interest. [1]
Color ModeGrayscaleSwitches on grayscale colour mode [2]
False-color modeSwitches on PITZ false colour mode [3]
JET False color modeSwitches on false color mode similar to MATLAB JET [4]
Free FieldSum of PixelsThe sum of all pixels values of the current area of interest of the image displayed, is shown. [5]
Cooked Value under CursorDisplays in the free field on the toolbar 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]
Normalisation Switches normalisation of the video data on and off
Projection modeX ProjectionSwitches X projection on and off
Y ProjectionSwitches Y projection on and off
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)
StreakcameraStreak image analysis (experimental)
OffSwitches off statistics
Virtual Cathode Frame The function is still in development. It will be documented later.
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
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 directory, the repetition rate of the system, one can switch between TINE protocol (slow, state-of-the-art, saves network bandwidth) and Sockets (fast, more stable, wastes network bandwidth)
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, one can try reloading the list.
Print image Prints the current image (can also print to electronic logbook if a proper printer for this is installed)
Print whole window Prints the whole application window (can also print to electronic logbook if a proper printer for this is installed)
Quit Quits (exits) the application
ImageLoad Loads in raw images (either IMM, IMC or BMP file format)
Save Saves raw images (either IMM, IMC or BMP file), 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 load them in again into the Video Client as a bunch.
Grab1 FrameGrabs a single video frame
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)
Analyze Analyses the current video buffer again (after one changed some settings)
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
ViewFalse Colour Table Panel Shows a panel where the current false colour table is drawn as a stripe.
Histogram Panel Shows a panel where the histogram of the image that is currently shown, is drawn (experimental!).
Messages Panel Shows a panel where the messages of the application are logged.
Side Panel Shows a side panel where additional information and options for the advanced user are shown.
Zoom Panel Shows 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).
HelpQuick reference Shows this help
About Displays 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] When using grayscale colour mode, there could be problems observing weak signals. 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.
[3] PITZ false colour mode was designed for better displaying of weak signals and in order to distinguish low, medium, high and saturated intensity. Black means no, blue means weak, green means medium, red means strong and white means saturated signal.
[4] The colours are drawn like in MATLAB if JET colour 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 then 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, normalisation is performed after the value is calculated, so applying normalisation does not influence this value.
[7] Please note that X-Ray filtering, background subtraction and normalisation 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> mmDisplays the currently calculated x MEAN value (only valid in straightforward or Fourier statistics)
<x> mmDisplays the currently calculated y MEAN value (only valid in straightforward or Fourier statistics)
x RMSDisplays the currently calculated x RMS value (only valid in straightforward or Fourier statistics)
y RMSDisplays the currently calculated y RMS value (only valid in straightforward or Fourier statistics)
Toggle-Button NormalisationOne can see whether Normalisation 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. Lines displayed in black colour show servers which currently provide video frames. Lines displayed in grey 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 greyed 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.
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 remaining data is flushed to file on disk.
DAQdiscardCan be used as a button to stop 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.
 

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]
Area of Interest (AOI) Typetype of area of interest (rectangular or circular). [2]
Constraintsthe actual values which define the area of interest. [2]
Statistics Drop. FramesShows the number of dropped frames since poll mode was last enabled. [3]
Polled FramesShows how many subsquent frame have been acquired using poll mode. [3]
NormalisationModeOne can switch between Top-Down normalisation and Top only. The latter works like in Video Client 2. [4]
X-Ray Filteringn/aTo be documented later. [4]
CSV File Writing DelimiterShows the currently used CSV file delimiter. [5]
Decimal PointShows the decimal point used when writing CSV files. [5]
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 number is still shown after poll mode has been stopped. It will be cleaned on next startup of poll mode.
[4] The setting is volatile and so it will be forgotten if the Video Client 3 is closed.
[5] 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.

 

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 from what is seen inside the video frame.
ALT-A(Re-)Analyse the current frame buffer (can be loaded, grabbed or the last polled frame(s))
ALT-PSwitch poll mode on/off
CTRL-GGrabs a background and shows it on the video frame
CTRL-AGrabs a background and adds it to the current background. Resulting background is shown on the video frame
CTRL-SShows the actual background on the video frame
CTRL-CClears the background image (no background subtraction)
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
right clickinside the video frame areaStarts / stops poll mode
left click and draginside the video frame areaselect area of interest
 

File Formats

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

FormatLong nameDescription
IMMIMage MediaThe IMM format is used for storing raw images from the framegrabber. It can contain more than one file and contains the scale value of the images. One should use this format to load in the images again into the Video Client 2.
IMCImage Media CompressedThe IMC format differs from IMM that the frames are compressed (using zlib). It is the preferred saving format, especially if one has taken more than 5 frames.
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 the images are splitted up in multiple files. 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 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 raw backgrounds 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 was created out of it afterwards.
 

Preferences Dialog

Preferences Dialog

OptionDescription
DAQ configuration fileOne can put here its own special online DAQ file here to have properties acquired and stored that differ from the default property list.
DAQ output directoryHere one can enter or choose the directory where the online DAQ csv files should be written to.
Snapshot directoryHere one can enter or choose the directory, where the snapshots of the currently displayed video image should be written to, as BMP file.
Drawing modeIt is recommended to keep this setting at Compatibility, because it is best possible compromise. However for best performance on Microsoft Remote Desktop or Physical Display at the cost of drawing issues when using VNC or Timbuktu, one is able to choose Performance. If set to Performance, the application may be drawn in such a way via VNC/Timbuktu, that it is impossible to operate it!
File preview dialogIf one experience problems with the file preview dialog (slow image selection due to slow network e.g.), one is able to disable the File Preview Dialog or reenable it (if it is wanted again).

Last modified: Oct 5, 2012