IPP Software Navigation Tools IPP Links Communication Pan-STARRS Links

Ignore:
Timestamp:
Sep 6, 2005, 5:33:01 PM (21 years ago)
Author:
eugene
Message:

psphot reorganization: merged in pmObjects code from psModule, modified to work with psLib 0.7.0

File:
1 edited

Legend:

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

    r4949 r4954  
     1# include <stdio.h>
     2# include <strings.h>  // for strcasecmp
     3# include <unistd.h>   // for unlink
    14# include <pslib.h>
    2 // # include <pmObjects.h>
    3 // my additions and modifications:
    45# include "pmObjects_EAM.h"
    5 # include <string.h>
    6 # include <strings.h>
    7 # include <unistd.h>
    8 # include <stdlib.h>
    9 # include <math.h>
    10 
    11 // # define  M_PI 3.14159265358979323846264338328      /* pi */
    126
    137typedef struct {
    14   psImage *image;
    15   psImage *mask;
    16   psImage *noise;
    17   psMetadata *header;
     8    psImage *image;
     9    psImage *mask;
     10    psImage *noise;
     11    psMetadata *header;
    1812} psImageData;
    1913
    2014// data to test a given PSF model type
    2115typedef struct {
    22   pmModelType modelType;
    23   pmPSF      *psf;
    24   psArray    *sources;      // pointers to the original sources
    25   psArray    *modelFLT;     // model fits, floating parameters
    26   psArray    *modelPSF;     // model fits, PSF parameters
    27   psVector   *mask;
    28   psVector   *metric;
    29   psVector   *fitMag;
    30   float       ApResid;
    31   float       dApResid;
    32   float       skyBias;
     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;
    3327} pmPSF_Test;
    3428
    3529// structure to carry a dynamic string
    3630typedef struct {
    37   int NLINE;
    38   int Nline;
    39   char *line;
     31    int NLINE;
     32    int Nline;
     33    char *line;
    4034} psLine;
    4135
     
    4337    PSPHOT_MASK_INVALID   = 0x01,
    4438    PSPHOT_MASK_SATURATED = 0x02,
    45     PSPHOT_MASK_KEEP      = 0x08,
     39    PSPHOT_MASK_MARKED    = 0x08,
    4640} MaskValues;
    47 
    48 // used by mask operations
    49 # define AND true
    50 # define OR false
    5141
    5242# define psMemCopy(A)(psMemIncrRefCounter((A)))
     
    116106psF32        pmConfigLookupF32 (bool *status, psMetadata *config, psMetadata *header, char *name);
    117107psVector    *psVectorCreate (double lower, double upper, double delta, psElemType type);
    118 //void       psImageMaskRegion (psImage *image, psRegion *region, bool logical_and, int maskValue);
    119 //void       psImageKeepRegion (psImage *image, psRegion *region, bool logical_and, int maskValue);
    120 //void       psImageMaskCircle (psImage *image, double x, double y, double radius, bool logical_and, int maskValue);
    121 //void       psImageKeepCircle (psImage *image, double x, double y, double radius, bool logical_and, int maskValue);
    122108psVector    *psGetRowVectorFromImage(psImage *image, psU32 row);
     109int          psImageCountPixelMask (psImage *mask, psU8 value);
    123110
    124111// basic image functions
    125112bool         psImageInit (psImage *image,...);
    126 //void       psImageSmooth (psImage *image, float sigma, float Nsigma);
    127 //psRegion    *psRegionForImage (psRegion *out, psImage *image, psRegion *in);
    128 psRegion    *psRegionSquare (psF32 x, psF32 y, psF32 radius);
     113void         psImageSmooth_EAM (psImage *image, float sigma, float Nsigma);
    129114int          psphotSaveImage (psMetadata *header, psImage *image, char *filename);
    130115
     
    135120
    136121// polynomial functions
    137 psF32           Polynomial2DEval(const psPolynomial2D* myPoly, psF32 x, psF32 y);
     122psF64           Polynomial2DEval(const psPolynomial2D* myPoly, psF64 x, psF64 y);
    138123psImage        *psBuildSums2D(psImage* sums,psF64 x,psF64 y,psS32 nXterm, psS32 nYterm);
    139124psPolynomial2D *VectorFitPolynomial2DOrd_EAM(psPolynomial2D* myPoly, psVector* mask, const psVector* x, const psVector* y, const psVector* z, const psVector* zErr);
     
    143128psPolynomial2D *RobustFit2D(psPolynomial2D* poly, psVector* mask, const psVector* x, const psVector* y, const psVector* z, const psVector* zErr);
    144129psVector       *Polynomial2DEvalVector(const psPolynomial2D *myPoly, const psVector *x,const psVector *y);
     130
    145131psVector       *psBuildSums1D(psVector* sums, psF64 x,psS32 nTerm);
    146132void            psPolynomial1DDump (psPolynomial1D *poly);
    147 psF32           Polynomial1DEval_EAM(psF32 x, const psPolynomial1D* myPoly);
     133psF64           Polynomial1DEval_EAM(psF64 x, const psPolynomial1D* myPoly);
    148134psVector       *Polynomial1DEvalVector_EAM(const psPolynomial1D *myPoly, const psVector *x);
    149135psPolynomial1D *Polynomial1DAlloc(psS32 nOrder, psPolynomialType type);
    150136psPolynomial1D *VectorFitPolynomial1DOrd_EAM(psPolynomial1D* myPoly, psVector* mask, const psVector* x, const psVector* y, const psVector* yErr);
    151137
    152 // fitsource
    153 bool            onesource (psImageData *imdata, psMetadata *config, char *modelName, float x, float y);
    154 psMetadata     *fs_args (int *argc, char **argv);
    155 int             fs_usage ();
    156 bool            DumpImage (psImage *image, char *filename);
     138// XXX EAM : bug : missing from psLib/*.h
     139bool 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?
     148bool p_psVectorPrint (
     149    int fd,                            ///< output file descriptor
     150    psVector *a,                       ///< vector to print
     151    char *name                         ///< name of vector (for title)
     152);
     153
     154bool p_psVectorPrintRow (int fd, psVector *a, char *name);
Note: See TracChangeset for help on using the changeset viewer.