Changeset 23463
- Timestamp:
- Mar 20, 2009, 5:56:03 PM (17 years ago)
- Location:
- trunk/ppMerge/src
- Files:
-
- 7 edited
-
ppMerge.c (modified) (1 diff)
-
ppMerge.h (modified) (1 diff)
-
ppMergeArguments.c (modified) (3 diffs)
-
ppMergeCamera.c (modified) (1 diff)
-
ppMergeFiles.c (modified) (1 diff)
-
ppMergeLoop.c (modified) (4 diffs)
-
ppMergeScaleZero.c (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
-
trunk/ppMerge/src/ppMerge.c
r23195 r23463 55 55 case PPMERGE_TYPE_FLAT: 56 56 case PPMERGE_TYPE_FRINGE: 57 case PPMERGE_TYPE_CTEMASK: 57 58 if (!ppMergeScaleZero(config)) { 58 59 psErrorStackPrint(stderr, "Error getting scale and zero-points."); -
trunk/ppMerge/src/ppMerge.h
r23195 r23463 40 40 PPMERGE_TYPE_DARK, ///< (Multi-)Dark frame 41 41 PPMERGE_TYPE_MASK, ///< Mask frame 42 PPMERGE_TYPE_CTEMASK, ///< CTE Mask based on flat variance 42 43 PPMERGE_TYPE_SHUTTER, ///< Shutter frame 43 44 PPMERGE_TYPE_FLAT, ///< Flat-field frame (dome or sky) -
trunk/ppMerge/src/ppMergeArguments.c
r21365 r23463 170 170 psMetadataAddS32(arguments, PS_LIST_TAIL, "-fringe-ysmooth", 0, "Number of smoothing regions in y", 0); 171 171 172 /** CTEMASK construction parameters */ 173 psMetadataAddF32(arguments, PS_LIST_TAIL, "-cte-min", 0, "min allowed value for good CTE", NAN); 174 172 175 /** Shutter construction parameters */ 173 176 psMetadataAddS32(arguments, PS_LIST_TAIL, "-shutter-size", 0, "Size for shutter measurement regions", 0); … … 268 271 goto VALID; 269 272 } 273 if (strcasecmp(typeStr, "CTEMASK") == 0) { 274 type = PPMERGE_TYPE_CTEMASK; 275 goto VALID; 276 } 270 277 if (strcasecmp(typeStr, "MASK") == 0 || 271 278 strcasecmp(typeStr, "DARKMASK") == 0 || … … 314 321 VALUE_ARG_RECIPE_INT("-fringe-xsmooth", "FRINGE.XSMOOTH", S32, 0); 315 322 VALUE_ARG_RECIPE_INT("-fringe-ysmooth", "FRINGE.YSMOOTH", S32, 0); 323 324 /** CTEMASK construction parameters */ 325 VALUE_ARG_RECIPE_FLOAT("-cte-min", "CTE.MIN", F32); 316 326 317 327 /** Shutter construction parameters */ -
trunk/ppMerge/src/ppMergeCamera.c
r21365 r23463 326 326 fileType = PM_FPA_FILE_MASK; 327 327 break; 328 case PPMERGE_TYPE_CTEMASK: 329 fileType = PM_FPA_FILE_MASK; 330 break; 328 331 case PPMERGE_TYPE_SHUTTER: 329 332 fileType = PM_FPA_FILE_IMAGE; -
trunk/ppMerge/src/ppMergeFiles.c
r21365 r23463 209 209 outSuffix = "MASK"; 210 210 break; 211 case PPMERGE_TYPE_CTEMASK: 212 outSuffix = "MASK"; 213 break; 211 214 case PPMERGE_TYPE_SHUTTER: 212 215 outSuffix = "SHUTTER"; -
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++; -
trunk/ppMerge/src/ppMergeScaleZero.c
r23259 r23463 35 35 case PPMERGE_TYPE_BIAS: 36 36 case PPMERGE_TYPE_DARK: 37 case PPMERGE_TYPE_CTEMASK: 37 38 // Nothing to measure 38 39 return true;
Note:
See TracChangeset
for help on using the changeset viewer.
