IPP Software Navigation Tools IPP Links Communication Pan-STARRS Links

Changeset 17439


Ignore:
Timestamp:
Apr 10, 2008, 9:58:20 PM (18 years ago)
Author:
eugene
Message:

load2mass uses find_matches_refstars to match the 2MASS detections, rather than creating new objects; everybody now sets defaults

Location:
trunk/Ohana/src/addstar
Files:
11 edited

Legend:

Unmodified
Added
Removed
  • trunk/Ohana/src/addstar/Makefile

    r16973 r17439  
    235235$(ADDSTAR)  : $(INC)/addstar.h
    236236$(SKYCELLS) : $(INC)/addstar.h
     237$(LOAD-2MASS) : $(INC)/addstar.h $(INC)/2mass.h
    237238
    238239$(BIN)/addstar.$(ARCH) : $(ADDSTAR)
  • trunk/Ohana/src/addstar/include/2mass.h

    r17193 r17439  
    4343int       get2mass_3star (Stars *star, char *line, int Nmax);
    4444
    45 int get2mass_3star_full (Stars *star, char *line, int Nmax);
     45int get2mass_3star_full (Stars **star, char *line, int Nmax);
    4646char *next2MASSfield (char *line);
    4747int set2MASS_ph_qual (Stars *star, char qual);
  • trunk/Ohana/src/addstar/src/find_matches_refstars.c

    r17195 r17439  
    150150      catalog[0].measure[Nmeas].Map      = NAN;
    151151      catalog[0].measure[Nmeas].airmass  = 0;
    152       catalog[0].measure[Nmeas].FWx      = NAN_S_SHORT;
    153       catalog[0].measure[Nmeas].FWy      = NAN_S_SHORT;
    154       catalog[0].measure[Nmeas].theta    = NAN_S_SHORT;
     152      catalog[0].measure[Nmeas].FWx      = stars[N][0].fx; // XXX make sure these are zero'ed as needed
     153      catalog[0].measure[Nmeas].FWy      = stars[N][0].fy; // XXX make sure these are zero'ed as needed
     154      catalog[0].measure[Nmeas].theta    = stars[N][0].df; // XXX make sure these are zero'ed as needed
    155155       
    156       catalog[0].measure[Nmeas].photFlags = 0;
     156      catalog[0].measure[Nmeas].photFlags = stars[N][0].flags; // XXX make sure these are zero'ed as needed
    157157      catalog[0].measure[Nmeas].qPSF      = 0;
    158158      catalog[0].measure[Nmeas].psfChisq  = 0;
     
    170170      catalog[0].measure[Nmeas].dYccd     = 0;
    171171
    172       catalog[0].measure[Nmeas].Xccd     = 0.0;
    173       catalog[0].measure[Nmeas].Yccd     = 0.0;
     172      catalog[0].measure[Nmeas].Xccd     = stars[N][0].X; // XXX make sure these are zero'ed as needed
     173      catalog[0].measure[Nmeas].Yccd     = stars[N][0].Y; // XXX make sure these are zero'ed as needed
    174174
    175175      if (ACCEPT_MOTION) {
     
    280280    catalog[0].measure[Nmeas].dt       = 0xffff;
    281281
    282     catalog[0].measure[Nmeas].photFlags = 0;
     282    catalog[0].measure[Nmeas].photFlags = stars[N][0].flags; // XXX make sure these are zero'ed as needed
    283283    catalog[0].measure[Nmeas].qPSF      = 0;
    284284    catalog[0].measure[Nmeas].psfChisq  = 0;
     
    296296    catalog[0].measure[Nmeas].dYccd     = 0;
    297297
    298     catalog[0].measure[Nmeas].Xccd     = 0.0;
    299     catalog[0].measure[Nmeas].Yccd     = 0.0;
     298    catalog[0].measure[Nmeas].Xccd     = stars[N][0].X; // XXX make sure these are zero'ed as needed
     299    catalog[0].measure[Nmeas].Yccd     = stars[N][0].Y; // XXX make sure these are zero'ed as needed
    300300
    301301    catalog[0].measure[Nmeas].airmass  = 0;
    302302    catalog[0].measure[Nmeas].Map      = NAN;
    303     catalog[0].measure[Nmeas].FWx      = NAN_S_SHORT;
    304     catalog[0].measure[Nmeas].FWy      = NAN_S_SHORT;
    305     catalog[0].measure[Nmeas].theta    = NAN_S_SHORT;
     303    catalog[0].measure[Nmeas].FWx      = stars[N][0].fx; // XXX make sure these are zero'ed as needed
     304    catalog[0].measure[Nmeas].FWy      = stars[N][0].fy; // XXX make sure these are zero'ed as needed
     305    catalog[0].measure[Nmeas].theta    = stars[N][0].df; // XXX make sure these are zero'ed as needed
    306306
    307307    catalog[0].measure[Nmeas].Xccd     = 0.0;
  • trunk/Ohana/src/addstar/src/get2mass.c

    r7683 r17439  
    1111  SkyTable *sky;
    1212  struct stat filestat;
     13
     14  fprintf (stderr, "please use the load2mass program instead\n");
     15  exit (1);
    1316
    1417  NAMED_PHOTCODE (TM_J, "2MASS_J");
  • trunk/Ohana/src/addstar/src/get2mass_full.c

    r16810 r17439  
    44// fill in the data for a JHK triplet star.  takes a pointer to the start of the line the
    55// RA and DEC have already been set
    6 int get2mass_3star_full (Stars *star, char *line, int Nmax) {
     6int get2mass_3star_full (Stars **star, char *line, int Nmax) {
    77
    88  char *ptr;
     
    1515  ptr = next2MASSfield (ptr); // dec (assumed to be already set)
    1616  ptr = next2MASSfield (ptr); // err_maj
    17   star[0].fx = strtod (ptr, NULL);
     17  star[0][0].fx = strtod (ptr, NULL);
    1818  ptr = next2MASSfield (ptr); // err_min
    19   star[0].fy = strtod (ptr, NULL);
     19  star[0][0].fy = strtod (ptr, NULL);
    2020  ptr = next2MASSfield (ptr); // err_ang
    21   star[0].df = strtod (ptr, NULL);
    22 
    23   star[2].fx = star[2].fx = star[0].fx;
    24   star[2].fy = star[2].fy = star[0].fy;
    25   star[2].df = star[2].df = star[0].df;
     21  star[0][0].df = strtod (ptr, NULL);
     22
     23  star[2][0].fx = star[2][0].fx = star[0][0].fx;
     24  star[2][0].fy = star[2][0].fy = star[0][0].fy;
     25  star[2][0].df = star[2][0].df = star[0][0].df;
    2626
    2727  ptr = next2MASSfield (ptr); // designation (skip)
    2828
    2929  ptr = next2MASSfield (ptr); // j_m
    30   star[0].M  = strtod (ptr, NULL);
     30  star[0][0].M  = strtod (ptr, NULL);
    3131  ptr = next2MASSfield (ptr); // j_cmsig
    32   star[0].dM = strtod (ptr, NULL);
     32  star[0][0].dM = strtod (ptr, NULL);
    3333  ptr = next2MASSfield (ptr); // j_msigcom
    3434  dMfull = strtod (ptr, NULL);
    35   star[0].dMcal = sqrt (SQ(dMfull) - SQ(star[0].dM));
     35  star[0][0].dMcal = sqrt (SQ(dMfull) - SQ(star[0][0].dM));
    3636  ptr = next2MASSfield (ptr); // j_snr (skip)
    3737
    3838  ptr = next2MASSfield (ptr); // h_m
    39   star[1].M  = strtod (ptr, NULL);
     39  star[1][0].M  = strtod (ptr, NULL);
    4040  ptr = next2MASSfield (ptr); // h_cmsig
    41   star[1].dM = strtod (ptr, NULL);
     41  star[1][0].dM = strtod (ptr, NULL);
    4242  ptr = next2MASSfield (ptr); // h_msigcom
    4343  dMfull = strtod (ptr, NULL);
    44   star[1].dMcal = sqrt (SQ(dMfull) - SQ(star[1].dM));
     44  star[1][0].dMcal = sqrt (SQ(dMfull) - SQ(star[1][0].dM));
    4545  ptr = next2MASSfield (ptr); // h_snr (skip)
    4646
    4747  ptr = next2MASSfield (ptr); // k_m
    48   star[2].M  = strtod (ptr, NULL);
     48  star[2][0].M  = strtod (ptr, NULL);
    4949  ptr = next2MASSfield (ptr); // k_cmsig
    50   star[2].dM = strtod (ptr, NULL);
     50  star[2][0].dM = strtod (ptr, NULL);
    5151  ptr = next2MASSfield (ptr); // k_msigcom
    5252  dMfull = strtod (ptr, NULL);
    53   star[2].dMcal = sqrt (SQ(dMfull) - SQ(star[2].dM));
     53  star[2][0].dMcal = sqrt (SQ(dMfull) - SQ(star[2][0].dM));
    5454  ptr = next2MASSfield (ptr); // k_snr (skip)
    5555
    56   star[2].flags = star[1].flags = star[0].flags = 0;
     56  star[2][0].flags = star[1][0].flags = star[0][0].flags = 0;
    5757
    5858  ptr = next2MASSfield (ptr); // ph_qual
    59   set2MASS_ph_qual (&star[0], ptr[0]);
    60   set2MASS_ph_qual (&star[1], ptr[1]);
    61   set2MASS_ph_qual (&star[2], ptr[2]);
     59  set2MASS_ph_qual (star[0], ptr[0]);
     60  set2MASS_ph_qual (star[1], ptr[1]);
     61  set2MASS_ph_qual (star[2], ptr[2]);
    6262
    6363  ptr = next2MASSfield (ptr); // rd_flg
    64   set2MASS_rd_flag (&star[0], ptr[0]);
    65   set2MASS_rd_flag (&star[1], ptr[1]);
    66   set2MASS_rd_flag (&star[2], ptr[2]);
     64  set2MASS_rd_flag (star[0], ptr[0]);
     65  set2MASS_rd_flag (star[1], ptr[1]);
     66  set2MASS_rd_flag (star[2], ptr[2]);
    6767
    6868  ptr = next2MASSfield (ptr); // bl_flg
    69   set2MASS_bl_flag (&star[0], ptr[0]);
    70   set2MASS_bl_flag (&star[1], ptr[1]);
    71   set2MASS_bl_flag (&star[2], ptr[2]);
     69  set2MASS_bl_flag (star[0], ptr[0]);
     70  set2MASS_bl_flag (star[1], ptr[1]);
     71  set2MASS_bl_flag (star[2], ptr[2]);
    7272
    7373  ptr = next2MASSfield (ptr); // cc_flg
    74   set2MASS_cc_flag (&star[0], ptr[0]);
    75   set2MASS_cc_flag (&star[1], ptr[1]);
    76   set2MASS_cc_flag (&star[2], ptr[2]);
     74  set2MASS_cc_flag (star[0], ptr[0]);
     75  set2MASS_cc_flag (star[1], ptr[1]);
     76  set2MASS_cc_flag (star[2], ptr[2]);
    7777
    7878  ptr = next2MASSfield (ptr); // ndet (skip for now, XXX use somehow?)
     
    8282
    8383  ptr = next2MASSfield (ptr); // gal_contam (one flag for all filters)
    84   set2MASS_gal_flag (&star[0], ptr[0]);
    85   set2MASS_gal_flag (&star[1], ptr[0]);
    86   set2MASS_gal_flag (&star[2], ptr[0]);
     84  set2MASS_gal_flag (star[0], ptr[0]);
     85  set2MASS_gal_flag (star[1], ptr[0]);
     86  set2MASS_gal_flag (star[2], ptr[0]);
    8787
    8888  ptr = next2MASSfield (ptr); // mp_flg (one flag for all filters)
    89   set2MASS_mp_flag (&star[0], ptr[0]);
    90   set2MASS_mp_flag (&star[1], ptr[0]);
    91   set2MASS_mp_flag (&star[2], ptr[0]);
     89  set2MASS_mp_flag (star[0], ptr[0]);
     90  set2MASS_mp_flag (star[1], ptr[0]);
     91  set2MASS_mp_flag (star[2], ptr[0]);
    9292
    9393  ptr = next2MASSfield (ptr); // pts_key (skip for now, XXX use somehow?)
     
    9999
    100100  ptr = next2MASSfield (ptr); // x_scan
    101   star[0].X = strtod (ptr, NULL);
    102   star[2].X = star[1].X = star[0].X;
     101  star[0][0].X = strtod (ptr, NULL);
     102  star[2][0].X = star[1][0].X = star[0][0].X;
    103103
    104104  ptr = next2MASSfield (ptr); // jdate (julian date)
    105105  jd = strtod (ptr, NULL);
    106   star[0].t = ohana_jd_to_sec (jd);
    107   star[2].t = star[1].t = star[0].t;
     106  star[0][0].t = ohana_jd_to_sec (jd);
     107  star[2][0].t = star[1][0].t = star[0][0].t;
    108108
    109109  ptr = next2MASSfield (ptr); // j_psfchi
    110   star[0].psfChisq = strtod (ptr, NULL);
     110  star[0][0].psfChisq = strtod (ptr, NULL);
    111111  ptr = next2MASSfield (ptr); // h_psfchi
    112   star[1].psfChisq = strtod (ptr, NULL);
     112  star[1][0].psfChisq = strtod (ptr, NULL);
    113113  ptr = next2MASSfield (ptr); // k_psfchi
    114   star[2].psfChisq = strtod (ptr, NULL);
     114  star[2][0].psfChisq = strtod (ptr, NULL);
    115115
    116116  ptr = next2MASSfield (ptr); // j_m_stdap
    117   star[0].Map = strtod (ptr, NULL);
     117  star[0][0].Map = strtod (ptr, NULL);
    118118  ptr = next2MASSfield (ptr); // j_msig_stdap (skip?)
    119119
    120120  ptr = next2MASSfield (ptr); // h_m_stdap
    121   star[1].Map = strtod (ptr, NULL);
     121  star[1][0].Map = strtod (ptr, NULL);
    122122  ptr = next2MASSfield (ptr); // h_msig_stdap (skip?)
    123123
    124124  ptr = next2MASSfield (ptr); // k_m_stdap
    125   star[2].Map = strtod (ptr, NULL);
     125  star[2][0].Map = strtod (ptr, NULL);
    126126  ptr = next2MASSfield (ptr); // k_msig_stdap (skip?)
    127127
     
    131131
    132132  ptr = next2MASSfield (ptr); // dup_src (one flag for all filters)
    133   set2MASS_dup_flag (&star[0], ptr[0]);
    134   set2MASS_dup_flag (&star[1], ptr[0]);
    135   set2MASS_dup_flag (&star[2], ptr[0]);
     133  set2MASS_dup_flag (star[0], ptr[0]);
     134  set2MASS_dup_flag (star[1], ptr[0]);
     135  set2MASS_dup_flag (star[2], ptr[0]);
    136136
    137137  ptr = next2MASSfield (ptr); // use_src (one flag for all filters)
    138   set2MASS_use_flag (&star[0], ptr[0]);
    139   set2MASS_use_flag (&star[1], ptr[0]);
    140   set2MASS_use_flag (&star[2], ptr[0]);
    141 
    142   star[0].code  = TM_J;
    143   star[0].found = -1;
    144   star[0].detID   = 0;
    145   star[0].imageID = 0;
    146 
    147   star[1].code  = TM_H;
    148   star[1].found = -1;
    149   star[1].detID   = 0;
    150   star[1].imageID = 0;
    151 
    152   star[2].code  = TM_K;
    153   star[2].found = -1;
    154   star[2].detID   = 0;
    155   star[2].imageID = 0;
     138  set2MASS_use_flag (star[0], ptr[0]);
     139  set2MASS_use_flag (star[1], ptr[0]);
     140  set2MASS_use_flag (star[2], ptr[0]);
     141
     142  star[0][0].code  = TM_J;
     143  star[0][0].found = -1;
     144  star[0][0].detID   = 0;
     145  star[0][0].imageID = 0;
     146
     147  star[1][0].code  = TM_H;
     148  star[1][0].found = -1;
     149  star[1][0].detID   = 0;
     150  star[1][0].imageID = 0;
     151
     152  star[2][0].code  = TM_K;
     153  star[2][0].found = -1;
     154  star[2][0].detID   = 0;
     155  star[2][0].imageID = 0;
    156156
    157157  return TRUE;
  • trunk/Ohana/src/addstar/src/getgsc.c

    r17002 r17439  
    8484      stars[Nstars].imageID = 0;
    8585
     86      stars[Nstars].X  = 0;
     87      stars[Nstars].Y  = 0;
     88      stars[Nstars].fx = 0;
     89      stars[Nstars].fy = 0;
     90      stars[Nstars].df = 0;
     91
    8692      Nstars ++;
    8793      CHECK_REALLOCATE (stars, Stars, NSTARS, Nstars, 1000);
  • trunk/Ohana/src/addstar/src/gettycho.c

    r16810 r17439  
    104104        stars[Ntycho].found = -1;
    105105     
     106        stars[Ntycho].X  = 0;
     107        stars[Ntycho].Y  = 0;
     108        stars[Ntycho].fx = 0;
     109        stars[Ntycho].fy = 0;
     110        stars[Ntycho].df = 0;
     111
    106112        /* one pass of addstar does either r or b */
    107113        if (photcode == TYCHO_B) {
  • trunk/Ohana/src/addstar/src/getusno.c

    r16810 r17439  
    120120      stars[Nusno].imageID = 0;
    121121
     122      stars[Nusno].X  = 0;
     123      stars[Nusno].Y  = 0;
     124      stars[Nusno].fx = 0;
     125      stars[Nusno].fy = 0;
     126      stars[Nusno].df = 0;
     127
    122128      /* one pass of addstar does either r or b */
    123129      if (photcode == USNO_RED) {
  • trunk/Ohana/src/addstar/src/getusnob.c

    r17046 r17439  
    149149      stars[Nusno].imageID = 0;
    150150
     151      stars[Nusno].X  = 0;
     152      stars[Nusno].Y  = 0;
     153      stars[Nusno].fx = 0;
     154      stars[Nusno].fy = 0;
     155      stars[Nusno].df = 0;
     156
    151157      /* USNO-B uses J2000 equinox and 2000.0 epoch for coordinates */
    152158      /* the magnitudes have no temporal information */
  • trunk/Ohana/src/addstar/src/grefstars.c

    r16810 r17439  
    3232    stars[N].detID   = 0;
    3333    stars[N].imageID = 0;
     34
     35    stars[N].X  = 0;
     36    stars[N].Y  = 0;
     37    stars[N].fx = 0;
     38    stars[N].fy = 0;
     39    stars[N].df = 0;
     40
    3441    CHECK_REALLOCATE (stars, Stars, NSTARS, N+1, 100);
    3542  }
  • trunk/Ohana/src/addstar/src/load2mass_as_rawdata.c

    r17197 r17439  
    2121  char *buffer, *p, *q;
    2222
    23   Stars *stars;
     23  Stars **stars; // this is an array of pointers to be consistent with input to find_match_refstars
    2424  TMStars *tstars;
    2525  SkyList *skylist;
     
    109109      if (tstars[i].D > UserPatch.Dmax) continue;
    110110
    111       // collect stars in a new output catalog
     111      // collect array of (Stars *) stars in a new output catalog
    112112      Nstars = 0;
    113113      NSTARS = 3000;
    114       ALLOCATE (stars, Stars, NSTARS);
     114      ALLOCATE (stars, Stars *, NSTARS);
    115115
    116116      // identify the relevant catalog
     
    136136        offset = tstars[j].offset;
    137137
    138         stars[Nstars+0].R = tstars[j].R;
    139         stars[Nstars+0].D = tstars[j].D;
    140         stars[Nstars+1].R = tstars[j].R;
    141         stars[Nstars+1].D = tstars[j].D;
    142         stars[Nstars+2].R = tstars[j].R;
    143         stars[Nstars+2].D = tstars[j].D;
     138        ALLOCATE (stars[Nstars+0], Stars, 1);
     139        ALLOCATE (stars[Nstars+1], Stars, 1);
     140        ALLOCATE (stars[Nstars+2], Stars, 1);
     141
     142        stars[Nstars+0][0].R = tstars[j].R;
     143        stars[Nstars+0][0].D = tstars[j].D;
     144        stars[Nstars+1][0].R = tstars[j].R;
     145        stars[Nstars+1][0].D = tstars[j].D;
     146        stars[Nstars+2][0].R = tstars[j].R;
     147        stars[Nstars+2][0].D = tstars[j].D;
    144148        get2mass_3star_full (&stars[Nstars], &buffer[offset], Nbyte - offset);
    145149        // get2mass_star (&stars[Nstars], &buffer[offset], Nbyte - offset);
     
    150154        if (Nstars >= NSTARS - 3) {
    151155          NSTARS += 3000;
    152           REALLOCATE (stars, Stars, NSTARS);
     156          REALLOCATE (stars, Stars *, NSTARS);
    153157        }
    154158      }
     
    181185        // assume no input star matches an existing star
    182186        // simply add to the existing table
    183         load2mass_catalog (&catalog, stars, Nstars);
     187        // load2mass_catalog (&catalog, stars, Nstars);
     188        find_matches_refstars (skylist[0].regions[0], stars, Nstars, &catalog, options);
     189        // load2mass_catalog (&catalog, stars, Nstars);
    184190
    185191        dvo_catalog_save (&catalog, VERBOSE);
     
    191197
    192198      SkyListFree (skylist);
     199      for (j = 0; j < Nstars; j++) free (stars[j]);
    193200      free (stars);
    194201      VERBOSE = verbose;
Note: See TracChangeset for help on using the changeset viewer.