Exemple #1
0
int eqimg(imtype*im1,imtype*im2) {
   int i1,i2;

   i1=isimage(im1);
   i2=isimage(im2);
   if (!i1 && !i2) return 1;
   if (!i1 || !i2) return 0;
   if (im1->X!=im2->X || im1->Y!=im2->Y || im1->Z!=im2->Z) return 0;
   return 1;
}
Exemple #2
0
void add_sd(imtype*img,imtype*fimg,double m,int*n,double*sd,double mn0,double sd0,double mn) {
   int dx1,dx2,dy1,dy2,dz1,dz2,x,y,z;
   double v;
   float FMIN;

   if (!isimage(img)) return;
   parsecards(fimg,NULL,NULL,NULL,&FMIN,NULL,NULL,NULL,NULL,0,1);
   if (fimg!=&(scal.img)) parsecards(fimg,NULL,NULL,NULL,&FMIN,NULL,NULL,NULL,NULL,0,1);
   getsec(img,datasec,&dx1,&dx2,&dy1,&dy2,&dz1,&dz2);
   for (z=dz1;z<dz2;z++) for (y=dy1;y<dy2;y++) for (x=dx1;x<dx2;x++) if (fimg->data[z][y][x]>FMIN && (fabs((v=img->data[z][y][x]-m*fimg->data[z][y][x])-mn0)<=sd0 || sd0<0)) (*sd)+=(v-mn)*(v-mn);
}
Exemple #3
0
int main(int argc,char**argv) {
   int i,j;
   ftype mask,data;
   float DMIN,DMINe;

   if (argc<3) {
      printf("Usage: %s <mask> <images>\n",*argv);
      printf("  mask image defined such that zero = bad pixel\n");
      return -1;
   }
   readfits(argv[1],&mask,1);
   for (i=2;i<argc;i++) {
      readfits(argv[i],&data,1);
      if (mask.Next!=data.Next || !eqimg(&(mask.img),&(data.img))) {
	 printf("FITS images are not the same size\n");
      }
      else {
	 int sOK=1;
	 parsecards(&data.img,NULL,NULL,NULL,&DMIN,NULL,NULL,NULL,NULL,0,1);
	 if (isimage(&(mask.img))) {
	    applymask(&(mask.img),&(data.img),DMIN);
	 }
	 for (j=0;j<mask.Next;j++) {
	    DMINe=DMIN;
	    if (!eqimg(mask.ext+j,data.ext+j)) {
	       printf("FITS images are not the same size\n");
	       sOK=0;
	    }
	    else if (isimage(mask.ext+j)) {
	       parsecards(data.ext+j,NULL,NULL,NULL,&DMINe,NULL,NULL,NULL,NULL,0,0);
	       applymask(mask.ext+j,data.ext+j,DMINe);
	    }
	 }
	 if (sOK) {
	    writefits(argv[i],&data,1);
	 }
      }
   }
   return 0;
}
static void showobject(int num, int gen)
{
    fz_error error;
    fz_obj *obj;

    if (!xref)
	die(fz_throw("no file specified"));

    error = pdf_loadobject(&obj, xref, num, gen);
    if (error)
	die(error);

    if (isimage(obj))
        saveimage(obj, num, gen);
    else if (isfontdesc(obj))
        savefont(obj, num, gen);

    fz_dropobj(obj);
}
Exemple #5
0
static void showobject(int num)
{
	fz_error error;
	fz_obj *obj;

	if (!xref)
		die(fz_error_make(ctx, "no file specified"));

	error = pdf_load_object(&obj, xref, num, 0);
	if (error)
		die(error);

	if (isimage(obj))
		saveimage(num);
	else if (isfontdesc(obj))
		savefont(obj, num);

	fz_drop_obj(ctx, obj);
}
Exemple #6
0
static void showobject(int num)
{
	pdf_obj *obj;

	if (!doc)
		fz_throw(ctx, FZ_ERROR_GENERIC, "no file specified");

	fz_try(ctx)
	{
		obj = pdf_load_object(ctx, doc, num);

		if (isimage(obj))
			saveimage(num);
		else if (isfontdesc(obj))
			savefont(obj, num);

		pdf_drop_obj(ctx, obj);
	}
	fz_catch(ctx)
	{
		fz_warn(ctx, "ignoring object %d", num);
	}
}