Index: /trunk/psastro/src/psastroConvert.c
===================================================================
--- /trunk/psastro/src/psastroConvert.c	(revision 16071)
+++ /trunk/psastro/src/psastroConvert.c	(revision 16072)
@@ -57,4 +57,19 @@
     float iMagMin = psMetadataLookupF32 (&status, recipe, "PSASTRO.MIN.INST.MAG.RAW");
 
+    // we are going to select the brighter Nmax subset for astrometry 
+    pmSourceMode skip = PM_SOURCE_MODE_DEFAULT;
+    char *ignoreList = psMetadataLookupStr (&status, recipe, "PSASTRO.IGNORE");
+    if (ignoreList != NULL) {
+      psArray *list = psStringSplitArray (ignoreList, ",", false);
+      for (int i = 0; i < list->n; i++) {
+	pmSourceMode mode = pmSourceModeFromString (list->data[i]);
+	if (mode == PM_SOURCE_MODE_DEFAULT) {
+	  psWarning ("unknown source mode in PSASTRO.IGNORE, skipping");
+	  continue;
+	}
+	skip |= mode;
+      }
+      psFree (list);
+    }
 
     // choose the first nMax sources
@@ -69,6 +84,5 @@
 	pmSource *source = sources->data[n];
 	// XXX this needs to be flexible
-	if (source->mode & PM_SOURCE_MODE_SATSTAR) continue;
-	if (source->mode & PM_SOURCE_MODE_BLEND) continue;
+	if (source->mode & skip) continue;
 	if ((iMagMax != 0.0) && (source->psfMag > iMagMax)) continue;
 	if ((iMagMin != 0.0) && (source->psfMag < iMagMin)) continue;
