IPP Software Navigation Tools IPP Links Communication Pan-STARRS Links

Ignore:
Timestamp:
Jun 23, 2020, 3:29:09 PM (6 years ago)
Author:
tdeboer
Message:

added procedure to remove pixel NaNing

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/ppImage/src/ppImageReplaceBackground.c

    r26895 r41382  
    144144    for (int y = 0; y < numRows; y++) {
    145145        for (int x = 0; x < numCols; x++) {
    146             if (mask && mask->data.PS_TYPE_IMAGE_MASK_DATA[y][x] & maskVal) {
    147                 image->data.F32[y][x] = 0.0;
     146            if(options->doApplyPixelZero) {
     147              if (mask && mask->data.PS_TYPE_IMAGE_MASK_DATA[y][x] & maskVal) {
     148                  image->data.F32[y][x] = 0.0;
     149              } else {
     150                float value = backData[y][x];
     151                if (!isfinite(value)) {
     152                    image->data.F32[y][x] = NAN;
     153                    mask->data.PS_TYPE_IMAGE_MASK_DATA[y][x] |= options->lowMask;
     154                } else {
     155                    image->data.F32[y][x] -= value;
     156                }
     157              }
    148158            } else {
    149159                float value = backData[y][x];
     
    154164                    image->data.F32[y][x] -= value;
    155165                }
    156             }
     166            }
    157167        }
    158168    }
     
    162172    for (int y = 0; y < numRows; y++) {
    163173        for (int x = 0; x < numCols; x++) {
    164             if (mask && mask->data.PS_TYPE_IMAGE_MASK_DATA[y][x] & maskVal) {
    165                 image->data.F32[y][x] = 0.0;
     174            if(options->doApplyPixelZero) {
     175              if (mask && mask->data.PS_TYPE_IMAGE_MASK_DATA[y][x] & maskVal) {
     176                  image->data.F32[y][x] = 0.0;
     177              } else {
     178                float value = psImageUnbinPixel(x + 0.5, y + 0.5, modelRO->image, binning); // Background value
     179                if (!isfinite(value)) {
     180                    image->data.F32[y][x] = NAN;
     181                    mask->data.PS_TYPE_IMAGE_MASK_DATA[y][x] |= options->lowMask;
     182                } else {
     183                    image->data.F32[y][x] -= value;
     184                }
     185              }
    166186            } else {
    167187                float value = psImageUnbinPixel(x + 0.5, y + 0.5, modelRO->image, binning); // Background value
Note: See TracChangeset for help on using the changeset viewer.