Index: trunk/ppTranslate/src/ppMops.h
===================================================================
--- trunk/ppTranslate/src/ppMops.h	(revision 29555)
+++ trunk/ppTranslate/src/ppMops.h	(revision 29556)
@@ -13,19 +13,20 @@
 // Configuration data
 typedef struct {
-    psArray *input;                     // Input filenames
-    psString exp_name;                  // Exposure name
-    psS64 exp_id;                       // Exposure identifier
-    psS64 chip_id;                      // Chip stage identifier
-    psS64 cam_id;                       // Camera stage identifier
-    psS64 fake_id;                      // Fake stage identifier
-    psS64 warp_id;                      // Warp stage identifier
-    psS64 diff_id;                      // Diff stage identifier
-    bool positive;                      // Sense of subtraction, T=positive, F=negative
-    float zp, zpErr;                    // Magnitude zero point and error
-    float rmsAstrom;                    // Astrometric solution RMS
-    psString output;                    // Output filename
+  psArray *input;                     // Input filenames
+  psString exp_name;                  // Exposure name
+  psS64 exp_id;                       // Exposure identifier
+  psS64 chip_id;                      // Chip stage identifier
+  psS64 cam_id;                       // Camera stage identifier
+  psS64 fake_id;                      // Fake stage identifier
+  psS64 warp_id;                      // Warp stage identifier
+  psS64 diff_id;                      // Diff stage identifier
+  bool positive;                      // Sense of subtraction, T=positive, F=negative
+  float zp, zpErr;                    // Magnitude zero point and error
+  float rmsAstrom;                    // Astrometric solution RMS
+  psString output;                    // Output filename
 } ppMopsArguments;
 
 #if 0
+#warning "IS THERE ANYTHING TO BE MODIFIED HERE?"
 TTYPE19 = 'PSF_CHISQ'          / label for field  19
 TFORM19 = '1E      '           / data format of field: 4-byte REAL
