|
Algorithm 1: Estimate and optimize the corresponding points. |
|
input: ModelS and DataT with normals of size (N is the scale of Model/Data) |
|
output: 2 pairs of corresponding points , , and
|
|
1
|
extract normals and from S and T
|
|
2
|
; ; |
// see Equations (7) & (8)
|
|
3
|
forto 12 do
|
|
4
|
; |
// maximum intensity and the index
|
|
5
|
|
|
6
|
; ; |
// normals of the max
|
|
7
|
; ; |
// see Equation (6)
|
|
8
|
construct Struct
|
|
9
|
end for
|
|
10
|
sortrows (; ) sortrows (); |
// descending sort
|
|
11
|
|
|
12
|
|
|
13
|
while
do
|
// see Eqution (10)
|
|
14
|
|
|
15
|
|
|
16
|
end while
|
|
17
|
|
|
18
|
forto 12 do
|
|
19
|
|
|
20
|
if
then
|
// see Equation (12)
|
|
21
|
|
|
22
|
break; |
|
23
|
end if
|
|
24
|
end for
|
|
25
|
let then calculate ; |
// see Equation (13)
|
|
26
|
|
|
27
|
create in plane A then
|
|
28
|
; |
// project normals to A
|
|
29
|
calculate ; |
// see Equation (14)
|
|
30
|
mesh region into 100 grids; |
|
31
|
search with the peak intensity in meshed grids; |
|
32
|
calculate inverse projection point
|
|
33
|
calculate , ,
|