- Location:
- /trunk/Ohana/src
- Files:
-
- 1 added
- 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 (added)
-
perl/src/fr.getfringe (modified) (2 diffs)
Legend:
- Unmodified
- Added
- Removed
-
/trunk/Ohana/src/imregister/base/ConfigFilter.c
r20 r30 67 67 int i, blank; 68 68 69 /* convert spaces to . */ 69 70 blank = FALSE; 70 71 p = line; … … 81 82 *p = 0; 82 83 84 /* find defined filter name */ 83 85 for (i = 0; i < NFILTER; i++) { 84 86 if (!strcasecmp (line, filtername[i])) { 87 /* careful: line[80] */ 85 88 strcpy (line, filterhash[filternum[i]]); 86 89 return (TRUE); 87 90 } 88 91 } 89 fprintf (stderr, "invalid filter %s\n", line); 90 snprintf (tmp, 30, "UKN:%s", line); 91 strcpy (line, tmp); 92 return (TRUE); 92 fprintf (stderr, "unknown filter %s\n", line); 93 return (FALSE); 93 94 } -
/trunk/Ohana/src/imregister/base/ConfigInit.c
r20 r30 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 33 36 /* keyword abstractions for parse_time */ 34 37 WarnConfig (config, "DATE-KEYWORD", "%s", 0, DateKeyword); -
/trunk/Ohana/src/imregister/detrend/args.detsearch.c
r20 r30 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
r20 r30 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_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 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
r20 r30 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
r20 r30 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
r20 r30 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
r20 r30 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
r20 r30 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 } -
/trunk/Ohana/src/imregister/imreg/args.imsearch.c
r20 r30 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 126 141 /*** command-line options which modify the output list */ 127 142 if (N = get_argument (argc, argv, "-treg")) { … … 157 172 158 173 /*** command-line options which modify behavior (delete, modify, newpath, mef2split split2mef */ 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 } 174 output.delete = output.modify = FALSE; 175 output.modify_path = output.modify_dist = FALSE; 176 output.mef2split = output.split2mef = FALSE; 177 166 178 if (N = get_argument (argc, argv, "-delete")) { 167 179 remove_argument (N, &argc, argv); 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"); 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"); 191 241 exit (1); 192 242 } 243 valid_modify: 193 244 194 245 if (argc != 1) { … … 197 248 fprintf (stderr, " [-etime exptime] [-filter name] [-name string] [-proc t/f]\n"); 198 249 fprintf (stderr, " [-treg] [-seq] [-pt] [-table] [-cadctable] [-bintable]\n"); 199 fprintf (stderr, " [-del ] [-delete] [-newpath (oldpath) (newpath)] [-mef2split] [-split2mef]\n");250 fprintf (stderr, " [-delete] [-modify (options)]\n"); 200 251 exit (1); 201 252 } -
/trunk/Ohana/src/imregister/imreg/match.c
r20 r30 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; 33 if (criteria.ProcSelect && (criteria.Proc ^ (image[i].bias != 0.0))) continue; 34 if (criteria.DistSelect && (criteria.Dist ^ (image[i].flag && IMREG_DIST))) continue; 34 35 35 36 match[N] = i; -
/trunk/Ohana/src/imregister/imreg/modify.c
r20 r30 6 6 int i, j, Nold; 7 7 char *tmppath; 8 char *ext, *root, *path ;8 char *ext, *root, *path, dist; 9 9 int Nimage; 10 10 RegImage *image; … … 13 13 14 14 /* create some necessary variables */ 15 if (output. newpath) {15 if (output.modify_path) { 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; 18 21 } 19 22 … … 23 26 i = match[j]; 24 27 25 if (output. newpath) {28 if (output.modify_path) { 26 29 if (!strncmp (image[i].pathname, output.oldpath, Nold)) { 27 30 strcpy (tmppath, &image[i].pathname[Nold]); … … 59 62 } 60 63 } 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 61 70 } 62 71 -
/trunk/Ohana/src/imregister/imreg/output.c
r20 r30 175 175 void DumpCADCTable (char *filename, RegImage *image, int *match, int Nmatch) { 176 176 177 int i; 178 char *obsstr, *regstr, *line, dummy[64]; 179 char *modestr, *typestr, *ccdstr, *datestr; 177 int i, obsid; 178 char *datestr, *line, hdrname[99]; 180 179 unsigned long tsecond; 181 180 Header header, theader; … … 183 182 FTable table; 184 183 RegImage *subset; 185 186 bzero (dummy, 64);187 memset (dummy, ' ', 63);188 184 189 185 /* create primary header */ … … 204 200 205 201 /* define table layout */ 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); 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); 210 207 211 208 /* define TNULL, TNVAL values */ 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 */ 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 */ 221 220 222 221 /* create table, add data values */ … … 226 225 for (i = 0; i < Nmatch; i++) { 227 226 subset = &image[match[i]]; 228 line = fits_table_print (&table, subset[0].pathname, subset[0].sky, subset[0].bias, subset[0].fwhm); 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); 229 235 230 236 fits_add_rows (&table, line, 1, strlen(line)); -
/trunk/Ohana/src/imregister/include/detrend.h
r20 r30 12 12 int order; 13 13 int type; 14 char mode; 14 15 int CCDSelect; int CCD; 15 16 int ExptimeSelect; float Exptime; … … 19 20 /* MosaicSelect & ImageSelect define these values */ 20 21 typedef struct { 22 int ModeSelect; int Mode; 21 23 int TypeSelect; int Type; 22 24 int CCDSelect; int CCD; … … 57 59 # define DEBUG 0 58 60 59 # define NTYPE 1 060 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'};61 # define NTYPE 11 62 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'}; 63 65 64 # define NMODE 665 enum {M_NONE, M_ME G, M_SPLIT, M_SINGLE, M_CUBE, M_SLICE};66 static char modename[ 6][32] = {"none", "MEF", "SPLIT", "SINGLE", "CUBE", "SLICE"};66 # define NMODE 7 67 enum {M_NONE, M_MEF, M_SPLIT, M_SINGLE, M_CUBE, M_SLICE, M_MODES}; 68 static char modename[NMODE][32] = {"none", "MEF", "SPLIT", "SINGLE", "CUBE", "SLICE", "MODES"}; 67 69 68 70 char **RecipeType; -
/trunk/Ohana/src/imregister/include/imreg.h
r20 r30 10 10 int NameSelect; char *Name; 11 11 int ProcSelect; int Proc; 12 int DistSelect; int Dist; 12 13 int Ntimes; unsigned long *tstart, *tstop; 13 14 int MatchNumber; … … 19 20 int modify; 20 21 21 int Newpath, mef2split, split2mef;22 int modify_path; 22 23 char *oldpath, *newpath; 24 25 int mef2split, split2mef; 26 int modify_dist, dist; 23 27 24 28 int HST; -
/trunk/Ohana/src/imregister/include/imregister.h
r20 r30 46 46 char DECSexigKeyword[16]; 47 47 char CameraKeyword[16]; 48 double ARCSEC_PIXEL; 48 49 49 50 /* global vars used by camera info */ -
/trunk/Ohana/src/perl/src/fr.getfringe
r20 r30 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 tfringe is appendingto the output file:25 # getfringe appends to the output file: 26 26 unlink ($output); 27 27 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: 28 # basic camera data 29 $Nccd = `cameraconfig -Nccd`; chop $Nccd; 30 $answer = `cameraconfig -ccds`; @ccds = split (" ", $answer); 37 31 if ($Nccd != @inlist) { die "ERROR: mis-matched image list sizes\n"; } 38 32 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... 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"; } 47 36 37 # each call to getfringe adds a line to $output 48 38 for ($ccd = 0; $ccd < $Nccd; $ccd++) { 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 } 39 vsystem ("getfringe $inlist[$ccd] $ccds[$ccd] $coordfile $bin $output"); 40 if ($?) { die "ERROR running getfringe\n"; } 59 41 } 60 42
Note:
See TracChangeset
for help on using the changeset viewer.