@@ -58,33 +59,59 @@
 
 typedef struct {
-    psString raBoresight, decBoresight; // RA,Dec of telescope boresight
-    psString filter;                    // Filter for exposure
-    float airmass;                      // Airmass of exposure
-    float exptime;                      // Exposure time
-    double posangle;                    // Position angle
-    double alt, az;                     // Telescope altitude and azimuth
-    double mjd;                         // Modified Julian Date
-    float seeing;                       // Seeing of exposure
-    long num;                           // Number of detections
-    psVector *x, *y;                    // Image coordinates
-    psVector *ra, *dec;                 // Sky coordinates
-    psVector *raErr, *decErr;           // Error in sky coordinates
-    psVector *mag, *magErr;             // Magnitude and associated error
-    psVector *chi2, *dof;               // Chi^2 from fitting, with associated degrees of freedom
-    psVector *cr, *extended;            // Measures of CR-ness and extendedness
-    psVector *psfMajor, *psfMinor, *psfTheta; // PSF major and minor axes, and position angle
-    psVector *quality, *numPix;               // PSF quality factor and number of pixels
-    psVector *xxMoment, *xyMoment, *yyMoment; // Moments
-    psVector *flags;                    // psphot flags
-    psVector *diffSkyfileId;            // Identifier for source image
-    psVector *naxis1, *naxis2;          // Size of image
-    psVector *mask;                     // Mask for detections
-    psVector *nPos;                     // Number of positive pixels
-    psVector *fPos;                     // Fraction of positive flux
-    psVector *nRatioBad;                // Fraction of positive pixels to negative
-    psVector *nRatioMask;               // Fraction of positive pixels to masked
-    psVector *nRatioAll;                // Fraction of positive pixels to all
+  psString raBoresight, decBoresight; // RA,Dec of telescope boresight
+  psString filter;                    // Filter for exposure
+  float airmass;                      // Airmass of exposure
+  float exptime;                      // Exposure time
+  double posangle;                    // Position angle
+  double alt, az;                     // Telescope altitude and azimuth
+  double mjd;                         // Modified Julian Date
+  float seeing;                       // Seeing of exposure
+  long num;                           // Number of detections
+  psVector *x, *y;                    // Image coordinates
+  psVector *ra, *dec;                 // Sky coordinates
+  psVector *raErr, *decErr;           // Error in sky coordinates
+  psVector *mag, *magErr;             // Magnitude and associated error
+  psVector *chi2, *dof;               // Chi^2 from fitting, with associated degrees of freedom
+  psVector *cr, *extended;            // Measures of CR-ness and extendedness
+  psVector *psfMajor, *psfMinor, *psfTheta; // PSF major and minor axes, and position angle
+  psVector *quality, *numPix;               // PSF quality factor and number of pixels
+  psVector *xxMoment, *xyMoment, *yyMoment; // Moments
+  psVector *flags;                    // psphot flags
+  psVector *diffSkyfileId;            // Identifier for source image
+  psVector *naxis1, *naxis2;          // Size of image
+  psVector *mask;                     // Mask for detections
+  psVector *nPos;                     // Number of positive pixels
+  psVector *fPos;                     // Fraction of positive flux
+  psVector *nRatioBad;                // Fraction of positive pixels to negative
+  psVector *nRatioMask;               // Fraction of positive pixels to masked
+  psVector *nRatioAll;                // Fraction of positive pixels to all
+  psVector *psfInstFlux;              // PSF fit instrumental magnitude
+  psVector *psfInstFluxSig;           // Sigma of PSF instrumental magnitude
+  psVector *apMag;                    // Magnitude in standard aperture
+  psVector *apMagRadius;              // Radius used for aperture mags
+  psVector *apMagRaw;                 // Magnitude in real aperture
+  psVector *apFlux;                   // Instrumental flux in standard aperture
+  psVector *apFluxSig;                // Aperture flux error
+  psVector *peakFluxAsMag;            // Peak flux expressed as magnitude
+  psVector *calPsfMag;                // PSF Magnitude using supplied calibration
+  psVector *calPsfMagSig;             // Measured scatter of zero point calibration
+  psVector *sky;                      // Sky level
+  psVector *skySig;                   // Sigma of sky level
+  psVector *qualityPerfect;           // PSF coverage/quality factor (poor)
+  psVector *momentsR1;                // First radial moment
+  psVector *momentsRH;                // Half radial moment
+  psVector *kronFlux;                 // Kron Flux (in 2.5 R1)
+  psVector *kronFluxErr;              // Kron Flux Error
+  psVector *kronFluxInner;            // Kron Flux (in 1.0 R1)
+  psVector *kronFluxOuter;            // Kron Flux (in 4.0 R1)
+  psVector *diffRP;                   // Distance to positive match source
+  psVector *diffSnP;                  // Signal-to-noise of pos match src
+  psVector *diffRM;                   // Distance to negative match source
+  psVector *diffSnM;                  // Signal-to-noise of neg match src
+  psVector *flags2;                   // psphot flags (group 2)
+  psVector *ippIdet;                  // IPP detection identifier index
+  psVector *nFrames;                  // Number of frames overlapping source center
+  psVector *padding;                  // Padding
 } ppMopsDetections;
-
 
 ppMopsDetections *ppMopsDetectionsAlloc(long num);
@@ -95,5 +122,4 @@
 /// Purge the detections list of masked detections
 bool ppMopsDetectionsPurge(ppMopsDetections *detections);
-
 
 /// Read detections
Index: trunk/ppTranslate/src/ppMopsDetections.c
===================================================================
--- trunk/ppTranslate/src/ppMopsDetections.c	(revision 29555)
+++ trunk/ppTranslate/src/ppMopsDetections.c	(revision 29556)
@@ -2,8 +2,6 @@
 #include <config.h>
 #endif
-
 #include <stdio.h>
 #include <pslib.h>
-
 #include "ppMops.h"
 
@@ -43,5 +41,31 @@
     psFree(det->nRatioMask);
     psFree(det->nRatioAll);
-
+    psFree(det->psfInstFlux);
+    psFree(det->psfInstFluxSig);
+    psFree(det->apMag);
+    psFree(det->apMagRadius);
+    psFree(det->apMagRaw);
+    psFree(det->apFlux);
+    psFree(det->apFluxSig);
+    psFree(det->peakFluxAsMag);
+    psFree(det->calPsfMag);
+    psFree(det->calPsfMagSig);
+    psFree(det->sky);
+    psFree(det->skySig);
+    psFree(det->qualityPerfect);
+    psFree(det->momentsR1);
+    psFree(det->momentsRH);
+    psFree(det->kronFlux);
+    psFree(det->kronFluxErr);
+    psFree(det->kronFluxInner);
+    psFree(det->kronFluxOuter);
+    psFree(det->diffRP);
+    psFree(det->diffSnP);
+    psFree(det->diffRM);
+    psFree(det->diffSnM);
+    psFree(det->flags2);
+    psFree(det->ippIdet);
+    psFree(det->nFrames);
+    psFree(det->padding);
     return;
 }
