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/psastro-mktest.c

    r5562 r5565  
    11# include "psastro.h"
    2 
    3 bool testWriteCMP (psMetadata *header, char *filename, psArray *sources);
    4 bool testWriteRef (char *filename, psArray *sources);
    5 bool testWriteRaw (char *filename, psArray *sources);
    62
    73int main (int argc, char **argv) {
     
    173169    exit (0);
    174170}
    175 
    176 // elixir-style pseudo FITS table (header + ascii list)
    177 bool testWriteCMP (psMetadata *header, char *filename, psArray *sources) {
    178 
    179     int i;
    180     psMetadataItem *mdi;
    181 
    182     psMetadataAdd (header, PS_LIST_TAIL, "NSTARS", PS_DATA_S32    | PS_META_REPLACE, "foo", sources->n);
    183 
    184     // create file, write-out header
    185     unlink (filename);
    186     psFits *fits = psFitsAlloc (filename);
    187 
    188     // set NAXIS to 0 : CFITSIO requires isolated header to have NAXIS = 0
    189     mdi = psMetadataLookup (header, "NAXIS");
    190     mdi->data.S32 = 0;
    191     mdi->type = PS_DATA_S32;
    192 
    193     psFitsWriteHeader (header, fits);
    194     psFree (fits);
    195 
    196     // re-open, add data to end of file
    197     FILE *f = fopen (filename, "a+");
    198     if (f == NULL) {
    199         psLogMsg ("WriteSourceOBJ", 3, "can't open output file for output %s\n", filename);
    200         return false;
    201     }
    202     fseek (f, 0, SEEK_END);
    203 
    204     for (i = 0; i < sources->n; i++) {
    205        
    206         pmAstromObj *star = sources->data[i];
    207 
    208         fprintf (f, "%6.1f %6.1f %6.3f %03d %2d %3.1f %6.3f %6.3f %6.2f %6.2f %5.1f\n",
    209                  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);
    210     }
    211     fclose (f);
    212     return true;
    213 }
    214 
    215 // elixir-style pseudo FITS table (header + ascii list)
    216 bool testWriteRef (char *filename, psArray *sources) {
    217 
    218     int i;
    219 
    220     // re-open, add data to end of file
    221     FILE *f = fopen (filename, "w");
    222     if (f == NULL) {
    223         psLogMsg ("WriteSourceOBJ", 3, "can't open output file for output %s\n", filename);
    224         return false;
    225     }
    226 
    227     for (i = 0; i < sources->n; i++) {
    228        
    229         pmAstromObj *star = sources->data[i];
    230 
    231         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);
    232     }
    233     fclose (f);
    234     return true;
    235 }
    236 
    237 // elixir-style pseudo FITS table (header + ascii list)
    238 bool testWriteRaw (char *filename, psArray *sources) {
    239 
    240     int i;
    241 
    242     // re-open, add data to end of file
    243     FILE *f = fopen (filename, "w");
    244     if (f == NULL) {
    245         psLogMsg ("WriteSourceOBJ", 3, "can't open output file for output %s\n", filename);
    246         return false;
    247     }
    248 
    249     for (i = 0; i < sources->n; i++) {
    250        
    251         pmAstromObj *star = sources->data[i];
    252 
    253         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",
    254                  star->pix.x, star->pix.y,
    255                  star->cell.x, star->cell.y,
    256                  star->chip.x, star->chip.y,
    257                  star->FP.x, star->FP.y,
    258                  star->TP.x, star->TP.y,
    259                  star->sky.r*DEG_RAD, star->sky.d*DEG_RAD,
    260                  star->Mag, star->dMag);
    261     }
    262     fclose (f);
    263     return true;
    264 }
Note: See TracChangeset for help on using the changeset viewer.