Index: /branches/eam_branches/ipp-20230313/Ohana/src/opihi/cmd.data/Makefile
===================================================================
--- /branches/eam_branches/ipp-20230313/Ohana/src/opihi/cmd.data/Makefile	(revision 42437)
+++ /branches/eam_branches/ipp-20230313/Ohana/src/opihi/cmd.data/Makefile	(revision 42438)
@@ -80,4 +80,5 @@
 $(SRC)/imresample.$(ARCH).o	\
 $(SRC)/imcollapse.$(ARCH).o	\
+$(SRC)/impoints.$(ARCH).o	\
 $(SRC)/integrate.$(ARCH).o	\
 $(SRC)/interpolate.$(ARCH).o	\
Index: /branches/eam_branches/ipp-20230313/Ohana/src/opihi/cmd.data/impoints.c
===================================================================
--- /branches/eam_branches/ipp-20230313/Ohana/src/opihi/cmd.data/impoints.c	(revision 42438)
+++ /branches/eam_branches/ipp-20230313/Ohana/src/opihi/cmd.data/impoints.c	(revision 42438)
@@ -0,0 +1,47 @@
+# include "data.h"
+
+// insert the vector values into the image
+int impoints (int argc, char **argv) {
+  
+  Vector *vecx = NULL, *vecy = NULL, *vecf = NULL;
+  Buffer *buff;
+
+  if (argc < 4) {
+    gprint (GP_ERR, "USAGE: impoints (buffer) <xvec> <yvec> [fvec]\n");
+    gprint (GP_ERR, " inserts the points in the image, using the value in fvec if supplied (else 1)\n");
+    return (FALSE);
+  }
+
+  if ((buff = SelectBuffer (argv[1], OLDBUFFER, TRUE)) == NULL) return (FALSE);
+  if ((vecx = SelectVector (argv[2], OLDVECTOR, TRUE)) == NULL) return (FALSE);
+  if ((vecy = SelectVector (argv[3], OLDVECTOR, TRUE)) == NULL) return (FALSE);
+
+  // require vecx and vecy to be same length and floats
+
+
+  if (argc == 5) {
+      if ((vecf = SelectVector (argv[4], OLDVECTOR, TRUE)) == NULL) return (FALSE);
+  }
+
+  float *image = (float *) buff[0].matrix.buffer;
+  int Nx = buff[0].matrix.Naxis[0];
+  int Ny = buff[0].matrix.Naxis[1];
+
+  for (int i = 0; i < vecx->Nelements; i++) {
+
+      int ix = vecx->elements.Flt[i];
+      int iy = vecy->elements.Flt[i];
+
+      if (ix < 0) continue;
+      if (iy < 0) continue;
+      if (ix >= Nx) continue;
+      if (iy >= Ny) continue;
+
+      if (vecf) {
+	  image[ix + iy*Nx] += vecf->elements.Flt[i];
+      } else {
+	  image[ix + iy*Nx] ++;
+      }
+  }
+  return (TRUE);
+}
Index: /branches/eam_branches/ipp-20230313/Ohana/src/opihi/cmd.data/init.c
===================================================================
--- /branches/eam_branches/ipp-20230313/Ohana/src/opihi/cmd.data/init.c	(revision 42437)
+++ /branches/eam_branches/ipp-20230313/Ohana/src/opihi/cmd.data/init.c	(revision 42438)
@@ -70,4 +70,5 @@
 int imresample       PROTO((int, char **));
 int imcollapse       PROTO((int, char **));
+int impoints         PROTO((int, char **));
 int integrate        PROTO((int, char **));
 int interpolate      PROTO((int, char **));
@@ -280,4 +281,5 @@
   {1, "imconvolve",   imconvolve,       "full 2D real-space convolution"},
   {1, "imstats",      imstats,          "statistics on a portion of an image"},
+  {1, "impoints",     impoints,         "insert points into an image by vector pair"},
   {1, "integrate",    integrate,        "integrate a vector"},
   {1, "interpolate_presort",  interpolate_presort,      "interpolate between vector pairs"},
Index: /branches/eam_branches/ipp-20230313/Ohana/src/opihi/dvo/avselect.c
===================================================================
--- /branches/eam_branches/ipp-20230313/Ohana/src/opihi/dvo/avselect.c	(revision 42437)
+++ /branches/eam_branches/ipp-20230313/Ohana/src/opihi/dvo/avselect.c	(revision 42438)
@@ -17,5 +17,5 @@
   int VERBOSE;
   char name[1024];
-  float RADIUS;
+  opihi_flt RADIUS;
 
   Catalog catalog;
