void fastnc_detector<A>::new_particles(F& feature, PS& pset, const cpu&) { SCOPE_PROF(fastnc_new_particles_detector); memset(new_points_, 0); typename PS::kernel_type pset_ = pset; mt_apply2d(sizeof(i_float1), saliency_.domain() - border(8), [this, &feature, &pset_] (i_int2 p) { if (pset_.has(p)) return; if (saliency_(p) == 0) return; for (int i = 0; i < 8; i++) { i_int2 n(p + i_int2(c8_h[i])); if (saliency_(p) < saliency_(n) || pset_.has(n)) return; } new_points_(p) = p; }, cpu()); st_apply2d(sizeof(i_float1), saliency_.domain() - border(8), [this, &feature, &pset] (i_int2 p) { if (new_points_(p) != i_short2(0,0)) pset.add(p, feature(p)); }, cpu()); }
void dense_detector::new_particles(const F& feature, PS& pset_) { SCOPE_PROF(mdfl_new_particles_detector); typename PS::kernel_type pset = pset_; st_apply2d(sizeof(i_float1), feature.domain() - border(0), [this, &feature, &pset, &pset_] (i_int2 p) { if (!pset.has(p)) pset_.add(p, feature(p)); }, cpu()); }
int main() { Person person[5]={ {"aa",19},{"bb",20},{"cc",23},{"dd",21},{"ee",25} }; PS ps; for(int i=0;i<5;++i){ ps.add(person+i); } while(1){ ps->show(); //ps.operator->()->show(); if(!(++ps))break; } return 0; }