IPP Software Navigation Tools IPP Links Communication Pan-STARRS Links

Changeset 36920


Ignore:
Timestamp:
Jun 19, 2014, 11:23:59 PM (12 years ago)
Author:
eugene
Message:

load lensing parameters from cmf in addstar

Location:
branches/eam_branches/ipp-20140610/Ohana/src
Files:
1 added
4 edited

Legend:

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

    r35579 r36920  
    4141
    4242typedef struct {
    43   Average average;
    44   Measure measure;
     43  Average  average;
     44  Measure  measure;
     45  Lensing *lensing; // optionally carry out the lensing measurements
    4546  int found;
    4647} Stars;
  • branches/eam_branches/ipp-20140610/Ohana/src/addstar/src/ReadStarsFITS.c

    r36912 r36920  
    1313Stars     *Convert_PS1_V4         PROTO((FTable *table, unsigned int *nstars));
    1414Stars     *Convert_PS1_V5         PROTO((FTable *table, unsigned int *nstars));
     15Stars     *Convert_PS1_V5_Lensing PROTO((FTable *table, unsigned int *nstars));
    1516Stars     *Convert_PS1_SV1        PROTO((FTable *table, unsigned int *nstars));
    1617Stars     *Convert_PS1_SV1_Alt    PROTO((FTable *table, unsigned int *nstars));
     
    7778  }
    7879  if (!strcmp (type, "PS1_V5")) {
    79     stars = Convert_PS1_V5 (&table, &Nstars);
     80    if (table.header[0].Naxis[0] == 296) {
     81      stars = Convert_PS1_V5_Lensing (&table, &Nstars);
     82    } else {
     83      stars = Convert_PS1_V5 (&table, &Nstars);
     84    }
    8085  }
    8186  if (!strcmp (type, "PS1_SV1")) {
     
    822827}
    823828
     829Stars *Convert_PS1_V5_Lensing (FTable *table, unsigned int *nstars) {
     830
     831  off_t Nstars;
     832  unsigned int i;
     833  double ZeroPt;
     834  Stars *stars;
     835  CMF_PS1_V5_Lensing *ps1data;
     836
     837  ps1data = gfits_table_get_CMF_PS1_V5_Lensing (table, &Nstars, NULL);
     838  if (!ps1data) {
     839    fprintf (stderr, "skipping inconsistent entry\n");
     840    return (NULL);
     841  }
     842  ZeroPt = GetZeroPoint();
     843
     844  ALLOCATE (stars, Stars, Nstars);
     845  for (i = 0; i < Nstars; i++) {
     846    InitStar (&stars[i]);
     847    stars[i].measure.Xccd       = ps1data[i].X;
     848    stars[i].measure.Yccd       = ps1data[i].Y;
     849    stars[i].measure.dXccd      = ToShortPixels(ps1data[i].dX);
     850    stars[i].measure.dYccd      = ToShortPixels(ps1data[i].dY);
     851
     852    stars[i].measure.posangle   = ToShortDegrees(ps1data[i].posangle);
     853    stars[i].measure.pltscale   = ps1data[i].pltscale;
     854
     855    if ((ps1data[i].M >= 0.0) || isnan(ps1data[i].M)) {
     856      stars[i].measure.M      = NAN;
     857    } else {
     858      stars[i].measure.M      = ps1data[i].M + ZeroPt;
     859    }
     860    stars[i].measure.dM         = ps1data[i].dM;
     861    stars[i].measure.dMcal      = ps1data[i].dMcal;
     862    stars[i].measure.Map        = ps1data[i].Map + ZeroPt;
     863    stars[i].measure.dMap       = (ps1data[i].apFlux > 0.0) ? fabs(ps1data[i].apFluxErr / ps1data[i].apFlux) : NAN;
     864                       
     865    stars[i].measure.Mkron      = (ps1data[i].kronFlux > 0.0) ? -2.5*log10(ps1data[i].kronFlux) + ZeroPt : NAN;
     866    stars[i].measure.dMkron     = (ps1data[i].kronFlux > 0.0) ? ps1data[i].kronFluxErr / ps1data[i].kronFlux : NAN;
     867                       
     868    // instrumental fluxes: these fluxes are converted from counts to counts/sec in
     869    // FilterStars.c
     870    stars[i].measure.FluxPSF    = ps1data[i].Flux;
     871    stars[i].measure.dFluxPSF   = ps1data[i].dFlux;
     872    stars[i].measure.FluxKron   = ps1data[i].kronFlux;
     873    stars[i].measure.dFluxKron  = ps1data[i].kronFluxErr;
     874    stars[i].measure.FluxAp     = ps1data[i].apFlux;
     875    stars[i].measure.dFluxAp    = ps1data[i].apFluxErr;
     876
     877    stars[i].measure.Sky        = ps1data[i].sky;
     878    stars[i].measure.dSky       = ps1data[i].dSky;
     879                       
     880    stars[i].measure.psfChisq   = ps1data[i].psfChisq;
     881    stars[i].measure.psfQF      = ps1data[i].psfQF;
     882    stars[i].measure.psfQFperf  = ps1data[i].psfQFperf;
     883
     884    stars[i].measure.psfNdof    = ps1data[i].psfNdof;
     885    stars[i].measure.psfNpix    = ps1data[i].psfNpix;
     886    stars[i].measure.crNsigma   = ps1data[i].crNsigma;
     887    stars[i].measure.extNsigma  = ps1data[i].extNsigma;
     888
     889    stars[i].measure.FWx        = ToShortPixels(ps1data[i].fx);
     890    stars[i].measure.FWy        = ToShortPixels(ps1data[i].fy);
     891    stars[i].measure.theta      = ToShortDegrees(ps1data[i].df);
     892
     893    stars[i].measure.Mxx        = ToShortPixels(ps1data[i].Mxx);
     894    stars[i].measure.Mxy        = ToShortPixels(ps1data[i].Mxy);
     895    stars[i].measure.Myy        = ToShortPixels(ps1data[i].Myy);
     896                       
     897    stars[i].measure.photFlags  = ps1data[i].flags;
     898
     899    // this is may optionally be replaced by the internal sequence (see FilterStars.c)
     900    stars[i].measure.detID      = ps1data[i].detID;
     901
     902    ALLOCATE (stars[i].lensing, Lensing, 1);
     903    stars[i].lensing->X11_sm_obj  = ps1data[i].X11_sm_obj;
     904    stars[i].lensing->X12_sm_obj  = ps1data[i].X12_sm_obj;
     905    stars[i].lensing->X22_sm_obj  = ps1data[i].X22_sm_obj;
     906    stars[i].lensing->E1_sm_obj   = ps1data[i].E1_sm_obj;
     907    stars[i].lensing->E2_sm_obj   = ps1data[i].E2_sm_obj;
     908
     909    stars[i].lensing->X11_sh_obj  = ps1data[i].X11_sh_obj;
     910    stars[i].lensing->X12_sh_obj  = ps1data[i].X12_sh_obj;
     911    stars[i].lensing->X22_sh_obj  = ps1data[i].X22_sh_obj;
     912    stars[i].lensing->E1_sh_obj   = ps1data[i].E1_sh_obj;
     913    stars[i].lensing->E2_sh_obj   = ps1data[i].E2_sh_obj;
     914
     915    stars[i].lensing->X11_sm_psf  = ps1data[i].X11_sm_psf;
     916    stars[i].lensing->X12_sm_psf  = ps1data[i].X12_sm_psf;
     917    stars[i].lensing->X22_sm_psf  = ps1data[i].X22_sm_psf;
     918    stars[i].lensing->E1_sm_psf   = ps1data[i].E1_sm_psf;
     919    stars[i].lensing->E2_sm_psf   = ps1data[i].E2_sm_psf;
     920
     921    stars[i].lensing->X11_sh_psf  = ps1data[i].X11_sh_psf;
     922    stars[i].lensing->X12_sh_psf  = ps1data[i].X12_sh_psf;
     923    stars[i].lensing->X22_sh_psf  = ps1data[i].X22_sh_psf;
     924    stars[i].lensing->E1_sh_psf   = ps1data[i].E1_sh_psf;
     925    stars[i].lensing->E2_sh_psf   = ps1data[i].E2_sh_psf;
     926
     927    // stars[i].lensing->F_ApR5    = ps1data[i].F_ApR5;
     928    // stars[i].lensing->dF_ApR5   = ps1data[i].dF_ApR5;
     929    // stars[i].lensing->sF_ApR5   = ps1data[i].sF_ApR5;
     930    // stars[i].lensing->fF_ApR5   = ps1data[i].fF_ApR5;
     931    //
     932    // stars[i].lensing->F_ApR6    = ps1data[i].F_ApR6;
     933    // stars[i].lensing->dF_ApR6   = ps1data[i].dF_ApR6;
     934    // stars[i].lensing->sF_ApR6   = ps1data[i].sF_ApR6;
     935    // stars[i].lensing->fF_ApR6   = ps1data[i].fF_ApR6;
     936
     937    // this is may optionally be replaced by the internal sequence (see FilterStars.c)
     938    stars[i].lensing->detID      = ps1data[i].detID;
     939
     940    // the Average fields and the following Measure fields are set in FilterStars after
     941    // the image metadata is in hand:  dR, dD, Mcal, dt, airmass, az, t, imageID, extID.
     942
     943    // averef is set in find_matches
     944
     945    // dbFlags is zero on ingest.
     946
     947    // the following fields are currently not being set anywhere: t_msec
     948  }   
     949  *nstars = Nstars;
     950  return (stars);
     951}
     952
    824953Stars *Convert_PS1_SV1 (FTable *table, unsigned int *nstars) {
    825954
  • branches/eam_branches/ipp-20140610/Ohana/src/addstar/src/StarOps.c

    r34260 r36920  
    88    star[0].found = -1; // found == -1 -> not yet found (use enums?)
    99
     10    star[0].lensing = NULL; // we only populate this if needed
    1011    return TRUE;
    1112}
  • branches/eam_branches/ipp-20140610/Ohana/src/libautocode/def/lensing.d

    r36899 r36920  
    3434FIELD fF_ApR5,       FLUX_FIL_AP_R5, float,          Flux inside r = 5
    3535
    36 FIELD  F_ApR6,       FLUX_AP_R6,     float,          Flux inside r = 5
    37 FIELD dF_ApR6,       FLUX_ERR_AP_R6, float,          Flux inside r = 5
    38 FIELD sF_ApR6,       FLUX_AP_R6,     float,          Flux inside r = 5
    39 FIELD fF_ApR6,       FLUX_AP_R6,     float,          Flux inside r = 5
     36FIELD  F_ApR6,       FLUX_AP_R6,     float,          Flux inside r = 6
     37FIELD dF_ApR6,       FLUX_ERR_AP_R6, float,          Flux inside r = 6
     38FIELD sF_ApR6,       FLUX_STD_R6,    float,          Flux inside r = 6
     39FIELD fF_ApR6,       FLUX_AP_R6,     float,          Flux inside r = 6
    4040
    4141FIELD   detID,          DET_ID,       unsigned int,   detection ID
Note: See TracChangeset for help on using the changeset viewer.