Index: trunk/psphot/src/psphot.h
===================================================================
--- trunk/psphot/src/psphot.h	(revision 4949)
+++ trunk/psphot/src/psphot.h	(revision 4954)
@@ -1,41 +1,35 @@
+# include <stdio.h>
+# include <strings.h>  // for strcasecmp
+# include <unistd.h>   // for unlink
 # include <pslib.h>
-// # include <pmObjects.h>
-// my additions and modifications:
 # include "pmObjects_EAM.h"
-# include <string.h>
-# include <strings.h>
-# include <unistd.h>
-# include <stdlib.h>
-# include <math.h>
-
-// # define  M_PI 3.14159265358979323846264338328      /* pi */
 
 typedef struct {
-  psImage *image;
-  psImage *mask;
-  psImage *noise;
-  psMetadata *header;
+    psImage *image;
+    psImage *mask;
+    psImage *noise;
+    psMetadata *header;
 } psImageData;
 
 // data to test a given PSF model type
 typedef struct {
-  pmModelType modelType;
-  pmPSF      *psf;
-  psArray    *sources;      // pointers to the original sources
-  psArray    *modelFLT;     // model fits, floating parameters 
-  psArray    *modelPSF;     // model fits, PSF parameters
-  psVector   *mask;
-  psVector   *metric;
-  psVector   *fitMag;
-  float       ApResid;
-  float       dApResid;
-  float       skyBias;
+    pmModelType modelType;
+    pmPSF      *psf;
+    psArray    *sources;      // pointers to the original sources
+    psArray    *modelFLT;     // model fits, floating parameters 
+    psArray    *modelPSF;     // model fits, PSF parameters
+    psVector   *mask;
+    psVector   *metric;
+    psVector   *fitMag;
+    float       ApResid;
+    float       dApResid;
+    float       skyBias;
 } pmPSF_Test;
 
 // structure to carry a dynamic string
 typedef struct {
-  int NLINE;
-  int Nline;
-  char *line;
+    int NLINE;
+    int Nline;
+    char *line;
 } psLine;
 
@@ -43,10 +37,6 @@
     PSPHOT_MASK_INVALID   = 0x01,
     PSPHOT_MASK_SATURATED = 0x02,
-    PSPHOT_MASK_KEEP      = 0x08,
+    PSPHOT_MASK_MARKED    = 0x08,
 } MaskValues;
-
-// used by mask operations
-# define AND true
-# define OR false
 
 # define psMemCopy(A)(psMemIncrRefCounter((A)))
@@ -116,15 +106,10 @@
 psF32        pmConfigLookupF32 (bool *status, psMetadata *config, psMetadata *header, char *name);
 psVector    *psVectorCreate (double lower, double upper, double delta, psElemType type);
-//void 	     psImageMaskRegion (psImage *image, psRegion *region, bool logical_and, int maskValue);
-//void 	     psImageKeepRegion (psImage *image, psRegion *region, bool logical_and, int maskValue);
-//void 	     psImageMaskCircle (psImage *image, double x, double y, double radius, bool logical_and, int maskValue);
-//void 	     psImageKeepCircle (psImage *image, double x, double y, double radius, bool logical_and, int maskValue);
 psVector    *psGetRowVectorFromImage(psImage *image, psU32 row);
+int          psImageCountPixelMask (psImage *mask, psU8 value);
 
 // basic image functions
 bool         psImageInit (psImage *image,...);
-//void	     psImageSmooth (psImage *image, float sigma, float Nsigma);
-//psRegion    *psRegionForImage (psRegion *out, psImage *image, psRegion *in);
-psRegion    *psRegionSquare (psF32 x, psF32 y, psF32 radius);
+void	     psImageSmooth_EAM (psImage *image, float sigma, float Nsigma);
 int          psphotSaveImage (psMetadata *header, psImage *image, char *filename);
 
@@ -135,5 +120,5 @@
 
 // polynomial functions
-psF32	        Polynomial2DEval(const psPolynomial2D* myPoly, psF32 x, psF32 y);
+psF64	        Polynomial2DEval(const psPolynomial2D* myPoly, psF64 x, psF64 y);
 psImage	       *psBuildSums2D(psImage* sums,psF64 x,psF64 y,psS32 nXterm, psS32 nYterm);
 psPolynomial2D *VectorFitPolynomial2DOrd_EAM(psPolynomial2D* myPoly, psVector* mask, const psVector* x, const psVector* y, const psVector* z, const psVector* zErr);
@@ -143,14 +128,27 @@
 psPolynomial2D *RobustFit2D(psPolynomial2D* poly, psVector* mask, const psVector* x, const psVector* y, const psVector* z, const psVector* zErr);
 psVector       *Polynomial2DEvalVector(const psPolynomial2D *myPoly, const psVector *x,const psVector *y);
+
 psVector       *psBuildSums1D(psVector* sums, psF64 x,psS32 nTerm);
 void	        psPolynomial1DDump (psPolynomial1D *poly);
-psF32		Polynomial1DEval_EAM(psF32 x, const psPolynomial1D* myPoly);
+psF64		Polynomial1DEval_EAM(psF64 x, const psPolynomial1D* myPoly);
 psVector       *Polynomial1DEvalVector_EAM(const psPolynomial1D *myPoly, const psVector *x);
 psPolynomial1D *Polynomial1DAlloc(psS32 nOrder, psPolynomialType type);
 psPolynomial1D *VectorFitPolynomial1DOrd_EAM(psPolynomial1D* myPoly, psVector* mask, const psVector* x, const psVector* y, const psVector* yErr);
 
-// fitsource
-bool	        onesource (psImageData *imdata, psMetadata *config, char *modelName, float x, float y);
-psMetadata     *fs_args (int *argc, char **argv);
-int             fs_usage ();
-bool		DumpImage (psImage *image, char *filename);
+// XXX EAM : bug : missing from psLib/*.h
+bool psMinimizeGaussNewtonDelta (psVector *delta,
+                                 const psVector *params,
+                                 const psVector *paramMask,
+                                 const psArray  *x,
+                                 const psVector *y,
+                                 const psVector *yErr,
+                                 psMinimizeLMChi2Func func);
+
+// not included in the .h file?
+bool p_psVectorPrint (
+    int fd,                            ///< output file descriptor
+    psVector *a,                       ///< vector to print
+    char *name                         ///< name of vector (for title)
+);
+
+bool p_psVectorPrintRow (int fd, psVector *a, char *name);
