IPP Software Navigation Tools IPP Links Communication Pan-STARRS Links

Ignore:
Timestamp:
Apr 9, 2012, 2:06:33 PM (14 years ago)
Author:
eugene
Message:

add Mstdev to secfilt; add some test code to MosaicOps.c

Location:
branches/eam_branches/ipp-20120405/Ohana/src/relphot/src
Files:
5 edited

Legend:

Unmodified
Added
Removed
  • branches/eam_branches/ipp-20120405/Ohana/src/relphot/src/MosaicOps.c

    r33651 r33736  
    569569}
    570570
     571static int npass_output = 0;
     572
    571573int setMmos (Catalog *catalog, int PoorImages, FlatCorrectionTable *flatcorr) {
    572574
     
    627629    int minUbercalDist = 1000;
    628630
     631    int testImage = FALSE;
     632    testImage |= (abs(mosaic[i].start - 1323003245) < 10);
     633    testImage |= (abs(mosaic[i].start - 1323003069) < 10);
     634    testImage |= (abs(mosaic[i].start - 1323003125) < 10);
     635    testImage |= (abs(mosaic[i].start - 1323003300) < 10);
     636    testImage |= (abs(mosaic[i].start - 1323003365) < 10);
     637    testImage |= (abs(mosaic[i].start - 1323003191) < 10);
     638    testImage |= (abs(mosaic[i].start - 1323003014) < 10);
     639    testImage |= (abs(mosaic[i].start - 1323003484) < 10);
     640    testImage |= (abs(mosaic[i].start - 1323003419) < 10);
     641    testImage |= (abs(mosaic[i].start - 1323002949) < 10);
     642
     643    FILE *fout = NULL;
     644    if (testImage) {
     645      char filename[64];
     646      snprintf (filename, 64, "test.%05d.%02d.dat", (int) i, npass_output);
     647      fout = fopen (filename, "w");
     648    }
     649
    629650    // number of stars to measure the bright-end scatter
    630651    Nbright = 0;
     
    636657      c = MosaicToCatalog[i][j];
    637658     
     659      if (fout) {
     660        Mcal  = getMcal  (m, c, flatcorr, catalog);
     661        Mgrid = getMgrid (m, c);
     662        Mrel  = getMrel  (catalog, m, c);
     663        Mflat = getMflat (m, c, flatcorr, catalog);
     664
     665        n = catalog[c].measureT[m].averef;
     666        Msys = PhotSysTiny (&catalog[c].measureT[m], &catalog[c].averageT[n], &catalog[c].secfilt[n*Nsecfilt]);
     667
     668        float delta = Msys - Mrel - Mcal - Mgrid + Mflat;
     669
     670        int isBad = (catalog[c].measureT[m].dbFlags & MEAS_BAD);
     671
     672        fprintf (fout, "%f %f : %f %f %f %f %f  : %f %d\n", catalog[c].averageT[n].R, catalog[c].averageT[n].D, Msys, Mrel, Mcal, Mgrid, Mflat, delta, isBad);
     673      }
     674
    638675      if (catalog[c].measureT[m].dbFlags & MEAS_BAD) {
    639676          Nbad ++;
     
    689726    /* N_onMosaic[i] is all measurements, N is good measurements */
    690727
     728    if (fout) {
     729      fclose (fout);
     730    }
     731
    691732    /* too few good measurements or too many bad measurements (skip in PoorImages run) */
    692733    if (!PoorImages) {
     
    696737        mosaic[i].flags |= ID_IMAGE_PHOTOM_FEW;
    697738        Nfew ++;
     739        if (testImage) {
     740          fprintf (stderr, "NOTE: *** marked test image poor : %d %d %d***\n", (int) N, (int) IMAGE_TOOFEW, (int) (IMAGE_GOOD_FRACTION*N_onMosaic[i]));
     741        }
    698742      } else {
    699743        mosaic[i].flags &= ~ID_IMAGE_PHOTOM_FEW;
     
    708752    mosaic[i].Xm    = 100.0*log10(stats.chisq);
    709753
     754    if (testImage) {
     755      fprintf (stderr, "test image %d (%d) %f %f %d ... ", (int) i, mosaic[i].start, stats.mean, stats.error, mosaic[i].nFitPhotom);
     756    }
     757
    710758    plot_setMcal (list, N, &stats, CLOUD_TOLERANCE);
    711759
     
    716764    if (mosaic[i].Mcal < -CLOUD_TOLERANCE) {
    717765      mosaic[i].Mcal = 0.0;
     766    }
     767
     768    if (testImage) {
     769      fprintf (stderr, "%f %f\n", mosaic[i].Mcal, mosaic[i].dMsys);
    718770    }
    719771
     
    733785  free (Mlist);
    734786  free (dMlist);
     787
     788  npass_output ++;
    735789
    736790  fprintf (stderr, "%d mosaics marked having too few measurements (Nbad: %d, Ncal: %d, Ngrid: %d, Nrel: %d, Nsys: %d)\n", Nfew, Nbad, Ncal, Ngrid, Nrel, Nsys);
  • branches/eam_branches/ipp-20120405/Ohana/src/relphot/src/StarOps.c

    r33651 r33736  
    376376        catalog[i].secfilt[Nsecfilt*j+Nsec].M  = stats.mean;
    377377        catalog[i].secfilt[Nsecfilt*j+Nsec].Map = apstats.mean;
    378         catalog[i].secfilt[Nsecfilt*j+Nsec].dM = MAX (stats.error, stats.sigma);
     378        catalog[i].secfilt[Nsecfilt*j+Nsec].dM = stats.error;
     379        catalog[i].secfilt[Nsecfilt*j+Nsec].Mstdev = 1000.0*stats.sigma; // Mstdev is in millimags (not enough space for more precision)
    379380        catalog[i].secfilt[Nsecfilt*j+Nsec].Xm = (stats.Nmeas > 1) ? 100.0*log10(stats.chisq) : NAN_S_SHORT;
    380381        catalog[i].secfilt[Nsecfilt*j+Nsec].Ncode = Ncode;
     
    488489        /* use sigma or error in dM for output? */
    489490        catalog[i].secfilt[Nsecfilt*j+Ns].M  = stats.mean;
    490         catalog[i].secfilt[Nsecfilt*j+Ns].dM = MAX (stats.error, stats.sigma);
     491        catalog[i].secfilt[Nsecfilt*j+Ns].dM = stats.error;
     492        catalog[i].secfilt[Nsecfilt*j+Ns].Mstdev = 1000.0*stats.sigma; // Mstdev is in millimags (not enough space for more precision)
    491493        catalog[i].secfilt[Nsecfilt*j+Ns].Xm = (stats.Nmeas > 1) ? 100.0*log10(stats.chisq) : NAN_S_SHORT;
    492494        catalog[i].secfilt[Nsecfilt*j+Ns].Ncode = N;
  • branches/eam_branches/ipp-20120405/Ohana/src/relphot/src/bcatalog.c

    r33651 r33736  
    7474        subcatalog[0].secfilt[Nsecfilt*Naverage+Nsec].Map    = NAN;
    7575        subcatalog[0].secfilt[Nsecfilt*Naverage+Nsec].dM     = NAN;
     76        subcatalog[0].secfilt[Nsecfilt*Naverage+Nsec].Mstdev = NAN_S_SHORT;
    7677        subcatalog[0].secfilt[Nsecfilt*Naverage+Nsec].Xm     = NAN;
    7778        subcatalog[0].secfilt[Nsecfilt*Naverage+Nsec].M_20   = NAN_S_SHORT;
  • branches/eam_branches/ipp-20120405/Ohana/src/relphot/src/relphot_objects.c

    r33651 r33736  
    7878          catalog.secfilt[j*Nsecfilt + k].Map    = NAN;
    7979          catalog.secfilt[j*Nsecfilt + k].dM     = NAN;
     80          catalog.secfilt[j*Nsecfilt + k].Mstdev = NAN_S_SHORT;
    8081          catalog.secfilt[j*Nsecfilt + k].Xm     = NAN;
    8182          catalog.secfilt[j*Nsecfilt + k].M_20   = NAN_S_SHORT;
  • branches/eam_branches/ipp-20120405/Ohana/src/relphot/src/setMrelFinal.c

    r33651 r33736  
    4343        catalog[0].secfilt[N].Map    = NAN;
    4444        catalog[0].secfilt[N].dM     = NAN;
     45        catalog[0].secfilt[N].Mstdev = NAN_S_SHORT;
    4546        catalog[0].secfilt[N].Xm     = NAN;
    4647        catalog[0].secfilt[N].M_20   = NAN_S_SHORT;
Note: See TracChangeset for help on using the changeset viewer.