Index: /trunk/psastro/src/psastro.h
===================================================================
--- /trunk/psastro/src/psastro.h	(revision 7635)
+++ /trunk/psastro/src/psastro.h	(revision 7636)
@@ -19,5 +19,6 @@
 bool              psastroDataSave (pmConfig *config);
 
-bool              psastroConvert (pmReadout *readout, psMetadata *recipe);
+bool              psastroConvertFPA (pmFPA *fpa, psMetadata *recipe);
+bool              psastroConvertReadout (pmReadout *readout, psMetadata *recipe);
 psArray          *pmSourceToAstromObj (psArray *sources);
 bool              psastroAstromGuess (pmConfig *config);
Index: /trunk/psastro/src/psastroConvert.c
===================================================================
--- /trunk/psastro/src/psastroConvert.c	(revision 7635)
+++ /trunk/psastro/src/psastroConvert.c	(revision 7636)
@@ -2,6 +2,33 @@
 // XXX leak free 2006.04.27
 
+bool psastroConvertFPA (pmFPA *fpa, psMetadata *recipe) {
+
+    pmChip *chip;
+    pmCell *cell;
+    pmReadout *readout;
+    pmFPAview *view = pmFPAviewAlloc (0);
+ 
+    while ((chip = pmFPAviewNextChip (view, fpa, 1)) != NULL) {
+        psTrace (__func__, 4, "Chip %d: %x %x\n", view->chip, chip->file_exists, chip->process);
+        if (!chip->process || !chip->file_exists) { continue; }
+
+	while ((cell = pmFPAviewNextCell (view, fpa, 1)) != NULL) {
+            psTrace (__func__, 4, "Cell %d: %x %x\n", view->cell, cell->file_exists, cell->process);
+            if (!cell->process || !cell->file_exists) { continue; }
+
+	    // process each of the readouts
+	    while ((readout = pmFPAviewNextReadout (view, fpa, 1)) != NULL) {
+		if (! readout->data_exists) { continue; }
+
+		psastroConvertReadout (readout, recipe);
+	    }
+	}
+    }
+    psFree (view);
+    return true;
+}
+
 // XXX pass/apply the WCS information?
-bool psastroConvert (pmReadout *readout, psMetadata *recipe) {
+bool psastroConvertReadout (pmReadout *readout, psMetadata *recipe) {
 
     psArray *sources = psMetadataLookupPtr (NULL, readout->analysis, "PSPHOT.SOURCES");
Index: /trunk/psastro/src/psastroDataLoad.c
===================================================================
--- /trunk/psastro/src/psastroDataLoad.c	(revision 7635)
+++ /trunk/psastro/src/psastroDataLoad.c	(revision 7636)
@@ -51,5 +51,5 @@
 		if (! readout->data_exists) { continue; }
 
-		psastroConvert (readout, recipe);
+		psastroConvertReadout (readout, recipe);
 
 		pmFPAfileIOChecks (config, view, PM_FPA_AFTER);
