Index: trunk/psphot/src/psphot.h
===================================================================
--- trunk/psphot/src/psphot.h	(revision 5802)
+++ trunk/psphot/src/psphot.h	(revision 5828)
@@ -63,6 +63,4 @@
 
 // psphotModelTest functions
-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);
@@ -72,17 +70,44 @@
 pmModel        *pmModelCopy (pmModel *model);
 psArray        *pmSourceContour_EAM (psImage *image, int x, int y, float threshold);
-psMetadata     *psphotTestArguments (int *argc, char **argv);
 bool            psphotBasicDeblend (psArray *sources, psMetadata *config, psStats *sky);
 
 bool psphotFullFit (eamReadout *imdata, psMetadata *config, psArray *sources, pmPSF *psf, psStats *sky);
 bool psphotInitLimitsPSF (psMetadata *config);
-bool psphotEvalPSF (pmSource *source);
-bool psphotEvalFLT (pmSource *source);
+bool psphotEvalPSF (pmSource *source, pmModel *model);
+bool psphotEvalDBL (pmSource *source, pmModel *model);
+bool psphotEvalFLT (pmSource *source, pmModel *model);
 bool psphotInitRadiusPSF (psMetadata *config, psStats *sky, pmModelType type);
-bool psphotCheckRadiusPSF (eamReadout *imdata, pmSource *source);
+bool psphotCheckRadiusPSF (eamReadout *imdata, pmSource *source, pmModel *model);
 bool psphotInitRadiusFLT (psMetadata *config, psStats *sky, pmModelType type);
-bool psphotCheckRadiusFLT (eamReadout *imdata, pmSource *source);
-bool psphotSamplePSFs (pmPSF *psf, psImage *image);
+bool psphotCheckRadiusFLT (eamReadout *imdata, pmSource *source, pmModel *model);
+bool psphotSamplePSFs (psMetadata *config, pmPSF *psf, psImage *image);
 bool psphotReplaceUnfit (psArray *sources);
 bool psphotDumpMoments (psMetadata *config, psArray *sources);
 bool psphotApResid (psArray *sources, psMetadata *config, pmPSF *psf);
+bool psphotWritePSF (pmPSF *psf, char *filename);
+pmPSF *psphotReadPSF (char *filename);
+
+bool psPolynomial2DtoMD (psMetadata *md, psPolynomial2D *poly, char *format, ...);
+bool psPolynomial3DtoMD (psMetadata *md, psPolynomial3D *poly, char *format, ...);
+psPolynomial2D *psPolynomial2DfromMD (psMetadata *folder);
+psPolynomial3D *psPolynomial3DfromMD (psMetadata *folder);
+bool psphotModelTest (eamReadout *imdata, psMetadata *config);
+
+bool psphotFitSet (pmSource *oneSrc, pmModel *oneModel, char *fitset, bool PSF);
+bool pmSourceFitSet (pmSource *source, psArray *modelSet, const bool PSF);
+psF32 pmModelFitSet (psVector *deriv, const psVector *params, const psVector *x);
+bool pmModelFitSetInit (pmModelType type);
+
+bool psphotBlendFit (eamReadout *imdata, psMetadata *config, psArray *sources, pmPSF *psf, psStats *sky);
+
+bool psphotInitLimitsFLT (psMetadata *config, psStats *sky);
+
+bool psphotFitPSF (eamReadout *imdata, pmSource *source);
+bool psphotFitBlend (eamReadout *imdata, pmSource *source);
+bool psphotFitBlob (eamReadout *imdata, pmSource *source, psArray *sources);
+
+pmModel *psphotFitFLT (eamReadout *imdata, pmSource *source);
+psArray *psphotFitDBL (eamReadout *imdata, pmSource *source);
+
+psPolynomial2D *psImageBicubeFit (psImage *image, int x, int y);
+psPlane psImageBicubeMin (psPolynomial2D *poly);
