Index: trunk/psphot/src/models/pmModel_TEST1.c
===================================================================
--- trunk/psphot/src/models/pmModel_TEST1.c	(revision 15843)
+++ trunk/psphot/src/models/pmModel_TEST1.c	(revision 19881)
@@ -126,12 +126,23 @@
 {
     pmMoments *moments = source->moments;
+    pmPeak    *peak    = source->peak;
     psF32     *PAR  = model->params->data.F32;
 
+    psEllipseMoments emoments;
+    emoments.x2 = moments->Mxx;
+    emoments.y2 = moments->Myy;
+    emoments.xy = moments->Mxy;
+
+    // force the axis ratio to be < 20.0
+    psEllipseAxes axes = psEllipseMomentsToAxes (emoments, 20.0);
+    psEllipseShape shape = psEllipseAxesToShape (axes);
+
     PAR[PM_PAR_SKY] = moments->Sky;
-    PAR[PM_PAR_I0] = moments->Peak - moments->Sky;
-    PAR[PM_PAR_XPOS] = moments->x;
-    PAR[PM_PAR_YPOS] = moments->y;
-    PAR[PM_PAR_SXX] = PS_MAX(0.5, moments->Sx);
-    PAR[PM_PAR_SYY] = PS_MAX(0.5, moments->Sy);
+    PAR[PM_PAR_I0]   = peak->flux;
+    PAR[PM_PAR_XPOS] = peak->xf;
+    PAR[PM_PAR_YPOS] = peak->yf;
+    PAR[PM_PAR_SXX] = PS_MAX(0.5, M_SQRT2*shape.sx);
+    PAR[PM_PAR_SYY] = PS_MAX(0.5, M_SQRT2*shape.sy);
+    PAR[PM_PAR_SXY] = shape.sxy;
     PAR[PM_PAR_SXY] = 0.0;  // XXX we can get this right if we do the integral
 
