#include <stdio.h>
FILE *fp1,*fp2,*fp3;
char a[160];
main(ac,av)
int ac; char *av[];
{
  int i,j,k;
  float x,y;
  char f1[60],f2[60],f3[60],f4[60],head[72][80];
  float rdno,gain,x1,x2,x3,x4;
  if(ac<2){ printf("\n\t ********ch test.cat uedo.coo ******\n");
            printf("\n\tUsage: chbercoo uedo\n");
            exit(0);
          }
  strcpy(f1,av[1]);
  k=nindex(f1,"."); if(k>0)f1[k]=0;
  strcpy(f2,"test.cat");  strcpy(f3,f1); strcat(f3,".coo"); 
                          strcpy(f4,f1); strcat(f4,".fit");
  fp2=fopen(f2,"r"); if(fp2==0){ printf("%s not found!\n",f2); exit(0); }
  fp3=fopen(f3,"w");
  fp1=fopen(f4,"rb"); fread(head,72,80,fp1); fclose(fp1);
  k=indexpos(head,"RDNOCAL ",72);
  sscanf(&head[k][9],"%f %f %f %f",&x1,&x2,&x3,&x4);
  rdno=(x1+x2+x3+x4)/4;
  k=indexpos(head,"GAINCAL ",72);
  sscanf(&head[k][9],"%f %f %f %f",&x1,&x2,&x3,&x4);
  gain=(x1+x2+x3+x4)/4;
  fprintf(fp3," NL   NX   NY  LOWBAD HIGHBAD  THRESH");
  fprintf(fp3,"     AP1  PH/ADU  RNOISE    FRAD\n");
  fprintf(fp3,"  1 4096 4032    24.9 60000.0   22.76   10.00");
  fprintf(fp3,"%8.2f%8.2f    10.00\n\n",gain,rdno);
  k=0;
l10:
  fgets(a,160,fp2); if(feof(fp2))goto l20;
  if(a[0]=='#')goto l10;
  sscanf(&a[67],"%f %f",&x,&y);
  sscanf(a,"%d",&j);
  if(x<10 || x>4086)goto l10;
  if(y<10 || y>4022)goto l10;
  fprintf(fp3,"%5d %9.3f %9.3f\n",j,x,y);
  k++;
  goto l10; 
l20:
  fclose(fp3);
  printf("%s produced!\n",f3);
  printf("all: %d\n",k);
  strcpy(a,"cp "); strcat(a,f3); strcat(a," test.coo");
  printf("%s\n",a);
  system(a);
}
