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
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
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
NULL
pointer instead of the filename.
RTC6 boards
Doc. Rev. 1.0.21 en-US
8 Advanced Functions for Scan Head Control and Laser Control
For the 2D stretch correction tables, the following
rules apply:
• The ASCII text file can contain one or several
tables.
• 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.
178.
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
to load the
read value is used.
• Empty lines or incomplete data lines are invalid
and are ignored.
using a
(1) Even of another type, see table 1,
(1)
page
153.
240
Need help?
Do you have a question about the RTC6 PCIe Board and is the answer not in the manual?
Questions and answers