@@ -51,5 +75,4 @@
     ppMopsDetections *det = psAlloc(sizeof(ppMopsDetections)); // Detections, to return
     psMemSetDeallocator(det, (psFreeFunc)mopsDetectionsFree);
-
     det->raBoresight = NULL;
     det->decBoresight = NULL;
@@ -93,8 +116,33 @@
     det->nRatioMask = psVectorAllocEmpty(num, PS_TYPE_F32);
     det->nRatioAll = psVectorAllocEmpty(num, PS_TYPE_F32);
-
+    det->psfInstFlux = psVectorAllocEmpty(num, PS_TYPE_F32);
+    det->psfInstFluxSig = psVectorAllocEmpty(num, PS_TYPE_F32);
+    det->apMag = psVectorAllocEmpty(num, PS_TYPE_F32);
+    det->apMagRadius  = psVectorAllocEmpty(num, PS_TYPE_F32);
+    det->apMagRaw = psVectorAllocEmpty(num, PS_TYPE_F32);
+    det->apFlux = psVectorAllocEmpty(num, PS_TYPE_F32);
+    det->apFluxSig = psVectorAllocEmpty(num, PS_TYPE_F32);
+    det->peakFluxAsMag = psVectorAllocEmpty(num, PS_TYPE_F32);
+    det->calPsfMag = psVectorAllocEmpty(num, PS_TYPE_F32);
+    det->calPsfMagSig = psVectorAllocEmpty(num, PS_TYPE_F32);
+    det->sky = psVectorAllocEmpty(num, PS_TYPE_F32);
+    det->skySig = psVectorAllocEmpty(num, PS_TYPE_F32);
+    det->qualityPerfect = psVectorAllocEmpty(num, PS_TYPE_F32);
+    det->momentsR1 = psVectorAllocEmpty(num, PS_TYPE_F32);
+    det->momentsRH = psVectorAllocEmpty(num, PS_TYPE_F32);
+    det->kronFlux = psVectorAllocEmpty(num, PS_TYPE_F32);
+    det->kronFluxErr = psVectorAllocEmpty(num, PS_TYPE_F32);
+    det->kronFluxInner = psVectorAllocEmpty(num, PS_TYPE_F32);
+    det->kronFluxOuter = psVectorAllocEmpty(num, PS_TYPE_F32);
+    det->diffRP = psVectorAllocEmpty(num, PS_TYPE_F32);
+    det->diffSnP = psVectorAllocEmpty(num, PS_TYPE_F32);
+    det->diffRM = psVectorAllocEmpty(num, PS_TYPE_F32);
+    det->diffSnM = psVectorAllocEmpty(num, PS_TYPE_F32);
+    det->flags2 = psVectorAllocEmpty(num, PS_TYPE_U32);
+    det->ippIdet = psVectorAllocEmpty(num, PS_TYPE_U32);
+    det->nFrames = psVectorAllocEmpty(num, PS_TYPE_U16);
+    det->padding = psVectorAllocEmpty(num, PS_TYPE_S16);
     return det;
 }
-
 
 ppMopsDetections *ppMopsDetectionsRealloc(ppMopsDetections *det, long num)
@@ -130,8 +178,33 @@
     det->nRatioMask = psVectorRealloc(det->nRatioMask, num);
     det->nRatioAll = psVectorRealloc(det->nRatioAll, num);
