Changeset 33391
- Timestamp:
- Mar 1, 2012, 8:49:24 PM (14 years ago)
- Location:
- branches/eam_branches/ipp-20111122/Ohana/src
- Files:
-
- 8 edited
-
addstar/test/relphot.reject.dvo (modified) (10 diffs)
-
libdvo/include/dvo.h (modified) (1 diff)
-
relphot/src/BrightCatalog.c (modified) (6 diffs)
-
relphot/src/ImageOps.c (modified) (2 diffs)
-
relphot/src/StarOps.c (modified) (9 diffs)
-
relphot/src/bcatalog.c (modified) (7 diffs)
-
relphot/src/liststats.c (modified) (1 diff)
-
relphot/src/setMrelFinal.c (modified) (3 diffs)
Legend:
- Unmodified
- Added
- Removed
-
branches/eam_branches/ipp-20111122/Ohana/src/addstar/test/relphot.reject.dvo
r33388 r33391 34 34 $CHIP_DY = 1000 35 35 $DEFECT_FRAC = 0.03 36 $OFFSET_FRAC_UC = 0.1 37 $OFFSET_FRAC_NC = 0.5 36 38 if (not($?VERBOSE)) set VERBOSE = 0 37 39 … … 54 56 # sequence to count images (only used in this function) 55 57 # XXX TEST create tmpseq 0 9 56 create tmpseq 0 358 create tmpseq 0 9 57 59 58 60 ##### mjd and zpt values for ubercal'ed images … … 63 65 $filt_uc:1 = g; filtN_uc[1] = 1 64 66 $filt_uc:2 = g; filtN_uc[2] = 1 65 # $filt_uc:3 = r; filtN_uc[3] = 266 # $filt_uc:4 = r; filtN_uc[4] = 267 # $filt_uc:5 = r; filtN_uc[5] = 268 # $filt_uc:6 = i; filtN_uc[6] = 369 # $filt_uc:7 = i; filtN_uc[7] = 370 # $filt_uc:8 = i; filtN_uc[8] = 367 $filt_uc:3 = g; filtN_uc[3] = 1 68 $filt_uc:4 = g; filtN_uc[4] = 1 69 $filt_uc:5 = g; filtN_uc[5] = 1 70 $filt_uc:6 = g; filtN_uc[6] = 1 71 $filt_uc:7 = g; filtN_uc[7] = 1 72 $filt_uc:8 = g; filtN_uc[8] = 1 71 73 72 74 # airmass slopes for this sequnece … … 87 89 mjd_uc[1] = 55000.02 88 90 mjd_uc[2] = 55000.03 89 #mjd_uc[3] = 55015.0190 #mjd_uc[4] = 55015.0291 #mjd_uc[5] = 55015.0392 #mjd_uc[6] = 55025.0193 #mjd_uc[7] = 55025.0294 #mjd_uc[8] = 55025.0391 mjd_uc[3] = 55015.01 92 mjd_uc[4] = 55015.02 93 mjd_uc[5] = 55015.03 94 mjd_uc[6] = 55025.01 95 mjd_uc[7] = 55025.02 96 mjd_uc[8] = 55025.03 95 97 96 98 ##### mjd and zpt values for not-ubercal'ed images … … 101 103 $filt_nc:1 = g; filtN_nc[1] = 1 102 104 $filt_nc:2 = g; filtN_nc[2] = 1 103 # $filt_nc:3 = r; filtN_nc[3] = 2104 # $filt_nc:4 = r; filtN_nc[4] = 2105 # $filt_nc:5 = r; filtN_nc[5] = 2106 # $filt_nc:6 = i; filtN_nc[6] = 3107 # $filt_nc:7 = i; filtN_nc[7] = 3108 # $filt_nc:8 = i; filtN_nc[8] = 3105 $filt_nc:3 = g; filtN_nc[3] = 1 106 $filt_nc:4 = g; filtN_nc[4] = 1 107 $filt_nc:5 = g; filtN_nc[5] = 1 108 $filt_nc:6 = g; filtN_nc[6] = 1 109 $filt_nc:7 = g; filtN_nc[7] = 1 110 $filt_nc:8 = g; filtN_nc[8] = 1 109 111 110 112 # airmass slopes for these sequnece … … 126 128 mjd_nc[1] = 55000.12 127 129 mjd_nc[2] = 55000.13 128 #mjd_nc[3] = 55015.11129 #mjd_nc[4] = 55015.12130 #mjd_nc[5] = 55015.13131 #mjd_nc[6] = 55025.11132 #mjd_nc[7] = 55025.12133 #mjd_nc[8] = 55025.13130 mjd_nc[3] = 55015.11 131 mjd_nc[4] = 55015.12 132 mjd_nc[5] = 55015.13 133 mjd_nc[6] = 55025.11 134 mjd_nc[7] = 55025.12 135 mjd_nc[8] = 55025.13 134 136 end 135 137 … … 152 154 init 153 155 mkzptfile 154 mkstars 500156 mkstars 10000 155 157 156 158 tapPLAN {(((mjd_uc[] + mjd_nc[])*4 + (mjd_uc[] + mjd_nc[])) + (mjd_uc[] + mjd_nc[]))} 157 159 158 160 # generate the basic images and check they were correctly ingested by dvo 159 mksequence $fileroot $catdir161 mksequence.drift $fileroot $catdir 160 162 for i 0 mjd_uc[] 161 163 ckexposure $catdir mjd_uc[$i] zpt_uc[$i] exptime_uc[$i] airmass_uc[$i] $filt_uc:$i raw … … 175 177 176 178 # run relphot on the serial db and check that the images now match the expected values 177 if ($VERBOSE) echo relphot g,r,i -v -region 9.5 10.5 19.5 20.5 -D CATDIR $catdir -D STAR_TOOFEW 1 -D SIGMA_LIM 0.07 -statmode WT_MEAN -cloud-limit 0.5 -keep-ubercal -D IMAGE_OFFSET 0.5 -update >& log.relphot.s0 178 exec relphot g,r,i -v -region 9.5 10.5 19.5 20.5 -D CATDIR $catdir -D STAR_TOOFEW 1 -D SIGMA_LIM 0.07 -statmode WT_MEAN -cloud-limit 0.5 -keep-ubercal -D IMAGE_OFFSET 0.5 -update >& log.relphot.s0 179 # if ($VERBOSE) echo relphot g,r,i -v -region 9.5 10.5 19.5 20.5 -D CATDIR $catdir -D STAR_TOOFEW 1 -D SIGMA_LIM 0.07 -statmode WT_MEAN -cloud-limit 0.5 -keep-ubercal -D IMAGE_OFFSET 0.5 -update >& log.relphot.s0 180 if ($VERBOSE) echo relphot g -v -region 9.5 10.5 19.5 20.5 -D CATDIR $catdir -D STAR_TOOFEW 1 -D SIGMA_LIM 0.07 -statmode WT_MEAN -cloud-limit 0.5 -keep-ubercal -D IMAGE_OFFSET 0.5 -update -reset -D STAR_SCATTER 0.05>& log.relphot.s0 181 exec relphot g -v -region 9.5 10.5 19.5 20.5 -D CATDIR $catdir -D STAR_TOOFEW 1 -D SIGMA_LIM 0.07 -statmode WT_MEAN -cloud-limit 0.5 -keep-ubercal -D IMAGE_OFFSET 0.5 -update -reset -D STAR_SCATTER 0.05>& log.relphot.s0 179 182 for i 0 mjd_uc[] 180 183 ckexposure $catdir mjd_uc[$i] zpt_uc[$i] exptime_uc[$i] airmass_uc[$i] $filt_uc:$i relphot … … 315 318 end 316 319 317 macro mksequence 320 macro mksequence.drift 321 if ($0 != 3) 322 echo "mksequence.drift (fileroot) (catdir)" 323 break 324 end 325 326 echo "starting mksequence..." 327 local i T1 T2 328 329 ctimes -abs now -var T1 330 # we have a second set of mjd and zero point values for non-ubercal'ed images 331 echo -no-return "making mjd_uc[] UC images: " 332 for i 0 mjd_uc[] 333 echo -no-return "$i.. " 334 mkexposure $1.uc.$i $RA_CENTER {$DEC_CENTER + $i*$CHIP_DY*$PLATE_SCALE*$NCHIP_Y*$OFFSET_FRAC_UC/3600.0} zpt_uc[$i] exptime_uc[$i] airmass_uc[$i] mjd_uc[$i] $filt_uc:$i $2 335 end 336 echo "" 337 echo -no-return "making mjd_nc[] NC images: " 338 for i 0 mjd_nc[] 339 echo -no-return "$i.. " 340 mkexposure $1.nc.$i $RA_CENTER {$DEC_CENTER + $i*$CHIP_DY*$PLATE_SCALE*$NCHIP_Y*$OFFSET_FRAC_NC/3600.0} zpt_nc[$i] exptime_nc[$i] airmass_nc[$i] mjd_nc[$i] $filt_nc:$i $2 341 end 342 ctimes -abs now -var T2 343 echo "done ({86400*($T2 - $T1)} sec)" 344 end 345 346 macro mksequence.1pt 318 347 if ($0 != 3) 319 348 echo "mksequence (fileroot) (catdir)" … … 495 524 # size of region of interest in linear arcseconds 496 525 $RA_RANGE = 1.25 * $CHIP_DX * $NCHIP_X * $PLATE_SCALE 497 $DEC_RANGE = 1.25 * $CHIP_DY * $NCHIP_Y * $PLATE_SCALE 526 $DEC_RANGE = 1.25 * $CHIP_DY * $NCHIP_Y * $PLATE_SCALE * (1 + tmpseq[]*$OFFSET_FRAC_NC) 498 527 499 528 create tmp 0 $1 -
branches/eam_branches/ipp-20111122/Ohana/src/libdvo/include/dvo.h
r33375 r33391 293 293 unsigned int imageID; 294 294 unsigned int dbFlags; 295 unsigned int photFlags; 295 296 int catID; // unsigned int? 296 297 unsigned short photcode; -
branches/eam_branches/ipp-20111122/Ohana/src/relphot/src/BrightCatalog.c
r33364 r33391 62 62 63 63 // need to create and assign to flat-field correction 64 GET_COLUMN(dR, "RA_OFF", float); 65 GET_COLUMN(dD, "DEC_OFF", float); 66 GET_COLUMN(M, "MAG_SYS", float); 67 GET_COLUMN(Mcal, "MAG_CAL", float); 68 GET_COLUMN(dM, "MAG_ERR", float); 69 GET_COLUMN(airmass, "AIRMASS", float); 70 GET_COLUMN(Xccd, "X_CCD", float); 71 GET_COLUMN(Yccd, "Y_CCD", float); 72 GET_COLUMN(dt, "EXPTIME", float); 73 GET_COLUMN(t, "TIME", int); 74 GET_COLUMN(averef, "AVE_REF", int); // XXX signed vs unsigned? 75 GET_COLUMN(imageID, "IMAGE_ID", int); 76 GET_COLUMN(dbFlags, "DB_FLAGS", int); 77 GET_COLUMN(catID, "CAT_ID", int); 78 GET_COLUMN(photcode, "PHOTCODE", short); 64 GET_COLUMN(dR, "RA_OFF", float); 65 GET_COLUMN(dD, "DEC_OFF", float); 66 GET_COLUMN(M, "MAG_SYS", float); 67 GET_COLUMN(Mcal, "MAG_CAL", float); 68 GET_COLUMN(dM, "MAG_ERR", float); 69 GET_COLUMN(airmass, "AIRMASS", float); 70 GET_COLUMN(Xccd, "X_CCD", float); 71 GET_COLUMN(Yccd, "Y_CCD", float); 72 GET_COLUMN(dt, "EXPTIME", float); 73 GET_COLUMN(t, "TIME", int); 74 GET_COLUMN(averef, "AVE_REF", int); // XXX signed vs unsigned? 75 GET_COLUMN(imageID, "IMAGE_ID", int); 76 GET_COLUMN(dbFlags, "DB_FLAGS", int); 77 GET_COLUMN(photFlags, "PHOT_FLAGS", int); 78 GET_COLUMN(catID, "CAT_ID", int); 79 GET_COLUMN(photcode, "PHOTCODE", short); 79 80 // XXX free the fits table data here 80 81 … … 82 83 ALLOCATE (measure, MeasureTiny, Nrow); 83 84 for (i = 0; i < Nrow; i++) { 84 measure[i].dR = dR[i]; 85 measure[i].dD = dD[i]; 86 measure[i].M = M[i]; 87 measure[i].Mcal = Mcal[i]; 88 measure[i].dM = dM[i]; 89 measure[i].airmass = airmass[i]; 90 measure[i].Xccd = Xccd[i]; 91 measure[i].Yccd = Yccd[i]; 92 measure[i].dt = dt[i]; 93 measure[i].t = t[i]; 94 measure[i].averef = averef[i]; 95 measure[i].imageID = imageID[i]; 96 measure[i].dbFlags = dbFlags[i]; 97 measure[i].catID = catID[i]; 98 measure[i].photcode = photcode[i]; 85 measure[i].dR = dR[i]; 86 measure[i].dD = dD[i]; 87 measure[i].M = M[i]; 88 measure[i].Mcal = Mcal[i]; 89 measure[i].dM = dM[i]; 90 measure[i].airmass = airmass[i]; 91 measure[i].Xccd = Xccd[i]; 92 measure[i].Yccd = Yccd[i]; 93 measure[i].dt = dt[i]; 94 measure[i].t = t[i]; 95 measure[i].averef = averef[i]; 96 measure[i].imageID = imageID[i]; 97 measure[i].dbFlags = dbFlags[i]; 98 measure[i].photFlags = photFlags[i]; 99 measure[i].catID = catID[i]; 100 measure[i].photcode = photcode[i]; 99 101 } 100 102 // fprintf (stderr, "loaded data for %lld measures\n", (long long) Nrow); … … 113 115 free (imageID ); 114 116 free (dbFlags ); 117 free (photFlags ); 115 118 free (catID ); 116 119 free (photcode); … … 261 264 262 265 // create intermediate storage arrays 263 float *dR ; ALLOCATE (dR , float, catalog->Nmeasure); 264 float *dD ; ALLOCATE (dD , float, catalog->Nmeasure); 265 float *M ; ALLOCATE (M , float, catalog->Nmeasure); 266 float *Mcal ; ALLOCATE (Mcal , float, catalog->Nmeasure); 267 float *dM ; ALLOCATE (dM , float, catalog->Nmeasure); 268 float *airmass ; ALLOCATE (airmass , float, catalog->Nmeasure); 269 float *Xccd ; ALLOCATE (Xccd , float, catalog->Nmeasure); 270 float *Yccd ; ALLOCATE (Yccd , float, catalog->Nmeasure); 271 float *dt ; ALLOCATE (dt , float, catalog->Nmeasure); 272 int *t ; ALLOCATE (t , int , catalog->Nmeasure); 273 int *averef ; ALLOCATE (averef , int , catalog->Nmeasure); 274 int *imageID ; ALLOCATE (imageID , int , catalog->Nmeasure); 275 int *dbFlags ; ALLOCATE (dbFlags , int , catalog->Nmeasure); 276 int *catID ; ALLOCATE (catID , int , catalog->Nmeasure); 277 short *photcode ; ALLOCATE (photcode, short, catalog->Nmeasure); 266 float *dR ; ALLOCATE (dR , float, catalog->Nmeasure); 267 float *dD ; ALLOCATE (dD , float, catalog->Nmeasure); 268 float *M ; ALLOCATE (M , float, catalog->Nmeasure); 269 float *Mcal ; ALLOCATE (Mcal , float, catalog->Nmeasure); 270 float *dM ; ALLOCATE (dM , float, catalog->Nmeasure); 271 float *airmass ; ALLOCATE (airmass , float, catalog->Nmeasure); 272 float *Xccd ; ALLOCATE (Xccd , float, catalog->Nmeasure); 273 float *Yccd ; ALLOCATE (Yccd , float, catalog->Nmeasure); 274 float *dt ; ALLOCATE (dt , float, catalog->Nmeasure); 275 int *t ; ALLOCATE (t , int , catalog->Nmeasure); 276 int *averef ; ALLOCATE (averef , int , catalog->Nmeasure); 277 int *imageID ; ALLOCATE (imageID , int , catalog->Nmeasure); 278 int *dbFlags ; ALLOCATE (dbFlags , int , catalog->Nmeasure); 279 int *photFlags ; ALLOCATE (photFlags, int , catalog->Nmeasure); 280 int *catID ; ALLOCATE (catID , int , catalog->Nmeasure); 281 short *photcode ; ALLOCATE (photcode , short, catalog->Nmeasure); 278 282 279 283 // assign the storage arrays … … 294 298 imageID[i] = measure[i].imageID ; 295 299 dbFlags[i] = measure[i].dbFlags ; 300 photFlags[i]= measure[i].photFlags; 296 301 photcode[i] = measure[i].photcode ; 297 302 } 298 303 299 304 // add the columns to the output array 300 gfits_set_bintable_column (&theader, &ftable, "RA_OFF", dR, catalog->Nmeasure); 301 gfits_set_bintable_column (&theader, &ftable, "DEC_OFF", dD, catalog->Nmeasure); 302 gfits_set_bintable_column (&theader, &ftable, "MAG_SYS", M, catalog->Nmeasure); 303 gfits_set_bintable_column (&theader, &ftable, "MAG_CAL", Mcal, catalog->Nmeasure); 304 gfits_set_bintable_column (&theader, &ftable, "MAG_ERR", dM, catalog->Nmeasure); 305 gfits_set_bintable_column (&theader, &ftable, "AIRMASS", airmass, catalog->Nmeasure); 306 gfits_set_bintable_column (&theader, &ftable, "X_CCD", Xccd, catalog->Nmeasure); 307 gfits_set_bintable_column (&theader, &ftable, "Y_CCD", Yccd, catalog->Nmeasure); 308 gfits_set_bintable_column (&theader, &ftable, "EXPTIME", dt, catalog->Nmeasure); 309 gfits_set_bintable_column (&theader, &ftable, "TIME", t, catalog->Nmeasure); 310 gfits_set_bintable_column (&theader, &ftable, "AVE_REF", averef, catalog->Nmeasure); 311 gfits_set_bintable_column (&theader, &ftable, "IMAGE_ID", imageID, catalog->Nmeasure); 312 gfits_set_bintable_column (&theader, &ftable, "DB_FLAGS", dbFlags, catalog->Nmeasure); 313 gfits_set_bintable_column (&theader, &ftable, "CAT_ID", catID, catalog->Nmeasure); 314 gfits_set_bintable_column (&theader, &ftable, "PHOTCODE", photcode, catalog->Nmeasure); 305 gfits_set_bintable_column (&theader, &ftable, "RA_OFF", dR, catalog->Nmeasure); 306 gfits_set_bintable_column (&theader, &ftable, "DEC_OFF", dD, catalog->Nmeasure); 307 gfits_set_bintable_column (&theader, &ftable, "MAG_SYS", M, catalog->Nmeasure); 308 gfits_set_bintable_column (&theader, &ftable, "MAG_CAL", Mcal, catalog->Nmeasure); 309 gfits_set_bintable_column (&theader, &ftable, "MAG_ERR", dM, catalog->Nmeasure); 310 gfits_set_bintable_column (&theader, &ftable, "AIRMASS", airmass, catalog->Nmeasure); 311 gfits_set_bintable_column (&theader, &ftable, "X_CCD", Xccd, catalog->Nmeasure); 312 gfits_set_bintable_column (&theader, &ftable, "Y_CCD", Yccd, catalog->Nmeasure); 313 gfits_set_bintable_column (&theader, &ftable, "EXPTIME", dt, catalog->Nmeasure); 314 gfits_set_bintable_column (&theader, &ftable, "TIME", t, catalog->Nmeasure); 315 gfits_set_bintable_column (&theader, &ftable, "AVE_REF", averef, catalog->Nmeasure); 316 gfits_set_bintable_column (&theader, &ftable, "IMAGE_ID", imageID, catalog->Nmeasure); 317 gfits_set_bintable_column (&theader, &ftable, "DB_FLAGS", dbFlags, catalog->Nmeasure); 318 gfits_set_bintable_column (&theader, &ftable, "PHOT_FLAGS", photFlags, catalog->Nmeasure); 319 gfits_set_bintable_column (&theader, &ftable, "CAT_ID", catID, catalog->Nmeasure); 320 gfits_set_bintable_column (&theader, &ftable, "PHOTCODE", photcode, catalog->Nmeasure); 315 321 316 322 free (dR ); … … 327 333 free (imageID ); 328 334 free (dbFlags ); 335 free (photFlags ); 329 336 free (catID ); 330 337 free (photcode); -
branches/eam_branches/ipp-20111122/Ohana/src/relphot/src/ImageOps.c
r33374 r33391 456 456 } 457 457 458 minUbercalDist = MIN (catalog[c].secfilt[n*Nsecfilt].M_80, minUbercalDist); // M_80 == ubercalDist 458 PhotCode *code = GetPhotcodebyCode (catalog[c].measureT[m].photcode); 459 if (!code) goto skip; 460 if (code->equiv < 1) goto skip; 461 int Nsec = GetPhotcodeNsec (code->equiv); 462 if (Nsec == -1) goto skip; 463 minUbercalDist = MIN (catalog[c].secfilt[n*Nsecfilt + Nsec].M_80, minUbercalDist); // M_80 == ubercalDist 459 464 460 465 // fprintf (stderr, "%1d, %3d : %3d, %3d : %10.6f %10.6f : %6.3f %6.3f %6.3f %6.3f %6.3f\n", (int) i, (int) j, (int) c, (int) m, catalog[c].averageT[n].R, catalog[c].averageT[n].D, Msys, Mrel, Mmos, Mgrid, Mflat); 461 466 467 skip: 462 468 list[N] = Msys - Mrel - Mmos - Mgrid + Mflat; 463 469 dlist[N] = MAX (catalog[c].measureT[m].dM, MIN_ERROR); … … 497 503 498 504 image[i].dummy3 = minUbercalDist; 505 fprintf (stderr, "%s : %d\n", image[i].name, image[i].dummy3); 499 506 } 500 507 free (list); -
branches/eam_branches/ipp-20111122/Ohana/src/relphot/src/StarOps.c
r33374 r33391 56 56 int Nsecfilt = GetPhotcodeNsecfilt (); 57 57 Nfew = Nsys = Nbad = Ncal = Nmos = Ngrid = 0; 58 59 FILE *f = fopen ("few.v1.dat", "w"); 58 60 59 61 for (i = 0; i < Ncatalog; i++) { … … 135 137 // when performing the grid analysis, STAR_TOOFEW will be set to 1; 136 138 if (N <= STAR_TOOFEW) { /* too few measurements */ 139 fprintf (f, "%10.6f %10.6f %d %d %d\n", catalog[i].averageT[j].R, catalog[i].averageT[j].D, catalog[i].measureT[catalog[i].averageT[j].measureOffset].imageID, N, STAR_TOOFEW); 137 140 catalog[i].secfilt[Nsecfilt*j+Nsec].flags |= ID_STAR_FEW; 138 141 Nfew ++; … … 151 154 } 152 155 } 156 fclose (f); 153 157 fprintf (stderr, "%d stars marked having too few measurements (Nbad: %d, Ncal: %d, Nmos: %d, Ngrid: %d, Nsys: %d)\n", Nfew, Nbad, Ncal, Nmos, Ngrid, Nsys); 154 158 … … 560 564 TOOFEW = MAX (5, STAR_TOOFEW); 561 565 566 FILE *f = fopen ("poor.dat", "w"); 567 562 568 Ndel = Nave = 0; 563 569 Ncal = Nmos = Ngrid = Nfew = 0; … … 598 604 N++; 599 605 } 600 if (N <= TOOFEW) { Nfew ++; continue; } 606 if (N <= TOOFEW) { 607 Nfew ++; 608 continue; 609 } 601 610 602 611 /* 3-sigma clip based on stats of inner 50% */ … … 648 657 /* mark bad measures (> 3 sigma deviant) */ 649 658 for (k = 0; k < N; k++) { 650 if (fabs (list[k] - stats.median) > NSIGMA_REJECT*stats.sigma) { 659 // treat the scatter of the star as a systematic term. this is a bit of an 660 // over-estimage (a perfect Gauss distribution with perfect errors would have 661 // mySigma = sqrt(2) too large) 662 float mySigma = hypot (stats.sigma, dlist[k]); 663 if (fabs (list[k] - stats.median) > NSIGMA_REJECT*mySigma) { 664 fprintf (f, "%10.6f %10.6f %d %f %f %f %f 0x%08x\n", catalog[i].averageT[j].R, catalog[i].averageT[j].D, catalog[i].measureT[ilist[k]].imageID, list[k], stats.median, stats.sigma, mySigma, catalog[i].measureT[ilist[k]].photFlags); 651 665 catalog[i].measureT[ilist[k]].dbFlags |= ID_MEAS_POOR_PHOTOM; 652 666 if (final) { … … 655 669 } 656 670 Ndel ++; 671 } else { 672 if (catalog[i].measureT[ilist[k]].photFlags & 0x02) { 673 fprintf (stderr, "failed to mark %10.6f %10.6f %d\n", catalog[i].averageT[j].R, catalog[i].averageT[j].D, catalog[i].measureT[ilist[k]].imageID); 674 } 657 675 } 658 676 } … … 661 679 } 662 680 } 681 fclose (f); 663 682 initstats (STATMODE); 664 683 if (VERBOSE) fprintf (stderr, OFF_T_FMT" measures marked poor, "OFF_T_FMT" total\n", Ndel, Nave); … … 667 686 free (ilist); 668 687 free (tlist); 688 689 669 690 } 670 691 -
branches/eam_branches/ipp-20111122/Ohana/src/relphot/src/bcatalog.c
r33372 r33391 18 18 int CopyMeasureTiny (MeasureTiny *measureT, Measure *measure) { 19 19 20 measureT[0].dR = measure[0].dR; 21 measureT[0].dD = measure[0].dD; 22 measureT[0].M = measure[0].M; 23 measureT[0].Mcal = measure[0].Mcal; 24 measureT[0].dM = measure[0].dM; 25 measureT[0].airmass = measure[0].airmass; 26 measureT[0].Xccd = measure[0].Xccd; 27 measureT[0].Yccd = measure[0].Yccd; 28 measureT[0].t = measure[0].t; 29 measureT[0].dt = measure[0].dt; 30 measureT[0].averef = measure[0].averef; 31 measureT[0].imageID = measure[0].imageID; 32 measureT[0].dbFlags = measure[0].dbFlags; 33 measureT[0].photcode = measure[0].photcode; 20 measureT[0].dR = measure[0].dR; 21 measureT[0].dD = measure[0].dD; 22 measureT[0].M = measure[0].M; 23 measureT[0].Mcal = measure[0].Mcal; 24 measureT[0].dM = measure[0].dM; 25 measureT[0].airmass = measure[0].airmass; 26 measureT[0].Xccd = measure[0].Xccd; 27 measureT[0].Yccd = measure[0].Yccd; 28 measureT[0].t = measure[0].t; 29 measureT[0].dt = measure[0].dt; 30 measureT[0].averef = measure[0].averef; 31 measureT[0].imageID = measure[0].imageID; 32 measureT[0].dbFlags = measure[0].dbFlags; 33 measureT[0].photFlags = measure[0].photFlags; 34 measureT[0].photcode = measure[0].photcode; 34 35 35 36 return (TRUE); … … 39 40 40 41 off_t i, j, offset; 41 int ecode,found, Ns;42 int found, Ns; 42 43 off_t NAVERAGE, NMEASURE, Naverage, Nmeasure, Nm; 43 44 float mag; 44 int Ncode, Ntime, Ndophot, Nmag, Nsigma, Nimag, Nfew, Ngalaxy, Npsfqf, Nnan ;45 int Ncode, Ntime, Ndophot, Nmag, Nsigma, Nimag, Nfew, Ngalaxy, Npsfqf, Nnan, Nbad, Npoor; 45 46 46 47 int Nsecfilt = GetPhotcodeNsecfilt (); … … 56 57 Nmeasure = Naverage = 0; 57 58 58 Ncode = Ntime = Ndophot = Nmag = Nsigma = Nimag = Nfew = Npsfqf = Ngalaxy = Nnan = 0;59 Ncode = Ntime = Ndophot = Nmag = Nsigma = Nimag = Nfew = Npsfqf = Ngalaxy = Nnan = Nbad = Npoor = 0; 59 60 60 61 // copy the following fields to the subcatalog: … … 105 106 106 107 /* select measurements by photcode */ 107 ecode = GetPhotcodeEquivCodebyCode (catalog[0].measure[offset].photcode); 108 PhotCode *code = GetPhotcodebyCode (catalog[0].measure[offset].photcode); 109 if (!code) continue; 108 110 found = FALSE; 109 111 for (Ns = 0; !found && (Ns < Nphotcodes); Ns++) { 110 if ( ecode== photcodes[Ns][0].code) found = TRUE;112 if (code->equiv == photcodes[Ns][0].code) found = TRUE; 111 113 } 112 114 if (!found) { … … 127 129 if (catalog[0].measure[offset].psfQual < 0.85) { Npsfqf ++; continue; } 128 130 if (isnan(catalog[0].measure[offset].M)) { Nnan ++; continue; } 131 132 if (catalog[0].measure[offset].photFlags & code->photomBadMask) { Nbad++; continue;} 133 if (catalog[0].measure[offset].photFlags & code->photomPoorMask) { Npoor++; continue;} 129 134 130 135 // check for galaxies … … 206 211 fprintf (stderr, "using "OFF_T_FMT" stars ("OFF_T_FMT" measures) of "OFF_T_FMT" for catalog %s\n", 207 212 subcatalog[0].Naverage, subcatalog[0].Nmeasure, i, catalog[0].filename); 208 fprintf (stderr, "rejections: %d code, %d time, %d dophot, %d mag, %d sigma, %d imag, %d few, %d psfqf, %d Nnan, %d galaxies \n",209 Ncode, Ntime, Ndophot, Nmag, Nsigma, Nimag, Nfew, Npsfqf, Nnan, Ngalaxy );213 fprintf (stderr, "rejections: %d code, %d time, %d dophot, %d mag, %d sigma, %d imag, %d few, %d psfqf, %d Nnan, %d galaxies, %d bad, %d poor\n", 214 Ncode, Ntime, Ndophot, Nmag, Nsigma, Nimag, Nfew, Npsfqf, Nnan, Ngalaxy, Nbad, Npoor); 210 215 } 211 216 return (TRUE); … … 336 341 for (i = 0; i < catalog[0].Nmeasure; i++) { 337 342 // CopyMeasureTiny (&catalog[0].measureT[i], &catalog[0].measure[i]); 338 measureT[i].dR = measure[i].dR; 339 measureT[i].dD = measure[i].dD; 340 measureT[i].M = measure[i].M; 341 measureT[i].Mcal = measure[i].Mcal; 342 measureT[i].dM = measure[i].dM; 343 measureT[i].airmass = measure[i].airmass; 344 measureT[i].Xccd = measure[i].Xccd; 345 measureT[i].Yccd = measure[i].Yccd; 346 measureT[i].t = measure[i].t; 347 measureT[i].dt = measure[i].dt; 348 measureT[i].averef = measure[i].averef; 349 measureT[i].imageID = measure[i].imageID; 350 measureT[i].dbFlags = measure[i].dbFlags; 351 measureT[i].photcode = measure[i].photcode; 343 measureT[i].dR = measure[i].dR; 344 measureT[i].dD = measure[i].dD; 345 measureT[i].M = measure[i].M; 346 measureT[i].Mcal = measure[i].Mcal; 347 measureT[i].dM = measure[i].dM; 348 measureT[i].airmass = measure[i].airmass; 349 measureT[i].Xccd = measure[i].Xccd; 350 measureT[i].Yccd = measure[i].Yccd; 351 measureT[i].t = measure[i].t; 352 measureT[i].dt = measure[i].dt; 353 measureT[i].averef = measure[i].averef; 354 measureT[i].imageID = measure[i].imageID; 355 measureT[i].dbFlags = measure[i].dbFlags; 356 measureT[i].photFlags = measure[i].photFlags; 357 measureT[i].photcode = measure[i].photcode; 352 358 } 353 359 -
branches/eam_branches/ipp-20111122/Ohana/src/relphot/src/liststats.c
r16040 r33391 106 106 dS += M; 107 107 } 108 X2 = X2 / Nm;108 X2 = X2 / (Nm - 1); 109 109 dS = sqrt (dS / Nm); 110 110 -
branches/eam_branches/ipp-20111122/Ohana/src/relphot/src/setMrelFinal.c
r33387 r33391 7 7 void setMrelFinal (Catalog *catalog, FlatCorrectionTable *flatcorr) { 8 8 9 off_t i , j, m;9 off_t i; 10 10 int ecode; 11 11 … … 36 36 37 37 for (i = 0; i < catalog[0].Naverage; i++) { 38 catalog[0].secfilt[Nsecfilt*i+Nsec].M = NAN; 39 catalog[0].secfilt[Nsecfilt*i+Nsec].dM = NAN; 40 catalog[0].secfilt[Nsecfilt*i+Nsec].Xm = NAN_S_SHORT; 41 catalog[0].secfilt[Nsecfilt*j+Nsec].Ncode = 0; 42 catalog[0].secfilt[Nsecfilt*j+Nsec].Nused = 0; 43 44 catalog[0].secfilt[Nsecfilt*i+Nsec].flags &= ~PHOTOM_PASSES; 45 46 m = catalog[0].average[i].measureOffset; 38 off_t N = Nsecfilt*i+Nsec; 39 catalog[0].secfilt[N].M = NAN; 40 catalog[0].secfilt[N].dM = NAN; 41 catalog[0].secfilt[N].Xm = NAN_S_SHORT; 42 catalog[0].secfilt[N].Ncode = 0; 43 catalog[0].secfilt[N].Nused = 0; 44 catalog[0].secfilt[N].flags &= ~PHOTOM_PASSES; 45 46 off_t m = catalog[0].average[i].measureOffset; 47 off_t j; 47 48 for (j = 0; j < catalog[0].average[i].Nmeasure; j++, m++) { 48 49 … … 89 90 catalog[0].average[i].flags &= ~ID_STAR_FEW; 90 91 catalog[0].average[i].flags &= ~ID_STAR_POOR; 92 off_t j; 91 93 for (j = 0; j < Nsecfilt; j++) { 92 94 catalog[0].secfilt[i*Nsecfilt+j].flags &= ~ID_STAR_FEW; 93 95 catalog[0].secfilt[i*Nsecfilt+j].flags &= ~ID_STAR_POOR; 94 96 } 95 m = catalog[0].average[i].measureOffset;97 off_t m = catalog[0].average[i].measureOffset; 96 98 for (j = 0; j < catalog[0].average[i].Nmeasure; j++, m++) { 97 99 catalog[0].measure[m].dbFlags &= ~ID_MEAS_NOCAL;
Note:
See TracChangeset
for help on using the changeset viewer.
