IPP Software Navigation Tools IPP Links Communication Pan-STARRS Links

Ignore:
Timestamp:
Sep 15, 2011, 4:50:36 PM (15 years ago)
Author:
bills
Message:

Modify ppMops to use psFitsReadTableAllColumns and psFitsWriteTableAllColumns. These
functions store the columns in psVectors. This avoids the memory explosion that
results by storing the table as an array of metadatas representing rows.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/ppTranslate/src/ppMops.h

    r29567 r32406  
    6262
    6363typedef struct {
     64  psString component;                 // skycell_id for these detections
    6465  psString raBoresight, decBoresight; // RA,Dec of telescope boresight
    6566  psString filter;                    // Filter for exposure
     
    7071  double mjd;                         // Modified Julian Date
    7172  float seeing;                       // Seeing of exposure
     73  int   naxis1, naxis2;               // size of the image
    7274  long num;                           // Number of detections
     75  long numGood;                       // Number of "good" detections
     76  psS64 diffSkyfileId;                // unique id for input skyfile
     77  psMetadata *table;                  // Columns from the input file
    7378  psVector *x, *y;                    // Image coordinates
    7479  psVector *ra, *dec;                 // Sky coordinates
    7580  psVector *raErr, *decErr;           // Error in sky coordinates
    76   psVector *mag, *magErr;             // Magnitude and associated error
    77   psVector *chi2, *dof;               // Chi^2 from fitting, with associated degrees of freedom
    78   psVector *cr, *extended;            // Measures of CR-ness and extendedness
    79   psVector *psfMajor, *psfMinor, *psfTheta; // PSF major and minor axes, and position angle
    80   psVector *quality, *numPix;               // PSF quality factor and number of pixels
    81   psVector *xxMoment, *xyMoment, *yyMoment; // Moments
    82   psVector *flags;                    // psphot flags
    83   psVector *diffSkyfileId;            // Identifier for source image
    84   psVector *naxis1, *naxis2;          // Size of image
    8581  psVector *mask;                     // Mask for detections
    86   psVector *nPos;                     // Number of positive pixels
    87   psVector *fPos;                     // Fraction of positive flux
    88   psVector *nRatioBad;                // Fraction of positive pixels to negative
    89   psVector *nRatioMask;               // Fraction of positive pixels to masked
    90   psVector *nRatioAll;                // Fraction of positive pixels to all
    91   psVector *psfInstFlux;              // PSF fit instrumental magnitude
    92   psVector *psfInstFluxSig;           // Sigma of PSF instrumental magnitude
    93   psVector *apMag;                    // Magnitude in standard aperture
    94   psVector *apMagRadius;              // Radius used for aperture mags
    95   psVector *apMagRaw;                 // Magnitude in real aperture
    96   psVector *apFlux;                   // Instrumental flux in standard aperture
    97   psVector *apFluxSig;                // Aperture flux error
    98   psVector *peakFluxAsMag;            // Peak flux expressed as magnitude
    99   psVector *calPsfMag;                // PSF Magnitude using supplied calibration
    100   psVector *calPsfMagSig;             // Measured scatter of zero point calibration
    101   psVector *sky;                      // Sky level
    102   psVector *skySig;                   // Sigma of sky level
    103   psVector *qualityPerfect;           // PSF coverage/quality factor (poor)
    104   psVector *momentsR1;                // First radial moment
    105   psVector *momentsRH;                // Half radial moment
    106   psVector *kronFlux;                 // Kron Flux (in 2.5 R1)
    107   psVector *kronFluxErr;              // Kron Flux Error
    108   psVector *kronFluxInner;            // Kron Flux (in 1.0 R1)
    109   psVector *kronFluxOuter;            // Kron Flux (in 4.0 R1)
    110   psVector *diffRP;                   // Distance to positive match source
    111   psVector *diffSnP;                  // Signal-to-noise of pos match src
    112   psVector *diffRM;                   // Distance to negative match source
    113   psVector *diffSnM;                  // Signal-to-noise of neg match src
    114   psVector *flags2;                   // psphot flags (group 2)
    115   psVector *ippIdet;                  // IPP detection identifier index
    116   psVector *nFrames;                  // Number of frames overlapping source center
    117   psVector *padding;                  // Padding
    11882} ppMopsDetections;
    11983
    120 ppMopsDetections *ppMopsDetectionsAlloc(long num);
     84ppMopsDetections *ppMopsDetectionsAlloc();
    12185
    12286/// Copy a detection
     
    13094
    13195/// Merge detections
    132 ppMopsDetections *ppMopsMerge(const psArray *detections);
     96// ppMopsDetections *ppMopsMerge(const psArray *detections);
     97bool ppMopsPurgeDuplicates(const psArray *detections);
    13398
    13499/// Write detections
    135 bool ppMopsWrite(const ppMopsDetections *detections, const ppMopsArguments *args);
     100bool ppMopsWrite(const psArray *detections, const ppMopsArguments *args);
    136101
    137102/// Get the version contained in EXTTYPE of the "SkyChip.psf" table:
Note: See TracChangeset for help on using the changeset viewer.