IPP Software Navigation Tools IPP Links Communication Pan-STARRS Links

Ignore:
Timestamp:
Jun 24, 2005, 5:38:37 AM (21 years ago)
Author:
eugene
Message:

adding model tests

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/psphot/src/psphot.h

    r4251 r4375  
    55# include <unistd.h>
    66# include <stdlib.h>
     7# include <math.h>
     8
     9# define  M_PI 3.14159265358979323846264338328      /* pi */
    710
    811typedef struct {
     
    2225  psVector   *mask;
    2326  psVector   *metric;
    24   psStats    *metricStats;
     27  psVector   *fitMag;
     28  float       ApResid;
     29  float       dApResid;
     30  float       skyBias;
    2531} pmPSF_Test;
    2632
    27 bool psTimerStart (char *name);
    28 psF64 psTimerMark (char *name);
     33// used by mask operations
     34# define AND true
     35# define OR false
    2936
    30 bool psImageInit (psImage *image,...);
    31 void psImageSmooth (psImage *image, float sigma, float Nsigma);
    32 psRegion *psRegionForImage (psRegion *out, psImage *image, psRegion *in);
    3337
     38// top-level psphot functions
     39psImageData *setup (psMetadata *config);
     40psStats *image_stats (psImageData *imdata, psMetadata *config);
     41psArray *find_peaks (psImageData *imdata, psMetadata *config, psStats *sky);
     42psArray *source_moments (psImageData *imdata, psMetadata *config, psArray *allpeaks);
     43pmPSF *choose_psf_model (psMetadata *config, psArray *sources, psStats *sky);
     44bool apply_psf_model (psImageData *imdata, psMetadata *config, psArray *sources, pmPSF *psf, psStats *sky);
     45bool test_psf_scatter (psArray *sources);
     46bool mark_psf_sources (psArray *sources, psMetadata *config);
     47bool subtract_psf_sources (psArray *sources);
     48bool fit_galaxies (psImage *image, psMetadata *config, psArray *sources);
     49bool subtract_galaxies (psArray *sources, psMetadata *config);
     50bool subtract_psf_source (psSource *source);
     51bool mark_psf_source (psSource *source, float shapeNsigma);
     52bool find_defects (psImage *zapmask, psArray *sources, psMetadata *config, pmPSF *psf);
     53
     54// psf utilities
     55pmPSF *pmPSFAlloc (psModelType type);
     56pmPSF_Test *pmPSF_TestAlloc (psArray *stars, char *modelName);
     57pmPSF_Test *pmPSF_TestModel (psArray *sources, char *modelName, float radius);
     58bool pmPSFFromModels (pmPSF *psf, psArray *models, psVector *mask);
     59psModel *psModelFromPSF (psModel *model, pmPSF *psf);
     60bool pmSourcePhotometry (float *fitMag, float *obsMag, psModel *model, psImage *image, psImage *mask);
     61bool pmPSFMetricModel (pmPSF_Test *test, float RADIUS);
     62
     63// output options
    3464bool DumpPeaks (psArray *sources, char *filename);
    3565bool DumpMoments (psArray *sources, char *filename);
     
    3868bool DumpImage (psImage *image, char *filename);
    3969
     70// psphot utilities
    4071int usage ();
    41 int get_argument (int argc, char **argv, char *arg);
    42 int remove_argument (int N, int *argc, char **argv);
    4372psMetadata *load_args (int *argc, char **argv);
    44 
     73int by_SN (const void **a, const void **b);
    4574psArray *pmPeaksSubset(psArray *peaks, psF32 maxValue, const psRegion *valid);
    4675psArray *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 functions
    77 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 
    9476bool pmSourceDefinePixels(psSource *mySource, const psImageData *imdata, psF32 x, psF32 y, psF32 Radius);
    9577bool pmSourceLocalSky_EAM (psSource *source, psStatsOptions statsOptions, psF32 Radius);
    96 psRegion *psRegionSquare (psF32 x, psF32 y, psF32 radius);
     78
     79// fitsource utilities
     80bool onesource (psImageData *imdata, psMetadata *config, char *modelName, float x, float y);
     81psMetadata *fs_args (int *argc, char **argv);
     82int fs_usage ();
    9783
    9884// image mask functions
     
    10288void psImageKeepCircle (psImage *image, double x, double y, double radius, bool logical_and, int maskValue);
    10389
    104 # define AND true
    105 # define OR false
     90// basic image functions
     91bool psImageInit (psImage *image,...);
     92void psImageSmooth (psImage *image, float sigma, float Nsigma);
     93psRegion *psRegionForImage (psRegion *out, psImage *image, psRegion *in);
     94psRegion *psRegionSquare (psF32 x, psF32 y, psF32 radius);
     95
     96// misc global functions
     97psVector *p_psGetRowVectorFromImage(psImage *image, psU32 row);
     98psVector *psGetRowVectorFromImage(psImage *image, psU32 row);
     99
     100// utilities
     101bool psTimerStart (char *name);
     102psF64 psTimerMark (char *name);
     103psS32 psLogArguments (int *argc, char **argv);
     104psS32 psTraceArguments (int *argc, char **argv);
     105int get_argument (int argc, char **argv, char *arg);
     106int remove_argument (int N, int *argc, char **argv);
     107psF32 pmConfigLookupF32 (bool *status, psMetadata *config, psMetadata *header, char *name);
     108psVector *psVectorCreate (double lower, double upper, double delta, psElemType type);
     109
     110// polynomial functions
     111psF32 Polynomial2DEval(const psPolynomial2D* myPoly, psF32 x, psF32 y);
     112psImage *psBuildSums2D(psImage* sums,psF64 x,psF64 y,psS32 nXterm, psS32 nYterm);
     113psPolynomial2D* VectorFitPolynomial2DOrd_EAM(psPolynomial2D* myPoly, psVector* mask, const psVector* x, const psVector* y, const psVector* z, const psVector* zErr);
     114psPolynomial2D* Polynomial2DAlloc(psS32 nXorder, psS32 nYorder, psPolynomialType type);
     115void psPolynomial2DDump (psPolynomial2D *poly);
     116psPolynomial2D* RobustFit2D_nomask(psPolynomial2D* poly, const psVector* x, const psVector* y, const psVector* z, const psVector* zErr);
     117psPolynomial2D* RobustFit2D(psPolynomial2D* poly, psVector* mask, const psVector* x, const psVector* y, const psVector* z, const psVector* zErr);
     118psVector *Polynomial2DEvalVector(const psPolynomial2D *myPoly, const psVector *x,const psVector *y);
     119
     120psVector *psBuildSums1D(psVector* sums, psF64 x,psS32 nTerm);
     121void psPolynomial1DDump (psPolynomial1D *poly);
     122psF32 Polynomial1DEval_EAM(psF32 x, const psPolynomial1D* myPoly);
     123psVector *Polynomial1DEvalVector_EAM(const psPolynomial1D *myPoly, const psVector *x);
     124psPolynomial1D* Polynomial1DAlloc(psS32 nOrder, psPolynomialType type);
     125psPolynomial1D* VectorFitPolynomial1DOrd_EAM(psPolynomial1D* myPoly, psVector* mask, const psVector* x, const psVector* y, const psVector* yErr);
     126
     127// deprecated
     128void pmSourceMaskRegion (psSource *source, psRegion *region);
     129void pmSourceMaskSaturated (psSource *source, float saturate);
Note: See TracChangeset for help on using the changeset viewer.