IPP Software Navigation Tools IPP Links Communication Pan-STARRS Links

Ignore:
Timestamp:
Aug 30, 2013, 3:06:50 PM (13 years ago)
Author:
bills
Message:

In ppstamp check floating point stamp image and if no valid pixels are found
return new error PSTAMP_NO_VALID_PIXELS instead of writing out a completely
empty image

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/pstamp/src/ppstampMakeStamp.c

    r35893 r36060  
    2020static bool setMaskedToNAN(pmConfig *config, psImage *image, psImage *mask, psImage *variance);
    2121static bool copySources(pmReadout *outputReadout, pmReadout *inputReadout, pmReadout *astromReadout, psRegion extractRegion);
     22static bool imageHasValidPixels(psImage *image);
    2223
    2324// convert the input chip's transforms to the output
     
    337338            status = false;
    338339            break;
     340        }
     341        if (!imageHasValidPixels(outReadout->image)) {
     342            return PSTAMP_NO_VALID_PIXELS;
    339343        }
    340344        if (readout->variance) {
     
    885889    return true;
    886890}
     891
     892static bool
     893imageHasValidPixels(psImage *image) {
     894    // check F32 image and return true if any pixel is finite
     895    if (image->type.type != PS_TYPE_F32) {
     896        return true;
     897    }
     898    for (int y=0; y<image->numRows; y++) {
     899        for (int x=0; x<image->numCols; x++) {
     900            psF32 pixel = image->data.F32[y][x];
     901            if (isfinite(pixel)) {
     902                return true;
     903            }
     904        }
     905    }
     906    return false;
     907}
Note: See TracChangeset for help on using the changeset viewer.