Index: trunk/Ohana/src/opihi/cmd.data/create.c
===================================================================
--- trunk/Ohana/src/opihi/cmd.data/create.c	(revision 9197)
+++ trunk/Ohana/src/opihi/cmd.data/create.c	(revision 9275)
@@ -1,5 +1,3 @@
 # include "data.h"
-
-int imcreate (int argc, char **argv);
 
 int create (int argc, char **argv) {
@@ -8,9 +6,4 @@
   float start, end, delta;
   Vector *vec;
-  
-  if ((N = get_argument (argc, argv, "-image"))) {
-    remove_argument (N, &argc, argv);
-    return (imcreate (argc, argv));
-  }
   
   if ((argc != 5) && (argc != 4)) {
@@ -43,37 +36,2 @@
   return (TRUE);
 }
-
-
-int imcreate (int argc, char **argv) {
-  
-  Buffer *buf;
-
-  if (argc != 4) {
-    gprint (GP_ERR, "USAGE: create -image buffer Nx Ny\n");
-    return (FALSE);
-  }
-
-  if ((buf = SelectBuffer (argv[1], ANYBUFFER, TRUE)) == NULL) return (FALSE);
-  gfits_free_matrix (&buf[0].matrix);
-  gfits_free_header (&buf[0].header);
-
-  buf[0].bitpix = 16;
-  buf[0].unsign = FALSE;
-  buf[0].bscale = 1.0;
-  buf[0].bzero  = 0x8000;
-
-  buf[0].header.bitpix = -32;
-  buf[0].header.unsign = FALSE;
-  buf[0].header.bscale = 1.0;
-  buf[0].header.bzero  = 0.0;
-
-  buf[0].header.Naxes = 2;
-  buf[0].header.Naxis[0] = atoi (argv[2]);
-  buf[0].header.Naxis[1] = atoi (argv[3]);
-
-  gfits_create_header (&buf[0].header);
-  gfits_create_matrix (&buf[0].header, &buf[0].matrix);
-
-  return (TRUE);
-
-}
Index: trunk/Ohana/src/opihi/cmd.data/dimenup.c
===================================================================
--- trunk/Ohana/src/opihi/cmd.data/dimenup.c	(revision 9197)
+++ trunk/Ohana/src/opihi/cmd.data/dimenup.c	(revision 9275)
@@ -24,19 +24,7 @@
   }
 
-  buf[0].matrix.Naxis[0] = Nx;
-  buf[0].matrix.Naxis[1] = Ny;
-
-  /* I should encapsulate this in a create_default_buffer */
   gfits_free_matrix (&buf[0].matrix);
   gfits_free_header (&buf[0].header);
-  buf[0].header.bitpix = buf[0].bitpix = -32;
-  buf[0].header.unsign = buf[0].unsign = FALSE;
-  buf[0].header.bscale = buf[0].bscale = 1.0;
-  buf[0].header.bzero  = buf[0].bzero  = 0.0;
-  buf[0].header.Naxes = 2;
-  buf[0].header.Naxis[0] = Nx;
-  buf[0].header.Naxis[1] = Ny;
-  gfits_create_header (&buf[0].header);
-  gfits_create_matrix (&buf[0].header, &buf[0].matrix);
+  CreateBuffer (buf, Nx, Ny, -32, 0.0, 1.0);
 
   out = (float *) buf[0].matrix.buffer;
Index: trunk/Ohana/src/opihi/cmd.data/gridify.c
===================================================================
--- trunk/Ohana/src/opihi/cmd.data/gridify.c	(revision 9197)
+++ trunk/Ohana/src/opihi/cmd.data/gridify.c	(revision 9275)
@@ -40,22 +40,8 @@
   Ny = (Ymax - Ymin) / dY + 1;
   
-  /* these steps are a standard 'createbuffer', define? */
-  bf[0].bitpix = -32;
-  bf[0].unsign = FALSE;
-  bf[0].bscale = 1.0;
-  bf[0].bzero  = 0.0;
+  gfits_free_matrix (&bf[0].matrix);
+  gfits_free_header (&bf[0].header);
+  CreateBuffer (bf, Nx, Ny, -32, 0.0, 1.0);
   strcpy (bf[0].file, "(empty)");
