VisualApplets 3 – Extension Packets and New Functions

To mark its tenth anniversary, VisualApplets 3 has been released as a 64-bit version with extension packets and new functions. The version includes additional operator libraries, called Extension Libraries, providing an expanded range of functions for segmentation and classification as well as for compression. Beyond these, there are operators that represent loops in the data flow model, whereby image sequences and comparisons, as well as image batch processing can be calculated on the FPGA, conserving resources. The FFT (Fast Fourier Transformation) operator has been expanded to resource-efficiently implement more complex filters with high computing load, such as band pass filters. Moreover, Xilinx Vivado software can be used for the final creation (synthesis) of the FPGA hardware code as applets, which in many cases increases the implementation speed.

For image processing and data signals it is possible with VisualApplets to create and process complex applications intuitively, directly use pre-configured applet examples or to integrate own VHDL libraries.



VisualApplets 3 offers a graphical data flow programming environment for real-time applications in Machine Vision based on FPGA processors.


VisualApplets Expert imports VHDL code for a genuine conversion in VisualApplets

VisualApplets Embedder
implements a VisualApplets compatibility on hardware level

VisualApplets Libraries extends algorithms and designs by operators

VisualApplets Protection offers protective mechanism for applets on FPGA base




VisualApplets Extension
VisualApplets Expert
VisualApplets Expert Image

VisualApplets is the graphical development environment for individual FPGA programming. The current version 3 offers with the new extension Expert a broad range of advanced functions for experienced users. The Extension Expert contains three new function focuses: the Custom library, offering the possibility to create own operators in order to use them in the VisualApplets design, and the Debugging and Parameters libraries.

 With the multitude of operators implemented in the libraries, the developer gets new possibilities for designing and testing of the created image processing application. Thus, it is possible to take over existing hardware code (VHDL and Verilog), to debug the design under runtime condition and to set paths to parameters in hierarchical structures.

 The Main New Features

Custom Operator Functionality

With the Custom Operator functionality users are able to make further use in VisualApplets of their existing image processing modules (VHDL libraries) programmed in VHDL or Verilog as operators and by this save their existing work. The modules are incorporated as pre-synthesized IP core netlists. Each IP core builds exactly one operator. After a GUI driven integration procedure, these operators work like generic VisualApplets operators and use all advantages of the VisualApplets workflow like high-level simulation, resource consumption and bandwidth calculation.

You can import and export individual custom operators by importing/exporting the XML definition of the operator.

VA Expert Custom Operators

 Creating a custom operator in a new library
Users use their know-how and reuse existing hardware code and apply it to the programming of FPGAs, for example to integrate an existing IP core into new applications only with a few steps. This reduces the time-to-market of their products considerably.

Debugging Library

The Debugging Library offers a variety of operators with enhanced debugging capabilities to detect program errors, deadlocks and bandwidth problems and to increase the stability of the design. Included are among other things the image analysis, image statistic, stream analysis, image flow control and monitoring. They can be used for debugging VisualApplets designs in the real runtime as well as custom operators which are still under development. In the latter case, the debugging library allows to analyze how new custom operators affect the designs.

VisualApplets Expert Debugging

 Overview of operators in the Debugging library

 The Scope operator provides options for analyzing gray-scale pictures

Parameters Library

The Library Parameters is a new module library which provides the programmers with several operators, which enable them to change parameters easily, which may be deeply embedded in hierarchical structures of the design. Parameter changes in a VisualApplets design by users are automatically updated consistently during runtime, also in protected hierarchical boxes. A time-consuming and error-prone manual change of parameters in the whole design and the use of additional software can be omitted.

With operators of the type Translator, new values can be calculated from different parameter values and be transferred to other parameters in the design. The calculation only occurs according to the specifications of the programmer. The syntax of the calculations corresponds to the GenICam standard (GenICam API version 2.0).

The created connections between parameters by the operators do not affect the design of the represented image processing process.


  Overview of operators in the Parameters library 

VA Expert Library Parameters

  Setting parameter paths in deep hierarchical structures
VisualApplets Embedder
VisualApplets Embedder Image

VisualApplets Embedder

Smart Cameras Using Embedded FPGA Programming

The future belongs to “embedded Vision” — a networked, decentralized image processing of hard- and software in one housing. With VisualApplets Embedder, this is already achievable today. The solution for real-time image processing in FPGA devices such as industrial cameras is easy to integrate and operate. End users and image processing hardware manufacturers program on software applets tailored to their applications and industries with Embedder directly on the device’s FPGA in almost no time.

