Index: trunk/Ohana/src/opihi/cmd.data/histogram.c
===================================================================
--- trunk/Ohana/src/opihi/cmd.data/histogram.c	(revision 20936)
+++ trunk/Ohana/src/opihi/cmd.data/histogram.c	(revision 27817)
@@ -3,11 +3,18 @@
 int histogram (int argc, char **argv) {
   
-  int i, bin, Nbins;
+  int i, N, bin, Nbins;
   opihi_int *OUT;
   opihi_flt start, end, delta;
-  Vector *xvec, *yvec;
+  Vector *xvec, *yvec, *range;
+
+  range = NULL;
+  if ((N = get_argument (argc, argv, "-range"))) {
+    remove_argument (N, &argc, argv);
+    if ((range = SelectVector (argv[N], ANYVECTOR, TRUE)) == NULL) return (FALSE);    
+    remove_argument (N, &argc, argv);
+  }
 
   if ((argc != 6) && (argc != 5)) {
-    gprint (GP_ERR, "USAGE: hist invec outvec start end [delta]\n");
+    gprint (GP_ERR, "USAGE: hist invec outvec start end [delta] [-range range]\n");
     return (FALSE);
   }
@@ -31,4 +38,11 @@
   if ((xvec = SelectVector (argv[1], OLDVECTOR, TRUE)) == NULL) return (FALSE);
   if ((yvec = SelectVector (argv[2], ANYVECTOR, TRUE)) == NULL) return (FALSE);
+
+  if (range) {
+    ResetVector (range, OPIHI_FLT, Nbins);
+    for (i = 0; i < range[0].Nelements; i++) {
+      range[0].elements.Flt[i] = start + i*delta;
+    }
+  }
 
   ResetVector (yvec, OPIHI_INT, Nbins);
