Index: /branches/eam_branches/ipp-20220316/fpcamera/doc/notes.txt
===================================================================
--- /branches/eam_branches/ipp-20220316/fpcamera/doc/notes.txt	(revision 42222)
+++ /branches/eam_branches/ipp-20220316/fpcamera/doc/notes.txt	(revision 42223)
@@ -8,2 +8,8 @@
   psphotDefineHeader    : moves the values from readout->analysis to PSPHOT.HEADER
   
+pmSourceID : appends the header MD entries from PSPHOT.HEADER & PSASTRO.HEADER to the output cmf
+
+psastro ---
+
+psastroMosaicOneChip : measure stats for astrom, Nstars, etc : PSASTRO.HEADER
+
Index: /branches/eam_branches/ipp-20220316/fpcamera/src/Makefile.am
===================================================================
--- /branches/eam_branches/ipp-20220316/fpcamera/src/Makefile.am	(revision 42222)
+++ /branches/eam_branches/ipp-20220316/fpcamera/src/Makefile.am	(revision 42223)
@@ -19,8 +19,8 @@
 	fpcameraLoadRefstars.c      \
 	fpcameraChooseRefstars.c    \
+	fpcameraMetadataStats.c     \
 	fpcameraCleanup.c
 
 unused = \
-	fpcameraMetadataStats.c      \
 	fpcameraMaskUpdates.c        \
 	fpcameraMaskUtils.c          \
@@ -72,5 +72,7 @@
 fpcameraVersion.c: fpcameraVersionDefinitions.h
 fpcameraVersionDefinitions.h: fpcameraVersionDefinitions.h.in FORCE
-#pslib-setsvnversion.pl FPCAMERA fpcameraVersionDefinitions.h.in fpcameraVersionDefinitions.h
-	cat fpcameraVersionDefinitions.h.in | tr '@' '"' > fpcameraVersionDefinitions.h
+	pslib-setsvnversion.pl FPCAMERA fpcameraVersionDefinitions.h.in fpcameraVersionDefinitions.h
+
 FORCE: ;
+
+# cat fpcameraVersionDefinitions.h.in | tr '@' '"' > fpcameraVersionDefinitions.h
Index: /branches/eam_branches/ipp-20220316/fpcamera/src/fpcameraDataSave.c
===================================================================
--- /branches/eam_branches/ipp-20220316/fpcamera/src/fpcameraDataSave.c	(revision 42222)
+++ /branches/eam_branches/ipp-20220316/fpcamera/src/fpcameraDataSave.c	(revision 42223)
@@ -75,8 +75,4 @@
     }
 
-    // activate all files except FPCAMERA.OUTPUT, and PSPHOT.OUTPUT.CFF
-    // pmFPAfileActivate (config->files, true, NULL);
-    // pmFPAfileActivate (config->files, false, "FPCAMERA.OUTPUT");
-
     psFree (view);
     return true;
Index: /branches/eam_branches/ipp-20220316/fpcamera/src/fpcameraMetadataStats.c
===================================================================
--- /branches/eam_branches/ipp-20220316/fpcamera/src/fpcameraMetadataStats.c	(revision 42222)
+++ /branches/eam_branches/ipp-20220316/fpcamera/src/fpcameraMetadataStats.c	(revision 42223)
@@ -1,49 +1,31 @@
-/** @file fpcameraMetaDataStats.c
- *
- *  @brief
- *
- *  @ingroup fpcamera
- *
- *  @author IfA
- *  @version $Revision: 1.3 $ $Name: not supported by cvs2svn $
- *  @date $Date: 2009-02-07 02:03:34 $
- *  Copyright 2009 Institute for Astronomy, University of Hawaii
- */
+# include "fpcamera.h"
 
