IPP Software Navigation Tools IPP Links Communication Pan-STARRS Links

Changeset 17894 for trunk/pstamp/src


Ignore:
Timestamp:
Jun 3, 2008, 9:38:48 AM (18 years ago)
Author:
bills
Message:

checking in various changes before I switch workspaces

Location:
trunk/pstamp/src
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/pstamp/src/pstamp.h

    r16593 r17894  
    3434
    3535#define STAMP_REQUEST_EXTNAME "PS1_PS_REQUEST"
    36 #define STAMP_REQUEST_VERSION "1.0"
     36#define STAMP_REQUEST_VERSION "1"
    3737
    3838#define STAMP_RESULTS_EXTNAME "PS1_PS_RESULTS"
    39 #define STAMP_RESULTS_VERSION "1.0"
     39#define STAMP_RESULTS_VERSION "1"
    4040
    4141#endif
  • trunk/pstamp/src/pstamprequest.c

    r17029 r17894  
    1010    psMetadata  *md;
    1111    psString    fileName;
     12    psString    requestName;
    1213} psrOptions;
    1314
     
    109110    bool        gotCenter = false;
    110111    bool        gotRange  = false;
    111     bool        needROI   = true;
    112     bool        makeStamps = true;
     112    bool        needROI   = false;
     113    bool        makeStamps= false;
    113114
    114115    options->md = md;
    115116
    116     psMetadataAdd (md, PS_LIST_TAIL, "VERSION", PS_DATA_STRING, "", STAMP_REQUEST_VERSION);
    117 
    118     // These mode arguments should be consistent with pstampparse
    119     if ((argnum = psArgumentGet(argc, argv, "-list"))) {
    120         psMetadataAdd (md, PS_LIST_TAIL, "CMD_MODE", PS_DATA_STRING, "", "list_uri");
    121         psArgumentRemove(argnum, &argc, argv);
    122         // we don't need coordinates if we're listing unless mode is -bycoord. May be set true below.
    123         needROI = false;   
    124         makeStamps = false;
    125     }
    126 
     117    // Job type. This is normally "stamp" for postage stamp.
     118    // "get_image" requests that whole images to be retrieved (in PS case magic masked)
     119    // "list_uri" results in a list of matching images
    127120    if ((argnum = psArgumentGet(argc, argv, "-get_image"))) {
    128         psMetadataAdd (md, PS_LIST_TAIL, "JOB_TYPE", PS_DATA_STRING, "", "get_image");
    129         psArgumentRemove(argnum, &argc, argv);
    130         // we don't need coordinates if we're listing unless mode is -bycoord. May be set true below.
    131         needROI = false;   
    132         makeStamps = false;
    133     } else {
    134         psMetadataAdd (md, PS_LIST_TAIL, "JOB_TYPE", PS_DATA_STRING, "", "stamp");
    135     }
    136 
    137 
    138     // get project from command line
     121        psMetadataAdd (md, PS_LIST_TAIL, "REQ_TYPE", PS_DATA_STRING, "", "get_image");
     122        psArgumentRemove(argnum, &argc, argv);
     123    } else if ((argnum = psArgumentGet(argc, argv, "-list_uri"))) {
     124        psMetadataAdd (md, PS_LIST_TAIL, "REQ_TYPE", PS_DATA_STRING, "", "get_image");
     125        psArgumentRemove(argnum, &argc, argv);
     126    } else {
     127        psMetadataAdd (md, PS_LIST_TAIL, "REQ_TYPE", PS_DATA_STRING, "", "stamp");
     128        needROI = true;
     129        makeStamps = true;
     130    }
     131
     132    if ((argnum = psArgumentGet(argc, argv, "-name"))) {
     133        psArgumentRemove(argnum, &argc, argv);
     134        if (argc < 2) {
     135            psError(PS_ERR_BAD_PARAMETER_VALUE, true, "no request name specified");
     136            usage();
     137        }
     138        options->requestName = argv[argnum];
     139        psArgumentRemove(argnum, &argc, argv);
     140    } else {
     141        psError(PS_ERR_BAD_PARAMETER_VALUE, true, "request name is required\n");
     142        usage();
     143    }
     144
    139145    if ((argnum = psArgumentGet(argc, argv, "-project"))) {
    140146        psArgumentRemove(argnum, &argc, argv);
     
    150156    }
    151157
    152     // get user tag (base name for the postage stamp files
     158    // user tag will be used as the base name for the postage stamp images
    153159    if ((argnum = psArgumentGet(argc, argv, "-user_tag"))) {
    154160        psArgumentRemove(argnum, &argc, argv);
     
    159165        psMetadataAdd(md, PS_LIST_TAIL, "USER_TAG", PS_DATA_STRING, "", argv[argnum]);
    160166        psArgumentRemove(argnum, &argc, argv);
    161     } else if (makeStamps) {
    162         psError(PS_ERR_BAD_PARAMETER_NULL, true, "no user_tag specified");
    163         usage();
    164     }
    165 
    166     // find style & type
     167    } else {
     168        // default user tag to requestName
     169        psMetadataAdd(md, PS_LIST_TAIL, "USER_TAG", PS_DATA_STRING, "", options->requestName);
     170    }
     171
     172    // find style & image type
    167173    if ((argnum = psArgumentGet(argc, argv, "-bycoord"))) {
    168174        gotStyle = true;
     
    212218    if (needROI) {
    213219        if (roiParam.celestialCenter) {
    214             psMetadataAdd (md, PS_LIST_TAIL, "RA", PS_DATA_STRING, "", roiParam.center[0]);
     220            psMetadataAdd (md, PS_LIST_TAIL, "RA", PS_DATA_STRING, "",  roiParam.center[0]);
    215221            psMetadataAdd (md, PS_LIST_TAIL, "DEC", PS_DATA_STRING, "", roiParam.center[1]);
    216222        } else {
    217223            if (needCoord) {
    218                 fprintf(stderr, "need to specify ROI in sky coordinates\n");
     224                fprintf(stderr, "need to specify ROI in sky coordinates with -bycoord\n");
    219225                usage();
    220226            }
     
    258264        return false;
    259265    }
     266    psMetadata *header = psMetadataAlloc();
     267
     268    psMetadataAdd(header, PS_LIST_TAIL, "REQ_NAME", PS_DATA_STRING, "", options->requestName);
     269    psMetadataAdd(header, PS_LIST_TAIL, "EXTVER",   PS_DATA_STRING, "", STAMP_REQUEST_VERSION);
    260270
    261271    psArray    *table = psArrayAlloc(1);
    262 
    263272    table->data[0] = options->md;
    264273
    265     if (!psFitsWriteTable(fitsFile, NULL, table, STAMP_REQUEST_EXTNAME)) {
     274    if (!psFitsWriteTable(fitsFile, header, table, STAMP_REQUEST_EXTNAME)) {
    266275        psError(PS_ERR_IO, false, "failed to write fits table");
    267276        return false;
    268277    }
    269278
    270     if (!  psFitsClose(fitsFile)) {
     279    if (! psFitsClose(fitsFile)) {
    271280        psError(PS_ERR_IO, false, "failed to close fits table");
    272281        return false;
Note: See TracChangeset for help on using the changeset viewer.