Index: trunk/Ohana/src/opihi/dvo/imdata.c
===================================================================
--- trunk/Ohana/src/opihi/dvo/imdata.c	(revision 20535)
+++ trunk/Ohana/src/opihi/dvo/imdata.c	(revision 20936)
@@ -49,4 +49,5 @@
 
   gprint (GP_ERR, "function is poorly defined; disabled and may be removed\n");
+  gprint (GP_ERR, "this function extracts measure data corresponding to a given image?\n");
   return (FALSE);
 
@@ -124,7 +125,7 @@
   
   /* create output vector */
+  N = 0;
   NPTS = 1000;
-  REALLOCATE (vec[0].elements, float, NPTS);
-  vec[0].Nelements = N = 0;
+  ResetVector (vec, OPIHI_FLT, NPTS);
 
   // prepare to handle interrupt signals
@@ -153,7 +154,7 @@
 	  if ((catalog.measure[i].t < start) || (catalog.measure[i].t > stop)) continue;
 	  n = catalog.measure[i].averef;
-	  vec[0].elements[N] = catalog.average[n].R - catalog.measure[i].dR / 3600.0;
-	  N++;
-	  CHECK_REALLOCATE (vec[0].elements, float, NPTS, N, 1000);
+	  vec[0].elements.Flt[N] = catalog.average[n].R - catalog.measure[i].dR / 3600.0;
+	  N++;
+	  CHECK_REALLOCATE (vec[0].elements.Flt, opihi_flt, NPTS, N, 1000);
 	}
 	break;
@@ -162,7 +163,7 @@
 	  if ((catalog.measure[i].t < start) || (catalog.measure[i].t > stop)) continue;
 	  n = catalog.measure[i].averef;
-	  vec[0].elements[N] = catalog.average[n].D - catalog.measure[i].dD / 3600.0;
-	  N++;
-	  CHECK_REALLOCATE (vec[0].elements, float, NPTS, N, 1000);
+	  vec[0].elements.Flt[N] = catalog.average[n].D - catalog.measure[i].dD / 3600.0;
+	  N++;
+	  CHECK_REALLOCATE (vec[0].elements.Flt, opihi_flt, NPTS, N, 1000);
 	}
 	break;
@@ -170,7 +171,7 @@
 	for (i = 0; i < catalog.Nmeasure; i++) {
 	  if ((catalog.measure[i].t < start) || (catalog.measure[i].t > stop)) continue;
-	  vec[0].elements[N] = catalog.measure[i].M;
-	  N++;
-	  CHECK_REALLOCATE (vec[0].elements, float, NPTS, N, 1000);
+	  vec[0].elements.Flt[N] = catalog.measure[i].M;
+	  N++;
+	  CHECK_REALLOCATE (vec[0].elements.Flt, opihi_flt, NPTS, N, 1000);
 	}
 	break;
@@ -178,7 +179,7 @@
 	for (i = 0; i < catalog.Nmeasure; i++) {
 	  if ((catalog.measure[i].t < start) || (catalog.measure[i].t > stop)) continue;
-	  vec[0].elements[N] = catalog.measure[i].dM;
-	  N++;
-	  CHECK_REALLOCATE (vec[0].elements, float, NPTS, N, 1000);
+	  vec[0].elements.Flt[N] = catalog.measure[i].dM;
+	  N++;
+	  CHECK_REALLOCATE (vec[0].elements.Flt, opihi_flt, NPTS, N, 1000);
 	}
 	break;
@@ -186,7 +187,7 @@
 	for (i = 0; i < catalog.Nmeasure; i++) {
 	  if ((catalog.measure[i].t < start) || (catalog.measure[i].t > stop)) continue;
-	  vec[0].elements[N] = catalog.measure[i].Mcal;
-	  N++;
-	  CHECK_REALLOCATE (vec[0].elements, float, NPTS, N, 1000);
+	  vec[0].elements.Flt[N] = catalog.measure[i].Mcal;
+	  N++;
+	  CHECK_REALLOCATE (vec[0].elements.Flt, opihi_flt, NPTS, N, 1000);
 	}
 	break;
@@ -195,5 +196,5 @@
 	  if ((catalog.measure[i].t < start) || (catalog.measure[i].t > stop)) continue;
 	  n = catalog.measure[i].averef;
-	  // vec[0].elements[N] = catalog.average[n].M;
+	  // vec[0].elements.Flt[N] = catalog.average[n].M;
 	  N++;
 	}
@@ -202,7 +203,7 @@
 	for (i = 0; i < catalog.Nmeasure; i++) {
 	  if ((catalog.measure[i].t < start) || (catalog.measure[i].t > stop)) continue;
-	  vec[0].elements[N] = catalog.measure[i].photcode;
-	  N++;
-	  CHECK_REALLOCATE (vec[0].elements, float, NPTS, N, 1000);
+	  vec[0].elements.Flt[N] = catalog.measure[i].photcode;
+	  N++;
+	  CHECK_REALLOCATE (vec[0].elements.Flt, opihi_flt, NPTS, N, 1000);
 	}
 	break;
@@ -210,7 +211,7 @@
 	for (i = 0; i < catalog.Nmeasure; i++) {
 	  if ((catalog.measure[i].t < start) || (catalog.measure[i].t > stop)) continue;
-	  vec[0].elements[N] = TimeValue (catalog.measure[i].t, TimeReference, TimeFormat);
-	  N++;
-	  CHECK_REALLOCATE (vec[0].elements, float, NPTS, N, 1000);
+	  vec[0].elements.Flt[N] = TimeValue (catalog.measure[i].t, TimeReference, TimeFormat);
+	  N++;
+	  CHECK_REALLOCATE (vec[0].elements.Flt, opihi_flt, NPTS, N, 1000);
 	}
 	break;
@@ -220,5 +221,5 @@
   
   vec[0].Nelements = N;
-  REALLOCATE (vec[0].elements, float, MAX(1,N));
+  REALLOCATE (vec[0].elements.Flt, opihi_flt, MAX(1,N));
   return (TRUE);
 }
