diff --git a/tests/lbpm_morphdrain_pp.cpp b/tests/lbpm_morphdrain_pp.cpp index acc1e325..45b5f53e 100644 --- a/tests/lbpm_morphdrain_pp.cpp +++ b/tests/lbpm_morphdrain_pp.cpp @@ -288,7 +288,7 @@ int main(int argc, char **argv) while (sw_new > SW && Rcrit_new > 0.99){ Rcrit_old = Rcrit_new; - Rcrit_new -= deltaR;// decrease critical radius + Rcrit_new -= deltaR*Rcrit_old;// decrease critical radius sw_old = sw_new; sw_diff_old = sw_diff_new; diff --git a/tests/lbpm_morphopen_pp.cpp b/tests/lbpm_morphopen_pp.cpp index fb77a550..f4c57dd0 100644 --- a/tests/lbpm_morphopen_pp.cpp +++ b/tests/lbpm_morphopen_pp.cpp @@ -61,6 +61,8 @@ int main(int argc, char **argv) //printf("Critical radius %f (voxels)\n",Rcrit); printf("Target saturation %f \n",SW); } + + // } //....................................................................... @@ -347,12 +349,16 @@ int main(int argc, char **argv) int imin,jmin,kmin,imax,jmax,kmax; Rcrit_new = maxdistGlobal; + if (argc>2){ + Rcrit_new = strtod(argv[2],NULL); + if (rank==0) printf("Max. distance =%f, Initial critical radius = %f \n",maxdistGlobal,Rcrit_new); + } while (sw_new > SW) { sw_diff_old = sw_diff_new; sw_old = sw_new; Rcrit_old = Rcrit_new; - Rcrit_new -= deltaR; + Rcrit_new -= deltaR*Rcrit_old; int Window=round(Rcrit_new); if (Window == 0) Window = 1; // If Window = 0 at the begining, after the following process will have sw=1.0 // and sw