Index: /branches/eam_branches/ipp-20140904/Ohana/src/opihi/cmd.astro/gauss.c
===================================================================
--- /branches/eam_branches/ipp-20140904/Ohana/src/opihi/cmd.astro/gauss.c	(revision 37757)
+++ /branches/eam_branches/ipp-20140904/Ohana/src/opihi/cmd.astro/gauss.c	(revision 37758)
@@ -30,4 +30,11 @@
   if (!GetImageData (&data, &kapa, name)) return (FALSE);
   FREE (name);
+
+  int channel = 0;
+  if ((N = get_argument (argc, argv, "-ch"))) {
+    channel = GetKapaChannelFromString (argv[N]);
+    if (!channel) return FALSE;
+    KiiSetChannel (kapa, channel - 1);
+  }
 
   Nborder = 3;
Index: /branches/eam_branches/ipp-20140904/Ohana/src/opihi/cmd.astro/objload.c
===================================================================
--- /branches/eam_branches/ipp-20140904/Ohana/src/opihi/cmd.astro/objload.c	(revision 37757)
+++ /branches/eam_branches/ipp-20140904/Ohana/src/opihi/cmd.astro/objload.c	(revision 37758)
@@ -19,4 +19,11 @@
   if (!GetImage (NULL, &kapa, name)) return (FALSE);
   FREE (name);
+
+  int channel = 0;
+  if ((N = get_argument (argc, argv, "-ch"))) {
+    channel = GetKapaChannelFromString (argv[N]);
+    if (!channel) return FALSE;
+    KiiSetChannel (kapa, channel - 1);
+  }
 
   Objtype = 0;
Index: /branches/eam_branches/ipp-20140904/Ohana/src/opihi/cmd.astro/region.c
===================================================================
--- /branches/eam_branches/ipp-20140904/Ohana/src/opihi/cmd.astro/region.c	(revision 37757)
+++ /branches/eam_branches/ipp-20140904/Ohana/src/opihi/cmd.astro/region.c	(revision 37758)
@@ -17,4 +17,11 @@
   if (!GetGraph (&graphmode, &kapa, name)) return (FALSE);
   FREE (name);
+
+  int channel = 0;
+  if ((N = get_argument (argc, argv, "-ch"))) {
+    channel = GetKapaChannelFromString (argv[N]);
+    if (!channel) return FALSE;
+    KiiSetChannel (kapa, channel - 1);
+  }
 
   NoClear = FALSE;
Index: /branches/eam_branches/ipp-20140904/Ohana/src/opihi/cmd.data/center.c
===================================================================
--- /branches/eam_branches/ipp-20140904/Ohana/src/opihi/cmd.data/center.c	(revision 37757)
+++ /branches/eam_branches/ipp-20140904/Ohana/src/opihi/cmd.data/center.c	(revision 37758)
@@ -16,4 +16,11 @@
   if (!GetImage (NULL, &kapa, name)) return (FALSE);
   FREE (name);
+
+  int channel = 0;
+  if ((N = get_argument (argc, argv, "-ch"))) {
+    channel = GetKapaChannelFromString (argv[N]);
+    if (!channel) return FALSE;
+    KiiSetChannel (kapa, channel - 1);
+  }
 
   // XXX need an option to center the image based on the current plot limits
Index: /branches/eam_branches/ipp-20140904/Ohana/src/opihi/cmd.data/erase.c
===================================================================
--- /branches/eam_branches/ipp-20140904/Ohana/src/opihi/cmd.data/erase.c	(revision 37757)
+++ /branches/eam_branches/ipp-20140904/Ohana/src/opihi/cmd.data/erase.c	(revision 37758)
@@ -15,4 +15,11 @@
   if (!GetImage (NULL, &kapa, name)) return (FALSE);
   FREE (name);