-
+    det->psfInstFlux = psVectorRealloc(det->psfInstFlux, num);
+    det->psfInstFluxSig = psVectorRealloc(det->psfInstFluxSig, num);
+    det->apMag = psVectorRealloc(det->apMag, num);
+    det->apMagRadius = psVectorRealloc(det->apMagRadius, num);
+    det->apMagRaw = psVectorRealloc(det->apMagRadius, num);
+    det->apFlux = psVectorRealloc(det->apMagRadius, num);
+    det->apFluxSig = psVectorRealloc(det->apMagRadius, num);
+    det->peakFluxAsMag = psVectorRealloc(det->peakFluxAsMag, num);
+    det->calPsfMag = psVectorRealloc(det->calPsfMag, num);
+    det->calPsfMagSig = psVectorRealloc(det->calPsfMagSig, num);
+    det->sky = psVectorRealloc(det->sky, num);
+    det->skySig = psVectorRealloc(det->skySig, num);
+    det->qualityPerfect = psVectorRealloc(det->qualityPerfect, num);
+    det->momentsR1 = psVectorRealloc(det->momentsR1, num);
+    det->momentsRH = psVectorRealloc(det->momentsRH, num);
+    det->kronFlux = psVectorRealloc(det->kronFlux, num);
+    det->kronFluxErr = psVectorRealloc(det->kronFluxErr, num);
+    det->kronFluxInner = psVectorRealloc(det->kronFluxInner, num);
+    det->kronFluxOuter = psVectorRealloc(det->kronFluxOuter, num);
+    det->diffRP = psVectorRealloc(det->diffRP, num);
+    det->diffSnP = psVectorRealloc(det->diffSnP, num);
+    det->diffRM = psVectorRealloc(det->diffRM, num);
+    det->diffSnM = psVectorRealloc(det->diffSnM, num);
+    det->flags2 = psVectorRealloc(det->flags2, num);
+    det->ippIdet = psVectorRealloc(det->ippIdet, num);
+    det->nFrames = psVectorRealloc(det->nFrames, num);
+    det->padding = psVectorRealloc(det->padding, num);
     return det;
 }
-
 
 bool ppMopsDetectionsAdd(ppMopsDetections *det, float x, float y, double ra, double dec,
@@ -141,5 +214,13 @@
                          float xxMoment, float xyMoment, float yyMoment,
                          psU32 flags, psS64 diffSkyfileId, int naxis1, int naxis2,
-                         int nPos, float fPos, float nRatioBad, float nRatioMask, float nRatioAll)
+                         int nPos, float fPos, float nRatioBad, float nRatioMask, float nRatioAll,
+			 float psfInstFlux, float psfInstFluxSig,
+			 float apMag, float apMagRadius, float apMagRaw, float apFlux, float apFluxSig,
+			 float peakFluxAsMag, float calPsfMag, float calPsfMagSig,
+			 float sky, float skySig, float qualityPerfect,
+			 float momentsR1, float momentsRH,
+			 float kronFlux, float kronFluxErr, float kronFluxInner, float kronFluxOuter,
+			 float diffRP, float diffSnP, float diffRM, float diffSnM,
+			 psU32 flags2, psU32 ippIdet, psU16 nFrames, psS16 padding)
 {
     psVectorAppend(det->x, x);
@@ -173,8 +254,33 @@
     psVectorAppend(det->nRatioMask, nRatioMask);
     psVectorAppend(det->nRatioAll, nRatioAll);
-
+    psVectorAppend(det->psfInstFlux, psfInstFlux);
+    psVectorAppend(det->psfInstFluxSig, psfInstFluxSig);
+    psVectorAppend(det->apMag, apMag);
+    psVectorAppend(det->apMagRadius, apMagRadius);
+    psVectorAppend(det->apMagRaw, apMagRaw);
+    psVectorAppend(det->apFlux, apFlux);
+    psVectorAppend(det->apFluxSig, apFluxSig);
+    psVectorAppend(det->peakFluxAsMag, peakFluxAsMag);
+    psVectorAppend(det->calPsfMag, calPsfMag);
+    psVectorAppend(det->calPsfMagSig, calPsfMagSig);
+    psVectorAppend(det->sky, sky);
+    psVectorAppend(det->skySig, skySig);
+    psVectorAppend(det->qualityPerfect, qualityPerfect);
+    psVectorAppend(det->momentsR1, momentsR1);
+    psVectorAppend(det->momentsRH, momentsRH);
+    psVectorAppend(det->kronFlux, kronFlux);
+    psVectorAppend(det->kronFluxErr, kronFluxErr);
+    psVectorAppend(det->kronFluxInner, kronFluxInner);
+    psVectorAppend(det->kronFluxOuter, kronFluxOuter);
+    psVectorAppend(det->diffRP, diffRP);
+    psVectorAppend(det->diffSnP, diffSnP);
+    psVectorAppend(det->diffRM, diffRM);
+    psVectorAppend(det->diffSnM, diffSnM);
+    psVectorAppend(det->flags2, flags2);
+    psVectorAppend(det->ippIdet, ippIdet);
+    psVectorAppend(det->nFrames, nFrames);
+    psVectorAppend(det->padding, padding);
     return true;
 }
