Index: trunk/psphot/src/psphotGuessModels.c
===================================================================
--- trunk/psphot/src/psphotGuessModels.c	(revision 34404)
+++ trunk/psphot/src/psphotGuessModels.c	(revision 35769)
@@ -29,4 +29,6 @@
 }
 
+int NpixTotal = 0;
+
 // construct an initial PSF model for each object (new sources only)
 bool psphotGuessModelsReadout (pmConfig *config, const pmFPAview *view, const char *filerule, int index) {
@@ -86,4 +88,6 @@
 
     psArray *cellGroups = psphotAssignSources (Cx, Cy, sources);
+
+    NpixTotal = 0;
 
     for (int i = 0; i < cellGroups->n; i++) {
@@ -103,9 +107,18 @@
             PS_ARRAY_ADD_SCALAR(job->args, markVal,  PS_TYPE_IMAGE_MASK);
 
+# if (1)
             if (!psThreadJobAddPending(job)) {
                 psError(PS_ERR_UNKNOWN, false, "Unable to guess model.");
                 return false;
             }
-        }
+# else
+            if (!psphotGuessModel_Threaded(job)) {
+                psError(PS_ERR_UNKNOWN, false, "Unable to guess model.");
+                return false;
+            }
+	    psFree(job);
+# endif
+        }
+
 
         // wait for the threads to finish and manage results
@@ -143,5 +156,5 @@
     psFree (cellGroups);
 
-    psLogMsg ("psphot.models", PS_LOG_WARN, "built models for %ld objects: %f sec\n", sources->n, psTimerMark ("psphot.models"));
+    psLogMsg ("psphot.models", PS_LOG_WARN, "built models for %ld objects: %f sec (%d pixels)\n", sources->n, psTimerMark ("psphot.models"), NpixTotal);
     return true;
 }
@@ -240,4 +253,5 @@
 
         pmSourceCacheModel (source, maskVal);  // ALLOC x14 (!)
+	NpixTotal += source->pixels->numCols * source->pixels->numRows;
     }
 
