EasyManua.ls Logo

Scanlab RTC6 PCIe Board - Enhanced 3 D Correction

Scanlab RTC6 PCIe Board
1004 pages
Print Icon
To Next Page IconTo Next Page
To Next Page IconTo Next Page
To Previous Page IconTo Previous Page
To Previous Page IconTo Previous Page
Loading...
RTC6 boards
Doc. Rev. 1.0.21 en-US
8 Advanced Functions for Scan Head Control and Laser Control
240
innovators for industry
Enhanced 3D Correction
For more information on the actual procedure,
refer to the “Calibrating a 3-Axis Laser Scan
System” Manual, Chapter 3.4 ”Step 4: Stretch
factor correction”.
The image size of 3D scan systems without objectives
or with non-telecentric F-Theta objectives depends on
its distance to the scan head objective (z coordinate).
The Image Field size typically gets stretched or
squeezed linearly with the z value. Therefore,
SCANLAB 3D correction files include stretch
correction factors to compensate for this effect, see
Section ”ct5 Correction File Header”, page 178.
With some objectives, the typical stretching is
combined with a change in the image geometry.
Then additional stretch corrections are necessary
which compensate the image geometry changes
xy position-dependent but linear in z (2D stretch
correction table). The stretch correction values are
meaning the Z gradient for the location deviation at
this point.
Assumption: for any chosen non-zero Z plane, (X, Y)
is the desired position and (X', Y') the measured
position. The corrections
<StretchX>
and
<StretchY>
are then calculated as follows:
<StretchX> = (X–X')/Z
<StretchY> = (Y–Y')/Z
You can then use load_stretch_table to load the
enhanced 3D correction onto the RTC6 PCIe Board
from an ASCII text file and assign it to an already
loaded 3D-correction table. This ASCII text file must
contain corrections for a complete rectangular grid.
The number of gridlines and their spacings can be
freely defined and even differ in X and Y. If the
absolute values of the corrections exceed 0.03125,
then they are clipped to this limit value. The
corrections are bilinearly interpolated for data points
within the specified grid and linearly extrapolated for
data points outside the grid.
Enhanced 3D correction is not active by default after
load_program_file. It becomes active upon loading
a valid table onto the RTC6 PCIe Board. It can be
deactivated by calling load_stretch_table using a
NULL pointer instead of the filename.
For the 2D stretch correction tables, the following
rules apply:
The ASCII text file can contain one or several
tables.
(1)
The 2D stretch correction table must begin with
the line:
[StretchTable<No>]
<No>
represents the table number to be specified
by load_stretch_table.
This is directly followed by a block of data points.
If several tables with the same number exist, then
only data from the first encountered table is read.
The others are ignored.
Reading of the text data terminates upon end of
file or upon a line containing a caption.
All characters to the right of a semicolon are
treated as comments and ignored.
The order of data points is up to you.
The maximum length of a data line is 255
characters.
A data line contains two position coordinates (in
bits, signed integers) and two correction values
(dimensionless, signed floating point numbers,
use the period
(.)
or comma as the decimal
separator), each separated by spaces or tabs:
<Xpos> <Ypos> <StretchX> <StretchY>
If a data point reoccurs, then the most recently
read value is used.
Empty lines or incomplete data lines are invalid
and are ignored.
(1) Even of another type, see table 1, page 153.

Table of Contents