Changeset 4977 for trunk/psphot/src/psphot.h
- Timestamp:
- Sep 7, 2005, 6:32:40 PM (21 years ago)
- File:
-
- 1 edited
-
trunk/psphot/src/psphot.h (modified) (4 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/psphot/src/psphot.h
r4954 r4977 3 3 # include <unistd.h> // for unlink 4 4 # include <pslib.h> 5 # include "psLibUtils.h" 5 6 # include "pmObjects_EAM.h" 7 # include "psModulesUtils.h" 8 # include "pmPSF.h" 9 # include "pmPSFtry.h" 10 # include "pmModelGroup.h" 6 11 7 12 typedef struct { … … 11 16 psMetadata *header; 12 17 } psImageData; 13 14 // data to test a given PSF model type15 typedef struct {16 pmModelType modelType;17 pmPSF *psf;18 psArray *sources; // pointers to the original sources19 psArray *modelFLT; // model fits, floating parameters20 psArray *modelPSF; // model fits, PSF parameters21 psVector *mask;22 psVector *metric;23 psVector *fitMag;24 float ApResid;25 float dApResid;26 float skyBias;27 } pmPSF_Test;28 29 // structure to carry a dynamic string30 typedef struct {31 int NLINE;32 int Nline;33 char *line;34 } psLine;35 36 enum {37 PSPHOT_MASK_INVALID = 0x01,38 PSPHOT_MASK_SATURATED = 0x02,39 PSPHOT_MASK_MARKED = 0x08,40 } MaskValues;41 42 # define psMemCopy(A)(psMemIncrRefCounter((A)))43 18 44 19 // top-level psphot functions … … 56 31 bool psphotSubtractPSF (pmSource *source); 57 32 int psphotSortBySN (const void **a, const void **b); 33 int psphotSaveImage (psMetadata *header, psImage *image, char *filename); 34 bool psphotDefinePixels (pmSource *mySource, const psImageData *imdata, psF32 x, psF32 y, psF32 Radius); 58 35 59 36 // psImageData functions 60 37 psImageData *psImageDataAlloc (psImage *image, psImage *noise, psImage *mask, psMetadata *header); 61 62 // psf utilities63 pmPSF *pmPSFAlloc (pmModelType type);64 pmPSF_Test *pmPSF_TestAlloc (psArray *stars, char *modelName);65 pmPSF_Test *pmPSF_TestModel (psArray *sources, char *modelName, float radius);66 bool pmPSFFromModels (pmPSF *psf, psArray *models, psVector *mask);67 pmModel *pmModelFromPSF (pmModel *model, pmPSF *psf);68 bool pmSourcePhotometry (float *fitMag, float *obsMag, pmModel *model, psImage *image, psImage *mask);69 bool pmPSFMetricModel (pmPSF_Test *test, float RADIUS);70 38 71 39 // output functions … … 81 49 bool pmModelWriteFLTs (psArray *sources, char *filename); 82 50 bool pmModelWriteNULLs (psArray *sources, char *filename); 83 84 // psModule extra utilities85 bool pmSourceDefinePixels(pmSource *mySource, const psImageData *imdata, psF32 x, psF32 y, psF32 Radius);86 bool pmSourceLocalSky_EAM (pmSource *source, psStatsOptions statsOptions, psF32 Radius);87 bool pmSourceFitModel_EAM(pmSource *source, pmModel *model, const bool PSF);88 bool pmSourceMoments_EAM(pmSource *source, psF32 radius);89 bool pmModelFitStatus (pmModel *model);90 int pmSourceDophotType (pmSource *source);91 92 // minimize93 psBool p_psMinLM_GuessABP_EAM (psImage *Alpha, psVector *Beta, psVector *Params, const psImage *alpha, const psVector *beta, const psVector *params, const psVector *paramMask, const psVector *beta_lim, const psVector *params_min, const psVector *params_max, psF64 lambda);94 psBool psMinimizeLMChi2_EAM(psMinimization *min, psImage *covar, psVector *params, const psVector *paramMask, const psArray *x, const psVector *y, const psVector *yErr, psMinimizeLMChi2Func func);95 psF64 p_psMinLM_dLinear (const psVector *Beta, const psVector *beta, psF64 lambda);96 97 // psLib extra utilities98 bool psTimerStart (char *name);99 void psTimerFree ();100 bool psTimerClear (char *name);101 psF64 psTimerMark (char *name);102 psS32 psLogArguments (int *argc, char **argv);103 psS32 psTraceArguments (int *argc, char **argv);104 int psArgumentGet (int argc, char **argv, char *arg);105 int psArgumentRemove (int N, int *argc, char **argv);106 psF32 pmConfigLookupF32 (bool *status, psMetadata *config, psMetadata *header, char *name);107 psVector *psVectorCreate (double lower, double upper, double delta, psElemType type);108 psVector *psGetRowVectorFromImage(psImage *image, psU32 row);109 int psImageCountPixelMask (psImage *mask, psU8 value);110 111 // basic image functions112 bool psImageInit (psImage *image,...);113 void psImageSmooth_EAM (psImage *image, float sigma, float Nsigma);114 int psphotSaveImage (psMetadata *header, psImage *image, char *filename);115 116 // psLine functions117 psLine *psLineAlloc (int Nline);118 bool psLineInit (psLine *line);119 bool psLineAdd (psLine *line, char *format, ...);120 121 // polynomial functions122 psF64 Polynomial2DEval(const psPolynomial2D* myPoly, psF64 x, psF64 y);123 psImage *psBuildSums2D(psImage* sums,psF64 x,psF64 y,psS32 nXterm, psS32 nYterm);124 psPolynomial2D *VectorFitPolynomial2DOrd_EAM(psPolynomial2D* myPoly, psVector* mask, const psVector* x, const psVector* y, const psVector* z, const psVector* zErr);125 psPolynomial2D *Polynomial2DAlloc(psS32 nXorder, psS32 nYorder, psPolynomialType type);126 void psPolynomial2DDump (psPolynomial2D *poly);127 psPolynomial2D *RobustFit2D_nomask(psPolynomial2D* poly, const psVector* x, const psVector* y, const psVector* z, const psVector* zErr);128 psPolynomial2D *RobustFit2D(psPolynomial2D* poly, psVector* mask, const psVector* x, const psVector* y, const psVector* z, const psVector* zErr);129 psVector *Polynomial2DEvalVector(const psPolynomial2D *myPoly, const psVector *x,const psVector *y);130 131 psVector *psBuildSums1D(psVector* sums, psF64 x,psS32 nTerm);132 void psPolynomial1DDump (psPolynomial1D *poly);133 psF64 Polynomial1DEval_EAM(psF64 x, const psPolynomial1D* myPoly);134 psVector *Polynomial1DEvalVector_EAM(const psPolynomial1D *myPoly, const psVector *x);135 psPolynomial1D *Polynomial1DAlloc(psS32 nOrder, psPolynomialType type);136 psPolynomial1D *VectorFitPolynomial1DOrd_EAM(psPolynomial1D* myPoly, psVector* mask, const psVector* x, const psVector* y, const psVector* yErr);137 138 // XXX EAM : bug : missing from psLib/*.h139 bool psMinimizeGaussNewtonDelta (psVector *delta,140 const psVector *params,141 const psVector *paramMask,142 const psArray *x,143 const psVector *y,144 const psVector *yErr,145 psMinimizeLMChi2Func func);146 147 // not included in the .h file?148 bool p_psVectorPrint (149 int fd, ///< output file descriptor150 psVector *a, ///< vector to print151 char *name ///< name of vector (for title)152 );153 154 bool p_psVectorPrintRow (int fd, psVector *a, char *name);
Note:
See TracChangeset
for help on using the changeset viewer.
