Index: trunk/psphot/src/psphotApResid.c
===================================================================
--- trunk/psphot/src/psphotApResid.c	(revision 9890)
+++ trunk/psphot/src/psphotApResid.c	(revision 9993)
@@ -28,5 +28,10 @@
     // this is the smallest radius allowed: need to at least extend growth curve down to this...
     float PSF_FIT_PAD   = psMetadataLookupF32 (&status, recipe, "PSF_FIT_PADDING");
-    bool  IGNORE_GROWTH = psMetadataLookupBool (&status, recipe, "IGNORE_GROWTH");
+    bool IGNORE_GROWTH = psMetadataLookupBool (&status, recipe, "IGNORE_GROWTH");
+    bool INTERPOLATE_AP = psMetadataLookupBool (&status, recipe, "INTERPOLATE_AP");
+
+    pmSourcePhotometryMode photMode = 0;
+    if (!IGNORE_GROWTH) photMode |= PM_SOURCE_PHOT_GROWTH;
+    if (INTERPOLATE_AP) photMode |= PM_SOURCE_PHOT_INTERP;
 
     // set limits on the aperture magnitudes
@@ -48,4 +53,7 @@
     Npsf = 0;
 
+    // XXX test dump
+    FILE *f = fopen ("apresid.dat", "w");
+
     // select all good PM_SOURCE_TYPE_STAR entries
     for (int i = 0; i < sources->n; i++) {
@@ -61,5 +69,5 @@
         // get growth-corrected, apTrend-uncorrected magnitudes in scaled apertures
         // will fail if below S/N threshold or model is missing
-        if (!pmSourceMagnitudes (source, psf, PM_SOURCE_PHOT_GROWTH)) {
+        if (!pmSourceMagnitudes (source, psf, photMode)) {
             Nskip ++;
             continue;
@@ -88,4 +96,9 @@
         dMag->data.F64[Npsf] = model->dparams->data.F32[PM_PAR_I0] / model->params->data.F32[PM_PAR_I0];
 
+	fprintf (f, "%d %f %f   %f %f   %f %f %f %f\n", i, 
+		 xPos->data.F64[Npsf], yPos->data.F64[Npsf], 
+		 flux->data.F64[Npsf], r2rflux->data.F64[Npsf], 
+		 source->apMag, source->psfMag, apResid->data.F64[Npsf],dMag->data.F64[Npsf]);
+
         psVectorExtend (mask,    100, 1);
         psVectorExtend (xPos,    100, 1);
@@ -99,4 +112,6 @@
     psLogMsg ("psphot.apresid", 4, "measure aperture residuals : %f sec for %d objects (%d skipped, %d failed, %ld invalid)\n",
               psTimerMark ("psphot"), Npsf, Nskip, Nfail, sources->n - Npsf - Nskip - Nfail);
+
+    fclose (f);
 
     // XXX choose a better value here?