-# include "fpcameraInternal.h"
+# define ESCAPE(ERROR,...) { p_psError(__FILE__,__LINE__,__func__,ERROR,false,__VA_ARGS__); psFree (statsMDC); psFree(view); psFree(resolved); return false; }
 
 bool fpcameraMetadataStats (pmConfig *config, psMetadata *stats) {
 
     bool status;
+    char *statsMDC = NULL;
+    pmFPAview *view = NULL;
+    psString resolved = NULL;
 
     char *filename = psMetadataLookupStr (&status, config->arguments, "STATS");
     if (!filename) return true; // stats not requested
 
-    // Extract statistics from the last output fpa
+    // Extract statistics from the output fpa
     pmFPAfile *output = psMetadataLookupPtr(&status, config->files, "FPCAMERA.OUTPUT");
-
-    if (!output) {
-        psError(PS_ERR_UNEXPECTED_NULL, true, "Unable to find output file (FPCAMERA.OUTPUT).");
-        return false;
-    }
+    if (!output) ESCAPE (PS_ERR_UNEXPECTED_NULL, "Unable to find output file (FPCAMERA.OUTPUT).");
 
     // extract stats for the complete fpa
-    pmFPAview *view = pmFPAviewAlloc(0);
+    view = pmFPAviewAlloc(0);
 
     // Entries in the FPCAMERA.HEADER in the FPA don't get seen by ppStats
     psMetadata *header = psMetadataLookupMetadata(&status, output->fpa->analysis, "FPCAMERA.HEADER");
     if (status && header) {
-        psMetadataItemSupplement(&status, stats, header, "ZPT_OBS");
+        psMetadataItemSupplement(&status, stats, header, "ZPT_OBS"); // XXX not yet calculated
         psMetadataItemSupplement(&status, stats, header, "ZPT_ERR");
-        psMetadataItemSupplement(&status, stats, header, "NASTRO");
     }
 
-    if (!ppStatsMetadata(stats, output->fpa, view, 0, config)) {
-        psError(PS_ERR_UNEXPECTED_NULL, false, "Unable to generate stats for image.");
-        psFree(view);
-        return false;
-    }
-
-    psFree(view);
+    if (!ppStatsMetadata(stats, output->fpa, view, 0, config)) ESCAPE (PS_ERR_UNEXPECTED_NULL, "Unable to generate stats for image.");
 
     // if we did not request any specific stats, the structure is empty
@@ -54,43 +36,24 @@
 
     // convert the stats MDC to a string
-    char *statsMDC = psMetadataConfigFormat(stats);
-    if (!statsMDC || strlen(statsMDC) == 0) {
-        psError(PS_ERR_IO, false, "Unable to serialize stats metadata.\n");
-        return false;
-    }
+    statsMDC = psMetadataConfigFormat(stats);
+    if (!statsMDC || strlen(statsMDC) == 0) ESCAPE(PS_ERR_IO, "Unable to serialize stats metadata.\n");
 
     // convert to a real UNIX filename
-    psString resolved = pmConfigConvertFilename(filename, config, true, false); // Resolved filename
-    if (!resolved) {
-        psError(psErrorCodeLast(), false, "Unable to resolve statistics filename: %s", filename);
-        psFree(statsMDC);
-        return false;
-    }
+    resolved = pmConfigConvertFilename(filename, config, true, false); // Resolved filename
+    if (!resolved) ESCAPE(psErrorCodeLast(), "Unable to resolve statistics filename: %s", filename);
+
     FILE *statsFile = fopen (resolved, "w");
-    if (!statsFile) {
-        psError(PS_ERR_IO, true, "Unable to open statistics file %s for writing.\n", resolved);
-        psFree(statsMDC);
-        psFree(resolved);
-        return false;
-    }
+    if (!statsFile) ESCAPE (PS_ERR_IO, "Unable to open statistics file %s for writing.\n", resolved);
 
     // write the stats MDC to a file
-    if (fprintf(statsFile, "%s", statsMDC) != strlen(statsMDC)) {
-        psError(PS_ERR_IO, false, "Unable to write statistics file %s", resolved);
-        psFree(statsMDC);
-        psFree(resolved);
-        return false;
-    }
-    psFree(statsMDC);
-    if (fclose(statsFile) == EOF) {
-        psError(PS_ERR_IO, false, "Unable to write statistics file %s", resolved);
-        psFree(resolved);
-        return false;
-    }
-
-    psFree(resolved);
+    if (fprintf(statsFile, "%s", statsMDC) != strlen(statsMDC)) ESCAPE (PS_ERR_IO, "Unable to write statistics file %s", resolved);
+    if (fclose(statsFile) == EOF) ESCAPE (PS_ERR_IO, "Unable to write statistics file %s", resolved);
 
     pmConfigRunFilenameAddWrite(config, "STATS", filename);
 
+    psFree(resolved);
+    psFree(statsMDC);
+    psFree(view);
+
     return true;
 }
Index: /branches/eam_branches/ipp-20220316/fpcamera/src/fpcameraVersion.c
===================================================================
--- /branches/eam_branches/ipp-20220316/fpcamera/src/fpcameraVersion.c	(revision 42222)
+++ /branches/eam_branches/ipp-20220316/fpcamera/src/fpcameraVersion.c	(revision 42223)
@@ -58,5 +58,5 @@
     psString source = fpcameraSource();   // Software source
 
-    psMetadataAddStr(header, PS_LIST_TAIL, "ASTRO_V", PS_META_REPLACE, NULL, FPCAMERA_VERSION);
+    psMetadataAddStr(header, PS_LIST_TAIL, "FPCAM_V", PS_META_REPLACE, NULL, FPCAMERA_VERSION);
     
     psStringPrepend(&version, "fpcamera version: ");
