Index: trunk/Ohana/src/opihi/dvo/subpix.c
===================================================================
--- trunk/Ohana/src/opihi/dvo/subpix.c	(revision 5320)
+++ trunk/Ohana/src/opihi/dvo/subpix.c	(revision 5448)
@@ -5,5 +5,5 @@
 int subpix (int argc, char **argv) {
   
-  int i, j, I, Nlo, Nhi, Nentry, Nstars, Nregions, Nimage, Nmeasure;
+  int i, j, I, Nlo, Nhi, Nentry, Nstars, Nimage, Nmeasure;
   int *index, *entry;
   int Nmin, Nsub, NSUB, status;
@@ -17,5 +17,4 @@
   Measure *measure;
   Image *image;
-  RegionFile *regions;
   Catalog catalog;
 
@@ -35,13 +34,16 @@
   Radius = atof (argv[3]);
 
+  /* load sky from correct table */
+  sky = SkyTableLoadOptimal (CATDIR, SKY_TABLE, GSCFILE, -1, VERBOSE);
+  SkyTableSetFilenames (sky, CATDIR, "cpt");
+
   /* load star nearest position */
-  regions = find_regions (Ra, Dec, Radius, &Nregions);
-  if (Nregions > 1) {
+  skylist = SkyListByRadius (sky, -1, Ra, Dec, Radius);
+  if (skylist[0].Nregions > 1) {
     fprintf (stderr, "warning, radius overlaps region boundary, not yet implemented\n");
   }
 
   /* lock, load, unlock catalog */
-  sprintf (filename, "%s/%s", catdir, regions[0].name);
-  catalog.filename = filename;
+  catalog.filename = skylist[0].regions[0][0].filename;
   switch (lock_catalog (&catalog, LCK_SOFT)) {
   case 2:
@@ -92,5 +94,5 @@
     if (catalog.average != 0) free (catalog.average);
     if (catalog.measure != 0) free (catalog.measure);
-    free (regions);
+    SkyListFree (skylist);
     return (TRUE);
   }
@@ -158,5 +160,5 @@
   free (image);
   free (index);
-  free (regions);
+  SkyListFree (regions);
 
   return (TRUE);
