IPP Software Navigation Tools IPP Links Communication Pan-STARRS Links

Changeset 37006


Ignore:
Timestamp:
Jul 13, 2014, 11:06:04 AM (12 years ago)
Author:
eugene
Message:

refColor changed to refColorBlue,refColorRed

Location:
branches/eam_branches/ipp-20140610/Ohana/src/relastro
Files:
12 edited

Legend:

Unmodified
Added
Removed
  • branches/eam_branches/ipp-20140610/Ohana/src/relastro/include/relastro.h

    r36995 r37006  
    7575  double X, Y;  /* Chip Coords   - pixels  */
    7676  float Mag;
    77   float Color;
     77  float ColorBlue;
     78  float ColorRed;
    7879  float dMag;
    7980  float dPos;
     
    209210SkyRegionSelection SELECTION;
    210211
    211 char         *DCR_COLOR_POS,    *DCR_COLOR_NEG;
    212 PhotCode     *DCR_PHOTCODE_POS, *DCR_PHOTCODE_NEG;
    213 int           DCR_NSEC_POS,      DCR_NSEC_NEG;
     212char         *DCR_BLUE_COLOR_POS,    *DCR_BLUE_COLOR_NEG;
     213PhotCode     *DCR_BLUE_PHOTCODE_POS, *DCR_BLUE_PHOTCODE_NEG;
     214int           DCR_BLUE_NSEC_POS,      DCR_BLUE_NSEC_NEG;
     215
     216char         *DCR_RED_COLOR_POS,    *DCR_RED_COLOR_NEG;
     217PhotCode     *DCR_RED_PHOTCODE_POS, *DCR_RED_PHOTCODE_NEG;
     218int           DCR_RED_NSEC_POS,      DCR_RED_NSEC_NEG;
    214219
    215220int ImagSelect;
     
    523528int select_mosaics_hostregion (RegionHostTable *regionHosts, Image *image, off_t Nimage);
    524529
    525 float getColor (off_t meas, int cat);
     530float getColorBlue (off_t meas, int cat);
     531float getColorRed (off_t meas, int cat);
    526532
    527533int strextend (char *input, char *format,...);
  • branches/eam_branches/ipp-20140610/Ohana/src/relastro/src/BrightCatalog.c

    r36987 r37006  
    145145    if (!gfits_fread_ftable_data (f, &ftable, FALSE)) goto escape;
    146146
    147     GET_COLUMN(R,              "RA",          double);
    148     GET_COLUMN(D,              "DEC",         double);
    149     GET_COLUMN(dR,             "RA_ERR",      float);
    150     GET_COLUMN(dD,             "DEC_ERR",     float);
    151     GET_COLUMN(uR,             "U_RA",        float);
    152     GET_COLUMN(uD,             "U_DEC",       float);
    153     GET_COLUMN(duR,            "V_RA_ERR",    float);
    154     GET_COLUMN(duD,            "V_DEC_ERR",   float);
    155     GET_COLUMN(P,              "PAR",         float);
    156     GET_COLUMN(dP,             "PAR_ERR",     float);
    157     GET_COLUMN(ChiSqAve,       "CHISQ_POS",   float);
    158     GET_COLUMN(ChiSqPM,        "CHISQ_PM",    float);
    159     GET_COLUMN(ChiSqPar,       "CHISQ_PAP",   float);
    160     GET_COLUMN(Tmean,          "MEAN_EPOCH",  int);
    161     GET_COLUMN(Trange,         "TIME_RANGE",  int);
    162     GET_COLUMN(stargal,        "STARGAL_SEP", float);
    163     GET_COLUMN(Npos,           "NUMBER_POS",  short);
    164     GET_COLUMN(Nmeasure,       "NMEASURE",    short);
    165     GET_COLUMN(Nmissing,       "NMISSING",    short);
    166     GET_COLUMN(Nextend,        "NEXTEND",     short);
    167     GET_COLUMN(measureOffset,  "OFF_MEASURE", int);
    168     GET_COLUMN(missingOffset,  "OFF_MISSING", int);
    169     GET_COLUMN(refColor,   "REF_COLOR",  float);
    170     GET_COLUMN(flags,          "FLAGS",       int);
    171     GET_COLUMN(photFlagsUpper, "PHOTFLAGS_U", int);
    172     GET_COLUMN(photFlagsLower, "PHOTFLAGS_L", int);
    173     GET_COLUMN(objID,          "OBJ_ID",      int);
    174     GET_COLUMN(catID,          "CAT_ID",      int);
    175     GET_COLUMN(extID,          "EXT_ID",      int64_t);
     147    GET_COLUMN(R,              "RA",             double);
     148    GET_COLUMN(D,              "DEC",            double);
     149    GET_COLUMN(dR,             "RA_ERR",         float);
     150    GET_COLUMN(dD,             "DEC_ERR",        float);
     151    GET_COLUMN(uR,             "U_RA",           float);
     152    GET_COLUMN(uD,             "U_DEC",          float);
     153    GET_COLUMN(duR,            "V_RA_ERR",       float);
     154    GET_COLUMN(duD,            "V_DEC_ERR",      float);
     155    GET_COLUMN(P,              "PAR",            float);
     156    GET_COLUMN(dP,             "PAR_ERR",        float);
     157    GET_COLUMN(ChiSqAve,       "CHISQ_POS",      float);
     158    GET_COLUMN(ChiSqPM,        "CHISQ_PM",       float);
     159    GET_COLUMN(ChiSqPar,       "CHISQ_PAP",      float);
     160    GET_COLUMN(Tmean,          "MEAN_EPOCH",     int);
     161    GET_COLUMN(Trange,         "TIME_RANGE",     int);
     162    GET_COLUMN(stargal,        "STARGAL_SEP",    float);
     163    GET_COLUMN(Npos,           "NUMBER_POS",     short);
     164    GET_COLUMN(Nmeasure,       "NMEASURE",       short);
     165    GET_COLUMN(Nmissing,       "NMISSING",       short);
     166    GET_COLUMN(Nextend,        "NEXTEND",        short);
     167    GET_COLUMN(measureOffset,  "OFF_MEASURE",    int);
     168    GET_COLUMN(missingOffset,  "OFF_MISSING",    int);
     169    GET_COLUMN(refColorBlue,   "REF_COLOR_BLUE", float);
     170    GET_COLUMN(refColorRed,    "REF_COLOR_RED",  float);
     171    GET_COLUMN(flags,          "FLAGS",          int);
     172    GET_COLUMN(photFlagsUpper, "PHOTFLAGS_U",    int);
     173    GET_COLUMN(photFlagsLower, "PHOTFLAGS_L",    int);
     174    GET_COLUMN(objID,          "OBJ_ID",         int);
     175    GET_COLUMN(catID,          "CAT_ID",         int);
     176    GET_COLUMN(extID,          "EXT_ID",         int64_t);
    176177    gfits_free_header (&theader);
    177178    gfits_free_table  (&ftable);
     
    202203      average[i].measureOffset   = measureOffset[i]   ;
    203204      average[i].missingOffset   = missingOffset[i]   ;
    204       average[i].refColor    = refColor[i]    ; 
     205      average[i].refColorBlue    = refColorBlue[i]    ; 
     206      average[i].refColorRed     = refColorRed[i]     ; 
    205207      average[i].flags           = flags[i]           ;
    206208      average[i].photFlagsUpper  = photFlagsUpper[i]  ;
     
    234236    free (measureOffset);
    235237    free (missingOffset);
    236     free (refColor);
     238    free (refColorBlue);
     239    free (refColorRed);
    237240    free (flags);
    238241    free (photFlagsUpper);
     
    454457    gfits_create_table_header (&theader, "BINTABLE", "AVERAGE");
    455458
    456     gfits_define_bintable_column (&theader, "D", "RA",          "RA",                                                     "", 1.0, 0.0);
    457     gfits_define_bintable_column (&theader, "D", "DEC",         "DEC",                                                    "", 1.0, 0.0);
    458     gfits_define_bintable_column (&theader, "E", "RA_ERR",      "RA error",                                               "", 1.0, 0.0);
    459     gfits_define_bintable_column (&theader, "E", "DEC_ERR",     "DEC error",                                              "", 1.0, 0.0);
    460     gfits_define_bintable_column (&theader, "E", "U_RA",        "RA*cos(D) proper-motion",                                "", 1.0, 0.0);
    461     gfits_define_bintable_column (&theader, "E", "U_DEC",       "DEC proper-motion",                                      "", 1.0, 0.0);
    462     gfits_define_bintable_column (&theader, "E", "V_RA_ERR",    "RA*cos(D) p-m error",                                    "", 1.0, 0.0);
    463     gfits_define_bintable_column (&theader, "E", "V_DEC_ERR",   "DEC p-m error",                                          "", 1.0, 0.0);
    464     gfits_define_bintable_column (&theader, "E", "PAR",         "parallax",                                               "", 1.0, 0.0);
    465     gfits_define_bintable_column (&theader, "E", "PAR_ERR",     "parallax error",                                         "", 1.0, 0.0);
    466     gfits_define_bintable_column (&theader, "E", "CHISQ_POS",   "astrometry analysis chisq",                              "", 1.0, 0.0);
    467     gfits_define_bintable_column (&theader, "E", "CHISQ_PM",    "astrometry analysis chisq",                              "", 1.0, 0.0);
    468     gfits_define_bintable_column (&theader, "E", "CHISQ_PAP",   "astrometry analysis chisq",                              "", 1.0, 0.0);
    469     gfits_define_bintable_column (&theader, "J", "MEAN_EPOCH",  "mean epoch (PM-PAR ref)",                                "", 1.0, 0.00);
    470     gfits_define_bintable_column (&theader, "J", "TIME_RANGE",  "mean epoch (PM-PAR ref)",                                "", 1.0, 0.00);
    471     gfits_define_bintable_column (&theader, "E", "STARGAL_SEP", "star/galaxy separator",                                  "", 1.0, 0.0);   
    472     gfits_define_bintable_column (&theader, "I", "NUMBER_POS",  "number of detections used for astrometry",               "", 1.0, 0.0);
    473     gfits_define_bintable_column (&theader, "I", "NMEASURE",    "number of psf measurements",                             "", 1.0, 0.0);
    474     gfits_define_bintable_column (&theader, "I", "NMISSING",    "number of missings",                                     "", 1.0, 0.0);
    475     gfits_define_bintable_column (&theader, "I", "NEXTEND",     "number of extended measurements",                        "", 1.0, 0.0);
    476     gfits_define_bintable_column (&theader, "J", "OFF_MEASURE", "offset to first psf measurement",                        "", 1.0, 0.0);
    477     gfits_define_bintable_column (&theader, "J", "OFF_MISSING", "offset to first missing obs",                            "", 1.0, 0.0);
    478     gfits_define_bintable_column (&theader, "E", "REF_COLOR",   "reference color",                                        "", 1.0, 0.0);
    479     gfits_define_bintable_column (&theader, "J", "FLAGS",       "average object flags (star; ghost; etc)",                "", 1.0, 0.0);
    480     gfits_define_bintable_column (&theader, "J", "PHOTFLAGS_U", "upper bit of 2 bit summary of per-measure photflags",    "", 1.0, 0.0);
    481     gfits_define_bintable_column (&theader, "J", "PHOTFLAGS_L", "lower bit of 2 bit summary of per-measure photflags",    "", 1.0, 0.0);
    482     gfits_define_bintable_column (&theader, "J", "OBJ_ID",      "unique ID for object in table",                          "", 1.0, 0.0);
    483     gfits_define_bintable_column (&theader, "J", "CAT_ID",      "unique ID for table in which object was first realized", "", 1.0, 0.0);
    484     gfits_define_bintable_column (&theader, "K", "EXT_ID",      "external ID for object (eg PSPS objID)",                 "", 1.0, 0.0);
     459    gfits_define_bintable_column (&theader, "D", "RA",             "RA",                                                  "", 1.0, 0.0);
     460    gfits_define_bintable_column (&theader, "D", "DEC",            "DEC",                                                 "", 1.0, 0.0);
     461    gfits_define_bintable_column (&theader, "E", "RA_ERR",         "RA error",                                            "", 1.0, 0.0);
     462    gfits_define_bintable_column (&theader, "E", "DEC_ERR",        "DEC error",                                           "", 1.0, 0.0);
     463    gfits_define_bintable_column (&theader, "E", "U_RA",           "RA*cos(D) proper-motion",                             "", 1.0, 0.0);
     464    gfits_define_bintable_column (&theader, "E", "U_DEC",          "DEC proper-motion",                                   "", 1.0, 0.0);
     465    gfits_define_bintable_column (&theader, "E", "V_RA_ERR",       "RA*cos(D) p-m error",                                 "", 1.0, 0.0);
     466    gfits_define_bintable_column (&theader, "E", "V_DEC_ERR",      "DEC p-m error",                                       "", 1.0, 0.0);
     467    gfits_define_bintable_column (&theader, "E", "PAR",            "parallax",                                            "", 1.0, 0.0);
     468    gfits_define_bintable_column (&theader, "E", "PAR_ERR",        "parallax error",                                      "", 1.0, 0.0);
     469    gfits_define_bintable_column (&theader, "E", "CHISQ_POS",      "astrometry analysis chisq",                           "", 1.0, 0.0);
     470    gfits_define_bintable_column (&theader, "E", "CHISQ_PM",       "astrometry analysis chisq",                           "", 1.0, 0.0);
     471    gfits_define_bintable_column (&theader, "E", "CHISQ_PAP",      "astrometry analysis chisq",                           "", 1.0, 0.0);
     472    gfits_define_bintable_column (&theader, "J", "MEAN_EPOCH",     "mean epoch (PM-PAR ref)",                             "", 1.0, 0.00);
     473    gfits_define_bintable_column (&theader, "J", "TIME_RANGE",     "mean epoch (PM-PAR ref)",                             "", 1.0, 0.00);
     474    gfits_define_bintable_column (&theader, "E", "STARGAL_SEP",    "star/galaxy separator",                               "", 1.0, 0.0);   
     475    gfits_define_bintable_column (&theader, "I", "NUMBER_POS",     "number of detections used for astrometry",            "", 1.0, 0.0);
     476    gfits_define_bintable_column (&theader, "I", "NMEASURE",       "number of psf measurements",                          "", 1.0, 0.0);
     477    gfits_define_bintable_column (&theader, "I", "NMISSING",       "number of missings",                                  "", 1.0, 0.0);
     478    gfits_define_bintable_column (&theader, "I", "NEXTEND",        "number of extended measurements",                     "", 1.0, 0.0);
     479    gfits_define_bintable_column (&theader, "J", "OFF_MEASURE",    "offset to first psf measurement",                     "", 1.0, 0.0);
     480    gfits_define_bintable_column (&theader, "J", "OFF_MISSING",    "offset to first missing obs",                         "", 1.0, 0.0);
     481    gfits_define_bintable_column (&theader, "E", "REF_COLOR_BLUE", "reference color",                                     "", 1.0, 0.0);
     482    gfits_define_bintable_column (&theader, "E", "REF_COLOR_RED",  "reference color",                                     "", 1.0, 0.0);
     483    gfits_define_bintable_column (&theader, "J", "FLAGS",          "average object flags (star; ghost; etc)",             "", 1.0, 0.0);
     484    gfits_define_bintable_column (&theader, "J", "PHOTFLAGS_U",    "upper bit of 2 bit summary of per-measure photflags", "", 1.0, 0.0);
     485    gfits_define_bintable_column (&theader, "J", "PHOTFLAGS_L",    "lower bit of 2 bit summary of per-measure photflags", "", 1.0, 0.0);
     486    gfits_define_bintable_column (&theader, "J", "OBJ_ID",         "unique ID for object in table",                       "", 1.0, 0.0);
     487    gfits_define_bintable_column (&theader, "J", "CAT_ID",         "unique ID for table in which object was first realized", "", 1.0, 0.0);
     488    gfits_define_bintable_column (&theader, "K", "EXT_ID",         "external ID for object (eg PSPS objID)",              "", 1.0, 0.0);
    485489
    486490    // generate the output array that carries the data
     
    510514    int      *measureOffset ; ALLOCATE (measureOffset , int     , catalog->Naverage);
    511515    int      *missingOffset ; ALLOCATE (missingOffset , int     , catalog->Naverage);
    512     float    *refColor      ; ALLOCATE (refColor      , float   , catalog->Naverage);
     516    float    *refColorBlue  ; ALLOCATE (refColorBlue  , float   , catalog->Naverage);
     517    float    *refColorRed   ; ALLOCATE (refColorRed   , float   , catalog->Naverage);
    513518    int      *flags         ; ALLOCATE (flags         , int     , catalog->Naverage);
    514519    int      *photFlagsUpper; ALLOCATE (photFlagsUpper, int     , catalog->Naverage);
     
    543548      measureOffset[i]   = average[i].measureOffset   ;
    544549      missingOffset[i]   = average[i].missingOffset   ;
    545       refColor[i]    = average[i].refColor    ; 
     550      refColorBlue[i]    = average[i].refColorBlue    ; 
     551      refColorRed[i]     = average[i].refColorRed     ; 
    546552      flags[i]           = average[i].flags           ;
    547553      photFlagsUpper[i]  = average[i].photFlagsUpper  ;
     
    553559
    554560    // add the columns to the output array
    555     gfits_set_bintable_column (&theader, &ftable, "RA",          R,               catalog->Naverage);
    556     gfits_set_bintable_column (&theader, &ftable, "DEC",         D,               catalog->Naverage);
    557     gfits_set_bintable_column (&theader, &ftable, "RA_ERR",      dR,              catalog->Naverage);
    558     gfits_set_bintable_column (&theader, &ftable, "DEC_ERR",     dD,              catalog->Naverage);
    559     gfits_set_bintable_column (&theader, &ftable, "U_RA",        uR,              catalog->Naverage);
    560     gfits_set_bintable_column (&theader, &ftable, "U_DEC",       uD,              catalog->Naverage);
    561     gfits_set_bintable_column (&theader, &ftable, "V_RA_ERR",    duR,             catalog->Naverage);
    562     gfits_set_bintable_column (&theader, &ftable, "V_DEC_ERR",   duD,             catalog->Naverage);
    563     gfits_set_bintable_column (&theader, &ftable, "PAR",         P,               catalog->Naverage);
    564     gfits_set_bintable_column (&theader, &ftable, "PAR_ERR",     dP,              catalog->Naverage);
    565     gfits_set_bintable_column (&theader, &ftable, "CHISQ_POS",   ChiSqAve,        catalog->Naverage);
    566     gfits_set_bintable_column (&theader, &ftable, "CHISQ_PM",    ChiSqPM,         catalog->Naverage);
    567     gfits_set_bintable_column (&theader, &ftable, "CHISQ_PAP",   ChiSqPar,        catalog->Naverage);
    568     gfits_set_bintable_column (&theader, &ftable, "MEAN_EPOCH",  Tmean,           catalog->Naverage);
    569     gfits_set_bintable_column (&theader, &ftable, "TIME_RANGE",  Trange,          catalog->Naverage);
    570     gfits_set_bintable_column (&theader, &ftable, "STARGAL_SEP", stargal,         catalog->Naverage);
    571     gfits_set_bintable_column (&theader, &ftable, "NUMBER_POS",  Npos,            catalog->Naverage);
    572     gfits_set_bintable_column (&theader, &ftable, "NMEASURE",    Nmeasure,        catalog->Naverage);
    573     gfits_set_bintable_column (&theader, &ftable, "NMISSING",    Nmissing,        catalog->Naverage);
    574     gfits_set_bintable_column (&theader, &ftable, "NEXTEND",     Nextend,         catalog->Naverage);
    575     gfits_set_bintable_column (&theader, &ftable, "OFF_MEASURE", measureOffset,   catalog->Naverage);
    576     gfits_set_bintable_column (&theader, &ftable, "OFF_MISSING", missingOffset,   catalog->Naverage);
    577     gfits_set_bintable_column (&theader, &ftable, "REF_COLOR",   refColor,        catalog->Naverage);
    578     gfits_set_bintable_column (&theader, &ftable, "FLAGS",       flags,           catalog->Naverage);
    579     gfits_set_bintable_column (&theader, &ftable, "PHOTFLAGS_U", photFlagsUpper,  catalog->Naverage);
    580     gfits_set_bintable_column (&theader, &ftable, "PHOTFLAGS_L", photFlagsLower,  catalog->Naverage);
    581     gfits_set_bintable_column (&theader, &ftable, "OBJ_ID",      objID,           catalog->Naverage);
    582     gfits_set_bintable_column (&theader, &ftable, "CAT_ID",      catID,           catalog->Naverage);
    583     gfits_set_bintable_column (&theader, &ftable, "EXT_ID",      extID,           catalog->Naverage);
     561    gfits_set_bintable_column (&theader, &ftable, "RA",             R,               catalog->Naverage);
     562    gfits_set_bintable_column (&theader, &ftable, "DEC",            D,               catalog->Naverage);
     563    gfits_set_bintable_column (&theader, &ftable, "RA_ERR",         dR,              catalog->Naverage);
     564    gfits_set_bintable_column (&theader, &ftable, "DEC_ERR",        dD,              catalog->Naverage);
     565    gfits_set_bintable_column (&theader, &ftable, "U_RA",           uR,              catalog->Naverage);
     566    gfits_set_bintable_column (&theader, &ftable, "U_DEC",          uD,              catalog->Naverage);
     567    gfits_set_bintable_column (&theader, &ftable, "V_RA_ERR",       duR,             catalog->Naverage);
     568    gfits_set_bintable_column (&theader, &ftable, "V_DEC_ERR",      duD,             catalog->Naverage);
     569    gfits_set_bintable_column (&theader, &ftable, "PAR",            P,               catalog->Naverage);
     570    gfits_set_bintable_column (&theader, &ftable, "PAR_ERR",        dP,              catalog->Naverage);
     571    gfits_set_bintable_column (&theader, &ftable, "CHISQ_POS",      ChiSqAve,        catalog->Naverage);
     572    gfits_set_bintable_column (&theader, &ftable, "CHISQ_PM",       ChiSqPM,         catalog->Naverage);
     573    gfits_set_bintable_column (&theader, &ftable, "CHISQ_PAP",      ChiSqPar,        catalog->Naverage);
     574    gfits_set_bintable_column (&theader, &ftable, "MEAN_EPOCH",     Tmean,           catalog->Naverage);
     575    gfits_set_bintable_column (&theader, &ftable, "TIME_RANGE",     Trange,          catalog->Naverage);
     576    gfits_set_bintable_column (&theader, &ftable, "STARGAL_SEP",    stargal,         catalog->Naverage);
     577    gfits_set_bintable_column (&theader, &ftable, "NUMBER_POS",     Npos,            catalog->Naverage);
     578    gfits_set_bintable_column (&theader, &ftable, "NMEASURE",       Nmeasure,        catalog->Naverage);
     579    gfits_set_bintable_column (&theader, &ftable, "NMISSING",       Nmissing,        catalog->Naverage);
     580    gfits_set_bintable_column (&theader, &ftable, "NEXTEND",        Nextend,         catalog->Naverage);
     581    gfits_set_bintable_column (&theader, &ftable, "OFF_MEASURE",    measureOffset,   catalog->Naverage);
     582    gfits_set_bintable_column (&theader, &ftable, "OFF_MISSING",    missingOffset,   catalog->Naverage);
     583    gfits_set_bintable_column (&theader, &ftable, "REF_COLOR_BLUE", refColorBlue,    catalog->Naverage);
     584    gfits_set_bintable_column (&theader, &ftable, "REF_COLOR_RED",  refColorRed,     catalog->Naverage);
     585    gfits_set_bintable_column (&theader, &ftable, "FLAGS",          flags,           catalog->Naverage);
     586    gfits_set_bintable_column (&theader, &ftable, "PHOTFLAGS_U",    photFlagsUpper,  catalog->Naverage);
     587    gfits_set_bintable_column (&theader, &ftable, "PHOTFLAGS_L",    photFlagsLower,  catalog->Naverage);
     588    gfits_set_bintable_column (&theader, &ftable, "OBJ_ID",         objID,           catalog->Naverage);
     589    gfits_set_bintable_column (&theader, &ftable, "CAT_ID",         catID,           catalog->Naverage);
     590    gfits_set_bintable_column (&theader, &ftable, "EXT_ID",         extID,           catalog->Naverage);
    584591
    585592    free (R);
     
    605612    free (measureOffset);
    606613    free (missingOffset);
    607     free (refColor);
     614    free (refColorBlue);
     615    free (refColorRed);
    608616    free (flags);
    609617    free (photFlagsUpper);
  • branches/eam_branches/ipp-20140610/Ohana/src/relastro/src/FitChip.c

    r36833 r37006  
    112112  }
    113113
    114   int Ncolor = 0;
     114  int Ncolor;
     115  float colorMedian;
    115116  float *colorList = NULL;
    116117  ALLOCATE (colorList, float, Nmatch);
    117118
     119  // calculate the median blue color
     120  Ncolor = 0;
    118121  for (i = 0; i < Nmatch; i++) {
    119122    if (!raw[i].mask) continue;
    120     if (!isnan(ref[i].Color)) {
    121       colorList[Ncolor] = ref[i].Color;
    122       Ncolor ++;
    123     }
     123    if (isnan(ref[i].ColorBlue)) continue;
     124    colorList[Ncolor] = ref[i].ColorBlue;
     125    Ncolor ++;
    124126  }
    125127  fsort (colorList, Ncolor);
    126   float colorMedian = (Ncolor > 0) ? colorList[(int)(0.5*Ncolor)] : NAN;
    127   image[0].refColor = colorMedian;
     128  colorMedian = (Ncolor > 0) ? colorList[(int)(0.5*Ncolor)] : NAN;
     129  image[0].refColorBlue = colorMedian;
     130
     131  // calculate the median red color
     132  Ncolor = 0;
     133  for (i = 0; i < Nmatch; i++) {
     134    if (!raw[i].mask) continue;
     135    if (isnan(ref[i].ColorRed)) continue;
     136    colorList[Ncolor] = ref[i].ColorRed;
     137    Ncolor ++;
     138  }
     139  fsort (colorList, Ncolor);
     140  colorMedian = (Ncolor > 0) ? colorList[(int)(0.5*Ncolor)] : NAN;
     141  image[0].refColorRed = colorMedian;
     142
    128143  free (colorList);
    129144
  • branches/eam_branches/ipp-20140610/Ohana/src/relastro/src/ImageOps.c

    r36910 r37006  
    345345*/
    346346
    347 float getColor (off_t meas, int cat) {
     347float getColorBlue (off_t meas, int cat) {
    348348
    349349  off_t i;
     
    351351  i = MeasureToImage[cat][meas];
    352352  if (i == -1) return (NAN);
    353   return (image[i].refColor);
     353  return (image[i].refColorBlue);
     354}
     355
     356float getColorRed (off_t meas, int cat) {
     357
     358  off_t i;
     359
     360  i = MeasureToImage[cat][meas];
     361  if (i == -1) return (NAN);
     362  return (image[i].refColorRed);
    354363}
    355364
     
    803812    ref[i].dPos = GetAstromErrorTiny (&measure[0], ERROR_MODE_POS);
    804813
    805     if ((DCR_NSEC_POS >= 0) && (DCR_NSEC_NEG >= -1)) {
    806       ref[i].Color = catalog[c].secfilt[n*Nsecfilt + DCR_NSEC_POS].M - catalog[c].secfilt[n*Nsecfilt + DCR_NSEC_NEG].M;
     814    if ((DCR_BLUE_NSEC_POS >= 0) && (DCR_BLUE_NSEC_NEG >= -1)) {
     815      ref[i].ColorBlue = catalog[c].secfilt[n*Nsecfilt + DCR_BLUE_NSEC_POS].M - catalog[c].secfilt[n*Nsecfilt + DCR_BLUE_NSEC_NEG].M;
     816    }
     817    if ((DCR_RED_NSEC_POS >= 0) && (DCR_RED_NSEC_NEG >= -1)) {
     818      ref[i].ColorRed = catalog[c].secfilt[n*Nsecfilt + DCR_RED_NSEC_POS].M - catalog[c].secfilt[n*Nsecfilt + DCR_RED_NSEC_NEG].M;
    807819    }
    808820
  • branches/eam_branches/ipp-20140610/Ohana/src/relastro/src/UpdateObjectOffsets.c

    r36833 r37006  
    153153    // XXX note that the above pass in the flag as decimal -- also note that args.c cannot handle 0xHEX values
    154154
    155     if (DCR_COLOR_POS && DCR_COLOR_NEG) {
    156       strextend (command, "-dcr-color %s %s", DCR_COLOR_POS, DCR_COLOR_NEG);
     155    if (DCR_BLUE_COLOR_POS && DCR_BLUE_COLOR_NEG) {
     156      strextend (command, "-dcr-blue-color %s %s", DCR_BLUE_COLOR_POS, DCR_BLUE_COLOR_NEG);
     157    }
     158    if (DCR_RED_COLOR_POS && DCR_RED_COLOR_NEG) {
     159      strextend (command, "-dcr-red-color %s %s", DCR_RED_COLOR_POS, DCR_RED_COLOR_NEG);
    157160    }
    158161
  • branches/eam_branches/ipp-20140610/Ohana/src/relastro/src/UpdateObjects.c

    r36903 r37006  
    1010static double *T;
    1111static double *dT;
    12 static double *C;
     12static double *C_blue;
     13static double *C_red;
    1314
    1415void initObjectData (Catalog *catalog, int Ncatalog) {
     
    3839  ALLOCATE (pY, double, MAX (1, Nmax));
    3940
    40   ALLOCATE (C, double, MAX (1, Nmax));
     41  ALLOCATE (C_blue, double, MAX (1, Nmax));
     42  ALLOCATE (C_red,  double, MAX (1, Nmax));
    4143
    4244
     
    5860  free (pY);
    5961
    60   free (C);
     62  free (C_blue);
     63  free (C_red);
    6164
    6265
     
    6669
    6770  off_t j, k, m;
    68   int i, N, Nc, Nsecfilt, mode, result, status, XVERB;
     71  int i, N, NcBlue, NcRed, Nsecfilt, mode, result, status, XVERB;
    6972  StatType statsR, statsD;
    7073  Coords coords;
     
    130133      }
    131134
    132       Nc = 0;
     135      NcBlue = 0;
     136      NcRed = 0;
    133137      N = 0;
    134138      m = catalog[i].average[j].measureOffset;
     
    225229
    226230        if (setRefColor) {
    227           float color = getColor (m+k, i);
    228           if (!isnan(color)) {
    229             C[Nc] = color;
    230             Nc++;
     231          float colorBlue = getColorBlue (m+k, i);
     232          if (!isnan(colorBlue)) {
     233            C_blue[NcBlue] = colorBlue;
     234            NcBlue++;
     235          }
     236          float colorRed = getColorRed (m+k, i);
     237          if (!isnan(colorRed)) {
     238            C_red[NcRed] = colorRed;
     239            NcRed++;
    231240          }
    232241        }
     
    360369
    361370      if (setRefColor) {
    362         dsort (C, Nc);
    363         float colorMedian = (Nc > 0) ? C[(int)(0.5*Nc)] : NAN;
    364         catalog[i].average[j].refColor = colorMedian;
     371        float colorMedian;
     372        dsort (C_blue, NcBlue);
     373        colorMedian = (NcBlue > 0) ? C_blue[(int)(0.5*NcBlue)] : NAN;
     374        catalog[i].average[j].refColorBlue = colorMedian;
     375        dsort (C_red, NcRed);
     376        colorMedian = (NcRed > 0) ? C_red[(int)(0.5*NcRed)] : NAN;
     377        catalog[i].average[j].refColorRed = colorMedian;
    365378      }
    366379
  • branches/eam_branches/ipp-20140610/Ohana/src/relastro/src/args.c

    r36833 r37006  
    294294  }
    295295
    296   DCR_COLOR_POS = NULL;
    297   DCR_COLOR_NEG = NULL;
    298   if ((N = get_argument (argc, argv, "-dcr-color"))) {
    299     remove_argument (N, &argc, argv);
    300     DCR_COLOR_POS = strcreate(argv[N]);
    301     remove_argument (N, &argc, argv);
    302     DCR_COLOR_NEG = strcreate(argv[N]);
     296  // eg g - r or r - i
     297  DCR_BLUE_COLOR_POS = NULL;
     298  DCR_BLUE_COLOR_NEG = NULL;
     299  if ((N = get_argument (argc, argv, "-dcr-blue-color"))) {
     300    remove_argument (N, &argc, argv);
     301    DCR_BLUE_COLOR_POS = strcreate(argv[N]);
     302    remove_argument (N, &argc, argv);
     303    DCR_BLUE_COLOR_NEG = strcreate(argv[N]);
     304    remove_argument (N, &argc, argv);
     305  }
     306
     307  // eg, z - y or i - z
     308  DCR_RED_COLOR_POS = NULL;
     309  DCR_RED_COLOR_NEG = NULL;
     310  if ((N = get_argument (argc, argv, "-dcr-red-color"))) {
     311    remove_argument (N, &argc, argv);
     312    DCR_RED_COLOR_POS = strcreate(argv[N]);
     313    remove_argument (N, &argc, argv);
     314    DCR_RED_COLOR_NEG = strcreate(argv[N]);
    303315    remove_argument (N, &argc, argv);
    304316  }
     
    696708  }
    697709
    698   DCR_COLOR_POS = NULL;
    699   DCR_COLOR_NEG = NULL;
    700   if ((N = get_argument (argc, argv, "-dcr-color"))) {
    701     remove_argument (N, &argc, argv);
    702     DCR_COLOR_POS = strcreate(argv[N]);
    703     remove_argument (N, &argc, argv);
    704     DCR_COLOR_NEG = strcreate(argv[N]);
     710  DCR_BLUE_COLOR_POS = NULL;
     711  DCR_BLUE_COLOR_NEG = NULL;
     712  if ((N = get_argument (argc, argv, "-dcr-blue-color"))) {
     713    remove_argument (N, &argc, argv);
     714    DCR_BLUE_COLOR_POS = strcreate(argv[N]);
     715    remove_argument (N, &argc, argv);
     716    DCR_BLUE_COLOR_NEG = strcreate(argv[N]);
     717    remove_argument (N, &argc, argv);
     718  }
     719  DCR_RED_COLOR_POS = NULL;
     720  DCR_RED_COLOR_NEG = NULL;
     721  if ((N = get_argument (argc, argv, "-dcr-red-color"))) {
     722    remove_argument (N, &argc, argv);
     723    DCR_RED_COLOR_POS = strcreate(argv[N]);
     724    remove_argument (N, &argc, argv);
     725    DCR_RED_COLOR_NEG = strcreate(argv[N]);
    705726    remove_argument (N, &argc, argv);
    706727  }
  • branches/eam_branches/ipp-20140610/Ohana/src/relastro/src/initialize.c

    r36833 r37006  
    88  if (RELASTRO_OP == OP_MERGE_SOURCE) return;
    99
    10   if (DCR_COLOR_POS)  fprintf (stderr, "DCR_COLOR_POS:  %s\n", DCR_COLOR_POS);
    11   if (DCR_COLOR_NEG)  fprintf (stderr, "DCR_COLOR_NEG:  %s\n", DCR_COLOR_NEG);
     10  if (DCR_BLUE_COLOR_POS)  fprintf (stderr, "DCR_BLUE_COLOR_POS:  %s - %s\n", DCR_BLUE_COLOR_POS, DCR_BLUE_COLOR_NEG);
     11  if (DCR_BLUE_COLOR_POS)  fprintf (stderr, "DCR_BLUE_COLOR_POS:  %s - %s\n", DCR_BLUE_COLOR_POS, DCR_BLUE_COLOR_NEG);
    1212
    1313  if (PHOTCODE_KEEP_LIST)  fprintf (stderr, "PHOTCODE_KEEP_LIST:  %s\n", PHOTCODE_KEEP_LIST);
     
    2323  photcodesGroupB = ParsePhotcodeList (PHOTCODE_B_LIST,     &NphotcodesGroupB, TRUE);
    2424
    25   DCR_NSEC_POS = DCR_NSEC_NEG = -1;
    26   if (DCR_COLOR_POS) {
    27     DCR_PHOTCODE_POS = GetPhotcodebyName (DCR_COLOR_POS);
    28     if (!DCR_PHOTCODE_POS) {
    29       fprintf (stderr, "ERROR: photcode %s not found in photcode table\n", DCR_COLOR_POS);
     25  // blue color elements
     26  DCR_BLUE_NSEC_POS = DCR_BLUE_NSEC_NEG = -1;
     27  if (DCR_BLUE_COLOR_POS) {
     28    DCR_BLUE_PHOTCODE_POS = GetPhotcodebyName (DCR_BLUE_COLOR_POS);
     29    if (!DCR_BLUE_PHOTCODE_POS) {
     30      fprintf (stderr, "ERROR: photcode %s not found in photcode table\n", DCR_BLUE_COLOR_POS);
    3031      exit (1);
    3132    }
    32     DCR_NSEC_POS = GetPhotcodeNsec (DCR_PHOTCODE_POS[0].code);
     33    DCR_BLUE_NSEC_POS = GetPhotcodeNsec (DCR_BLUE_PHOTCODE_POS[0].code);
    3334  }
    34   if (DCR_COLOR_NEG) {
    35     DCR_PHOTCODE_NEG = GetPhotcodebyName (DCR_COLOR_NEG);
    36     if (!DCR_PHOTCODE_NEG) {
    37       fprintf (stderr, "ERROR: photcode %s not found in photcode table\n", DCR_COLOR_NEG);
     35  if (DCR_BLUE_COLOR_NEG) {
     36    DCR_BLUE_PHOTCODE_NEG = GetPhotcodebyName (DCR_BLUE_COLOR_NEG);
     37    if (!DCR_BLUE_PHOTCODE_NEG) {
     38      fprintf (stderr, "ERROR: photcode %s not found in photcode table\n", DCR_BLUE_COLOR_NEG);
    3839      exit (1);
    3940    }
    40     DCR_NSEC_NEG = GetPhotcodeNsec (DCR_PHOTCODE_NEG[0].code);
     41    DCR_BLUE_NSEC_NEG = GetPhotcodeNsec (DCR_BLUE_PHOTCODE_NEG[0].code);
     42  }
     43
     44  // red color elements
     45  DCR_RED_NSEC_POS = DCR_RED_NSEC_NEG = -1;
     46  if (DCR_RED_COLOR_POS) {
     47    DCR_RED_PHOTCODE_POS = GetPhotcodebyName (DCR_RED_COLOR_POS);
     48    if (!DCR_RED_PHOTCODE_POS) {
     49      fprintf (stderr, "ERROR: photcode %s not found in photcode table\n", DCR_RED_COLOR_POS);
     50      exit (1);
     51    }
     52    DCR_RED_NSEC_POS = GetPhotcodeNsec (DCR_RED_PHOTCODE_POS[0].code);
     53  }
     54  if (DCR_RED_COLOR_NEG) {
     55    DCR_RED_PHOTCODE_NEG = GetPhotcodebyName (DCR_RED_COLOR_NEG);
     56    if (!DCR_RED_PHOTCODE_NEG) {
     57      fprintf (stderr, "ERROR: photcode %s not found in photcode table\n", DCR_RED_COLOR_NEG);
     58      exit (1);
     59    }
     60    DCR_RED_NSEC_NEG = GetPhotcodeNsec (DCR_RED_PHOTCODE_NEG[0].code);
    4161  }
    4262
  • branches/eam_branches/ipp-20140610/Ohana/src/relastro/src/launch_region_hosts.c

    r36884 r37006  
    8181    if (ExcludeBogus)       strextend (command, "-exclude-bogus %f", ExcludeBogusRadius);
    8282
    83     if (DCR_COLOR_POS && DCR_COLOR_NEG) {
    84       strextend (command, "-dcr-color %s %s", DCR_COLOR_POS, DCR_COLOR_NEG);
     83    if (DCR_BLUE_COLOR_POS && DCR_BLUE_COLOR_NEG) {
     84      strextend (command, "-dcr-blue-color %s %s", DCR_BLUE_COLOR_POS, DCR_BLUE_COLOR_NEG);
     85    }
     86    if (DCR_RED_COLOR_POS && DCR_RED_COLOR_NEG) {
     87      strextend (command, "-dcr-red-color %s %s", DCR_RED_COLOR_POS, DCR_RED_COLOR_NEG);
    8588    }
    8689
  • branches/eam_branches/ipp-20140610/Ohana/src/relastro/src/load_catalogs.c

    r36997 r37006  
    171171    if (ExcludeBogus)  strextend (command, "-exclude-bogus %f", ExcludeBogusRadius);
    172172   
    173     if (DCR_COLOR_POS && DCR_COLOR_NEG) {
    174       strextend (command, "-dcr-color %s %s", DCR_COLOR_POS, DCR_COLOR_NEG);
     173    if (DCR_BLUE_COLOR_POS && DCR_BLUE_COLOR_NEG) {
     174      strextend (command, "-dcr-blue-color %s %s", DCR_BLUE_COLOR_POS, DCR_BLUE_COLOR_NEG);
     175    }
     176    if (DCR_RED_COLOR_POS && DCR_RED_COLOR_NEG) {
     177      strextend (command, "-dcr-red-color %s %s", DCR_RED_COLOR_POS, DCR_RED_COLOR_NEG);
    175178    }
    176179
  • branches/eam_branches/ipp-20140610/Ohana/src/relastro/src/markObjects.c

    r36630 r37006  
    88  // How strongly do I own this object?
    99  for (i = 0; i < Ncatalog; i++) {
    10     ALLOCATE (catalog[i].nOwn, int, catalog[i].Naverage);
    11     memset (catalog[i].nOwn, 0, catalog[i].Naverage*sizeof(int));
     10    ALLOCATE (catalog[i].nOwn_t, int, catalog[i].Naverage);
     11    memset (catalog[i].nOwn_t, 0, catalog[i].Naverage*sizeof(int));
    1212    for (j = 0; j < catalog[i].Naverage; j++) {
    1313      int nOwn = 0;
     
    1717        nOwn ++;
    1818      }
    19       catalog[i].nOwn[j] = nOwn;
     19      catalog[i].nOwn_t[j] = nOwn;
    2020    }
    2121  }
  • branches/eam_branches/ipp-20140610/Ohana/src/relastro/src/share_mean_pos.c

    r36630 r37006  
    3333      // XXX : sky objects without missing detections
    3434      // XXX watch out for detections which are not associated with an image (REF)
    35       if (catalog[i].nOwn[j] == catalog[i].average[j].Nmeasure) continue;
     35      if (catalog[i].nOwn_t[j] == catalog[i].average[j].Nmeasure) continue;
    3636
    3737      set_mean_pos (&meanpos[Nmeanpos], &catalog[i].average[j]);
Note: See TracChangeset for help on using the changeset viewer.