IPP Software Navigation Tools IPP Links Communication Pan-STARRS Links

Ignore:
Timestamp:
Jul 27, 2005, 6:55:51 PM (21 years ago)
Author:
eugene
Message:

general cleanup

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/psphot/src/output.c

    r4398 r4641  
    11# include "psphot.h"
    22
    3 // output functions
    4 // we have several fixed modes (sx, obj, cmp)
    5 
    6 // we require a fixed number of chars already allocated
    7 init_line (char *line, int *Nline) {
    8   *Nline = 0;
    9 }
    10 
    11 add_to_line (char *line, int *Nline, char *format, ...) {
    12 
    13     va_list ap;
    14 
    15     va_start (ap, format);
    16     Nchar = vsprintf (&line[*Nline], format, ap);
    17     *Nline += Nchar;
     3// output functions: we have several fixed modes (sx, obj, cmp)
     4
     5void output (psImageData *imdata, psMetadata *config, psArray *sources) {
     6
     7  char *outputMode = psMetadataLookupPtr (&status, config, "OUTPUT_MODE");
     8
     9  if (outputMode == NULL) {
     10    WriteSourcesText (imdata, config, sources);
     11    exit (0);
     12  }
     13
     14  if (!strcasecmp (outputMode, "OBJ")) {
     15    WriteSourcesOBJ (imdata, config, sources);
     16    exit (0);
     17  }
     18 
     19  if (!strcasecmp (outputMode, "SX")) {
     20    WriteSourcesSX (imdata, config, sources);
     21    exit (0);
     22  }
     23 
     24  if (!strcasecmp (outputMode, "CMP")) {
     25    WriteSourcesCMP (imdata, config, sources);
     26    exit (0);
     27  }
     28 
     29  if (!strcasecmp (outputMode, "CMF")) {
     30    WriteSourcesCMF (imdata, config, sources);
     31    exit (0);
     32  }
     33 
     34  psAbort ("psphot", "unknown output mode %s", outputMode);
     35}
     36
     37bool WriteSourceText (psImageData *imdata, psMetadata *config, psArray *sources) {
     38
     39  char *filename = psMetadataLookupPtr (&status, config, "OUTPUT");
     40
     41  DumpImage (imdata->image, filename);
     42
     43  // get these names from config?
     44  DumpModelPSF (sources, "psfsources.dat");
     45  DumpModelFLT (sources, "fltsources.dat");
     46  DumpModelNULL (sources, "nullsources.dat");
     47  DumpMoments (sources, "moments.dat");
     48
     49  exit (0);
    1850}
    1951
    2052// dophot-style output list with fixed line width
    21 bool WriteSourcesOBJ (psArray *sources, char *filename) {
     53bool WriteSourcesOBJ (psImageData *imdata, psMetadata *config, psArray *sources) {
    2254
    2355# define NCHAR 104
    2456
    2557    char line[NCHAR];
     58
     59    char *filename = psMetadataLookupPtr (&status, config, "OUTPUT");
    2660
    2761    FILE *f = fopen (filename, "w");
     
    6397
    6498// elixir/sextractor-style output list with fixed line width
    65 bool WriteSourcesSX (psArray *sources, char *filename) {
     99bool WriteSourcesSX (psImageData *imdata, psMetadata *config, psArray *sources) {
    66100
    67101# define NCHAR 104
    68102
    69103    char line[NCHAR];
     104
     105    char *filename = psMetadataLookupPtr (&status, config, "OUTPUT");
    70106
    71107    FILE *f = fopen (filename, "w");
     
    108144
    109145// elixir-style pseudo FITS table (header + ascii list)
    110 bool WriteSourcesCMP (psMetadata *header, psArray *sources, char *filename) {
     146bool WriteSourcesCMP (psImageData *imdata, psMetadata *config, psArray *sources) {
    111147
    112148
     
    114150
    115151    char line[NCHAR];
     152
     153    char *filename = psMetadataLookupPtr (&status, config, "OUTPUT");
    116154
    117155    FILE *f = fopen (filename, "w");
     
    121159    }
    122160
    123     // write header to file
     161    // write imdata->header to file
    124162
    125163    // write sources with models first
     
    155193
    156194// elixir-style FITS table output (header + table in 1st extension)
    157 bool WriteSourcesCMF (psArray *sources, char *filename) {
    158     // ???
    159 }
     195bool WriteSourcesCMF (psImageData *imdata, psMetadata *config, psArray *sources) {
     196
     197    char *filename = psMetadataLookupPtr (&status, config, "OUTPUT");
     198
     199    // write imdata->header to file
     200
     201    // write FITS table to file (use autocode tools)
     202}
     203
     204// we require a fixed number of chars already allocated
     205init_line (char *line, int *Nline) {
     206  *Nline = 0;
     207}
     208
     209add_to_line (char *line, int *Nline, char *format, ...) {
     210
     211    va_list ap;
     212
     213    va_start (ap, format);
     214    Nchar = vsprintf (&line[*Nline], format, ap);
     215    *Nline += Nchar;
     216}
     217
Note: See TracChangeset for help on using the changeset viewer.