Index: trunk/psModules/src/objects/pmPCMdata.c
===================================================================
--- trunk/psModules/src/objects/pmPCMdata.c	(revision 34854)
+++ trunk/psModules/src/objects/pmPCMdata.c	(revision 35768)
@@ -291,13 +291,10 @@
     psAssert (modelPSF, "psf model must be defined");
     
-    psEllipseShape shape;
     psEllipseAxes axes;
-
-    shape.sx  = modelPSF->params->data.F32[PM_PAR_SXX];
-    shape.sy  = modelPSF->params->data.F32[PM_PAR_SYY];
-    shape.sxy = modelPSF->params->data.F32[PM_PAR_SXY];
-    axes = psEllipseShapeToAxes (shape, 20.0);
+    bool useReff = pmModelUseReff (modelPSF->type);
+    psF32 *PAR = modelPSF->params->data.F32;
+    pmModelParamsToAxes (&axes, PAR[PM_PAR_SXX], PAR[PM_PAR_SXY], PAR[PM_PAR_SYY], useReff);
     
-    float FWHM_MAJOR = 2*modelPSF->modelRadius (modelPSF->params, 0.5*modelPSF->params->data.F32[PM_PAR_I0]);
+    float FWHM_MAJOR = 2*modelPSF->modelRadius (modelPSF->params, 0.5*PAR[PM_PAR_I0]);
     float FWHM_MINOR = FWHM_MAJOR * (axes.minor / axes.major);
 
@@ -451,13 +448,10 @@
 	psAssert (modelPSF, "psf model must be defined");
     
-	psEllipseShape shape;
 	psEllipseAxes axes;
-
-	shape.sx  = modelPSF->params->data.F32[PM_PAR_SXX];
-	shape.sy  = modelPSF->params->data.F32[PM_PAR_SYY];
-	shape.sxy = modelPSF->params->data.F32[PM_PAR_SXY];
-	axes = psEllipseShapeToAxes (shape, 20.0);
+	bool useReff = pmModelUseReff (modelPSF->type);
+	psF32 *PAR = modelPSF->params->data.F32;
+	pmModelParamsToAxes (&axes, PAR[PM_PAR_SXX], PAR[PM_PAR_SXY], PAR[PM_PAR_SYY], useReff);
     
-	float FWHM_MAJOR = 2*modelPSF->modelRadius (modelPSF->params, 0.5*modelPSF->params->data.F32[PM_PAR_I0]);
+	float FWHM_MAJOR = 2*modelPSF->modelRadius (modelPSF->params, 0.5*PAR[PM_PAR_I0]);
 	float FWHM_MINOR = FWHM_MAJOR * (axes.minor / axes.major);
 
