IPP Software Navigation Tools IPP Links Communication Pan-STARRS Links

Changeset 38316


Ignore:
Timestamp:
May 25, 2015, 7:39:25 AM (11 years ago)
Author:
eugene
Message:

updating warp in relphot

Location:
branches/eam_branches/ipp-20150419/Ohana/src/relphot
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • branches/eam_branches/ipp-20150419/Ohana/src/relphot/include/relphot.h

    r38314 r38316  
    141141  int *NexpPS1;               // count of PS1 exposure (chip) measurements for this secfilt
    142142  int *haveUbercal;           // does this secfilt have any ubercal data?
     143
     144  int *tessID;                // tess,proj,skycell to use for warp and diff analysis
     145  int *projID;
     146  int *skycellID;
    143147
    144148  float *minUbercalDist;
  • branches/eam_branches/ipp-20150419/Ohana/src/relphot/src/StarOps.c

    r38314 r38316  
    117117    results->havePS1[i] = 0;
    118118    results->haveUbercal[i] = 0;
     119
     120    results->tessID[i]    = 0;
     121    results->projID[i]    = 0;
     122    results->skycellID[i] = 0;
     123
    119124    results->minUbercalDist[i] = 1000;
    120125
     
    156161    ALLOCATE (results->haveUbercal,    int, results->Nsecfilt);
    157162
     163    ALLOCATE (results->tessID,         int, results->Nsecfilt);
     164    ALLOCATE (results->projID,         int, results->Nsecfilt);
     165    ALLOCATE (results->skycellID,      int, results->Nsecfilt);
     166
    158167    ALLOCATE (results->minUbercalDist, float, results->Nsecfilt);
    159168
     
    185194    results->psfQfMax = NULL;
    186195    results->psfQfPerfMax = NULL;
     196
     197    results->Nmeas = NULL;
     198    results->NmeasGood = NULL;
    187199    results->Next = NULL;
    188200    results->NexpPS1 = NULL;
    189201    results->havePS1 = NULL;
    190202    results->haveUbercal = NULL;
     203
     204    results->tessID = NULL;
     205    results->projID = NULL;
     206    results->skycellID = NULL;
     207
    191208    results->minUbercalDist = NULL;
    192209  }
     
    200217  FREE (results->psfqfperf_list);
    201218  FREE (results->stargal_list);
     219
     220  FREE (results->havePS1);
     221  FREE (results->haveSYN);
     222  FREE (results->needSYN);
     223  FREE (results->measSYN);
     224  FREE (results->minSYN );
     225
     226  FREE (results->psfQfMax);
     227  FREE (results->psfQfPerfMax);
     228
     229  FREE (results->Nmeas);
     230  FREE (results->NmeasGood);
     231  FREE (results->Next);
     232  FREE (results->NexpPS1);
     233  FREE (results->havePS1);
     234  FREE (results->haveUbercal);
     235
     236  FREE (results->tessID);
     237  FREE (results->projID);
     238  FREE (results->skycellID);
     239
     240  FREE (results->minUbercalDist);
    202241}
    203242
  • branches/eam_branches/ipp-20150419/Ohana/src/relphot/src/setMrelCatalog.c

    r38314 r38316  
    644644// somewhat simplified relative to chip-photometry:
    645645// * no grid, no mosaic, no 2MASS, no SYNTH, no Ubercal, no flatcorr
     646// analysis is done on flux, not mags (as the faintest objects will be nearly insignificant)
    646647int setMrelAverageForcedWarp (Catalog *catalog, int cat, off_t ave, int Nsecfilt, FlatCorrectionTable *flatcorr, SetMrelInfo *results) {
    647648
     
    649650
    650651  // we are guaranteed to have average, measure, secfilt
    651   Average *average = &catalog[0].average[ave];
    652   Measure *measure = &catalog[0].measure[measureOffset];
    653   SecFilt *secfilt = &catalog[0].secfilt[ave*Nsecfilt];
     652  Average *average  = &catalog[0].average[ave];
     653  Measure *measure  = &catalog[0].measure[measureOffset];
     654  SecFilt *secfilt  = &catalog[0].secfilt[ave*Nsecfilt];
     655  char *measureRank = &catalog[0].measureRank[measureOffset];
     656
     657  off_t measureOffset = average->measureOffset;
    654658
    655659  off_t k;
     
    662666  }
    663667
    664   // for a diff db, we just want primary, if available or not
    665   int priTessID, priProjID, priSkycellID;
     668  // for a diff db, we just want primary, if available or not. for warp we want to use the
     669  // skycell which provided the stack best entry
     670  int tessID, projID, skycellID;
    666671  if (IS_DIFF_DB) {
    667     get_tess_ids(&priTessID, &priProjID, &priSkycellID, average[0].R, average[0].D);
    668   }
    669 
     672    get_tess_ids(&tessID, &projID, &skycellID, average[0].R, average[0].D);
     673  }
    670674  for (Nsec = 0; Nsec < Nsecfilt; Nsec++) {
    671     // I need to restrict the measurements coming only from the same skycell as the secfilt values
    672     // if we cannot make that association, skip this set of warps
    673     int stkTessID, stkProjID, stkSkycellID;
    674    
    675675    if (!IS_DIFF_DB) {
    676676      myAssert (secfilt[Nsec].stackBestOff <= Nmeasure, "stackBestOff out of range");
    677677      if (!FindImageSkycellID (secfilt[Nsec].stackBestOff, cat, &stkTessID[Nsec], &stkProjID[Nsec], &stkSkycellID[Nsec])) continue;
    678678    }
     679    results->tessID[Nsec]    = tessID;
     680    results->projID[Nsec]    = projID;
     681    results->skycellID[Nsec] = skycellID;
    679682  }
    680683
     
    694697
    695698    results->Nmeas[Nsec] ++;
    696     if (measure[k].psfQFperf > 0.85) results->NwarpGood[Nsec] ++;
     699    if (measure[k].psfQFperf > 0.85) results->NmeasGood[Nsec] ++;
    697700
    698701    measure[k].dbFlags &= ~ID_MEAS_WARP_USED;
     
    715718    }
    716719
     720    off_t meas = measureOffset + k;
    717721    if (getImageEntry (meas, cat) < 0) {
    718722      // measurements without an image are either external reference photometry or
     
    792796    }
    793797    int minRank = (Nranking > 0) ? results->psfData[Nsec].ranking[0] : 10;
    794     markMeasureByRanking (&results->psfData[Nsec], measure, minRank, IID_MEAS_WARP_USED);
     798    markMeasureByRanking (&results->psfData[Nsec], measure, minRank, ID_MEAS_WARP_USED);
    795799
    796800    // if too few valid measurements meet the minimum criteria, go to the next entry
     
    829833  off_t k;
    830834
     835  myAbort ("this function makes no sense");
     836
    831837  float psfQFmax     = 0.0;
    832838  float psfQFperfmax = 0.0;
Note: See TracChangeset for help on using the changeset viewer.