Index: trunk/psphot/src/psphot.h
===================================================================
--- trunk/psphot/src/psphot.h	(revision 4216)
+++ trunk/psphot/src/psphot.h	(revision 4251)
@@ -41,4 +41,5 @@
 int get_argument (int argc, char **argv, char *arg);
 int remove_argument (int N, int *argc, char **argv);
+psMetadata *load_args (int *argc, char **argv);
 
 psArray *pmPeaksSubset(psArray *peaks, psF32 maxValue, const psRegion *valid);
@@ -66,5 +67,5 @@
 pmPSF *pmPSFAlloc (psModelType type);
 pmPSF_Test *pmPSF_TestAlloc (psArray *stars, char *modelName);
-pmPSF_Test *pmPSF_TestModel (psArray *stars, char *modelName);
+pmPSF_Test *pmPSF_TestModel (psArray *sources, char *modelName, float radius);
 
 bool pmPSFFromModels (pmPSF *psf, psArray *models, psVector *mask);
@@ -74,10 +75,10 @@
 
 // top-level psphot functions
-bool setup (psImage **image, psMetadata **header, psMetadata **config, char **argv);
-psStats *image_stats (psImage *image, psMetadata *config);
-psArray *find_peaks (psImage *image, psMetadata *config, psStats *sky);
-psArray *source_moments (psImage *image, psMetadata *config, psArray *allpeaks);
-pmPSF *choose_psf_model (psImage *image, psMetadata *config, psArray *sources);
-bool apply_psf_model (psImage *image, psMetadata *config, psArray *sources, pmPSF *psf, psStats *sky);
+psImageData *setup (psMetadata *config);
+psStats *image_stats (psImageData *imdata, psMetadata *config);
+psArray *find_peaks (psImageData *imdata, psMetadata *config, psStats *sky);
+psArray *source_moments (psImageData *imdata, psMetadata *config, psArray *allpeaks);
+pmPSF *choose_psf_model (psMetadata *config, psArray *sources);
+bool apply_psf_model (psImageData *imdata, psMetadata *config, psArray *sources, pmPSF *psf, psStats *sky);
 bool test_psf_scatter (psArray *sources);
 bool mark_psf_sources (psArray *sources, psMetadata *config);
@@ -90,2 +91,15 @@
 bool mark_psf_source (psSource *source, float shapeNsigma);
 bool find_defects (psImage *zapmask, psArray *sources, psMetadata *config, pmPSF *psf);
+
+bool pmSourceDefinePixels(psSource *mySource, const psImageData *imdata, psF32 x, psF32 y, psF32 Radius);
+bool pmSourceLocalSky_EAM (psSource *source, psStatsOptions statsOptions, psF32 Radius);
+psRegion *psRegionSquare (psF32 x, psF32 y, psF32 radius);
+
+// image mask functions
+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);
+
+# define AND true
+# define OR false
