Index: trunk/Ohana/src/libdvo/include/dvo.h
===================================================================
--- trunk/Ohana/src/libdvo/include/dvo.h	(revision 12752)
+++ trunk/Ohana/src/libdvo/include/dvo.h	(revision 12840)
@@ -241,4 +241,5 @@
 char *libdvo_version ();
 
+int GetRegisteredMosaic ();
 int FindMosaicForImage (Image *images, int Nimages, int entry);
 int FindMosaicForImage_TableSearch (Image *images, int Nimages, int entry);
Index: trunk/Ohana/src/libdvo/src/mosaic_astrom.c
===================================================================
--- trunk/Ohana/src/libdvo/src/mosaic_astrom.c	(revision 12752)
+++ trunk/Ohana/src/libdvo/src/mosaic_astrom.c	(revision 12840)
@@ -3,8 +3,14 @@
 /* chip-match table: j = ChipMatch[i], images[j] is DIS for images[i] WRP */
 
+static int    iDIS = -1;      // DIS entry in ChipMatch[]
 static int    Ndis = 0;
 static int    *DISentry = NULL;
 static e_time *DIStzero = NULL;
 static int    *ChipMatch = NULL;
+
+/* what is the currently registered mosaic image? */
+int GetRegisteredMosaic () {
+  return (iDIS);
+}
 
 /* given an image array and a current entry of type WRP, find matching DIS & Register it */
@@ -42,4 +48,6 @@
     /* found a valid match */
     RegisterMosaic (&images[i].coords);
+    iDIS = i;
+    return (TRUE);
   }
 
@@ -50,4 +58,5 @@
     /* found a valid match */
     RegisterMosaic (&images[i].coords);
+    iDIS = i;
     return (TRUE);
   }
@@ -72,4 +81,5 @@
 
   RegisterMosaic (&images[N].coords);
+  iDIS = N;
   return (TRUE);
 }
