
APPENDIX F: DUAL TWO POINT CALIBRATION METHODOLOGY
H
D
L
-
64
E
S2
and
S
2
.1
U
s
e
r
’
s
M
a
nu
a
’
Intensity Compensation vs Distance
Intensity compensation is done in the software for different channels by changing a parameter in the calibration window until the
measurement gets to a uniform intensity for a reference target.
(
focalDistance
)
2
1-
oca
Offset = 256
13100
distance
)
2
intensityVal
=
intensityVal
+ K | focalOffset - 256 (
1-
65535
Here K is the slope from the calibration data. Intensity
gets
to
its
maximum
at
the
focal
distance
for
different
channels and from
its calibration data.
Calibration
indow
The following new intensity parameters have been added in the db.xml calibration file
• focal distance: At this distance, the intensity goes to max. The focal distance is different from laser to laser. On the upper block,
it averages 1500cm. On the lower block, it averages 800cm.
• focal slope: This parameter controls intensity compensation. Min and Max Intensity are used to scale and offset intensity.
Intensity Value Corrected by Distance Code
for (guint i=0; i< VLS_LASER_PER_FlRlNG; i++) {
guit laser = i + base;
if (!db—>getEnabled(laser))
continue;
bool intensity =db—>getlntensity(laser); if
(!intensity: { glColor3fv(db—
>getDisplayColor(laser).rgb);
} else {
guchar minlntensity = 0, maxlntensity = 0;
float intensityScale = 0;
minlntensity = db—>getMinlntensity(laser);
maxlntensity = db—>getMaxlntensity(laser);
//Get intensity scale
intensityScale = (float)(maxlntensity — minlntensity);
// Get
guchar
firing “i” intensity
// Get
intensityVal = it—>getPoint(i)—
intensity;
firing “i” distance, here unit is 2mm
distance = it—>getPoint(i)—>distance;
float
// Calculate offset according calibration
float focaloffset= 256*(/—db—>getFocalDistance(laser)//3/00)*(/—db—
>getFocalDistance(laser)//3/00);
// get slope from calibration
float focalslope = db—>getFocalSlope(laser);
[
32
]
Comentarios a estos manuales