Index: trunk/psphot/src/psphot.h
===================================================================
--- trunk/psphot/src/psphot.h	(revision 5654)
+++ trunk/psphot/src/psphot.h	(revision 5672)
@@ -3,11 +3,13 @@
 # include <unistd.h>   // for unlink
 # include <pslib.h>
+# include <pmObjects.h>
+# include <pmPSF.h>
+# include <pmPSFtry.h>
+# include <pmModelGroup.h>
 # include "psLibUtils.h"
-# include "pmObjects_EAM.h"
 # include "psModulesUtils.h"
-# include "pmPSF.h"
-# include "pmPSFtry.h"
-# include "pmModelGroup.h"
 # include "psSparse.h"
+
+# define psMemCopy(A)(psMemIncrRefCounter((A)))
 
 typedef struct {
@@ -32,4 +34,5 @@
 bool         psphotSubtractPSF (pmSource *source);
 int 	     psphotSortBySN (const void **a, const void **b);
+int 	     psphotSortByY (const void **a, const void **b);
 int          psphotSaveImage (psMetadata *header, psImage *image, char *filename);
 bool 	     psphotDefinePixels (pmSource *mySource, const eamReadout *imdata, psF32 x, psF32 y, psF32 Radius);
@@ -61,2 +64,10 @@
 psMetadata *modelTestArguments (int *argc, char **argv);
 bool modelTestFitSource (eamReadout *imdata, psMetadata *config);
+bool psphotEnsemblePSF (eamReadout *imdata, psMetadata *config, psArray *sources, pmPSF *psf, psStats *sky);
+float psphotCrossProduct (pmSource *Mi, pmSource *Mj);
+psPolynomial2D *psphotImageBackground (eamReadout *imdata, psMetadata *config, psStats *sky);
+bool psphotReapplyPSF (eamReadout *imdata, psMetadata *config, psArray *sources, pmPSF *psf, psStats *sky);
+
+pmModel *pmModelCopy (pmModel *model);
+psArray *pmSourceContour_EAM (psImage *image, int x, int y, float threshold);
+psMetadata *psphotTestArguments (int *argc, char **argv);
