Input: The structure in external storage of FMRH. |
Output: The set of cluster . |
Description: This algorithm generates the set of cluster |
by traversing the structure of FMRH with depth-first order, |
according to the relationship of static error and threshold. |
(1) Initialization: |
(1.1) According to Definition 1, set |
, |
and make |
|
. |
(1.2) Clear the clusters in aggregation . |
(2) Recall the function of Traverse_FMRH (FMRH, , 0). |
(3) Generate the index file of clusters, and save the index of data block for each cluster. |
(4) The end. |
Traverse_FMRH (FMRH, current_Block, level_S) |
Function Description: Load static error of data blocks in |
FMRH, and decide which cluster it belongs to. |
Parameter Description: FMRH is a multi-resolution |
level of structure based on features. The parameter |
current_Block is the current data block. The parameter |
level_S is the index of current data block in the level. |
(1) Load the static error of current_Block from FMRH as current_Block.CovSE. |
(2) Decide which cluster current_Block belongs to: |
(2.1) Construct intervals according to error |
thresholds . |
(2.2) Each threshold interval corresponds a cluster from to : |
(2.2.1) Decide the size of current_Block.CovSE, if it meet two constraints: |
① ; |
② add data block current_Block into the cluster , |
if there is no ancestor data block of current_Block |
including in the cluster . |
(2.2.2) When current_Block.leaf is false, then, get four data |
blocks in the next level |
from current_Block in FMRH, and recall the function of |
DeepTraverse_FMRH(FMRH, , level_S + 1). |
(3) The end. |