OptoInspect3D Inline - alg3Dlib  3.2.0
Library for measured 3D data processing
OptoInspect3D Inline alg3Dlib Interface Description

Library for In-process 3D Data Analysis


Non-contact optical methods of 3D digitization have replaced conventional methods in many applications. Regardless of whether the triangulation sensors operate with points, lines or planes - many millions of measured 3D data are generated in a few seconds. These data deliver a description of a digitized component's surface topography. After digitization, verification of dimensional accuracy for quality assurance tasks requires methods and algorithms that evaluate and analyze the 3D data in order, for instance, to ascertain deviations of dimensions, shape and position from a standard model.

Established programs for 3D point cloud processing that determine the desired geometric parameters manually and interactively are available for offline analysis. Systems integrated in production require rapid, automatic and integrated data evaluation, however. The OptoInspect3D Inline package for measured 3D data processing was developed for this purpose. This library was designed to support developers and application engineers that need sophisticated 3D data processing for their own applications. With it's C-interface this library easily integrates into 3rd party software solutions.

Precise 3D scan data processing
The library's functions are specifically designed for precise 3-dimensional metrological applications, e.g. in geometric quality assurance. It handles raw and unordered 3D scan data, which requires much more sophistcated algorithms compared to image-like ordered 2.5D height maps or depth maps. Typically, real 3D data is generated when more than one 3D scanner is used or the object is moved relatively to the 3D scanner. And even in the case of 2.5D depth maps the library's 3D algorithms are reliable and very precise compared to classical projection-based image processing algorithms.

OptoInspect3D Inline provides robust and efficient methods for:

  • Point cloud alignment (registration)
  • CAD comparison of point clouds and CAD models
  • Approximation of nominal geometric primitives (3D, 2D)
  • Filtering, smoothing, outlier removal
  • Feature detection
  • Segmentation
  • Geometric Dimensioning and Tolerancing

The OptoInspect3D Inline package contains:

  • OptoInspect3D Inline alg3Dlib function library:
    • Rapid algorithms optimized by multicore support
    • Efficient data structures and algorithms
    • C-Interface, which can be easily wrapped to a C++-interface
  • OptoInspect3D Inline UI as test and demo application:
    • Interactive graphical tool for development, testing and parameterization of functions based on proprietary measured data
    • Custom selection modes to apply individual algorithms to a predefined subarea of the total volume of data

The library provides a generic C-Interface for an integration into a wide variety of applications and systems. C++ wrappers can be easily written since the style of C-interface is based on the standard STL-algorithms with STL vectors. A simple Ready-To-Run test application is provided with this package.

System Requirements:

  • Microsoft Windows 10, 64-Bit
  • Installation of the supplied MS Visual Studio runtimes (vcredist_x64.exe)

The library is splitted into three modules:

  • Registration and alignment
  • Filtering and preprocessing
  • Best-fit approximations of geometric primitives

The page Overview of the modules provides a detailed overview of the functions that belong to each module.


logo logo

Best-fit Registration with 3D Point Sets

The registration function makes it possible to determine the alignment of two sets of points to one another or of one set of points to a CAD model. One set of points acts as a static reference and remains unchanged. The translation and rotation are varied for the second dynamic set of points until a predefined minimum deviation between the two is obtained. The library provides a set of functions that perform this registration task with different approaches.

Thesw functions can be used, for instance, to compare measured data with a CAD reference or a golden sample or to link the data from independent partial measurements. A point distance calculation (proximity search) can determine the degree of the data sets' congruence.

See: Preprocessing and filtering
logo logo

Best-fit Approximation of Standard Geometric Elements

The specification of a component's geometric quality is usually based on standard geometric shapes, e.g. straight lines, circles, ellipses, planes, spheres, cylinders and cones, which serve as reference elements. Deviations in components, e.g. deviations in dimensions, shape and position, can be ascertained from the standard geometry's parameters or the parameters' interrelationship. Furthermore, standard geometries are employed to define component or reference coordinate systems.

A standard geometry is stipulated by selecting the pertinent domains of the digitized 3D data. The latest numeric methods that minimize the deviations between the measured points and the standard geometry are employed to produce the best fit. The parameters are selectively definable. Thus, for example, the spatial position of a cylinder with a defined radius can be determined once it has been fit. An iterative best-fit automatically segments or selects the set of points belonging to the standard geometry. This eliminates interfering points and removes points from the calculation, which do not belonging to the geometry. All of the best-fit methods utilize intelligent error weighting, thus ensuring that the tolerance for interfering data is particularly high. A function that locates adjacent regions of point data can also be used to eliminate interfering data.

