IPP Software Navigation Tools IPP Links Communication Pan-STARRS Links

Ignore:
Timestamp:
Jul 31, 2012, 4:02:00 PM (14 years ago)
Author:
eugene
Message:

add PS1_V4 schema; add set mean fluxes based on stacks; define the primary image ID (based on distance from center or boundary tree) and set mean flux from stacks based on that info; fix (uniquify) psps ID for stack detections; mean fluxes are in Jy; detection fluxes are instrumental counts per second

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/Ohana/src/addstar/src/ReadStarsFITS.c

    r31160 r34260  
    1010  Header theader;
    1111  FTable table;
    12   Stars *stars;
     12  Stars *stars; // Stars contains Average and Measure
    1313 
    1414  if (in_theader == NULL) {
     
    8989    InitStar (&stars[i]);
    9090
    91     stars[i].measure.Xccd      = smpdata[i].X;
    92     stars[i].measure.Yccd      = smpdata[i].Y;
     91    stars[i].measure.Xccd       = smpdata[i].X;
     92    stars[i].measure.Yccd       = smpdata[i].Y;
     93    stars[i].measure.dXccd      = NAN_S_SHORT; // not provided by SMPDATA:
     94    stars[i].measure.dYccd      = NAN_S_SHORT; // not provided by SMPDATA:
     95   
     96    stars[i].measure.posangle   = NAN_S_SHORT; // not provided by SMPDATA:
     97    stars[i].measure.pltscale   = NAN;         // not provided by SMPDATA:
    9398
    9499    if ((smpdata[i].M >= ZeroPt) || isnan(smpdata[i].M)) {
    95       stars[i].measure.M       = NAN;
    96       stars[i].measure.Map     = NAN;
    97     } else {
    98       stars[i].measure.M       = smpdata[i].M;
    99       stars[i].measure.Map     = smpdata[i].M;
    100     }
    101 
    102     stars[i].measure.dM        = smpdata[i].dM*0.001;
    103 
     100      stars[i].measure.M        = NAN;
     101      stars[i].measure.Map      = NAN;
     102      stars[i].measure.FluxPSF  = NAN;
     103      stars[i].measure.dFluxPSF = NAN;
     104    } else {
     105      stars[i].measure.M        = smpdata[i].M;
     106      stars[i].measure.Map      = smpdata[i].M;
     107      stars[i].measure.FluxPSF  = pow(10.0, -0.4*smpdata[i].M);
     108      stars[i].measure.dFluxPSF = stars[i].measure.FluxPSF * smpdata[i].dM;
     109    }
     110    stars[i].measure.dM         = smpdata[i].dM*0.001;
     111    stars[i].measure.dMcal      = NAN; // not provided by SMPDATA:
     112
     113    stars[i].measure.Mkron      = NAN; // not provided by SMPDATA:
     114    stars[i].measure.dMkron     = NAN; // not provided by SMPDATA:
     115    stars[i].measure.FluxKron   = NAN; // not provided by SMPDATA:
     116    stars[i].measure.dFluxKron  = NAN; // not provided by SMPDATA:
     117
     118    stars[i].measure.Sky        = NAN; // not provided by SMPDATA:
     119    stars[i].measure.dSky       = NAN; // not provided by SMPDATA:
     120
     121    stars[i].measure.psfChisq   = NAN;       // not provided by SMPDATA:
     122    stars[i].measure.psfQual    = NAN;       // not provided by SMPDATA:
     123    stars[i].measure.psfNdof    = NAN_S_INT; // not provided by SMPDATA:
     124    stars[i].measure.psfNpix    = NAN_S_INT; // not provided by SMPDATA:
     125    stars[i].measure.crNsigma   = NAN;       // not provided by SMPDATA:
     126    stars[i].measure.extNsigma  = NAN;       // not provided by SMPDATA:
     127
     128    stars[i].measure.FWx        = ToShortPixels (smpdata[i].fx);
     129    stars[i].measure.FWy        = ToShortPixels (smpdata[i].fy);
     130    stars[i].measure.theta      = ToShortDegrees (smpdata[i].df);
     131
     132    stars[i].measure.Mxx        = NAN_S_SHORT; // not provided by SMPDATA:
     133    stars[i].measure.Mxy        = NAN_S_SHORT; // not provided by SMPDATA:
     134    stars[i].measure.Myy        = NAN_S_SHORT; // not provided by SMPDATA:
     135                       
    104136    // the dophot type information gets pushed into the upper 2 bytes of photFlags
    105     stars[i].measure.photFlags = (smpdata[i].dophot << 16);
    106 
    107     stars[i].measure.FWx       = ToShortPixels (smpdata[i].fx);
    108     stars[i].measure.FWy       = ToShortPixels (smpdata[i].fy);
    109     stars[i].measure.theta     = ToShortDegrees (smpdata[i].df);
     137    stars[i].measure.photFlags  = (smpdata[i].dophot << 16);
    110138  }   
    111139  *nstars = Nstars;
     
    131159  for (i = 0; i < Nstars; i++) {
    132160    InitStar (&stars[i]);
    133     stars[i].measure.Xccd     = ps1data[i].X;
    134     stars[i].measure.Yccd     = ps1data[i].Y;
    135 
    136     stars[i].measure.dXccd    = ToShortPixels(ps1data[i].dX);
    137     stars[i].measure.dYccd    = ToShortPixels(ps1data[i].dY);
     161    stars[i].measure.Xccd       = ps1data[i].X;
     162    stars[i].measure.Yccd       = ps1data[i].Y;
     163    stars[i].measure.dXccd      = ToShortPixels(ps1data[i].dX);
     164    stars[i].measure.dYccd      = ToShortPixels(ps1data[i].dY);
    138165   
     166    stars[i].measure.posangle   = NAN_S_SHORT; // not provided by PS1_DEV_0:
     167    stars[i].measure.pltscale   = NAN;         // not provided by PS1_DEV_0:
     168
    139169    if ((ps1data[i].M >= 0.0) || isnan(ps1data[i].M)) {
    140       stars[i].measure.M      = NAN;
    141     } else {
    142       stars[i].measure.M      = ps1data[i].M + ZeroPt;
    143     }
    144     stars[i].measure.Map      = NAN;
    145     stars[i].measure.dM       = ps1data[i].dM;
    146     stars[i].measure.Sky      = ps1data[i].sky;
    147     stars[i].measure.dSky     = ps1data[i].dSky;
    148 
    149     stars[i].measure.FWx      = ToShortPixels(ps1data[i].fx);
    150     stars[i].measure.FWy      = ToShortPixels(ps1data[i].fy);
    151     stars[i].measure.theta    = ToShortDegrees(ps1data[i].df);
    152 
    153     stars[i].measure.psfChisq = ps1data[i].psfChisq;
    154     stars[i].measure.psfQual  = ps1data[i].psfQual;
    155 
    156     stars[i].measure.detID    = ps1data[i].detID;
     170      stars[i].measure.M        = NAN;
     171      stars[i].measure.FluxPSF  = NAN;
     172      stars[i].measure.dFluxPSF = NAN;
     173    } else {
     174      stars[i].measure.M        = ps1data[i].M + ZeroPt;
     175      stars[i].measure.FluxPSF  = pow(10.0, -0.4*ps1data[i].M);
     176      stars[i].measure.dFluxPSF = stars[i].measure.FluxPSF * ps1data[i].dM;
     177    }
     178    stars[i].measure.dM         = ps1data[i].dM;
     179    stars[i].measure.dMcal      = NAN; // not provided by PS1_DEV_0:
     180    stars[i].measure.Map        = NAN; // not provided by PS1_DEV_0:
     181
     182    stars[i].measure.Mkron      = NAN; // not provided by PS1_DEV_0:
     183    stars[i].measure.dMkron     = NAN; // not provided by PS1_DEV_0:
     184    stars[i].measure.FluxKron   = NAN; // not provided by PS1_DEV_0:
     185    stars[i].measure.dFluxKron  = NAN; // not provided by PS1_DEV_0:
     186
     187    stars[i].measure.Sky        = ps1data[i].sky;
     188    stars[i].measure.dSky       = ps1data[i].dSky;
     189
     190    stars[i].measure.psfChisq   = ps1data[i].psfChisq;
     191    stars[i].measure.psfQual    = ps1data[i].psfQual;
     192    stars[i].measure.psfNdof    = NAN_S_INT; // not provided by PS1_DEV_0:
     193    stars[i].measure.psfNpix    = NAN_S_INT; // not provided by PS1_DEV_0:
     194    stars[i].measure.crNsigma   = NAN;       // not provided by PS1_DEV_0:
     195    stars[i].measure.extNsigma  = NAN;        // not provided by PS1_DEV_0:
     196
     197    stars[i].measure.FWx        = ToShortPixels(ps1data[i].fx);
     198    stars[i].measure.FWy        = ToShortPixels(ps1data[i].fy);
     199    stars[i].measure.theta      = ToShortDegrees(ps1data[i].df);
     200
     201    stars[i].measure.Mxx        = NAN_S_SHORT; // not provided by PS1_DEV_0:
     202    stars[i].measure.Mxy        = NAN_S_SHORT; // not provided by PS1_DEV_0:
     203    stars[i].measure.Myy        = NAN_S_SHORT; // not provided by PS1_DEV_0:
     204                       
     205    stars[i].measure.photFlags  = 0; // not provided by PS1_DEV_0:
     206
     207    stars[i].measure.detID      = ps1data[i].detID;
    157208  }   
    158209  *nstars = Nstars;
     
    182233    stars[i].measure.Xccd       = ps1data[i].X;
    183234    stars[i].measure.Yccd       = ps1data[i].Y;
    184 
    185235    stars[i].measure.dXccd      = ToShortPixels(ps1data[i].dX);
    186236    stars[i].measure.dYccd      = ToShortPixels(ps1data[i].dY);
    187237
     238    stars[i].measure.posangle   = NAN_S_SHORT; // not provided by PS1_DEV_1:
     239    stars[i].measure.pltscale   = NAN;         // not provided by PS1_DEV_1:
     240
    188241    if ((ps1data[i].M >= 0.0) || isnan(ps1data[i].M)) {
    189         stars[i].measure.M      = NAN;
    190     } else {
    191         stars[i].measure.M      = ps1data[i].M + ZeroPt;
    192     }
    193     stars[i].measure.Map        = NAN;
     242      stars[i].measure.M      = NAN;
     243      stars[i].measure.FluxPSF  = NAN;
     244      stars[i].measure.dFluxPSF = NAN;
     245    } else {
     246      stars[i].measure.M      = ps1data[i].M + ZeroPt;
     247      stars[i].measure.FluxPSF  = pow(10.0, -0.4*ps1data[i].M);
     248      stars[i].measure.dFluxPSF = stars[i].measure.FluxPSF * ps1data[i].dM;
     249    }
    194250    stars[i].measure.dM         = ps1data[i].dM;
     251    stars[i].measure.dMcal      = NAN; // not provided by PS1_DEV_1:
     252    stars[i].measure.Map        = NAN; // not provided by PS1_DEV_1:
     253
     254    stars[i].measure.Mkron      = NAN; // not provided by PS1_DEV_1:
     255    stars[i].measure.dMkron     = NAN; // not provided by PS1_DEV_1:
     256    stars[i].measure.FluxKron   = NAN; // not provided by PS1_DEV_1:
     257    stars[i].measure.dFluxKron  = NAN; // not provided by PS1_DEV_1:
     258
    195259    stars[i].measure.Sky        = ps1data[i].sky;
    196260    stars[i].measure.dSky       = ps1data[i].dSky;
     261
     262    stars[i].measure.psfChisq   = ps1data[i].psfChisq;
     263    stars[i].measure.psfQual    = ps1data[i].psfQual;
     264    stars[i].measure.psfNdof    = NAN_S_INT; // not provided by PS1_DEV_1:
     265    stars[i].measure.psfNpix    = NAN_S_INT; // not provided by PS1_DEV_1:
     266    stars[i].measure.crNsigma   = ps1data[i].crNsigma;
     267    stars[i].measure.extNsigma  = ps1data[i].extNsigma;
    197268
    198269    stars[i].measure.FWx        = ToShortPixels(ps1data[i].fx);
     
    200271    stars[i].measure.theta      = ToShortDegrees(ps1data[i].df);
    201272
    202     stars[i].measure.psfChisq   = ps1data[i].psfChisq;
    203     stars[i].measure.psfQual    = ps1data[i].psfQual;
    204     stars[i].measure.crNsigma   = ps1data[i].crNsigma;
    205     stars[i].measure.extNsigma  = ps1data[i].extNsigma;
    206 
    207     stars[i].measure.detID      = ps1data[i].detID;
     273    stars[i].measure.Mxx        = NAN_S_SHORT; // not provided by PS1_DEV_1:
     274    stars[i].measure.Mxy        = NAN_S_SHORT; // not provided by PS1_DEV_1:
     275    stars[i].measure.Myy        = NAN_S_SHORT; // not provided by PS1_DEV_1:
     276                       
    208277    stars[i].measure.photFlags  = ps1data[i].flags;
     278
     279    // this is may optionally be replaced by the internal sequence (see FilterStars.c)
     280    stars[i].measure.detID      = ps1data[i].detID;
    209281  }   
    210282  *nstars = Nstars;
     
    229301
    230302  if (table[0].header[0].Naxis[0] == 136) {
    231       stars = Convert_PS1_V1_Alt (table, nstars);
    232       return (stars);
     303    stars = Convert_PS1_V1_Alt (table, nstars);
     304    return (stars);
    233305  }
    234306
     
    252324
    253325    if ((ps1data[i].M >= 0.0) || isnan(ps1data[i].M)) {
    254         stars[i].measure.M      = NAN;
    255     } else {
    256         stars[i].measure.M      = ps1data[i].M + ZeroPt;
     326      stars[i].measure.M      = NAN;
     327      stars[i].measure.FluxPSF  = NAN;
     328      stars[i].measure.dFluxPSF = NAN;
     329    } else {
     330      stars[i].measure.M      = ps1data[i].M + ZeroPt;
     331      stars[i].measure.FluxPSF  = pow(10.0, -0.4*ps1data[i].M);
     332      stars[i].measure.dFluxPSF = stars[i].measure.FluxPSF * ps1data[i].dM;
    257333    }
    258334    stars[i].measure.dM         = ps1data[i].dM;
    259335    stars[i].measure.dMcal      = ps1data[i].dMcal;
    260336    stars[i].measure.Map        = ps1data[i].Map + ZeroPt;
    261                        
     337                       
     338    stars[i].measure.Mkron      = NAN; // not provided by PS1_V1:
     339    stars[i].measure.dMkron     = NAN; // not provided by PS1_V1:
     340    stars[i].measure.FluxKron   = NAN; // not provided by PS1_V1:
     341    stars[i].measure.dFluxKron  = NAN; // not provided by PS1_V1:
     342
    262343    stars[i].measure.Sky        = ps1data[i].sky;
    263344    stars[i].measure.dSky       = ps1data[i].dSky;
    264                        
     345                       
    265346    stars[i].measure.psfChisq   = ps1data[i].psfChisq;
    266347    stars[i].measure.psfQual    = ps1data[i].psfQual;
     
    277358    stars[i].measure.Mxy        = ToShortPixels(ps1data[i].Mxy);
    278359    stars[i].measure.Myy        = ToShortPixels(ps1data[i].Myy);
    279                        
     360                       
    280361    stars[i].measure.photFlags  = ps1data[i].flags;
    281362
     
    328409
    329410    if ((ps1data[i].M >= 0.0) || isnan(ps1data[i].M)) {
    330         stars[i].measure.M      = NAN;
    331     } else {
    332         stars[i].measure.M      = ps1data[i].M + ZeroPt;
     411      stars[i].measure.M      = NAN;
     412      stars[i].measure.FluxPSF  = NAN;
     413      stars[i].measure.dFluxPSF = NAN;
     414    } else {
     415      stars[i].measure.M        = ps1data[i].M + ZeroPt;
     416      stars[i].measure.FluxPSF  = pow(10.0, -0.4*ps1data[i].M);
     417      stars[i].measure.dFluxPSF = stars[i].measure.FluxPSF * ps1data[i].dM;
    333418    }
    334419    stars[i].measure.dM         = ps1data[i].dM;
    335420    stars[i].measure.dMcal      = ps1data[i].dMcal;
    336421    stars[i].measure.Map        = ps1data[i].Map + ZeroPt;
    337                        
     422                       
     423    stars[i].measure.Mkron      = NAN; // not provided by PS1_V1_Alt:
     424    stars[i].measure.dMkron     = NAN; // not provided by PS1_V1_Alt:
     425    stars[i].measure.FluxKron   = NAN; // not provided by PS1_V1_Alt:
     426    stars[i].measure.dFluxKron  = NAN; // not provided by PS1_V1_Alt:
     427
    338428    stars[i].measure.Sky        = ps1data[i].sky;
    339429    stars[i].measure.dSky       = ps1data[i].dSky;
    340                        
     430                       
    341431    stars[i].measure.psfChisq   = ps1data[i].psfChisq;
    342432    stars[i].measure.psfQual    = ps1data[i].psfQual;
     
    353443    stars[i].measure.Mxy        = ToShortPixels(ps1data[i].Mxy);
    354444    stars[i].measure.Myy        = ToShortPixels(ps1data[i].Myy);
    355                        
     445                       
    356446    stars[i].measure.photFlags  = ps1data[i].flags;
    357447
     
    396486
    397487    if ((ps1data[i].M >= 0.0) || isnan(ps1data[i].M)) {
    398         stars[i].measure.M      = NAN;
    399     } else {
    400         stars[i].measure.M      = ps1data[i].M + ZeroPt;
     488      stars[i].measure.M        = NAN;
     489      stars[i].measure.FluxPSF  = NAN;
     490      stars[i].measure.dFluxPSF = NAN;
     491    } else {
     492      stars[i].measure.M      = ps1data[i].M + ZeroPt;
     493      stars[i].measure.FluxPSF  = pow(10.0, -0.4*ps1data[i].M);
     494      stars[i].measure.dFluxPSF = stars[i].measure.FluxPSF * ps1data[i].dM;
    401495    }
    402496    stars[i].measure.dM         = ps1data[i].dM;
    403497    stars[i].measure.dMcal      = ps1data[i].dMcal;
    404498    stars[i].measure.Map        = ps1data[i].Map + ZeroPt;
    405                        
     499                       
     500    stars[i].measure.Mkron      = NAN; // not provided by PS1_V2:
     501    stars[i].measure.dMkron     = NAN; // not provided by PS1_V2:
     502    stars[i].measure.FluxKron   = NAN; // not provided by PS1_V2:
     503    stars[i].measure.dFluxKron  = NAN; // not provided by PS1_V2:
     504
    406505    stars[i].measure.Sky        = ps1data[i].sky;
    407506    stars[i].measure.dSky       = ps1data[i].dSky;
    408                        
     507                       
    409508    stars[i].measure.psfChisq   = ps1data[i].psfChisq;
    410509    stars[i].measure.psfQual    = ps1data[i].psfQual;
     
    421520    stars[i].measure.Mxy        = ToShortPixels(ps1data[i].Mxy);
    422521    stars[i].measure.Myy        = ToShortPixels(ps1data[i].Myy);
    423                        
     522                       
    424523    stars[i].measure.photFlags  = ps1data[i].flags;
    425524
     
    464563
    465564    if ((ps1data[i].M >= 0.0) || isnan(ps1data[i].M)) {
    466         stars[i].measure.M      = NAN;
    467     } else {
    468         stars[i].measure.M      = ps1data[i].M + ZeroPt;
     565      stars[i].measure.M      = NAN;
     566    } else {
     567      stars[i].measure.M      = ps1data[i].M + ZeroPt;
    469568    }
    470569    stars[i].measure.dM         = ps1data[i].dM;
    471570    stars[i].measure.dMcal      = ps1data[i].dMcal;
    472571    stars[i].measure.Map        = ps1data[i].Map + ZeroPt;
    473                        
     572                       
     573    stars[i].measure.Mkron      = (ps1data[i].kronFlux > 0.0) ? -2.5*log10(ps1data[i].kronFlux) + ZeroPt : NAN;
     574    stars[i].measure.dMkron     = (ps1data[i].kronFlux > 0.0) ? ps1data[i].kronFluxErr / ps1data[i].kronFlux : NAN;
     575                       
     576    // these fluxes are converted from counts to counts/sec in FilterStars.c
     577    stars[i].measure.FluxPSF    = ps1data[i].Flux;
     578    stars[i].measure.dFluxPSF   = ps1data[i].dFlux;
     579    stars[i].measure.FluxKron   = ps1data[i].kronFlux;
     580    stars[i].measure.dFluxKron  = ps1data[i].kronFluxErr;
     581
    474582    stars[i].measure.Sky        = ps1data[i].sky;
    475583    stars[i].measure.dSky       = ps1data[i].dSky;
    476                        
     584                       
    477585    stars[i].measure.psfChisq   = ps1data[i].psfChisq;
    478586    stars[i].measure.psfQual    = ps1data[i].psfQual;
     
    489597    stars[i].measure.Mxy        = ToShortPixels(ps1data[i].Mxy);
    490598    stars[i].measure.Myy        = ToShortPixels(ps1data[i].Myy);
    491                        
     599                       
    492600    stars[i].measure.photFlags  = ps1data[i].flags;
    493601
     
    496604
    497605    // the Average fields and the following Measure fields are set in FilterStars after
    498     // the image metadata is in hand:  dR, dD, Mcal, dt, airmass, az, t, imageID, extID,
    499     // averef is set in find_matches, dbFlags is zero on ingest.
     606    // the image metadata is in hand:  dR, dD, Mcal, dt, airmass, az, t, imageID, extID.
     607
     608    // averef is set in find_matches
     609
     610    // dbFlags is zero on ingest.
    500611
    501612    // the following fields are currently not being set anywhere: t_msec
     
    514625
    515626  if (table[0].header[0].Naxis[0] == 196) {
    516       stars = Convert_PS1_SV1_Alt (table, nstars);
    517       return (stars);
     627    stars = Convert_PS1_SV1_Alt (table, nstars);
     628    return (stars);
    518629  }
    519630
     
    537648
    538649    if ((ps1data[i].M >= 0.0) || isnan(ps1data[i].M)) {
    539         stars[i].measure.M      = NAN;
    540     } else {
    541         stars[i].measure.M      = ps1data[i].M + ZeroPt;
     650      stars[i].measure.M      = NAN;
     651    } else {
     652      stars[i].measure.M      = ps1data[i].M + ZeroPt;
    542653    }
    543654    stars[i].measure.dM         = ps1data[i].dM;
    544655    stars[i].measure.dMcal      = ps1data[i].dMcal;
    545656    stars[i].measure.Map        = ps1data[i].Map + ZeroPt;
    546                        
     657                       
     658    stars[i].measure.Mkron      = (ps1data[i].kronFlux > 0.0) ? -2.5*log10(ps1data[i].kronFlux) + ZeroPt : NAN;
     659    stars[i].measure.dMkron     = (ps1data[i].kronFlux > 0.0) ? ps1data[i].kronFluxErr / ps1data[i].kronFlux : NAN;
     660
     661    // these fluxes are converted from counts to counts/sec in FilterStars.c
     662    stars[i].measure.FluxPSF    = ps1data[i].Flux;
     663    stars[i].measure.dFluxPSF   = ps1data[i].dFlux;
     664    stars[i].measure.FluxKron   = ps1data[i].kronFlux;
     665    stars[i].measure.dFluxKron  = ps1data[i].kronFluxErr;
     666
    547667    stars[i].measure.Sky        = ps1data[i].sky;
    548668    stars[i].measure.dSky       = ps1data[i].dSky;
    549                        
     669                       
    550670    stars[i].measure.psfChisq   = ps1data[i].psfChisq;
    551671    stars[i].measure.psfQual    = ps1data[i].psfQual;
     
    562682    stars[i].measure.Mxy        = ToShortPixels(ps1data[i].Mxy);
    563683    stars[i].measure.Myy        = ToShortPixels(ps1data[i].Myy);
    564                        
     684                       
    565685    stars[i].measure.photFlags  = ps1data[i].flags;
    566686
     
    607727
    608728    if ((ps1data[i].M >= 0.0) || isnan(ps1data[i].M)) {
    609         stars[i].measure.M      = NAN;
    610     } else {
    611         stars[i].measure.M      = ps1data[i].M + ZeroPt;
     729      stars[i].measure.M      = NAN;
     730    } else {
     731      stars[i].measure.M      = ps1data[i].M + ZeroPt;
    612732    }
    613733    stars[i].measure.dM         = ps1data[i].dM;
    614734    stars[i].measure.dMcal      = ps1data[i].dMcal;
    615735    stars[i].measure.Map        = ps1data[i].Map + ZeroPt;
    616                        
     736                       
     737    stars[i].measure.Mkron      = (ps1data[i].kronFlux > 0.0) ? -2.5*log10(ps1data[i].kronFlux) + ZeroPt : NAN;
     738    stars[i].measure.dMkron     = (ps1data[i].kronFlux > 0.0) ? ps1data[i].kronFluxErr / ps1data[i].kronFlux : NAN;
     739
     740    // these fluxes are converted from counts to counts/sec in FilterStars.c
     741    stars[i].measure.FluxPSF    = ps1data[i].Flux;
     742    stars[i].measure.dFluxPSF   = ps1data[i].dFlux;
     743    stars[i].measure.FluxKron   = ps1data[i].kronFlux;
     744    stars[i].measure.dFluxKron  = ps1data[i].kronFluxErr;
     745
    617746    stars[i].measure.Sky        = ps1data[i].sky;
    618747    stars[i].measure.dSky       = ps1data[i].dSky;
    619                        
     748                       
    620749    stars[i].measure.psfChisq   = ps1data[i].psfChisq;
    621750    stars[i].measure.psfQual    = ps1data[i].psfQual;
     
    632761    stars[i].measure.Mxy        = ToShortPixels(ps1data[i].Mxy);
    633762    stars[i].measure.Myy        = ToShortPixels(ps1data[i].Myy);
    634                        
     763                       
    635764    stars[i].measure.photFlags  = ps1data[i].flags;
    636765
Note: See TracChangeset for help on using the changeset viewer.