st=>start: Start
op1=>operation: **初始化:**
* pSumWeight初始化,中轴线点初始化为0,其他点为0
* pUpdate初始化, 搜索图
* pathConnect初始化, 路径关系图,初始化为当前点
* offPoint初始化,邻域表示数组,26个方向 3*3*3-1
* myPQ,minNode定义
* pLM计算, 抛物线拟合的求解参数的线性方程组的系数矩阵
condWhile=>condition: count小于itern1&&!stopPropagation
opWhile1=>operation: 遍历邻域点
condWhile2=>condition: 边界判断 && 亮度判断 && 是否搜索过
opWhile4=>operation: 1. 计算该邻域点的凸性和对称性
2. 计算该邻域点的对称凸性
3. 将各个方向上的对称凸性进行冒泡排序,并取前6小作为最终的势能
4. 考虑邻域范围内像素特征,计算得到最终的势能
5. 计算累计势能
condWhile5=>condition: 累计势能是否小于旧值?
opWhile6=>operation: 1. 更新累计势能和路径关系
2. 将该邻域点插入到最优队列中去
condWhile7=>condition: 遍历邻域点是否结束
opWhile8=>operation: 停止条件判断:
1. 向后回溯bkiterncl步
2. 计算搜索速度
3. 规格化 & 平均 搜索速度
condWhile9=>condition: 停止条件判断,是否停止?(NSmin比较,累计符合点数比较)
opWhile10=>operation: stopPropagation=true
opWhile11=>operation: 标记当前搜索点,并更新为下一个搜索点
e=>end: return
st->op1->condWhile
condWhile(yes)->opWhile1->condWhile2
condWhile(no)->e
opWhile1->condWhile2
condWhile2(no)->opWhile1
condWhile2(yes)->opWhile4
opWhile4->condWhile5
condWhile5(no)->condWhile7
condWhile5(yes)->opWhile6->condWhile7
condWhile7(yes)->opWhile8->condWhile9
condWhile7(no)->condWhile2
condWhile9(yes)->opWhile10->opWhile11
condWhile9(no)->opWhile11->condWhile