+
+  int channel = 0;
+  if ((N = get_argument (argc, argv, "-ch"))) {
+    channel = GetKapaChannelFromString (argv[N]);
+    if (!channel) return FALSE;
+    KiiSetChannel (kapa, channel - 1);
+  }
 
   if (argc < 2) {
Index: /branches/eam_branches/ipp-20140904/Ohana/src/opihi/cmd.data/load.c
===================================================================
--- /branches/eam_branches/ipp-20140904/Ohana/src/opihi/cmd.data/load.c	(revision 37757)
+++ /branches/eam_branches/ipp-20140904/Ohana/src/opihi/cmd.data/load.c	(revision 37758)
@@ -23,4 +23,11 @@
   if (!GetImageData (&data, &kapa, name)) return (FALSE);
   FREE (name);
+
+  int channel = 0;
+  if ((N = get_argument (argc, argv, "-ch"))) {
+    channel = GetKapaChannelFromString (argv[N]);
+    if (!channel) return FALSE;
+    KiiSetChannel (kapa, channel - 1);
+  }
 
   ISCEL = FALSE;
Index: /branches/eam_branches/ipp-20140904/Ohana/src/opihi/cmd.data/point.c
===================================================================
--- /branches/eam_branches/ipp-20140904/Ohana/src/opihi/cmd.data/point.c	(revision 37757)
+++ /branches/eam_branches/ipp-20140904/Ohana/src/opihi/cmd.data/point.c	(revision 37758)
@@ -21,4 +21,11 @@
   if (!GetImageData (&data, &kapa, name)) return (FALSE);
   FREE (name);
+
+  int channel = 0;
+  if ((N = get_argument (argc, argv, "-ch"))) {
+    channel = GetKapaChannelFromString (argv[N]);
+    if (!channel) return FALSE;
+    KiiSetChannel (kapa, channel - 1);
+  }
 
   celestial = FALSE;
Index: /branches/eam_branches/ipp-20140904/Ohana/src/opihi/cmd.data/relocate.c
===================================================================
--- /branches/eam_branches/ipp-20140904/Ohana/src/opihi/cmd.data/relocate.c	(revision 37757)
+++ /branches/eam_branches/ipp-20140904/Ohana/src/opihi/cmd.data/relocate.c	(revision 37758)
@@ -17,4 +17,11 @@
   FREE (name);
 
+  int channel = 0;
+  if ((N = get_argument (argc, argv, "-ch"))) {
+    channel = GetKapaChannelFromString (argv[N]);
+    if (!channel) return FALSE;
+    KiiSetChannel (kapa, channel - 1);
+  }
+
   if (argc != 3) {
     gprint (GP_ERR, "USAGE: relocate x y [-n]\n");
Index: /branches/eam_branches/ipp-20140904/Ohana/src/opihi/cmd.data/resize.c
===================================================================
--- /branches/eam_branches/ipp-20140904/Ohana/src/opihi/cmd.data/resize.c	(revision 37757)
+++ /branches/eam_branches/ipp-20140904/Ohana/src/opihi/cmd.data/resize.c	(revision 37758)
@@ -17,4 +17,11 @@
   if (!GetImage (NULL, &kapa, name)) return (FALSE);
   FREE (name);
+
+  int channel = 0;
+  if ((N = get_argument (argc, argv, "-ch"))) {
+    channel = GetKapaChannelFromString (argv[N]);
+    if (!channel) return FALSE;
+    KiiSetChannel (kapa, channel - 1);
+  }
 
   if ((N = get_argument (argc, argv, "-by-image"))) {
Index: /branches/eam_branches/ipp-20140904/Ohana/src/opihi/cmd.data/save.c
===================================================================
--- /branches/eam_branches/ipp-20140904/Ohana/src/opihi/cmd.data/save.c	(revision 37757)
+++ /branches/eam_branches/ipp-20140904/Ohana/src/opihi/cmd.data/save.c	(revision 37758)
@@ -16,4 +16,11 @@
   FREE (name);
 
+  int channel = 0;
+  if ((N = get_argument (argc, argv, "-ch"))) {
+    channel = GetKapaChannelFromString (argv[N]);
+    if (!channel) return FALSE;
+    KiiSetChannel (kapa, channel - 1);
+  }
+
   celestial = FALSE;
   if ((N = get_argument (argc, argv, "-c"))) {
Index: /branches/eam_branches/ipp-20140904/Ohana/src/opihi/cmd.data/tv.c
===================================================================
--- /branches/eam_branches/ipp-20140904/Ohana/src/opihi/cmd.data/tv.c	(revision 37757)
+++ /branches/eam_branches/ipp-20140904/Ohana/src/opihi/cmd.data/tv.c	(revision 37758)
@@ -18,4 +18,13 @@
   if (!GetImage (&data, &kapa, name)) return (FALSE);
   FREE (name);
+
+  int channel = 0;
+  if ((N = get_argument (argc, argv, "-ch"))) {
+    remove_argument (N, &argc, argv);
+    channel = GetKapaChannelFromString (argv[N]);
+    remove_argument (N, &argc, argv);
+    if (!channel) return FALSE;
+    KiiSetChannel (kapa, channel - 1);
+  }
 
   /* shell exits on pipe close, FIX */
Index: /branches/eam_branches/ipp-20140904/Ohana/src/opihi/cmd.data/tvchannel.c
===================================================================
--- /branches/eam_branches/ipp-20140904/Ohana/src/opihi/cmd.data/tvchannel.c	(revision 37757)
+++ /branches/eam_branches/ipp-20140904/Ohana/src/opihi/cmd.data/tvchannel.c	(revision 37758)
@@ -22,23 +22,31 @@
   }
 
-  Nchannel = atoi (argv[1]);
+  Nchannel = GetKapaChannelFromString (argv[1]);
+  if (!Nchannel) return FALSE;
+
+  KiiSetChannel (kapa, Nchannel - 1);
+  return (TRUE);
+}
+
+int GetKapaChannelFromString (char *string) {
+
+  int Nchannel = atoi (string);
   if (Nchannel == 0) {
     // try the string values R/Red, G/Green, B/Blue
-    if (!strcasecmp (argv[1], "R") || !strcasecmp (argv[1], "RED")) {
+    if (!strcasecmp (string, "R") || !strcasecmp (string, "RED")) {
       Nchannel = 1;
     }
-    if (!strcasecmp (argv[1], "G") || !strcasecmp (argv[1], "GREEN")) {
+    if (!strcasecmp (string, "G") || !strcasecmp (string, "GREEN")) {
       Nchannel = 2;
     }
-    if (!strcasecmp (argv[1], "B") || !strcasecmp (argv[1], "BLUE")) {
+    if (!strcasecmp (string, "B") || !strcasecmp (string, "BLUE")) {
       Nchannel = 3;
     }
   }
-  if ((Nchannel < 1) || (Nchannel > 3)) {
-    gprint (GP_ERR, "invalid channel : use 1 - 3 or (R)ed, (G)reen, (B)lue\n");
-    return (FALSE);
+  if ((Nchannel < 1) || (Nchannel > 10)) {
+    gprint (GP_ERR, "invalid channel : use 1 - 10 or (R)ed, (G)reen, (B)lue\n");
+    gprint (GP_ERR, "   (R)ed, (G)reen, (B)lue == (1,2,3)\n");
+    return (0);
   }
-    
-  KiiSetChannel (kapa, Nchannel - 1);
-  return (TRUE);
+  return Nchannel;
 }
Index: /branches/eam_branches/ipp-20140904/Ohana/src/opihi/cmd.data/tvcontour.c
===================================================================
--- /branches/eam_branches/ipp-20140904/Ohana/src/opihi/cmd.data/tvcontour.c	(revision 37757)
+++ /branches/eam_branches/ipp-20140904/Ohana/src/opihi/cmd.data/tvcontour.c	(revision 37758)
@@ -71,4 +71,11 @@
   if (!GetImage (NULL, &kapa, name)) return (FALSE);
   FREE (name);
+
+  int channel = 0;
+  if ((N = get_argument (argc, argv, "-ch"))) {
+    channel = GetKapaChannelFromString (argv[N]);
+    if (!channel) return FALSE;
+    KiiSetChannel (kapa, channel - 1);
+  }
 
   if ((argc != 4) && (argc != 5)) {
Index: /branches/eam_branches/ipp-20140904/Ohana/src/opihi/cmd.data/tvgrid.c
===================================================================
--- /branches/eam_branches/ipp-20140904/Ohana/src/opihi/cmd.data/tvgrid.c	(revision 37757)
+++ /branches/eam_branches/ipp-20140904/Ohana/src/opihi/cmd.data/tvgrid.c	(revision 37758)
@@ -24,4 +24,11 @@
   if (!GetImage (NULL, &kapa, name)) return (FALSE);
   FREE (name);
+
+  int channel = 0;
+  if ((N = get_argument (argc, argv, "-ch"))) {
+    channel = GetKapaChannelFromString (argv[N]);
+    if (!channel) return FALSE;
+    KiiSetChannel (kapa, channel - 1);
+  }
 
   if (argc != 3) {
Index: /branches/eam_branches/ipp-20140904/Ohana/src/opihi/cmd.data/vload.c
===================================================================
--- /branches/eam_branches/ipp-20140904/Ohana/src/opihi/cmd.data/vload.c	(revision 37757)
+++ /branches/eam_branches/ipp-20140904/Ohana/src/opihi/cmd.data/vload.c	(revision 37758)
@@ -18,4 +18,11 @@
   if (!GetImage (NULL, &kapa, name)) return (FALSE);
   FREE (name);
+
+  int channel = 0;
+  if ((N = get_argument (argc, argv, "-ch"))) {
+    channel = GetKapaChannelFromString (argv[N]);
+    if (!channel) return FALSE;
+    KiiSetChannel (kapa, channel - 1);
+  }
 
   type = KII_OVERLAY_BOX;
Index: /branches/eam_branches/ipp-20140904/Ohana/src/opihi/cmd.data/vzload.c
===================================================================
--- /branches/eam_branches/ipp-20140904/Ohana/src/opihi/cmd.data/vzload.c	(revision 37757)
+++ /branches/eam_branches/ipp-20140904/Ohana/src/opihi/cmd.data/vzload.c	(revision 37758)
@@ -18,4 +18,11 @@
   if (!GetImage (NULL, &kapa, name)) return (FALSE);
   FREE (name);
+
+  int channel = 0;
+  if ((N = get_argument (argc, argv, "-ch"))) {
+    channel = GetKapaChannelFromString (argv[N]);
+    if (!channel) return FALSE;
+    KiiSetChannel (kapa, channel - 1);
+  }
 
   MAX_OUTPUT_SIZE = 10.0;
Index: /branches/eam_branches/ipp-20140904/Ohana/src/opihi/dvo/cmpload.c
===================================================================
--- /branches/eam_branches/ipp-20140904/Ohana/src/opihi/dvo/cmpload.c	(revision 37757)
+++ /branches/eam_branches/ipp-20140904/Ohana/src/opihi/dvo/cmpload.c	(revision 37758)
@@ -24,4 +24,11 @@
   if (!GetImage (NULL, &kapa, name)) return (FALSE);
   FREE (name);
+
+  int channel = 0;
+  if ((N = get_argument (argc, argv, "-ch"))) {
+    channel = GetKapaChannelFromString (argv[N]);
+    if (!channel) return FALSE;
+    KiiSetChannel (kapa, channel - 1);
+  }
 
   Objtype = 0;
Index: /branches/eam_branches/ipp-20140904/Ohana/src/opihi/include/data.h
===================================================================
--- /branches/eam_branches/ipp-20140904/Ohana/src/opihi/include/data.h	(revision 37757)
+++ /branches/eam_branches/ipp-20140904/Ohana/src/opihi/include/data.h	(revision 37758)
@@ -224,3 +224,6 @@
 void ListMedImages ();
 
+// in tvchannel.c
+int GetKapaChannelFromString (char *string);
+
 # endif
