void LevMarBeadAssistant::FinalComputeAndSetAverageResidual(BeadTracker& my_beads) { avg_resid = 0.0; float beads_counted = 0.0001; for (int ibd=0; ibd < numLBeads; ibd++){ // if this iteration is a region-wide parameter fit, then only process beads // in the sampled sub-group if ( my_beads.isSampled ) { // regional sampling enabled if (my_beads.Sampled(ibd) ) {// && my_beads.BeadIncluded(ibd,skip_beads) ) { avg_resid += residual[ibd]; beads_counted += 1.0f; } } else { // rolling regional groups enabled if (ValidBeadGroup (ibd)) { if (my_beads.BeadIncluded(ibd,skip_beads)) { avg_resid += residual[ibd]; beads_counted += 1.0f; } } } } avg_resid /= beads_counted; avg_resid_state = res_state; }