00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011 # ifndef PM_SOURCE_PHOTOMETRY_H
00012 # define PM_SOURCE_PHOTOMETRY_H
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030 typedef enum {
00031 PM_SOURCE_PHOT_NONE = 0x0000,
00032 PM_SOURCE_PHOT_GROWTH = 0x0001,
00033 PM_SOURCE_PHOT_APCORR = 0x0002,
00034 PM_SOURCE_PHOT_WEIGHT = 0x0004,
00035 PM_SOURCE_PHOT_INTERP = 0x0008,
00036 } pmSourcePhotometryMode;
00037
00038 bool pmSourcePhotometryModel(
00039 float *fitMag,
00040 pmModel *model
00041 );
00042
00043 bool pmSourcePhotometryAper(
00044 float *apMag,
00045 pmModel *model,
00046 psImage *image,
00047 psImage *mask
00048 );
00049
00050 bool pmSourceMagnitudesInit (psMetadata *config);
00051 bool pmSourceMagnitudes (pmSource *source, pmPSF *psf, pmSourcePhotometryMode mode);
00052 double pmSourceCrossProduct(const pmSource *Mi, const pmSource *Mj, const bool unweighted_sum);
00053 double pmSourceCrossWeight(const pmSource *Mi, const pmSource *Mj, const bool unweighted_sum);
00054 bool pmSourcePixelWeight (float *pixWeight, pmModel *model, psImage *image, psImage *mask);
00055 bool pmSourceChisq (pmModel *model, psImage *image, psImage *mask, psImage *weight);
00056 pmModel *pmSourceGetModel (bool *isPSF, const pmSource *source);
00057
00058 double pmSourceWeight(const pmSource *Mi, int term, const bool unweighted_sum);
00059
00060
00061 # endif