Index: trunk/Ohana/src/opihi/lib.data/starfuncs.c
===================================================================
--- trunk/Ohana/src/opihi/lib.data/starfuncs.c	(revision 20936)
+++ trunk/Ohana/src/opihi/lib.data/starfuncs.c	(revision 29938)
@@ -5,5 +5,5 @@
   double *ring;
   double x, y, x2, y2, xy, I, sky, FWHMx, FWHMy, value, mag, Sxy;
-  int i, j, n, Npix2, Nring, Nmax;
+  int i, j, n, Radius, Nring, Nmax;
   double Npts, gain, dsky2, dmag, peak, offset;
   char *string;
@@ -19,6 +19,6 @@
   Nborder = MIN (1000, Nborder);
   
-  Npix2 = (int)(0.5*Npix);
-  Npix = 2 * Npix2 + 1;
+  Radius = (int)(0.5*Npix);
+  Npix = 2 * Radius + 1;
   Nring = 4*Nborder*(Nborder + Npix);
   ALLOCATE (ring, double, Nring);
@@ -27,11 +27,11 @@
   n = 0;  
   for (j = 0; j < Nborder; j++) {
-    for (i = X - Npix2 - Nborder; i < X + Npix2 + Nborder + 1; i++, n+=2) {
-      ring[n]   = gfits_get_matrix_value (matrix, i, (int)(Y - Npix2 - j));
-      ring[n+1] = gfits_get_matrix_value (matrix, i, (int)(Y + Npix2 + j));
-    }
-    for (i = Y - Npix2; i < Y + Npix2 + 1; i++, n+=2) {
-      ring[n]   = gfits_get_matrix_value (matrix, (int)(X - Npix2 - j), i);
-      ring[n+1] = gfits_get_matrix_value (matrix, (int)(X + Npix2 + j), i);
+    for (i = X - Radius - Nborder; i < X + Radius + Nborder + 1; i++, n+=2) {
+      ring[n]   = gfits_get_matrix_value (matrix, i, (int)(Y - Radius - j));
+      ring[n+1] = gfits_get_matrix_value (matrix, i, (int)(Y + Radius + j));
+    }
+    for (i = Y - Radius; i < Y + Radius + 1; i++, n+=2) {
+      ring[n]   = gfits_get_matrix_value (matrix, (int)(X - Radius - j), i);
+      ring[n+1] = gfits_get_matrix_value (matrix, (int)(X + Radius + j), i);
     }
   }
@@ -50,6 +50,7 @@
   Npts = Nmax = 0;
   x = y = x2 = y2 = xy = I = 0;
-  for (i = X - Npix2; i < X + Npix2 + 1; i++) {
-    for (j = Y - Npix2; j < Y + Npix2 + 1; j++) {
+  for (i = X - Radius; i < X + Radius + 1; i++) {
+    for (j = Y - Radius; j < Y + Radius + 1; j++) {
+      if (hypot((i-X), (j-Y)) > Radius) continue;
       value = gfits_get_matrix_value (matrix, i, j);
       offset = value - sky;
@@ -92,4 +93,5 @@
   set_variable ("Zpk", peak);
   set_int_variable ("Nsat", Nmax);
+  set_int_variable ("Npts", Npts);
   
   gprint (GP_LOG, "%f %f %f %f %f %f %f %f\n", x, y, FWHMx, FWHMy, sky, I, mag, dmag);
