|
Algorithm 1 Point set registration algorithm |
-
1:
Input: reference point set ; measured point set ; maximum accepted deviation of Euclidean point distances
-
2:
Output: rotation matrix , translation vector representing the rigid transformation from the camera coordinate system to the sample coordinate system
-
3:
-
4:
Compute distance matrices , ; corresponds to the Euclidean distance between the points , and to the distance between , ;
-
5:
▹ Identify candidate points that could be a match:
-
6:
Initialize empty list for candidate points from P that could be a match for the points from Q; only unique points, no double entries;
-
7:
for each point in Q do
-
8:
for each with do
-
9:
if then
-
10:
Add to the list
-
11:
Add to the list
-
12:
end if
-
13:
end for
-
14:
end for
-
15:
▹ Find all matches with candidate points:
-
16:
contains number of matching edges for points and
-
17:
Initialize with zeros
-
18:
for each do
-
19:
for each with in do
-
20:
if then
-
21:
-
22:
Continue with next
-
23:
end if
-
24:
end for
-
25:
end for
-
26:
-
27:
and with the highest values in are matched together
-
28:
Get , with Kabsch algorithm
-
29:
Fine tuning: remove the point pair with the highest distance after registration and check if the overall registration quality improves
-
30:
-
31:
return
|