Changeset 4375 for trunk/psphot/src/psphot.h
- Timestamp:
- Jun 24, 2005, 5:38:37 AM (21 years ago)
- File:
-
- 1 edited
-
trunk/psphot/src/psphot.h (modified) (4 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/psphot/src/psphot.h
r4251 r4375 5 5 # include <unistd.h> 6 6 # include <stdlib.h> 7 # include <math.h> 8 9 # define M_PI 3.14159265358979323846264338328 /* pi */ 7 10 8 11 typedef struct { … … 22 25 psVector *mask; 23 26 psVector *metric; 24 psStats *metricStats; 27 psVector *fitMag; 28 float ApResid; 29 float dApResid; 30 float skyBias; 25 31 } pmPSF_Test; 26 32 27 bool psTimerStart (char *name); 28 psF64 psTimerMark (char *name); 33 // used by mask operations 34 # define AND true 35 # define OR false 29 36 30 bool psImageInit (psImage *image,...);31 void psImageSmooth (psImage *image, float sigma, float Nsigma);32 psRegion *psRegionForImage (psRegion *out, psImage *image, psRegion *in);33 37 38 // top-level psphot functions 39 psImageData *setup (psMetadata *config); 40 psStats *image_stats (psImageData *imdata, psMetadata *config); 41 psArray *find_peaks (psImageData *imdata, psMetadata *config, psStats *sky); 42 psArray *source_moments (psImageData *imdata, psMetadata *config, psArray *allpeaks); 43 pmPSF *choose_psf_model (psMetadata *config, psArray *sources, psStats *sky); 44 bool apply_psf_model (psImageData *imdata, psMetadata *config, psArray *sources, pmPSF *psf, psStats *sky); 45 bool test_psf_scatter (psArray *sources); 46 bool mark_psf_sources (psArray *sources, psMetadata *config); 47 bool subtract_psf_sources (psArray *sources); 48 bool fit_galaxies (psImage *image, psMetadata *config, psArray *sources); 49 bool subtract_galaxies (psArray *sources, psMetadata *config); 50 bool subtract_psf_source (psSource *source); 51 bool mark_psf_source (psSource *source, float shapeNsigma); 52 bool find_defects (psImage *zapmask, psArray *sources, psMetadata *config, pmPSF *psf); 53 54 // psf utilities 55 pmPSF *pmPSFAlloc (psModelType type); 56 pmPSF_Test *pmPSF_TestAlloc (psArray *stars, char *modelName); 57 pmPSF_Test *pmPSF_TestModel (psArray *sources, char *modelName, float radius); 58 bool pmPSFFromModels (pmPSF *psf, psArray *models, psVector *mask); 59 psModel *psModelFromPSF (psModel *model, pmPSF *psf); 60 bool pmSourcePhotometry (float *fitMag, float *obsMag, psModel *model, psImage *image, psImage *mask); 61 bool pmPSFMetricModel (pmPSF_Test *test, float RADIUS); 62 63 // output options 34 64 bool DumpPeaks (psArray *sources, char *filename); 35 65 bool DumpMoments (psArray *sources, char *filename); … … 38 68 bool DumpImage (psImage *image, char *filename); 39 69 70 // psphot utilities 40 71 int usage (); 41 int get_argument (int argc, char **argv, char *arg);42 int remove_argument (int N, int *argc, char **argv);43 72 psMetadata *load_args (int *argc, char **argv); 44 73 int by_SN (const void **a, const void **b); 45 74 psArray *pmPeaksSubset(psArray *peaks, psF32 maxValue, const psRegion *valid); 46 75 psArray *SelectPSFStars (psArray *sources); 47 48 psF32 pmConfigLookupF32 (bool *status, psMetadata *config, psMetadata *header, char *name);49 50 psF32 Polynomial2DEval(const psPolynomial2D* myPoly, psF32 x, psF32 y);51 psImage *psBuildSums2D(psImage* sums,psF64 x,psF64 y,psS32 nXterm, psS32 nYterm);52 psPolynomial1D* VectorFitPolynomial1DOrd_EAM(psPolynomial1D* myPoly, psVector* mask, const psVector* x, const psVector* y, const psVector* yErr);53 psPolynomial2D* VectorFitPolynomial2DOrd_EAM(psPolynomial2D* myPoly, psVector* mask, const psVector* x, const psVector* y, const psVector* z, const psVector* zErr);54 psPolynomial2D* Polynomial2DAlloc(psS32 nXorder, psS32 nYorder, psPolynomialType type);55 void psPolynomial2DDump (psPolynomial2D *poly);56 psPolynomial2D* RobustFit2D_nomask(psPolynomial2D* poly, const psVector* x, const psVector* y, const psVector* z, const psVector* zErr);57 psPolynomial2D* RobustFit2D(psPolynomial2D* poly, psVector* mask, const psVector* x, const psVector* y, const psVector* z, const psVector* zErr);58 psVector *Polynomial2DEvalVector(const psPolynomial2D *myPoly, const psVector *x,const psVector *y);59 psVector *psBuildSums1D(psVector* sums, psF64 x,psS32 nTerm);60 void psPolynomial1DDump (psPolynomial1D *poly);61 62 psS32 psLogArguments (int *argc, char **argv);63 psS32 psTraceArguments (int *argc, char **argv);64 psVector *p_psGetRowVectorFromImage(psImage *image, psU32 row);65 psVector *psGetRowVectorFromImage(psImage *image, psU32 row);66 67 pmPSF *pmPSFAlloc (psModelType type);68 pmPSF_Test *pmPSF_TestAlloc (psArray *stars, char *modelName);69 pmPSF_Test *pmPSF_TestModel (psArray *sources, char *modelName, float radius);70 71 bool pmPSFFromModels (pmPSF *psf, psArray *models, psVector *mask);72 psModel *psModelFromPSF (psModel *model, pmPSF *psf);73 void pmSourceMaskRegion (psSource *source, psRegion *region);74 void pmSourceMaskSaturated (psSource *source, float saturate);75 76 // top-level psphot functions77 psImageData *setup (psMetadata *config);78 psStats *image_stats (psImageData *imdata, psMetadata *config);79 psArray *find_peaks (psImageData *imdata, psMetadata *config, psStats *sky);80 psArray *source_moments (psImageData *imdata, psMetadata *config, psArray *allpeaks);81 pmPSF *choose_psf_model (psMetadata *config, psArray *sources);82 bool apply_psf_model (psImageData *imdata, psMetadata *config, psArray *sources, pmPSF *psf, psStats *sky);83 bool test_psf_scatter (psArray *sources);84 bool mark_psf_sources (psArray *sources, psMetadata *config);85 bool subtract_psf_sources (psArray *sources);86 bool fit_galaxies (psImage *image, psMetadata *config, psArray *sources);87 bool subtract_galaxies (psArray *sources, psMetadata *config);88 89 int by_SN (const void **a, const void **b);90 bool subtract_psf_source (psSource *source);91 bool mark_psf_source (psSource *source, float shapeNsigma);92 bool find_defects (psImage *zapmask, psArray *sources, psMetadata *config, pmPSF *psf);93 94 76 bool pmSourceDefinePixels(psSource *mySource, const psImageData *imdata, psF32 x, psF32 y, psF32 Radius); 95 77 bool pmSourceLocalSky_EAM (psSource *source, psStatsOptions statsOptions, psF32 Radius); 96 psRegion *psRegionSquare (psF32 x, psF32 y, psF32 radius); 78 79 // fitsource utilities 80 bool onesource (psImageData *imdata, psMetadata *config, char *modelName, float x, float y); 81 psMetadata *fs_args (int *argc, char **argv); 82 int fs_usage (); 97 83 98 84 // image mask functions … … 102 88 void psImageKeepCircle (psImage *image, double x, double y, double radius, bool logical_and, int maskValue); 103 89 104 # define AND true 105 # define OR false 90 // basic image functions 91 bool psImageInit (psImage *image,...); 92 void psImageSmooth (psImage *image, float sigma, float Nsigma); 93 psRegion *psRegionForImage (psRegion *out, psImage *image, psRegion *in); 94 psRegion *psRegionSquare (psF32 x, psF32 y, psF32 radius); 95 96 // misc global functions 97 psVector *p_psGetRowVectorFromImage(psImage *image, psU32 row); 98 psVector *psGetRowVectorFromImage(psImage *image, psU32 row); 99 100 // utilities 101 bool psTimerStart (char *name); 102 psF64 psTimerMark (char *name); 103 psS32 psLogArguments (int *argc, char **argv); 104 psS32 psTraceArguments (int *argc, char **argv); 105 int get_argument (int argc, char **argv, char *arg); 106 int remove_argument (int N, int *argc, char **argv); 107 psF32 pmConfigLookupF32 (bool *status, psMetadata *config, psMetadata *header, char *name); 108 psVector *psVectorCreate (double lower, double upper, double delta, psElemType type); 109 110 // polynomial functions 111 psF32 Polynomial2DEval(const psPolynomial2D* myPoly, psF32 x, psF32 y); 112 psImage *psBuildSums2D(psImage* sums,psF64 x,psF64 y,psS32 nXterm, psS32 nYterm); 113 psPolynomial2D* VectorFitPolynomial2DOrd_EAM(psPolynomial2D* myPoly, psVector* mask, const psVector* x, const psVector* y, const psVector* z, const psVector* zErr); 114 psPolynomial2D* Polynomial2DAlloc(psS32 nXorder, psS32 nYorder, psPolynomialType type); 115 void psPolynomial2DDump (psPolynomial2D *poly); 116 psPolynomial2D* RobustFit2D_nomask(psPolynomial2D* poly, const psVector* x, const psVector* y, const psVector* z, const psVector* zErr); 117 psPolynomial2D* RobustFit2D(psPolynomial2D* poly, psVector* mask, const psVector* x, const psVector* y, const psVector* z, const psVector* zErr); 118 psVector *Polynomial2DEvalVector(const psPolynomial2D *myPoly, const psVector *x,const psVector *y); 119 120 psVector *psBuildSums1D(psVector* sums, psF64 x,psS32 nTerm); 121 void psPolynomial1DDump (psPolynomial1D *poly); 122 psF32 Polynomial1DEval_EAM(psF32 x, const psPolynomial1D* myPoly); 123 psVector *Polynomial1DEvalVector_EAM(const psPolynomial1D *myPoly, const psVector *x); 124 psPolynomial1D* Polynomial1DAlloc(psS32 nOrder, psPolynomialType type); 125 psPolynomial1D* VectorFitPolynomial1DOrd_EAM(psPolynomial1D* myPoly, psVector* mask, const psVector* x, const psVector* y, const psVector* yErr); 126 127 // deprecated 128 void pmSourceMaskRegion (psSource *source, psRegion *region); 129 void pmSourceMaskSaturated (psSource *source, float saturate);
Note:
See TracChangeset
for help on using the changeset viewer.
