#include <stdio.h>
#define n 4096
FILE *fp,*fp1;
char head[72][80];
char head0[72][80];
float a[n*n];
float b[n*n];
char  f1[80];
main(ac,av)
int ac; char *av[];	
{
  int i,ip;
  int frame,expt;
  if(ac<3){ printf("\n\t cobad4k batch_file outfile\n");
            printf("\n\t after by using sht4k!!");
            printf("\n\t add only !!\n\n");
            exit(0);
  }
  fp1=fopen(av[1],"r");
  if(fp1==0){ printf("\nbatch_file not found!\n"); exit(0); }
  ip=0;
l10:
  fgets(f1,80,fp1); if(feof(fp1)!=0)goto l20;
  ip++;
  f1[strlen(f1)-1]=0;
  printf("%d: %s\n",ip,f1);
  fp=fopen(f1,"rb");
  if(ip==1){ fread(head,72,80,fp);
	     fread(a,n,n*4,fp);
	     if(head[2][60]!=32)sscanf(&head[2][65],"%d",&frame); else frame=1;
             i=indexpos(head,"EXPOSURE",72);
             sscanf(&head[i][24],"%d",&expt);
	     swap4(a,n*n*4);
  } else { fread(head0,72,80,fp);
	   fread(b,n,n*4,fp);
	   if(head0[2][60]!=32)sscanf(&head0[2][65],"%d",&i); else i=1;
	   frame+=i;  
           i=indexpos(head0,"EXPOSURE",72);
           sscanf(&head0[i][24],"%d",&i);
	   expt+=i;
	   swap4(b,n*n*4);
    for(i=0;i<n*n;i++)a[i]+=b[i];
  }  
  goto l10;
l20:
  fclose(fp1);
  printf("ftames:%d  total_exp_time: %d\n",frame,expt);
  sprintf(&head[2][59],"frame %4d 4999000",frame); head[2][77]=32;
  i=indexpos(head,"EXPOSURE",72);
  sprintf(&head[i][23],"%7d",expt); head[i][30]=32;
  fp=fopen(av[2],"wb");
  fwrite(head,72,80,fp);
  swap4(a,n*n*4);
  fwrite(a,n,n*4,fp);
  fclose(fp);
  strcpy(f1,"coord9 "); strcat(f1,av[2]); strcat(f1," !");
  printf("wait!  do  %s\n",f1);
  system(f1);
}  
