Changeset 4946 for trunk/psphot/src/psphot.h
- Timestamp:
- Sep 5, 2005, 2:25:53 PM (21 years ago)
- File:
-
- 1 edited
-
trunk/psphot/src/psphot.h (modified) (2 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/psphot/src/psphot.h
r4901 r4946 38 38 } psLine; 39 39 40 enum { 41 PSPHOT_MASK_INVALID = 0x01, 42 PSPHOT_MASK_SATURATED = 0x02, 43 PSPHOT_MASK_KEEP = 0x08, 44 } MaskValues; 45 40 46 // used by mask operations 41 47 # define AND true … … 45 51 46 52 // top-level psphot functions 47 psImageData *setup (psMetadata *config); 48 psStats *image_stats (psImageData *imdata, psMetadata *config); 49 psArray *find_peaks (psImageData *imdata, psMetadata *config, psStats *sky); 50 psArray *source_moments (psImageData *imdata, psMetadata *config, psArray *allpeaks); 51 pmPSF *choose_psf_model (psMetadata *config, psArray *sources, psStats *sky); 52 bool apply_psf_model (psImageData *imdata, psMetadata *config, psArray *sources, pmPSF *psf, psStats *sky); 53 bool test_psf_scatter (psArray *sources); 54 bool mark_psf_sources (psArray *sources, psMetadata *config); 55 bool subtract_psf_sources (psArray *sources); 56 bool fit_galaxies (psImageData *imdata, psMetadata *config, psArray *sources, psStats *skyStats); 57 bool subtract_galaxies (psArray *sources, psMetadata *config); 58 bool subtract_psf_source (psSource *source); 59 bool mark_psf_source (psSource *source, float shapeNsigma, float minSN, float maxChi, float SATURATE); 60 bool find_defects (psImage *zapmask, psArray *sources, psMetadata *config, pmPSF *psf); 61 bool basic_classes (psArray *sources, psMetadata *config); 53 psMetadata *psphotArguments (int *argc, char **argv); 54 psImageData *psphotSetup (psMetadata *config); 55 psStats *psphotImageStats (psImageData *imdata, psMetadata *config); 56 psArray *pmPeaksSigmaLimit (psImageData *imdata, psMetadata *config, psStats *sky); 57 psArray *psphotSourceStats (psImageData *imdata, psMetadata *config, psArray *allpeaks); 58 pmPSF *psphotChoosePSF (psMetadata *config, psArray *sources, psStats *sky); 59 bool psphotApplyPSF (psImageData *imdata, psMetadata *config, psArray *sources, pmPSF *psf, psStats *sky); 60 bool psphotFitGalaxies (psImageData *imdata, psMetadata *config, psArray *sources, psStats *skyStats); 61 void psphotOutput (psImageData *imdata, psMetadata *config, psArray *sources); 62 63 bool psphotMarkPSF (psSource *source, float shapeNsigma, float minSN, float maxChi, float SATURATE); 64 bool psphotSubtractPSF (psSource *source); 65 int psphotSortBySN (const void **a, const void **b); 66 67 // psImageData functions 68 psImageData *psImageDataAlloc (psImage *image, psImage *noise, psImage *mask, psMetadata *header); 62 69 63 70 // psf utilities 64 pmPSF *pmPSFAlloc (psModelType type);65 pmPSF_Test *pmPSF_TestAlloc (psArray *stars, char *modelName);66 pmPSF_Test *pmPSF_TestModel (psArray *sources, char *modelName, float radius);67 bool pmPSFFromModels (pmPSF *psf, psArray *models, psVector *mask);68 psModel *psModelFromPSF (psModel *model, pmPSF *psf);69 bool pmSourcePhotometry (float *fitMag, float *obsMag, psModel *model, psImage *image, psImage *mask);70 bool pmPSFMetricModel (pmPSF_Test *test, float RADIUS);71 pmPSF *pmPSFAlloc (psModelType type); 72 pmPSF_Test *pmPSF_TestAlloc (psArray *stars, char *modelName); 73 pmPSF_Test *pmPSF_TestModel (psArray *sources, char *modelName, float radius); 74 bool pmPSFFromModels (pmPSF *psf, psArray *models, psVector *mask); 75 psModel *psModelFromPSF (psModel *model, pmPSF *psf); 76 bool pmSourcePhotometry (float *fitMag, float *obsMag, psModel *model, psImage *image, psImage *mask); 77 bool pmPSFMetricModel (pmPSF_Test *test, float RADIUS); 71 78 72 // output options 73 bool DumpPeaks (psArray *sources, char *filename); 74 bool DumpMoments (psArray *sources, char *filename); 75 bool DumpModelFits (psArray *models, char *filename); 76 bool DumpModelPSF (psArray *sources, char *filename); 77 bool DumpModelFLT (psArray *sources, char *filename); 78 bool DumpModelNULL (psArray *sources, char *filename); 79 bool DumpImage (psImage *image, char *filename); 80 bool DumpPSFTestData (pmPSF_Test *test, char *filename); 81 void output (psImageData *imdata, psMetadata *config, psArray *sources); 82 bool WriteSourcesText (psImageData *imdata, psMetadata *config, psArray *sources); 83 bool WriteSourcesOBJ (psImageData *imdata, psMetadata *config, psArray *sources); 84 bool WriteSourcesSX (psImageData *imdata, psMetadata *config, psArray *sources); 85 bool WriteSourcesCMP (psImageData *imdata, psMetadata *config, psArray *sources); 86 bool WriteSourcesCMF (psImageData *imdata, psMetadata *config, psArray *sources); 87 bool init_line (char *line, int *Nline); 88 bool add_to_line (char *line, int *Nline, char *format, ...); 79 // output functions 80 bool pmSourcesWriteText (psImageData *imdata, char *filename, psArray *sources); 81 bool pmSourcesWriteOBJ (psImageData *imdata, char *filename, psArray *sources); 82 bool pmSourcesWriteCMP (psImageData *imdata, char *filename, psArray *sources); 83 bool pmSourcesWriteCMF (psImageData *imdata, char *filename, psArray *sources); 84 bool pmSourcesWriteSX (psImageData *imdata, char *filename, psArray *sources); 85 int pmSourcesDophotType (psSource *source); 86 bool psPeaksWriteText (psArray *sources, char *filename); 87 bool psMomentsWriteText (psArray *sources, char *filename); 88 bool psModelWritePSFs (psArray *sources, char *filename); 89 bool psModelWriteFLTs (psArray *sources, char *filename); 90 bool psModelWriteNULLs (psArray *sources, char *filename); 89 91 90 // psphot utilities 91 int usage (); 92 psMetadata *load_args (int *argc, char **argv); 93 int by_SN (const void **a, const void **b); 94 psArray *pmPeaksSubset(psArray *peaks, psF32 maxValue, const psRegion *valid); 95 psArray *SelectPSFStars (psArray *sources); 96 bool pmSourceDefinePixels(psSource *mySource, const psImageData *imdata, psF32 x, psF32 y, psF32 Radius); 97 bool pmSourceLocalSky_EAM (psSource *source, psStatsOptions statsOptions, psF32 Radius); 98 bool pmSourceFitModel_EAM(psSource *source, psModel *model, const bool PSF); 99 bool pmSourceMoments_EAM(psSource *source, psF32 radius); 100 bool pmModelFitStatus (psModel *model); 101 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); 102 psBool psMinimizeLMChi2_EAM(psMinimization *min, psImage *covar, psVector *params, const psVector *paramMask, const psArray *x, const psVector *y, const psVector *yErr, psMinimizeLMChi2Func func); 103 psF64 p_psMinLM_dLinear (const psVector *Beta, const psVector *beta, psF64 lambda); 104 psImageData *psImageDataAlloc (psImage *image, psImage *noise, psImage *mask, psMetadata *header); 92 // psModule extra utilities 93 bool pmSourceDefinePixels(psSource *mySource, const psImageData *imdata, psF32 x, psF32 y, psF32 Radius); 94 bool pmSourceLocalSky_EAM (psSource *source, psStatsOptions statsOptions, psF32 Radius); 95 bool pmSourceFitModel_EAM(psSource *source, psModel *model, const bool PSF); 96 bool pmSourceMoments_EAM(psSource *source, psF32 radius); 97 bool pmModelFitStatus (psModel *model); 98 int pmSourceDophotType (psSource *source); 105 99 106 // fitsource utilities107 bool onesource (psImageData *imdata, psMetadata *config, char *modelName, float x, float y);108 ps Metadata *fs_args (int *argc, char **argv);109 int fs_usage ();100 // minimize 101 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); 102 psBool psMinimizeLMChi2_EAM(psMinimization *min, psImage *covar, psVector *params, const psVector *paramMask, const psArray *x, const psVector *y, const psVector *yErr, psMinimizeLMChi2Func func); 103 psF64 p_psMinLM_dLinear (const psVector *Beta, const psVector *beta, psF64 lambda); 110 104 111 // image mask functions 112 void psImageMaskRegion (psImage *image, psRegion *region, bool logical_and, int maskValue); 113 void psImageKeepRegion (psImage *image, psRegion *region, bool logical_and, int maskValue); 114 void psImageMaskCircle (psImage *image, double x, double y, double radius, bool logical_and, int maskValue); 115 void psImageKeepCircle (psImage *image, double x, double y, double radius, bool logical_and, int maskValue); 105 // psLib extra utilities 106 bool psTimerStart (char *name); 107 void psTimerFree (); 108 bool psTimerClear (char *name); 109 psF64 psTimerMark (char *name); 110 psS32 psLogArguments (int *argc, char **argv); 111 psS32 psTraceArguments (int *argc, char **argv); 112 int psArgumentGet (int argc, char **argv, char *arg); 113 int psArgumentRemove (int N, int *argc, char **argv); 114 psF32 pmConfigLookupF32 (bool *status, psMetadata *config, psMetadata *header, char *name); 115 psVector *psVectorCreate (double lower, double upper, double delta, psElemType type); 116 void psImageMaskRegion (psImage *image, psRegion *region, bool logical_and, int maskValue); 117 void psImageKeepRegion (psImage *image, psRegion *region, bool logical_and, int maskValue); 118 void psImageMaskCircle (psImage *image, double x, double y, double radius, bool logical_and, int maskValue); 119 void psImageKeepCircle (psImage *image, double x, double y, double radius, bool logical_and, int maskValue); 120 psVector *psGetRowVectorFromImage(psImage *image, psU32 row); 116 121 117 122 // basic image functions 118 bool psImageInit (psImage *image,...); 119 void psImageSmooth (psImage *image, float sigma, float Nsigma); 120 psRegion *psRegionForImage (psRegion *out, psImage *image, psRegion *in); 121 psRegion *psRegionSquare (psF32 x, psF32 y, psF32 radius); 122 123 // misc global functions 124 psVector *p_psGetRowVectorFromImage(psImage *image, psU32 row); 125 psVector *psGetRowVectorFromImage(psImage *image, psU32 row); 126 127 // utilities 128 bool psTimerStart (char *name); 129 void psTimerFree (); 130 bool psTimerClear (char *name); 131 psF64 psTimerMark (char *name); 132 psS32 psLogArguments (int *argc, char **argv); 133 psS32 psTraceArguments (int *argc, char **argv); 134 int get_argument (int argc, char **argv, char *arg); 135 int remove_argument (int N, int *argc, char **argv); 136 psF32 pmConfigLookupF32 (bool *status, psMetadata *config, psMetadata *header, char *name); 137 psVector *psVectorCreate (double lower, double upper, double delta, psElemType type); 123 bool psImageInit (psImage *image,...); 124 void psImageSmooth (psImage *image, float sigma, float Nsigma); 125 psRegion *psRegionForImage (psRegion *out, psImage *image, psRegion *in); 126 psRegion *psRegionSquare (psF32 x, psF32 y, psF32 radius); 127 int psphotSaveImage (psMetadata *header, psImage *image, char *filename); 138 128 139 129 // psLine functions 140 psLine *psLineAlloc (int Nline);141 bool psLineInit (psLine *line);142 bool psLineAdd (psLine *line, char *format, ...);130 psLine *psLineAlloc (int Nline); 131 bool psLineInit (psLine *line); 132 bool psLineAdd (psLine *line, char *format, ...); 143 133 144 134 // polynomial functions 145 psF32 Polynomial2DEval(const psPolynomial2D* myPoly, psF32 x, psF32 y); 146 psImage *psBuildSums2D(psImage* sums,psF64 x,psF64 y,psS32 nXterm, psS32 nYterm); 147 psPolynomial2D* VectorFitPolynomial2DOrd_EAM(psPolynomial2D* myPoly, psVector* mask, const psVector* x, const psVector* y, const psVector* z, const psVector* zErr); 148 psPolynomial2D* Polynomial2DAlloc(psS32 nXorder, psS32 nYorder, psPolynomialType type); 149 void psPolynomial2DDump (psPolynomial2D *poly); 150 psPolynomial2D* RobustFit2D_nomask(psPolynomial2D* poly, const psVector* x, const psVector* y, const psVector* z, const psVector* zErr); 151 psPolynomial2D* RobustFit2D(psPolynomial2D* poly, psVector* mask, const psVector* x, const psVector* y, const psVector* z, const psVector* zErr); 152 psVector *Polynomial2DEvalVector(const psPolynomial2D *myPoly, const psVector *x,const psVector *y); 135 psF32 Polynomial2DEval(const psPolynomial2D* myPoly, psF32 x, psF32 y); 136 psImage *psBuildSums2D(psImage* sums,psF64 x,psF64 y,psS32 nXterm, psS32 nYterm); 137 psPolynomial2D *VectorFitPolynomial2DOrd_EAM(psPolynomial2D* myPoly, psVector* mask, const psVector* x, const psVector* y, const psVector* z, const psVector* zErr); 138 psPolynomial2D *Polynomial2DAlloc(psS32 nXorder, psS32 nYorder, psPolynomialType type); 139 void psPolynomial2DDump (psPolynomial2D *poly); 140 psPolynomial2D *RobustFit2D_nomask(psPolynomial2D* poly, const psVector* x, const psVector* y, const psVector* z, const psVector* zErr); 141 psPolynomial2D *RobustFit2D(psPolynomial2D* poly, psVector* mask, const psVector* x, const psVector* y, const psVector* z, const psVector* zErr); 142 psVector *Polynomial2DEvalVector(const psPolynomial2D *myPoly, const psVector *x,const psVector *y); 143 psVector *psBuildSums1D(psVector* sums, psF64 x,psS32 nTerm); 144 void psPolynomial1DDump (psPolynomial1D *poly); 145 psF32 Polynomial1DEval_EAM(psF32 x, const psPolynomial1D* myPoly); 146 psVector *Polynomial1DEvalVector_EAM(const psPolynomial1D *myPoly, const psVector *x); 147 psPolynomial1D *Polynomial1DAlloc(psS32 nOrder, psPolynomialType type); 148 psPolynomial1D *VectorFitPolynomial1DOrd_EAM(psPolynomial1D* myPoly, psVector* mask, const psVector* x, const psVector* y, const psVector* yErr); 153 149 154 psVector *psBuildSums1D(psVector* sums, psF64 x,psS32 nTerm); 155 void psPolynomial1DDump (psPolynomial1D *poly); 156 psF32 Polynomial1DEval_EAM(psF32 x, const psPolynomial1D* myPoly); 157 psVector *Polynomial1DEvalVector_EAM(const psPolynomial1D *myPoly, const psVector *x); 158 psPolynomial1D* Polynomial1DAlloc(psS32 nOrder, psPolynomialType type); 159 psPolynomial1D* VectorFitPolynomial1DOrd_EAM(psPolynomial1D* myPoly, psVector* mask, const psVector* x, const psVector* y, const psVector* yErr); 150 // fitsource 151 bool onesource (psImageData *imdata, psMetadata *config, char *modelName, float x, float y); 152 psMetadata *fs_args (int *argc, char **argv); 153 int fs_usage (); 154 bool DumpImage (psImage *image, char *filename); 160 155 161 156 // deprecated 162 void pmSourceMaskRegion (psSource *source, psRegion *region);163 void pmSourceMaskSaturated (psSource *source, float saturate);157 // void pmSourceMaskRegion (psSource *source, psRegion *region); 158 //psVector *p_psGetRowVectorFromImage(psImage *image, psU32 row);
Note:
See TracChangeset
for help on using the changeset viewer.
