Exemple #1
0
gboolean try_open_file(gchar *filename, IMAGE *ima){
	if(!readfits(filename, ima)){
		g_err(_("Can't read fits file"));
		ima->data = NULL;
		return FALSE;
	}
	return TRUE;
}
Exemple #2
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;
}