Changeset 21
- Timestamp:
- Jan 19, 2003, 7:26:08 AM (24 years ago)
- Location:
- trunk/Ohana/src/imregister/detrend
- Files:
-
- 7 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Ohana/src/imregister/detrend/args.detsearch.c
r12 r21 85 85 } 86 86 87 /* image mode (mef, splt, etc) */ 88 base.ModeSelect = FALSE; 89 base.Mode = M_NONE; 90 if (N = get_argument (argc, argv, "-mode")) { 91 remove_argument (N, &argc, argv); 92 for (i = 0; (i < NMODE) && (base.Mode == M_NONE); i++) { 93 if (!strncasecmp (argv[N], modename[i], strlen(argv[N]))) base.Mode = i; 94 } 95 if (base.Mode == M_NONE) { 96 fprintf (stderr, "ERROR: invalid image mode %s\n", argv[N]); 97 exit (1); 98 } 99 remove_argument (N, &argc, argv); 100 base.ModeSelect = TRUE; 101 } 102 87 103 /* define time / ranges */ 88 104 tstart = tstop = (unsigned long *) NULL; … … 259 275 if (!strcasecmp (output.ModifyEntry, "label")) goto valid_entry; 260 276 if (!strcasecmp (output.ModifyEntry, "order")) goto valid_entry; 277 if (!strcasecmp (output.ModifyEntry, "mode")) goto valid_entry; 261 278 if (!strcasecmp (output.ModifyEntry, "tstop")) goto valid_entry; 262 279 if (!strcasecmp (output.ModifyEntry, "tstart")) goto valid_entry; -
trunk/Ohana/src/imregister/detrend/criteria.c
r12 r21 14 14 for (i = 0; (i < Ncriteria) && (match.state == MATCH_NONE); i++) { 15 15 16 /*********** fix this *****/ 17 if (criteria[i].CCDSelect && (image[0].ccd != criteria[i].CCD)) continue; 16 if (criteria[i].CCDSelect) { 17 if (image[0].mode == M_MODES) goto valid_ccd; 18 if (image[0].mode == M_MODES) goto valid_ccd; 19 if (image[0].ccd == criteria[i].CCD) goto valid_ccd; 20 continue; 21 } 22 valid_ccd: 23 18 24 if (criteria[i].TypeSelect && (image[0].type != criteria[i].Type)) continue; 25 if (criteria[i].ModeSelect && (image[0].mode != criteria[i].Mode)) continue; 19 26 if (criteria[i].FilterSelect && (image[0].filter != criteria[i].Filter)) continue; 20 27 -
trunk/Ohana/src/imregister/detrend/define.c
r3 r21 23 23 fits_define_bintable_column (theader, "J", "VERSION", "image version number", "", 1.0, 0.0); 24 24 fits_define_bintable_column (theader, "J", "ORDER", "selection order", "", 1.0, 0.0); 25 fits_define_bintable_column (theader, "60A", "RESERVED", "space for additions", "photcode", 1.0, 0.0); 25 fits_define_bintable_column (theader, "A", "MODE", "image mode", "", 1.0, 0.0); 26 fits_define_bintable_column (theader, "59A", "RESERVED", "space for additions", "", 1.0, 0.0); 26 27 fits_define_bintable_column (theader, "64A", "LABEL", "data label", "", 1.0, 0.0); 27 28 fits_define_bintable_column (theader, "256A", "PATH", "filename in db", "", 1.0, 0.0); -
trunk/Ohana/src/imregister/detrend/entry.c
r3 r21 18 18 newdata.exptime = descriptor.Exptime; 19 19 newdata.Norder = descriptor.order; 20 bzero (newdata.dummy, 60); 20 newdata.mode = descriptor.mode; 21 bzero (newdata.dummy, 59); 21 22 snprintf (newdata.label, 64, "%s", descriptor.label); 22 23 -
trunk/Ohana/src/imregister/detrend/imdef.c
r10 r21 4 4 int DefineImage (char *filename, Descriptor *descriptor) { 5 5 6 int i ;6 int i, Extend, Nextend; 7 7 char line[512]; 8 8 Header header; … … 21 21 } 22 22 for (i = 0; i < NTYPE; i++) { 23 if (!str ncasecmp (line, typename[i], strlen(typename[i]))) {23 if (!strcasecmp (line, typename[i])) { 24 24 descriptor[0].type = i; 25 25 } … … 44 44 } 45 45 46 /* modes: a special case */ 47 if (descriptor[0].type == T_MODES) { 48 descriptor[0].mode = M_MODES; 49 descriptor[0].CCD = Nccd; 50 descriptor[0].CCDSelect = TRUE; 51 } 52 53 /* identify MODE (MEF / SPLIT) */ 54 descriptor[0].mode = MODE_SPLIT; 55 Extend = FALSE; 56 fits_scan (&header, "EXTEND", "%t", 1, &Extend); 57 if (Extend) { 58 descriptor[0].mode = M_MEF; 59 descriptor[0].CCD = Nccd; 60 descriptor[0].CCDSelect = TRUE; 61 fits_scan (&header, "NEXTEND", "%d", 1, &Nextend); 62 if (Nextend != Nccd) { 63 fprintf (stderr, "warning: NEXTEND != Nccd (%d, %d)\n", Nextend, Nccd); 64 } 65 } 66 46 67 /* now identify CCD number */ 47 68 if (!descriptor[0].CCDSelect) { 48 if (descriptor[0].type != T_MODES) { 49 char ID[64]; 69 char ID[64]; 50 70 51 descriptor[0].CCD = -1; 52 if (!fits_scan (&header, CCDnumKeyword, "%s", 1, ID)) { 53 fprintf (stderr, "ERROR: failure to read %s from header\n", CCDnumKeyword); 54 exit (1); 71 descriptor[0].CCD = -1; 72 if (!fits_scan (&header, CCDnumKeyword, "%s", 1, ID)) { 73 fprintf (stderr, "ERROR: failure to read %s from header\n", CCDnumKeyword); 74 exit (1); 75 } 76 for (i = 0; (i < Nccd) && (descriptor[0].CCD == -1); i++) { 77 if (strnumcmp (ID, ccds[i])) { 78 descriptor[0].CCD = i; 55 79 } 56 for (i = 0; (i < Nccd) && (descriptor[0].CCD == -1); i++) {57 if (strnumcmp (ID, ccds[i])) {58 descriptor[0].CCD = i;59 }60 }61 if (descriptor[0].CCD == -1) {62 fprintf (stderr, "warning: ccd id not found\n");63 descriptor[0].CCD = 0;64 }65 descriptor[0].CCDSelect = TRUE;66 } else {67 descriptor[0].CCD = Nccd;68 80 } 81 if (descriptor[0].CCD == -1) { 82 fprintf (stderr, "warning: ccd id not found\n"); 83 descriptor[0].CCD = 0; 84 } 85 descriptor[0].CCDSelect = TRUE; 69 86 } 70 87 -
trunk/Ohana/src/imregister/detrend/modify.c
r3 r21 4 4 int ModifySubset (Match *match, int Nmatch) { 5 5 6 int i, j, Nimage ;6 int i, j, Nimage, value; 7 7 int *list; 8 8 DetReg *image; … … 10 10 image = get_images (&Nimage); 11 11 ALLOCATE (list, int, Nimage); 12 if (output.ModifyEntry, "mode") { 13 for (i = 0; i < NMODE; i++) { 14 if (!strncasecmp (output.ModifyValue, modename[i], strlen(modename[i]))) { 15 value = i; 16 goto valid_mode; 17 } 18 } 19 fprintf (stderr, "ERROR: invalid image mode %s\n", output.ModifyValue); 20 exit (1); 21 } 22 if (!strcasecmp (output.ModifyEntry, "order")) { 23 value = atoi (output.ModifyValue); 24 } 25 valid_mode: 12 26 13 27 /* list matched images */ … … 20 34 } 21 35 if (!strcasecmp (output.ModifyEntry, "order")) { 22 image[i].Norder = atoi (output.ModifyValue); 36 image[i].Norder = value; 37 } 38 if (!strcasecmp (output.ModifyEntry, "mode")) { 39 image[i].mode = value; 23 40 } 24 41 if (!strcasecmp (output.ModifyEntry, "tstart")) { … … 26 43 } 27 44 if (!strcasecmp (output.ModifyEntry, "tstop")) { 28 image[i].tstop = output.TimeValue;45 image[i].tstop = output.TimeValue; 29 46 } 30 47 } -
trunk/Ohana/src/imregister/detrend/output.c
r14 r21 55 55 DetReg *newdata; 56 56 FILE *f; 57 char *startstr, *stopstr, *regstr, *line, key[33] ;58 char *filtstr, *typestr, * ccdstr, *datestr, *p;57 char *startstr, *stopstr, *regstr, *line, key[33], ccdinfo[16]; 58 char *filtstr, *typestr, *modestr, *ccdstr, *datestr, *p; 59 59 int i; 60 60 unsigned long tsecond; … … 84 84 fits_define_table_column (&theader, "A10", "IMAGETYP", "detrend type", ""); 85 85 fits_define_table_column (&theader, "A10", "FILTER", "filter name", ""); 86 fits_define_table_column (&theader, "A7", "CCDID", "ccd name", ""); 86 fits_define_table_column (&theader, "A7", "CCDINFO", "ccd information", ""); 87 fits_define_table_column (&theader, "A7", "MODE", "data format mode", ""); 87 88 fits_define_table_column (&theader, "I3", "VERSION", "image version number", ""); 88 89 fits_define_table_column (&theader, "I3", "ORDER", "selection order", ""); … … 98 99 fits_modify (&theader, "TNULL6", "%s", 1, "NULL"); /* IMAGETYP */ 99 100 fits_modify (&theader, "TNULL7", "%s", 1, "NULL"); /* FILTER */ 100 fits_modify (&theader, "TNULL8", "%s", 1, "NULL"); /* CCDID */ 101 fits_modify (&theader, "TNULL9", "%s", 1, "-1"); /* VERSION */ 102 fits_modify (&theader, "TNULL10", "%s", 1, "-1"); /* ORDER */ 103 fits_modify (&theader, "TNULL11", "%s", 1, "NULL"); /* LABEL */ 104 fits_modify (&theader, "TNULL12", "%s", 1, "NULL"); /* PATH */ 101 fits_modify (&theader, "TNULL8", "%s", 1, "NULL"); /* CCDINFO */ 102 fits_modify (&theader, "TNULL9", "%s", 1, "NULL"); /* MODE */ 103 fits_modify (&theader, "TNULL10", "%s", 1, "-1"); /* VERSION */ 104 fits_modify (&theader, "TNULL11", "%s", 1, "-1"); /* ORDER */ 105 fits_modify (&theader, "TNULL12", "%s", 1, "NULL"); /* LABEL */ 106 fits_modify (&theader, "TNULL13", "%s", 1, "NULL"); /* PATH */ 105 107 106 108 fits_modify (&theader, "TNVAL1", "%s", 1, "NA"); /* KEY */ … … 111 113 fits_modify (&theader, "TNVAL6", "%s", 1, "NA"); /* IMAGETYP */ 112 114 fits_modify (&theader, "TNVAL7", "%s", 1, "NA"); /* FILTER */ 113 fits_modify (&theader, "TNVAL8", "%s", 1, "NA"); /* CCDID */ 114 fits_modify (&theader, "TNVAL9", "%s", 1, "-2"); /* VERSION */ 115 fits_modify (&theader, "TNVAL10", "%s", 1, "-2"); /* ORDER */ 116 fits_modify (&theader, "TNVAL11", "%s", 1, "NA"); /* LABEL */ 117 fits_modify (&theader, "TNVAL12", "%s", 1, "NA"); /* PATH */ 115 fits_modify (&theader, "TNVAL8", "%s", 1, "NA"); /* CCDINFO */ 116 fits_modify (&theader, "TNVAL9", "%s", 1, "NA"); /* MODE */ 117 fits_modify (&theader, "TNVAL10", "%s", 1, "-2"); /* VERSION */ 118 fits_modify (&theader, "TNVAL11", "%s", 1, "-2"); /* ORDER */ 119 fits_modify (&theader, "TNVAL12", "%s", 1, "NA"); /* LABEL */ 120 fits_modify (&theader, "TNVAL13", "%s", 1, "NA"); /* PATH */ 118 121 119 122 /* create table, add data values */ … … 139 142 regstr = sec_to_date (newdata[0].treg); 140 143 typestr = typename[newdata[0].type]; 144 modestr = modename[newdata[0].mode]; 141 145 filtstr = filterhash[newdata[0].filter]; 142 ccdstr = ccds[newdata[0].ccd]; 146 147 if (newdata[0].mode == M_SPLIT) { 148 ccdstr = ccds[newdata[0].ccd]; 149 } else { 150 sprintf (ccdinfo, "%-3d", newdata[0].ccd); 151 ccdstr = ccdinfo; 152 } 143 153 144 154 line = fits_table_print (&table, key, startstr, stopstr, regstr, 145 newdata[0].exptime, typestr, filtstr, ccdstr, 155 newdata[0].exptime, typestr, filtstr, ccdstr, modestr, 146 156 newdata[0].Nentry, newdata[0].Norder, 147 157 newdata[0].label, newdata[0].filename); … … 171 181 172 182 char *dBPath, *typestr, *filtstr; 173 char *timestr; 174 int i, j; 175 183 char *timestr, *modestr, *ccdstr, ccdinfo[16], ccdformat[16]; 184 int i, j, Nc; 185 186 Nc = strlen (ccds[0]); 187 sprintf (ccdformat, "%%%dd", Nc); 176 188 dBPath = get_dBPath (); 177 189 … … 195 207 196 208 typestr = typename[MIN (MAX (detdata[i].type, 0), NTYPE - 1)]; 209 modestr = modename[MIN (MAX (detdata[i].mode, 0), NMODE - 1)]; 197 210 filtstr = filterhash[MIN (MAX (detdata[i].filter, 0), NFILTER - 1)]; 211 212 if (detdata[i].mode == M_SPLIT) { 213 ccdstr = ccds[detdata[i].ccd]; 214 } else { 215 sprintf (ccdinfo, ccdformat, detdata[i].ccd); 216 ccdstr = ccdinfo; 217 } 198 218 199 219 /* output mode (Select vs List) */ … … 201 221 fprintf (stdout, "%s/%s\n", dBPath, detdata[i].filename); 202 222 } else { 203 fprintf (stdout, "%-40s = %19s %7s %6s % 02d%2d %2d %6.1f %20s\n",204 detdata[i].filename, timestr, typestr, filtstr, detdata[i].ccd,223 fprintf (stdout, "%-40s = %19s %7s %6s %6s %s %2d %2d %6.1f %20s\n", 224 detdata[i].filename, timestr, modestr, typestr, filtstr, ccdstr, 205 225 detdata[i].Nentry, detdata[i].Norder, detdata[i].exptime, detdata[i].label); 206 226 }
Note:
See TracChangeset
for help on using the changeset viewer.
