IPP Software Navigation Tools IPP Links Communication Pan-STARRS Links

Ignore:
Timestamp:
May 8, 2025, 4:29:52 PM (15 months ago)
Author:
eugene
Message:

merge changes from eam_branches/ipp-20230313

Location:
trunk/Ohana
Files:
7 edited

Legend:

Unmodified
Added
Removed
  • trunk/Ohana

  • trunk/Ohana/src/libdvo/include/dvodb.h

    r42389 r42821  
    547547
    548548dbValue      dbExtractAverages      PROTO((Average *average, SecFilt *secfilt, Measure *measure, Lensobj *lensobj, StarPar *starpar, GalPhot *galphot, dbField *field));
    549 dbValue      dbExtractMeasures      PROTO((Average *average, SecFilt *secfilt, Measure *measure, Lensing *lensing, StarPar *starpar, dbField *field));
     549dbValue      dbExtractMeasures      PROTO((Average *average, SecFilt *secfilt, Lensobj *lensobj, Measure *measure, Lensing *lensing, StarPar *starpar, GalPhot *galphot, dbField *field));
    550550dbValue      dbExtractImages        PROTO((Image *image, off_t Nimage, off_t N, dbField *field));
    551551
  • trunk/Ohana/src/libdvo/include/libdvo_astro.h

    r42075 r42821  
    2020  PROJ_TNX, // zenithal
    2121  PROJ_DIS, // zenithal (TAN + polyterms)
     22  PROJ_CAR, // cartesian (Plat-Carre)
    2223  PROJ_LIN, // cartesian
    2324  PROJ_PLY, // cartesian (allow polyterms)
  • trunk/Ohana/src/libdvo/src/cmf-ps1-v5-r0.c

    r42477 r42821  
    9696    SWAP_BYTE (236); // SRC_CHIP_Y     
    9797    SWAP_BYTE (238); // PADDING3       
    98     SWAP_WORD (242); // MOMENTS_R1
    99     SWAP_WORD (246); // MOMENTS_RH
    100     SWAP_WORD (250); // KRON_FLUX
    101     SWAP_WORD (254); // KRON_FLUX_ERR
    102     SWAP_WORD (258); // KRON_FLUX_INNER
    103     SWAP_WORD (262); // KRON_FLUX_OUTER
    104     SWAP_WORD (266); // SKY_LIMIT_RAD
    105     SWAP_WORD (270); // SKY_LIMIT_FLUX
    106     SWAP_WORD (274); // SKY_LIMIT_SLOPE
    107     SWAP_WORD (278); // FLAGS
     98    SWAP_WORD (240); // MOMENTS_R1
     99    SWAP_WORD (244); // MOMENTS_RH
     100    SWAP_WORD (248); // KRON_FLUX
     101    SWAP_WORD (252); // KRON_FLUX_ERR
     102    SWAP_WORD (256); // KRON_FLUX_INNER
     103    SWAP_WORD (260); // KRON_FLUX_OUTER
     104    SWAP_WORD (264); // SKY_LIMIT_RAD
     105    SWAP_WORD (268); // SKY_LIMIT_FLUX
     106    SWAP_WORD (272); // SKY_LIMIT_SLOPE
     107    SWAP_WORD (276); // FLAGS
    108108    SWAP_WORD (280); // FLAGS2
    109109    SWAP_BYTE (284); // N_FRAMES
  • trunk/Ohana/src/libdvo/src/coordops.c

    r42389 r42821  
    10721072  if (!strncmp(&ctype[4], "-TNX", 4)) return PROJ_TNX;
    10731073  if (!strncmp(&ctype[4], "-DIS", 4)) return PROJ_DIS;
     1074  if (!strncmp(&ctype[4], "-CAR", 4)) return PROJ_CAR;
    10741075  if (!strncmp(&ctype[4], "-LIN", 4)) return PROJ_LIN;
    10751076  if (!strncmp(&ctype[0], "GENE", 4)) return PROJ_LIN; // note ctype[0]
     
    10941095    case PROJ_TNX: strcpy(&ctype[4], "-TNX"); return TRUE;
    10951096    case PROJ_DIS: strcpy(&ctype[4], "-DIS"); return TRUE;
     1097    case PROJ_CAR: strcpy(&ctype[4], "-CAR"); return TRUE;
    10961098    case PROJ_LIN: strcpy(&ctype[4], "-LIN"); return TRUE;
    10971099    case PROJ_PLY: strcpy(&ctype[4], "-PLY"); return TRUE;
     
    11181120    case PROJ_DIS:
    11191121      return PROJ_MODE_ZENITHAL;
     1122    case PROJ_CAR:
    11201123    case PROJ_LIN:
    11211124    case PROJ_PLY:
  • trunk/Ohana/src/libdvo/src/dbExtractMeasures.c

    r42102 r42821  
    8585
    8686/* return measure.field based on the selection */
    87 dbValue dbExtractMeasures (Average *average, SecFilt *secfilt, Measure *measure, Lensing *lensing, StarPar *starpar, dbField *field) {
     87dbValue dbExtractMeasures (Average *average, SecFilt *secfilt, Lensobj *lensobj, Measure *measure, Lensing *lensing, StarPar *starpar, GalPhot *galphot, dbField *field) {
    8888
    8989  int Nsec;
     
    264264         
    265265          // the following values come from the mean lensobj table
    266         case MAG_OPTION_X11_SM_OBJ:
    267         case MAG_OPTION_X12_SM_OBJ:
    268         case MAG_OPTION_X22_SM_OBJ:
    269         case MAG_OPTION_E1_SM_OBJ:
    270         case MAG_OPTION_E2_SM_OBJ:
    271         case MAG_OPTION_X11_SH_OBJ:
    272         case MAG_OPTION_X12_SH_OBJ:
    273         case MAG_OPTION_X22_SH_OBJ:
    274         case MAG_OPTION_E1_SH_OBJ:
    275         case MAG_OPTION_E2_SH_OBJ:
    276         case MAG_OPTION_X11_SM_PSF:
    277         case MAG_OPTION_X12_SM_PSF:
    278         case MAG_OPTION_X22_SM_PSF:
    279         case MAG_OPTION_E1_SM_PSF:
    280         case MAG_OPTION_E2_SM_PSF:
    281         case MAG_OPTION_X11_SH_PSF:
    282         case MAG_OPTION_X12_SH_PSF:
    283         case MAG_OPTION_X22_SH_PSF:
    284         case MAG_OPTION_E1_SH_PSF:
    285         case MAG_OPTION_E2_SH_PSF:
    286 
    287         case MAG_OPTION_E1_PSF:
    288         case MAG_OPTION_E2_PSF:
    289 
    290         case MAG_OPTION_F_AP_R5:
    291         case MAG_OPTION_F_ERR_AP_R5:
    292         case MAG_OPTION_F_STDEV_AP_R5:
    293         case MAG_OPTION_F_FILL_AP_R5:
    294         case MAG_OPTION_F_AP_R6:
    295         case MAG_OPTION_F_ERR_AP_R6:
    296         case MAG_OPTION_F_STDEV_AP_R6:
    297         case MAG_OPTION_F_FILL_AP_R6:
    298         case MAG_OPTION_F_AP_R7:
    299         case MAG_OPTION_F_ERR_AP_R7:
    300         case MAG_OPTION_F_STDEV_AP_R7:
    301         case MAG_OPTION_F_FILL_AP_R7:
    302         case MAG_OPTION_E1:
    303         case MAG_OPTION_E2:
    304 
    305         case MAG_OPTION_GAL_MAG:       
    306         case MAG_OPTION_GAL_MAG_ERR:   
    307         case MAG_OPTION_GAL_MAJ:       
    308         case MAG_OPTION_GAL_MAJ_ERR:   
    309         case MAG_OPTION_GAL_MIN:       
    310         case MAG_OPTION_GAL_MIN_ERR:   
    311         case MAG_OPTION_GAL_THETA:     
    312         case MAG_OPTION_GAL_THETA_ERR:
    313         case MAG_OPTION_GAL_INDEX:     
    314         case MAG_OPTION_GAL_CHISQ:     
    315         case MAG_OPTION_GAL_NPIX:     
    316         case MAG_OPTION_GAL_FLAGS:     
    317         case MAG_OPTION_GAL_TYPE:     
    318         case MAG_OPTION_GAL_OBJ_ID:
    319         case MAG_OPTION_GAL_CAT_ID:
    320         case MAG_OPTION_GAL_DET_ID:
    321         case MAG_OPTION_GAL_IMAGE_ID:
    322 
    323         case MAG_OPTION_NONE:
    324           break;
     266          // g:X11_SM_OBJ, etc, are only valid for average
     267        case MAG_OPTION_X11_SM_OBJ: { value.Flt = LensValue_X11_sm_obj (field->photcode, lensobj, average->Nlensobj); break; }
     268        case MAG_OPTION_X12_SM_OBJ: { value.Flt = LensValue_X12_sm_obj (field->photcode, lensobj, average->Nlensobj); break; }
     269        case MAG_OPTION_X22_SM_OBJ: { value.Flt = LensValue_X22_sm_obj (field->photcode, lensobj, average->Nlensobj); break; }
     270        case MAG_OPTION_E1_SM_OBJ:  { value.Flt = LensValue_E1_sm_obj  (field->photcode, lensobj, average->Nlensobj); break; }
     271        case MAG_OPTION_E2_SM_OBJ:  { value.Flt = LensValue_E2_sm_obj  (field->photcode, lensobj, average->Nlensobj); break; }
     272
     273        case MAG_OPTION_X11_SH_OBJ: { value.Flt = LensValue_X11_sh_obj (field->photcode, lensobj, average->Nlensobj); break; }
     274        case MAG_OPTION_X12_SH_OBJ: { value.Flt = LensValue_X12_sh_obj (field->photcode, lensobj, average->Nlensobj); break; }
     275        case MAG_OPTION_X22_SH_OBJ: { value.Flt = LensValue_X22_sh_obj (field->photcode, lensobj, average->Nlensobj); break; }
     276        case MAG_OPTION_E1_SH_OBJ:  { value.Flt = LensValue_E1_sh_obj  (field->photcode, lensobj, average->Nlensobj); break; }
     277        case MAG_OPTION_E2_SH_OBJ:  { value.Flt = LensValue_E2_sh_obj  (field->photcode, lensobj, average->Nlensobj); break; }
     278
     279        case MAG_OPTION_X11_SM_PSF: { value.Flt = LensValue_X11_sm_psf (field->photcode, lensobj, average->Nlensobj); break; }
     280        case MAG_OPTION_X12_SM_PSF: { value.Flt = LensValue_X12_sm_psf (field->photcode, lensobj, average->Nlensobj); break; }
     281        case MAG_OPTION_X22_SM_PSF: { value.Flt = LensValue_X22_sm_psf (field->photcode, lensobj, average->Nlensobj); break; }
     282        case MAG_OPTION_E1_SM_PSF:  { value.Flt = LensValue_E1_sm_psf  (field->photcode, lensobj, average->Nlensobj); break; }
     283        case MAG_OPTION_E2_SM_PSF:  { value.Flt = LensValue_E2_sm_psf  (field->photcode, lensobj, average->Nlensobj); break; }
     284
     285        case MAG_OPTION_X11_SH_PSF: { value.Flt = LensValue_X11_sh_psf (field->photcode, lensobj, average->Nlensobj); break; }
     286        case MAG_OPTION_X12_SH_PSF: { value.Flt = LensValue_X12_sh_psf (field->photcode, lensobj, average->Nlensobj); break; }
     287        case MAG_OPTION_X22_SH_PSF: { value.Flt = LensValue_X22_sh_psf (field->photcode, lensobj, average->Nlensobj); break; }
     288        case MAG_OPTION_E1_SH_PSF:  { value.Flt = LensValue_E1_sh_psf  (field->photcode, lensobj, average->Nlensobj); break; }
     289        case MAG_OPTION_E2_SH_PSF:  { value.Flt = LensValue_E2_sh_psf  (field->photcode, lensobj, average->Nlensobj); break; }
     290
     291        case MAG_OPTION_F_AP_R5:       { value.Flt = LensValue_F_ApR5  (field->photcode, lensobj, average->Nlensobj); break; }
     292        case MAG_OPTION_F_ERR_AP_R5:   { value.Flt = LensValue_dF_ApR5 (field->photcode, lensobj, average->Nlensobj); break; }
     293        case MAG_OPTION_F_STDEV_AP_R5: { value.Flt = LensValue_sF_ApR5 (field->photcode, lensobj, average->Nlensobj); break; }
     294        case MAG_OPTION_F_FILL_AP_R5:  { value.Flt = LensValue_fF_ApR5 (field->photcode, lensobj, average->Nlensobj); break; }
     295                                                                                               
     296        case MAG_OPTION_F_AP_R6:       { value.Flt = LensValue_F_ApR6  (field->photcode, lensobj, average->Nlensobj); break; }
     297        case MAG_OPTION_F_ERR_AP_R6:   { value.Flt = LensValue_dF_ApR6 (field->photcode, lensobj, average->Nlensobj); break; }
     298        case MAG_OPTION_F_STDEV_AP_R6: { value.Flt = LensValue_sF_ApR6 (field->photcode, lensobj, average->Nlensobj); break; }
     299        case MAG_OPTION_F_FILL_AP_R6:  { value.Flt = LensValue_fF_ApR6 (field->photcode, lensobj, average->Nlensobj); break; }
     300
     301        case MAG_OPTION_F_AP_R7:       { value.Flt = LensValue_F_ApR7  (field->photcode, lensobj, average->Nlensobj); break; }
     302        case MAG_OPTION_F_ERR_AP_R7:   { value.Flt = LensValue_dF_ApR7 (field->photcode, lensobj, average->Nlensobj); break; }
     303        case MAG_OPTION_F_STDEV_AP_R7: { value.Flt = LensValue_sF_ApR7 (field->photcode, lensobj, average->Nlensobj); break; }
     304        case MAG_OPTION_F_FILL_AP_R7:  { value.Flt = LensValue_fF_ApR7 (field->photcode, lensobj, average->Nlensobj); break; }
     305
     306        case MAG_OPTION_E1:            { value.Flt = LensValue_E1      (field->photcode, lensobj, average->Nlensobj); break; }
     307        case MAG_OPTION_E2:            { value.Flt = LensValue_E2      (field->photcode, lensobj, average->Nlensobj); break; }
     308
     309        case MAG_OPTION_GAL_MAG:      { value.Flt = GalphotValue_GAL_MAG      (field->photcode, field->magClass, galphot, average->Ngalphot); break; }
     310        case MAG_OPTION_GAL_MAG_ERR:  { value.Flt = GalphotValue_GAL_MAG_ERR  (field->photcode, field->magClass, galphot, average->Ngalphot); break; }
     311        case MAG_OPTION_GAL_MAJ:      { value.Flt = GalphotValue_GAL_MAJ      (field->photcode, field->magClass, galphot, average->Ngalphot); break; }
     312        case MAG_OPTION_GAL_MAJ_ERR:  { value.Flt = GalphotValue_GAL_MAJ_ERR  (field->photcode, field->magClass, galphot, average->Ngalphot); break; }
     313        case MAG_OPTION_GAL_MIN:      { value.Flt = GalphotValue_GAL_MIN      (field->photcode, field->magClass, galphot, average->Ngalphot); break; }
     314        case MAG_OPTION_GAL_MIN_ERR:  { value.Flt = GalphotValue_GAL_MIN_ERR  (field->photcode, field->magClass, galphot, average->Ngalphot); break; }
     315        case MAG_OPTION_GAL_THETA:    { value.Flt = GalphotValue_GAL_THETA    (field->photcode, field->magClass, galphot, average->Ngalphot); break; }
     316        case MAG_OPTION_GAL_THETA_ERR:{ value.Flt = GalphotValue_GAL_THETA_ERR(field->photcode, field->magClass, galphot, average->Ngalphot); break; }
     317        case MAG_OPTION_GAL_INDEX:    { value.Flt = GalphotValue_GAL_INDEX    (field->photcode, field->magClass, galphot, average->Ngalphot); break; }
     318        case MAG_OPTION_GAL_CHISQ:    { value.Flt = GalphotValue_GAL_CHISQ    (field->photcode, field->magClass, galphot, average->Ngalphot); break; }
     319        case MAG_OPTION_GAL_NPIX:     { value.Flt = GalphotValue_GAL_NPIX     (field->photcode, field->magClass, galphot, average->Ngalphot); break; }
     320        case MAG_OPTION_GAL_TYPE:     { value.Flt = GalphotValue_GAL_TYPE     (field->photcode, field->magClass, galphot, average->Ngalphot); break; }
     321        case MAG_OPTION_GAL_FLAGS:    { value.Flt = GalphotValue_GAL_FLAGS    (field->photcode, field->magClass, galphot, average->Ngalphot); break; }
     322
     323        case MAG_OPTION_GAL_OBJ_ID:   { value.Flt = GalphotValue_GAL_OBJ_ID   (field->photcode, field->magClass, galphot, average->Ngalphot); break; }
     324        case MAG_OPTION_GAL_CAT_ID:   { value.Flt = GalphotValue_GAL_CAT_ID   (field->photcode, field->magClass, galphot, average->Ngalphot); break; }
     325        case MAG_OPTION_GAL_DET_ID:   { value.Flt = GalphotValue_GAL_DET_ID   (field->photcode, field->magClass, galphot, average->Ngalphot); break; }
     326        case MAG_OPTION_GAL_IMAGE_ID: { value.Flt = GalphotValue_GAL_IMAGE_ID (field->photcode, field->magClass, galphot, average->Ngalphot); break; }
     327
     328        case MAG_OPTION_E1_PSF: break;
     329        case MAG_OPTION_E2_PSF: break;
     330        case MAG_OPTION_NONE: break;
    325331      }
    326332      break;
  • trunk/Ohana/src/libdvo/src/dvo_photcode_utils.c

    r33649 r42821  
    11# include <dvo.h>
     2
     3/* the photcode table includes a number of SEC types, photcodes->Nsecfilt
     4   hashNsec[code] returns the number in the sequence 0 - Nsecfilt for a given SEC code
     5*/
     6
     7// these APIs originally just matched by number of the code, but they should
     8// match by the *name* of the photcode (e.g., g = g)
    29
    310// Create a map between the secfilt values from one photcode table to another
     
    1118  // loop over entries in the input table
    1219  for (i = 0; i < NsecfiltIn; i++) {
    13     int code  = input[0].codeNsec[i];
     20    int inseq  = input[0].codeNsec[i];
     21    myAssert (inseq > -1, "invalid SEC");
     22    int incode   = input[0].hashcode[inseq];
    1423    int entry = -1;
    1524    // find the matching entry in the output table
    1625    for (j = 0; j < NsecfiltOut; j++) {
    17       int outcode = output[0].codeNsec[j];
    18       if (code == outcode) {
    19          entry = j;
    20          break;
    21       }
     26      int outseq = output[0].codeNsec[j];
     27      myAssert (outseq > -1, "invalid SEC");
     28      int outcode   = output[0].hashcode[outseq];
     29      if (strcmp (input[0].code[incode].name, output[0].code[outcode].name)) continue;
     30      entry = j;
     31      break;
    2232    }
    23     // if (entry == -1) {
    24     //   // entry is missing fail (no printfs in this file)
    25     //   free(map);
    26     //   return(FALSE);
    27     // }
    28 
    2933    // if entry is still -1, we will skip this one (not map into the output db)
    3034    map[i] = entry;
Note: See TracChangeset for help on using the changeset viewer.