3DExpress tutorial: Calibrate with patternZZ

3DExpress version used: 15.3
Last revision: 28 August 2015

This tutorial will guide you through the process of configuring your 3DExpress software from the beginning until the calibration of the camera-laser using the patternZZ

If you don't have 3DExpress you can download a FREE 90 days trial by clicking:


Step 1 - Choosing the camera

When you open 3DExpress you will obtain a window like:

3DExpress main window

The first thing to do is to configure a new input. This is done in the menu Configure > New Input. This will open a configuration dialog like:

3DExpress pop-up wizard where the camera type can be choosen.

where several camera types can be chosen. For this guide, we will use a 2D camera because it is the option where more configuration steps are needed. By choosing a generic 3D camera, a Photonfocus camera or an Automation Technology one, some of the below steps would be skipped and, thus, the process easier.

Step 2 - Configuring the driver

Next step is choosing the appropriate driver. Here again, several options are available:

  • Grab from file: Used to simulate a camera by obtaining the image from a disk file.
  • generic: Used for drivers distributed together with the installation package
  • Silicon Software microEnable III/IV Frame Grabber: For Camera Link cameras connected to Silicon Software microEnable III or IV Frame Grabbers.
  • Common Vision Blox Genicam: For Genicam cameras (Common Vision Bloc software required)


Configuration of a generic SAL3D driver
  • Driver Type: The kind of driver to be used. Usually the required option is the generic driver.
  • FGD Path: The default path is <Program Files>/AQSENSE/3DExpress (will be different if you choose a different location) Several .fgd files are available with self explanatory names. For a complete list of SAL3D supported FrameGrabbers please refer to the supported Frame Grabbers documentation Opens in new window
  • FGD Config: Each supported Frame Grabber has specific configuration params available. Please refer to the supported Frame Grabbers documentation Opens in new window for more information.

In our particular case, as we are using a GigE camera, we use on of the two available GigE drivers (Pleora in this case). In this case, if no IP or MAC address is introduced, after clicking on "next" a new window appears asking us to select the camera.

Pleora GEV device selection window

Step 3 - Configure the Laser Stripe Detector

At this point, 3DExpress will ask you if you want to start grabbing. We'll click "yes" so that we can configure the laser stripe detection by using a live image.

In case after clicking on "yes" you can not see live image, make sure that the camera is not running in Trigger mode. In case of Pleora (also in CVB and Point Grey) driver, you can view and modify camera parameters by opening a new window.

Opening device config window to disable Trigger mode

After observing the live image, you can select between two laser detector algorithms: COG or Peak detector (add-on)

Configuration of the Laser Stripe Detector. The screen shows a detected laser line and the options to adjust the threshold and regions of interest

At this point you should place the patternZZ under the laser plane, and after focusing the image and adjusting the "threshold" parameter, you can go to the next step

Step 4 - Configure the RangeMap acquisiton

A RangeMap is a set of ordered profiles accumulated. So, in order to generate a RangeMap, the limits to this storage must be defined.

RangeMap configuration step in the 3DExpress wizard

The RangeMap configuration step allows us to determine several limits to the RangeMap acquisition:

  • Frame timeout: After a defined timeout, the RangeMap is finished and the next one starts to be accumulated.
  • Max. profiles: After a defined number of accumulated profiles, the RangeMap is finished and the next RangeMap starts to be generated.
  • Min. profiles: Rangemaps with less than a given number of profiles are discarded
  • Note: Please note that the Presence/Absence is used together with the other limit conditions (timeout and profiles limit). So, in case the user is interested to only use the presence/absence detection, the user should assure that the other two values are big enough.

    Presence/absence of the object (Laser detection top, bottom and minpoints): The user can define conditions to stop accumulating a rangemap when there is no object under the laser line. For this purpose, a minimum of detected points on each profile can be set (minpoints). When this value is greater than 0, a rangemap is started when a profile with more than "minpoints" is detected and the rangemap is finished when a profile withe less detected points than "minpoints" is scanned. Moreover, a smaller rangemap than the ROI can be defined to discard points always present on the image. This is done by means of Laser detection top and bottom.

Step 5 - Calibrating the camera-laser

The next step is to select the metric calibration method, in this case the "Static Metric ZZ".

Static metric calibration

In case that you do not see any profile on the left window, you can click on "Grab on", it can take some time depending on the number of profiles of the rangemap, and the camera framerate. Again make sure that you are working in Free running mode.

