IPP Software Navigation Tools IPP Links Communication Pan-STARRS Links

Ignore:
Timestamp:
Mar 27, 2006, 4:14:56 PM (20 years ago)
Author:
magnier
Message:

substantial work on the pmFPAfile I/O concepts

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/rel10_ifa/psModules/src/objects/pmSourceIO_RAW.c

    r6545 r6712  
     1/** @file  pmSourceIO.c
     2 *
     3 *  @author EAM, IfA
     4 *
     5 *  @version $Revision: 1.1.2.2 $ $Name: not supported by cvs2svn $
     6 *  @date $Date: 2006-03-28 02:14:56 $
     7 *
     8 *  Copyright 2004 Maui High Performance Computing Center, University of Hawaii
     9 *
     10 */
     11
     12#include <stdio.h>
     13#include <math.h>
     14#include <string.h>
     15#include "pslib.h"
     16#include "psLine.h"
     17#include "psEllipse.h"
     18#include "pmHDU.h"
     19#include "pmFPA.h"
     20#include "pmPeaks.h"
     21#include "pmMoments.h"
     22#include "pmGrowthCurve.h"
     23#include "pmModel.h"
     24#include "pmPSF.h"
     25#include "pmSource.h"
     26#include "pmModelGroup.h"
     27#include "pmSourcePhotometry.h"
     28#include "pmSourceIO.h"
     29
     30/***** Text Output Methods *****/
     31bool pmSourcesWriteRAW (psArray *sources, char *filename)
     32{
     33
     34    char *name = (char *) psAlloc (strlen(filename) + 10);
     35
     36    sprintf (name, "%s.psf.dat", filename);
     37    pmSourcesWritePSFs (sources, name);
     38
     39    sprintf (name, "%s.ext.dat", filename);
     40    pmSourcesWriteEXTs (sources, name);
     41
     42    sprintf (name, "%s.nul.dat", filename);
     43    pmSourcesWriteNULLs (sources, name);
     44
     45    sprintf (name, "%s.mnt.dat", filename);
     46    pmMomentsWriteText (sources, name);
     47
     48    psFree (name);
     49    return true;
     50}
     51
    152// write the PSF sources to an output file
    2 bool pmModelWritePSFs (psArray *sources, char *filename)
    3 {
    4 
    5     double dPos, dMag;
     53bool pmSourcesWritePSFs (psArray *sources, char *filename)
     54{
     55
     56    double dPos;
    657    int i, j;
    758    FILE *f;
     
    1162    f = fopen (filename, "w");
    1263    if (f == NULL) {
    13         psLogMsg ("pmModelWritePSFs", 3, "can't open output file for moments%s\n", filename);
     64        psLogMsg (__func__, 3, "can't open output file for PSFs: %s\n", filename);
    1465        return false;
    1566    }
     
    1869    for (i = 0; i < sources->n; i++) {
    1970        pmSource *source = (pmSource *) sources->data[i];
    20         if (source->type != PM_SOURCE_STAR)
     71        if (source->type != PM_SOURCE_TYPE_STAR)
    2172            continue;
    2273        model = source->modelPSF;
     
    2980        // dPos is positional error, dMag is mag error
    3081        dPos = hypot (dPAR[2], dPAR[3]);
    31         dMag = dPAR[1] / PAR[1];
    3282
    3383        fprintf (f, "%7.1f %7.1f  %7.1f %8.4f  %7.4f %7.4f  ",
    34                  PAR[2], PAR[3], PAR[0], source->fitMag, dMag, dPos);
     84                 PAR[2], PAR[3], PAR[0], source->psfMag, source->errMag, dPos);
    3585
    3686        for (j = 4; j < model->params->n; j++) {
     
    54104
    55105// dump the sources to an output file
    56 bool pmModelWriteEXTs (psArray *sources, char *filename)
    57 {
    58 
    59     double dPos, dMag;
     106bool pmSourcesWriteEXTs (psArray *sources, char *filename)
     107{
     108
     109    double dPos;
    60110    int i, j;
    61111    FILE *f;
     
    73123        pmSource *source = (pmSource *) sources->data[i];
    74124
    75         if (source->type != PM_SOURCE_EXTENDED)
     125        if (source->type != PM_SOURCE_TYPE_EXTENDED)
    76126            continue;
    77127        model = pmSourceMagnitudes (source, NULL, 0.0);
     
    85135        // XXX these are hardwired for SGAUSS
    86136        dPos = hypot ((dPAR[4] / PAR[4]), (dPAR[5] / PAR[5]));
    87         dMag = dPAR[1] / PAR[1];
    88137
    89138        fprintf (f, "%7.1f %7.1f  %7.1f %8.4f  %7.4f %7.4f  ",
    90                  PAR[2], PAR[3], PAR[0], source->fitMag, dMag, dPos);
     139                 PAR[2], PAR[3], PAR[0], source->extMag, source->errMag, dPos);
    91140
    92141        for (j = 4; j < model->params->n; j++) {
     
    111160
    112161// dump the sources to an output file
    113 bool pmModelWriteNULLs (psArray *sources, char *filename)
     162bool pmSourcesWriteNULLs (psArray *sources, char *filename)
    114163{
    115164
     
    132181
    133182        // skip these sources (in PSF or EXT)
    134         if (source->type == PM_SOURCE_STAR)
    135             continue;
    136         if (source->type == PM_SOURCE_EXTENDED)
     183        if (source->type == PM_SOURCE_TYPE_STAR)
     184            continue;
     185        if (source->type == PM_SOURCE_TYPE_EXTENDED)
    137186            continue;
    138187
Note: See TracChangeset for help on using the changeset viewer.