You are here: Start » User Interface » Finding Filters

Finding Filters

Introduction

There are many hundreds of ready-for-use filters in Adaptive Vision Studio implementing common image processing algorithms, planar geometry, specialized machine vision tools as well as things like basic arithmetics or operating system functions. On the one hand, it means that you get instant access to results of tens of thousands of programmers' work hours, but it also means that there are quite a lot of various libraries and filter categories that you need to know. This article advises you how to cope with that multitude and how to find filters that you need.

The most important thing to know is that there are two different catalogs of filters, designed for different types of users:

Toolbox (for typical applications)

Filter Catalog (for advanced users)

The Toolbox is designed for use in typical machine vision applications. It is task-oriented, most filters are grouped into tools and they are supported with intuitive illustrations. This makes it easy to find the filters you need the most. It does not, however, contain all the advanced filters, which might be required in more challenging applications. To access the complete list of filters, you should use the Filter Catalog. This catalog is organized in libraries, categories and subcategories. Due to its comprehensiveness, it usually takes more time to find what you need, but there is also an advanced text-based search engine, which is very useful if you can guess a part of the filter name.

Toolbox

Sections

When you use the Toolbox, the general idea is that you will most probably start with a filter from the first section, Image Acquisition, and then follow with filters from consecutive sections:

  1. Image Acquisition
    – Acquiring images from cameras, frame grabbers or files.
  2. Image Acquisition (Third Party)
    – Acquiring images from third-party cameras.
  3. Image Processing
    – Image conversions, enhancements, transformations etc.
  4. Region Analysis
    – Operations on pixel sets representing foreground objects (blobs).
  5. Computer Vision 2D
    – Specialized tools for high-level image analysis and measurements.
  6. Computer Vision 3D
    – Specialized tools for analysis of 3D point clouds.
  7. Deep Learning
    – Self-learning tools based on deep neural networks.
  8. Geometry 2D
    – Filters for constructing, transforming and analysing primitives of 2D geometry.
  9. Geometry 3D
    – Filters for constructing, transforming and analysing primitives of 3D geometry.
  10. Logic & Math
    – Numerical calculations, arrays and conditional data processing.
  11. Program Structure
    – Category contains the basic program structure elements.
  12. File System
    – Filters for working with files on disk.
  13. Program I/O
    – Filters for communication with external devices.

Choosing Filter from Tools

A tool is a collection of related filters. The process of selecting a filter from the Toolbox thus consists of two steps:

  1. First you select a tool in the Toolbox, e.g. "Fit Shape".
  2. Then you select a filter from the tool in the "Choose Filter of Group" window.

Choosing a filter from a tool (Toolbox).

This dialog can have several sections (e.g. "Fit Segment", "Fit Circle" etc.)

Changing filter variant.

Filter Catalog

Libraries

The Filter Catalog contains several libraries:

  • Adaptive Vision Library
    – the most important library that contains all the image analysis filters.
  • GenICam/GigE Vision
    – the library that contains filters providing standard interfaces to industrial cameras and frame grabbers.
  • Standard Library
    – filters for general data processing and other low-level operators (required, as pure computer vision is not enough for real-world applications).
  • Third Party
    – this is a set of interfaces to APIs provided by other vendors – mainly for hardware support and for the OpenCV library.
  • User Filters
    – contains various filters created by the user –.

Categories in Adaptive Vision Library

The data processing filters of Adaptive Vision Library are organized into a clear two-dimensional structure:

Now, if you for example have two line segments and need to find their intersection point, you know that you should start with the Geometry 2D category that corresponds to the type of data and then choose Geometry 2D Intersections that corresponds to the type of operation. The SegmentSegmentIntersection filter will be there.

The Computer Vision Filters

A separate important set of filters in Adaptive Vision Library is in the Computer Vision category, which contains bigger and ready-for-use tools in several subcategories:

  • 1D Edge Detection – for measurements and positioning using one-dimensional scan paths
  • 2D Edge Detection – for measurements and shape recognition using 2D edge or ridge tracing methods
  • Barcodes – for detection and reading of 1D barcodes
  • Camera Calibration – for compensating lens and perspective distortions
  • Datacodes – for detection and reading of 2D codes like DataMatrix or QRCodes
  • Fourier Analysis – for analysing images in the frequency domain
  • Hough Transform – for detecting analytic shapes like lines or circles
  • Image Analysis – contains filters detecting connected regions that correspond to objects having uniform colors and filters for detection of feature points
  • Multilayer Perceptron – for automated pattern recognition with artificial neural networks
  • Optical Character Recognition – for recognizing printed characters in an image
  • Shape Fitting – for 2D shape recognition and measurements
  • Template Matching – for locating objects in an image using a predefined template

The Search Box

If you know a part of the name of the filter that you need, or if you can guess it, the Filter Search Box will make your work much more efficient. Just enter the searched text there and you will get a list of filters with most relevant matches at the top:

The Search Box and search results in the Filter Catalog.

If you can not guess the filter name, but you know what you expect on the inputs and outputs, you can use special queries with "in:" and "out:" operators as the image below depicts:

Advanced search with expected inputs and outputs.

As a matter of fact, some advanced users of Adaptive Vision Studio stop browsing the categories and just type the filter names in the Search Box to have them quickly added to the program.

Program Editor

Ctrl+Space / Ctrl+T

When you know the name of a filter, which you would like to add into your program, you can use a keyboard shortcut Ctrl+Space or Ctrl+T to find it straightaway in the Program Editor, without having to open the Filter Catalog. After applying this shortcut, you are prompted to type a filter name:

Advanced search using CTRL+SPACE shortcut.

Let us assume that you need to perform simple thresholding on your input image. You already know that there is a ThresholdToRegion filter in our library, which you have utilized many times so far. Instead of time-consuming searching in either Toolbox or Filter Catalog, you can quickly access the desired function by typing its name:

Browsing for a particular filter.

If you do not remember well the name of a filter, you can track it as well by typing only a part of it:

Searching a filter without its full name.

The search engine in the Program Editor also allows you to display the description of a filter in case you want to make sure or remind yourself what the filter is for:

The description of a filter.

Previous: Complexity Levels Next: Connecting and Configuring Filters