IPP Software Navigation Tools IPP Links Communication Pan-STARRS Links

Changeset 27605


Ignore:
Timestamp:
Apr 5, 2010, 2:31:06 PM (16 years ago)
Author:
Paul Price
Message:

Output ds9 region files.

Location:
trunk/ppViz/src/ppCoord
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • trunk/ppViz/src/ppCoord/ppCoord.h

    r27441 r27605  
    22#define PP_VIZPSF_H
    33
     4#include <stdio.h>
    45#include <pslib.h>
    56#include <psmodules.h>
     7
    68
    79#define PPVIZPSF_RECIPE "PPVIZPSF"      // Recipe name
     
    1719    bool radians;                       // RA,Dec are in radians?
    1820    bool all;                           // Only all coordinates?
     21    psString ds9name;                   // Name of ds9 region file
     22    FILE *ds9;                          // ds9 output file handle
     23    float ds9radius;                    // Radius of ds9 regions
     24    psString ds9color;                  // Color of ds9 regions
    1925} ppCoordData;
    2026
  • trunk/ppViz/src/ppCoord/ppCoordArguments.c

    r27441 r27605  
    5353    psMetadataAddBool(arguments, PS_LIST_TAIL, "-radians", 0, "RA,Dec in radians?", NULL);
    5454    psMetadataAddBool(arguments, PS_LIST_TAIL, "-all", 0, "Output all coordinates?", NULL);
     55    psMetadataAddStr(arguments, PS_LIST_TAIL, "-ds9", 0, "Output ds9 region file", NULL);
     56    psMetadataAddF32(arguments, PS_LIST_TAIL, "-ds9-radius", 0, "ds9 region radii", 5.0);
     57    psMetadataAddStr(arguments, PS_LIST_TAIL, "-ds9-color", 0, "ds9 region color", "red");
    5558    if (!psArgumentParse(arguments, &argc, argv) || argc != 1) {
    5659        usage(argv[0], arguments, data);
     
    6568    data->all = psMetadataLookupBool(NULL, arguments, "-all");
    6669//    psMetadataAddStr(data->config->arguments, PS_LIST_TAIL, "OUTPUT", 0, "Output root name", data->outRoot);
     70
     71    data->ds9name = psMemIncrRefCounter(psMetadataLookupStr(NULL, arguments, "-ds9"));
     72    if (data->ds9name) {
     73        data->ds9 = fopen(data->ds9name, "w");
     74        if (!data->ds9) {
     75            psError(PS_ERR_IO, true, "Unable to open region file %s", data->ds9name);
     76            return false;
     77        }
     78    }
     79    data->ds9radius = psMetadataLookupF32(NULL, arguments, "-ds9-radius");
     80    data->ds9color = psMetadataLookupStr(NULL, arguments, "-ds9-color");
    6781
    6882    psTrace("ppCoord", 1, "Done reading command-line arguments\n");
  • trunk/ppViz/src/ppCoord/ppCoordData.c

    r27441 r27605  
    1919    psFree(data->radecName);
    2020    psFree(data->config);
     21    psFree(data->ds9name);
     22    fclose(data->ds9);
     23    psFree(data->ds9color);
    2124    return;
    2225}
     
    3437    data->radecName = NULL;
    3538    data->config = NULL;
     39    data->radians = false;
     40    data->all = false;
     41    data->ds9name = NULL;
     42    data->ds9 = NULL;
     43    data->ds9radius = NAN;
     44    data->ds9color = NULL;
    3645
    3746    return data;
  • trunk/ppViz/src/ppCoord/ppCoordLoop.c

    r27575 r27605  
    314314                    rawFile ? " " : "",
    315315                    rawFile && cellName ? cellName : (rawFile ? "UNKNOWN" : ""));
     316            if (!rawFile && data->ds9) {
     317                // Region file is only appropriate if we're not mapping all the way back to cell coordinates
     318                fprintf(data->ds9, "image;circle(%f,%f,%f) # color=%s",
     319                        xPix->data.F32[i], yPix->data.F32[i], data->ds9radius, data->ds9color);
     320            }
    316321        }
    317322    }
Note: See TracChangeset for help on using the changeset viewer.