VisualApplets 3 Embedder
To accomplish this, they use the VisualApplets graphical development environment as the basis for Embedder, without using a labor-intensive hardware description language. In 2006, it was awarded the VISION Innovation Prize. With VisualApplets, they develop an unlimited number of individual and industry-specific image processing applications as applet designs.
Baumer LX VisualApplets Kamera

On the way to an application camera (Photograph: Baumer GmbH)

To create an applet design, they flexibly combine by drag-and-drop operators which represent over 200 image processing functions to create a data flow model. The model is synthesized into a program code (bitstream) from which the FPGA is configured. VisualApplets supports users with unique tools for automatic error recognition, notification, and correction, as well as an intuitive, image-based high-level simulation.

VisualApplets makes it possible to use standard designs, to create proprietary image processing designs as data flow models or to individualize for customer groups.

 On the hardware side, Embedder makes it possible to quickly adapt the integration design to new devices after the initial implementation, and to construct different product lines using image processing designs. In so doing, Embedder makes FPGA devices intelligent and reduces their time to market considerably. This innovative “embedded vision” solution has arrived on the market and has been honored numerous times as an integral component of Baumer’s LX VisualApplets camera series.
Development of complex applications directly on the device

Existing device hardware can easily be equipped with embedded VisualApplets technology so that a large part of the image pre-processing can be calculated on the device’s FPGA, conserving resources. Alongside image processing solutions, it is also possible to program and process data signals using VisualApplets. Signal in- and outputs as well as connections to external digital peripherals, such as PLC, lighting, rotary encoders and other control devices, are directly programmable in the device using VisualApplets.

VisualApplets Embedder integrated in cameras

VisualApplets Embedder integrates into FPGA devices such as cameras

 VisualApplets verifies Embedder’s implementation process. Has the installation effort been accomplished for one hardware platform, it is possible with the development environment to create every type of image processing design as often as desired. Designs can then be very easily adapted for new device platforms or ported onto compliant devices using VisualApplets’ user interface. FPGA device manufacturers can allow their customers to program applications on the devices by themselves.

During installation, the new Embedder platform is integrated into a pre-installed version of VisualApplets. Any number of Embedder platforms can thus be added to VisualApplets.

VisualApplets Libraries
VisualApplets Libraries Image

VisualApplets Libraries

Segmentation/Classification and Compression

VisualApplets Libraries include several operator libraries, which extend the scope of the operators by important image processing functionality, for example for segmentation and classification along with compression.

The three libraries can be purchased as single license and are therefore independent of the acquired frame grabber hardware.

VisualApplets Libraries



 After the segmentation and the object determination, these operators are used to determine the position, surface, form, circumference of objects and the surrounding geometry (bounding box). For this purpose, the Blob analysis is used.
Blob Analysis


 The Blob analysis 1D operator analyses line per line one-dimensional binary images with endless height, in which objects may assume any position. The operator is therefore extended by a reference object as a point of origin.

The Blob analysis 2D operator analyses bi-dimensional binary images using pixel clusters of an 8 or a 4 connected neighborhood in the foreground.

The classification uses the extraction of properties to assign properties to the objects.


Objective of the compression is the acceleration and simple scaling of JPEGs. With the two operators necessary for this purpose, it is possible to execute JPEG compressions of greyscale 8 bit images in two steps.

First, the input data of the images are buffered in the RAM using the DSP elements (digital signal processor) of modern FPGAs and sorted in blocks of 8×8 pixels (remapping). The operator allows a dynamic ROI (region of interest) selection.

In the second step occurs the actual JPEG compression (encoding). The compression rate depends beside the input data on the selected quantization table, which is changeable during runtime.

The compression of color images is executed in a similar manner by the calculation of the three color channels.

VisualApplets Protection
VisualApplets Protection Image

VisualApplets Protection

Protecting Own Hardware Applets

To secure the use of own applets on different frame grabbers and therefore to prevent the intellectual property from external access, applets and frame grabbers can respectively and securely be coded with a lock by oneself.


VisualApplets Protection Security Flow

 The protection consists of two security mechanisms which must match:
  1. Applets are coded and locked with a unique Security Identifier Code.
  2. Silicon Software frame grabbers are equipped with a security license.
An applet protected in such a way will only be executed on the corresponding Silicon Software frame grabber with the matching security license.
VisualApplets Protection Security Codes
VisualApplets Extension
VisualApplets Expert Image
VisualApplets Expert
VisualApplets is the graphical development environment for individual F... Read More
VisualApplets Embedder Image
VisualApplets Embedder
VisualApplets Embedder Smart Cameras Using Embedded FPGA Programming ... Read More
VisualApplets Libraries Image
VisualApplets Libraries
VisualApplets Libraries ... Read More
VisualApplets Protection Image
VisualApplets Protection
VisualApplets Protection Protecting Own Hardware Applets ... Read More