-
 
 bool ppMopsDetectionsCopySingle(ppMopsDetections *target, const ppMopsDetections *source, long index)
@@ -210,4 +316,31 @@
     psVectorAppend(target->nRatioMask, source->nRatioMask->data.F32[index]);
     psVectorAppend(target->nRatioAll, source->nRatioAll->data.F32[index]);
+    psVectorAppend(target->psfInstFlux, source->psfInstFlux->data.F32[index]);
+    psVectorAppend(target->psfInstFluxSig, source->psfInstFluxSig->data.F32[index]);
+    psVectorAppend(target->apMag, source->apMag->data.F32[index]);
+    psVectorAppend(target->apMagRadius, source->apMagRadius->data.F32[index]);
+    psVectorAppend(target->apMagRaw, source->apMagRaw->data.F32[index]);
+    psVectorAppend(target->apFlux, source->apFlux->data.F32[index]);
+    psVectorAppend(target->apFluxSig, source->apFluxSig->data.F32[index]);
+    psVectorAppend(target->peakFluxAsMag, source->peakFluxAsMag->data.F32[index]);
+    psVectorAppend(target->calPsfMag, source->calPsfMag->data.F32[index]);
+    psVectorAppend(target->calPsfMagSig, source->calPsfMagSig->data.F32[index]);
+    psVectorAppend(target->sky, source->sky->data.F32[index]);
+    psVectorAppend(target->skySig, source->skySig->data.F32[index]);
+    psVectorAppend(target->qualityPerfect, source->qualityPerfect->data.F32[index]);
+    psVectorAppend(target->momentsR1, source->momentsR1->data.F32[index]);
+    psVectorAppend(target->momentsRH, source->momentsRH->data.F32[index]);
+    psVectorAppend(target->kronFlux, source->kronFlux->data.F32[index]);
+    psVectorAppend(target->kronFluxErr, source->kronFluxErr->data.F32[index]);
+    psVectorAppend(target->kronFluxInner, source->kronFluxInner->data.F32[index]);
+    psVectorAppend(target->kronFluxOuter, source->kronFluxOuter->data.F32[index]);
+    psVectorAppend(target->diffRP, source->diffRP->data.F32[index]);
+    psVectorAppend(target->diffSnP, source->diffSnP->data.F32[index]);
+    psVectorAppend(target->diffRM, source->diffRM->data.F32[index]);
+    psVectorAppend(target->diffSnM, source->diffSnM->data.F32[index]);
+    psVectorAppend(target->flags2, source->flags2->data.U32[index]);
+    psVectorAppend(target->ippIdet, source->ippIdet->data.U32[index]);
+    psVectorAppend(target->nFrames, source->nFrames->data.U16[index]);
+    psVectorAppend(target->padding, source->padding->data.S16[index]);
 
     target->num++;
@@ -257,4 +390,31 @@
             det->nRatioMask->data.F32[num] = det->nRatioMask->data.F32[i];
             det->nRatioAll->data.F32[num] = det->nRatioAll->data.F32[i];
