Index: trunk/Ohana/src/opihi/cmd.data/peak.c
===================================================================
--- trunk/Ohana/src/opihi/cmd.data/peak.c	(revision 4689)
+++ trunk/Ohana/src/opihi/cmd.data/peak.c	(revision 6642)
@@ -3,11 +3,17 @@
 int peak (int argc, char **argv) {
   
-  int i, imax;
+  int i, N, imax, QUIET;
   double start, end, xmax, ymax;
   float *X, *Y;
   Vector *vecx, *vecy;
 
-  if (argc != 5) {
-    fprintf (stderr, "USAGE: peak <x> <y> start end\n");
+  QUIET = FALSE;
+  if ((N = get_argument (argc, argv, "-q"))) {
+    QUIET = TRUE;
+    remove_argument (N, &argc, argv);
+  }
+
+  if ((argc != 5) && (argc != 3)) {
+    fprintf (stderr, "USAGE: peak <x> <y> [start end]\n");
     return (FALSE);
   }
@@ -16,6 +22,11 @@
   if ((vecy = SelectVector (argv[2], OLDVECTOR, TRUE)) == NULL) return (FALSE);
 
-  start = atof (argv[3]);
-  end   = atof (argv[4]);
+  if (argc == 5) {
+    start = atof (argv[3]);
+    end   = atof (argv[4]);
+  } else {
+    start = vecx[0].elements[0];
+    end   = vecx[0].elements[vecx[0].Nelements - 1];
+  }
 
   X = vecx[0].elements;
@@ -39,7 +50,6 @@
   set_variable ("peaknum", imax);
 
-  fprintf (stderr, "peak %f @ %f (%d)\n", ymax, xmax, imax);
+  if (!QUIET) fprintf (GetOutfile(), "peak %f @ %f (%d)\n", ymax, xmax, imax);
 
   return (TRUE);
 }
-
