#include "focas1.h" /* MASK -- Make a mask image from a catalog. */ mask (catalog, image, objval, skyval, grow) char catalog[]; char image[]; float *objval; float *skyval; float *grow; { short i, j, k, n, nc, nl; struct imiso imiso; struct liso *liso; short *xla, *xra; PIXEL *data; char *malloc(); cfd = catopen (catalog, 2); afd = fndar (sp.arfl, 0); pfd = fndfld (sp.ptfl, 0); imclose (pfd); nc = pthdr.naxis1; nl = pthdr.naxis2; data = (PIXEL *) malloc (nc * sizeof (PIXEL)); imiso.x0 = 0; imiso.y0 = 0; imiso.nx = nc; imiso.ny = nl; imisophotes (cfd, afd, &imiso, *grow); pthdr.maxpxl = *objval > *skyval ? *objval : *skyval; pthdr.minpxl = *objval < *skyval ? *objval : *skyval; pfd = imopen (image, &pthdr, 1); for (i = 0; i < nl; i++) { for (j = 0; j < nc; j++) data[j] = *skyval; liso = &imiso.liso[i]; xla = liso->xla; xra = liso->xra; for (k = 0; k < liso->nused; k++) { for (j = xla[k]; j <= xra[k]; j++) data[j] = *objval; } if (xla != 0) { free (xla); free (xra); } wtimage (pfd, 0, i, nc, &pthdr, data); } free (imiso.liso); free (data); fclose (afd); fclose (cfd); imclose (pfd); }