IPP Software Navigation Tools IPP Links Communication Pan-STARRS Links

Changeset 20494


Ignore:
Timestamp:
Oct 31, 2008, 4:05:48 PM (18 years ago)
Author:
Paul Price
Message:

Adding variance map renormalisation.

Location:
trunk/ppStack/src
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • trunk/ppStack/src/ppStackArguments.c

    r19599 r20494  
    137137        psArgumentRemove(argNum, &argc, argv);
    138138    }
    139 
    140139
    141140
     
    172171    psMetadataAddStr(arguments, PS_LIST_TAIL, "-renorm-stdev", 0,
    173172                     "Statistic for stdev in renormalisation", NULL);
    174     psMetadataAddS32(arguments, PS_LIST_TAIL, "-renorm-width", 0, "Width of renormalisation boxes", 0);
     173    psMetadataAddF32(arguments, PS_LIST_TAIL, "-renorm-width", 0, "Gaussian width for renormalisation", NAN);
     174    psMetadataAddS32(arguments, PS_LIST_TAIL, "-renorm-num", 0, "Number of samples for renormalisation", 0);
    175175    psMetadataAddStr(arguments, PS_LIST_TAIL, "-temp-image", 0, "Suffix for temporary images", NULL);
    176176    psMetadataAddStr(arguments, PS_LIST_TAIL, "-temp-mask", 0, "Suffix for temporary masks", NULL);
     
    179179                      "Delete temporary files on completion?", false);
    180180    psMetadataAddS32(arguments, PS_LIST_TAIL, "-threads", 0, "Number of threads to use", 0);
     181    psMetadataAddBool(arguments, PS_LIST_TAIL, "-psphot-visual", 0, "psphot visualisation", 0);
    181182
    182183    if (argc == 1 || !psArgumentParse(arguments, &argc, argv) || argc != 3) {
     
    265266        psMetadataAddBool(arguments, PS_LIST_TAIL, "RENORM", 0, "Renormalise variance maps?", true);
    266267    }
    267     VALUE_ARG_RECIPE_INT("-renorm-width", "RENORM.WIDTH", S32, 0);
     268    VALUE_ARG_RECIPE_INT("-renorm-num", "RENORM.NUM", S32, 0);
     269    VALUE_ARG_RECIPE_FLOAT("-renorm-width", "RENORM.WIDTH", F32);
    268270    valueArgRecipeStr(arguments, recipe, "-renorm-mean", "RENORM.MEAN", recipe);
    269271    valueArgRecipeStr(arguments, recipe, "-renorm-stdev", "RENORM.STDEV", recipe);
  • trunk/ppStack/src/ppStackLoop.c

    r20467 r20494  
    10221022    }
    10231023
     1024    if (psMetadataLookupBool(&mdok, recipe, "RENORM")) {
     1025        // Statistics for renormalisation
     1026        psStatsOptions renormMean = psStatsOptionFromString(psMetadataLookupStr(&mdok, recipe,
     1027                                                                                "RENORM.MEAN"));
     1028        psStatsOptions renormStdev = psStatsOptionFromString(psMetadataLookupStr(&mdok, recipe,
     1029                                                                                 "RENORM.STDEV"));
     1030        int renormNum = psMetadataLookupS32(&mdok, recipe, "RENORM.NUM"); // Number of samples
     1031        float renormWidth = psMetadataLookupS32(&mdok, recipe, "RENORM.WIDTH"); // Width of Gaussian phot
     1032        psMaskType maskValue = pmConfigMaskGet("BLANK", config); // Bits to mask
     1033        if (!pmReadoutWeightRenormPhot(outRO, maskValue, renormNum, renormWidth,
     1034                                       renormMean, renormStdev, NULL)) {
     1035            psError(PS_ERR_UNKNOWN, false, "Unable to renormalise variances.");
     1036            psFree(outRO);
     1037            return false;
     1038        }
     1039    }
     1040
    10241041    if (psMetadataLookupBool(&mdok, recipe, "PHOTOMETRY")) {
    10251042        psTrace("ppStack", 1, "Photometering stacked image....\n");
  • trunk/ppStack/src/ppStackMatch.c

    r20426 r20494  
    1717
    1818//#define TESTING                         // Enable debugging output
    19 
    20 
    2119
    2220#ifdef TESTING
     
    339337    assert((*regions)->n == (*kernels)->n);
    340338
    341     // Correct the variance for the chi^2
     339    // Record chi^2
    342340    {
    343341        *chi2 = 0.0;
     
    358356        float vf = psMetadataLookupF32(NULL, readout->parent->concepts, "CELL.VARFACTOR"); // Variance factor
    359357        *chi2 /= vf * num;
    360         psLogMsg("ppStack", PS_LOG_INFO, "Additional variance from chi^2: %f", *chi2);
    361358    }
    362359
     
    368365        psStatsOptions renormStdev = psStatsOptionFromString(psMetadataLookupStr(&mdok, recipe,
    369366                                                                                 "RENORM.STDEV"));
    370         int renormWidth = psMetadataLookupS32(&mdok, recipe, "RENORM.WIDTH"); // Width for renormalisation box
    371 
    372         psLogMsg("ppStack", PS_LOG_INFO, "Renormalising variance map.");
    373         if (!pmReadoutWeightRenorm(readout, maskBad, renormMean, renormStdev, renormWidth, rng)) {
     367
     368        if (!pmReadoutWeightRenormPixels(readout, maskBad, renormMean, renormStdev, rng)) {
    374369            psError(PS_ERR_UNKNOWN, false, "Unable to renormalise variances.");
    375370            psFree(output);
Note: See TracChangeset for help on using the changeset viewer.