70 np = ap->parent[ip].pnop;
71 ib = ap->parent[ip].first;
73 for (i = 0; i < np; i++) {
74 nn = ap->plessey[ib].y*ap->lsiz + ap->plessey[ib].x;
75 mflag[nn] = MF_POSSIBLEOBJ;
81 ib = ap->parent[ip].first;
82 for(i = ap->ibstack - ap->parent[ip].pnop; i < ap->ibstack-1; i++) {
89 ap->bstack[ap->ibstack-1] = ib;
90 ap->ibstack -= ap->parent[ip].pnop;
94 ap->pstack[--ap->ipstack] = ip;
98 ap->parent[ip].pnop = -1;
99 ap->parent[ip].pnbp = -1;
136 for (ip = 1; ip <= ap->maxip; ip++) {
137 if(ap->parent[ip].pnop != -1) {
138 if(ap->parent[ip].pnop == ap->parent[ip].growing) {
142 if((ap->parent[ip].pnop >= ap->ipnop &&
143 ap->parent[ip].touch == 0) &&
144 (ap->parent[ip].pnbp < (ap->parent[ip].pnop)/2)) {
151 if (status != CASU_OK) {
161 ap->parent[ip].growing = ap->parent[ip].pnop;
202 for (ip = 1; ip <= ap->maxip; ip++) {
203 if(ap->parent[ip].pnop != -1) {
204 if(ap->parent[ip].pnop > big) {
205 big = ap->parent[ip].pnop;
215 for (ip = 0; ip <= ap->lsiz; ip++)
216 if(ap->lastline[ip] == ipbig) ap->lastline[ip] = 0;
252 unsigned char *mflag;
257 np = ap->parent[ip].pnop;
259 ap->plarray = cpl_realloc(ap->plarray,np*
sizeof(plstruct));
265 ib = ap->parent[ip].first;
268 for (i = 0; i < np; i++) {
269 ap->plarray[i].x = ap->plessey[ib].x + 1;
270 ap->plarray[i].y = ap->plessey[ib].y + 1;
271 ap->plarray[i].z = ap->plessey[ib].z;
272 ap->plarray[i].zsm = ap->plessey[ib].zsm;
273 nn = ap->plessey[ib].y*ap->lsiz + ap->plessey[ib].x;
274 mflag[nn] = MF_OBJPIX;
void imcore_apfu(ap_t *ap)
Get rid of the largest contributor in an ap structure.
void imcore_terminate(ap_t *ap, int cattype, float gain, int *nobjects, cpl_table *tab)
Check for objects that have terminated.
void imcore_extract_data(ap_t *ap, int ip)
Put data into the Plessey array for an object.
void imcore_restack(ap_t *ap, int ip)
Free information for an object from the ap structure.
int imcore_process_results(ap_t *ap, int cattype, float gain, int *nobjects, cpl_table *tab)
Process results.