Пример #1
0
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;
}