Index: /branches/czw_branch/20160809/Ohana/src/opihi/dvo/imbox.c
===================================================================
--- /branches/czw_branch/20160809/Ohana/src/opihi/dvo/imbox.c	(revision 39689)
+++ /branches/czw_branch/20160809/Ohana/src/opihi/dvo/imbox.c	(revision 39690)
@@ -15,4 +15,17 @@
 
   if (!style_args (&graphmode, &argc, argv, &kapa)) return FALSE;
+
+  char *xaxis = NULL;
+  if ((N = get_argument (argc, argv, "-xaxis"))) {
+    remove_argument (N, &argc, argv);
+    xaxis = strcreate (argv[N]);
+    remove_argument (N, &argc, argv);
+  }
+  char *yaxis = NULL;
+  if ((N = get_argument (argc, argv, "-yaxis"))) {
+    remove_argument (N, &argc, argv);
+    yaxis = strcreate (argv[N]);
+    remove_argument (N, &argc, argv);
+  }
 
   SOLO_PHU = FALSE;
@@ -61,14 +74,29 @@
     // XXX currently, image uses an unsigned short for NX,XY. this is rather restrictive
     // and needs to be at least checked.
-    haveNx = gfits_scan (&header, "IMNAXIS1",   "%d", 1, &Nx);
-    haveNy = gfits_scan (&header, "IMNAXIS2",   "%d", 1, &Ny);
+    haveNx = FALSE;
+    if (xaxis) {
+      haveNx = gfits_scan (&header, xaxis, "%d", 1, &Nx);
+    }
+    if (!haveNx) {
+      haveNx = gfits_scan (&header, "IMNAXIS1",   "%d", 1, &Nx);
+    } 
+    if (!haveNx) {
+	haveNx = gfits_scan (&header, "ZNAXIS1",   "%d", 1, &Nx);
+    }
+    if (!haveNx) {
+	haveNx = gfits_scan (&header, "NAXIS1",   "%d", 1, &Nx);
+    }
 
-    if (!haveNx && !haveNy) {
-	haveNx = gfits_scan (&header, "ZNAXIS1",   "%d", 1, &Nx);
+    haveNy = FALSE;
+    if (yaxis) {
+      haveNy = gfits_scan (&header, yaxis, "%d", 1, &Ny);
+    }
+    if (!haveNy) {
+      haveNy = gfits_scan (&header, "IMNAXIS2",   "%d", 1, &Ny);
+    }
+    if (!haveNy) {
 	haveNy = gfits_scan (&header, "ZNAXIS2",   "%d", 1, &Ny);
     }
-
-    if (!haveNx && !haveNy) {
-	haveNx = gfits_scan (&header, "NAXIS1",   "%d", 1, &Nx);
+    if (!haveNy) {
 	haveNy = gfits_scan (&header, "NAXIS2",   "%d", 1, &Ny);
     }
@@ -137,4 +165,6 @@
   free (Xvec.elements.Flt);
   free (Yvec.elements.Flt);
+  if (xaxis) free (xaxis);
+  if (yaxis) free (yaxis);
   return (TRUE);
 
