Index: trunk/psLib/src/imageops/psImageCovariance.c
===================================================================
--- trunk/psLib/src/imageops/psImageCovariance.c	(revision 24832)
+++ trunk/psLib/src/imageops/psImageCovariance.c	(revision 25994)
@@ -212,4 +212,27 @@
 }
 
+float psImageCovarianceFactorForAperture(const psKernel *covar, float radius)
+{
+    if (!covar) return 1.0;
+
+    float Sum = 0.0;
+
+    for (int y = covar->yMin; y <= covar->yMax; y++) {
+	if (y < -radius) continue;
+	if (y > +radius) continue;
+	for (int x = covar->xMin; x <= covar->xMax; x++) {
+	    if (x < -radius) continue;
+	    if (x > +radius) continue;
+
+	    if (hypot(x, y) > radius) continue;
+
+	    psAssert (isfinite(covar->kernel[y][x]), "invalid NAN in covariance matrix");
+	    Sum += covar->kernel[y][x];
+	}
+    }
+
+    return Sum;
+}
+
 psKernel *psImageCovarianceSum(const psArray *array)
 {
