Changeset 23463 for trunk/ppMerge/src/ppMergeLoop.c
- Timestamp:
- Mar 20, 2009, 5:56:03 PM (17 years ago)
- File:
-
- 1 edited
-
trunk/ppMerge/src/ppMergeLoop.c (modified) (4 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/ppMerge/src/ppMergeLoop.c
r23410 r23463 118 118 case PPMERGE_TYPE_BIAS: 119 119 case PPMERGE_TYPE_DARK: 120 case PPMERGE_TYPE_CTEMASK: 120 121 break; 121 122 default: … … 208 209 // call the init functions 209 210 switch (type) { 211 case PPMERGE_TYPE_CTEMASK: 210 212 case PPMERGE_TYPE_BIAS: 211 213 case PPMERGE_TYPE_FLAT: … … 252 254 // Start a job 253 255 switch (type) { 256 case PPMERGE_TYPE_CTEMASK: 254 257 case PPMERGE_TYPE_BIAS: 255 258 case PPMERGE_TYPE_FLAT: … … 408 411 } 409 412 413 // calculate CTEMASK after stats so stats reflect median image 414 if (type == PPMERGE_TYPE_CTEMASK && outRO) { 415 // need to apply range cuts on the output image 416 psAssert (outRO->mask, "mask is not defined"); 417 psAssert (outRO->mask->numCols == outRO->image->numCols, "mismatch between image and mask"); 418 psAssert (outRO->mask->numRows == outRO->image->numRows, "mismatch between image and mask"); 419 420 // CTEMASK parameters 421 float cteMin = psMetadataLookupF32(NULL, arguments, "CTE.MIN"); // Number of fringe points 422 423 char *cteMaskName = psMetadataLookupStr (&mdok, config->arguments, "MASK.SET.VALUE"); 424 psImageMaskType cteMaskValue = pmConfigMaskGet(cteMaskName, config); 425 426 psF32 **outputImage = outRO->image->data.F32; 427 psImageMaskType **outputMask = outRO->mask->data.PS_TYPE_IMAGE_MASK_DATA; 428 for (int iy = 0; iy < outRO->image->numRows; iy++) { 429 for (int ix = 0; ix < outRO->image->numCols; ix++) { 430 if (outputImage[iy][ix] < cteMin) { 431 outputMask[iy][ix] |= cteMaskValue; 432 } 433 } 434 } 435 } 436 410 437 psFree(outRO); 411 438 cellNum++;
Note:
See TracChangeset
for help on using the changeset viewer.
