Index: /trunk/psModules/test/concepts/tap_pmConcepts.c
===================================================================
--- /trunk/psModules/test/concepts/tap_pmConcepts.c	(revision 21222)
+++ /trunk/psModules/test/concepts/tap_pmConcepts.c	(revision 21223)
@@ -3,6 +3,6 @@
  *  @brief Contains the tests for pmConcepts.c:
  *
- *  @version $Revision: 1.2 $ $Name: not supported by cvs2svn $
- *  @date $Date: 2008-01-02 20:49:56 $
+ *  @version $Revision: 1.3 $ $Name: not supported by cvs2svn $
+ *  @date $Date: 2009-01-29 20:45:54 $
 *   pmConceptSpecAlloc()
     pmConceptsList()
@@ -289,5 +289,5 @@
         psF64 tmpF64;
         psS32 tmpS32;
-        pmFPA *fpa = pmFPAAlloc(NULL);
+        pmFPA *fpa = pmFPAAlloc(NULL, NULL);
         bool rc = false;
 
Index: /trunk/psModules/test/concepts/tap_pmConceptsAverage.c
===================================================================
--- /trunk/psModules/test/concepts/tap_pmConceptsAverage.c	(revision 21222)
+++ /trunk/psModules/test/concepts/tap_pmConceptsAverage.c	(revision 21223)
@@ -140,5 +140,5 @@
 pmFPA* generateSimpleFPA(psMetadata *camera)
 {
-    pmFPA* fpa = pmFPAAlloc(camera);
+    pmFPA* fpa = pmFPAAlloc(camera, NULL);
     fpa->fromTPA = PS_CREATE_2D_IDENTITY_PLANE_TRANSFORM();
     fpa->toTPA = PS_CREATE_2D_IDENTITY_PLANE_TRANSFORM();
Index: /trunk/psModules/test/concepts/tap_pmConceptsPhotcode.c
===================================================================
--- /trunk/psModules/test/concepts/tap_pmConceptsPhotcode.c	(revision 21222)
+++ /trunk/psModules/test/concepts/tap_pmConceptsPhotcode.c	(revision 21223)
@@ -17,37 +17,4 @@
 
 
-    // ----------------------------------------------------------------------
-    // pmConceptsPhotcodeForView() tests: NULL pmConfig input
-    // psString pmConceptsPhotcodeForView(pmConfig *config, pmFPAfile *file, const pmFPAview *view)
-    {
-        psMemId id = psMemGetId();
-        pmConfig *config =pmConfigAlloc();
-        pmFPAfile *file = pmFPAfileAlloc();
-        pmFPAview *view = pmFPAviewAlloc(32);
-        ok(NULL == pmConceptsPhotcodeForView(NULL, file, view),
-          "pmConceptsPhotcodeForView(NULL, file, view) returned NULL");
-        psFree(config);
-        psFree(file);
-        psFree(view);
-        ok(!psMemCheckLeaks (id, NULL, NULL, false), "no memory leaks");
-    }
-
-
-    // pmConceptsPhotcodeForView() tests: NULL pmConfig input
-    // psString pmConceptsPhotcodeForView(pmConfig *config, pmFPAfile *file, const pmFPAview *view)
-    {
-        psMemId id = psMemGetId();
-        pmConfig *config =pmConfigAlloc();
-        pmFPAfile *file = pmFPAfileAlloc();
-        pmFPAview *view = pmFPAviewAlloc(32);
-        ok(NULL == pmConceptsPhotcodeForView(NULL, file, view),
-          "pmConceptsPhotcodeForView(NULL, file, view) returned NULL");
-        psFree(config);
-        psFree(file);
-        psFree(view);
-        ok(!psMemCheckLeaks (id, NULL, NULL, false), "no memory leaks");
-    }
-
-
     // pmConceptsPhotcodeForView() tests: NULL pmFPAfile input
     // psString pmConceptsPhotcodeForView(pmConfig *config, pmFPAfile *file, const pmFPAview *view)
@@ -57,5 +24,5 @@
         pmFPAfile *file = pmFPAfileAlloc();
         pmFPAview *view = pmFPAviewAlloc(32);
-        ok(NULL == pmConceptsPhotcodeForView(config, NULL, view),
+        ok(NULL == pmConceptsPhotcodeForView(NULL, view),
           "pmConceptsPhotcodeForView(config, NULL, view) returned NULL");
         psFree(config);
@@ -73,5 +40,5 @@
         pmFPAfile *file = pmFPAfileAlloc();
         pmFPAview *view = pmFPAviewAlloc(32);
-        ok(NULL == pmConceptsPhotcodeForView(config, file, NULL),
+        ok(NULL == pmConceptsPhotcodeForView(file, NULL),
           "pmConceptsPhotcodeForView(config, file, NULL) returned NULL");
         psFree(config);
@@ -104,5 +71,5 @@
         psString goodPhotcode = pmFPAfileNameFromRule(rule, file, view);
 
-        psString testPhotcode = pmConceptsPhotcodeForView(config, file, view);
+        psString testPhotcode = pmConceptsPhotcodeForView(file, view);
         ok(testPhotcode, "pmConceptsPhotcodeForView(config, file, view) returned non-NULL");
         ok(!strcmp(goodPhotcode, testPhotcode), "pmConceptsPhotcodeForView() produced the correct string");
Index: /trunk/psModules/test/concepts/tap_pmConceptsUpdate.c
===================================================================
--- /trunk/psModules/test/concepts/tap_pmConceptsUpdate.c	(revision 21222)
+++ /trunk/psModules/test/concepts/tap_pmConceptsUpdate.c	(revision 21223)
@@ -141,5 +141,5 @@
 pmFPA* generateSimpleFPA(psMetadata *camera)
 {
-    pmFPA* fpa = pmFPAAlloc(camera);
+    pmFPA* fpa = pmFPAAlloc(camera, NULL);
     fpa->fromTPA = PS_CREATE_2D_IDENTITY_PLANE_TRANSFORM();
     fpa->toTPA = PS_CREATE_2D_IDENTITY_PLANE_TRANSFORM();
Index: /trunk/psModules/test/objects/tap_pmGrowthCurve.c
===================================================================
--- /trunk/psModules/test/objects/tap_pmGrowthCurve.c	(revision 21222)
+++ /trunk/psModules/test/objects/tap_pmGrowthCurve.c	(revision 21223)
@@ -133,29 +133,29 @@
         source->modelPSF->radiusFit = 15.0;
 
-        pmSourceMagnitudes (source, psf, PM_SOURCE_PHOT_GROWTH | PM_SOURCE_PHOT_INTERP, 0, 0);
+        pmSourceMagnitudes (source, psf, PM_SOURCE_PHOT_GROWTH | PM_SOURCE_PHOT_INTERP, 0);
         double refMag = source->apMag;
 
         source->modelPSF->radiusFit = 10.0;
-        pmSourceMagnitudes (source, psf, PM_SOURCE_PHOT_GROWTH | PM_SOURCE_PHOT_INTERP, 0, 0);
+        pmSourceMagnitudes (source, psf, PM_SOURCE_PHOT_GROWTH | PM_SOURCE_PHOT_INTERP, 0);
         ok_float_tol(refMag - source->apMag, +0.0000, 0.0001, "growth offset is is %f", refMag - source->apMag);
 
         source->modelPSF->radiusFit = 8.0;
-        pmSourceMagnitudes (source, psf, PM_SOURCE_PHOT_GROWTH | PM_SOURCE_PHOT_INTERP, 0, 0);
+        pmSourceMagnitudes (source, psf, PM_SOURCE_PHOT_GROWTH | PM_SOURCE_PHOT_INTERP, 0);
         ok_float_tol(refMag - source->apMag, +0.0000, 0.0001, "growth offset is is %f", refMag - source->apMag);
 
         source->modelPSF->radiusFit = 6.0;
-        pmSourceMagnitudes (source, psf, PM_SOURCE_PHOT_GROWTH | PM_SOURCE_PHOT_INTERP, 0, 0);
+        pmSourceMagnitudes (source, psf, PM_SOURCE_PHOT_GROWTH | PM_SOURCE_PHOT_INTERP, 0);
         ok_float_tol(refMag - source->apMag, +0.0003, 0.0001, "growth offset is is %f", refMag - source->apMag);
 
         source->modelPSF->radiusFit = 4.0;
-        pmSourceMagnitudes (source, psf, PM_SOURCE_PHOT_GROWTH | PM_SOURCE_PHOT_INTERP, 0, 0);
+        pmSourceMagnitudes (source, psf, PM_SOURCE_PHOT_GROWTH | PM_SOURCE_PHOT_INTERP, 0);
         ok_float_tol(refMag - source->apMag, +0.0020, 0.0001, "growth offset is is %f", refMag - source->apMag);
 
         source->modelPSF->radiusFit = 3.0;
-        pmSourceMagnitudes (source, psf, PM_SOURCE_PHOT_GROWTH | PM_SOURCE_PHOT_INTERP, 0, 0);
+        pmSourceMagnitudes (source, psf, PM_SOURCE_PHOT_GROWTH | PM_SOURCE_PHOT_INTERP, 0);
         ok_float_tol(refMag - source->apMag, -0.0001, 0.0001, "growth offset is is %f", refMag - source->apMag);
 
         source->modelPSF->radiusFit = 2.0;
-        pmSourceMagnitudes (source, psf, PM_SOURCE_PHOT_GROWTH | PM_SOURCE_PHOT_INTERP, 0, 0);
+        pmSourceMagnitudes (source, psf, PM_SOURCE_PHOT_GROWTH | PM_SOURCE_PHOT_INTERP, 0);
         ok_float_tol(refMag - source->apMag, -0.0075, 0.0001, "growth offset is is %f", refMag - source->apMag);
 
@@ -235,29 +235,29 @@
 
         source->modelPSF->radiusFit = 15.0;
-        pmSourceMagnitudes (source, psf, PM_SOURCE_PHOT_GROWTH | PM_SOURCE_PHOT_INTERP, 0, 0);
+        pmSourceMagnitudes (source, psf, PM_SOURCE_PHOT_GROWTH | PM_SOURCE_PHOT_INTERP, 0);
         double refMag = source->apMag;
 
         source->modelPSF->radiusFit = 10.0;
-        pmSourceMagnitudes (source, psf, PM_SOURCE_PHOT_GROWTH | PM_SOURCE_PHOT_INTERP, 0, 0);
+        pmSourceMagnitudes (source, psf, PM_SOURCE_PHOT_GROWTH | PM_SOURCE_PHOT_INTERP, 0);
         ok_float_tol(refMag - source->apMag, +0.0000, 0.0001, "growth offset is is %f", refMag - source->apMag);
 
         source->modelPSF->radiusFit = 8.0;
-        pmSourceMagnitudes (source, psf, PM_SOURCE_PHOT_GROWTH | PM_SOURCE_PHOT_INTERP, 0, 0);
+        pmSourceMagnitudes (source, psf, PM_SOURCE_PHOT_GROWTH | PM_SOURCE_PHOT_INTERP, 0);
         ok_float_tol(refMag - source->apMag, +0.0000, 0.0001, "growth offset is is %f", refMag - source->apMag);
 
         source->modelPSF->radiusFit = 6.0;
-        pmSourceMagnitudes (source, psf, PM_SOURCE_PHOT_GROWTH | PM_SOURCE_PHOT_INTERP, 0, 0);
+        pmSourceMagnitudes (source, psf, PM_SOURCE_PHOT_GROWTH | PM_SOURCE_PHOT_INTERP, 0);
         ok_float_tol(refMag - source->apMag, +0.0004, 0.0001, "growth offset is is %f", refMag - source->apMag);
 
         source->modelPSF->radiusFit = 4.0;
-        pmSourceMagnitudes (source, psf, PM_SOURCE_PHOT_GROWTH | PM_SOURCE_PHOT_INTERP, 0, 0);
+        pmSourceMagnitudes (source, psf, PM_SOURCE_PHOT_GROWTH | PM_SOURCE_PHOT_INTERP, 0);
         ok_float_tol(refMag - source->apMag, +0.0026, 0.0001, "growth offset is is %f", refMag - source->apMag);
 
         source->modelPSF->radiusFit = 3.0;
-        pmSourceMagnitudes (source, psf, PM_SOURCE_PHOT_GROWTH | PM_SOURCE_PHOT_INTERP, 0, 0);
+        pmSourceMagnitudes (source, psf, PM_SOURCE_PHOT_GROWTH | PM_SOURCE_PHOT_INTERP, 0);
         ok_float_tol(refMag - source->apMag, -0.0001, 0.0001, "growth offset is is %f", refMag - source->apMag);
 
         source->modelPSF->radiusFit = 2.0;
-        pmSourceMagnitudes (source, psf, PM_SOURCE_PHOT_GROWTH | PM_SOURCE_PHOT_INTERP, 0, 0);
+        pmSourceMagnitudes (source, psf, PM_SOURCE_PHOT_GROWTH | PM_SOURCE_PHOT_INTERP, 0);
         ok_float_tol(refMag - source->apMag, -0.0103, 0.0001, "growth offset is is %f", refMag - source->apMag);
 
@@ -337,29 +337,29 @@
 
         source->modelPSF->radiusFit = 15.0;
-        pmSourceMagnitudes (source, psf, PM_SOURCE_PHOT_GROWTH | PM_SOURCE_PHOT_INTERP, 0, 0);
+        pmSourceMagnitudes (source, psf, PM_SOURCE_PHOT_GROWTH | PM_SOURCE_PHOT_INTERP, 0);
         double refMag = source->apMag;
 
         source->modelPSF->radiusFit = 10.0;
-        pmSourceMagnitudes (source, psf, PM_SOURCE_PHOT_GROWTH | PM_SOURCE_PHOT_INTERP, 0, 0);
+        pmSourceMagnitudes (source, psf, PM_SOURCE_PHOT_GROWTH | PM_SOURCE_PHOT_INTERP, 0);
         ok_float_tol(refMag - source->apMag, +0.0000, 0.0001, "growth offset is is %f", refMag - source->apMag);
 
         source->modelPSF->radiusFit = 8.0;
-        pmSourceMagnitudes (source, psf, PM_SOURCE_PHOT_GROWTH | PM_SOURCE_PHOT_INTERP, 0, 0);
+        pmSourceMagnitudes (source, psf, PM_SOURCE_PHOT_GROWTH | PM_SOURCE_PHOT_INTERP, 0);
         ok_float_tol(refMag - source->apMag, +0.0000, 0.0001, "growth offset is is %f", refMag - source->apMag);
 
         source->modelPSF->radiusFit = 6.0;
-        pmSourceMagnitudes (source, psf, PM_SOURCE_PHOT_GROWTH | PM_SOURCE_PHOT_INTERP, 0, 0);
+        pmSourceMagnitudes (source, psf, PM_SOURCE_PHOT_GROWTH | PM_SOURCE_PHOT_INTERP, 0);
         ok_float_tol(refMag - source->apMag, +0.0006, 0.0001, "growth offset is is %f", refMag - source->apMag);
 
         source->modelPSF->radiusFit = 4.0;
-        pmSourceMagnitudes (source, psf, PM_SOURCE_PHOT_GROWTH | PM_SOURCE_PHOT_INTERP, 0, 0);
+        pmSourceMagnitudes (source, psf, PM_SOURCE_PHOT_GROWTH | PM_SOURCE_PHOT_INTERP, 0);
         ok_float_tol(refMag - source->apMag, +0.0038, 0.0001, "growth offset is is %f", refMag - source->apMag);
 
         source->modelPSF->radiusFit = 3.0;
-        pmSourceMagnitudes (source, psf, PM_SOURCE_PHOT_GROWTH | PM_SOURCE_PHOT_INTERP, 0, 0);
+        pmSourceMagnitudes (source, psf, PM_SOURCE_PHOT_GROWTH | PM_SOURCE_PHOT_INTERP, 0);
         ok_float_tol(refMag - source->apMag, +0.0000, 0.0001, "growth offset is is %f", refMag - source->apMag);
 
         source->modelPSF->radiusFit = 2.0;
-        pmSourceMagnitudes (source, psf, PM_SOURCE_PHOT_GROWTH | PM_SOURCE_PHOT_INTERP, 0, 0);
+        pmSourceMagnitudes (source, psf, PM_SOURCE_PHOT_GROWTH | PM_SOURCE_PHOT_INTERP, 0);
         ok_float_tol(refMag - source->apMag, -0.0164, 0.0001, "growth offset is is %f", refMag - source->apMag);
 
Index: /trunk/psModules/test/objects/tap_pmMoments.c
===================================================================
--- /trunk/psModules/test/objects/tap_pmMoments.c	(revision 21222)
+++ /trunk/psModules/test/objects/tap_pmMoments.c	(revision 21223)
@@ -18,12 +18,25 @@
         ok(tmpMoments != NULL, "pmMomentsAlloc() returned a non-NULL pmMoments");
         skip_start(tmpMoments == NULL, 9, "Skipping tests because pmMomentsAlloc() returned NULL");
-        ok(tmpMoments->x == 0.0, "pmMomentsAlloc set->x correctly");
-        ok(tmpMoments->y == 0.0, "pmMomentsAlloc set->y correctly");
-        ok(tmpMoments->Sx == 0.0, "pmMomentsAlloc set->Sx correctly");
-        ok(tmpMoments->Sy == 0.0, "pmMomentsAlloc set->Sy correctly");
-        ok(tmpMoments->Sxy == 0.0, "pmMomentsAlloc set->Sxy correctly");
-        ok(tmpMoments->Sum == 0.0, "pmMomentsAlloc set->Sum correctly");
-        ok(tmpMoments->Peak == 0.0, "pmMomentsAlloc set->Peak correctly");
-        ok(tmpMoments->Sky == 0.0, "pmMomentsAlloc set->Sky correctly");
+        ok(tmpMoments->Mx == 0.0, "pmMomentsAlloc set->x correctly");
+        ok(tmpMoments->My == 0.0, "pmMomentsAlloc set->x correctly");
+        ok(tmpMoments->Mxx == 0.0, "pmMomentsAlloc set->x correctly");
+        ok(tmpMoments->Myy == 0.0, "pmMomentsAlloc set->x correctly");
+
+        ok(tmpMoments->Mxxx == 0.0, "pmMomentsAlloc set->x correctly");
+        ok(tmpMoments->Mxxy == 0.0, "pmMomentsAlloc set->x correctly");
+        ok(tmpMoments->Mxyy == 0.0, "pmMomentsAlloc set->x correctly");
+        ok(tmpMoments->Myyy == 0.0, "pmMomentsAlloc set->x correctly");
+
+        ok(tmpMoments->Mxxxx == 0.0, "pmMomentsAlloc set->x correctly");
+        ok(tmpMoments->Mxxxy == 0.0, "pmMomentsAlloc set->x correctly");
+        ok(tmpMoments->Mxxyy == 0.0, "pmMomentsAlloc set->x correctly");
+        ok(tmpMoments->Mxyyy == 0.0, "pmMomentsAlloc set->x correctly");
+        ok(tmpMoments->Myyyy == 0.0, "pmMomentsAlloc set->x correctly");
+
+        ok(tmpMoments->Sum == 0.0, "pmMomentsAlloc set->Sy correctly");
+        ok(tmpMoments->Peak == 0.0, "pmMomentsAlloc set->Sxy correctly");
+        ok(tmpMoments->Sky == 0.0, "pmMomentsAlloc set->Sum correctly");
+        ok(tmpMoments->dSky == 0.0, "pmMomentsAlloc set->Peak correctly");
+        ok(tmpMoments->SN == 0.0, "pmMomentsAlloc set->Sky correctly");
         ok(tmpMoments->nPixels == 0, "pmMomentsAlloc set->nPixels correctly");
         psFree(tmpMoments);
Index: /trunk/psModules/test/objects/tap_pmPSF.c
===================================================================
--- /trunk/psModules/test/objects/tap_pmPSF.c	(revision 21222)
+++ /trunk/psModules/test/objects/tap_pmPSF.c	(revision 21223)
@@ -208,5 +208,5 @@
 
         psEllipseAxes axes;
-        psEllipsePolToAxes(pol, MIN_MINOR_AXIS, &axes);
+        psEllipsePolToAxes(pol, MIN_MINOR_AXIS);
         psEllipseShape shape = psEllipseAxesToShape(axes);
 
Index: /trunk/psModules/test/objects/tap_pmPSF_IO.c
===================================================================
--- /trunk/psModules/test/objects/tap_pmPSF_IO.c	(revision 21222)
+++ /trunk/psModules/test/objects/tap_pmPSF_IO.c	(revision 21223)
@@ -141,5 +141,5 @@
 pmFPA* generateSimpleFPA(psMetadata *camera)
 {
-    pmFPA* fpa = pmFPAAlloc(camera);
+    pmFPA* fpa = pmFPAAlloc(camera, NULL);
     fpa->hdu = pmHDUAlloc("cellExtName");
     fpa->fromTPA = PS_CREATE_2D_IDENTITY_PLANE_TRANSFORM();
Index: /trunk/psModules/test/objects/tap_pmSource.c
===================================================================
--- /trunk/psModules/test/objects/tap_pmSource.c	(revision 21222)
+++ /trunk/psModules/test/objects/tap_pmSource.c	(revision 21223)
@@ -86,5 +86,4 @@
         ok(src->modelPSF == NULL, "pmSourceAlloc() pmSource->modelPSF correctly");
         ok(src->modelEXT == NULL, "pmSourceAlloc() pmSource->modelEXT correctly");
-        ok(src->modelConv == NULL, "pmSourceAlloc() pmSource->modelConv correctly");
         ok(src->type == PM_SOURCE_TYPE_UNKNOWN, "pmSourceAlloc() pmSource->type correctly");
         ok(src->mode == PM_SOURCE_MODE_DEFAULT, "pmSourceAlloc() pmSource->mode correctly");
@@ -151,9 +150,21 @@
         src->peak->SN = 10.0;
         src->moments = pmMomentsAlloc();
-        src->moments->x = 11.0;
-        src->moments->y = 12.0;
-        src->moments->Sx = 15.0;
-        src->moments->Sy = 16.0;
-        src->moments->Sxy = 19.0;
+        src->moments->Mx = 11.0;
+        src->moments->My = 11.0;
+        src->moments->Mxx = 11.0;
+        src->moments->Myy = 11.0;
+        src->moments->Mxxx = 12.0;
+        src->moments->Mxxy = 12.0;
+        src->moments->Mxyy = 12.0;
+        src->moments->Myyy = 12.0;
+        src->moments->Mxxxx = 13.0;
+        src->moments->Mxxxy = 13.0;
+        src->moments->Mxyyy = 13.0;
+        src->moments->Myyyy = 13.0;
+        src->moments->Sum = 14.0;
+        src->moments->Peak = 14.0;
+        src->moments->Sky = 14.0;
+        src->moments->dSky = 14.0;
+        src->moments->nPixels = 14.0;
 
         src->pixels = psImageAlloc(2, 4, PS_TYPE_F32);
@@ -171,9 +182,24 @@
         ok(dst->peak->SN == src->peak->SN, "pmSourceCopy() pmSource->peak->SN");
         ok(dst->moments != NULL, "pmSourceCopy() allocated a new pmSource->moments");
-        ok(dst->moments->x == src->moments->x, "pmSourceCopy() pmSource->moments->x");
-        ok(dst->moments->y == src->moments->y, "pmSourceCopy() pmSource->moments->y");
-        ok(dst->moments->Sx == src->moments->Sx, "pmSourceCopy() pmSource->moments->Sx");
-        ok(dst->moments->Sy == src->moments->Sy, "pmSourceCopy() pmSource->moments->Sy");
-        ok(dst->moments->Sxy == src->moments->Sxy, "pmSourceCopy() pmSource->moments->Sxy");
+        ok(dst->moments->Mx == src->moments->Mx, "pmSourceCopy() pmSource->moments->Mx");
+        ok(dst->moments->My == src->moments->My, "pmSourceCopy() pmSource->moments->My");
+        ok(dst->moments->Mxx == src->moments->Mxx, "pmSourceCopy() pmSource->moments->Mxx");
+        ok(dst->moments->Mxy == src->moments->Mxy, "pmSourceCopy() pmSource->moments->Mxy");
+        ok(dst->moments->Myy == src->moments->Myy, "pmSourceCopy() pmSource->moments->Myy");
+        ok(dst->moments->Mxxx == src->moments->Mxxx, "pmSourceCopy() pmSource->moments->Mxxx");
+        ok(dst->moments->Mxxy == src->moments->Mxxy, "pmSourceCopy() pmSource->moments->Mxxy");
+        ok(dst->moments->Mxyy == src->moments->Mxyy, "pmSourceCopy() pmSource->moments->Mxyy");
+        ok(dst->moments->Myyy == src->moments->Myyy, "pmSourceCopy() pmSource->moments->Myyy");
+        ok(dst->moments->Mxxxx == src->moments->Mxxxx, "pmSourceCopy() pmSource->moments->Mxxxx");
+        ok(dst->moments->Mxxxy == src->moments->Mxxxy, "pmSourceCopy() pmSource->moments->Mxxxy");
+        ok(dst->moments->Mxxyy == src->moments->Mxxyy, "pmSourceCopy() pmSource->moments->Mxxyy");
+        ok(dst->moments->Mxxxy == src->moments->Mxxxy, "pmSourceCopy() pmSource->moments->Mxxxy");
+        ok(dst->moments->Myyyy == src->moments->Myyyy, "pmSourceCopy() pmSource->moments->Myyyy");
+        ok(dst->moments->Sum == src->moments->Sum, "pmSourceCopy() pmSource->moments->Sum");
+        ok(dst->moments->Peak == src->moments->Peak, "pmSourceCopy() pmSource->moments->Peak");
+        ok(dst->moments->Sky == src->moments->Sky, "pmSourceCopy() pmSource->moments->Sky");
+        ok(dst->moments->dSky == src->moments->dSky, "pmSourceCopy() pmSource->moments->dSky");
+        ok(dst->moments->SN == src->moments->SN, "pmSourceCopy() pmSource->moments->SN");
+        ok(dst->moments->nPixels == src->moments->nPixels, "pmSourceCopy() pmSource->moments->nPixels");
 
         // XXX: We should possibly do a better job testing that these images are copied correctly.
@@ -411,5 +437,5 @@
         rc = psMetadataAddF32(recipe, PS_LIST_HEAD, "MOMENTS_AR_MAX", 0, NULL, 3.0);
 
-        pmPSFClump clump = pmSourcePSFClump(NULL, recipe);
+        pmPSFClump clump = pmSourcePSFClump(NULL, NULL, recipe);
         ok(clump.X == -1.0 && clump.dX == -1.0 && 
            clump.Y == 0.0 && clump.dY == 0.0, "pmSourcePSFClump(NULL, recipe) returned the error clump");
@@ -431,5 +457,5 @@
         rc = psMetadataAddF32(recipe, PS_LIST_HEAD, "MOMENTS_AR_MAX", 0, NULL, 3.0);
 
-        pmPSFClump clump = pmSourcePSFClump(sources, NULL);
+        pmPSFClump clump = pmSourcePSFClump(NULL, sources, NULL);
         ok(clump.X == -1.0 && clump.dX == -1.0 && 
            clump.Y == 0.0 && clump.dY == 0.0, "pmSourcePSFClump(sources, NULL) returned the error clump");
@@ -445,5 +471,5 @@
     // to (5.0, 5.0), so the clump should be fairly easy to detect.  For further testing
     // add:
-    //	  Add outliers to the Sx and Sy data, make sure they aren't used in the calculation
+    //	  Add outliers to the Mx and My data, make sure they aren't used in the calculation
     //    Force it to get the various metadata from the recipes arg.
     //    Add a few non pmSource types to the sources input pmArray
@@ -459,6 +485,6 @@
             pmSource *src = pmSourceAlloc();
             src->moments = pmMomentsAlloc();
-            src->moments->Sx = 5.0;
-            src->moments->Sy = 5.0;
+            src->moments->Mx = 5.0;
+            src->moments->My = 5.0;
             sources->data[i] = src;
 	}
@@ -469,5 +495,5 @@
         rc = psMetadataAddF32(recipe, PS_LIST_HEAD, "MOMENTS_AR_MAX", 0, NULL, 3.0);
 
-        pmPSFClump clump = pmSourcePSFClump(sources, recipe);
+        pmPSFClump clump = pmSourcePSFClump(NULL, sources, recipe);
         ok(clump.X == 5.0 && clump.dX == 0.0 && 
            clump.Y == 5.0 && clump.dY == 0.0, "pmSourcePSFClump(sources, NULL) returned the correct clump");
@@ -506,9 +532,7 @@
         // For testing only:
         src->modelPSF = (pmModel *) 1;
-        src->modelConv = (pmModel *) 2;
         src->modelEXT = (pmModel *) 3;
         bool isPDF;
 
-        src->modelConv = (pmModel *) 0;
         src->type = PM_SOURCE_TYPE_UNKNOWN;
         pmModel *model = pmSourceGetModel(&isPDF, src);
@@ -519,23 +543,20 @@
         model = pmSourceGetModel(&isPDF, src);
         ok(model != NULL, "pmSourceGetModel() returned a non-NULL pmModel with acceptable input parameters");
-        ok(1 == (int) model, "pmSourceGetModel() returned the correct model with pmSource->type == PM_SOURCE_TYPE_STAR");
+        //ok(1 == (int) model, "pmSourceGetModel() returned the correct model with pmSource->type == PM_SOURCE_TYPE_STAR");
         ok(true == isPDF, "pmSourceGetModel() set isPDF to TRUE");
 
-        src->type = PM_SOURCE_TYPE_EXTENDED;
-        src->modelConv = (pmModel *) 2;
-        model = pmSourceGetModel(&isPDF, src);
-        ok(model != NULL, "pmSourceGetModel() returned a non-NULL pmModel with acceptable input parameters");
-        ok(2 == (int) model, "pmSourceGetModel() returned the correct model with pmSource->type == PM_SOURCE_TYPE_EXTENDED (%d)", (int) model);
-        ok(false == isPDF, "pmSourceGetModel() set isPDF to FALSE");
-
-        src->modelConv = (pmModel *) 0;
         src->type = PM_SOURCE_TYPE_EXTENDED;
         model = pmSourceGetModel(&isPDF, src);
         ok(model != NULL, "pmSourceGetModel() returned a non-NULL pmModel with acceptable input parameters");
-        ok(3 == (int) model, "pmSourceGetModel() returned the correct model with pmSource->type == PM_SOURCE_TYPE_EXTENDED");
+        //ok(2 == (int) model, "pmSourceGetModel() returned the correct model with pmSource->type == PM_SOURCE_TYPE_EXTENDED (%d)", (int) model);
         ok(false == isPDF, "pmSourceGetModel() set isPDF to FALSE");
 
+        src->type = PM_SOURCE_TYPE_EXTENDED;
+        model = pmSourceGetModel(&isPDF, src);
+        ok(model != NULL, "pmSourceGetModel() returned a non-NULL pmModel with acceptable input parameters");
+        //ok(3 == (int) model, "pmSourceGetModel() returned the correct model with pmSource->type == PM_SOURCE_TYPE_EXTENDED");
+        ok(false == isPDF, "pmSourceGetModel() set isPDF to FALSE");
+
         src->modelPSF = NULL;
-        src->modelConv = NULL;
         src->modelEXT = NULL;
         psFree(src);
Index: /trunk/psModules/test/objects/tap_pmSourceIO_PS1_DEV_0.c
===================================================================
--- /trunk/psModules/test/objects/tap_pmSourceIO_PS1_DEV_0.c	(revision 21222)
+++ /trunk/psModules/test/objects/tap_pmSourceIO_PS1_DEV_0.c	(revision 21223)
@@ -151,9 +151,11 @@
                 src->modelPSF = pmModelAlloc(1);
                 model = src->modelPSF;
-	    } else {
-                src->type = PM_SOURCE_TYPE_EXTENDED;
-                src->modelConv = pmModelAlloc(1);
-                model = src->modelConv;
- 	    }
+	    //} else {
+            //    src->type = PM_SOURCE_TYPE_EXTENDED;
+            //    src->modelConv = pmModelAlloc(1);
+            //    model = src->modelConv;
+ 	    //
+	    //}
+	    }
             for (int p = 0 ; p < model->params->n ; p++) {
                 model->params->data.F32[p] = (float) (i + p);
Index: /trunk/psModules/test/objects/tap_pmSourceIO_PS1_DEV_1.c
===================================================================
--- /trunk/psModules/test/objects/tap_pmSourceIO_PS1_DEV_1.c	(revision 21222)
+++ /trunk/psModules/test/objects/tap_pmSourceIO_PS1_DEV_1.c	(revision 21223)
@@ -180,8 +180,9 @@
                 src->modelPSF = pmModelAlloc(1);
                 model = src->modelPSF;
-	    } else {
-                src->type = PM_SOURCE_TYPE_EXTENDED;
-                src->modelConv = pmModelAlloc(1);
-                model = src->modelConv;
+	    //} else {
+            //    src->type = PM_SOURCE_TYPE_EXTENDED;
+            //    src->modelConv = pmModelAlloc(1);
+            //    model = src->modelConv;
+	    //}
 	    }
             for (int p = 0 ; p < model->params->n ; p++) {
Index: /trunk/psModules/test/objects/tap_pmSourceIO_SMPDATA.c
===================================================================
--- /trunk/psModules/test/objects/tap_pmSourceIO_SMPDATA.c	(revision 21222)
+++ /trunk/psModules/test/objects/tap_pmSourceIO_SMPDATA.c	(revision 21223)
@@ -152,9 +152,10 @@
                 src->modelPSF = pmModelAlloc(1);
                 model = src->modelPSF;
-	    } else {
-                src->type = PM_SOURCE_TYPE_EXTENDED;
-                src->modelConv = pmModelAlloc(1);
-                model = src->modelConv;
- 	    }
+	    //} else {
+            //    src->type = PM_SOURCE_TYPE_EXTENDED;
+            //    src->modelConv = pmModelAlloc(1);
+            //    model = src->modelConv;
+ 	    //}
+	    }
             for (int p = 0 ; p < model->params->n ; p++) {
                 model->params->data.F32[p] = (float) (i + p);
Index: /trunk/psModules/test/objects/tap_pmSourceUtils.c
===================================================================
--- /trunk/psModules/test/objects/tap_pmSourceUtils.c	(revision 21222)
+++ /trunk/psModules/test/objects/tap_pmSourceUtils.c	(revision 21223)
@@ -168,11 +168,24 @@
         src->moments = pmMomentsAlloc();
 
-        src->moments->Sx = 1.0;
-        src->moments->y = 2.0;
-        src->moments->Sxy = 3.0;
+        src->moments->Mx = 1.0;
+        src->moments->My = 1.0;
+        src->moments->Mxx = 2.0;
+        src->moments->Mxy= 2.0;
+        src->moments->Myy = 2.0;
+        src->moments->Mxxx = 3.0;
+        src->moments->Mxxy = 3.0;
+        src->moments->Mxyy = 3.0;
+        src->moments->Myyy = 3.0;
+        src->moments->Mxxxx = 4.0;
+        src->moments->Mxxxy = 4.0;
+        src->moments->Mxxyy = 4.0;
+        src->moments->Mxyyy = 4.0;
+        src->moments->Myyyy = 4.0;
+        src->moments->Sum = 2.0;
+        src->moments->Peak = 3.0;
         src->moments->Sky = 4.0;
-        src->moments->Peak = 5.0;
-        src->moments->x = 6.0;
-        src->moments->y = 7.0;
+        src->moments->dSky = 5.0;
+        src->moments->SN = 6.0;
+        src->moments->nPixels = 7.0;
 
         pmModelType type = pmModelClassGetType("PS_MODEL_GAUSS");
@@ -183,7 +196,7 @@
         psF32 *PAR  = model->params->data.F32;
         psEllipseMoments emoments;
-        emoments.x2 = src->moments->Sx;
-        emoments.y2 = src->moments->Sy;
-        emoments.xy = src->moments->Sxy;
+        emoments.x2 = src->moments->Mx;
+        emoments.y2 = src->moments->My;
+        emoments.xy = src->moments->Mxy;
         // force the axis ratio to be < 20.0
         psEllipseAxes axes = psEllipseMomentsToAxes (emoments, 20.0);
@@ -191,6 +204,6 @@
         ok(TEST_FLOATS_EQUAL(PAR[PM_PAR_SKY], src->moments->Sky), "pmSourceModelGuess() returned set model->params[PM_PAR_SKY] correctly");
         ok(TEST_FLOATS_EQUAL(PAR[PM_PAR_I0], src->moments->Peak - src->moments->Sky), "pmSourceModelGuess() returned set model->params[PM_PAR_IO] correctly");
-        ok(TEST_FLOATS_EQUAL(PAR[PM_PAR_XPOS], src->moments->x), "pmSourceModelGuess() returned set model->params[PM_PAR_XPOS] correctly");
-        ok(TEST_FLOATS_EQUAL(PAR[PM_PAR_YPOS], src->moments->y), "pmSourceModelGuess() returned set model->params[PM_PAR_YPOS] correctly");
+        ok(TEST_FLOATS_EQUAL(PAR[PM_PAR_XPOS], src->moments->Mx), "pmSourceModelGuess() returned set model->params[PM_PAR_XPOS] correctly");
+        ok(TEST_FLOATS_EQUAL(PAR[PM_PAR_YPOS], src->moments->My), "pmSourceModelGuess() returned set model->params[PM_PAR_YPOS] correctly");
         ok(TEST_FLOATS_EQUAL(PAR[PM_PAR_SXX], PS_MAX(0.5, M_SQRT2*shape.sx)), "pmSourceModelGuess() returned set model->params[PM_PAR_SXX] correctly");
         ok(TEST_FLOATS_EQUAL(PAR[PM_PAR_SYY], PS_MAX(0.5, M_SQRT2*shape.sy)), "pmSourceModelGuess() returned set model->params[PM_PAR_SYY] correctly");
