Index: trunk/Ohana/src/libdvo/include/dvodb.h
===================================================================
--- trunk/Ohana/src/libdvo/include/dvodb.h	(revision 38600)
+++ trunk/Ohana/src/libdvo/include/dvodb.h	(revision 38601)
@@ -315,5 +315,5 @@
       AVE_GAL_CHISQ,
       AVE_GAL_NPIX,
-      AVE_GAL_TYPE,
+      AVE_GAL_TYPE,        
       AVE_E_BV,		      // extinction (mags)
       AVE_E_BV_ERR,
@@ -495,5 +495,5 @@
 int          ParseImageField        PROTO((dbField *field, char *fieldName));
 
-dbValue      dbExtractAverages      PROTO((Average *average, SecFilt *secfilt, Measure *measure, Lensobj *lensobj, StarPar *starpar, dbField *field));
+dbValue      dbExtractAverages      PROTO((Average *average, SecFilt *secfilt, Measure *measure, Lensobj *lensobj, StarPar *starpar, GalPhot *galphot, dbField *field));
 dbValue      dbExtractMeasures      PROTO((Average *average, SecFilt *secfilt, Measure *measure, Lensing *lensing, StarPar *starpar, dbField *field));
 dbValue      dbExtractImages        PROTO((Image *image, off_t Nimage, off_t N, dbField *field));
@@ -508,4 +508,5 @@
 int dbFieldNeedLensing (dbField *fields, int Nfields);
 int dbFieldNeedStarpar (dbField *fields, int Nfields, int isAverage);
+int dbFieldNeedGalphot (dbField *fields, int Nfields);
 
 void FreeImageSelection (void);
Index: trunk/Ohana/src/libdvo/src/dbExtractAverages.c
===================================================================
--- trunk/Ohana/src/libdvo/src/dbExtractAverages.c	(revision 38600)
+++ trunk/Ohana/src/libdvo/src/dbExtractAverages.c	(revision 38601)
@@ -50,5 +50,5 @@
 
 /* return average.field based on the selection */
-dbValue dbExtractAverages (Average *average, SecFilt *secfilt, Measure *measure, Lensobj *lensobj, StarPar *starpar, dbField *field) {
+dbValue dbExtractAverages (Average *average, SecFilt *secfilt, Measure *measure, Lensobj *lensobj, StarPar *starpar, GalPhot *galphot, dbField *field) {
 
   // off_t i;
@@ -413,4 +413,5 @@
       break;
 
+      // this section assumes a 1-to-1 match between average and starpar
     case AVE_E_BV:             { value.Flt = starpar->Ebv;      break; }
     case AVE_E_BV_ERR:         { value.Flt = starpar->dEbv;     break; }
@@ -426,4 +427,17 @@
     case AVE_DEC_GALMODEL:     { value.Flt = starpar->D;        break; }
 
+    case AVE_GAL_MAG:          { value.Flt = NAN;               break; }
+    case AVE_GAL_MAG_ERR:      { value.Flt = NAN;               break; }
+    case AVE_GAL_MAJ:          { value.Flt = NAN;               break; }
+    case AVE_GAL_MAJ_ERR:      { value.Flt = NAN;               break; }
+    case AVE_GAL_MIN:          { value.Flt = NAN;               break; }
+    case AVE_GAL_MIN_ERR:      { value.Flt = NAN;               break; }
+    case AVE_GAL_THETA:        { value.Flt = NAN;               break; }
+    case AVE_GAL_THETA_ERR:    { value.Flt = NAN;               break; }
+    case AVE_GAL_INDEX:        { value.Flt = NAN;               break; }
+    case AVE_GAL_CHISQ:        { value.Flt = NAN;               break; }
+    case AVE_GAL_NPIX:         { value.Flt = NAN;               break; }
+    case AVE_GAL_TYPE:         { value.Flt = NAN;               break; }
+
     case AVE_TYPE:
       break;
Index: trunk/Ohana/src/libdvo/src/dbFields.c
===================================================================
--- trunk/Ohana/src/libdvo/src/dbFields.c	(revision 38600)
+++ trunk/Ohana/src/libdvo/src/dbFields.c	(revision 38601)
@@ -161,22 +161,21 @@
 }
 
-int dbFieldNeedStarpar (dbField *fields, int Nfields, int isAverage) {
+int dbFieldNeedGalphot (dbField *fields, int Nfields) {
   int i;
   for (i = 0; i < Nfields; i++) {
-    if (isAverage) {
-      if (fields[i].ID == AVE_E_BV)             return TRUE;
-      if (fields[i].ID == AVE_E_BV_ERR)         return TRUE;
-      if (fields[i].ID == AVE_DISTANCE_MOD)     return TRUE;
-      if (fields[i].ID == AVE_DISTANCE_MOD_ERR) return TRUE;
-      if (fields[i].ID == AVE_M_R)              return TRUE;
-      if (fields[i].ID == AVE_M_R_ERR)          return TRUE;
-      if (fields[i].ID == AVE_FEH)              return TRUE;
-      if (fields[i].ID == AVE_FEH_ERR)          return TRUE;
-      if (fields[i].ID == AVE_URA_GALMODEL)     return TRUE;
-      if (fields[i].ID == AVE_UDEC_GALMODEL)    return TRUE;
-      if (fields[i].ID == AVE_RA_GALMODEL)      return TRUE;
-      if (fields[i].ID == AVE_DEC_GALMODEL)     return TRUE;
-    }
-  }
+    if (fields[i].ID == AVE_GAL_MAG         ) return TRUE;
+    if (fields[i].ID == AVE_GAL_MAG_ERR     ) return TRUE;
+    if (fields[i].ID == AVE_GAL_MAJ         ) return TRUE;
+    if (fields[i].ID == AVE_GAL_MAJ_ERR     ) return TRUE;
+    if (fields[i].ID == AVE_GAL_MIN         ) return TRUE;
+    if (fields[i].ID == AVE_GAL_MIN_ERR     ) return TRUE;
+    if (fields[i].ID == AVE_GAL_THETA       ) return TRUE;
+    if (fields[i].ID == AVE_GAL_THETA_ERR   ) return TRUE;
+    if (fields[i].ID == AVE_GAL_INDEX       ) return TRUE;
+    if (fields[i].ID == AVE_GAL_CHISQ       ) return TRUE;
+    if (fields[i].ID == AVE_GAL_NPIX        ) return TRUE;
+    if (fields[i].ID == AVE_GAL_TYPE        ) return TRUE;
+  }
+  return FALSE;
 }
 
