| Algorithm 2 The pseudo-code of refinement |
|
Input: initial clusters partition the normal of each point , the normals of orientation planes , the number of orientation planes numPlanes, the number of points numPoints the maximum number of iterations maxNumIters the impact factor λ the number of neighbor voxels used for the search nnFilledVoxels voxel list V Output: updated clusters For to numPoints-1 do For to numPlanes-1 do scoreNormal[i][j] = End For End For For to maxNumIters -1 do For to -1 do voxScoreSmooth[][ ] = 0 For to -1 do voxScoreSmooth[][]++//calculate the voxel smooth score End For End For For to numPoints-1 do For to numPlanes-1 do //the voxel at which the i-point is located Find the neighboring voxels and store them in nnFilledVoxels scoreSmooth[i][j] = 0 For to nnFilledVoxels.size-1 do scoreSmooth[i][j] += voxScoreSmooth[nnFilledVoxels[n]][j] End For score[j]= scoreNormal[i][j] + •scoreSmooth[i][j] End For Cluster the point to j which related score is the highest End For End For |