IPP Software Navigation Tools IPP Links Communication Pan-STARRS Links

Ignore:
Timestamp:
Feb 9, 2010, 6:22:13 PM (16 years ago)
Author:
Paul Price
Message:

Only take the average when there's more than one.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/eam_branches/20091201/ppStack/src/ppStackPrepare.c

    r26832 r26833  
    239239        havePSFs = true;
    240240
    241         double sumFWHM = 0.0;           // FWHM for image
    242         int numFWHM = 0;                // Number of FWHM measurements
    243         for (int y = 0; y < psf->trendNy; y++) {
    244             float yPos = ((float)y + 0.5) / (float)psf->trendNy * numRows;
    245             for (int x = 0; x < psf->trendNx; x++) {
    246                 float xPos = ((float)x + 0.5) / (float)psf->trendNx * numCols;
    247                 float fwhm = pmPSFtoFWHM(psf, xPos, yPos); // FWHM for image
    248                 if (isfinite(fwhm)) {
    249                     sumFWHM += fwhm;
    250                     numFWHM++;
     241        if (psf->trendNx > 0 && psf->trendNy > 0) {
     242            double sumFWHM = 0.0;           // FWHM for image
     243            int numFWHM = 0;                // Number of FWHM measurements
     244            for (int y = 0; y < psf->trendNy; y++) {
     245                float yPos = ((float)y + 0.5) / (float)psf->trendNy * numRows;
     246                for (int x = 0; x < psf->trendNx; x++) {
     247                    float xPos = ((float)x + 0.5) / (float)psf->trendNx * numCols;
     248                    float fwhm = pmPSFtoFWHM(psf, xPos, yPos); // FWHM for image
     249                    if (isfinite(fwhm)) {
     250                        sumFWHM += fwhm;
     251                        numFWHM++;
     252                    }
    251253                }
    252254            }
    253         }
    254         if (numFWHM == 0) {
    255             options->inputSeeing->data.F32[i] = NAN;
    256             options->inputMask->data.PS_TYPE_VECTOR_MASK_DATA[i] = PPSTACK_MASK_PSF;
    257             psLogMsg("ppStack", PS_LOG_INFO, "Unable to measure PSF FWHM for image %d --- rejected.", i);
     255            if (numFWHM == 0) {
     256                options->inputSeeing->data.F32[i] = NAN;
     257                options->inputMask->data.PS_TYPE_VECTOR_MASK_DATA[i] = PPSTACK_MASK_PSF;
     258                psLogMsg("ppStack", PS_LOG_INFO, "Unable to measure PSF FWHM for image %d --- rejected.", i);
     259            } else {
     260                options->inputSeeing->data.F32[i] = sumFWHM / (float)numFWHM;
     261            }
    258262        } else {
    259             options->inputSeeing->data.F32[i] = sumFWHM / (float)numFWHM;
    260         }
     263            options->inputSeeing->data.F32[i] = pmPSFtoFWHM(psf, 0.5 * numCols, 0.5 * numRows);
     264        }
     265
    261266        psStringAppend(&log, "Input %d: %f\n", i, options->inputSeeing->data.F32[i]);
    262267    }
Note: See TracChangeset for help on using the changeset viewer.