IPP Software Navigation Tools IPP Links Communication Pan-STARRS Links

Changeset 29556


Ignore:
Timestamp:
Oct 25, 2010, 4:29:35 PM (16 years ago)
Author:
Serge CHASTEL
Message:

Changes reflecting eam_branches/ipp-20100823/psModules/src/objects/pmSourceIO_CMF_PS1_DV2.c rev 29230

Location:
trunk/ppTranslate/src
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • trunk/ppTranslate/src/ppMops.h

    r28623 r29556  
    1313// Configuration data
    1414typedef struct {
    15     psArray *input;                     // Input filenames
    16     psString exp_name;                  // Exposure name
    17     psS64 exp_id;                       // Exposure identifier
    18     psS64 chip_id;                      // Chip stage identifier
    19     psS64 cam_id;                       // Camera stage identifier
    20     psS64 fake_id;                      // Fake stage identifier
    21     psS64 warp_id;                      // Warp stage identifier
    22     psS64 diff_id;                      // Diff stage identifier
    23     bool positive;                      // Sense of subtraction, T=positive, F=negative
    24     float zp, zpErr;                    // Magnitude zero point and error
    25     float rmsAstrom;                    // Astrometric solution RMS
    26     psString output;                    // Output filename
     15  psArray *input;                     // Input filenames
     16  psString exp_name;                  // Exposure name
     17  psS64 exp_id;                       // Exposure identifier
     18  psS64 chip_id;                      // Chip stage identifier
     19  psS64 cam_id;                       // Camera stage identifier
     20  psS64 fake_id;                      // Fake stage identifier
     21  psS64 warp_id;                      // Warp stage identifier
     22  psS64 diff_id;                      // Diff stage identifier
     23  bool positive;                      // Sense of subtraction, T=positive, F=negative
     24  float zp, zpErr;                    // Magnitude zero point and error
     25  float rmsAstrom;                    // Astrometric solution RMS
     26  psString output;                    // Output filename
    2727} ppMopsArguments;
    2828
    2929#if 0
     30#warning "IS THERE ANYTHING TO BE MODIFIED HERE?"
    3031TTYPE19 = 'PSF_CHISQ'          / label for field  19
    3132TFORM19 = '1E      '           / data format of field: 4-byte REAL
     
    5859
    5960typedef struct {
    60     psString raBoresight, decBoresight; // RA,Dec of telescope boresight
    61     psString filter;                    // Filter for exposure
    62     float airmass;                      // Airmass of exposure
    63     float exptime;                      // Exposure time
    64     double posangle;                    // Position angle
    65     double alt, az;                     // Telescope altitude and azimuth
    66     double mjd;                         // Modified Julian Date
    67     float seeing;                       // Seeing of exposure
    68     long num;                           // Number of detections
    69     psVector *x, *y;                    // Image coordinates
    70     psVector *ra, *dec;                 // Sky coordinates
    71     psVector *raErr, *decErr;           // Error in sky coordinates
    72     psVector *mag, *magErr;             // Magnitude and associated error
    73     psVector *chi2, *dof;               // Chi^2 from fitting, with associated degrees of freedom
    74     psVector *cr, *extended;            // Measures of CR-ness and extendedness
    75     psVector *psfMajor, *psfMinor, *psfTheta; // PSF major and minor axes, and position angle
    76     psVector *quality, *numPix;               // PSF quality factor and number of pixels
    77     psVector *xxMoment, *xyMoment, *yyMoment; // Moments
    78     psVector *flags;                    // psphot flags
    79     psVector *diffSkyfileId;            // Identifier for source image
    80     psVector *naxis1, *naxis2;          // Size of image
    81     psVector *mask;                     // Mask for detections
    82     psVector *nPos;                     // Number of positive pixels
    83     psVector *fPos;                     // Fraction of positive flux
    84     psVector *nRatioBad;                // Fraction of positive pixels to negative
    85     psVector *nRatioMask;               // Fraction of positive pixels to masked
    86     psVector *nRatioAll;                // Fraction of positive pixels to all
     61  psString raBoresight, decBoresight; // RA,Dec of telescope boresight
     62  psString filter;                    // Filter for exposure
     63  float airmass;                      // Airmass of exposure
     64  float exptime;                      // Exposure time
     65  double posangle;                    // Position angle
     66  double alt, az;                     // Telescope altitude and azimuth
     67  double mjd;                         // Modified Julian Date
     68  float seeing;                       // Seeing of exposure
     69  long num;                           // Number of detections
     70  psVector *x, *y;                    // Image coordinates
     71  psVector *ra, *dec;                 // Sky coordinates
     72  psVector *raErr, *decErr;           // Error in sky coordinates
     73  psVector *mag, *magErr;             // Magnitude and associated error
     74  psVector *chi2, *dof;               // Chi^2 from fitting, with associated degrees of freedom
     75  psVector *cr, *extended;            // Measures of CR-ness and extendedness
     76  psVector *psfMajor, *psfMinor, *psfTheta; // PSF major and minor axes, and position angle
     77  psVector *quality, *numPix;               // PSF quality factor and number of pixels
     78  psVector *xxMoment, *xyMoment, *yyMoment; // Moments
     79  psVector *flags;                    // psphot flags
     80  psVector *diffSkyfileId;            // Identifier for source image
     81  psVector *naxis1, *naxis2;          // Size of image
     82  psVector *mask;                     // Mask for detections
     83  psVector *nPos;                     // Number of positive pixels
     84  psVector *fPos;                     // Fraction of positive flux
     85  psVector *nRatioBad;                // Fraction of positive pixels to negative
     86  psVector *nRatioMask;               // Fraction of positive pixels to masked
     87  psVector *nRatioAll;                // Fraction of positive pixels to all
     88  psVector *psfInstFlux;              // PSF fit instrumental magnitude
     89  psVector *psfInstFluxSig;           // Sigma of PSF instrumental magnitude
     90  psVector *apMag;                    // Magnitude in standard aperture
     91  psVector *apMagRadius;              // Radius used for aperture mags
     92  psVector *apMagRaw;                 // Magnitude in real aperture
     93  psVector *apFlux;                   // Instrumental flux in standard aperture
     94  psVector *apFluxSig;                // Aperture flux error
     95  psVector *peakFluxAsMag;            // Peak flux expressed as magnitude
     96  psVector *calPsfMag;                // PSF Magnitude using supplied calibration
     97  psVector *calPsfMagSig;             // Measured scatter of zero point calibration
     98  psVector *sky;                      // Sky level
     99  psVector *skySig;                   // Sigma of sky level
     100  psVector *qualityPerfect;           // PSF coverage/quality factor (poor)
     101  psVector *momentsR1;                // First radial moment
     102  psVector *momentsRH;                // Half radial moment
     103  psVector *kronFlux;                 // Kron Flux (in 2.5 R1)
     104  psVector *kronFluxErr;              // Kron Flux Error
     105  psVector *kronFluxInner;            // Kron Flux (in 1.0 R1)
     106  psVector *kronFluxOuter;            // Kron Flux (in 4.0 R1)
     107  psVector *diffRP;                   // Distance to positive match source
     108  psVector *diffSnP;                  // Signal-to-noise of pos match src
     109  psVector *diffRM;                   // Distance to negative match source
     110  psVector *diffSnM;                  // Signal-to-noise of neg match src
     111  psVector *flags2;                   // psphot flags (group 2)
     112  psVector *ippIdet;                  // IPP detection identifier index
     113  psVector *nFrames;                  // Number of frames overlapping source center
     114  psVector *padding;                  // Padding
    87115} ppMopsDetections;
    88 
    89116
    90117ppMopsDetections *ppMopsDetectionsAlloc(long num);
     
    95122/// Purge the detections list of masked detections
    96123bool ppMopsDetectionsPurge(ppMopsDetections *detections);
    97 
    98124
    99125/// Read detections
  • trunk/ppTranslate/src/ppMopsDetections.c

    r28623 r29556  
    22#include <config.h>
    33#endif
    4 
    54#include <stdio.h>
    65#include <pslib.h>
    7 
    86#include "ppMops.h"
    97
     
    4341    psFree(det->nRatioMask);
    4442    psFree(det->nRatioAll);
    45 
     43    psFree(det->psfInstFlux);
     44    psFree(det->psfInstFluxSig);
     45    psFree(det->apMag);
     46    psFree(det->apMagRadius);
     47    psFree(det->apMagRaw);
     48    psFree(det->apFlux);
     49    psFree(det->apFluxSig);
     50    psFree(det->peakFluxAsMag);
     51    psFree(det->calPsfMag);
     52    psFree(det->calPsfMagSig);
     53    psFree(det->sky);
     54    psFree(det->skySig);
     55    psFree(det->qualityPerfect);
     56    psFree(det->momentsR1);
     57    psFree(det->momentsRH);
     58    psFree(det->kronFlux);
     59    psFree(det->kronFluxErr);
     60    psFree(det->kronFluxInner);
     61    psFree(det->kronFluxOuter);
     62    psFree(det->diffRP);
     63    psFree(det->diffSnP);
     64    psFree(det->diffRM);
     65    psFree(det->diffSnM);
     66    psFree(det->flags2);
     67    psFree(det->ippIdet);
     68    psFree(det->nFrames);
     69    psFree(det->padding);
    4670    return;
    4771}
     
    5175    ppMopsDetections *det = psAlloc(sizeof(ppMopsDetections)); // Detections, to return
    5276    psMemSetDeallocator(det, (psFreeFunc)mopsDetectionsFree);
    53 
    5477    det->raBoresight = NULL;
    5578    det->decBoresight = NULL;
     
    93116    det->nRatioMask = psVectorAllocEmpty(num, PS_TYPE_F32);
    94117    det->nRatioAll = psVectorAllocEmpty(num, PS_TYPE_F32);
    95 
     118    det->psfInstFlux = psVectorAllocEmpty(num, PS_TYPE_F32);
     119    det->psfInstFluxSig = psVectorAllocEmpty(num, PS_TYPE_F32);
     120    det->apMag = psVectorAllocEmpty(num, PS_TYPE_F32);
     121    det->apMagRadius  = psVectorAllocEmpty(num, PS_TYPE_F32);
     122    det->apMagRaw = psVectorAllocEmpty(num, PS_TYPE_F32);
     123    det->apFlux = psVectorAllocEmpty(num, PS_TYPE_F32);
     124    det->apFluxSig = psVectorAllocEmpty(num, PS_TYPE_F32);
     125    det->peakFluxAsMag = psVectorAllocEmpty(num, PS_TYPE_F32);
     126    det->calPsfMag = psVectorAllocEmpty(num, PS_TYPE_F32);
     127    det->calPsfMagSig = psVectorAllocEmpty(num, PS_TYPE_F32);
     128    det->sky = psVectorAllocEmpty(num, PS_TYPE_F32);
     129    det->skySig = psVectorAllocEmpty(num, PS_TYPE_F32);
     130    det->qualityPerfect = psVectorAllocEmpty(num, PS_TYPE_F32);
     131    det->momentsR1 = psVectorAllocEmpty(num, PS_TYPE_F32);
     132    det->momentsRH = psVectorAllocEmpty(num, PS_TYPE_F32);
     133    det->kronFlux = psVectorAllocEmpty(num, PS_TYPE_F32);
     134    det->kronFluxErr = psVectorAllocEmpty(num, PS_TYPE_F32);
     135    det->kronFluxInner = psVectorAllocEmpty(num, PS_TYPE_F32);
     136    det->kronFluxOuter = psVectorAllocEmpty(num, PS_TYPE_F32);
     137    det->diffRP = psVectorAllocEmpty(num, PS_TYPE_F32);
     138    det->diffSnP = psVectorAllocEmpty(num, PS_TYPE_F32);
     139    det->diffRM = psVectorAllocEmpty(num, PS_TYPE_F32);
     140    det->diffSnM = psVectorAllocEmpty(num, PS_TYPE_F32);
     141    det->flags2 = psVectorAllocEmpty(num, PS_TYPE_U32);
     142    det->ippIdet = psVectorAllocEmpty(num, PS_TYPE_U32);
     143    det->nFrames = psVectorAllocEmpty(num, PS_TYPE_U16);
     144    det->padding = psVectorAllocEmpty(num, PS_TYPE_S16);
    96145    return det;
    97146}
    98 
    99147
    100148ppMopsDetections *ppMopsDetectionsRealloc(ppMopsDetections *det, long num)
     
    130178    det->nRatioMask = psVectorRealloc(det->nRatioMask, num);
    131179    det->nRatioAll = psVectorRealloc(det->nRatioAll, num);
    132 
     180    det->psfInstFlux = psVectorRealloc(det->psfInstFlux, num);
     181    det->psfInstFluxSig = psVectorRealloc(det->psfInstFluxSig, num);
     182    det->apMag = psVectorRealloc(det->apMag, num);
     183    det->apMagRadius = psVectorRealloc(det->apMagRadius, num);
     184    det->apMagRaw = psVectorRealloc(det->apMagRadius, num);
     185    det->apFlux = psVectorRealloc(det->apMagRadius, num);
     186    det->apFluxSig = psVectorRealloc(det->apMagRadius, num);
     187    det->peakFluxAsMag = psVectorRealloc(det->peakFluxAsMag, num);
     188    det->calPsfMag = psVectorRealloc(det->calPsfMag, num);
     189    det->calPsfMagSig = psVectorRealloc(det->calPsfMagSig, num);
     190    det->sky = psVectorRealloc(det->sky, num);
     191    det->skySig = psVectorRealloc(det->skySig, num);
     192    det->qualityPerfect = psVectorRealloc(det->qualityPerfect, num);
     193    det->momentsR1 = psVectorRealloc(det->momentsR1, num);
     194    det->momentsRH = psVectorRealloc(det->momentsRH, num);
     195    det->kronFlux = psVectorRealloc(det->kronFlux, num);
     196    det->kronFluxErr = psVectorRealloc(det->kronFluxErr, num);
     197    det->kronFluxInner = psVectorRealloc(det->kronFluxInner, num);
     198    det->kronFluxOuter = psVectorRealloc(det->kronFluxOuter, num);
     199    det->diffRP = psVectorRealloc(det->diffRP, num);
     200    det->diffSnP = psVectorRealloc(det->diffSnP, num);
     201    det->diffRM = psVectorRealloc(det->diffRM, num);
     202    det->diffSnM = psVectorRealloc(det->diffSnM, num);
     203    det->flags2 = psVectorRealloc(det->flags2, num);
     204    det->ippIdet = psVectorRealloc(det->ippIdet, num);
     205    det->nFrames = psVectorRealloc(det->nFrames, num);
     206    det->padding = psVectorRealloc(det->padding, num);
    133207    return det;
    134208}
    135 
    136209
    137210bool ppMopsDetectionsAdd(ppMopsDetections *det, float x, float y, double ra, double dec,
     
    141214                         float xxMoment, float xyMoment, float yyMoment,
    142215                         psU32 flags, psS64 diffSkyfileId, int naxis1, int naxis2,
    143                          int nPos, float fPos, float nRatioBad, float nRatioMask, float nRatioAll)
     216                         int nPos, float fPos, float nRatioBad, float nRatioMask, float nRatioAll,
     217                         float psfInstFlux, float psfInstFluxSig,
     218                         float apMag, float apMagRadius, float apMagRaw, float apFlux, float apFluxSig,
     219                         float peakFluxAsMag, float calPsfMag, float calPsfMagSig,
     220                         float sky, float skySig, float qualityPerfect,
     221                         float momentsR1, float momentsRH,
     222                         float kronFlux, float kronFluxErr, float kronFluxInner, float kronFluxOuter,
     223                         float diffRP, float diffSnP, float diffRM, float diffSnM,
     224                         psU32 flags2, psU32 ippIdet, psU16 nFrames, psS16 padding)
    144225{
    145226    psVectorAppend(det->x, x);
     
    173254    psVectorAppend(det->nRatioMask, nRatioMask);
    174255    psVectorAppend(det->nRatioAll, nRatioAll);
    175 
     256    psVectorAppend(det->psfInstFlux, psfInstFlux);
     257    psVectorAppend(det->psfInstFluxSig, psfInstFluxSig);
     258    psVectorAppend(det->apMag, apMag);
     259    psVectorAppend(det->apMagRadius, apMagRadius);
     260    psVectorAppend(det->apMagRaw, apMagRaw);
     261    psVectorAppend(det->apFlux, apFlux);
     262    psVectorAppend(det->apFluxSig, apFluxSig);
     263    psVectorAppend(det->peakFluxAsMag, peakFluxAsMag);
     264    psVectorAppend(det->calPsfMag, calPsfMag);
     265    psVectorAppend(det->calPsfMagSig, calPsfMagSig);
     266    psVectorAppend(det->sky, sky);
     267    psVectorAppend(det->skySig, skySig);
     268    psVectorAppend(det->qualityPerfect, qualityPerfect);
     269    psVectorAppend(det->momentsR1, momentsR1);
     270    psVectorAppend(det->momentsRH, momentsRH);
     271    psVectorAppend(det->kronFlux, kronFlux);
     272    psVectorAppend(det->kronFluxErr, kronFluxErr);
     273    psVectorAppend(det->kronFluxInner, kronFluxInner);
     274    psVectorAppend(det->kronFluxOuter, kronFluxOuter);
     275    psVectorAppend(det->diffRP, diffRP);
     276    psVectorAppend(det->diffSnP, diffSnP);
     277    psVectorAppend(det->diffRM, diffRM);
     278    psVectorAppend(det->diffSnM, diffSnM);
     279    psVectorAppend(det->flags2, flags2);
     280    psVectorAppend(det->ippIdet, ippIdet);
     281    psVectorAppend(det->nFrames, nFrames);
     282    psVectorAppend(det->padding, padding);
    176283    return true;
    177284}
    178 
    179285
    180286bool ppMopsDetectionsCopySingle(ppMopsDetections *target, const ppMopsDetections *source, long index)
     
    210316    psVectorAppend(target->nRatioMask, source->nRatioMask->data.F32[index]);
    211317    psVectorAppend(target->nRatioAll, source->nRatioAll->data.F32[index]);
     318    psVectorAppend(target->psfInstFlux, source->psfInstFlux->data.F32[index]);
     319    psVectorAppend(target->psfInstFluxSig, source->psfInstFluxSig->data.F32[index]);
     320    psVectorAppend(target->apMag, source->apMag->data.F32[index]);
     321    psVectorAppend(target->apMagRadius, source->apMagRadius->data.F32[index]);
     322    psVectorAppend(target->apMagRaw, source->apMagRaw->data.F32[index]);
     323    psVectorAppend(target->apFlux, source->apFlux->data.F32[index]);
     324    psVectorAppend(target->apFluxSig, source->apFluxSig->data.F32[index]);
     325    psVectorAppend(target->peakFluxAsMag, source->peakFluxAsMag->data.F32[index]);
     326    psVectorAppend(target->calPsfMag, source->calPsfMag->data.F32[index]);
     327    psVectorAppend(target->calPsfMagSig, source->calPsfMagSig->data.F32[index]);
     328    psVectorAppend(target->sky, source->sky->data.F32[index]);
     329    psVectorAppend(target->skySig, source->skySig->data.F32[index]);
     330    psVectorAppend(target->qualityPerfect, source->qualityPerfect->data.F32[index]);
     331    psVectorAppend(target->momentsR1, source->momentsR1->data.F32[index]);
     332    psVectorAppend(target->momentsRH, source->momentsRH->data.F32[index]);
     333    psVectorAppend(target->kronFlux, source->kronFlux->data.F32[index]);
     334    psVectorAppend(target->kronFluxErr, source->kronFluxErr->data.F32[index]);
     335    psVectorAppend(target->kronFluxInner, source->kronFluxInner->data.F32[index]);
     336    psVectorAppend(target->kronFluxOuter, source->kronFluxOuter->data.F32[index]);
     337    psVectorAppend(target->diffRP, source->diffRP->data.F32[index]);
     338    psVectorAppend(target->diffSnP, source->diffSnP->data.F32[index]);
     339    psVectorAppend(target->diffRM, source->diffRM->data.F32[index]);
     340    psVectorAppend(target->diffSnM, source->diffSnM->data.F32[index]);
     341    psVectorAppend(target->flags2, source->flags2->data.U32[index]);
     342    psVectorAppend(target->ippIdet, source->ippIdet->data.U32[index]);
     343    psVectorAppend(target->nFrames, source->nFrames->data.U16[index]);
     344    psVectorAppend(target->padding, source->padding->data.S16[index]);
    212345
    213346    target->num++;
     
    257390            det->nRatioMask->data.F32[num] = det->nRatioMask->data.F32[i];
    258391            det->nRatioAll->data.F32[num] = det->nRatioAll->data.F32[i];
     392            det->psfInstFlux->data.F32[num] = det->psfInstFlux->data.F32[i];
     393            det->psfInstFluxSig->data.F32[num] = det->psfInstFluxSig->data.F32[i];
     394            det->apMag->data.F32[num] = det->apMag->data.F32[i];
     395            det->apMagRadius->data.F32[num] = det->apMagRadius->data.F32[i];
     396            det->apMagRaw->data.F32[num] = det->apMagRaw->data.F32[i];
     397            det->apFlux->data.F32[num] = det->apFlux->data.F32[i];
     398            det->apFluxSig->data.F32[num] = det->apFluxSig->data.F32[i];
     399            det->peakFluxAsMag->data.F32[num] = det->peakFluxAsMag->data.F32[i];
     400            det->calPsfMag->data.F32[num] = det->calPsfMag->data.F32[i];
     401            det->calPsfMagSig->data.F32[num] = det->calPsfMagSig->data.F32[i];
     402            det->sky->data.F32[num] = det->sky->data.F32[i];
     403            det->skySig->data.F32[num] = det->skySig->data.F32[i];
     404            det->qualityPerfect->data.F32[num] = det->qualityPerfect->data.F32[i];
     405            det->momentsR1->data.F32[num] = det->momentsR1->data.F32[i];
     406            det->momentsRH->data.F32[num] = det->momentsRH->data.F32[i];
     407            det->kronFlux->data.F32[num] = det->kronFlux->data.F32[i];
     408            det->kronFluxErr->data.F32[num] = det->kronFluxErr->data.F32[i];
     409            det->kronFluxInner->data.F32[num] = det->kronFluxInner->data.F32[i];
     410            det->kronFluxOuter->data.F32[num] = det->kronFluxOuter->data.F32[i];
     411            det->diffRP->data.F32[num] = det->diffRP->data.F32[i];
     412            det->diffSnP->data.F32[num] = det->diffSnP->data.F32[i];
     413            det->diffRM->data.F32[num] = det->diffRM->data.F32[i];
     414            det->diffSnM->data.F32[num] = det->diffSnM->data.F32[i];
     415            det->flags2->data.U32[num] = det->flags2->data.U32[i];
     416            det->ippIdet->data.U32[num] = det->ippIdet->data.U32[i];
     417            det->nFrames->data.U16[num] = det->nFrames->data.U16[i];
     418            det->padding->data.S16[num] = det->padding->data.S16[i];
    259419            num++;
    260420        }
     
    291451    det->nRatioMask->n = num;
    292452    det->nRatioAll->n = num;
    293 
     453    det->psfInstFlux->n = num;
     454    det->psfInstFluxSig->n = num;
     455    det->apMag->n = num;
     456    det->apMagRadius->n = num;
     457    det->apMagRaw->n = num;
     458    det->apFlux->n = num;
     459    det->apFluxSig->n = num;
     460    det->peakFluxAsMag->n = num;
     461    det->calPsfMag->n = num;
     462    det->calPsfMagSig->n = num;
     463    det->sky->n = num;
     464    det->skySig->n = num;
     465    det->qualityPerfect->n = num;
     466    det->momentsR1->n = num;
     467    det->momentsRH->n = num;
     468    det->kronFlux->n = num;
     469    det->kronFluxErr->n = num;
     470    det->kronFluxInner->n = num;
     471    det->kronFluxOuter->n = num;
     472    det->diffRP->n = num;
     473    det->diffSnP->n = num;
     474    det->diffRM->n = num;
     475    det->diffSnM->n = num;
     476    det->flags2->n = num;
     477    det->ippIdet->n = num;
     478    det->nFrames->n = num;
     479    det->padding->n = num;
    294480    return true;
    295481}
    296 
  • trunk/ppTranslate/src/ppMopsRead.c

    r28623 r29556  
    116116            det->nRatioAll->data.F32[numGood] = psMetadataLookupF32(NULL, row, "DIFF_NRATIO_ALL");
    117117
     118            //Additions of 2010-10-25
     119            det->psfInstFlux->data.F32[numGood] = psMetadataLookupS32(NULL, row, "PSF_INST_FLUX");
     120            det->psfInstFluxSig->data.F32[numGood] = psMetadataLookupS32(NULL, row, "PSF_INST_FLUX_SIG");
     121            det->apMag->data.F32[numGood] = psMetadataLookupS32(NULL, row, "AP_MAG");
     122            det->apMagRaw->data.F32[numGood] = psMetadataLookupS32(NULL, row, "AP_MAG_RAW");
     123            det->apMagRadius->data.F32[numGood] = psMetadataLookupS32(NULL, row, "AP_MAG_RADIUS");
     124            det->apFlux->data.F32[numGood] = psMetadataLookupS32(NULL, row, "AP_FLUX");
     125            det->apFluxSig->data.F32[numGood] = psMetadataLookupS32(NULL, row, "AP_FLUX_SIG");
     126            det->peakFluxAsMag->data.F32[numGood] = psMetadataLookupS32(NULL, row, "PEAK_FLUX_AS_MAG");
     127            det->calPsfMag->data.F32[numGood] = psMetadataLookupS32(NULL, row, "CAL_PSF_MAG");
     128            det->calPsfMagSig->data.F32[numGood] = psMetadataLookupS32(NULL, row, "CAL_PSF_MAG_SIG");
     129            det->sky->data.F32[numGood] = psMetadataLookupS32(NULL, row, "SKY");
     130            det->skySig->data.F32[numGood] = psMetadataLookupS32(NULL, row, "SKY_SIGMA");
     131            det->qualityPerfect->data.F32[numGood] = psMetadataLookupF32(NULL, row, "PSF_QF_PERFECT");
     132            det->momentsR1->data.F32[numGood] = psMetadataLookupF32(NULL, row, "MOMENTS_R1");
     133            det->momentsRH->data.F32[numGood] = psMetadataLookupF32(NULL, row, "MOMENTS_RH");
     134            det->kronFlux->data.F32[numGood] = psMetadataLookupF32(NULL, row, "KRON_FLUX");
     135            det->kronFluxErr->data.F32[numGood] = psMetadataLookupF32(NULL, row, "KRON_FLUX_ERR");
     136            det->kronFluxInner->data.F32[numGood] = psMetadataLookupF32(NULL, row, "KRON_FLUX_INNER");
     137            det->kronFluxOuter->data.F32[numGood] = psMetadataLookupF32(NULL, row, "KRON_FLUX_OUTER");
     138            det->diffRP->data.F32[numGood] = psMetadataLookupF32(NULL, row, "DIFF_R_P");
     139            det->diffSnP->data.F32[numGood] = psMetadataLookupF32(NULL, row, "DIFF_SN_P");
     140            det->diffRM->data.F32[numGood] = psMetadataLookupF32(NULL, row, "DIFF_R_M");
     141            det->diffSnM->data.F32[numGood] = psMetadataLookupF32(NULL, row, "DIFF_SN_M");
     142            det->flags2->data.U32[numGood] = psMetadataLookupU32(NULL, row, "FLAGS2");
     143            det->ippIdet->data.U32[numGood] = psMetadataLookupU32(NULL, row, "IPP_IDET");
     144            det->nFrames->data.U16[numGood] = psMetadataLookupU16(NULL, row, "N_FRAMES");
     145            det->padding->data.S16[numGood] = psMetadataLookupS16(NULL, row, "PADDING");
     146
    118147            // Calculate error in RA, Dec
    119             double xErr = psMetadataLookupF64(NULL, row, "X_PSF_SIG");
    120             double yErr = psMetadataLookupF64(NULL, row, "Y_PSF_SIG");
    121             double scale = psMetadataLookupF64(NULL, row, "PLTSCALE");
    122             double angle = psMetadataLookupF64(NULL, row, "POSANGLE");
     148            double xErr = psMetadataLookupF64(NULL, row, "X_PSF_SIG"); //SC: Warning! Promotion of F32
     149            double yErr = psMetadataLookupF64(NULL, row, "Y_PSF_SIG"); //SC: Warning! Promotion of F32
     150            double scale = psMetadataLookupF64(NULL, row, "PLTSCALE"); //SC: Warning! Promotion of F32
     151            double angle = psMetadataLookupF64(NULL, row, "POSANGLE"); //SC: Warning! Promotion of F32
    123152
    124153            if (!isfinite(det->x->data.F32[numGood]) || !isfinite(det->y->data.F32[numGood]) ||
     
    181210        det->nRatioMask->n = numGood;
    182211        det->nRatioAll->n = numGood;
     212        det->psfInstFlux->n = numGood;
     213        det->psfInstFluxSig->n = numGood;
     214        det->apMag->n = numGood;
     215        det->apMagRaw->n = numGood;
     216        det->apMagRadius->n = numGood;
     217        det->apFlux->n = numGood;
     218        det->apFluxSig->n = numGood;
     219        det->peakFluxAsMag->n = numGood;
     220        det->calPsfMag->n = numGood;
     221        det->calPsfMagSig->n = numGood;
     222        det->sky->n = numGood;
     223        det->skySig->n = numGood;
     224        det->qualityPerfect->n = numGood;
     225        det->momentsR1->n = numGood;
     226        det->momentsRH->n = numGood;
     227        det->kronFlux->n = numGood;
     228        det->kronFluxErr->n = numGood;
     229        det->kronFluxInner->n = numGood;
     230        det->kronFluxOuter->n = numGood;
     231        det->diffRP->n = numGood;
     232        det->diffSnP->n = numGood;
     233        det->diffRM->n = numGood;
     234        det->diffSnM->n = numGood;
     235        det->flags2->n = numGood;
     236        det->ippIdet->n = numGood;
     237        det->nFrames->n = numGood;
     238        det->padding->n = numGood;
    183239
    184240        det->num = numGood;
Note: See TracChangeset for help on using the changeset viewer.