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:
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.
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:
– Acquiring images from cameras, frame grabbers or files.
Image Acquisition (Third Party)
– Acquiring images from third-party cameras.
– Image conversions, enhancements, transformations etc.
– Operations on pixel sets representing foreground objects (blobs).
Computer Vision 2D
– Specialized tools for high-level image analysis and measurements.
Computer Vision 3D
– Specialized tools for analysis of 3D point clouds.
– Self-learning tools based on deep neural networks.
– Filters for constructing, transforming and analysing primitives of 2D geometry.
– Filters for constructing, transforming and analysing primitives of 3D geometry.
Logic & Math
– Numerical calculations, arrays and conditional data processing.
– Category contains the basic program structure elements.
– Filters for working with files on disk.
– 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:
- First you select a tool in the Toolbox, e.g. "Fit Shape".
- Then you select a filter from the tool in the "Choose Filter of Group" window.
This dialog can have several sections (e.g. "Fit Segment", "Fit Circle" etc.)
The Filter Catalog contains several libraries:
Adaptive Vision Library
– the most important library that contains all the image analysis filters.
– the library that contains filters providing standard interfaces to industrial cameras and frame grabbers.
– filters for general data processing and other low-level operators (required, as pure computer vision is not enough for real-world applications).
– this is a set of interfaces to APIs provided by other vendors – mainly for hardware support and for the OpenCV library.
– 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:
- Categories correspond to the types of data:
Subcategories correspond to the types of operators:
- Basics – trivial and technical filters (e.g. GetImagePixel, CreateBoxRegion)
- Features – primitive properties and information retrieval (e.g. ImageHistogram, RegionMassCenter)
- Metrics – data comparators and binary features (e.g. ImageDifference, AngleBetweenSegments)
- Relations – relations and predicates on two or more objects (e.g. TestImageEqualTo, TestPointInRegion)
- Point Transforms – transformations applied to each element separately (e.g. NegateImage, AddToHistogram)
- Combinators – producing an object out of two or more other objects (e.g. AverageImages, RegionUnion)
- Local Transforms – transformations based on information from a fixed neighbourhood of each given location (e.g. SmoothImage_Gauss, ErodeRegion)
- Spatial Transforms – transformations changing the locations of the elements (e.g. RotateImage, TranslatePoint)
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:
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:
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.
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:
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:
If you do not remember well the name of a filter, you can track it as well by typing only a part of it:
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:
|Previous: Complexity Levels||Next: Connecting and Configuring Filters|