IPP Software Navigation Tools IPP Links Communication Pan-STARRS Links

Changeset 37471


Ignore:
Timestamp:
Oct 8, 2014, 4:39:01 PM (12 years ago)
Author:
eugene
Message:

fakeastro -images basically works now

Location:
branches/eam_branches/ipp-20140904/Ohana/src/fakeastro
Files:
1 added
8 edited

Legend:

Unmodified
Added
Removed
  • branches/eam_branches/ipp-20140904/Ohana/src/fakeastro/Makefile

    r37464 r37471  
    4242$(SRC)/load_template_images.$(ARCH).o \
    4343$(SRC)/make_fake_images.$(ARCH).o \
     44$(SRC)/airmass.$(ARCH).o \
    4445$(SRC)/get_image_patch.$(ARCH).o \
    4546$(SRC)/load_fake_stars.$(ARCH).o \
  • branches/eam_branches/ipp-20140904/Ohana/src/fakeastro/include/fakeastro.h

    r37464 r37471  
    4747char  *CPT_FILE;
    4848char  *INPUT;
     49
     50int    IMAGE_ID;
    4951
    5052char  *IMAGES_INPUT;
     
    130132
    131133int InitStar (Stars *star);
     134
     135float airmass (float secz_image, double ra, double dec, double st, double latitude);
     136float azimuth (double ha, double dec, double latitude);
  • branches/eam_branches/ipp-20140904/Ohana/src/fakeastro/src/fakeastro_images.c

    r37464 r37471  
    3232
    3333  // subset out the DIS exposures here:
     34
     35  IMAGE_ID = 1;
    3436
    3537  int NrefImage;
  • branches/eam_branches/ipp-20140904/Ohana/src/fakeastro/src/insert_fakestar.c

    r37453 r37471  
    5252    }
    5353
     54    // Mr vs r-i, Mr vs r-z: linear fit from Bochanski et al 2010 Fig 7 & Fig 9
     55    // http://iopscience.iop.org/1538-3881/139/6/2679/pdf/aj_139_6_2679.pdf
     56    // gr, zy relations from Magnier et al 2012 Fig 3
     57
     58    double M_r = stars[i].starpar.M_r;
     59    double m_r = M_r + stars[i].starpar.DistMag;
     60    double ri = 0.215*M_r - 1.05;
     61    double rz = 0.350*M_r - 1.82;
     62    double gr = 2.27*ri + 0.09;
     63    double zy = 0.37*(rz - ri) + 0.03; // zy vs iz
     64
     65    double m_g = m_r + gr;
     66    double m_i = m_r - ri;
     67    double m_z = m_r - rz;
     68    double m_y = m_z - zy;
     69
    5470    // I need a photcode for r-band
    55     catalog[0].secfilt[Nave*Nsecfilt+1].M = stars[i].starpar.M_r + stars[i].starpar.DistMag;
     71    catalog[0].secfilt[Nave*Nsecfilt+0].M = m_g;
     72    catalog[0].secfilt[Nave*Nsecfilt+1].M = m_r;
     73    catalog[0].secfilt[Nave*Nsecfilt+2].M = m_i;
     74    catalog[0].secfilt[Nave*Nsecfilt+3].M = m_z;
     75    catalog[0].secfilt[Nave*Nsecfilt+4].M = m_y;
    5676
    5777    catalog[0].starpar[Nstarpar]        = stars[i].starpar;
  • branches/eam_branches/ipp-20140904/Ohana/src/fakeastro/src/load_template_images.c

    r37464 r37471  
    3030  }
    3131
     32  BuildChipMatch (image, Nimage);
     33
    3234  int NREFIMAGE = 1000;
    3335  int Nrefimage = 0;
     
    3537  ALLOCATE (refimage, Image, NREFIMAGE);
    3638
    37   int i;
     39  int i, j;
    3840  for (i = 0; i < Nimage; i++) {
    3941
     
    4244
    4345    refimage[Nrefimage] = image[i];
     46
     47    // find a corresponding chip image:
     48    Image *childImage = NULL;
     49    for (j = i + 1; j < i + 65; j++) {
     50      if (image[j].parent == &image[i]) {
     51        childImage = &image[j];
     52        break;
     53      }
     54    }
     55    if (!childImage) {
     56      fprintf (stderr, "!");
     57      // skip this one?
     58      continue;
     59    }
     60
     61    refimage[Nrefimage].secz     = childImage->secz;
     62    refimage[Nrefimage].Mcal     = childImage->Mcal;
     63    refimage[Nrefimage].dMcal    = childImage->dMcal;
     64    refimage[Nrefimage].exptime  = childImage->exptime;
     65    refimage[Nrefimage].sidtime  = childImage->sidtime;
     66    refimage[Nrefimage].latitude = childImage->latitude;
     67    refimage[Nrefimage].fwhm_x   = childImage->fwhm_x;
     68    refimage[Nrefimage].fwhm_y   = childImage->fwhm_y;
     69
     70    // this is a bit of a hack, but not too bad (very gpc1 specific):
     71    refimage[Nrefimage].photcode = 100 * (int) (childImage->photcode / 100);
    4472
    4573    Nrefimage ++;
  • branches/eam_branches/ipp-20140904/Ohana/src/fakeastro/src/make_fake_images.c

    r37467 r37471  
    11# include "fakeastro.h"
     2
     3// fields I need to inherit from (one of) the WRP images:
     4// secz, Mcal (ensure measure.M is set right), exptime (if not hardwired), sidtime (or calculate from jd, longitude),
     5// extern_id, source_id?, name (is this used in relastro?, NO: stack names are used in relphot to set the tess_id)
    26
    37Image *make_fake_images (Image *image, int *nfakeImage) {
     
    1418
    1519  fakeImage[0] = image[0];
    16 
     20  fakeImage[0].imageID = IMAGE_ID;
     21  IMAGE_ID ++;
     22 
    1723  int N = 1;
    1824
     
    5864      fakeImage[N].NY = 4850;
    5965
    60       // XXX need a way to choose this better...
    61       fakeImage[N].photcode = 10100 + iy*10 + ix;
    62       fakeImage[N].exptime = 45.0;
     66      fakeImage[N].imageID = IMAGE_ID;
     67      IMAGE_ID ++;
     68
     69      // gpc1-specific (assumes grizy map to 10101, etc)
     70      fakeImage[N].photcode = fakeImage[0].photcode + iy*10 + ix;
    6371      N++;
    6472    }
    6573  }
    6674
    67   *nfakeImage = NfakeImage;
     75  // the PHU needs to have photcode of 0 for relphot
     76  fakeImage[0].photcode = 0;
     77
     78  *nfakeImage = N;
    6879  return fakeImage;
    6980}
  • branches/eam_branches/ipp-20140904/Ohana/src/fakeastro/src/make_fake_stars_catalog.c

    r37467 r37471  
    122122    stars[Nstars].average.D = Dobs;
    123123
    124     /*
    125        XXX need to set these?
    126        stars[N].measure.airmass = airmass (image[0].secz, stars[N].average.R, stars[N].average.D, image[0].sidtime, image[0].latitude);
    127        stars[N].measure.az      = azimuth (15.0*image[0].sidtime - stars[N].average.R, stars[N].average.D, image[0].latitude);
    128        stars[N].measure.Mcal    = image[0].Mcal;
    129        stars[N].measure.t       = image[0].tzero + 1e-4*stars[N].measure.Yccd*image[0].trate;  // trate is in 0.1 msec / row
    130        stars[N].measure.dt      = MTIME;
    131     */
     124    stars[Nstars].measure.airmass = airmass (image->secz, stars[Nstars].average.R, stars[Nstars].average.D, image->sidtime, image->latitude);
     125    stars[Nstars].measure.az      = azimuth (15.0*image->sidtime - stars[Nstars].average.R, stars[Nstars].average.D, image->latitude);
     126    stars[Nstars].measure.Mcal    = image->Mcal;
     127    stars[Nstars].measure.t       = image->tzero + 1e-4*stars[Nstars].measure.Yccd*image->trate;  // trate is in 0.1 msec / row
     128    stars[Nstars].measure.dt      = Mtime;
    132129
    133     // this is may optionally be replaced by the internal sequence (see FilterStars.c)
     130    stars[Nstars].measure.imageID = image->imageID;
     131
     132    // This is may optionally be replaced by the internal sequence (see FilterStars.c)
    134133    stars[Nstars].measure.detID      = Nstars + 1;
    135134    Nstars ++;
  • branches/eam_branches/ipp-20140904/Ohana/src/fakeastro/src/make_fakestars.c

    r37467 r37471  
    7171    double uB = uB_gal + uB_sol;
    7272
    73     // crude Mr distribution from
     73    // crude Mr distribution from Bochanski et al 2010
    7474    // http://iopscience.iop.org/1538-3881/139/6/2679/pdf/aj_139_6_2679.pdf
    7575
Note: See TracChangeset for help on using the changeset viewer.