#include #include /* This program takes a 2mass-format strip and spits out fits files */ /* Usage mkfits 2massfile 10 20 x */ /* Which would make fits files x010...x039.fit (i.e. 20 files starting at #10 */ void main(argc,argv) char **argv; int argc; { int i=0,j=0,k=0; int iskip,bskip,inum,size = 65536; short buffer[65536],frame[65536]; char outfil[80],ext[4],fitshead[2880]; FILE *infile,*fits,*outfile; if (argc<4) {printf("\7\n Usage: mkfits 2massraw frames_to_skip frames_to_make output_file_name\n\n"); exit(1); } /* load fits header */ /* fits = fopen("/home/skrutski/tools/fits.200","r"); fread(fitshead,sizeof(short),1440,fits); */ for(i=0;i<1440;i++){fitshead[i]=0.;} strncpy(&fitshead[0],"SIMPLE = T / STANDARD FITS ",80); strncpy(&fitshead[80],"BITPIX = 16 / BITS/PIXEL ",80); strncpy(&fitshead[160],"NAXIS = 2 / NUMBER OF AXES ",80); strncpy(&fitshead[240],"NAXIS1 = 256 / NUMBER OF COLUMNS ",80); strncpy(&fitshead[320],"NAXIS2 = 256 / NUMBER OF ROWS ",80); strncpy(&fitshead[400],"BSCALE = 1.0000000E+00 / PHYSICAL = BSCALE * DATA + BZERO ",80); strncpy(&fitshead[480],"BZERO = 0.0000000E+00 / ",80); strncpy(&fitshead[560],"ORIGIN = 'mk utilities' / ",80); strncpy(&fitshead[640],"INSTRUME= '2MASS Survcam' / ",80); strncpy(&fitshead[720],"FRAME = 1 / ",80); strncpy(&fitshead[800],"OBJECT = 'Unknown' / ",80); strncpy(&fitshead[880],"GAIN = 10.5 / Nominal gain (e-/ADU) ",80); strncpy(&fitshead[960],"END ",80); infile=fopen(argv[1],"r"); iskip = atoi(argv[2]); inum = atoi(argv[3]); bskip = iskip * size * 2 * 2; /* skipping pairs of reads */ fseek(infile,bskip,0); printf("Writing fits files:\n"); for (j=0;j