Index: trunk/psphot/src/psphotEllipticalContour.c
===================================================================
--- trunk/psphot/src/psphotEllipticalContour.c	(revision 25755)
+++ trunk/psphot/src/psphotEllipticalContour.c	(revision 27819)
@@ -7,5 +7,10 @@
 bool psphotEllipticalContour (pmSource *source) {
 
-    pmSourceRadialProfile *profile = source->extpars->profile;
+    psAssert (source, "missing source");
+    psAssert (source->extpars, "missing extpars");
+    psAssert (source->extpars->radFlux, "missing radFlux");
+
+    pmSourceRadialFlux *profile = source->extpars->radFlux;
+    pmSourceExtendedPars *extpars = source->extpars;
 
     // use LMM to fit theta vs radius to an ellipse
@@ -85,20 +90,20 @@
     /// XXX rationalize? if epsilon > 1, flip major and minor axes (rotate by 90 degrees)
     if (params->data.F32[PAR_EPSILON] < 1.0) {
-	profile->axes.major = params->data.F32[PAR_RMIN] / params->data.F32[PAR_EPSILON];
-	profile->axes.minor = params->data.F32[PAR_RMIN];
-	profile->axes.theta = params->data.F32[PAR_PHI];
+	extpars->axes.major = params->data.F32[PAR_RMIN] / params->data.F32[PAR_EPSILON];
+	extpars->axes.minor = params->data.F32[PAR_RMIN];
+	extpars->axes.theta = params->data.F32[PAR_PHI];
     } else {
-	profile->axes.major = params->data.F32[PAR_RMIN];
-	profile->axes.minor = params->data.F32[PAR_RMIN] / params->data.F32[PAR_EPSILON];
-	profile->axes.theta = params->data.F32[PAR_PHI] + 0.5*M_PI;
+	extpars->axes.major = params->data.F32[PAR_RMIN];
+	extpars->axes.minor = params->data.F32[PAR_RMIN] / params->data.F32[PAR_EPSILON];
+	extpars->axes.theta = params->data.F32[PAR_PHI] + 0.5*M_PI;
     }
 
     psTrace ("psphot", 4, "# fitted values:\n");
-    psTrace ("psphot", 4, "Phi:   %f\n", profile->axes.theta*PS_DEG_RAD);
-    psTrace ("psphot", 4, "Rmaj:  %f\n", profile->axes.major);
-    psTrace ("psphot", 4, "Rmin:  %f\n", profile->axes.minor);
+    psTrace ("psphot", 4, "Phi:   %f\n", extpars->axes.theta*PS_DEG_RAD);
+    psTrace ("psphot", 4, "Rmaj:  %f\n", extpars->axes.major);
+    psTrace ("psphot", 4, "Rmin:  %f\n", extpars->axes.minor);
     
     // show the results
-    // psphotPetrosianVisualEllipticalContour (petrosian);
+    // psphotPetrosianVisualEllipticalContour (profile, extpars);
 
     psFree (x);
