IPP Software Navigation Tools IPP Links Communication Pan-STARRS Links

Changeset 37343


Ignore:
Timestamp:
Sep 1, 2014, 3:38:28 PM (12 years ago)
Author:
eugene
Message:

add capability to ingest the radial apertures in dvo

Location:
tags/ipp-pv3-20140717/Ohana/src/addstar
Files:
1 added
5 edited

Legend:

Unmodified
Added
Removed
  • tags/ipp-pv3-20140717/Ohana/src/addstar/Makefile

    r35263 r37343  
    8686$(SRC)/ReadStarsTEXT.$(ARCH).o \
    8787$(SRC)/ReadStarsSDSS.$(ARCH).o \
     88$(SRC)/ReadXradFITS.$(ARCH).o \
    8889$(SRC)/FilterStars.$(ARCH).o \
    8990$(SRC)/ImageOptions.$(ARCH).o \
  • tags/ipp-pv3-20140717/Ohana/src/addstar/include/addstar.h

    r37036 r37343  
    3535  char *exthead;
    3636  char *extdata;
     37  char *extxrad;
    3738  char *exttype;
    3839  int extnum_head;
    3940  int extnum_data;
     41  int extnum_xrad;
    4042} HeaderSet;
    4143
     
    146148
    147149int     OLD_RESORT;
     150int     READ_XRAD_DATA;
    148151
    149152int    PARALLEL;
     
    248251Stars     *FilterStars            PROTO((Stars *instars, Image *image, unsigned int imageID, const AddstarClientOptions *options));
    249252Stars     *MergeStars             PROTO((Stars *stars, unsigned int *Nstars, Stars *instars, unsigned int Ninstars));
     253
     254int        ReadXradFITS           PROTO((FILE *f, Header *theader, Stars *stars, unsigned int Nstars));
     255
    250256double     scat_subpix            PROTO((double x, double y));
    251257void       update_coords          PROTO((Average *average, Measure *measure, off_t *next));
  • tags/ipp-pv3-20140717/Ohana/src/addstar/src/LoadData.c

    r34088 r37343  
    8383      continue;
    8484    }
     85
     86    // XRAD : if we want to read the xrad table, skip to that table here:
     87    if (headerSets[i].extnum_xrad != -1) {
     88      int Nxrad = headerSets[i].extnum_xrad;
     89      Nskip = 0;
     90      for (j = 0; j < Nxrad; j++) {
     91        Nskip += extsize[j];
     92      }
     93      fseeko (f, Nskip, SEEK_SET);
     94     
     95      if (!ReadXradFITS (f, headers[Nxrad], inStars, images[0][Nvalid].nstar)) {
     96        fprintf (stderr, "problem reading the radial flux data for %s\n", headerSets[i].extdata);
     97      }
     98    }
     99
    85100    inStars = FilterStars (inStars, &images[0][Nvalid], Nvalid, options);
    86101    *stars = MergeStars (*stars, Nstars, inStars, images[0][Nvalid].nstar);
  • tags/ipp-pv3-20140717/Ohana/src/addstar/src/MatchHeaders.c

    r37054 r37343  
    7979    headerSets[Nimage].extdata     = strcreate (extname);
    8080    headerSets[Nimage].exthead     = strcreate (exthead);
     81    headerSets[Nimage].extxrad     = NULL;
    8182    headerSets[Nimage].extnum_data = i;
    8283    headerSets[Nimage].extnum_head = -1;
     84    headerSets[Nimage].extnum_xrad = -1;
     85
     86    // XXX a special case for fforce xrad data
     87    if (READ_XRAD_DATA) {
     88      // extname is foobar.psf, convert to foobar.xrad
     89      int Nchar = strlen (extname); // foobar.psf : Nchar = 10
     90      ALLOCATE (headerSets[Nimage].extxrad, char, Nchar + 2); // xrad is 1 longer than psf
     91      memcpy   (headerSets[Nimage].extxrad, extname, Nchar - 3); // Nchar - 3 = 7
     92      memcpy  (&headerSets[Nimage].extxrad[Nchar-3], "xrad", 4);
     93      headerSets[Nimage].extxrad[Nchar + 1] = 0; // put the 0 at element 11 for foobar.xrad\0
     94    }
    8395
    8496    // find the matching exthead entry
    8597    for (j = 0; j < Nheaders; j++) {
    8698      if (!gfits_scan (headers[j], ExtnameKeyword, "%s", 1, extname)) continue;
    87       if (strcmp (extname, headerSets[Nimage].exthead)) continue;
    88       headerSets[Nimage].extnum_head = j;
    89       break;
     99      if (!strcmp (extname, headerSets[Nimage].exthead)) {
     100        headerSets[Nimage].extnum_head = j;
     101        if (!READ_XRAD_DATA) break;
     102      }
     103      if (READ_XRAD_DATA && !strcmp (extname, headerSets[Nimage].extxrad)) {
     104        headerSets[Nimage].extnum_xrad = j;
     105      }
     106      if ((headerSets[Nimage].extnum_head > -1) && (headerSets[Nimage].extnum_xrad > -1)) {
     107        // we can only get here if READ_XRAD_DATA is true
     108        break;
     109      }
    90110    }
    91111
  • tags/ipp-pv3-20140717/Ohana/src/addstar/src/args.c

    r35760 r37343  
    7575    PMM_CCD_TABLE = strcreate (argv[N]);
    7676    remove_argument (N, &argc, argv);
     77  }
     78
     79  READ_XRAD_DATA = FALSE;
     80  if ((N = get_argument (argc, argv, "-xrad"))) {
     81    remove_argument (N, &argc, argv);
     82    READ_XRAD_DATA = TRUE;
    7783  }
    7884
Note: See TracChangeset for help on using the changeset viewer.