-
-  bf[0].header.bitpix = bf[0].bitpix;
-  bf[0].header.bscale = bf[0].bscale;
-  bf[0].header.bzero  = bf[0].bzero; 
-  bf[0].header.unsign = bf[0].unsign;
-  bf[0].header.Naxes = 2;
-  bf[0].header.Naxis[0] = Nx;
-  bf[0].header.Naxis[1] = Ny;
-  free (bf[0].header.buffer);  /* ALLOCATEd in SelectBuffer */
-  free (bf[0].matrix.buffer);  /* ALLOCATEd in SelectBuffer */
-  gfits_create_header (&bf[0].header);
-  gfits_create_matrix (&bf[0].header, &bf[0].matrix);
 
   ALLOCATE (val, float, Nx*Ny);
Index: trunk/Ohana/src/opihi/cmd.data/mcreate.c
===================================================================
--- trunk/Ohana/src/opihi/cmd.data/mcreate.c	(revision 9197)
+++ trunk/Ohana/src/opihi/cmd.data/mcreate.c	(revision 9275)
@@ -15,22 +15,8 @@
   Ny = atof (argv[3]);
 
-  buf[0].matrix.Naxis[0] = Nx;
-  buf[0].matrix.Naxis[1] = Ny;
-
   /* I should encapsulate this in a create_default_buffer */
   gfits_free_matrix (&buf[0].matrix);
   gfits_free_header (&buf[0].header);
-  buf[0].header.bitpix = buf[0].bitpix = -32;
-  buf[0].header.unsign = buf[0].unsign = FALSE;
-  buf[0].header.bscale = buf[0].bscale = 1.0;
-  buf[0].header.bzero  = buf[0].bzero  = 0.0;
-  buf[0].header.Naxes = 2;
-  buf[0].header.Naxis[0] = Nx;
-  buf[0].header.Naxis[1] = Ny;
-  gfits_create_header (&buf[0].header);
-  gfits_create_matrix (&buf[0].header, &buf[0].matrix);
+  CreateBuffer (buf, Nx, Ny, -32, 1.0, 0.0);
   return (TRUE);
-
 }
-
-
Index: trunk/Ohana/src/opihi/cmd.data/vgrid.c
===================================================================
--- trunk/Ohana/src/opihi/cmd.data/vgrid.c	(revision 9197)
+++ trunk/Ohana/src/opihi/cmd.data/vgrid.c	(revision 9275)
@@ -34,22 +34,8 @@
   Ny = (Ymax - Ymin) / dY + 1;
   
-  /* these steps are a standard 'createbuffer', define? */
-  bf[0].bitpix = -32;
-  bf[0].unsign = FALSE;
-  bf[0].bscale = 1.0;
-  bf[0].bzero  = 0.0;
+  gfits_free_matrix (&bf[0].matrix);
+  gfits_free_header (&bf[0].header);
+  CreateBuffer (bf, Nx, Ny, -32, 0.0, 1.0);
   strcpy (bf[0].file, "(empty)");
-
-  bf[0].header.bitpix = bf[0].bitpix;
-  bf[0].header.bscale = bf[0].bscale;
-  bf[0].header.bzero  = bf[0].bzero; 
-  bf[0].header.unsign = bf[0].unsign;
-  bf[0].header.Naxes = 2;
-  bf[0].header.Naxis[0] = Nx;
-  bf[0].header.Naxis[1] = Ny;
-  free (bf[0].header.buffer);  /* ALLOCATEd in SelectBuffer */
-  free (bf[0].matrix.buffer);  /* ALLOCATEd in SelectBuffer */
-  gfits_create_header (&bf[0].header);
-  gfits_create_matrix (&bf[0].header, &bf[0].matrix);
 
   ALLOCATE (val, float, Nx*Ny);
