Index: trunk/psModules/src/objects/pmSource.c
===================================================================
--- trunk/psModules/src/objects/pmSource.c	(revision 14529)
+++ trunk/psModules/src/objects/pmSource.c	(revision 14652)
@@ -6,6 +6,6 @@
  *  @author EAM, IfA: significant modifications.
  *
- *  @version $Revision: 1.34 $ $Name: not supported by cvs2svn $
- *  @date $Date: 2007-08-16 18:33:00 $
+ *  @version $Revision: 1.35 $ $Name: not supported by cvs2svn $
+ *  @date $Date: 2007-08-24 00:11:02 $
  *
  *  Copyright 2004 Maui High Performance Computing Center, University of Hawaii
@@ -27,4 +27,6 @@
 #include "pmMoments.h"
 #include "pmResiduals.h"
+#include "pmGrowthCurve.h"
+#include "pmPSF.h"
 #include "pmModel.h"
 #include "pmSource.h"
@@ -113,5 +115,5 @@
 }
 
-bool pmIsSource(const psPtr ptr)
+bool pmSourceTest(const psPtr ptr)
 {
     return (psMemGetDeallocator(ptr) == (psFreeFunc)sourceFree);
@@ -337,5 +339,5 @@
             return emptyClump;
         }
-        peaks = pmFindImagePeaks (splane, stats[0].max / 2);
+        peaks = pmPeaksInImage (splane, stats[0].max / 2);
         psTrace ("psModules.objects", 2, "clump threshold is %f\n", stats[0].max/2);
 
@@ -797,5 +799,5 @@
 
 // should we call pmSourceCacheModel if it does not exist?
-bool pmSourceOp (pmSource *source, pmModelOpMode mode, bool add, psMaskType maskVal) {
+bool pmSourceOp (pmSource *source, pmModelOpMode mode, bool add, psMaskType maskVal, int dx, int dy) {
 
     bool status;
@@ -856,8 +858,9 @@
         target = source->weight;
     }
+
     if (add) {
-        status = pmModelAdd (target, source->maskObj, model, PM_MODEL_OP_FULL, maskVal);
+        status = pmModelAddWithOffset (target, source->maskObj, model, PM_MODEL_OP_FULL, maskVal, dx, dy);
     } else {
-        status = pmModelSub (target, source->maskObj, model, PM_MODEL_OP_FULL, maskVal);
+        status = pmModelSubWithOffset (target, source->maskObj, model, PM_MODEL_OP_FULL, maskVal, dx, dy);
     }
 
@@ -866,9 +869,17 @@
 
 bool pmSourceAdd (pmSource *source, pmModelOpMode mode, psMaskType maskVal) {
-    return pmSourceOp (source, mode, true, maskVal);
+    return pmSourceOp (source, mode, true, maskVal, 0, 0);
 }
 
 bool pmSourceSub (pmSource *source, pmModelOpMode mode, psMaskType maskVal) {
-    return pmSourceOp (source, mode, false, maskVal);
+    return pmSourceOp (source, mode, false, maskVal, 0, 0);
+}
+
+bool pmSourceAddWithOffset (pmSource *source, pmModelOpMode mode, psMaskType maskVal, int dx, int dy) {
+    return pmSourceOp (source, mode, true, maskVal, dx, dy);
+}
+
+bool pmSourceSubWithOffset (pmSource *source, pmModelOpMode mode, psMaskType maskVal, int dx, int dy) {
+    return pmSourceOp (source, mode, false, maskVal, dx, dy);
 }
 
