Changeset 21183 for trunk/pswarp
- Timestamp:
- Jan 26, 2009, 8:40:07 PM (17 years ago)
- Location:
- trunk/pswarp/src
- Files:
-
- 5 edited
-
pswarpLoop.c (modified) (1 diff)
-
pswarpPixelFraction.c (modified) (3 diffs)
-
pswarpSetMaskBits.c (modified) (6 diffs)
-
pswarpTransformReadout.c (modified) (2 diffs)
-
pswarpTransformTile.c (modified) (3 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/pswarp/src/pswarpLoop.c
r21178 r21183 67 67 68 68 // output mask bits 69 ps MaskType maskValue = psMetadataLookupU8(&status, recipe, "MASK.OUTPUT");69 psImageMaskType maskValue = psMetadataLookupImageMask(&status, recipe, "MASK.OUTPUT"); 70 70 psAssert (status, "MASK.OUTPUT was not defined"); 71 71 -
trunk/pswarp/src/pswarpPixelFraction.c
r18558 r21183 20 20 PS_ASSERT_IMAGE_NON_NULL(readout->mask, false); 21 21 PS_ASSERT_IMAGES_SIZE_EQUAL(readout->mask, readout->image, false); 22 PS_ASSERT_IMAGE_TYPE(readout->mask, PS_TYPE_ MASK, false);22 PS_ASSERT_IMAGE_TYPE(readout->mask, PS_TYPE_IMAGE_MASK, false); 23 23 24 24 if (stats) { … … 40 40 41 41 // output mask bits 42 ps MaskType maskValue = psMetadataLookupU8(&status, recipe, "MASK.OUTPUT");42 psImageMaskType maskValue = psMetadataLookupImageMask(&status, recipe, "MASK.OUTPUT"); 43 43 psAssert (status, "MASK.OUTPUT was not defined"); 44 44 … … 55 55 for (int y = 0; y < numRows; y++) { 56 56 for (int x = 0; x < numCols; x++) { 57 if (mask->data.PS_TYPE_ MASK_DATA[y][x] & maskValue) {57 if (mask->data.PS_TYPE_IMAGE_MASK_DATA[y][x] & maskValue) { 58 58 numBad++; 59 59 } else { -
trunk/pswarp/src/pswarpSetMaskBits.c
r18558 r21183 10 10 bool pswarpSetMaskBits (pmConfig *config) { 11 11 12 psMaskType maskIn = 0x00; // mask for the input image 13 psMaskType markIn = 0x00; // mark for the input image 14 psMaskType maskOut = 0x00; // mask for the output image 15 psMaskType markOut = 0x00; // mark for the output image 12 psImageMaskType maskIn = 0x00; // mask for the input image 13 psImageMaskType markIn = 0x00; // mark for the input image 14 psImageMaskType maskOut = 0x00; // mask for the output image 16 15 17 16 // this function sets the required single-image mask bits … … 22 21 23 22 // mask for non-linear flat regions (default to DETECTOR if not defined) 24 ps MaskType badMask = pmConfigMaskGet("BAD.WARP", config);23 psImageMaskType badMask = pmConfigMaskGet("BAD.WARP", config); 25 24 if (!badMask) { 26 25 badMask = 0x01; … … 30 29 31 30 // mask for non-linear flat regions (default to DETECTOR if not defined) 32 ps MaskType poorMask = pmConfigMaskGet("POOR.WARP", config);31 psImageMaskType poorMask = pmConfigMaskGet("POOR.WARP", config); 33 32 if (!poorMask) { 34 33 poorMask = 0x02; … … 38 37 39 38 // search for an unset bit to use for MARK: 40 markOut = 0x80; 39 psImageMaskType markOut = 0x00; 40 psImageMaskType markTrial = 0x01; 41 41 42 int nBits = sizeof(ps MaskType) * 8;42 int nBits = sizeof(psImageMaskType) * 8; 43 43 for (int i = 0; !markOut && (i < nBits); i++) { 44 if (maskOut & markOut) {45 markOut >>= 1;46 } else {47 markOut = markOut;48 }44 if (maskOut & markTrial) { 45 markTrial <<= 1; 46 } else { 47 markOut = markTrial; 48 } 49 49 } 50 51 50 if (!markOut) { 52 psError (PS_ERR_UNKNOWN, true, "Unable to define the MARK bit mask: all bits taken!");53 return false;51 psError (PS_ERR_UNKNOWN, true, "Unable to define the MARK bit mask: all bits taken!"); 52 return false; 54 53 } 55 54 … … 63 62 // set maskOut and markOut in the psphot recipe 64 63 // NOTE: psphot works on the output images, not input images, so set the MARK and MASK correctly here 65 psMetadataAdd U8(warpRecipe, PS_LIST_TAIL, "MASK.INPUT", PS_META_REPLACE, "user-defined mask", maskIn);66 psMetadataAdd U8(warpRecipe, PS_LIST_TAIL, "MARK.INPUT", PS_META_REPLACE, "user-defined mask", markIn);67 psMetadataAdd U8(warpRecipe, PS_LIST_TAIL, "MASK.OUTPUT", PS_META_REPLACE, "user-defined mask", maskOut);68 psMetadataAdd U8(warpRecipe, PS_LIST_TAIL, "MARK.OUTPUT", PS_META_REPLACE, "user-defined mask", markOut);64 psMetadataAddImageMask (warpRecipe, PS_LIST_TAIL, "MASK.INPUT", PS_META_REPLACE, "user-defined mask", maskIn); 65 psMetadataAddImageMask (warpRecipe, PS_LIST_TAIL, "MARK.INPUT", PS_META_REPLACE, "user-defined mask", markIn); 66 psMetadataAddImageMask (warpRecipe, PS_LIST_TAIL, "MASK.OUTPUT", PS_META_REPLACE, "user-defined mask", maskOut); 67 psMetadataAddImageMask (warpRecipe, PS_LIST_TAIL, "MARK.OUTPUT", PS_META_REPLACE, "user-defined mask", markOut); 69 68 70 69 // update the psphot recipe … … 77 76 // set maskOut and markOut in the psphot recipe 78 77 // NOTE: psphot works on the output images, not input images, so set the MARK and MASK correctly here 79 psMetadataAdd U8(psphotRecipe, PS_LIST_TAIL, "MARK.PSPHOT", PS_META_REPLACE, "user-defined mask", markOut);80 psMetadataAdd U8(psphotRecipe, PS_LIST_TAIL, "MASK.PSPHOT", PS_META_REPLACE, "user-defined mask", maskOut);78 psMetadataAddImageMask (psphotRecipe, PS_LIST_TAIL, "MARK.PSPHOT", PS_META_REPLACE, "user-defined mask", markOut); 79 psMetadataAddImageMask (psphotRecipe, PS_LIST_TAIL, "MASK.PSPHOT", PS_META_REPLACE, "user-defined mask", maskOut); 81 80 82 81 return true; -
trunk/pswarp/src/pswarpTransformReadout.c
r20334 r21183 22 22 23 23 // output mask bits 24 ps MaskType maskIn = psMetadataLookupU8(&mdok, recipe, "MASK.INPUT");25 ps MaskType maskPoor = pmConfigMaskGet("POOR.WARP", config);26 ps MaskType maskBad = pmConfigMaskGet("BAD.WARP", config);24 psImageMaskType maskIn = psMetadataLookupImageMask(&mdok, recipe, "MASK.INPUT"); 25 psImageMaskType maskPoor = pmConfigMaskGet("POOR.WARP", config); 26 psImageMaskType maskBad = pmConfigMaskGet("BAD.WARP", config); 27 27 psAssert(mdok, "MASK.INPUT was not defined"); 28 28 … … 80 80 } 81 81 if ((input->mask || maskPoor || maskBad) && !output->mask) { 82 output->mask = psImageAlloc(output->image->numCols, output->image->numRows, PS_TYPE_ MASK);82 output->mask = psImageAlloc(output->image->numCols, output->image->numRows, PS_TYPE_IMAGE_MASK); 83 83 psImageInit(output->mask, maskBad); 84 84 } -
trunk/pswarp/src/pswarpTransformTile.c
r19395 r21183 49 49 psF32 **outImageData = args->output->image->data.F32; 50 50 psF32 **outVarData = (args->output->weight) ? args->output->weight->data.F32 : NULL; 51 ps MaskType **outMaskData = (args->output->mask) ? args->output->mask->data.PS_TYPE_MASK_DATA : NULL;52 ps MaskType **inMaskData = (args->input->mask) ? args->input->mask->data.PS_TYPE_MASK_DATA : NULL;51 psImageMaskType **outMaskData = (args->output->mask) ? args->output->mask->data.PS_TYPE_IMAGE_MASK_DATA : NULL; 52 psImageMaskType **inMaskData = (args->input->mask) ? args->input->mask->data.PS_TYPE_IMAGE_MASK_DATA : NULL; 53 53 54 54 pswarpMap *map = args->grid->maps[args->gridX][args->gridY]; // Map for this tile … … 67 67 68 68 // Only transform those pixels requested 69 if (region && region->data. U8[y][x]) {69 if (region && region->data.PS_TYPE_IMAGE_MASK_DATA[y][x]) { 70 70 continue; 71 71 } … … 82 82 // psImagePixelInterpolate determines the value at pixel coordinate (x,y) in child coordinates 83 83 double imageValue, varValue; // Value of image and variance map 84 ps MaskType maskValue = inMaskData ? inMaskData[(int)yIn][(int)xIn] : 0; // Value of mask84 psImageMaskType maskValue = inMaskData ? inMaskData[(int)yIn][(int)xIn] : 0; // Value of mask 85 85 if (!psImageInterpolate(&imageValue, &varValue, &maskValue, xIn, yIn, args->interp)) { 86 86 psError(PS_ERR_UNKNOWN, false, "Unable to interpolate image.");
Note:
See TracChangeset
for help on using the changeset viewer.
