IPP Software Navigation Tools IPP Links Communication Pan-STARRS Links

Ignore:
Timestamp:
Nov 21, 2005, 5:33:37 PM (21 years ago)
Author:
eugene
Message:

reorg

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/psastro/src/psastroIO.c

    r5562 r5565  
    124124}
    125125
     126// elixir-style pseudo FITS table (header + ascii list)
     127bool testWriteCMP (psMetadata *header, char *filename, psArray *sources) {
     128
     129    int i;
     130    psMetadataItem *mdi;
     131
     132    psMetadataAdd (header, PS_LIST_TAIL, "NSTARS", PS_DATA_S32    | PS_META_REPLACE, "foo", sources->n);
     133
     134    // create file, write-out header
     135    unlink (filename);
     136    psFits *fits = psFitsAlloc (filename);
     137
     138    // set NAXIS to 0 : CFITSIO requires isolated header to have NAXIS = 0
     139    mdi = psMetadataLookup (header, "NAXIS");
     140    mdi->data.S32 = 0;
     141    mdi->type = PS_DATA_S32;
     142
     143    psFitsWriteHeader (header, fits);
     144    psFree (fits);
     145
     146    // re-open, add data to end of file
     147    FILE *f = fopen (filename, "a+");
     148    if (f == NULL) {
     149        psLogMsg ("WriteSourceOBJ", 3, "can't open output file for output %s\n", filename);
     150        return false;
     151    }
     152    fseek (f, 0, SEEK_END);
     153
     154    for (i = 0; i < sources->n; i++) {
     155       
     156        pmAstromObj *star = sources->data[i];
     157
     158        fprintf (f, "%6.1f %6.1f %6.3f %03d %2d %3.1f %6.3f %6.3f %6.2f %6.2f %5.1f\n",
     159                 star->pix.x, star->pix.y, star->Mag, (int)(star->dMag*1000), 1, 2.5, 11.0, 12.0, 2.0, 0.5, 15.0);
     160    }
     161    fclose (f);
     162    return true;
     163}
     164
     165// write out raw objects
     166bool testWriteRaw (char *filename, psArray *sources) {
     167
     168    int i;
     169
     170    // re-open, add data to end of file
     171    FILE *f = fopen (filename, "w");
     172    if (f == NULL) {
     173        psLogMsg ("WriteSourceOBJ", 3, "can't open output file for output %s\n", filename);
     174        return false;
     175    }
     176
     177    for (i = 0; i < sources->n; i++) {
     178       
     179        pmAstromObj *star = sources->data[i];
     180
     181        fprintf (f, "%8.2f %8.2f   %8.2f %8.2f   %8.2f %8.2f   %8.2f %8.2f   %8.2f %8.2f   %10.6f %10.6f   %8.2f %8.2f\n",
     182                 star->pix.x, star->pix.y,
     183                 star->cell.x, star->cell.y,
     184                 star->chip.x, star->chip.y,
     185                 star->FP.x, star->FP.y,
     186                 star->TP.x, star->TP.y,
     187                 star->sky.r*DEG_RAD, star->sky.d*DEG_RAD,
     188                 star->Mag, star->dMag);
     189    }
     190    fclose (f);
     191    return true;
     192}
     193
     194// elixir-style pseudo FITS table (header + ascii list)
     195bool testWriteRef (char *filename, psArray *sources) {
     196
     197    int i;
     198
     199    // re-open, add data to end of file
     200    FILE *f = fopen (filename, "w");
     201    if (f == NULL) {
     202        psLogMsg ("WriteSourceOBJ", 3, "can't open output file for output %s\n", filename);
     203        return false;
     204    }
     205
     206    for (i = 0; i < sources->n; i++) {
     207       
     208        pmAstromObj *star = sources->data[i];
     209
     210        fprintf (f, "%10.7f %10.7f %6.3f %6.3f\n", star->sky.r, star->sky.d+10*RAD_DEG/3600, 10.0, 0.05);
     211    }
     212    fclose (f);
     213    return true;
     214}
     215
     216void psastroDumpStars (psArray *sources) {
     217
     218    for (int i = 0; i < sources->n; i++) {
     219        pmAstromObj *star = sources->data[i];
     220
     221        fprintf (stderr, "%8.2f %8.2f   %8.2f %8.2f   %8.2f %8.2f   %8.2f %8.2f   %8.2f %8.2f   %10.6f %10.6f   %8.2f %8.2f\n",
     222                 star->pix.x, star->pix.y,
     223                 star->cell.x, star->cell.y,
     224                 star->chip.x, star->chip.y,
     225                 star->FP.x, star->FP.y,
     226                 star->TP.x, star->TP.y,
     227                 star->sky.r*DEG_RAD, star->sky.d*DEG_RAD,
     228                 star->Mag, star->dMag);
     229    }
     230}
Note: See TracChangeset for help on using the changeset viewer.