+            det->psfInstFlux->data.F32[num] = det->psfInstFlux->data.F32[i];
+            det->psfInstFluxSig->data.F32[num] = det->psfInstFluxSig->data.F32[i];
+            det->apMag->data.F32[num] = det->apMag->data.F32[i];
+            det->apMagRadius->data.F32[num] = det->apMagRadius->data.F32[i];
+            det->apMagRaw->data.F32[num] = det->apMagRaw->data.F32[i];
+            det->apFlux->data.F32[num] = det->apFlux->data.F32[i];
+            det->apFluxSig->data.F32[num] = det->apFluxSig->data.F32[i];
+            det->peakFluxAsMag->data.F32[num] = det->peakFluxAsMag->data.F32[i];
+            det->calPsfMag->data.F32[num] = det->calPsfMag->data.F32[i];
+            det->calPsfMagSig->data.F32[num] = det->calPsfMagSig->data.F32[i];
+            det->sky->data.F32[num] = det->sky->data.F32[i];
+            det->skySig->data.F32[num] = det->skySig->data.F32[i];
+            det->qualityPerfect->data.F32[num] = det->qualityPerfect->data.F32[i];
+            det->momentsR1->data.F32[num] = det->momentsR1->data.F32[i];
+            det->momentsRH->data.F32[num] = det->momentsRH->data.F32[i];
+	    det->kronFlux->data.F32[num] = det->kronFlux->data.F32[i];
+	    det->kronFluxErr->data.F32[num] = det->kronFluxErr->data.F32[i];
+	    det->kronFluxInner->data.F32[num] = det->kronFluxInner->data.F32[i];
+	    det->kronFluxOuter->data.F32[num] = det->kronFluxOuter->data.F32[i];
+	    det->diffRP->data.F32[num] = det->diffRP->data.F32[i];
+	    det->diffSnP->data.F32[num] = det->diffSnP->data.F32[i];
+	    det->diffRM->data.F32[num] = det->diffRM->data.F32[i];
+	    det->diffSnM->data.F32[num] = det->diffSnM->data.F32[i];
+	    det->flags2->data.U32[num] = det->flags2->data.U32[i];
+	    det->ippIdet->data.U32[num] = det->ippIdet->data.U32[i];
+	    det->nFrames->data.U16[num] = det->nFrames->data.U16[i];
+	    det->padding->data.S16[num] = det->padding->data.S16[i];
             num++;
         }
@@ -291,6 +451,31 @@
     det->nRatioMask->n = num;
     det->nRatioAll->n = num;
-
+    det->psfInstFlux->n = num;
+    det->psfInstFluxSig->n = num;
+    det->apMag->n = num;
+    det->apMagRadius->n = num;
+    det->apMagRaw->n = num;
+    det->apFlux->n = num;
+    det->apFluxSig->n = num;
+    det->peakFluxAsMag->n = num;
+    det->calPsfMag->n = num;
+    det->calPsfMagSig->n = num;
+    det->sky->n = num;
+    det->skySig->n = num;
+    det->qualityPerfect->n = num;
+    det->momentsR1->n = num;
+    det->momentsRH->n = num;
+    det->kronFlux->n = num;
+    det->kronFluxErr->n = num;
+    det->kronFluxInner->n = num;
+    det->kronFluxOuter->n = num;
+    det->diffRP->n = num;
+    det->diffSnP->n = num;
+    det->diffRM->n = num;
+    det->diffSnM->n = num;
+    det->flags2->n = num;
+    det->ippIdet->n = num;
+    det->nFrames->n = num;
+    det->padding->n = num;
     return true;
 }
-
Index: trunk/ppTranslate/src/ppMopsRead.c
===================================================================
--- trunk/ppTranslate/src/ppMopsRead.c	(revision 29555)
+++ trunk/ppTranslate/src/ppMopsRead.c	(revision 29556)
@@ -116,9 +116,38 @@
             det->nRatioAll->data.F32[numGood] = psMetadataLookupF32(NULL, row, "DIFF_NRATIO_ALL");
 