As the number of calibration points is not fix on the patternZZ, you should set the corresponding number of inside points in the "Num points:" textbox. In order to help the user to fill the pattern points, you should set the Y, and Z coordinate of the first points, set to corresponding numbers on the "Y Dist" and "Z Dist", and then click on "Fill Points".

"Ydist" and "Zdist" are the metric distance between two consecutive calibration points. If the sign of the Zdist if positive, the second point will have a higher Z coordinate.

Note: The Option "Fill Points" is only valid in case the coordinate system is aligned with the pattern. In a generic case, you should manually set all the pattern points.

In case you have points not belonging to the pattern, you can use the "ROI left" and "ROI right" values to select the calibration ROI.

Finally, after setting the encoder step, you can click on calibrate button.

After calibration, a pop-up will appear indicating the accuracy report. You can also check the calibration results by comparing on the right window the reconstructed point (in black) and the expected reconstruction (in red).

You are know ready to add COPs and ZMap outputs.


Cognex Corporation, the industry leader in machine vision and industrial barcode readers, has acquired AQSense.

We are pleased to announce that as of August 30, 2016, Cognex Corporation, the industry leader in machine vision and industrial barcode readers, has acquired AQSense.

The last-time-buy period for legacy AQSense products expired on October 31, 2016. After this date, legacy AQSense products are no longer available from AQSense/Cognex.

The AQSense team will join Cognex and together we are excited to create and provide new 3D technology that solves automation challenges and helps you Build Your Vision!

For more information on this acquisition, please visit cognex.com.

AQSENSE 3D Services and Customized Solutions

After several years collaborating with our customers, we realized that in lots of cases an standard library it is not enough for complex projects developments. In addition, there are several customers scared to "enter" to the 3D Machine Vision.


In order to guarantee the success of our customers, we decided to offer:

  • Technical Consultancy and feasibility studies
  • Sophisticated 3D simulations
  • Custom designs using tailored libraries
  • Training Programs

More info about our services

Custom designs

Typical cases of custom designs are:

  • Special calibrations (eye2hand, rotative solutions)
  • Cloud of points post-processing
  • Reflections minimization
  • Specific drivers for cameras
Videos of Applications

Success Stories

List of projects done with the AQSENSE collaboration:

Metal and casting industry applications

Thanks to its precision and robustness, SAL3D Tools have been successfully used in several metal and casting applications: from automotive quality control to reverse engineering

Automotive quality control

Engine being scanned by a laser

Security is one of the key points in the automotive industry and, for this reason, it requires strict quality control processes.

Using SAL3D library, engine parts were scanned and compared with their reference CAD models so that errors could be measured and rejected according to a criteria.

Reconstruction of a body car part


Casting quality control

3D reconstructions of a casting object (top right) and defects detection in red (bottom right)

Casting is one of the industries which needs more degree of precision. The more the technology improves the more precision is asked by the costumers.

Quality control must be applied to the 100% of the production and, here, SAL3D have have proven to be a perfect option for inline inspection thanks to its speed and accuracy.

Plane detection for correct measures

Motor engine valves measurement, placed in different planes

Due to the perspective distortion, some measures can not be directly applied to the camera point of view and this have typically been a problem for 2D imaging. Using SAL3D or 3DExpress technologies, a plane is detected, the 3D reconstruction is mathematically tilted to meet this plane and thus, the measures can be correctly applied without perspective.

Valves of a motor engine

Holes measurement on a multiple planes piece

Small details reconstruction

There are some applications where precision is the key point. The advanced Peak Detector algorithm, together with the appropriate hardware, ensures a high resolution on the small details detection and reconstruction, even for metallic objects

Guitar detail imprinted on a 2x1 cm metal piece

1 cent Euro coin reconstruction

Reverse engineering

Reverse engineering is an industrial field with lots of applications, also for the metal industry. By means of SAL3D, several views of an scanned object can be joined to create a full closed 3D mesh.

Several Cloud of Points overlapped

Final .STL reconstruction

Characters recognition

It is quite common to have embossed characters over a metallic surface. If they are to be recognized, 3D technologies is one of the best options, specially where illumination is an issue. By means of SAL3D or 3DExpress, this turbine characters were scanned, aligned and exported to be finally recognized with an OCR technology.

Original turbine

Characters detail

Aligned characters view to be processed by an OCR