- Location:
- /trunk/Ohana/src
- Files:
-
- 1 deleted
- 17 edited
-
imregister/base/ConfigFilter.c (modified) (2 diffs)
-
imregister/base/ConfigInit.c (modified) (1 diff)
-
imregister/detrend/args.detsearch.c (modified) (2 diffs)
-
imregister/detrend/criteria.c (modified) (1 diff)
-
imregister/detrend/define.c (modified) (1 diff)
-
imregister/detrend/entry.c (modified) (1 diff)
-
imregister/detrend/imdef.c (modified) (3 diffs)
-
imregister/detrend/modify.c (modified) (4 diffs)
-
imregister/detrend/output.c (modified) (8 diffs)
-
imregister/imreg/args.imsearch.c (modified) (4 diffs)
-
imregister/imreg/match.c (modified) (1 diff)
-
imregister/imreg/modify.c (modified) (4 diffs)
-
imregister/imreg/output.c (modified) (4 diffs)
-
imregister/include/detrend.h (modified) (3 diffs)
-
imregister/include/imreg.h (modified) (2 diffs)
-
imregister/include/imregister.h (modified) (1 diff)
-
misc/src/gtfringetable.c (deleted)
-
perl/src/fr.getfringe (modified) (2 diffs)
Legend:
- Unmodified
- Added
- Removed
-
/trunk/Ohana/src/imregister/base/ConfigFilter.c
r30 r20 67 67 int i, blank; 68 68 69 /* convert spaces to . */70 69 blank = FALSE; 71 70 p = line; … … 82 81 *p = 0; 83 82 84 /* find defined filter name */85 83 for (i = 0; i < NFILTER; i++) { 86 84 if (!strcasecmp (line, filtername[i])) { 87 /* careful: line[80] */88 85 strcpy (line, filterhash[filternum[i]]); 89 86 return (TRUE); 90 87 } 91 88 } 92 fprintf (stderr, "unknown filter %s\n", line); 93 return (FALSE); 89 fprintf (stderr, "invalid filter %s\n", line); 90 snprintf (tmp, 30, "UKN:%s", line); 91 strcpy (line, tmp); 92 return (TRUE); 94 93 } -
/trunk/Ohana/src/imregister/base/ConfigInit.c
r30 r20 31 31 WarnConfig (config, "DETREND_RECIPES", "%s", 0, RecipeFile); 32 32 33 /* pixel scale for FWHM */34 WarnConfig (config, "ASEC_PIX", "%lf", 0, &ARCSEC_PIXEL);35 36 33 /* keyword abstractions for parse_time */ 37 34 WarnConfig (config, "DATE-KEYWORD", "%s", 0, DateKeyword); -
/trunk/Ohana/src/imregister/detrend/args.detsearch.c
r30 r20 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 103 87 /* define time / ranges */ 104 88 tstart = tstop = (unsigned long *) NULL; … … 275 259 if (!strcasecmp (output.ModifyEntry, "label")) goto valid_entry; 276 260 if (!strcasecmp (output.ModifyEntry, "order")) goto valid_entry; 277 if (!strcasecmp (output.ModifyEntry, "mode")) goto valid_entry;278 261 if (!strcasecmp (output.ModifyEntry, "tstop")) goto valid_entry; 279 262 if (!strcasecmp (output.ModifyEntry, "tstart")) goto valid_entry; -
/trunk/Ohana/src/imregister/detrend/criteria.c
r30 r20 14 14 for (i = 0; (i < Ncriteria) && (match.state == MATCH_NONE); i++) { 15 15 16 if (criteria[i].CCDSelect) { 17 if (image[0].mode == M_MEF) 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 16 /*********** fix this *****/ 17 if (criteria[i].CCDSelect && (image[0].ccd != criteria[i].CCD)) continue; 24 18 if (criteria[i].TypeSelect && (image[0].type != criteria[i].Type)) continue; 25 if (criteria[i].ModeSelect && (image[0].mode != criteria[i].Mode)) continue;26 19 if (criteria[i].FilterSelect && (image[0].filter != criteria[i].Filter)) continue; 27 20 -
/trunk/Ohana/src/imregister/detrend/define.c
r30 r20 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, "A", "MODE", "image mode", "", 1.0, 0.0); 26 fits_define_bintable_column (theader, "59A", "RESERVED", "space for additions", "", 1.0, 0.0); 25 fits_define_bintable_column (theader, "60A", "RESERVED", "space for additions", "photcode", 1.0, 0.0); 27 26 fits_define_bintable_column (theader, "64A", "LABEL", "data label", "", 1.0, 0.0); 28 27 fits_define_bintable_column (theader, "256A", "PATH", "filename in db", "", 1.0, 0.0); -
/trunk/Ohana/src/imregister/detrend/entry.c
r30 r20 18 18 newdata.exptime = descriptor.Exptime; 19 19 newdata.Norder = descriptor.order; 20 newdata.mode = descriptor.mode; 21 bzero (newdata.dummy, 59); 20 bzero (newdata.dummy, 60); 22 21 snprintf (newdata.label, 64, "%s", descriptor.label); 23 22 -
/trunk/Ohana/src/imregister/detrend/imdef.c
r30 r20 4 4 int DefineImage (char *filename, Descriptor *descriptor) { 5 5 6 int i , Extend, Nextend;6 int i; 7 7 char line[512]; 8 8 Header header; … … 21 21 } 22 22 for (i = 0; i < NTYPE; i++) { 23 if (!str casecmp (line, typename[i])) {23 if (!strncasecmp (line, typename[i], strlen(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 67 46 /* now identify CCD number */ 68 47 if (!descriptor[0].CCDSelect) { 69 char ID[64]; 48 if (descriptor[0].type != T_MODES) { 49 char ID[64]; 70 50 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); 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); 55 } 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; 75 68 } 76 for (i = 0; (i < Nccd) && (descriptor[0].CCD == -1); i++) {77 if (strnumcmp (ID, ccds[i])) {78 descriptor[0].CCD = i;79 }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;86 69 } 87 70 -
/trunk/Ohana/src/imregister/detrend/modify.c
r30 r20 4 4 int ModifySubset (Match *match, int Nmatch) { 5 5 6 int i, j, Nimage , value;6 int i, j, Nimage; 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:26 12 27 13 /* list matched images */ … … 34 20 } 35 21 if (!strcasecmp (output.ModifyEntry, "order")) { 36 image[i].Norder = value; 37 } 38 if (!strcasecmp (output.ModifyEntry, "mode")) { 39 image[i].mode = value; 22 image[i].Norder = atoi (output.ModifyValue); 40 23 } 41 24 if (!strcasecmp (output.ModifyEntry, "tstart")) { … … 43 26 } 44 27 if (!strcasecmp (output.ModifyEntry, "tstop")) { 45 image[i].tstop = output.TimeValue;28 image[i].tstop = output.TimeValue; 46 29 } 47 30 } -
/trunk/Ohana/src/imregister/detrend/output.c
r30 r20 55 55 DetReg *newdata; 56 56 FILE *f; 57 char *startstr, *stopstr, *regstr, *line, key[33] , ccdinfo[16];58 char *filtstr, *typestr, * modestr, *ccdstr, *datestr, *p;57 char *startstr, *stopstr, *regstr, *line, key[33]; 58 char *filtstr, *typestr, *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", "CCDINFO", "ccd information", ""); 87 fits_define_table_column (&theader, "A7", "MODE", "data format mode", ""); 86 fits_define_table_column (&theader, "A7", "CCDID", "ccd name", ""); 88 87 fits_define_table_column (&theader, "I3", "VERSION", "image version number", ""); 89 88 fits_define_table_column (&theader, "I3", "ORDER", "selection order", ""); … … 99 98 fits_modify (&theader, "TNULL6", "%s", 1, "NULL"); /* IMAGETYP */ 100 99 fits_modify (&theader, "TNULL7", "%s", 1, "NULL"); /* FILTER */ 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 */ 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 */ 107 105 108 106 fits_modify (&theader, "TNVAL1", "%s", 1, "NA"); /* KEY */ … … 113 111 fits_modify (&theader, "TNVAL6", "%s", 1, "NA"); /* IMAGETYP */ 114 112 fits_modify (&theader, "TNVAL7", "%s", 1, "NA"); /* FILTER */ 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 */ 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 */ 121 118 122 119 /* create table, add data values */ … … 142 139 regstr = sec_to_date (newdata[0].treg); 143 140 typestr = typename[newdata[0].type]; 144 modestr = modename[newdata[0].mode];145 141 filtstr = filterhash[newdata[0].filter]; 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 } 142 ccdstr = ccds[newdata[0].ccd]; 153 143 154 144 line = fits_table_print (&table, key, startstr, stopstr, regstr, 155 newdata[0].exptime, typestr, filtstr, ccdstr, modestr,145 newdata[0].exptime, typestr, filtstr, ccdstr, 156 146 newdata[0].Nentry, newdata[0].Norder, 157 147 newdata[0].label, newdata[0].filename); … … 181 171 182 172 char *dBPath, *typestr, *filtstr; 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); 173 char *timestr; 174 int i, j; 175 188 176 dBPath = get_dBPath (); 189 177 … … 207 195 208 196 typestr = typename[MIN (MAX (detdata[i].type, 0), NTYPE - 1)]; 209 modestr = modename[MIN (MAX (detdata[i].mode, 0), NMODE - 1)];210 197 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 }218 198 219 199 /* output mode (Select vs List) */ … … 221 201 fprintf (stdout, "%s/%s\n", dBPath, detdata[i].filename); 222 202 } else { 223 fprintf (stdout, "%-40s = %19s %7s %6s % 6s %s%2d %2d %6.1f %20s\n",224 detdata[i].filename, timestr, modestr, typestr, filtstr, ccdstr,203 fprintf (stdout, "%-40s = %19s %7s %6s %02d %2d %2d %6.1f %20s\n", 204 detdata[i].filename, timestr, typestr, filtstr, detdata[i].ccd, 225 205 detdata[i].Nentry, detdata[i].Norder, detdata[i].exptime, detdata[i].label); 226 206 } -
/trunk/Ohana/src/imregister/imreg/args.imsearch.c
r30 r20 115 115 116 116 criteria.Proc = -1; 117 if ( !strcasecmp (argv[N], "t")) criteria.Proc = TRUE;118 if ( !strcasecmp (argv[N], "f")) criteria.Proc = FALSE;117 if (strcasecmp (argv[N], "t")) criteria.Proc = TRUE; 118 if (strcasecmp (argv[N], "f")) criteria.Proc = FALSE; 119 119 remove_argument (N, &argc, argv); 120 120 if (criteria.Proc == -1) { … … 124 124 } 125 125 126 criteria.DistSelect = FALSE;127 if (N = get_argument (argc, argv, "-dist")) {128 criteria.DistSelect = TRUE;129 remove_argument (N, &argc, argv);130 131 criteria.Dist = -1;132 if (!strcasecmp (argv[N], "t")) criteria.Dist = TRUE;133 if (!strcasecmp (argv[N], "f")) criteria.Dist = FALSE;134 remove_argument (N, &argc, argv);135 if (criteria.Dist == -1) {136 fprintf (stderr, "ERROR: -dist (t/f)\n");137 exit (1);138 }139 }140 141 126 /*** command-line options which modify the output list */ 142 127 if (N = get_argument (argc, argv, "-treg")) { … … 172 157 173 158 /*** command-line options which modify behavior (delete, modify, newpath, mef2split split2mef */ 174 output.delete = output.modify = FALSE; 175 output.modify_path = output.modify_dist = FALSE; 176 output.mef2split = output.split2mef = FALSE; 177 159 output.delete = output.modify = 0; 160 output.Newpath = output.mef2split = output.split2mef = FALSE; 161 162 if (N = get_argument (argc, argv, "-del")) { 163 remove_argument (N, &argc, argv); 164 output.delete ++; 165 } 178 166 if (N = get_argument (argc, argv, "-delete")) { 179 167 remove_argument (N, &argc, argv); 180 output.delete = TRUE; 181 } 182 183 if (N = get_argument (argc, argv, "-modify")) { 184 if (output.delete) { 185 fprintf (stderr, "can't specify more than one modifier at a time\n"); 186 exit (1); 187 } 188 remove_argument (N, &argc, argv); 189 output.modify = TRUE; 190 191 if (!strcasecmp (argv[N], "path")) { 192 output.modify_path = TRUE; 193 remove_argument (N, &argc, argv); 194 output.oldpath = strcreate (argv[N]); 195 remove_argument (N, &argc, argv); 196 output.newpath = strcreate (argv[N]); 197 remove_argument (N, &argc, argv); 198 goto valid_modify; 199 } 200 201 if (!strcasecmp (argv[N], "mode")) { 202 remove_argument (N, &argc, argv); 203 if (!strcasecmp (argv[N], "mef")) { 204 output.mef2split = TRUE; 205 remove_argument (N, &argc, argv); 206 goto valid_modify; 207 } 208 if (!strcasecmp (argv[N], "split")) { 209 output.split2mef = TRUE; 210 remove_argument (N, &argc, argv); 211 goto valid_modify; 212 } 213 } 214 215 if (!strcasecmp (argv[N], "dist")) { 216 output.modify_dist = TRUE; 217 remove_argument (N, &argc, argv); 218 if (!strcasecmp (argv[N], "t")) { 219 output.dist = TRUE; 220 remove_argument (N, &argc, argv); 221 goto valid_modify; 222 } 223 if (!strcasecmp (argv[N], "f")) { 224 output.dist = FALSE; 225 remove_argument (N, &argc, argv); 226 goto valid_modify; 227 } 228 } 229 230 if (!strcasecmp (argv[N], "help")) { 231 fprintf (stderr, "-modify option: \n"); 232 fprintf (stderr, " -modify path (oldpath) (newpath)\n"); 233 fprintf (stderr, " -modify mode (mef | split)\n"); 234 fprintf (stderr, " -modify dist (t | f)\n\n"); 235 fprintf (stderr, " mode mef : convert mef to split\n"); 236 fprintf (stderr, " mode split : convert split to mef\n"); 237 exit (2); 238 } 239 240 fprintf (stderr, "invalid -modify option, try -modify help\n"); 168 output.delete ++; 169 } 170 if (N = get_argument (argc, argv, "-newpath")) { 171 output.Newpath = TRUE; 172 remove_argument (N, &argc, argv); 173 output.oldpath = strcreate (argv[N]); 174 remove_argument (N, &argc, argv); 175 output.newpath = strcreate (argv[N]); 176 remove_argument (N, &argc, argv); 177 output.modify ++; 178 } 179 if (N = get_argument (argc, argv, "-mef2split")) { 180 remove_argument (N, &argc, argv); 181 output.mef2split = TRUE; 182 output.modify ++; 183 } 184 if (N = get_argument (argc, argv, "-split2mef")) { 185 remove_argument (N, &argc, argv); 186 output.split2mef = TRUE; 187 output.modify ++; 188 } 189 if (output.modify + output.delete > 1) { 190 fprintf (stderr, "can't specify more than one modifier at a time\n"); 241 191 exit (1); 242 192 } 243 valid_modify:244 193 245 194 if (argc != 1) { … … 248 197 fprintf (stderr, " [-etime exptime] [-filter name] [-name string] [-proc t/f]\n"); 249 198 fprintf (stderr, " [-treg] [-seq] [-pt] [-table] [-cadctable] [-bintable]\n"); 250 fprintf (stderr, " [-del ete] [-modify (options)]\n");199 fprintf (stderr, " [-del] [-delete] [-newpath (oldpath) (newpath)] [-mef2split] [-split2mef]\n"); 251 200 exit (1); 252 201 } -
/trunk/Ohana/src/imregister/imreg/match.c
r30 r20 31 31 if (criteria.ExptimeSelect && (fabs (image[i].exptime - criteria.Exptime) > 5.0)) continue; 32 32 if (criteria.NameSelect && (strncasecmp (image[i].filename, criteria.Name, Nname))) continue; 33 if (criteria.ProcSelect && (criteria.Proc ^ (image[i].bias != 0.0))) continue; 34 if (criteria.DistSelect && (criteria.Dist ^ (image[i].flag && IMREG_DIST))) continue; 33 if (criteria.ProcSelect && (criteria.Proc ^ (image[i].bias == 0.0))) continue; 35 34 36 35 match[N] = i; -
/trunk/Ohana/src/imregister/imreg/modify.c
r30 r20 6 6 int i, j, Nold; 7 7 char *tmppath; 8 char *ext, *root, *path , dist;8 char *ext, *root, *path; 9 9 int Nimage; 10 10 RegImage *image; … … 13 13 14 14 /* create some necessary variables */ 15 if (output. modify_path) {15 if (output.newpath) { 16 16 Nold = strlen (output.oldpath); 17 17 ALLOCATE (tmppath, char, 128); 18 }19 if (output.modify_dist) {20 dist = (output.dist) ? 0xff : ~IMREG_DIST;21 18 } 22 19 … … 26 23 i = match[j]; 27 24 28 if (output. modify_path) {25 if (output.newpath) { 29 26 if (!strncmp (image[i].pathname, output.oldpath, Nold)) { 30 27 strcpy (tmppath, &image[i].pathname[Nold]); … … 62 59 } 63 60 } 64 65 if (output.modify_dist) {66 if (output.dist) image[i].flag |= IMREG_DIST;67 if (!output.dist) image[i].flag &= ~IMREG_DIST;68 }69 70 61 } 71 62 -
/trunk/Ohana/src/imregister/imreg/output.c
r30 r20 175 175 void DumpCADCTable (char *filename, RegImage *image, int *match, int Nmatch) { 176 176 177 int i, obsid; 178 char *datestr, *line, hdrname[99]; 177 int i; 178 char *obsstr, *regstr, *line, dummy[64]; 179 char *modestr, *typestr, *ccdstr, *datestr; 179 180 unsigned long tsecond; 180 181 Header header, theader; … … 182 183 FTable table; 183 184 RegImage *subset; 185 186 bzero (dummy, 64); 187 memset (dummy, ' ', 63); 184 188 185 189 /* create primary header */ … … 200 204 201 205 /* define table layout */ 202 fits_define_table_column (&theader, "A99", "FILENAME", "filename in db", "", 1.0, 0.0); 203 fits_define_table_column (&theader, "A99", "HDR_FILENAME", "filename in db", "", 1.0, 0.0); 204 fits_define_table_column (&theader, "I10", "OBSID", "image ID number", "pixels", 1.0, 0.0); 205 fits_define_table_column (&theader, "F5.2", "OBS_IQ", "image quality", "pixels", 1.0, 0.0); 206 fits_define_table_column (&theader, "F9.3", "OBS_BG_VAL", "background level", "counts / pixel", 1.0, 0.0); 206 fits_define_table_column (&theader, "A64", "FILE", "filename in db", "", 1.0, 0.0); 207 fits_define_table_column (&theader, "F7.1", "SKY", "background level", "counts / pixel", 1.0, 0.0); 208 fits_define_table_column (&theader, "F6.1", "BIAS", "bias level", "counts / pixel", 1.0, 0.0); 209 fits_define_table_column (&theader, "F5.2", "FWHM", "image quality", "pixels", 1.0, 0.0); 207 210 208 211 /* define TNULL, TNVAL values */ 209 fits_modify (&theader, "TNULL1", "%s", 1, "NULL"); /* FILENAME */ 210 fits_modify (&theader, "TNULL2", "%s", 1, "NULL"); /* HDR_FILENAME */ 211 fits_modify (&theader, "TNULL3", "%s", 1, "0"); /* OBSID */ 212 fits_modify (&theader, "TNULL4", "%s", 1, "NaN"); /* OBS_IQ */ 213 fits_modify (&theader, "TNULL5", "%s", 1, "NaN"); /* OBS_BG_VAL */ 214 215 fits_modify (&theader, "TNVAL1", "%s", 1, "NA"); /* FILENAME */ 216 fits_modify (&theader, "TNVAL2", "%s", 1, "NA"); /* HDR_FILENAME */ 217 fits_modify (&theader, "TNVAL3", "%s", 1, "-1"); /* OBSID */ 218 fits_modify (&theader, "TNVAL4", "%s", 1, "Inf"); /* OBS_IQ */ 219 fits_modify (&theader, "TNVAL5", "%s", 1, "Inf"); /* OBS_BG_VAL */ 212 fits_modify (&theader, "TNULL1", "%s", 1, "NULL"); /* FILE */ 213 fits_modify (&theader, "TNULL2", "%s", 1, "NaN"); /* SKY */ 214 fits_modify (&theader, "TNULL3", "%s", 1, "NaN"); /* BIAS */ 215 fits_modify (&theader, "TNULL4", "%s", 1, "NaN"); /* FWHM */ 216 217 fits_modify (&theader, "TNVAL1", "%s", 1, "NA"); /* FILE */ 218 fits_modify (&theader, "TNVAL2", "%s", 1, "Inf"); /* SKY */ 219 fits_modify (&theader, "TNVAL3", "%s", 1, "Inf"); /* BIAS */ 220 fits_modify (&theader, "TNVAL4", "%s", 1, "Inf"); /* FWHM */ 220 221 221 222 /* create table, add data values */ … … 225 226 for (i = 0; i < Nmatch; i++) { 226 227 subset = &image[match[i]]; 227 228 /* filename: NNNNNNx.fits or NNNNNNxNN.fits */ 229 /* OBSID & HDR_FILENAME are derived from FILENAME */ 230 obsid = atoi (subset[0].filename); 231 if (obsid < 400000) fprintf (stderr, "warning: derived obsid < 400000\n"); 232 sprintf (hdrname, "%s.hdr", subset[0].filename); 233 234 line = fits_table_print (&table, subset[0].filename, hdrname, obsid, (subset[0].fwhm*ARCSEC_PIXEL), subset[0].sky); 228 line = fits_table_print (&table, subset[0].pathname, subset[0].sky, subset[0].bias, subset[0].fwhm); 235 229 236 230 fits_add_rows (&table, line, 1, strlen(line)); -
/trunk/Ohana/src/imregister/include/detrend.h
r30 r20 12 12 int order; 13 13 int type; 14 char mode;15 14 int CCDSelect; int CCD; 16 15 int ExptimeSelect; float Exptime; … … 20 19 /* MosaicSelect & ImageSelect define these values */ 21 20 typedef struct { 22 int ModeSelect; int Mode;23 21 int TypeSelect; int Type; 24 22 int CCDSelect; int CCD; … … 59 57 # define DEBUG 0 60 58 61 # define NTYPE 1 162 enum {T_NONE, T_OBJECT, T_DARK, T_BIAS, T_FLAT, T_MASK, T_FRINGE, T_SCATTER, T_MODES, T_ FRINGEPTS, T_ANY};63 static char typename[NTYPE][32] = {"none", "object", "dark", "bias", "flat", "mask", "fringe", "scatter", "modes", " frpts", "any"};64 static char typecode[NTYPE] = {'x', 'o', 'd', 'b', 'f', 'm', 'r', 's', 'M', 'F'};59 # define NTYPE 10 60 enum {T_NONE, T_OBJECT, T_DARK, T_BIAS, T_FLAT, T_MASK, T_FRINGE, T_SCATTER, T_MODES, T_ANY}; 61 static char typename[NTYPE][32] = {"none", "object", "dark", "bias", "flat", "mask", "fringe", "scatter", "modes", "any"}; 62 static char typecode[NTYPE] = {'x', 'o', 'd', 'b', 'f', 'm', 'r', 's'}; 65 63 66 # define NMODE 767 enum {M_NONE, M_ME F, M_SPLIT, M_SINGLE, M_CUBE, M_SLICE, M_MODES};68 static char modename[ NMODE][32] = {"none", "MEF", "SPLIT", "SINGLE", "CUBE", "SLICE", "MODES"};64 # define NMODE 6 65 enum {M_NONE, M_MEG, M_SPLIT, M_SINGLE, M_CUBE, M_SLICE}; 66 static char modename[6][32] = {"none", "MEF", "SPLIT", "SINGLE", "CUBE", "SLICE"}; 69 67 70 68 char **RecipeType; -
/trunk/Ohana/src/imregister/include/imreg.h
r30 r20 10 10 int NameSelect; char *Name; 11 11 int ProcSelect; int Proc; 12 int DistSelect; int Dist;13 12 int Ntimes; unsigned long *tstart, *tstop; 14 13 int MatchNumber; … … 20 19 int modify; 21 20 22 int modify_path;21 int Newpath, mef2split, split2mef; 23 22 char *oldpath, *newpath; 24 25 int mef2split, split2mef;26 int modify_dist, dist;27 23 28 24 int HST; -
/trunk/Ohana/src/imregister/include/imregister.h
r30 r20 46 46 char DECSexigKeyword[16]; 47 47 char CameraKeyword[16]; 48 double ARCSEC_PIXEL;49 48 50 49 /* global vars used by camera info */ -
/trunk/Ohana/src/perl/src/fr.getfringe
r30 r20 7 7 8 8 # define the path to include FLIPS: 9 $flipsconf=`gconfig -q FLIPSCONF`; chop $flipsconf;10 $flipspath=`gconfig -q FLIPSPATH`; chop $flipspath;9 $flipsconf=`gconfig -q FLIPSCONF`; chop ($flipsconf); 10 $flipspath=`gconfig -q FLIPSPATH`; chop ($flipspath); 11 11 $ENV{'PATH'} = "$ENV{'PATH'}:$flipspath"; 12 12 $ENV{'FLIPSDIR'} = $flipsconf; … … 23 23 foreach $line (@inlist) { chop $line; } 24 24 25 # g etfringe appendsto the output file:25 # gtfringe is appending to the output file: 26 26 unlink ($output); 27 27 28 # basic camera data 29 $Nccd = `cameraconfig -Nccd`; chop $Nccd; 30 $answer = `cameraconfig -ccds`; @ccds = split (" ", $answer); 28 # we construct the Fringe Coord File from: FRINGE_COORD_PATH/CAMERA-FILTER-CCDNN-FringeCoord.reg 29 $fkey = `gconfig -q FILTER-KEYWORD`; chop ($fkey); 30 $ckey = `gconfig -q CAMERA-KEYWORD`; chop ($ckey); 31 $coordpath = `gconfig -q FRINGE_COORD_PATH`; chop ($coordpath); 32 $Nccd = `cameraconfig -Nccd`; chop ($Nccd); 33 $answer = `cameraconfig -ccds`; 34 @ccds = split (" ", $answer); 35 36 # double check lists size: 31 37 if ($Nccd != @inlist) { die "ERROR: mis-matched image list sizes\n"; } 32 38 33 # find fringe coordinate file 34 $coordfile = `detsearch -image $inlist[0] $ccds[0] split -type frpts`; chop $coordfile; 35 if ($?) { die "ERROR: can't find fringe point file for this image\n"; } 39 # find filter and camera from image 40 $answer = `echo $inlist[0] | fields $fkey $ckey`; 41 ($name, $filtvalue, $camera) = split (" ", $answer); 42 $filter = `filtnames $filtvalue`; chop $filter; 43 if ($?) { die "can't find filter for $filtvalue\n"; } 44 print STDERR "camera: $camera\n"; 45 if ($camera eq "") { $camera = "WFI"; } 46 #### a temporary hack to for this to work... 36 47 37 # each call to getfringe adds a line to $output38 48 for ($ccd = 0; $ccd < $Nccd; $ccd++) { 39 vsystem ("getfringe $inlist[$ccd] $ccds[$ccd] $coordfile $bin $output"); 40 if ($?) { die "ERROR running getfringe\n"; } 49 50 $infile = $inlist[$ccd]; 51 $coordfile = sprintf "%s/%s-%s-CCD%s-FringeCoord.reg", $coordpath, $camera, $filter, $ccds[$ccd]; 52 53 # each call to gtfringe adds a line to $output 54 vsystem ("getfringe $infile $coordfile $bin $output"); 55 if ($?) { 56 print STDERR "ERROR running getfringe\n"; 57 exit 1; 58 } 41 59 } 42 60
Note:
See TracChangeset
for help on using the changeset viewer.