+	    //Additions of 2010-10-25
+	    det->psfInstFlux->data.F32[numGood] = psMetadataLookupS32(NULL, row, "PSF_INST_FLUX");
+	    det->psfInstFluxSig->data.F32[numGood] = psMetadataLookupS32(NULL, row, "PSF_INST_FLUX_SIG");
+	    det->apMag->data.F32[numGood] = psMetadataLookupS32(NULL, row, "AP_MAG");
+	    det->apMagRaw->data.F32[numGood] = psMetadataLookupS32(NULL, row, "AP_MAG_RAW");
+	    det->apMagRadius->data.F32[numGood] = psMetadataLookupS32(NULL, row, "AP_MAG_RADIUS");
+	    det->apFlux->data.F32[numGood] = psMetadataLookupS32(NULL, row, "AP_FLUX");
+	    det->apFluxSig->data.F32[numGood] = psMetadataLookupS32(NULL, row, "AP_FLUX_SIG");
+	    det->peakFluxAsMag->data.F32[numGood] = psMetadataLookupS32(NULL, row, "PEAK_FLUX_AS_MAG");
+	    det->calPsfMag->data.F32[numGood] = psMetadataLookupS32(NULL, row, "CAL_PSF_MAG");
+	    det->calPsfMagSig->data.F32[numGood] = psMetadataLookupS32(NULL, row, "CAL_PSF_MAG_SIG");
+	    det->sky->data.F32[numGood] = psMetadataLookupS32(NULL, row, "SKY");
+	    det->skySig->data.F32[numGood] = psMetadataLookupS32(NULL, row, "SKY_SIGMA");
+            det->qualityPerfect->data.F32[numGood] = psMetadataLookupF32(NULL, row, "PSF_QF_PERFECT");
+            det->momentsR1->data.F32[numGood] = psMetadataLookupF32(NULL, row, "MOMENTS_R1");
+            det->momentsRH->data.F32[numGood] = psMetadataLookupF32(NULL, row, "MOMENTS_RH");
+            det->kronFlux->data.F32[numGood] = psMetadataLookupF32(NULL, row, "KRON_FLUX");
+            det->kronFluxErr->data.F32[numGood] = psMetadataLookupF32(NULL, row, "KRON_FLUX_ERR");
+            det->kronFluxInner->data.F32[numGood] = psMetadataLookupF32(NULL, row, "KRON_FLUX_INNER");
+            det->kronFluxOuter->data.F32[numGood] = psMetadataLookupF32(NULL, row, "KRON_FLUX_OUTER");
+            det->diffRP->data.F32[numGood] = psMetadataLookupF32(NULL, row, "DIFF_R_P");
+            det->diffSnP->data.F32[numGood] = psMetadataLookupF32(NULL, row, "DIFF_SN_P");
+            det->diffRM->data.F32[numGood] = psMetadataLookupF32(NULL, row, "DIFF_R_M");
+            det->diffSnM->data.F32[numGood] = psMetadataLookupF32(NULL, row, "DIFF_SN_M");
+            det->flags2->data.U32[numGood] = psMetadataLookupU32(NULL, row, "FLAGS2");
+            det->ippIdet->data.U32[numGood] = psMetadataLookupU32(NULL, row, "IPP_IDET");
+	    det->nFrames->data.U16[numGood] = psMetadataLookupU16(NULL, row, "N_FRAMES");
+	    det->padding->data.S16[numGood] = psMetadataLookupS16(NULL, row, "PADDING");
+
             // Calculate error in RA, Dec
-            double xErr = psMetadataLookupF64(NULL, row, "X_PSF_SIG");
-            double yErr = psMetadataLookupF64(NULL, row, "Y_PSF_SIG");
-            double scale = psMetadataLookupF64(NULL, row, "PLTSCALE");
-            double angle = psMetadataLookupF64(NULL, row, "POSANGLE");
+            double xErr = psMetadataLookupF64(NULL, row, "X_PSF_SIG"); //SC: Warning! Promotion of F32
+            double yErr = psMetadataLookupF64(NULL, row, "Y_PSF_SIG"); //SC: Warning! Promotion of F32
+            double scale = psMetadataLookupF64(NULL, row, "PLTSCALE"); //SC: Warning! Promotion of F32
+            double angle = psMetadataLookupF64(NULL, row, "POSANGLE"); //SC: Warning! Promotion of F32
 
             if (!isfinite(det->x->data.F32[numGood]) || !isfinite(det->y->data.F32[numGood]) ||
@@ -181,4 +210,31 @@
         det->nRatioMask->n = numGood;
         det->nRatioAll->n = numGood;
+	det->psfInstFlux->n = numGood;
+	det->psfInstFluxSig->n = numGood;
+	det->apMag->n = numGood;
+	det->apMagRaw->n = numGood;
+	det->apMagRadius->n = numGood;
+	det->apFlux->n = numGood;
+	det->apFluxSig->n = numGood;
+	det->peakFluxAsMag->n = numGood;
+	det->calPsfMag->n = numGood;
+	det->calPsfMagSig->n = numGood;
+	det->sky->n = numGood;
+	det->skySig->n = numGood;
+	det->qualityPerfect->n = numGood;
+	det->momentsR1->n = numGood;
+	det->momentsRH->n = numGood;
+	det->kronFlux->n = numGood;
+	det->kronFluxErr->n = numGood;
+	det->kronFluxInner->n = numGood;
+	det->kronFluxOuter->n = numGood;
+	det->diffRP->n = numGood;
+	det->diffSnP->n = numGood;
+	det->diffRM->n = numGood;
+	det->diffSnM->n = numGood;
+	det->flags2->n = numGood;
+	det->ippIdet->n = numGood;
+	det->nFrames->n = numGood;
+	det->padding->n = numGood;
 
         det->num = numGood;
