IPP Software Navigation Tools IPP Links Communication Pan-STARRS Links

Ignore:
Timestamp:
Mar 17, 2009, 12:08:50 PM (17 years ago)
Author:
beaumont
Message:

merged with head

Location:
branches/cnb_branches/cnb_branch_20090301
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • branches/cnb_branches/cnb_branch_20090301

  • branches/cnb_branches/cnb_branch_20090301/ppSub

  • branches/cnb_branches/cnb_branch_20090301/ppSub/src/ppSubArguments.c

    r21524 r23352  
    2929{
    3030    fprintf(stderr, "\nPan-STARRS PSF-matched image subtraction\n\n");
    31     fprintf(stderr, "Usage: %s INPUT.fits REFERENCE.fits OUTPUT_ROOT \n"
    32             "\t[-psf REFERENCE.psf.fits] [-sources REFERENCE.cmf]\n\n"
     31    fprintf(stderr, "Usage: %s OUTPUT_ROOT \n"
     32            "\t[-psf REFERENCE.psf.fits]\n\n"
    3333            "This subtracts the convolved REFERENCE from the INPUT, by default.\n",
    3434            program);
     
    191191bool ppSubArgumentsSetup(int argc, char *argv[], pmConfig *config)
    192192{
    193     int argnum;                         // Argument Number
     193    //    int argnum;                         // Argument Number
    194194    assert(config);
    195195
     
    200200    }
    201201
    202     if ((argnum = psArgumentGet(argc, argv, "-psphot-visual"))) {
    203         psArgumentRemove(argnum, &argc, argv);
    204         psphotSetVisual(true);
    205     }
    206 
    207     pmConfigFileSetsMD(config->arguments, &argc, argv, "PPSUB.SOURCES", "-sources", NULL);
    208202
    209203    psMetadata *arguments = config->arguments; // Command-line arguments
     204    psMetadataAddStr(arguments, PS_LIST_TAIL, "-inimage", 0, "Input image", NULL);
    210205    psMetadataAddStr(arguments, PS_LIST_TAIL, "-inmask", 0, "Input mask image", NULL);
    211206    psMetadataAddStr(arguments, PS_LIST_TAIL, "-invariance", 0, "Input variance image", NULL);
     207    psMetadataAddStr(arguments, PS_LIST_TAIL, "-insources", 0, "Input source list", NULL);
     208    psMetadataAddStr(arguments, PS_LIST_TAIL, "-refimage", 0, "Reference image", NULL);
    212209    psMetadataAddStr(arguments, PS_LIST_TAIL, "-refmask", 0, "Reference mask image", NULL);
    213210    psMetadataAddStr(arguments, PS_LIST_TAIL, "-refvariance", 0, "Reference variance image", NULL);
     211    psMetadataAddStr(arguments, PS_LIST_TAIL, "-refsources", 0, "Reference source list", NULL);
     212    psMetadataAddStr(arguments, PS_LIST_TAIL, "-kernel", 0, "Precalculated kernel to apply", NULL);
    214213    psMetadataAddStr(arguments, PS_LIST_TAIL, "-stats", 0, "Statistics file", NULL);
    215214    psMetadataAddF32(arguments, PS_LIST_TAIL, "-region", 0, "Size of iso-kernel region", NAN);
     
    228227    psMetadataAddF32(arguments, PS_LIST_TAIL, "-spacing", 0, "Typical stamp spacing (pixels)", NAN);
    229228    psMetadataAddS32(arguments, PS_LIST_TAIL, "-footprint", 0, "Stamp footprint half-size (pixels)", -1);
     229    psMetadataAddF32(arguments, PS_LIST_TAIL, "-source-radius", 0, "Source matching radius (pixels)", NAN);
    230230    psMetadataAddS32(arguments, PS_LIST_TAIL, "-stride", 0, "Size of convolution patches (pixels)", -1);
    231231    psMetadataAddF32(arguments, PS_LIST_TAIL, "-threshold", 0, "Minimum threshold for stamps (ADU)", NAN);
     
    256256    psMetadataAddBool(arguments, PS_LIST_TAIL, "-visual", 0, "Show diagnostic plots", NULL);
    257257
    258     if (argc == 1 || !psArgumentParse(arguments, &argc, argv) || argc != 4) {
     258    if (argc == 1 || !psArgumentParse(arguments, &argc, argv) || argc != 2) {
    259259        usage(argv[0], arguments, config);
    260260    }
    261261
    262     fileList("INPUT", argv[1], "Name of the input image",     config);
    263     fileList("REF",   argv[2], "Name of the reference image", config);
    264262    psMetadataAddStr(config->arguments, PS_LIST_TAIL, "OUTPUT", 0, "Name of the output image", argv[3]);
    265263
     264
     265    const char *inImage = psMetadataLookupStr(NULL, arguments, "-inimage"); // Name of input image
     266    if (inImage && strlen(inImage) > 0) {
     267        fileList("INPUT", inImage, "Name of the input image", config);
     268    }
    266269    const char *inMask = psMetadataLookupStr(NULL, arguments, "-inmask"); // Name of input mask
    267270    if (inMask && strlen(inMask) > 0) {
     
    272275        fileList("INPUT.VARIANCE", inVariance, "Name of the input variance image", config);
    273276    }
    274 
     277    const char *inSources = psMetadataLookupStr(NULL, arguments, "-insources"); // Name of input source list
     278    if (inSources && strlen(inSources) > 0) {
     279        fileList("INPUT.SOURCES", inSources, "Name of the input source list", config);
     280    }
     281
     282    const char *refImage = psMetadataLookupStr(NULL, arguments, "-refimage"); // Name of reference image
     283    if (refImage && strlen(refImage) > 0) {
     284        fileList("INPUT", refImage, "Name of the reference image", config);
     285    }
    275286    const char *refMask = psMetadataLookupStr(NULL, arguments, "-refmask"); // Name of reference mask
    276287    if (refMask && strlen(refMask) > 0) {
     
    280291    if (refVariance && strlen(refVariance) > 0) {
    281292        fileList("REF.VARIANCE", refVariance, "Name of the reference variance image", config);
     293    }
     294    const char *refSources = psMetadataLookupStr(NULL, arguments, "-refsources"); // Name of ref source list
     295    if (refSources && strlen(refSources) > 0) {
     296        fileList("REF.SOURCES", refSources, "Name of the reference source list", config);
     297    }
     298
     299    const char *kernel = psMetadataLookupStr(NULL, arguments, "-kernel"); // Name of kernel
     300    if (kernel && strlen(kernel) > 0) {
     301        fileList("KERNEL", kernel, "Name of the kernel to apply", config);
    282302    }
    283303
     
    304324    }
    305325
    306     VALUE_ARG_RECIPE_FLOAT("-region",     "REGION.SIZE",     F32);
    307     VALUE_ARG_RECIPE_INT("-size",         "KERNEL.SIZE",     S32, 0);
    308     VALUE_ARG_RECIPE_INT("-order",        "SPATIAL.ORDER",   S32, -1);
    309     VALUE_ARG_RECIPE_FLOAT("-spacing",    "STAMP.SPACING",   F32);
    310     VALUE_ARG_RECIPE_INT("-rings-order",  "RINGS.ORDER",     S32, -1);
    311     VALUE_ARG_RECIPE_INT("-inner",        "INNER",           S32, -1);
    312     VALUE_ARG_RECIPE_INT("-spam-binning", "SPAM.BINNING",    S32, 0);
    313     VALUE_ARG_RECIPE_INT("-footprint",    "STAMP.FOOTPRINT", S32, -1);
    314     VALUE_ARG_RECIPE_INT("-stride",       "STRIDE",          S32, -1);
    315     VALUE_ARG_RECIPE_FLOAT("-threshold",  "STAMP.THRESHOLD", F32);
    316     VALUE_ARG_RECIPE_INT("-iter",         "ITER",            S32, -1);
    317     VALUE_ARG_RECIPE_FLOAT("-rej",        "REJ",             F32);
    318     VALUE_ARG_RECIPE_FLOAT("-sys",        "SYS",             F32);
    319     VALUE_ARG_RECIPE_FLOAT("-badfrac",    "BADFRAC",         F32);
    320     VALUE_ARG_RECIPE_FLOAT("-penalty",    "PENALTY",         F32);
    321     VALUE_ARG_RECIPE_FLOAT("-poor-frac",  "POOR.FRACTION",   F32);
    322     VALUE_ARG_RECIPE_INT("-bin1",         "BIN1",            S32, 0);
    323     VALUE_ARG_RECIPE_INT("-bin2",         "BIN2",            S32, 0);
     326    VALUE_ARG_RECIPE_FLOAT("-region",        "REGION.SIZE",     F32);
     327    VALUE_ARG_RECIPE_INT("-size",            "KERNEL.SIZE",     S32, 0);
     328    VALUE_ARG_RECIPE_INT("-order",           "SPATIAL.ORDER",   S32, -1);
     329    VALUE_ARG_RECIPE_FLOAT("-spacing",       "STAMP.SPACING",   F32);
     330    VALUE_ARG_RECIPE_INT("-rings-order",     "RINGS.ORDER",     S32, -1);
     331    VALUE_ARG_RECIPE_INT("-inner",           "INNER",           S32, -1);
     332    VALUE_ARG_RECIPE_INT("-spam-binning",    "SPAM.BINNING",    S32, 0);
     333    VALUE_ARG_RECIPE_INT("-footprint",       "STAMP.FOOTPRINT", S32, -1);
     334    VALUE_ARG_RECIPE_FLOAT("-source-radius", "SOURCE.RADIUS",   F32);
     335    VALUE_ARG_RECIPE_INT("-stride",          "STRIDE",          S32, -1);
     336    VALUE_ARG_RECIPE_FLOAT("-threshold",     "STAMP.THRESHOLD", F32);
     337    VALUE_ARG_RECIPE_INT("-iter",            "ITER",            S32, -1);
     338    VALUE_ARG_RECIPE_FLOAT("-rej",           "REJ",             F32);
     339    VALUE_ARG_RECIPE_FLOAT("-sys",           "SYS",             F32);
     340    VALUE_ARG_RECIPE_FLOAT("-badfrac",       "BADFRAC",         F32);
     341    VALUE_ARG_RECIPE_FLOAT("-penalty",       "PENALTY",         F32);
     342    VALUE_ARG_RECIPE_FLOAT("-poor-frac",     "POOR.FRACTION",   F32);
     343    VALUE_ARG_RECIPE_INT("-bin1",            "BIN1",            S32, 0);
     344    VALUE_ARG_RECIPE_INT("-bin2",            "BIN2",            S32, 0);
    324345
    325346    valueArgRecipeStr(arguments, recipe, "-mask-in",   "MASK.IN",  recipe);
     
    360381
    361382    if (psMetadataLookupBool(NULL, arguments, "-visual")) {
    362         pmSubtractionSetVisual(true);
     383        pmVisualSetVisual(true);
    363384    }
    364385
     
    376397    psTrace("ppSub", 1, "Done reading command-line arguments\n");
    377398
    378     // Dump configuration, now that's it's settled
    379     psBool status;
    380     psString dump_file =  psMetadataLookupStr(&status, config->arguments, "-dumpconfig");
    381     if (dump_file) {
    382         pmConfigCamerasCull(config, NULL);
    383         pmConfigRecipesCull(config, "PPSUB,PPSTATS,PSPHOT,MASKS");
    384 
    385         pmFPAfile *input = psMetadataLookupPtr(NULL, config->files, "PPSUB.INPUT"); // Input file
    386         pmConfigDump(config, input->fpa, dump_file);
    387     }
    388 
    389399    // XXX move this to ppSubArguments
    390400    int threads = psMetadataLookupS32(NULL, config->arguments, "-threads"); // Number of threads
Note: See TracChangeset for help on using the changeset viewer.