Changeset 6683
- Timestamp:
- Mar 26, 2006, 10:46:32 AM (20 years ago)
- Location:
- trunk/Ohana/src
- Files:
-
- 2 added
- 50 edited
-
addstar/include/addstar.h (modified) (3 diffs)
-
addstar/src/addstar.c (modified) (2 diffs)
-
addstar/src/args.c (modified) (2 diffs)
-
addstar/src/find_matches.c (modified) (8 diffs)
-
addstar/src/find_matches_closest.c (modified) (8 diffs)
-
addstar/src/find_matches_refstars.c (modified) (5 diffs)
-
addstar/src/gettycho.c (modified) (4 diffs)
-
addstar/src/getusnob.c (modified) (5 diffs)
-
addstar/src/greference.c (modified) (1 diff)
-
addstar/src/replace_match.c (modified) (1 diff)
-
addstar/src/update_coords.c (modified) (1 diff)
-
gastro/src/gptolemy.c (modified) (3 diffs)
-
gastro2/src/gptolemy2.c (modified) (2 diffs)
-
libautocode/Makefile (modified) (2 diffs)
-
libautocode/def/Stars.d (modified) (1 diff)
-
libautocode/def/average-panstarrs.d (modified) (1 diff)
-
libautocode/def/average-pmtest.d (added)
-
libautocode/def/average.d (modified) (2 diffs)
-
libdvo/Makefile (modified) (2 diffs)
-
libdvo/include/dvo.h (modified) (4 diffs)
-
libdvo/src/LoadPhotcodes.c (modified) (9 diffs)
-
libdvo/src/dvo_catalog_raw.c (modified) (12 diffs)
-
libdvo/src/dvo_convert.c (modified) (12 diffs)
-
libdvo/src/dvo_convert_elixir.c (modified) (3 diffs)
-
libdvo/src/dvo_convert_loneos.c (modified) (3 diffs)
-
libdvo/src/dvo_convert_panstarrs.c (modified) (3 diffs)
-
libdvo/src/dvo_convert_pmtest.c (added)
-
libohana/src/time.c (modified) (5 diffs)
-
mosastro/src/gptolemy.c (modified) (2 diffs)
-
opihi/Makefile.Common (modified) (1 diff)
-
opihi/dvo/calextract.c (modified) (3 diffs)
-
opihi/dvo/calmextract.c (modified) (3 diffs)
-
opihi/dvo/compare.c (modified) (4 diffs)
-
opihi/dvo/dmt.c (modified) (3 diffs)
-
opihi/dvo/dvomisc.c (modified) (3 diffs)
-
opihi/dvo/gstar.c (modified) (3 diffs)
-
opihi/dvo/imdata.c (modified) (2 diffs)
-
opihi/dvo/lcurve.c (modified) (2 diffs)
-
opihi/dvo/lightcurve.c (modified) (2 diffs)
-
opihi/dvo/mextract.c (modified) (1 diff)
-
opihi/dvo/photometry.c (modified) (8 diffs)
-
opihi/dvo/pmeasure.c (modified) (3 diffs)
-
opihi/dvo/subpix.c (modified) (2 diffs)
-
opihi/include/dvo1.h (modified) (1 diff)
-
relphot/src/ImageOps.c (modified) (1 diff)
-
relphot/src/MosaicOps.c (modified) (1 diff)
-
relphot/src/StarOps.c (modified) (9 diffs)
-
relphot/src/bcatalog.c (modified) (2 diffs)
-
relphot/src/plot_scatter.c (modified) (1 diff)
-
relphot/src/setExclusions.c (modified) (1 diff)
-
relphot/src/setMrelFinal.c (modified) (2 diffs)
-
uniphot/src/update_catalog.c (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
-
trunk/Ohana/src/addstar/include/addstar.h
r6675 r6683 69 69 double SNLIMIT; 70 70 int ACCEPT_ASTROM; // accept even bad astrometry solutions (NASTRO == 0) 71 int ACCEPT_MOTION; // accept reference proper motion measurements 71 72 int TEXTMODE; // force input file to be loaded as RAW 72 73 int SUBPIX; // apply a subpix correction … … 125 126 double get_subpix PROTO((double x, double y)); 126 127 Stars *getgsc PROTO((SkyRegion *patch, int *NSTARS)); 127 Stars *gettycho PROTO((SkyRegion *catstats, int photcode, double epoch,int *Nstars));128 Stars *gettycho PROTO((SkyRegion *catstats, int photcode, int *Nstars)); 128 129 Stars *getusno PROTO((SkyRegion *catstats, int photcode, int *Nstars)); 129 Stars *getusnob PROTO((SkyRegion *catstats, int photcode, double epoch,int *Nstars));130 Stars *getusnob PROTO((SkyRegion *catstats, int photcode, int *Nstars)); 130 131 Image *gimages PROTO((FITS_DB *db, Image *image, Coords *mosaic, int *Npimage)); 131 132 Stars *grefcat PROTO((char *Refcat, SkyRegion *catstats, int photcode, int *nstars)); … … 188 189 189 190 /** 190 there is an inconsistency to be resolved: fixed structures (like Image)191 need a fixed bit-length time (e_time), but these functions all use the192 UNIX time_t types, which may be 32 or 64 bits, depending on the machine.193 This can be resolved by using time_t with these functions, but casting194 between e_time and time_t when necessary (ie, cannot return data to an195 e_time pointer from one of these functions)191 there is an inconsistency to be resolved: fixed structures (like Image) 192 need a fixed bit-length time (e_time), but these functions all use the 193 UNIX time_t types, which may be 32 or 64 bits, depending on the machine. 194 This can be resolved by using time_t with these functions, but casting 195 between e_time and time_t when necessary (ie, cannot return data to an 196 e_time pointer from one of these functions) 196 197 **/ 197 198 -
trunk/Ohana/src/addstar/src/addstar.c
r6236 r6683 42 42 43 43 switch (options.mode) { 44 case M_IMAGE:45 stars = gstars (argv[1], &Nstars, options.photcode, &image);46 if ((DUMP != NULL) && !strcmp (DUMP, "rawstars")) dump_rawstars (stars, Nstars);47 RegisterMosaic (MOSAIC);48 skylist = SkyListByImage (sky, -1, &image);49 overlap = gimages (&db, &image, MOSAIC, &Noverlap);50 break;51 case M_REFLIST:52 stars = grefstars (argv[1], options.photcode, &Nstars);53 skylist = SkyListForStars (sky, -1, stars, Nstars);54 break;55 case M_REFCAT:56 skylist = SkyListByPatch (sky, -1, &UserPatch);57 break;44 case M_IMAGE: 45 stars = gstars (argv[1], &Nstars, options.photcode, &image); 46 if ((DUMP != NULL) && !strcmp (DUMP, "rawstars")) dump_rawstars (stars, Nstars); 47 RegisterMosaic (MOSAIC); 48 skylist = SkyListByImage (sky, -1, &image); 49 overlap = gimages (&db, &image, MOSAIC, &Noverlap); 50 break; 51 case M_REFLIST: 52 stars = grefstars (argv[1], options.photcode, &Nstars); 53 skylist = SkyListForStars (sky, -1, stars, Nstars); 54 break; 55 case M_REFCAT: 56 skylist = SkyListByPatch (sky, -1, &UserPatch); 57 break; 58 58 } 59 59 if (options.only_match || options.existing_regions) { … … 97 97 98 98 switch (options.mode) { 99 case M_IMAGE:100 Nsubset = Nstars;101 if (options.closest) {102 find_matches_closest (skylist[0].regions[i], stars, Nstars, &catalog, &image, overlap, Noverlap, MOSAIC, options);103 } else {104 find_matches (skylist[0].regions[i], stars, Nstars, &catalog, &image, overlap, Noverlap, MOSAIC, options);105 }106 break;107 case M_REFCAT:108 stars = grefcat (argv[1], skylist[0].regions[i], options.photcode, &Nstars);109 case M_REFLIST:110 subset = find_subset (skylist[0].regions[i], stars, Nstars, &Nsubset);111 find_matches_refstars (skylist[0].regions[i], subset, Nsubset, &catalog, options);112 if (Nsubset) free (subset);113 break;99 case M_IMAGE: 100 Nsubset = Nstars; 101 if (options.closest) { 102 find_matches_closest (skylist[0].regions[i], stars, Nstars, &catalog, &image, overlap, Noverlap, MOSAIC, options); 103 } else { 104 find_matches (skylist[0].regions[i], stars, Nstars, &catalog, &image, overlap, Noverlap, MOSAIC, options); 105 } 106 break; 107 case M_REFCAT: 108 stars = grefcat (argv[1], skylist[0].regions[i], options.photcode, &Nstars); 109 case M_REFLIST: 110 subset = find_subset (skylist[0].regions[i], stars, Nstars, &Nsubset); 111 find_matches_refstars (skylist[0].regions[i], subset, Nsubset, &catalog, options); 112 if (Nsubset) free (subset); 113 break; 114 114 } 115 115 -
trunk/Ohana/src/addstar/src/args.c
r5585 r6683 190 190 if ((N = get_argument (argc, argv, "-accept"))) { 191 191 ACCEPT_ASTROM = TRUE; 192 remove_argument (N, &argc, argv); 193 } 194 if ((N = get_argument (argc, argv, "-accept-astrom"))) { 195 ACCEPT_ASTROM = TRUE; 196 remove_argument (N, &argc, argv); 197 } 198 /* accept proper-motion data from reference */ 199 ACCEPT_MOTION = FALSE; 200 if ((N = get_argument (argc, argv, "-accept-motion"))) { 201 ACCEPT_MOTION = TRUE; 192 202 remove_argument (N, &argc, argv); 193 203 } … … 258 268 fprintf (stderr, " -skyprobe : specify skyprobe mode\n"); 259 269 fprintf (stderr, " -accept : accept bad astrometry from header\n"); 270 fprintf (stderr, " -accept-astrom : accept bad astrometry from header\n"); 271 fprintf (stderr, " -accept-motion : accept proper-motion data from reference\n"); 260 272 fprintf (stderr, " -force : force read of database with inconsistent info\n"); 261 273 fprintf (stderr, " -v : verbose mode\n"); -
trunk/Ohana/src/addstar/src/find_matches.c
r5443 r6683 71 71 /* build spatial index (RA sort) */ 72 72 for (i = 0; i < Nave; i++) { 73 fRD_to_XY (&X2[i], &Y2[i], catalog[0].average[i].R _PS, catalog[0].average[i].D_PS, &tcoords);73 fRD_to_XY (&X2[i], &Y2[i], catalog[0].average[i].R, catalog[0].average[i].D, &tcoords); 74 74 N2[i] = i; 75 75 catalog[0].found[N2[i]] = -1; … … 138 138 /** add measurements for this star **/ 139 139 /** dR,dD now represent arcsec **/ 140 catalog[0].measure[Nmeas].dR_PS = 3600.0*(catalog[0].average[n].R _PS- stars[N].R);141 catalog[0].measure[Nmeas].dD_PS = 3600.0*(catalog[0].average[n].D _PS- stars[N].D);140 catalog[0].measure[Nmeas].dR_PS = 3600.0*(catalog[0].average[n].R - stars[N].R); 141 catalog[0].measure[Nmeas].dD_PS = 3600.0*(catalog[0].average[n].D - stars[N].D); 142 142 catalog[0].measure[Nmeas].M_PS = MIN (stars[N].M + MTIME, NO_MAG); 143 143 catalog[0].measure[Nmeas].dM_PS = MIN (stars[N].dM, NO_ERR); /* error in input files stored in thousandths of mag */ … … 159 159 /* check for entries in the secfilt lists */ 160 160 Mcat = PhotCat (&catalog[0].measure[Nmeas]); 161 Mval = (Nsec == -1) ? &catalog[0].average[n].M _PS: &catalog[0].secfilt[n*Nsecfilt+Nsec].M_PS;161 Mval = (Nsec == -1) ? &catalog[0].average[n].M : &catalog[0].secfilt[n*Nsecfilt+Nsec].M_PS; 162 162 if (*Mval == NO_MAG) *Mval = Mcat; 163 163 /* in UPDATE mode, this value is not saved; use relphot to recalculate */ … … 213 213 214 214 /* should the catalog star be on this image? project into image coords */ 215 if (!in_image (catalog[0].average[n].R _PS, catalog[0].average[n].D_PS, image)) continue;215 if (!in_image (catalog[0].average[n].R, catalog[0].average[n].D, image)) continue; 216 216 add_miss_link (&catalog[0].average[n], next_miss, Nmiss); 217 217 218 218 /* calculate time of exposure for this coordinate in the image */ 219 RD_to_XY (&X, &Y, catalog[0].average[n].R _PS, catalog[0].average[n].D_PS, &image[0].coords);219 RD_to_XY (&X, &Y, catalog[0].average[n].R, catalog[0].average[n].D, &image[0].coords); 220 220 catalog[0].missing[Nmiss].t = image[0].tzero + 1e-4*Y*image[0].trate; /* trate is in 0.1 msec / row */ 221 221 catalog[0].average[n].Nn ++; … … 245 245 secz = airmass (image[0].secz_PS, stars[N].R, stars[N].D, image[0].sidtime, image[0].latitude); 246 246 247 catalog[0].average[Nave].R _PS= stars[N].R;248 catalog[0].average[Nave].D _PS= stars[N].D;249 catalog[0].average[Nave].M _PS= NO_MAG;250 catalog[0].average[Nave].dM _PS= NO_MAG;247 catalog[0].average[Nave].R = stars[N].R; 248 catalog[0].average[Nave].D = stars[N].D; 249 catalog[0].average[Nave].M = NO_MAG; 250 catalog[0].average[Nave].dM = NO_MAG; 251 251 catalog[0].average[Nave].Nm = 1; 252 252 catalog[0].average[Nave].Nn = 0; … … 257 257 catalog[0].average[Nave].missing = -1; 258 258 catalog[0].average[Nave].code = 0; 259 260 catalog[0].average[Nave].dR = 0; 261 catalog[0].average[Nave].dD = 0; 262 catalog[0].average[Nave].uR = 0; 263 catalog[0].average[Nave].uD = 0; 264 catalog[0].average[Nave].duR = 0; 265 catalog[0].average[Nave].duD = 0; 266 catalog[0].average[Nave].P = 0; 267 catalog[0].average[Nave].dP = 0; 259 268 260 269 for (j = 0; j < Nsecfilt; j++) { … … 283 292 284 293 Mcat = PhotCat (&catalog[0].measure[Nmeas]); 285 Mval = (Nsec == -1) ? &catalog[0].average[Nave].M _PS: &catalog[0].secfilt[Nave*Nsecfilt+Nsec].M_PS;294 Mval = (Nsec == -1) ? &catalog[0].average[Nave].M : &catalog[0].secfilt[Nave*Nsecfilt+Nsec].M_PS; 286 295 if (*Mval == NO_MAG) *Mval = Mcat; 287 296 … … 295 304 } 296 305 if (!FindMosaicForImage (overlap, Noverlap, j)) continue; 297 if (!in_image (catalog[0].average[Nave].R _PS, catalog[0].average[Nave].D_PS, &overlap[j])) continue;306 if (!in_image (catalog[0].average[Nave].R, catalog[0].average[Nave].D, &overlap[j])) continue; 298 307 add_miss_link (&catalog[0].average[Nave], next_miss, Nmiss); 299 308 300 309 /* get time of exposure of this portion of the image */ 301 RD_to_XY (&X, &Y, catalog[0].average[Nave].R _PS, catalog[0].average[Nave].D_PS, &overlap[j].coords);310 RD_to_XY (&X, &Y, catalog[0].average[Nave].R, catalog[0].average[Nave].D, &overlap[j].coords); 302 311 catalog[0].missing[Nmiss].t = overlap[j].tzero + 1e-4*Y*overlap[j].trate; /* rough guess at time */ 303 312 catalog[0].average[Nave].Nn ++; -
trunk/Ohana/src/addstar/src/find_matches_closest.c
r5443 r6683 71 71 /* build spatial index (RA sort) */ 72 72 for (i = 0; i < Nave; i++) { 73 fRD_to_XY (&X2[i], &Y2[i], catalog[0].average[i].R _PS, catalog[0].average[i].D_PS, &tcoords);73 fRD_to_XY (&X2[i], &Y2[i], catalog[0].average[i].R, catalog[0].average[i].D, &tcoords); 74 74 N2[i] = i; 75 75 catalog[0].found[N2[i]] = -1; … … 154 154 /** add measurements for this star **/ 155 155 /** dR,dD now represent arcsec **/ 156 catalog[0].measure[Nmeas].dR_PS = 3600.0*(catalog[0].average[n].R _PS- stars[N].R);157 catalog[0].measure[Nmeas].dD_PS = 3600.0*(catalog[0].average[n].D _PS- stars[N].D);156 catalog[0].measure[Nmeas].dR_PS = 3600.0*(catalog[0].average[n].R - stars[N].R); 157 catalog[0].measure[Nmeas].dD_PS = 3600.0*(catalog[0].average[n].D - stars[N].D); 158 158 catalog[0].measure[Nmeas].M_PS = MIN (stars[N].M + MTIME, NO_MAG); 159 159 catalog[0].measure[Nmeas].dM_PS = MIN (stars[N].dM, NO_ERR); /* error in input files stored in thousandths of mag */ … … 175 175 /* check for entries in the secfilt lists */ 176 176 Mcat = PhotCat (&catalog[0].measure[Nmeas]); 177 Mval = (Nsec == -1) ? &catalog[0].average[n].M _PS: &catalog[0].secfilt[n*Nsecfilt+Nsec].M_PS;177 Mval = (Nsec == -1) ? &catalog[0].average[n].M : &catalog[0].secfilt[n*Nsecfilt+Nsec].M_PS; 178 178 if (*Mval == NO_MAG) *Mval = Mcat; 179 179 /* in UPDATE mode, this value is not saved; use relphot to recalculate */ … … 211 211 212 212 /* should the catalog star be on this image? project into image coords */ 213 if (!in_image (catalog[0].average[n].R _PS, catalog[0].average[n].D_PS, image)) continue;213 if (!in_image (catalog[0].average[n].R, catalog[0].average[n].D, image)) continue; 214 214 add_miss_link (&catalog[0].average[n], next_miss, Nmiss); 215 215 216 216 /* calculate time of exposure for this coordinate in the image */ 217 RD_to_XY (&X, &Y, catalog[0].average[n].R _PS, catalog[0].average[n].D_PS, &image[0].coords);217 RD_to_XY (&X, &Y, catalog[0].average[n].R, catalog[0].average[n].D, &image[0].coords); 218 218 catalog[0].missing[Nmiss].t = image[0].tzero + 1e-4*Y*image[0].trate; /* trate is in 0.1 msec / row */ 219 219 catalog[0].average[n].Nn ++; … … 243 243 secz = airmass (image[0].secz_PS, stars[N].R, stars[N].D, image[0].sidtime, image[0].latitude); 244 244 245 catalog[0].average[Nave].R _PS= stars[N].R;246 catalog[0].average[Nave].D _PS= stars[N].D;247 catalog[0].average[Nave].M _PS= NO_MAG;248 catalog[0].average[Nave].dM _PS= NO_MAG;245 catalog[0].average[Nave].R = stars[N].R; 246 catalog[0].average[Nave].D = stars[N].D; 247 catalog[0].average[Nave].M = NO_MAG; 248 catalog[0].average[Nave].dM = NO_MAG; 249 249 catalog[0].average[Nave].Nm = 1; 250 250 catalog[0].average[Nave].Nn = 0; … … 255 255 catalog[0].average[Nave].missing = -1; 256 256 catalog[0].average[Nave].code = 0; 257 258 catalog[0].average[Nave].dR = 0; 259 catalog[0].average[Nave].dD = 0; 260 catalog[0].average[Nave].uR = 0; 261 catalog[0].average[Nave].uD = 0; 262 catalog[0].average[Nave].duR = 0; 263 catalog[0].average[Nave].duD = 0; 264 catalog[0].average[Nave].P = 0; 265 catalog[0].average[Nave].dP = 0; 257 266 258 267 for (j = 0; j < Nsecfilt; j++) { … … 281 290 282 291 Mcat = PhotCat (&catalog[0].measure[Nmeas]); 283 Mval = (Nsec == -1) ? &catalog[0].average[Nave].M _PS: &catalog[0].secfilt[Nave*Nsecfilt+Nsec].M_PS;292 Mval = (Nsec == -1) ? &catalog[0].average[Nave].M : &catalog[0].secfilt[Nave*Nsecfilt+Nsec].M_PS; 284 293 if (*Mval == NO_MAG) *Mval = Mcat; 285 294 … … 293 302 } 294 303 if (!FindMosaicForImage (overlap, Noverlap, j)) continue; 295 if (!in_image (catalog[0].average[Nave].R _PS, catalog[0].average[Nave].D_PS, &overlap[j])) continue;304 if (!in_image (catalog[0].average[Nave].R, catalog[0].average[Nave].D, &overlap[j])) continue; 296 305 add_miss_link (&catalog[0].average[Nave], next_miss, Nmiss); 297 306 298 307 /* get time of exposure of this portion of the image */ 299 RD_to_XY (&X, &Y, catalog[0].average[Nave].R _PS, catalog[0].average[Nave].D_PS, &overlap[j].coords);308 RD_to_XY (&X, &Y, catalog[0].average[Nave].R, catalog[0].average[Nave].D, &overlap[j].coords); 300 309 catalog[0].missing[Nmiss].t = overlap[j].tzero + 1e-4*Y*overlap[j].trate; /* rough guess at time */ 301 310 catalog[0].average[Nave].Nn ++; -
trunk/Ohana/src/addstar/src/find_matches_refstars.c
r5443 r6683 62 62 63 63 for (i = 0; i < Nave; i++) { 64 fRD_to_XY (&X2[i], &Y2[i], catalog[0].average[i].R _PS, catalog[0].average[i].D_PS, &tcoords);64 fRD_to_XY (&X2[i], &Y2[i], catalog[0].average[i].R, catalog[0].average[i].D, &tcoords); 65 65 N2[i] = i; 66 66 catalog[0].found[N2[i]] = -1; … … 128 128 /** add measurements for this star **/ 129 129 /** *** dR,dD now in arcsec *** **/ 130 catalog[0].measure[Nmeas].dR_PS = 3600.0*(catalog[0].average[n].R _PS- stars[N][0].R);131 catalog[0].measure[Nmeas].dD_PS = 3600.0*(catalog[0].average[n].D _PS- stars[N][0].D);130 catalog[0].measure[Nmeas].dR_PS = 3600.0*(catalog[0].average[n].R - stars[N][0].R); 131 catalog[0].measure[Nmeas].dD_PS = 3600.0*(catalog[0].average[n].D - stars[N][0].D); 132 132 catalog[0].measure[Nmeas].M_PS = MIN (stars[N][0].M, NO_MAG); 133 133 catalog[0].measure[Nmeas].dM_PS = MIN (stars[N][0].dM, NO_ERR); 134 134 catalog[0].measure[Nmeas].Mcal_PS = 0; 135 catalog[0].measure[Nmeas].t = (TIMEREF == 0) ? stars[N][0].t : TIMEREF; /** careful : time_t vs e_time **/136 catalog[0].measure[Nmeas].averef = n;137 catalog[0].measure[Nmeas].source = stars[N][0].code;138 catalog[0].measure[Nmeas].dophot = 0;139 catalog[0].measure[Nmeas].flags = 0;140 catalog[0].measure[Nmeas].dt_PS = 0xffff;135 catalog[0].measure[Nmeas].t = (TIMEREF == 0) ? stars[N][0].t : TIMEREF; /** careful : time_t vs e_time **/ 136 catalog[0].measure[Nmeas].averef = n; 137 catalog[0].measure[Nmeas].source = stars[N][0].code; 138 catalog[0].measure[Nmeas].dophot = 0; 139 catalog[0].measure[Nmeas].flags = 0; 140 catalog[0].measure[Nmeas].dt_PS = 0xffff; 141 141 142 142 catalog[0].measure[Nmeas].Mgal_PS = NO_MAG; … … 146 146 catalog[0].measure[Nmeas].theta = NO_ERR; 147 147 148 if (ACCEPT_MOTION) { 149 catalog[0].average[n].uR = stars[N][0].uR; 150 catalog[0].average[n].uD = stars[N][0].uD; 151 catalog[0].average[n].duR = stars[N][0].duR; 152 catalog[0].average[n].duD = stars[N][0].duD; 153 catalog[0].average[n].P = stars[N][0].P; 154 catalog[0].average[n].dP = stars[N][0].dP; 155 } 156 148 157 /** don't update average / secfilt values for REF photcodes **/ 149 158 … … 193 202 if (stars[N][0].found >= 0) continue; 194 203 195 catalog[0].average[Nave].R_PS = stars[N][0].R; 196 catalog[0].average[Nave].D_PS = stars[N][0].D; 197 catalog[0].average[Nave].M_PS = NO_MAG; 198 catalog[0].average[Nave].dM_PS = NO_MAG; 204 catalog[0].average[Nave].R = stars[N][0].R; 205 catalog[0].average[Nave].D = stars[N][0].D; 206 207 if (ACCEPT_MOTION) { 208 catalog[0].average[Nave].dR = stars[N][0].dR; 209 catalog[0].average[Nave].dD = stars[N][0].dD; 210 catalog[0].average[Nave].uR = stars[N][0].uR; 211 catalog[0].average[Nave].uD = stars[N][0].uD; 212 catalog[0].average[Nave].duR = stars[N][0].duR; 213 catalog[0].average[Nave].duD = stars[N][0].duD; 214 catalog[0].average[Nave].P = stars[N][0].P; 215 catalog[0].average[Nave].dP = stars[N][0].dP; 216 } else { 217 catalog[0].average[Nave].dR = 0; 218 catalog[0].average[Nave].dD = 0; 219 catalog[0].average[Nave].uR = 0; 220 catalog[0].average[Nave].uD = 0; 221 catalog[0].average[Nave].duR = 0; 222 catalog[0].average[Nave].duD = 0; 223 catalog[0].average[Nave].P = 0; 224 catalog[0].average[Nave].dP = 0; 225 } 226 227 catalog[0].average[Nave].M = NO_MAG; 228 catalog[0].average[Nave].dM = NO_MAG; 199 229 catalog[0].average[Nave].Nm = 1; 200 230 catalog[0].average[Nave].Nn = 0; … … 217 247 catalog[0].measure[Nmeas].dM_PS = MIN (stars[N][0].dM, NO_ERR); 218 248 catalog[0].measure[Nmeas].Mcal_PS = 0; 219 catalog[0].measure[Nmeas].t = (stars[N][0].t == 0) ? TIMEREF : stars[N][0].t; /** careful : time_t vs e_time **/220 catalog[0].measure[Nmeas].averef = Nave;221 catalog[0].measure[Nmeas].source = stars[N][0].code;222 catalog[0].measure[Nmeas].dophot = 0;223 catalog[0].measure[Nmeas].flags = 0;249 catalog[0].measure[Nmeas].t = (stars[N][0].t == 0) ? TIMEREF : stars[N][0].t; /** careful : time_t vs e_time **/ 250 catalog[0].measure[Nmeas].averef = Nave; 251 catalog[0].measure[Nmeas].source = stars[N][0].code; 252 catalog[0].measure[Nmeas].dophot = 0; 253 catalog[0].measure[Nmeas].flags = 0; 224 254 catalog[0].measure[Nmeas].dt_PS = 0xffff; 225 255 -
trunk/Ohana/src/addstar/src/gettycho.c
r6675 r6683 6 6 static SkyTable *tychoTable = NULL; 7 7 8 Stars *gettycho (SkyRegion *catstats, int photcode, double epoch,int *nstars) {8 Stars *gettycho (SkyRegion *catstats, int photcode, int *nstars) { 9 9 10 10 int i, j, nitems; … … 14 14 int NTYCHO, Ntycho; 15 15 int firstRow, firstByte; 16 Stars *stars;17 16 short int TYCHO_B, TYCHO_V; 17 e_time TychoEpoch; 18 18 SkyRegion *region; 19 19 SkyList *skylist; 20 Stars *stars; 20 21 21 22 /* require photcode */ … … 47 48 48 49 ALLOCATE (buffer, char, NITEM*NBYTE); 50 51 TychoEpoch = date_to_sec ("1991/04/02,07:30:00"); 49 52 50 53 for (i = 0; i < skylist[0].Nregions; i++) { … … 80 83 if (stars[Ntycho].D > UserPatch.Dmax) continue; 81 84 82 stars[Ntycho].t = 0; 85 stars[Ntycho].dR = 1000 * atof (&line[57]); 86 stars[Ntycho].dD = 1000 * atof (&line[64]); 87 88 /* XXX : we need to apply uR,uD to R,D to advance to 2000.0 */ 89 stars[Ntycho].uR = atof (&line[41]); 90 stars[Ntycho].uD = atof (&line[49]); 91 92 stars[Ntycho].duR = atof (&line[69]); 93 stars[Ntycho].duD = atof (&line[75]); 94 95 stars[Ntycho].P = 0; 96 stars[Ntycho].dP = 0; 97 98 /* Tycho uses J2000 equinox and 1991.25 epoch for coordinates */ 99 /* the magnitudes have no temporal information */ 100 stars[Ntycho].t = TychoEpoch; 83 101 stars[Ntycho].found = -1; 84 102 -
trunk/Ohana/src/addstar/src/getusnob.c
r6675 r6683 4 4 # define NELEM 20 5 5 6 Stars *getusnob (SkyRegion *catstats, int photcode, double epoch,int *nstars) {6 Stars *getusnob (SkyRegion *catstats, int photcode, int *nstars) { 7 7 8 8 long int offset; … … 13 13 FILE *f; 14 14 double dec; 15 double uR, uD;16 15 float m1, m2, mag; 17 16 int iDEC0, iDEC1, iRA0, iRA1; 18 17 int spd, spd_start, spd_end; 19 18 int NUSNO, Nusno, Nstars; 19 short int USNO_RED, USNO_BLUE; 20 e_time USNOepoch; 20 21 Stars *stars; 21 short int USNO_RED, USNO_BLUE;22 22 23 23 /* require photcode */ … … 110 110 } 111 111 112 USNOepoch = date_to_sec ("2000/01/01,00:00:00"); 113 112 114 buf = buffer; 113 115 /* print out data from slice within RA and DEC range */ … … 118 120 if (buf[1] > iDEC1) continue; 119 121 122 /* USNO coords are reported for J2000 / epoch 2000.0 */ 120 123 /* extract the basic stellar data */ 121 124 bzero (&stars[Nusno], sizeof(Stars)); 122 stars[Nusno].R = buf[0]/360000.0; 123 stars[Nusno].D = buf[1]/360000.0 - 90.0; 124 stars[Nusno].dM = NO_ERR; 125 stars[Nusno].t = 0; 125 stars[Nusno].R = buf[0]/360000.0; 126 stars[Nusno].D = buf[1]/360000.0 - 90.0; 127 128 /* XXX uR cos(D) or just uR ??? */ 129 stars[Nusno].uR = 2.0 * ((buf[2] % 10000) - 5000); 130 stars[Nusno].uD = 2.0 * ((buf[2]/10000 % 10000) - 5000); 131 132 stars[Nusno].duR = (buf[3] % 1000); 133 stars[Nusno].duD = (buf[3]/1000 % 1000); 134 135 stars[Nusno].dR = 0.001 * (buf[4] % 1000); 136 stars[Nusno].dD = 0.001 * (buf[4]/1000 % 1000); 137 138 stars[Nusno].P = 0; 139 stars[Nusno].dP = 0; 140 141 /* USNO magnitude errors are reported as a fixed 0.3 mag */ 142 stars[Nusno].dM = 0.3; 126 143 stars[Nusno].found = -1; 127 144 145 /* USNO-B uses J2000 equinox and 2000.0 epoch for coordinates */ 146 /* the magnitudes have no temporal information */ 147 stars[Nusno].t = USNOepoch; 148 128 149 /* one pass of addstar does either r or b */ 129 if (photcode == USNO_RED) { 130 m1 = fabs(0.01 * (buf[7] % 10000)); /* 1st red mag */ 150 if (photcode == USNO_BLUE) { 151 m1 = fabs(0.01 * (buf[5] % 10000)); /* 1st blue mag */ 152 m2 = fabs(0.01 * (buf[7] % 10000)); /* 1st blue mag */ 153 stars[Nusno].code = USNO_BLUE; 154 } else { 155 m1 = fabs(0.01 * (buf[6] % 10000)); /* 1st red mag */ 131 156 m2 = fabs(0.01 * (buf[8] % 10000)); /* 2nd red mag */ 132 157 stars[Nusno].code = USNO_RED; 133 } else {134 m1 = fabs(0.01 * (buf[5] % 10000)); /* 1st blue mag */135 m2 = fabs(0.01 * (buf[6] % 10000)); /* 1st blue mag */136 stars[Nusno].code = USNO_BLUE;137 158 } 138 159 … … 143 164 mag = (m1) ? m1 : m2; 144 165 } 166 stars[Nusno].M = (mag == 0.0) ? 32.0 : mag; 145 167 146 uR = (buf[2] % 10000);147 uR = (uR - 5000.0) * 0.002 / 3600.0;148 uD = ((buf[2] / 10000) % 10000);149 uD = (uD - 5000.0) * 0.002 / 3600.0;150 151 /* need to carry the proper motions */152 stars[Nusno].M = (mag == 0.0) ? 32.0 : mag;153 stars[Nusno].R += uR*(epoch - 2000.0);154 stars[Nusno].D += uD*(epoch - 2000.0);155 168 Nusno ++; 156 169 CHECK_REALLOCATE (stars, Stars, NUSNO, Nusno, 5000); -
trunk/Ohana/src/addstar/src/greference.c
r6675 r6683 21 21 /* get stars from the USNO B catalog for the given region */ 22 22 if (!strcasecmp (Refcat, "USNOB")) { 23 stars = getusnob (region, photcode, 2000.0,&Nstars);23 stars = getusnob (region, photcode, &Nstars); 24 24 } 25 25 26 26 /* get stars from the USNO B catalog for the given region */ 27 27 if (!strcasecmp (Refcat, "TYCHO")) { 28 stars = gettycho (region, photcode, 2000.0,&Nstars);28 stars = gettycho (region, photcode, &Nstars); 29 29 } 30 30 -
trunk/Ohana/src/addstar/src/replace_match.c
r5328 r6683 8 8 for (i = 0; i < average[0].Nm; i++) { 9 9 if (measure[i].source != star[0].code) continue; 10 measure[i].dR_PS = 3600.0*(average[0].R _PS- star[0].R);11 measure[i].dD_PS = 3600.0*(average[0].D _PS- star[0].D);10 measure[i].dR_PS = 3600.0*(average[0].R - star[0].R); 11 measure[i].dD_PS = 3600.0*(average[0].D - star[0].D); 12 12 measure[i].M_PS = MIN (star[0].M, NO_MAG); 13 13 measure[i].dM_PS = MIN (star[0].dM, NO_ERR); -
trunk/Ohana/src/addstar/src/update_coords.c
r5239 r6683 33 33 r = r / Npt; /* these are corrections in 1/100 arcsec to RA and DEC */ 34 34 d = d / Npt; 35 average[0].R _PS-= r / 3600.0;36 average[0].D _PS-= d / 3600.0;35 average[0].R -= r / 3600.0; 36 average[0].D -= d / 3600.0; 37 37 m = average[0].offset; /* first measurement of this star */ 38 38 for (i = 0; i < average[0].Nm; i++) { -
trunk/Ohana/src/gastro/src/gptolemy.c
r5320 r6683 16 16 catalog.filename = filename; 17 17 switch (lock_catalog (&catalog, LCK_SOFT)) { 18 case 0:19 case 2:20 fprintf (stderr, "can't load catalog data\n");21 return (FALSE);22 case 1:23 break;18 case 0: 19 case 2: 20 fprintf (stderr, "can't load catalog data\n"); 21 return (FALSE); 22 case 1: 23 break; 24 24 } 25 25 … … 44 44 /* select all entries, ignore magnitudes */ 45 45 for (i = 0; i < catalog.Naverage; i++, nstar++) { 46 stars[0][nstar].X = catalog.average[i].R _PS;47 stars[0][nstar].Y = catalog.average[i].D _PS;46 stars[0][nstar].X = catalog.average[i].R; 47 stars[0][nstar].Y = catalog.average[i].D; 48 48 stars[0][nstar].mag = catalog.measure[catalog.average[i].offset].M_PS; 49 49 } … … 52 52 # if (0) 53 53 for (i = 0; i < catalog.Naverage; i++, nstar++) { 54 stars[0][nstar].X = catalog.average[i].R _PS;55 stars[0][nstar].Y = catalog.average[i].D _PS;54 stars[0][nstar].X = catalog.average[i].R; 55 stars[0][nstar].Y = catalog.average[i].D; 56 56 GotIt = FALSE; 57 if (catalog.average[i].M _PS!= NO_MAG) {58 stars[0][nstar].mag = catalog.average[i].M _PS;57 if (catalog.average[i].M != NO_MAG) { 58 stars[0][nstar].mag = catalog.average[i].M; 59 59 GotIt = TRUE; 60 60 } -
trunk/Ohana/src/gastro2/src/gptolemy2.c
r5320 r6683 18 18 catalog.filename = filename; 19 19 switch (lock_catalog (&catalog, LCK_SOFT)) { 20 case 0:21 case 2:22 fprintf (stderr, "can't lock catalog data %s\n", filename);23 return ((GSCdata *)NULL);24 case 1:25 break;20 case 0: 21 case 2: 22 fprintf (stderr, "can't lock catalog data %s\n", filename); 23 return ((GSCdata *)NULL); 24 case 1: 25 break; 26 26 } 27 27 … … 42 42 /* select all entries, ignore magnitudes */ 43 43 for (i = 0; i < catalog.Naverage; i++, nstar++) { 44 stars[nstar].R = catalog.average[i].R _PS;45 stars[nstar].D = catalog.average[i].D _PS;44 stars[nstar].R = catalog.average[i].R; 45 stars[nstar].D = catalog.average[i].D; 46 46 stars[nstar].M = catalog.measure[catalog.average[i].offset].M_PS; 47 47 } -
trunk/Ohana/src/libautocode/Makefile
r6454 r6683 29 29 $(SRC)/average-elixir.$(ARCH).o \ 30 30 $(SRC)/average-panstarrs.$(ARCH).o \ 31 $(SRC)/average-pmtest.$(ARCH).o \ 31 32 $(SRC)/secfilt.$(ARCH).o \ 32 33 $(SRC)/secfilt-loneos.$(ARCH).o \ … … 61 62 $(INC)/average-elixir.h \ 62 63 $(INC)/average-panstarrs.h \ 64 $(INC)/average-pmtest.h \ 63 65 $(INC)/secfilt.h \ 64 66 $(INC)/secfilt-loneos.h \ -
trunk/Ohana/src/libautocode/def/Stars.d
r6678 r6683 2 2 EXTNAME STARS 3 3 TYPE BINTABLE 4 SIZE 1 284 SIZE 176 5 5 6 FIELD X, X, double, x coordinate on image 7 FIELD Y, Y, double, y coordinate on image 8 FIELD R, R, double, ra coordinate on sky 9 FIELD D, D, double, dec coordinate on sky 10 FIELD uR, uR, double, proper motion in RA 11 FIELD uD, uD, double, proper motion in DEC 12 FIELD M, M, double, instrumental mag 13 FIELD dM, DM, double, error on mag 14 FIELD sky, SKY, double, local sky counts 15 FIELD fx, FX, double, object FWHM x-dir 16 FIELD fy, FY, double, object FWHM y-dir 17 FIELD df, DF, double, object position angle 18 FIELD Mgal, MGAL, double, alternative (galaxy) magnitude 19 FIELD Map, MAP, double, alternative (aperture) magnitude 20 FIELD found, FOUND, int, found in database catalog? 21 FIELD t, T, e_time, date/time of exposure (UNIX) 22 FIELD code, CODE, short, . 23 FIELD dophot, DOPHOT, char, dophot type code 24 FIELD dummy, DUMMY, char[5], . 6 FIELD X, X, double, x coordinate on image, pixels 7 FIELD Y, Y, double, y coordinate on image, pixels 8 FIELD R, R, double, ra coordinate on sky, decimal degrees 9 FIELD D, D, double, dec coordinate on sky, decimal degrees 10 FIELD dR, dR, double, ra error, arcsec 11 FIELD dD, dD, double, dec error, arcsec 12 FIELD uR, U_RA, double, proper motion in RA, milliarcsec/year 13 FIELD uD, U_DEC, double, proper motion in DEC, milliarcsec/year 14 FIELD duR, U_RA_ERR, double, p-m error in RA, milliarcsec/year 15 FIELD duD, U_DEC_ERR, double, p-m error in DEC, milliarcsec/year 16 FIELD P, PAR, double, parallax, milliarcsec 17 FIELD dP, PAR_ERR, double, parallax error, milliarcsec 18 FIELD M, M, double, instrumental mag 19 FIELD dM, DM, double, error on mag 20 FIELD sky, SKY, double, local sky counts 21 FIELD fx, FX, double, object FWHM x-dir, pixels? 22 FIELD fy, FY, double, object FWHM y-dir, pixels? 23 FIELD df, DF, double, object position angle, degrees 24 FIELD Mgal, MGAL, double, alternative (galaxy) magnitude 25 FIELD Map, MAP, double, alternative (aperture) magnitude 26 FIELD found, FOUND, int, found in database catalog? 27 FIELD t, T, e_time, date/time of exposure (UNIX) 28 FIELD code, CODE, short, . 29 FIELD dophot, DOPHOT, char, dophot type code 30 FIELD dummy, DUMMY, char[5], . 31 32 # this structure is only used internally and for interprocess communication (addstar) 33 # dR, uR, etc should be better defined at the pole... 34 # define down the types to floats where reasonable (all but R,D)? 35 # R,D should be in ICRS, J2000, epoch 2000 : precess as needed, apply p-m as needed -
trunk/Ohana/src/libautocode/def/average-panstarrs.d
r5014 r6683 18 18 FIELD offset, offset, int, offset to first measurement 19 19 FIELD missing, missing, int, offset to first missing obs 20 FIELD dummy, dummmy, int, extra space 20 FIELD dummy, dummy, int, extra space 21 22 # change this table eventually to a temp name and provide a script to fix existing DBs -
trunk/Ohana/src/libautocode/def/average.d
r6454 r6683 2 2 EXTNAME DVO_AVERAGE 3 3 TYPE BINTABLE 4 SIZE 444 SIZE 76 5 5 DESCRIPTION DVO Average Object Table 6 6 7 7 # elements of data structure / FITS table 8 8 9 FIELD R_PS, RA, double, RA, decimal degrees 10 FIELD D_PS, DEC, double, DEC, decimal degrees 11 FIELD M_PS, MAG, float, primary mag, mag 12 FIELD dM_PS, MAG_ERR, float, error on primary mag, mag 9 FIELD R, RA, double, RA, decimal degrees 10 FIELD D, DEC, double, DEC, decimal degrees 11 FIELD dR, RA_ERR, float, RA error arcsec 12 FIELD dD, DEC_ERR, float, DEC error arcsec 13 14 FIELD uR, U_RA, float, RA*cos(D) proper-motion, arcsec/year 15 FIELD uD, U_DEC, float, DEC proper-motion, arcsec/year 16 FIELD duR, V_RA_ERR, float, RA*cos(D) p-m error, arcsec/year 17 FIELD duD, V_DEC_ERR, float, DEC p-m error, arcsec/year 18 FIELD P, PAR, float, parallax, arcsec 19 FIELD dP, PAR_ERR, float, parallax error, arcsec 20 21 FIELD M, MAG, float, primary mag, mag 22 FIELD dM, MAG_ERR, float, error on primary mag, mag 13 23 FIELD Xp, SIGMA_POS, short, position scatter, 1/100 arcsec 14 24 FIELD Xm, CHISQ_MAG, short, chisq for primary mag, [100*log(value)] … … 20 30 FIELD missing, missing, int, offset to first missing obs 21 31 22 # 23 # V_RA, float, proper-motion (arcsec/year), 24 # V_DEC float, proper-motion (arcsec/year), 25 # PAR float parallax (arcseconds) 26 # D_V_RA float, proper-motion error (arcsec/year), 27 # D_V_DEC float, proper-motion error (arcsec/year), 28 # D_PAR float parallax error (arcseconds) 32 # this structure should only be used for internal representations 33 # the average-FORMAT structures should be used for external representations -
trunk/Ohana/src/libdvo/Makefile
r5441 r6683 41 41 $(SRC)/dvo_convert_loneos.$(ARCH).o \ 42 42 $(SRC)/dvo_convert_panstarrs.$(ARCH).o \ 43 $(SRC)/dvo_convert_pmtest.$(ARCH).o \ 43 44 $(SRC)/skyregion_io.$(ARCH).o \ 44 45 $(SRC)/skyregion_gsc.$(ARCH).o \ … … 51 52 $(ASRC)/average-elixir.$(ARCH).o \ 52 53 $(ASRC)/average-panstarrs.$(ARCH).o \ 54 $(ASRC)/average-pmtest.$(ARCH).o \ 53 55 $(ASRC)/secfilt.$(ARCH).o \ 54 56 $(ASRC)/secfilt-loneos.$(ARCH).o \ -
trunk/Ohana/src/libdvo/include/dvo.h
r6643 r6683 6 6 # define DVO_H 7 7 8 # define ELIXIR 1 9 # define PANSTARRS 0 10 # define LONEOS 0 8 /* 9 # define ELIXIR 1 10 # define PANSTARRS 0 11 # define LONEOS 0 12 */ 11 13 12 14 /*** named data values (convert all to enums?) ***/ … … 16 18 17 19 /* DVO table formats */ 18 enum {DVO_FORMAT_UNDEF, DVO_FORMAT_INTERNAL, DVO_FORMAT_ELIXIR, DVO_FORMAT_LONEOS, DVO_FORMAT_PANSTARRS } DVOTableFormat;20 enum {DVO_FORMAT_UNDEF, DVO_FORMAT_INTERNAL, DVO_FORMAT_ELIXIR, DVO_FORMAT_LONEOS, DVO_FORMAT_PANSTARRS, DVO_FORMAT_PMTEST} DVOTableFormat; 19 21 20 22 /* image data modes in RegImage */ … … 63 65 /* some subtle distinctions between the blend flags: 64 66 BLEND_IMAGE: the star on an image is matched with more 65 than one star in the catalog (image has worse seeing than catalog)67 than one star in the catalog (image has worse seeing than catalog) 66 68 BLEND_CATALOG: the star in the catalog is matched with more 67 than one star on the image (image has better seeing than catalog)69 than one star on the image (image has better seeing than catalog) 68 70 CALIBRATED: relative photometry has been performed on this measurement 69 71 BLEND_IMAGE_NEIGHBOR: the star on an image is matched with more 70 than one star in the catalog, but not in the same catalog file.72 than one star in the catalog, but not in the same catalog file. 71 73 */ 72 74 … … 285 287 Average *AverageElixirToInternal (AverageElixir *in, int Nvalues); 286 288 Average *AveragePanstarrsToInternal (AveragePanstarrs *in, int Nvalues); 289 Average *AveragePMtestToInternal (AveragePMtest *in, int Nvalues); 287 290 AverageLoneos *AverageInternalToLoneos (Average *in, int Nvalues); 288 291 AverageElixir *AverageInternalToElixir (Average *in, int Nvalues); 289 292 AveragePanstarrs *AverageInternalToPanstarrs (Average *in, int Nvalues); 293 AveragePMtest *AverageInternalToPMtest (Average *in, int Nvalues); 290 294 291 295 Measure *FtableToMeasure (FTable *ftable, int *Nmeasure, int *format); -
trunk/Ohana/src/libdvo/src/LoadPhotcodes.c
r5241 r6683 630 630 Ns2 = photcodes[0].hashNsec[code[0].c2]; 631 631 632 m1 = (Ns1 == -1) ? average[0].M _PS: secfilt[Ns1].M_PS;633 m2 = (Ns2 == -1) ? average[0].M _PS: secfilt[Ns2].M_PS;632 m1 = (Ns1 == -1) ? average[0].M : secfilt[Ns1].M_PS; 633 m2 = (Ns2 == -1) ? average[0].M : secfilt[Ns2].M_PS; 634 634 mc = ((m1 == NO_MAG_PS) || (m2 == NO_MAG_PS)) ? NO_MAG_PS : (m1 - m2); 635 635 return (mc); … … 647 647 } else { 648 648 Ns = photcodes[0].hashNsec[color[0].code]; 649 m1 = (Ns == -1) ? average[0].M _PS: secfilt[Ns].M_PS;649 m1 = (Ns == -1) ? average[0].M : secfilt[Ns].M_PS; 650 650 } 651 651 … … 661 661 } else { 662 662 Ns = photcodes[0].hashNsec[color[0].code]; 663 m2 = (Ns == -1) ? average[0].M _PS: secfilt[Ns].M_PS;663 m2 = (Ns == -1) ? average[0].M : secfilt[Ns].M_PS; 664 664 } 665 665 mc = ((m1 == NO_MAG_PS) || (m2 == NO_MAG_PS)) ? NO_MAG_PS : (m1 - m2); … … 675 675 676 676 Ns = photcodes[0].hashNsec[code[0].code]; 677 Mave = (Ns == -1) ? average[0].M _PS: secfilt[Ns].M_PS;677 Mave = (Ns == -1) ? average[0].M : secfilt[Ns].M_PS; 678 678 Mref = Mave + F_PS*code[0].C; 679 679 … … 699 699 700 700 Ns = photcodes[0].hashNsec[code[0].code]; 701 Mave = (Ns == -1) ? average[0].M _PS: secfilt[Ns].M_PS;701 Mave = (Ns == -1) ? average[0].M : secfilt[Ns].M_PS; 702 702 return (Mave); 703 703 } … … 710 710 711 711 Ns = photcodes[0].hashNsec[code[0].code]; 712 dM = (Ns == -1) ? average[0].dM _PS: secfilt[Ns].dM_PS;712 dM = (Ns == -1) ? average[0].dM : secfilt[Ns].dM_PS; 713 713 return (dM); 714 714 } … … 746 746 } else { 747 747 Ns = photcodes[0].hashNsec[code[0].code]; 748 M1 = (Ns == -1) ? average[0].M _PS: secfilt[Ns].M_PS;748 M1 = (Ns == -1) ? average[0].M : secfilt[Ns].M_PS; 749 749 } 750 750 751 filter1:751 filter1: 752 752 code = GetPhotcodebyCode (c2); 753 753 if (code == NULL) return (FALSE); … … 762 762 } else { 763 763 Ns = photcodes[0].hashNsec[code[0].code]; 764 M2 = (Ns == -1) ? average[0].M _PS: secfilt[Ns].M_PS;764 M2 = (Ns == -1) ? average[0].M : secfilt[Ns].M_PS; 765 765 } 766 766 767 filter2:767 filter2: 768 768 769 769 dM = M1 - M2; … … 776 776 777 777 # code name type zero airmass offset c1 c2 slope <color> primary 778 1 B pri 24.0 0.15 - - - - - -779 2 B pri 24.0 0.15 - - - - - -780 3 B1 sec 22.5 0.18 0.15 1 2 0.10 0.50 1781 1000 USNO_B ref - - - - - - - -778 1 B pri 24.0 0.15 - - - - - - 779 2 B pri 24.0 0.15 - - - - - - 780 3 B1 sec 22.5 0.18 0.15 1 2 0.10 0.50 1 781 1000 USNO_B ref - - - - - - - - 782 782 783 783 */ -
trunk/Ohana/src/libdvo/src/dvo_catalog_raw.c
r5320 r6683 32 32 if (!strcmp (format, "ELIXIR")) catalog[0].catformat = DVO_FORMAT_ELIXIR; 33 33 if (!strcmp (format, "PANSTARRS")) catalog[0].catformat = DVO_FORMAT_PANSTARRS; 34 if (!strcmp (format, "PMTEST")) catalog[0].catformat = DVO_FORMAT_PMTEST; 34 35 if (catalog[0].catformat != DVO_FORMAT_UNDEF) goto got_format; 35 36 } … … 71 72 case DVO_FORMAT_PANSTARRS: 72 73 AverageSize = sizeof(AveragePanstarrs); 74 MeasureSize = sizeof(MeasurePanstarrs); 75 SecFiltSize = sizeof (SecFiltPanstarrs); 76 break; 77 case DVO_FORMAT_PMTEST: 78 AverageSize = sizeof(AveragePMtest); 73 79 MeasureSize = sizeof(MeasurePanstarrs); 74 80 SecFiltSize = sizeof (SecFiltPanstarrs); … … 157 163 158 164 if (VERBOSE) fprintf (stderr, "read %d stars from catalog file %s (%d measurements, %d missing, %d secondary filters)\n", 159 catalog[0].Naverage, catalog[0].filename, catalog[0].Nmeasure, catalog[0].Nmissing, catalog[0].Nsecfilt);165 catalog[0].Naverage, catalog[0].filename, catalog[0].Nmeasure, catalog[0].Nmissing, catalog[0].Nsecfilt); 160 166 161 167 /* check data integrity */ … … 198 204 if (catalog[0].catformat == DVO_FORMAT_ELIXIR) fits_modify (&catalog[0].header, "FORMAT", "%s", 1, "ELIXIR"); 199 205 if (catalog[0].catformat == DVO_FORMAT_PANSTARRS) fits_modify (&catalog[0].header, "FORMAT", "%s", 1, "PANSTARRS"); 206 if (catalog[0].catformat == DVO_FORMAT_PMTEST) fits_modify (&catalog[0].header, "FORMAT", "%s", 1, "PMTEST"); 200 207 201 208 /* rewind file pointers and truncate file */ … … 243 250 AverageLoneos *tmpAverageLoneos; 244 251 AveragePanstarrs *tmpAveragePanstarrs; 252 AveragePMtest *tmpAveragePMtest; 245 253 246 254 switch (format) { … … 287 295 free (tmpAveragePanstarrs); 288 296 break; 297 case DVO_FORMAT_PMTEST: 298 ALLOCATE (tmpAveragePMtest, AveragePMtest, MAX (Naverage, 1)); 299 nitems = fread (tmpAveragePMtest, sizeof(AveragePMtest), Naverage, f); 300 if (nitems != Naverage) { 301 fprintf (stderr, "failed to read averages (%d vs %d)\n", nitems, Naverage); 302 return (NULL); 303 } 304 fits_convert_AveragePMtest (tmpAveragePMtest, sizeof(AveragePMtest), Naverage); 305 average = AveragePMtestToInternal (tmpAveragePMtest, Naverage); 306 free (tmpAveragePMtest); 307 break; 289 308 default: 290 309 fprintf (stderr, "error reading measures\n"); … … 302 321 AverageLoneos *tmpAverageLoneos; 303 322 AveragePanstarrs *tmpAveragePanstarrs; 323 AveragePMtest *tmpAveragePMtest; 304 324 305 325 switch (format) { … … 342 362 } 343 363 break; 364 case DVO_FORMAT_PMTEST: 365 tmpAveragePMtest = AverageInternalToPMtest (average, Naverage); 366 fits_convert_AveragePMtest (tmpAveragePMtest, sizeof(AveragePMtest), Naverage); 367 nitems = fwrite (tmpAveragePMtest, sizeof(AveragePMtest), Naverage, f); 368 free (tmpAveragePMtest); 369 if (nitems != Naverage) { 370 fprintf (stderr, "failed to write averages (%d vs %d)\n", nitems, Naverage); 371 return (FALSE); 372 } 373 break; 344 374 default: 345 375 fprintf (stderr, "error writing averages\n"); … … 392 422 break; 393 423 case DVO_FORMAT_PANSTARRS: 424 case DVO_FORMAT_PMTEST: 394 425 ALLOCATE (tmpMeasurePanstarrs, MeasurePanstarrs, MAX (Nmeasure, 1)); 395 426 nitems = fread (tmpMeasurePanstarrs, sizeof(MeasurePanstarrs), Nmeasure, f); … … 448 479 break; 449 480 case DVO_FORMAT_PANSTARRS: 481 case DVO_FORMAT_PMTEST: 450 482 tmpMeasurePanstarrs = MeasureInternalToPanstarrs (measure, Nmeasure); 451 483 fits_convert_MeasurePanstarrs (tmpMeasurePanstarrs, sizeof(MeasurePanstarrs), Nmeasure); … … 507 539 break; 508 540 case DVO_FORMAT_PANSTARRS: 541 case DVO_FORMAT_PMTEST: 509 542 ALLOCATE (tmpSecFiltPanstarrs, SecFiltPanstarrs, MAX (Nsecfilt, 1)); 510 543 nitems = fread (tmpSecFiltPanstarrs, sizeof(SecFiltPanstarrs), Nsecfilt, f); … … 563 596 break; 564 597 case DVO_FORMAT_PANSTARRS: 598 case DVO_FORMAT_PMTEST: 565 599 tmpSecFiltPanstarrs = SecFiltInternalToPanstarrs (secfilt, Nsecfilt); 566 600 fits_convert_SecFiltPanstarrs (tmpSecFiltPanstarrs, sizeof(SecFiltPanstarrs), Nsecfilt); -
trunk/Ohana/src/libdvo/src/dvo_convert.c
r5241 r6683 6 6 The TYPE-Ftable conversions functions create output tables in the format requested 7 7 by the 'format' function parameter. 8 */8 */ 9 9 10 10 /** this file might be more readable if I use macros for the repetative … … 52 52 return (average); 53 53 } 54 if (!strcmp (extname, "DVO_AVERAGE_PMTEST")) { 55 AveragePMtest *tmpAverage; 56 tmpAverage = fits_table_get_AveragePMtest (ftable, Naverage, NULL); 57 average = AveragePMtestToInternal (tmpAverage, *Naverage); 58 free (tmpAverage); 59 *format = DVO_FORMAT_PMTEST; 60 return (average); 61 } 54 62 55 63 fprintf (stderr, "table format unknown: %s\n", extname); … … 64 72 AverageLoneos *tmpAverageLoneos ; 65 73 AveragePanstarrs *tmpAveragePanstarrs; 74 AveragePMtest *tmpAveragePMtest; 66 75 67 76 /* convert from the internal format */ … … 84 93 fits_table_set_AveragePanstarrs (ftable, tmpAveragePanstarrs, Naverage); 85 94 free (tmpAveragePanstarrs); 95 break; 96 case DVO_FORMAT_PMTEST: 97 tmpAveragePMtest = AverageInternalToPMtest (average, Naverage); 98 fits_table_set_AveragePMtest (ftable, tmpAveragePMtest, Naverage); 99 free (tmpAveragePMtest); 86 100 break; 87 101 default: … … 125 139 return (measure); 126 140 } 127 if (!strcmp (extname, "DVO_MEASURE_PANSTARRS") ) {141 if (!strcmp (extname, "DVO_MEASURE_PANSTARRS") || !strcmp (extname, "DVO_MEASURE_PMTEST")) { 128 142 MeasurePanstarrs *tmpMeasure; 129 143 tmpMeasure = fits_table_get_MeasurePanstarrs (ftable, Nmeasure, NULL); … … 162 176 break; 163 177 case DVO_FORMAT_PANSTARRS: 178 case DVO_FORMAT_PMTEST: 164 179 tmpMeasurePanstarrs = MeasureInternalToPanstarrs (measure, Nmeasure); 165 180 fits_table_set_MeasurePanstarrs (ftable, tmpMeasurePanstarrs, Nmeasure); … … 206 221 return (secfilt); 207 222 } 208 if (!strcmp (extname, "DVO_SECFILT_PANSTARRS") ) {223 if (!strcmp (extname, "DVO_SECFILT_PANSTARRS") || !strcmp (extname, "DVO_SECFILT_PMTEST")) { 209 224 SecFiltPanstarrs *tmpSecFilt; 210 225 tmpSecFilt = fits_table_get_SecFiltPanstarrs (ftable, Nsecfilt, NULL); … … 243 258 break; 244 259 case DVO_FORMAT_PANSTARRS: 260 case DVO_FORMAT_PMTEST: 245 261 tmpSecFiltPanstarrs = SecFiltInternalToPanstarrs (secfilt, Nsecfilt); 246 262 fits_table_set_SecFiltPanstarrs (ftable, tmpSecFiltPanstarrs, Nsecfilt); … … 297 313 goto set_header; 298 314 } 299 if (!strcmp (extname, "DVO_IMAGE_PANSTARRS") ) {315 if (!strcmp (extname, "DVO_IMAGE_PANSTARRS") || !strcmp (extname, "DVO_IMAGE_PMTEST")) { 300 316 ImagePanstarrs *tmpimage; 301 317 *format = DVO_FORMAT_PANSTARRS; … … 344 360 break; 345 361 case DVO_FORMAT_PANSTARRS: 362 case DVO_FORMAT_PMTEST: 346 363 tmpImagePanstarrs = ImageInternalToPanstarrs ((Image *) ftable[0].buffer, Nimage); 347 364 free (ftable[0].buffer); … … 358 375 int ImageToVtable (VTable *vtable, Header *theader, int format) { 359 376 377 ImageElixir *tmpImageElixir; 378 ImageLoneos *tmpImageLoneos; 379 ImagePanstarrs *tmpImagePanstarrs; 360 380 int i, Nrow, Nimage; 361 381 … … 363 383 364 384 /* convert from the internal format */ 365 if (format == DVO_FORMAT_INTERNAL) { 366 for (i = 0; i < Nrow; i++) { 367 fits_convert_Image ((Image *) vtable[0].buffer[i], sizeof(Image), 1); 368 } 369 return (TRUE); 370 } 371 if (format == DVO_FORMAT_ELIXIR) { 372 ImageElixir *tmpImage; 373 374 /* convert table rows from internal to external format */ 375 for (i = 0; i < Nrow; i++) { 376 tmpImage = ImageInternalToElixir ((Image *) vtable[0].buffer[i], 1); 377 fits_convert_ImageElixir (tmpImage, sizeof(ImageElixir), 1); 378 free (vtable[0].buffer[i]); 379 vtable[0].buffer[i] = (char *) tmpImage; 380 } 381 382 /* convert header from old format to new format */ 383 fits_scan (theader, "NAXIS2", "%d", 1, &Nimage); 384 385 fits_free_header (theader); 386 fits_table_mkheader_ImageElixir (theader); 387 388 fits_modify (theader, "NAXIS2", "%d", 1, Nimage); 389 theader[0].Naxis[1] = Nimage; 390 vtable[0].size = fits_matrix_size (theader); 391 return (TRUE); 392 } 393 if (format == DVO_FORMAT_LONEOS) { 394 ImageLoneos *tmpImage; 395 396 /* convert table rows from internal to external format */ 397 for (i = 0; i < Nrow; i++) { 398 tmpImage = ImageInternalToLoneos ((Image *) vtable[0].buffer[i], 1); 399 fits_convert_ImageLoneos (tmpImage, sizeof(ImageLoneos), 1); 400 free (vtable[0].buffer[i]); 401 vtable[0].buffer[i] = (char *) tmpImage; 402 } 403 404 /* convert header from old format to new format */ 405 fits_scan (theader, "NAXIS2", "%d", 1, &Nimage); 406 407 fits_free_header (theader); 408 fits_table_mkheader_ImageLoneos (theader); 409 410 fits_modify (theader, "NAXIS2", "%d", 1, Nimage); 411 theader[0].Naxis[1] = Nimage; 412 vtable[0].size = fits_matrix_size (theader); 413 return (TRUE); 414 } 415 if (format == DVO_FORMAT_PANSTARRS) { 416 ImagePanstarrs *tmpImage; 417 418 /* convert table rows from internal to external format */ 419 for (i = 0; i < Nrow; i++) { 420 tmpImage = ImageInternalToPanstarrs ((Image *) vtable[0].buffer[i], 1); 421 fits_convert_ImagePanstarrs (tmpImage, sizeof(ImagePanstarrs), 1); 422 free (vtable[0].buffer[i]); 423 vtable[0].buffer[i] = (char *) tmpImage; 424 } 425 426 /* convert header from old format to new format */ 427 fits_scan (theader, "NAXIS2", "%d", 1, &Nimage); 428 fits_free_header (theader); 429 fits_table_mkheader_ImagePanstarrs (theader); 430 fits_modify (theader, "NAXIS2", "%d", 1, Nimage); 431 theader[0].Naxis[1] = Nimage; 432 vtable[0].size = fits_matrix_size (theader); 433 return (TRUE); 385 switch (format) { 386 case DVO_FORMAT_INTERNAL: 387 for (i = 0; i < Nrow; i++) { 388 fits_convert_Image ((Image *) vtable[0].buffer[i], sizeof(Image), 1); 389 } 390 return (TRUE); 391 case DVO_FORMAT_ELIXIR: 392 /* convert table rows from internal to external format */ 393 for (i = 0; i < Nrow; i++) { 394 tmpImageElixir = ImageInternalToElixir ((Image *) vtable[0].buffer[i], 1); 395 fits_convert_ImageElixir (tmpImageElixir, sizeof(ImageElixir), 1); 396 free (vtable[0].buffer[i]); 397 vtable[0].buffer[i] = (char *) tmpImageElixir; 398 } 399 400 /* convert header from old format to new format */ 401 fits_scan (theader, "NAXIS2", "%d", 1, &Nimage); 402 403 fits_free_header (theader); 404 fits_table_mkheader_ImageElixir (theader); 405 406 fits_modify (theader, "NAXIS2", "%d", 1, Nimage); 407 theader[0].Naxis[1] = Nimage; 408 vtable[0].size = fits_matrix_size (theader); 409 return (TRUE); 410 case DVO_FORMAT_LONEOS: 411 /* convert table rows from internal to external format */ 412 for (i = 0; i < Nrow; i++) { 413 tmpImageLoneos = ImageInternalToLoneos ((Image *) vtable[0].buffer[i], 1); 414 fits_convert_ImageLoneos (tmpImageLoneos, sizeof(ImageLoneos), 1); 415 free (vtable[0].buffer[i]); 416 vtable[0].buffer[i] = (char *) tmpImageLoneos; 417 } 418 419 /* convert header from old format to new format */ 420 fits_scan (theader, "NAXIS2", "%d", 1, &Nimage); 421 422 fits_free_header (theader); 423 fits_table_mkheader_ImageLoneos (theader); 424 425 fits_modify (theader, "NAXIS2", "%d", 1, Nimage); 426 theader[0].Naxis[1] = Nimage; 427 vtable[0].size = fits_matrix_size (theader); 428 return (TRUE); 429 case DVO_FORMAT_PANSTARRS: 430 /* convert table rows from internal to external format */ 431 for (i = 0; i < Nrow; i++) { 432 tmpImagePanstarrs = ImageInternalToPanstarrs ((Image *) vtable[0].buffer[i], 1); 433 fits_convert_ImagePanstarrs (tmpImagePanstarrs, sizeof(ImagePanstarrs), 1); 434 free (vtable[0].buffer[i]); 435 vtable[0].buffer[i] = (char *) tmpImagePanstarrs; 436 } 437 438 /* convert header from old format to new format */ 439 fits_scan (theader, "NAXIS2", "%d", 1, &Nimage); 440 fits_free_header (theader); 441 fits_table_mkheader_ImagePanstarrs (theader); 442 fits_modify (theader, "NAXIS2", "%d", 1, Nimage); 443 theader[0].Naxis[1] = Nimage; 444 vtable[0].size = fits_matrix_size (theader); 445 return (TRUE); 446 default: 447 break; 434 448 } 435 449 fprintf (stderr, "table format unknown (image vtable)\n"); -
trunk/Ohana/src/libdvo/src/dvo_convert_elixir.c
r5241 r6683 68 68 69 69 for (i = 0; i < Nvalues; i++) { 70 out[i].R _PS= in[i].R;71 out[i].D _PS= in[i].D;72 out[i].M _PS= in[i].M * 0.001;73 out[i].dM _PS= in[i].dM * 0.001;70 out[i].R = in[i].R; 71 out[i].D = in[i].D; 72 out[i].M = in[i].M * 0.001; 73 out[i].dM = in[i].dM * 0.001; 74 74 out[i].Xp = in[i].Xp; 75 75 out[i].Xm = in[i].Xm; … … 80 80 out[i].missing = in[i].missing; 81 81 out[i].Xg = in[i].Xg; 82 83 /* these don't exist in Elixir */ 84 out[i].dR = 0; 85 out[i].dD = 0; 86 out[i].uR = 0; 87 out[i].uD = 0; 88 out[i].duR = 0; 89 out[i].duD = 0; 90 out[i].P = 0; 91 out[i].dP = 0; 82 92 } 83 93 return (out); … … 93 103 94 104 for (i = 0; i < Nvalues; i++) { 95 out[i].R = in[i].R _PS;96 out[i].D = in[i].D _PS;97 out[i].M = in[i].M _PS* 1000.0;98 out[i].dM = in[i].dM _PS* 1000.0;105 out[i].R = in[i].R; 106 out[i].D = in[i].D; 107 out[i].M = in[i].M * 1000.0; 108 out[i].dM = in[i].dM * 1000.0; 99 109 out[i].Xp = in[i].Xp; 100 110 out[i].Xm = in[i].Xm; -
trunk/Ohana/src/libdvo/src/dvo_convert_loneos.c
r5241 r6683 67 67 68 68 for (i = 0; i < Nvalues; i++) { 69 out[i].R _PS= in[i].R;70 out[i].D _PS= in[i].D;71 out[i].M _PS= in[i].M * 0.001;69 out[i].R = in[i].R; 70 out[i].D = in[i].D; 71 out[i].M = in[i].M * 0.001; 72 72 out[i].Xp = in[i].Xp; 73 73 out[i].Xm = in[i].Xm; … … 79 79 80 80 /* these don't exist in Loneos */ 81 out[i].dM_PS = 0xffff; 81 out[i].dR = 0; 82 out[i].dD = 0; 83 out[i].uR = 0; 84 out[i].uD = 0; 85 out[i].duR = 0; 86 out[i].duD = 0; 87 out[i].P = 0; 88 out[i].dP = 0; 89 out[i].dM = 0xffff; 82 90 out[i].Xg = 0xffff; 83 91 } … … 94 102 95 103 for (i = 0; i < Nvalues; i++) { 96 out[i].R = in[i].R _PS;97 out[i].D = in[i].D _PS;98 out[i].M = in[i].M _PS* 1000.0;104 out[i].R = in[i].R; 105 out[i].D = in[i].D; 106 out[i].M = in[i].M * 1000.0; 99 107 out[i].Xp = in[i].Xp; 100 108 out[i].Xm = in[i].Xm; -
trunk/Ohana/src/libdvo/src/dvo_convert_panstarrs.c
r5241 r6683 70 70 71 71 for (i = 0; i < Nvalues; i++) { 72 out[i].R _PS= in[i].R;73 out[i].D _PS= in[i].D;74 out[i].M _PS= in[i].M;75 out[i].dM _PS= in[i].dM;72 out[i].R = in[i].R; 73 out[i].D = in[i].D; 74 out[i].M = in[i].M; 75 out[i].dM = in[i].dM; 76 76 out[i].Xp = in[i].Xp; 77 77 out[i].Xm = in[i].Xm; … … 82 82 out[i].offset = in[i].offset; 83 83 out[i].missing = in[i].missing; 84 85 /* these don't exist in Panstarrs */ 86 out[i].dR = 0; 87 out[i].dD = 0; 88 out[i].uR = 0; 89 out[i].uD = 0; 90 out[i].duR = 0; 91 out[i].duD = 0; 92 out[i].P = 0; 93 out[i].dP = 0; 84 94 } 85 95 return (out); … … 95 105 96 106 for (i = 0; i < Nvalues; i++) { 97 out[i].R = in[i].R _PS;98 out[i].D = in[i].D _PS;99 out[i].M = in[i].M _PS;100 out[i].dM = in[i].dM _PS;107 out[i].R = in[i].R; 108 out[i].D = in[i].D; 109 out[i].M = in[i].M; 110 out[i].dM = in[i].dM; 101 111 out[i].Xp = in[i].Xp; 102 112 out[i].Xm = in[i].Xm; -
trunk/Ohana/src/libohana/src/time.c
r5926 r6683 48 48 value += tmp / 3600.0; 49 49 50 escape:50 escape: 51 51 if (neg) { 52 52 value *= -1; … … 64 64 *ra = *dec = 0; 65 65 switch (dms_to_ddd (&Ra, str1)) { 66 case 0:67 fprintf (stderr, "syntax error in RA\n");68 return (FALSE);69 case 1:70 break;71 case 2:72 Ra = Ra * 15;73 break;66 case 0: 67 fprintf (stderr, "syntax error in RA\n"); 68 return (FALSE); 69 case 1: 70 break; 71 case 2: 72 Ra = Ra * 15; 73 break; 74 74 } 75 75 switch (dms_to_ddd (&Dec, str2)) { 76 case 0:77 fprintf (stderr, "syntax error in DEC\n");78 return (FALSE);79 case 1:80 case 2:81 break;76 case 0: 77 fprintf (stderr, "syntax error in DEC\n"); 78 return (FALSE); 79 case 1: 80 case 2: 81 break; 82 82 } 83 83 *ra = Ra; … … 151 151 152 152 switch (chk_time (line)) { 153 case 0:154 return (FALSE);155 case TIME_DATE:156 *second = date_to_sec (line);157 return (TRUE);158 case TIME_DAYS:159 *second = strtod (line, 0) * 86400.0;160 return (TRUE);161 case TIME_HOURS:162 *second = strtod (line, 0) * 3600.0;163 return (TRUE);164 case TIME_MINUTES:165 *second = strtod (line, 0) * 60.0;166 return (TRUE);167 case TIME_SECONDS:168 *second = strtod (line, 0);169 return (TRUE);170 case TIME_JD:171 jd = strtod (line, 0);172 *second = jd_to_sec (jd);173 return (TRUE);174 case TIME_MJD:175 jd = strtod (line, 0);176 *second = mjd_to_sec (jd);177 return (TRUE);153 case 0: 154 return (FALSE); 155 case TIME_DATE: 156 *second = date_to_sec (line); 157 return (TRUE); 158 case TIME_DAYS: 159 *second = strtod (line, 0) * 86400.0; 160 return (TRUE); 161 case TIME_HOURS: 162 *second = strtod (line, 0) * 3600.0; 163 return (TRUE); 164 case TIME_MINUTES: 165 *second = strtod (line, 0) * 60.0; 166 return (TRUE); 167 case TIME_SECONDS: 168 *second = strtod (line, 0); 169 return (TRUE); 170 case TIME_JD: 171 jd = strtod (line, 0); 172 *second = jd_to_sec (jd); 173 return (TRUE); 174 case TIME_MJD: 175 jd = strtod (line, 0); 176 *second = mjd_to_sec (jd); 177 return (TRUE); 178 178 } 179 179 return (FALSE); … … 185 185 186 186 switch (chk_time (line)) { 187 case 0:188 case TIME_JD:189 case TIME_MJD:190 case TIME_DATE:191 return (FALSE);192 case TIME_DAYS:193 *second = strtod (line, 0) * 86400.0;194 return (TRUE);195 case TIME_HOURS:196 *second = strtod (line, 0) * 3600.0;197 return (TRUE);198 case TIME_MINUTES:199 *second = strtod (line, 0) * 60.0;200 return (TRUE);201 case TIME_SECONDS:202 *second = strtod (line, 0);203 return (TRUE);187 case 0: 188 case TIME_JD: 189 case TIME_MJD: 190 case TIME_DATE: 191 return (FALSE); 192 case TIME_DAYS: 193 *second = strtod (line, 0) * 86400.0; 194 return (TRUE); 195 case TIME_HOURS: 196 *second = strtod (line, 0) * 3600.0; 197 return (TRUE); 198 case TIME_MINUTES: 199 *second = strtod (line, 0) * 60.0; 200 return (TRUE); 201 case TIME_SECONDS: 202 *second = strtod (line, 0); 203 return (TRUE); 204 204 } 205 205 return (FALSE); … … 312 312 p1 = p2 + 1; 313 313 314 escape:314 escape: 315 315 jd = now.tm_mday - 32075 + (int)(1461*(1900 + now.tm_year + 4800 + (int)(((now.tm_mon+1)-14)/12))/4) 316 316 + (int)(367*((now.tm_mon+1) - 2 - (int)(((now.tm_mon+1) - 14)/12)*12)/12) -
trunk/Ohana/src/mosastro/src/gptolemy.c
r5320 r6683 10 10 catalog.filename = filename; 11 11 switch (lock_catalog (&catalog, LCK_SOFT)) { 12 case 0:13 case 2:14 fprintf (stderr, "can't lock catalog data %s\n", filename);15 *NSTARS = Nstars;16 return (NULL);17 case 1:18 break;12 case 0: 13 case 2: 14 fprintf (stderr, "can't lock catalog data %s\n", filename); 15 *NSTARS = Nstars; 16 return (NULL); 17 case 1: 18 break; 19 19 } 20 20 … … 32 32 for (i = 0; i < catalog.Naverage; i++) { 33 33 bzero (&stars[i], sizeof(StarData)); 34 stars[i].R = catalog.average[i].R _PS;35 stars[i].D = catalog.average[i].D _PS;34 stars[i].R = catalog.average[i].R; 35 stars[i].D = catalog.average[i].D; 36 36 stars[i].Mag = catalog.measure[catalog.average[i].offset].M_PS; 37 37 } -
trunk/Ohana/src/opihi/Makefile.Common
r6000 r6683 27 27 @if [ ! -d $(DESTLIB) ]; then mkdir -p $(DESTLIB); fi 28 28 @echo "" 29 @echo "current: $^" 30 @echo "current: $*" 31 @echo "current: $@" 29 32 rm -f $@ 30 33 cp $^ $@ -
trunk/Ohana/src/opihi/dvo/calextract.c
r5945 r6683 63 63 catalog.filename = skylist[0].filename[Nr]; 64 64 switch (lock_catalog (&catalog, LCK_SOFT)) { 65 case 2:66 unlock_catalog (&catalog);67 case 0:68 continue;65 case 2: 66 unlock_catalog (&catalog); 67 case 0: 68 continue; 69 69 } 70 70 catalog.catflags = LOAD_AVES | LOAD_MEAS | LOAD_SECF; … … 99 99 vec[Nm ][0].elements[N] = M2; 100 100 vec[NC ][0].elements[N] = color; 101 vec[NR ][0].elements[N] = catalog.average[i].R _PS;102 vec[ND ][0].elements[N] = catalog.average[i].D _PS;101 vec[NR ][0].elements[N] = catalog.average[i].R; 102 vec[ND ][0].elements[N] = catalog.average[i].D; 103 103 vec[Nd1][0].elements[N] = ExtractAverages (code[0], mode[0], &catalog.average[i], &catalog.secfilt[i*Nsec], &catalog.measure[m], AVE_dMAG); 104 104 vec[Nd2][0].elements[N] = dM2; … … 133 133 return (FALSE); 134 134 135 escape:135 escape: 136 136 137 137 if (RegionName != NULL) free (RegionName); -
trunk/Ohana/src/opihi/dvo/calmextract.c
r5945 r6683 76 76 catalog.filename = skylist[0].filename[Nr]; 77 77 switch (lock_catalog (&catalog, LCK_SOFT)) { 78 case 2:79 unlock_catalog (&catalog);80 case 0:81 continue;78 case 2: 79 unlock_catalog (&catalog); 80 case 0: 81 continue; 82 82 } 83 83 catalog.catflags = LOAD_AVES | LOAD_MEAS | LOAD_SECF; … … 134 134 vec[Nc ][0].elements[N] = color; 135 135 vec[Ns ][0].elements[N] = Nstar; 136 vec[NR ][0].elements[N] = catalog.average[i].R _PS;137 vec[ND ][0].elements[N] = catalog.average[i].D _PS;136 vec[NR ][0].elements[N] = catalog.average[i].R; 137 vec[ND ][0].elements[N] = catalog.average[i].D; 138 138 } 139 139 Nstar ++; … … 160 160 return (FALSE); 161 161 162 escape:162 escape: 163 163 164 164 FreeImageSelection (); -
trunk/Ohana/src/opihi/dvo/compare.c
r4865 r6683 3 3 4 4 void compare (Catalog *catlog1, Catalog *catlog2, 5 Vector *rvec, Vector *dvec, Vector *mvec, Vector *drvec, Vector *ddvec, Vector *dmvec, double radius) {5 Vector *rvec, Vector *dvec, Vector *mvec, Vector *drvec, Vector *ddvec, Vector *dmvec, double radius) { 6 6 7 7 int i, j, first_j, Nmatch, NMATCH; … … 19 19 for (i = j = 0; (i < catlog1[0].Naverage) && (j < catlog2[0].Naverage);) { 20 20 21 dX = catlog1[0].average[i].R _PS - catlog2[0].average[j].R_PS;21 dX = catlog1[0].average[i].R - catlog2[0].average[j].R; 22 22 23 23 if (!(i % 100)) … … 32 32 first_j = j; 33 33 for (j = first_j; (fabs (dX) < radius) && (j < catlog2[0].Naverage); j++) { 34 dX = catlog1[0].average[i].R _PS - catlog2[0].average[j].R_PS;35 dY = catlog1[0].average[i].D _PS - catlog2[0].average[j].D_PS;34 dX = catlog1[0].average[i].R - catlog2[0].average[j].R; 35 dY = catlog1[0].average[i].D - catlog2[0].average[j].D; 36 36 dR = hypot (dX, dY); 37 37 if (dR < radius) { 38 rvec[0].elements[Nmatch] = catlog1[0].average[i].R_PS;39 dvec[0].elements[Nmatch] = catlog1[0].average[i].D_PS;40 mvec[0].elements[Nmatch] = catlog1[0].average[i].M_PS;38 rvec[0].elements[Nmatch] = catlog1[0].average[i].R; 39 dvec[0].elements[Nmatch] = catlog1[0].average[i].D; 40 mvec[0].elements[Nmatch] = catlog1[0].average[i].M; 41 41 drvec[0].elements[Nmatch] = dX; 42 42 ddvec[0].elements[Nmatch] = dY; 43 dmvec[0].elements[Nmatch] = catlog1[0].average[i].M _PS - catlog2[0].average[j].M_PS;43 dmvec[0].elements[Nmatch] = catlog1[0].average[i].M - catlog2[0].average[j].M; 44 44 Nmatch ++; 45 45 if (Nmatch == NMATCH - 1) { … … 66 66 REALLOCATE (dmvec[0].elements, float, Nmatch); 67 67 68 rvec[0].Nelements = Nmatch;69 dvec[0].Nelements = Nmatch;70 mvec[0].Nelements = Nmatch;68 rvec[0].Nelements = Nmatch; 69 dvec[0].Nelements = Nmatch; 70 mvec[0].Nelements = Nmatch; 71 71 drvec[0].Nelements = Nmatch; 72 72 ddvec[0].Nelements = Nmatch; -
trunk/Ohana/src/opihi/dvo/dmt.c
r5945 r6683 71 71 catalog.filename = skylist[0].filename[k]; 72 72 switch (lock_catalog (&catalog, LCK_SOFT)) { 73 case 2:74 unlock_catalog (&catalog);75 case 0:76 continue;73 case 2: 74 unlock_catalog (&catalog); 75 case 0: 76 continue; 77 77 } 78 78 catalog.catflags = LOAD_AVES | LOAD_MEAS | LOAD_SECF; … … 86 86 if (catalog.average[i].Nm != 3) continue; 87 87 m = catalog.average[i].offset; 88 M0 = (Ns == -1) ? catalog.average[i].M _PS: catalog.secfilt[i*Nsec+Ns].M_PS;88 M0 = (Ns == -1) ? catalog.average[i].M : catalog.secfilt[i*Nsec+Ns].M_PS; 89 89 M1 = PhotCat (&catalog.measure[m+0]); 90 90 M2 = PhotCat (&catalog.measure[m+1]); … … 98 98 Yvec.elements[N] = (dmt1 + dmt2) / 2.0; 99 99 if (SaveVectors) { 100 Rvec.elements[N] = catalog.average[i].R _PS;101 Dvec.elements[N] = catalog.average[i].D _PS;100 Rvec.elements[N] = catalog.average[i].R; 101 Dvec.elements[N] = catalog.average[i].D; 102 102 Zvec.elements[N] = M0; 103 103 } -
trunk/Ohana/src/opihi/dvo/dvomisc.c
r4800 r6683 15 15 16 16 for (i = 0; i < Naverage; i++) { 17 A = average[i].R _PS;18 D = average[i].D _PS;17 A = average[i].R; 18 D = average[i].D; 19 19 SD = cos(RAD_DEG*A + zeta)*sin(theta)*cos(RAD_DEG*D) + cos(theta)*sin(RAD_DEG*D); 20 20 CD = sqrt (1 - SD*SD); … … 28 28 RA += 360; 29 29 30 average[i].R _PS= RA;31 average[i].D _PS= DEC;30 average[i].R = RA; 31 average[i].D = DEC; 32 32 } 33 33 … … 59 59 j = (l << 1) + 1; 60 60 while (j <= ir) { 61 if (j < ir && ave[j].R _PS < ave[j+1].R_PS) j++;62 if (tmp.R _PS < ave[j].R_PS) {61 if (j < ir && ave[j].R < ave[j+1].R) j++; 62 if (tmp.R < ave[j].R) { 63 63 ave[i] = ave[j]; 64 64 j += (i=j) + 1; -
trunk/Ohana/src/opihi/dvo/gstar.c
r6642 r6683 72 72 catalog.filename = skylist[0].filename[0]; 73 73 switch (lock_catalog (&catalog, LCK_SOFT)) { 74 case 2:75 unlock_catalog (&catalog);76 case 0:77 return (FALSE);74 case 2: 75 unlock_catalog (&catalog); 76 case 0: 77 return (FALSE); 78 78 } 79 79 catalog.catflags = LOAD_AVES | LOAD_MEAS | LOAD_SECF; … … 92 92 /* stars are not guaranteed to be sorted in RA or in DEC, so first sort the list */ 93 93 for (i = 0; i < Nstars; i++) { 94 RA[i] = catalog.average[i].R _PS;95 DEC[i] = catalog.average[i].D _PS;94 RA[i] = catalog.average[i].R; 95 DEC[i] = catalog.average[i].D; 96 96 N1[i] = i; 97 97 } … … 138 138 k = N1[i]; 139 139 if (!QUIET) { 140 fprintf (GetOutfile(), "star: %d\n", k);141 fprintf (GetOutfile(), "%9.5f %9.5f %3d of %3d %4.1f %5d\n", catalog.average[k].R_PS, catalog.average[k].D_PS,142 catalog.average[k].Nm, catalog.average[k].Nn + catalog.average[k].Nm,143 0.01*catalog.average[k].Xp, catalog.average[k].code);140 fprintf (GetOutfile(), "star: %d\n", k); 141 fprintf (GetOutfile(), "%9.5f %9.5f %3d of %3d %4.1f %5d\n", catalog.average[k].R, catalog.average[k].D, 142 catalog.average[k].Nm, catalog.average[k].Nn + catalog.average[k].Nm, 143 0.01*catalog.average[k].Xp, catalog.average[k].code); 144 144 145 /* filter names -- primary code is 0 in this function */146 for (j = 0; j < Nsec + 1; j++) {147 code = GetPhotcodebyNsec (j);148 fprintf (GetOutfile (), "%s ", code[0].name);149 }150 fprintf (GetOutfile (), "\n");151 152 /* average mags */153 print_value (GetOutfile(), catalog.average[k].M_PS, catalog.average[k].M_PS);154 for (j = 0; j < Nsec; j++) print_value (GetOutfile(), catalog.secfilt[j + Nsec*k].M_PS, catalog.secfilt[j + Nsec*k].M_PS);155 fprintf (GetOutfile(), "\n");156 157 /* average mag errors */158 print_value (GetOutfile(), catalog.average[k].dM_PS, catalog.average[k].dM_PS);159 for (j = 0; j < Nsec; j++) print_value (GetOutfile(), catalog.secfilt[j + Nsec*k].dM_PS, catalog.secfilt[j + Nsec*k].dM_PS);160 fprintf (GetOutfile(), "\n");161 162 /* average mag chisq */163 print_value (GetOutfile(), pow (10.0, 0.01*catalog.average[k].Xm), catalog.average[k].Xm);164 for (j = 0; j < Nsec; j++) print_value (GetOutfile(), pow (10.0, 0.01*catalog.secfilt[j + Nsec*k].Xm), catalog.secfilt[j + Nsec*k].Xm);165 fprintf (GetOutfile(), "\n");145 /* filter names -- primary code is 0 in this function */ 146 for (j = 0; j < Nsec + 1; j++) { 147 code = GetPhotcodebyNsec (j); 148 fprintf (GetOutfile (), "%s ", code[0].name); 149 } 150 fprintf (GetOutfile (), "\n"); 151 152 /* average mags */ 153 print_value (GetOutfile(), catalog.average[k].M, catalog.average[k].M); 154 for (j = 0; j < Nsec; j++) print_value (GetOutfile(), catalog.secfilt[j + Nsec*k].M_PS, catalog.secfilt[j + Nsec*k].M_PS); 155 fprintf (GetOutfile(), "\n"); 156 157 /* average mag errors */ 158 print_value (GetOutfile(), catalog.average[k].dM, catalog.average[k].dM); 159 for (j = 0; j < Nsec; j++) print_value (GetOutfile(), catalog.secfilt[j + Nsec*k].dM_PS, catalog.secfilt[j + Nsec*k].dM_PS); 160 fprintf (GetOutfile(), "\n"); 161 162 /* average mag chisq */ 163 print_value (GetOutfile(), pow (10.0, 0.01*catalog.average[k].Xm), catalog.average[k].Xm); 164 for (j = 0; j < Nsec; j++) print_value (GetOutfile(), pow (10.0, 0.01*catalog.secfilt[j + Nsec*k].Xm), catalog.secfilt[j + Nsec*k].Xm); 165 fprintf (GetOutfile(), "\n"); 166 166 } 167 167 -
trunk/Ohana/src/opihi/dvo/imdata.c
r5945 r6683 122 122 catalog.filename = skylist[0].filename[j]; 123 123 switch (lock_catalog (&catalog, LCK_SOFT)) { 124 case 2:125 unlock_catalog (&catalog);126 case 0:127 continue;124 case 2: 125 unlock_catalog (&catalog); 126 case 0: 127 continue; 128 128 } 129 129 catalog.catflags = LOAD_AVES; … … 136 136 /* assign vector values */ 137 137 switch (mode) { 138 case (1): /* ra */139 for (i = 0; i < catalog.Nmeasure; i++) {140 if ((catalog.measure[i].t < start) || (catalog.measure[i].t > stop)) continue;141 n = catalog.measure[i].averef;142 vec[0].elements[N] = catalog.average[n].R_PS- catalog.measure[i].dR_PS / 3600.0;143 N++;144 CHECK_REALLOCATE (vec[0].elements, float, NPTS, N, 1000);145 }146 break;147 case (2): /* dec */148 for (i = 0; i < catalog.Nmeasure; i++) {149 if ((catalog.measure[i].t < start) || (catalog.measure[i].t > stop)) continue;150 n = catalog.measure[i].averef;151 vec[0].elements[N] = catalog.average[n].D_PS- catalog.measure[i].dD_PS / 3600.0;152 N++;153 CHECK_REALLOCATE (vec[0].elements, float, NPTS, N, 1000);154 }155 break;156 case (3): /* mag */157 for (i = 0; i < catalog.Nmeasure; i++) {158 if ((catalog.measure[i].t < start) || (catalog.measure[i].t > stop)) continue;159 vec[0].elements[N] = catalog.measure[i].M_PS;160 N++;161 CHECK_REALLOCATE (vec[0].elements, float, NPTS, N, 1000);162 }163 break;164 case (4): /* dmag */165 for (i = 0; i < catalog.Nmeasure; i++) {166 if ((catalog.measure[i].t < start) || (catalog.measure[i].t > stop)) continue;167 vec[0].elements[N] = catalog.measure[i].dM_PS;168 N++;169 CHECK_REALLOCATE (vec[0].elements, float, NPTS, N, 1000);170 }171 break;172 case (5): /* Mcal */173 for (i = 0; i < catalog.Nmeasure; i++) {174 if ((catalog.measure[i].t < start) || (catalog.measure[i].t > stop)) continue;175 vec[0].elements[N] = catalog.measure[i].Mcal_PS;176 N++;177 CHECK_REALLOCATE (vec[0].elements, float, NPTS, N, 1000);178 }179 break;180 case (6): /* Mrel */181 for (i = 0; i < catalog.Nmeasure; i++) {182 if ((catalog.measure[i].t < start) || (catalog.measure[i].t > stop)) continue;183 n = catalog.measure[i].averef;184 vec[0].elements[N] = catalog.average[n].M_PS;185 N++;186 }187 break;188 case (7): /* source */189 for (i = 0; i < catalog.Nmeasure; i++) {190 if ((catalog.measure[i].t < start) || (catalog.measure[i].t > stop)) continue;191 vec[0].elements[N] = catalog.measure[i].source;192 N++;193 CHECK_REALLOCATE (vec[0].elements, float, NPTS, N, 1000);194 }195 break;196 case (10): /* time */197 for (i = 0; i < catalog.Nmeasure; i++) {198 if ((catalog.measure[i].t < start) || (catalog.measure[i].t > stop)) continue;199 vec[0].elements[N] = TimeValue (catalog.measure[i].t, TimeReference, TimeFormat);200 N++;201 CHECK_REALLOCATE (vec[0].elements, float, NPTS, N, 1000);202 }203 break;138 case (1): /* ra */ 139 for (i = 0; i < catalog.Nmeasure; i++) { 140 if ((catalog.measure[i].t < start) || (catalog.measure[i].t > stop)) continue; 141 n = catalog.measure[i].averef; 142 vec[0].elements[N] = catalog.average[n].R - catalog.measure[i].dR_PS / 3600.0; 143 N++; 144 CHECK_REALLOCATE (vec[0].elements, float, NPTS, N, 1000); 145 } 146 break; 147 case (2): /* dec */ 148 for (i = 0; i < catalog.Nmeasure; i++) { 149 if ((catalog.measure[i].t < start) || (catalog.measure[i].t > stop)) continue; 150 n = catalog.measure[i].averef; 151 vec[0].elements[N] = catalog.average[n].D - catalog.measure[i].dD_PS / 3600.0; 152 N++; 153 CHECK_REALLOCATE (vec[0].elements, float, NPTS, N, 1000); 154 } 155 break; 156 case (3): /* mag */ 157 for (i = 0; i < catalog.Nmeasure; i++) { 158 if ((catalog.measure[i].t < start) || (catalog.measure[i].t > stop)) continue; 159 vec[0].elements[N] = catalog.measure[i].M_PS; 160 N++; 161 CHECK_REALLOCATE (vec[0].elements, float, NPTS, N, 1000); 162 } 163 break; 164 case (4): /* dmag */ 165 for (i = 0; i < catalog.Nmeasure; i++) { 166 if ((catalog.measure[i].t < start) || (catalog.measure[i].t > stop)) continue; 167 vec[0].elements[N] = catalog.measure[i].dM_PS; 168 N++; 169 CHECK_REALLOCATE (vec[0].elements, float, NPTS, N, 1000); 170 } 171 break; 172 case (5): /* Mcal */ 173 for (i = 0; i < catalog.Nmeasure; i++) { 174 if ((catalog.measure[i].t < start) || (catalog.measure[i].t > stop)) continue; 175 vec[0].elements[N] = catalog.measure[i].Mcal_PS; 176 N++; 177 CHECK_REALLOCATE (vec[0].elements, float, NPTS, N, 1000); 178 } 179 break; 180 case (6): /* Mrel */ 181 for (i = 0; i < catalog.Nmeasure; i++) { 182 if ((catalog.measure[i].t < start) || (catalog.measure[i].t > stop)) continue; 183 n = catalog.measure[i].averef; 184 vec[0].elements[N] = catalog.average[n].M; 185 N++; 186 } 187 break; 188 case (7): /* source */ 189 for (i = 0; i < catalog.Nmeasure; i++) { 190 if ((catalog.measure[i].t < start) || (catalog.measure[i].t > stop)) continue; 191 vec[0].elements[N] = catalog.measure[i].source; 192 N++; 193 CHECK_REALLOCATE (vec[0].elements, float, NPTS, N, 1000); 194 } 195 break; 196 case (10): /* time */ 197 for (i = 0; i < catalog.Nmeasure; i++) { 198 if ((catalog.measure[i].t < start) || (catalog.measure[i].t > stop)) continue; 199 vec[0].elements[N] = TimeValue (catalog.measure[i].t, TimeReference, TimeFormat); 200 N++; 201 CHECK_REALLOCATE (vec[0].elements, float, NPTS, N, 1000); 202 } 203 break; 204 204 } 205 205 if (catalog.average != 0) { -
trunk/Ohana/src/opihi/dvo/lcurve.c
r5945 r6683 83 83 catalog.filename = skylist[0].filename[0]; 84 84 switch (lock_catalog (&catalog, LCK_SOFT)) { 85 case 2:86 unlock_catalog (&catalog);87 case 0:88 return (FALSE);85 case 2: 86 unlock_catalog (&catalog); 87 case 0: 88 return (FALSE); 89 89 } 90 90 catalog.catflags = LOAD_AVES | LOAD_MEAS; … … 103 103 /* stars are not guaranteed to be sorted in RA or in DEC, so first sort the list */ 104 104 for (i = 0; i < Nstars; i++) { 105 RA[i] = catalog.average[i].R _PS;106 DEC[i] = catalog.average[i].D _PS;105 RA[i] = catalog.average[i].R; 106 DEC[i] = catalog.average[i].D; 107 107 N1[i] = i; 108 108 } -
trunk/Ohana/src/opihi/dvo/lightcurve.c
r5945 r6683 59 59 catalog.filename = skylist[0].filename[0]; 60 60 switch (lock_catalog (&catalog, LCK_SOFT)) { 61 case 2:62 unlock_catalog (&catalog);63 case 0:64 return (FALSE);61 case 2: 62 unlock_catalog (&catalog); 63 case 0: 64 return (FALSE); 65 65 } 66 66 catalog.catflags = LOAD_AVES | LOAD_MEAS | LOAD_SECF; … … 79 79 /* stars are not guaranteed to be sorted in RA or in DEC, so first sort the list */ 80 80 for (i = 0; i < Nstars; i++) { 81 RA[i] = catalog.average[i].R _PS;82 DEC[i] = catalog.average[i].D _PS;81 RA[i] = catalog.average[i].R; 82 DEC[i] = catalog.average[i].D; 83 83 N1[i] = i; 84 84 } -
trunk/Ohana/src/opihi/dvo/mextract.c
r5945 r6683 58 58 catalog.filename = skylist[0].filename[i]; 59 59 switch (lock_catalog (&catalog, LCK_SOFT)) { 60 case 2:61 unlock_catalog (&catalog);62 case 0:63 continue;60 case 2: 61 unlock_catalog (&catalog); 62 case 0: 63 continue; 64 64 } 65 65 catalog.catflags = LOAD_AVES | LOAD_MEAS | LOAD_SECF; -
trunk/Ohana/src/opihi/dvo/photometry.c
r4865 r6683 225 225 226 226 param = AVE_ZERO; 227 if (!strcasecmp (parname, "ra")) param = AVE_RA; 228 if (!strcasecmp (parname, "dec")) param = AVE_DEC; 227 if (!strcasecmp (parname, "RA")) param = AVE_RA; 228 if (!strcasecmp (parname, "DEC")) param = AVE_DEC; 229 230 if (!strcasecmp (parname, "dRA")) param = AVE_RA_ERR; 231 if (!strcasecmp (parname, "dDEC")) param = AVE_DEC_ERR; 232 233 if (!strcasecmp (parname, "uRA")) param = AVE_U_RA; 234 if (!strcasecmp (parname, "uDEC")) param = AVE_U_DEC; 235 if (!strcasecmp (parname, "duRA")) param = AVE_U_RA_ERR; 236 if (!strcasecmp (parname, "duDEC")) param = AVE_U_DEC_ERR; 237 238 if (!strcasecmp (parname, "par")) param = AVE_PAR; 239 if (!strcasecmp (parname, "dpar")) param = AVE_PAR_ERR; 240 229 241 if (!strcasecmp (parname, "dmag")) param = AVE_dMAG; 230 242 if (!strcasecmp (parname, "mag")) param = AVE_MAG; … … 564 576 switch (param) { 565 577 case AVE_RA: 566 value = average[0].R _PS;578 value = average[0].R; 567 579 break; 568 580 case AVE_DEC: 569 value = average[0].D_PS; 570 break; 581 value = average[0].D; 582 break; 583 case AVE_RA_ERR: 584 value = average[0].dR; 585 break; 586 case AVE_DEC_ERR: 587 value = average[0].dD; 588 break; 589 590 case AVE_U_RA: 591 value = average[0].uR; 592 break; 593 case AVE_U_DEC: 594 value = average[0].uD; 595 break; 596 case AVE_U_RA_ERR: 597 value = average[0].duR; 598 break; 599 case AVE_U_DEC_ERR: 600 value = average[0].duD; 601 break; 602 603 case AVE_PAR: 604 value = average[0].P; 605 break; 606 case AVE_PAR_ERR: 607 value = average[0].dP; 608 break; 609 610 571 611 case AVE_NMEAS: 572 612 value = average[0].Nm; … … 924 964 } 925 965 926 skip:966 skip: 927 967 if (M1 != NULL) free (M1); 928 968 if (M2 != NULL) free (M2); … … 1058 1098 break; 1059 1099 case MEAS_RA: /* OK */ 1060 value = average[0].R _PS- measure[0].dR_PS / 3600.0;1100 value = average[0].R - measure[0].dR_PS / 3600.0; 1061 1101 break; 1062 1102 case MEAS_DEC: /* OK */ 1063 value = average[0].D _PS- measure[0].dD_PS / 3600.0;1103 value = average[0].D - measure[0].dD_PS / 3600.0; 1064 1104 break; 1065 1105 case MEAS_dMAG: /* OK */ … … 1094 1134 break; 1095 1135 case MEAS_XCCD: /* OK */ 1096 ra = average[0].R _PS- measure[0].dR_PS / 3600.0;1097 dec = average[0].D _PS- measure[0].dD_PS / 3600.0;1136 ra = average[0].R - measure[0].dR_PS / 3600.0; 1137 dec = average[0].D - measure[0].dD_PS / 3600.0; 1098 1138 image = MatchImage (measure[0].t, measure[0].source); 1099 1139 if (image == NULL) break; … … 1102 1142 break; 1103 1143 case MEAS_YCCD: /* OK */ 1104 ra = average[0].R _PS- measure[0].dR_PS / 3600.0;1105 dec = average[0].D _PS- measure[0].dD_PS / 3600.0;1144 ra = average[0].R - measure[0].dR_PS / 3600.0; 1145 dec = average[0].D - measure[0].dD_PS / 3600.0; 1106 1146 image = MatchImage (measure[0].t, measure[0].source); 1107 1147 if (image == NULL) break; … … 1110 1150 break; 1111 1151 case MEAS_XMOSAIC: /* OK */ 1112 ra = average[0].R _PS- measure[0].dR_PS / 3600.0;1113 dec = average[0].D _PS- measure[0].dD_PS / 3600.0;1152 ra = average[0].R - measure[0].dR_PS / 3600.0; 1153 dec = average[0].D - measure[0].dD_PS / 3600.0; 1114 1154 mosaic = MatchMosaic (measure[0].t, measure[0].source); 1115 1155 if (mosaic == NULL) break; … … 1118 1158 break; 1119 1159 case MEAS_YMOSAIC: /* OK */ 1120 ra = average[0].R _PS- measure[0].dR_PS / 3600.0;1121 dec = average[0].D _PS- measure[0].dD_PS / 3600.0;1160 ra = average[0].R - measure[0].dR_PS / 3600.0; 1161 dec = average[0].D - measure[0].dD_PS / 3600.0; 1122 1162 mosaic = MatchMosaic (measure[0].t, measure[0].source); 1123 1163 if (mosaic == NULL) break; -
trunk/Ohana/src/opihi/dvo/pmeasure.c
r5945 r6683 83 83 catalog.filename = skylist[0].filename[j]; 84 84 switch (lock_catalog (&catalog, LCK_SOFT)) { 85 case 2:86 unlock_catalog (&catalog);87 case 0:88 continue;85 case 2: 86 unlock_catalog (&catalog); 87 case 0: 88 continue; 89 89 } 90 90 catalog.catflags = LOAD_AVES | LOAD_MEAS; … … 107 107 for (N = i = 0; i < catalog.Naverage; i++) { 108 108 if (IDclip && (catalog.average[i].code != IDchoice)) continue; 109 while (catalog.average[i].R _PS < Rmin) catalog.average[i].R_PS+= 360.0;110 while (catalog.average[i].R _PS > Rmax) catalog.average[i].R_PS-= 360.0;109 while (catalog.average[i].R < Rmin) catalog.average[i].R += 360.0; 110 while (catalog.average[i].R > Rmax) catalog.average[i].R -= 360.0; 111 111 m = catalog.average[i].offset; 112 112 for (k = 0; k < catalog.average[i].Nm; k++) { … … 120 120 if (LimExclude && (Zvec.elements[N] > 0.99)) continue; 121 121 if (Zvec.elements[N] < 0.011) continue; 122 fRD_to_XY (&Xvec.elements[N], &Yvec.elements[N], catalog.average[i].R _PS - catalog.measure[m+k].dR_PS/3600.0, catalog.average[i].D_PS- catalog.measure[m+k].dD_PS/3600.0, &graphmode.coords);122 fRD_to_XY (&Xvec.elements[N], &Yvec.elements[N], catalog.average[i].R - catalog.measure[m+k].dR_PS/3600.0, catalog.average[i].D - catalog.measure[m+k].dD_PS/3600.0, &graphmode.coords); 123 123 N ++; 124 124 } -
trunk/Ohana/src/opihi/dvo/subpix.c
r5945 r6683 43 43 catalog.filename = skylist[0].filename[0]; 44 44 switch (lock_catalog (&catalog, LCK_SOFT)) { 45 case 2:46 unlock_catalog (&catalog);47 case 0:48 return (FALSE);45 case 2: 46 unlock_catalog (&catalog); 47 case 0: 48 return (FALSE); 49 49 } 50 50 catalog.catflags = LOAD_AVES | LOAD_MEAS; … … 61 61 ALLOCATE (index, int, Nstars); 62 62 for (i = 0; i < Nstars; i++) { 63 RA[i] = catalog.average[i].R _PS;64 DEC[i] = catalog.average[i].D _PS;63 RA[i] = catalog.average[i].R; 64 DEC[i] = catalog.average[i].D; 65 65 index[i] = i; 66 66 } -
trunk/Ohana/src/opihi/include/dvo1.h
r5451 r6683 15 15 16 16 /* average params */ 17 enum {AVE_ZERO, AVE_RA, AVE_DEC, AVE_MAG, AVE_REF, AVE_dMAG, AVE_Xm, AVE_Xp, AVE_NMEAS, 18 AVE_NMISS, AVE_TYPE, AVE_NPHOT, AVE_NCODE, AVE_NCRIT, AVE_FLAG, AVE_TYPEFRAC}; 17 enum {AVE_ZERO, AVE_RA, AVE_DEC, AVE_RA_ERR, AVE_DEC_ERR, AVE_U_RA, AVE_U_DEC, 18 AVE_U_RA_ERR, AVE_U_DEC_ERR, AVE_PAR, AVE_PAR_ERR, AVE_MAG, AVE_REF, AVE_dMAG, 19 AVE_Xm, AVE_Xp, AVE_NMEAS, AVE_NMISS, AVE_TYPE, AVE_NPHOT, AVE_NCODE, AVE_NCRIT, 20 AVE_FLAG, AVE_TYPEFRAC}; 19 21 20 22 typedef struct { -
trunk/Ohana/src/relphot/src/ImageOps.c
r5143 r6683 111 111 /* add this measurement to the grid cell for this chip */ 112 112 ave = measure[0].averef; 113 ra = catalog[cat].average[ave].R _PS- measure[0].dR_PS / 3600.0;114 dec = catalog[cat].average[ave].D _PS- measure[0].dD_PS / 3600.0;113 ra = catalog[cat].average[ave].R - measure[0].dR_PS / 3600.0; 114 dec = catalog[cat].average[ave].D - measure[0].dD_PS / 3600.0; 115 115 116 116 /* X,Y always positive-definite in range 0,0 - dX, dY */ -
trunk/Ohana/src/relphot/src/MosaicOps.c
r5143 r6683 591 591 592 592 ave = catalog[c].measure[m].averef; 593 xlist[N] = catalog[c].average[ave].R _PS- catalog[c].measure[m].dR_PS / 3600.0;594 ylist[N] = catalog[c].average[ave].D _PS- catalog[c].measure[m].dD_PS / 3600.0;593 xlist[N] = catalog[c].average[ave].R - catalog[c].measure[m].dR_PS / 3600.0; 594 ylist[N] = catalog[c].average[ave].D - catalog[c].measure[m].dD_PS / 3600.0; 595 595 N++; 596 596 } -
trunk/Ohana/src/relphot/src/StarOps.c
r5143 r6683 28 28 if (catalog[cat].average[ave].code & STAR_BAD) return (NO_MAG); 29 29 30 value = PhotPrimary ? catalog[cat].average[ave].M _PS: catalog[cat].secfilt[PhotNsec*ave+PhotSec].M_PS;30 value = PhotPrimary ? catalog[cat].average[ave].M : catalog[cat].secfilt[PhotNsec*ave+PhotSec].M_PS; 31 31 return (value); 32 32 } … … 66 66 67 67 if (PhotPrimary) { 68 catalog[i].average[j].M _PS= stats.mean;69 catalog[i].average[j].dM _PS= stats.sigma;68 catalog[i].average[j].M = stats.mean; 69 catalog[i].average[j].dM = stats.sigma; 70 70 catalog[i].average[j].Xm = (stats.Nmeas > 1) ? 100.0*log10(stats.chisq) : NO_MAG; 71 71 } else { … … 122 122 /* use sigma or error in dM for output? */ 123 123 if (PhotPrimary) { 124 catalog[i].average[j].M _PS= stats.mean;125 catalog[i].average[j].dM _PS= MAX (stats.sigma, stats.error);124 catalog[i].average[j].M = stats.mean; 125 catalog[i].average[j].dM = MAX (stats.sigma, stats.error); 126 126 catalog[i].average[j].Xm = (stats.Nmeas > 1) ? 100.0*log10(stats.chisq) : NO_MAG; 127 127 } else { … … 187 187 Chisq = pow (10.0, 0.01*Xm); 188 188 xlist[Ntot] = Chisq; 189 slist[Ntot] = PhotPrimary ? catalog[i].average[j].dM _PS: catalog[i].secfilt[PhotNsec*j+PhotSec].dM_PS;189 slist[Ntot] = PhotPrimary ? catalog[i].average[j].dM : catalog[i].secfilt[PhotNsec*j+PhotSec].dM_PS; 190 190 dlist[Ntot] = 1; 191 191 Ntot ++; … … 203 203 for (i = 0; i < Ncatalog; i++) { 204 204 for (j = 0; j < catalog[i].Naverage; j++) { 205 dM = PhotPrimary ? catalog[i].average[j].dM _PS: catalog[i].secfilt[PhotNsec*j+PhotSec].dM_PS;205 dM = PhotPrimary ? catalog[i].average[j].dM : catalog[i].secfilt[PhotNsec*j+PhotSec].dM_PS; 206 206 Xm = PhotPrimary ? catalog[i].average[j].Xm : catalog[i].secfilt[PhotNsec*j+PhotSec].Xm; 207 207 Chisq = pow (10.0, 0.01*Xm); … … 423 423 if (catalog[i].average[j].code & STAR_BAD) continue; 424 424 425 dM = PhotPrimary ? catalog[i].average[j].dM _PS: catalog[i].secfilt[PhotNsec*j+PhotSec].dM_PS;425 dM = PhotPrimary ? catalog[i].average[j].dM : catalog[i].secfilt[PhotNsec*j+PhotSec].dM_PS; 426 426 list[n] = dM; 427 427 dlist[n] = 1; … … 452 452 for (j = 0; j < catalog[i].Naverage; j++) { 453 453 if (catalog[i].average[j].code & STAR_BAD) continue; 454 dMrel = PhotPrimary ? catalog[i].average[j].dM _PS: catalog[i].secfilt[PhotNsec*j+PhotSec].dM_PS;454 dMrel = PhotPrimary ? catalog[i].average[j].dM : catalog[i].secfilt[PhotNsec*j+PhotSec].dM_PS; 455 455 bin = dMrel / 0.00025; 456 456 bin = MAX (0, MIN (NBIN-1, bin)); … … 483 483 for (j = 0; j < catalog[i].Naverage; j++) { 484 484 if (catalog[i].average[j].code & STAR_BAD) continue; 485 xlist[N] = PhotPrimary ? catalog[i].average[j].M _PS: catalog[i].secfilt[PhotNsec*j+PhotSec].M_PS;485 xlist[N] = PhotPrimary ? catalog[i].average[j].M : catalog[i].secfilt[PhotNsec*j+PhotSec].M_PS; 486 486 value = PhotPrimary ? catalog[i].average[j].Xm : catalog[i].secfilt[PhotNsec*j+PhotSec].Xm; 487 487 if (value == NO_MAG) continue; … … 517 517 for (i = 0; i < Ncatalog; i++) { 518 518 for (j = 0; j < catalog[i].Naverage; j++) { 519 xlist[N] = catalog[i].average[j].R _PS;520 ylist[N] = catalog[i].average[j].D _PS;519 xlist[N] = catalog[i].average[j].R; 520 ylist[N] = catalog[i].average[j].D; 521 521 N++; 522 522 } -
trunk/Ohana/src/relphot/src/bcatalog.c
r4865 r6683 18 18 for (i = 0; i < catalog[0].Naverage; i++) { 19 19 if (catalog[0].average[i].Nm < 2) continue; 20 if (catalog[0].average[i].R _PS< fullregion[0].RA[0]) continue;21 if (catalog[0].average[i].R _PS> fullregion[0].RA[1]) continue;22 if (catalog[0].average[i].D _PS< fullregion[0].DEC[0]) continue;23 if (catalog[0].average[i].D _PS> fullregion[0].DEC[1]) continue;20 if (catalog[0].average[i].R < fullregion[0].RA[0]) continue; 21 if (catalog[0].average[i].R > fullregion[0].RA[1]) continue; 22 if (catalog[0].average[i].D < fullregion[0].DEC[0]) continue; 23 if (catalog[0].average[i].D > fullregion[0].DEC[1]) continue; 24 24 25 25 /* start with all stars good */ … … 32 32 if (RESET) { 33 33 float *p; 34 p = (PhotPrimary) ? &subcatalog[0].average[Naverage].M _PS: &subcatalog[0].secfilt[PhotNsec*Naverage+PhotSec].M_PS;34 p = (PhotPrimary) ? &subcatalog[0].average[Naverage].M : &subcatalog[0].secfilt[PhotNsec*Naverage+PhotSec].M_PS; 35 35 *p = NO_MAG; 36 p = (PhotPrimary) ? &subcatalog[0].average[Naverage].dM _PS: &subcatalog[0].secfilt[PhotNsec*Naverage+PhotSec].dM_PS;36 p = (PhotPrimary) ? &subcatalog[0].average[Naverage].dM : &subcatalog[0].secfilt[PhotNsec*Naverage+PhotSec].dM_PS; 37 37 *p = NO_MAG; 38 38 subcatalog[0].average[Naverage].code &= ~ID_STAR_FEW; -
trunk/Ohana/src/relphot/src/plot_scatter.c
r5143 r6683 32 32 if ((Mgrid = getMgrid (m, i)) == NO_MAG) continue; 33 33 34 Mrel = PhotPrimary ? catalog[i].average[j].M _PS: catalog[i].secfilt[PhotNsec*j+PhotSec].M_PS;34 Mrel = PhotPrimary ? catalog[i].average[j].M : catalog[i].secfilt[PhotNsec*j+PhotSec].M_PS; 35 35 xlist[N] = Mrel; 36 36 ylist[N] = PhotSys (&catalog[i].measure[m], &catalog[i].average[j], &catalog[i].secfilt[j*PhotNsec]) - Mcal - Mmos - Mgrid - Mrel; -
trunk/Ohana/src/relphot/src/setExclusions.c
r4796 r6683 25 25 /* select measurements by mag limit */ 26 26 if (AreaSelect) { 27 r = catalog[i].average[j].R _PS+ catalog[i].measure[m].dR_PS / 3600.0;28 d = catalog[i].average[j].D _PS+ catalog[i].measure[m].dD_PS / 3600.0;27 r = catalog[i].average[j].R + catalog[i].measure[m].dR_PS / 3600.0; 28 d = catalog[i].average[j].D + catalog[i].measure[m].dD_PS / 3600.0; 29 29 if ((coords = getCoords (m, i)) == NULL) goto markbad; 30 30 RD_to_XY (&x, &y, r, d, coords); -
trunk/Ohana/src/relphot/src/setMrelFinal.c
r4865 r6683 11 11 12 12 for (i = 0; i < catalog[0].Naverage; i++) { 13 p = (PhotPrimary) ? &catalog[0].average[i].M _PS: &catalog[0].secfilt[PhotNsec*i+PhotSec].M_PS;13 p = (PhotPrimary) ? &catalog[0].average[i].M : &catalog[0].secfilt[PhotNsec*i+PhotSec].M_PS; 14 14 *p = NO_MAG; 15 p = (PhotPrimary) ? &catalog[0].average[i].dM _PS: &catalog[0].secfilt[PhotNsec*i+PhotSec].dM_PS;15 p = (PhotPrimary) ? &catalog[0].average[i].dM : &catalog[0].secfilt[PhotNsec*i+PhotSec].dM_PS; 16 16 *p = NO_MAG; 17 17 q = (PhotPrimary) ? &catalog[0].average[i].Xm : &catalog[0].secfilt[PhotNsec*i+PhotSec].Xm; … … 143 143 /* dophot types: 144 144 145 1 - star146 2 - galaxy147 3 - star148 4 - weak149 5 - edge150 7 - weak151 9 - weak152 10 - sat145 1 - star 146 2 - galaxy 147 3 - star 148 4 - weak 149 5 - edge 150 7 - weak 151 9 - weak 152 10 - sat 153 153 */ 154 154 -
trunk/Ohana/src/uniphot/src/update_catalog.c
r5320 r6683 15 15 for (i = 0; i < catalog[0].Naverage; i++) { 16 16 17 Mp = Primary ? &catalog[0].average[i].M _PS: &catalog[0].secfilt[i*Nsecfilt+Nsec].M_PS;17 Mp = Primary ? &catalog[0].average[i].M : &catalog[0].secfilt[i*Nsecfilt+Nsec].M_PS; 18 18 if (*Mp != NO_MAG) *Mp += sgroup[0].M; 19 19
Note:
See TracChangeset
for help on using the changeset viewer.
