IPP Software Navigation Tools IPP Links Communication Pan-STARRS Links

Ignore:
Timestamp:
Sep 7, 2005, 6:32:40 PM (21 years ago)
Author:
eugene
Message:

cleanup, organization

File:
1 edited

Legend:

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

    r4954 r4977  
    33# include <unistd.h>   // for unlink
    44# include <pslib.h>
     5# include "psLibUtils.h"
    56# include "pmObjects_EAM.h"
     7# include "psModulesUtils.h"
     8# include "pmPSF.h"
     9# include "pmPSFtry.h"
     10# include "pmModelGroup.h"
    611
    712typedef struct {
     
    1116    psMetadata *header;
    1217} psImageData;
    13 
    14 // data to test a given PSF model type
    15 typedef struct {
    16     pmModelType modelType;
    17     pmPSF      *psf;
    18     psArray    *sources;      // pointers to the original sources
    19     psArray    *modelFLT;     // model fits, floating parameters
    20     psArray    *modelPSF;     // model fits, PSF parameters
    21     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 string
    30 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)))
    4318
    4419// top-level psphot functions
     
    5631bool         psphotSubtractPSF (pmSource *source);
    5732int          psphotSortBySN (const void **a, const void **b);
     33int          psphotSaveImage (psMetadata *header, psImage *image, char *filename);
     34bool         psphotDefinePixels (pmSource *mySource, const psImageData *imdata, psF32 x, psF32 y, psF32 Radius);
    5835
    5936// psImageData functions
    6037psImageData *psImageDataAlloc (psImage *image, psImage *noise, psImage *mask, psMetadata *header);
    61 
    62 // psf utilities
    63 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);
    7038
    7139// output functions
     
    8149bool         pmModelWriteFLTs (psArray *sources, char *filename);
    8250bool         pmModelWriteNULLs (psArray *sources, char *filename);
    83 
    84 // psModule extra utilities
    85 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 // minimize
    93 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 utilities
    98 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 functions
    112 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 functions
    117 psLine      *psLineAlloc (int Nline);
    118 bool         psLineInit (psLine *line);
    119 bool         psLineAdd (psLine *line, char *format, ...);
    120 
    121 // polynomial functions
    122 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/*.h
    139 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 descriptor
    150     psVector *a,                       ///< vector to print
    151     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.