IPP Software Navigation Tools IPP Links Communication Pan-STARRS Links

Ignore:
Timestamp:
Jan 11, 2015, 2:57:41 PM (12 years ago)
Author:
eugene
Message:

merge changes from ipp-20141224

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/psphot/src/psphotGalaxyParams.c

    r37772 r37811  
    11# include "psphotInternal.h"
    22
    3 #define USE_FOOTPRINTS 1
     3# define PRINT_STUFF 0
     4# define USE_FOOTPRINTS 1
    45
    56// measure some properties on the exended objects
     
    4041}
    4142
    42 #ifdef notdef
     43// # define COUNT_SKIPS
     44# ifdef COUNT_SKIPS
    4345/*** for the moment, this test code : it is not thread safe ***/
    44 int  Nall = 0;
    45 int  Nskip1 = 0;
    46 int  Nskip2 = 0;
    47 int  Nskip3 = 0;
    48 int  Nskip4 = 0;
    49 int  Nskip5 = 0;
    50 int  Nskip6 = 0;
    51 
     46static int  Nskip1 = 0;
     47static int  Nskip2 = 0;
     48static int  Nskip3 = 0;
     49static int  Nskip4 = 0;
     50static int  Nskip5 = 0;
     51static int  Nskip6 = 0;
     52static int  Nskip7 = 0;
     53static int  Nskip8 = 0;
    5254# define SKIP(VALUE) { VALUE++; continue; }
    53 
    54 #endif //notdef
    55 
    56 #define SKIP(VALUE) {continue;}
     55# else
     56# define SKIP(VALUE) {continue;}
     57# endif //notdef
    5758
    5859// aperture-like measurements for extended sources
     
    104105
    105106    psImage *footprintImage = NULL;
    106 #ifdef USE_FOOTPRINTS
     107#if USE_FOOTPRINTS
    107108    footprintImage = psImageAlloc(readout->image->numCols, readout->image->numRows, PS_TYPE_S32);
    108109    psImageInit(footprintImage, 0);
    109     pmSetFootprintArrayIDsForImage(footprintImage, detections->footprints, true);
     110    pmSetFootprintArrayIDsForImage(footprintImage, detections->footprints, false);
    110111#endif
    111112
     
    207208
    208209// # if (PS_TRACE_ON)
    209 # if (0)
     210# ifdef COUNT_SKIPS
    210211    fprintf (stderr, "ext analysis skipped @ 1  : %d\n", Nskip1);
    211212    fprintf (stderr, "ext analysis skipped @ 2  : %d\n", Nskip2);
     
    214215    fprintf (stderr, "ext analysis skipped @ 5  : %d\n", Nskip5);
    215216    fprintf (stderr, "ext analysis skipped @ 6  : %d\n", Nskip6);
     217    fprintf (stderr, "ext analysis skipped @ 7  : %d\n", Nskip7);
     218    fprintf (stderr, "ext analysis skipped @ 8  : %d\n", Nskip8);
    216219#endif
    217220
     
    221224
    222225    // psphotVisualShowPetrosians (sources);
     226
     227    // XXX TEST: SAVE IMAGE:
     228    // psphotSaveImage (NULL, readout->image, "resid.fits");
    223229
    224230    return true;
     
    240246    psMetadata *recipe      = job->args->data[3];
    241247
    242 #ifndef USE_FOOTPRINTS
     248#if (!USE_FOOTPRINTS)
    243249    float skynoise          = PS_SCALAR_VALUE(job->args->data[4],F32);
    244250#endif
     
    256262    // don't try and use bad models
    257263    pmModelStatus badModel = PM_MODEL_STATUS_NONE;
    258     badModel |= PM_MODEL_STATUS_NONCONVERGE;
     264//    badModel |= PM_MODEL_STATUS_NONCONVERGE;  this causes most objects to get unmeasured
    259265    badModel |= PM_MODEL_STATUS_BADARGS;
    260266    badModel |= PM_MODEL_STATUS_OFFIMAGE;
     
    291297
    292298        // Nall ++;
     299
     300        bool testObject = FALSE;
     301        // testObject = testObject || ((fabs(source->peak->xf - 5788) < 10) && (fabs(source->peak->yf - 5711) < 10));
     302        // testObject = testObject || ((fabs(source->peak->xf -   96) < 10) && (fabs(source->peak->yf - 5550) < 10));
     303        // testObject = testObject || ((fabs(source->peak->xf -  300) < 10) && (fabs(source->peak->yf - 5988) < 10));
     304        if (testObject) {
     305          fprintf (stderr, "test object: %f, %f\n", source->peak->xf, source->peak->yf);
     306          testObject = TRUE;
     307        }
    293308
    294309        // rules for measuring petrosian parameters for specific objects are set in
     
    403418#endif
    404419
    405 #ifdef USE_FOOTPRINTS
     420#if (USE_FOOTPRINTS)
    406421        psS32 **vFootprint = footprintImage->data.S32;
    407422#else
     
    436451                }
    437452
    438 #ifdef USE_FOOTPRINTS
    439                 if (vFootprint[yImage][xImage]) {
    440 #else
    441                 if (fabs(pixel) >= threshold) {
    442 #endif
     453#if (USE_FOOTPRINTS)
     454                // this is a pixel in the object
     455                if (vFootprint[yImage][xImage] == source->peak->footprint->id) {
    443456                    SET_MARK(MARK_SOURCE);
    444457                    continue;
     458                }
     459                // this is a pixel in another object
     460                if (vFootprint[yImage][xImage] > 0.0) continue;
     461#else
     462                // this is a pixel in an object (this or the other)
     463                if (fabs(pixel) >= threshold) {
     464                  continue
    445465                }
     466#endif
    446467                // we have a background pixel.
    447468                // Check whether it's mirror is a background pixel as well.
     
    456477                if (isnan(mirrorPixel)) continue;
    457478
    458 #ifdef USE_FOOTPRINTS
     479#if (USE_FOOTPRINTS)
    459480                if (vFootprint[yFlip + row0][xFlip + col0] == 0) {
    460481#else
     
    581602        source->extpars->gS2 = source->extpars->gRT + source->extpars->gRA;
    582603
    583 #ifdef PRINT_STUFF
     604#if (PRINT_STUFF)
    584605        if (Ngood % 40 == 1) {
    585             printf("   id  sumI rHL rad   sumI     gRT   gRA       sumRt      sumBt         numPixels numBGPixels\n");
    586         }
    587         printf("%5d %5.2e %3.1f %10.1f %6.3f %6.3f %5.2e %5.2e %10d %6ld\n",
    588             source->id, sumI, source->extpars->ghalfLightRadius, radius, source->extpars->gRT, source->extpars->gRA, sumRt, sumBt, numPixels, bgPixels->n);
     606          fprintf (stderr, "   id  sumI rHL rad   sumI     gRT   gRA       sumRt      sumBt         numPixels numBGPixels\n");
     607        }
     608        fprintf (stderr, "%5d %5.1f %5.1f : %5.2e %4.1f %10.1f %6.3f %6.3f %5.2e %5.2e %10d %6ld\n",
     609                 source->id, source->peak->xf, source->peak->yf,
     610                 sumI, source->extpars->ghalfLightRadius,
     611                 radius,
     612                 source->extpars->gRT,
     613                 source->extpars->gRA, sumRt, sumBt, numPixels, bgPixels->n);
    589614#endif
    590615
     
    592617restoreModel:
    593618
    594         if ((extModel != sersicModel) || !isExtended) {
     619        if (testObject) {
     620          fprintf (stderr, "done with %d\n", source->id);
     621        }
     622
     623# define USE_BEST_FIT TRUE
     624        // XXX TEST: Keep the sersic model regardless
     625        if (USE_BEST_FIT && ((extModel != sersicModel) || !isExtended)) {
    595626            // add the sersic model back in
    596627            if (source->tmpFlags & PM_SOURCE_TMPF_SUBTRACTED) {
Note: See TracChangeset for help on using the changeset viewer.