The library provides methods with different minimization criteria, depending on the measurement task and norms required. At first the well-known Least Squares (Gaussian) minimizer is implemented that benefits from a type of Levenberg-Marquardt optimization. Furthermore, Minimum Zone (Chebyshev) problems can be solved, e.g. to compute the planarity, roundness and cylindricity or even Minimum Enclosing geometries (hull shapes) to compute ISO/DIN compliant straightness and thickness measures.

See: Best-fit approximations


Distance Computation

In quality assurance a frequent task is to determine the difference between measured data and given nominal data, e.g. from CAD, reference pieces or golden samples. In the case of 3D point clouds this requires the efficient computation of local neighbourhoods in order to get the distance of a point to a point cloud. The same task applies to compute the distances between a 3D point cloud and a polygonal mesh. Therefore, the library provides a set of highly efficient functionality to perform distance computations between 3D point sets and triangle meshes.

See: Preprocessing and filtering


Analytical Geometry

Metrology often requires to determine deviations between geometric elements and primitives. This module provides geometric functionality for:

  • distance computations between points and geometric primitives,
  • projections of points to geometric primitives,
  • intersections of geometric primitives,
  • principle components analysis.
See: Best-fit approximations



Different surface topologies and scanning strategies produce sets of points of differing density and redundancy. Once the local proximity has been analyzed, a thinning function eliminates and redistributes redundant points so that the resulting set of points has a homogeneous density. Both the density and an acceptable displacement tolerance can be specified. Weighted smoothing of the points can minimize high frequency noise. Data corruption can be prevented by specifying a tolerance margin.

See: Preprocessing and filtering


Intelligent Smoothing

Depending on the measuring principle, environmental conditions, object surfaces and material properties the resulting 3d point set may contain noise. Smoothing algorithms are required that minimize high frequency noise. The library provides intelligent smoothing algorithms that are adaptive to the local curvature and preserve features at sharp corners while smoothing more in planar regions.

See: Preprocessing and filtering



The segmentation or region growing function splits the measurement data into spatially separated parts. This is useful if the scan contains multiple objects that should be processed individually. Furthermore the segmentation can be used to easily remove larger artifacts from the measmurement data.

See: Preprocessing and filtering


Outlier Removal

Typically, real 3D measurement data is effected by noise and artefacts. Especially with metal items under production conditions the shininess of the surface and interfering speckles may influence the measurement. The outlier removal functions detects such artifacts and removes them from the point cloud.

See: Preprocessing and filtering


Surface normals for pointcloud shading

The visualization of an unstructured sets of 3d points benefits from artificial lighting that produces a shading depending on local surface orientation described by the surface normal vectors. Normal vectors are also used to analyze the structure of the underlying topology.

See: Preprocessing and filtering


Surface curvatures for pointcloud analysis

Surface curvatures can used to analyze the structure and distribution of the underlying topology, e.g. for edges and discontinuities. Furthermore, surface curvature can be used to adaptively apply point cloud filters in different manner for planar regions or sharp corners and edges.

See: Preprocessing and filtering

Licensing and contact information

The OptoInspect3D Inline library is distributed by the software experts of scapos AG. Please get in contact with scapos AG for questions and licensing information. The software is developed and maintained by the department of Industrial Metrology and Digital Assistance Systems of the Fraunhofer Institute for Factory Operation and Automation in Magdeburg, Germany.

scapos AG

scapos AG
Schloss Birlinghoven
53754 Sankt Augustin, Germany
Phone: +49 2241 14-2820
E-Mail info@.nosp@m.scap.nosp@m.os.co.nosp@m.m

Web Pages

Fraunhofer IFF Magdeburg

Fraunhofer Institute for Factory Operation and Automation IFF
Industrial Metrology and Digital Assistance Systems
Sandtorstrasse 22, 39106 Magdeburg, Germany

Ralf Warnemünde
Phone: +49 391 4090-225
E-Mail: ralf..nosp@m.warn.nosp@m.emuen.nosp@m.de@i.nosp@m.ff.fr.nosp@m.aunh.nosp@m.ofer..nosp@m.de

Dr. Dirk Berndt
Phone: +49 391 4090-224
E-Mail: dirk..nosp@m.bern.nosp@m.dt@if.nosp@m.f.fr.nosp@m.aunho.nosp@m.fer..nosp@m.de

Web Pages