Index: /trunk/Ohana/src/getstar/src/ReadImageFiles.c
===================================================================
--- /trunk/Ohana/src/getstar/src/ReadImageFiles.c	(revision 41628)
+++ /trunk/Ohana/src/getstar/src/ReadImageFiles.c	(revision 41629)
@@ -1,3 +1,19 @@
 # include "dvoImageOverlaps.h"
+
+// given FOO:BAR:file.ext return file.ext 
+char *nebbasename (char *name) {
+ 
+  char *c, *file;
+
+  ALLOCATE (file, char, strlen(name) + 16);
+
+  c = strrchr (name, ':');
+  if (c == (char *) NULL) {
+    strcpy (file, name);
+  } else {
+    strcpy (file, c+1);
+  }
+  return (file);
+}
 
 Image *ReadImageFiles (char *filename, off_t *Nimages) {
@@ -63,7 +79,16 @@
 	continue;
       }
+
+      // the image name just needs to be a useful identifier
+      // remove the full path and in the case of nebulous files, remove the rest of
+      // the nebulous path:
+      // 14508045500.gpc1:ipp.tdbtest.tag.ps1.20210527.gentoo:o8966g0113o.1602706:o8966g0113o.1602706.cm.2417132.smf
+      // -> o8966g0113o.1602706.cm.2417132.smf
       
       /* find image rootname */
-      name = filebasename (file[i]);
+      char *rawname = filebasename (file[i]);
+      name = nebbasename (rawname); // 
+      free (rawname);
+
       snprintf (image[N].name, DVO_IMAGE_NAME_LEN, "%s", name);
       free (name);
@@ -188,6 +213,8 @@
 
   /* find image rootname */
-  name = filebasename (file[0]);
-
+  char *rawname = filebasename (file[0]);
+  name = nebbasename (rawname);
+  free (rawname);
+  
   // now run through the images, interpret the headers and read the stars
   for (i = N = 0; i < Nimage; i++) {
