Index: trunk/psphot/src/psphot.h
===================================================================
--- trunk/psphot/src/psphot.h	(revision 4115)
+++ trunk/psphot/src/psphot.h	(revision 4129)
@@ -21,4 +21,5 @@
 psF64 psTimerMark (char *name);
 
+bool psImageInit (psImage *image,...);
 void psImageSmooth (psImage *image, float sigma, float Nsigma);
 psRegion *psRegionForImage (psRegion *out, psImage *image, psRegion *in);
@@ -40,9 +41,10 @@
 psF32 Polynomial2DEval(const psPolynomial2D* myPoly, psF32 x, psF32 y);
 psImage *psBuildSums2D(psImage* sums,psF64 x,psF64 y,psS32 nXterm, psS32 nYterm);
-psPolynomial1D* VectorFitPolynomial1DOrd_EAM(psPolynomial1D* myPoly, const psVector* x, const psVector* y, const psVector* yErr);
-psPolynomial2D* VectorFitPolynomial2DOrd_EAM(psPolynomial2D* myPoly, const psVector* x, const psVector* y, const psVector* z, const psVector* zErr);
+psPolynomial1D* VectorFitPolynomial1DOrd_EAM(psPolynomial1D* myPoly, psVector* mask, const psVector* x, const psVector* y, const psVector* yErr);
+psPolynomial2D* VectorFitPolynomial2DOrd_EAM(psPolynomial2D* myPoly, psVector* mask, const psVector* x, const psVector* y, const psVector* z, const psVector* zErr);
 psPolynomial2D* Polynomial2DAlloc(psS32 nXorder, psS32 nYorder, psPolynomialType type);
 void psPolynomial2DDump (psPolynomial2D *poly);
-psPolynomial2D* RobustFit2D(psPolynomial2D* poly, const psVector* x, const psVector* y, const psVector* z, const psVector* zErr);
+psPolynomial2D* RobustFit2D_nomask(psPolynomial2D* poly, const psVector* x, const psVector* y, const psVector* z, const psVector* zErr);
+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);
@@ -58,5 +60,5 @@
 pmPSF_Test *pmPSF_TestModel (psArray *stars, char *modelName);
 
-bool pmPSFFromModels (pmPSF *psf, psArray *models);
+bool pmPSFFromModels (pmPSF *psf, psArray *models, psVector *mask);
 psModel *psModelFromPSF (psModel *model, pmPSF *psf);
 void pmSourceMaskRegion (psSource *source, psRegion *region);
@@ -75,2 +77,7 @@
 bool fit_galaxies (psImage *image, psMetadata *config, psArray *sources);
 bool subtract_galaxies (psArray *sources, psMetadata *config);
+
+int by_SN (const void **a, const void **b);
+bool subtract_psf_source (psSource *source);
+bool mark_psf_source (psSource *source, float shapeNsigma);
+bool find_defects (psImage *zapmask, psArray *sources, psMetadata *config, pmPSF *psf);
