示例#1
0
static double
min_region_prior(GCA *gca, int xp, int yp, int zp, int wsize, int label)
{
  int       whalf, xi, yi, zi, xk, yk, zk ;
  double    min_prior, prior ;
  GCA_PRIOR *gcap ;

  gcap = &gca->priors[xp][yp][zp] ;
  min_prior = getPrior(gcap, label) ;
  whalf = (wsize-1)/(gca->prior_spacing*2) ;
  for (xi = -whalf ; xi <= whalf ; xi++)
  {
    xk = xp+xi ;
    if (xk < 0 || xk >= gca->prior_width)
      continue ;
    for (yi = -whalf ; yi <= whalf ; yi++)
    {
      yk = yp+yi ;
      if (yk < 0 || yk >= gca->prior_height)
        continue ;
      for (zi = -whalf ; zi <= whalf ; zi++)
      {
        zk = zp+zi ;
        if (zk < 0 || zk >= gca->prior_depth)
          continue ;
        gcap = &gca->priors[xk][yk][zk] ;
        prior = getPrior(gcap, label) ;
        if (prior < min_prior)
          min_prior = prior ;
      }
    }
  }

  return(min_prior) ;
}
//------------------------------------------------------------------
ofUTF8Ptr ofUTF8::prior(ofUTF8Ptr iter, ofUTF8Ptr end) {
    getPrior(iter, end); return iter;
}