Changeset 18513
- Timestamp:
- Jul 14, 2008, 2:44:27 PM (18 years ago)
- Location:
- branches/eam_branch_20080706/pswarp/src
- Files:
-
- 1 added
- 7 edited
-
Makefile.am (modified) (1 diff)
-
pswarp.h (modified) (1 diff)
-
pswarpArguments.c (modified) (2 diffs)
-
pswarpLoop.c (modified) (2 diffs)
-
pswarpParseCamera.c (modified) (1 diff)
-
pswarpPixelFraction.c (modified) (2 diffs)
-
pswarpSetMaskBits.c (added)
-
pswarpTransformReadout_Opt.c (modified) (2 diffs)
Legend:
- Unmodified
- Added
- Removed
-
branches/eam_branch_20080706/pswarp/src/Makefile.am
r15608 r18513 15 15 pswarpParseCamera.c \ 16 16 pswarpPixelFraction.c \ 17 pswarpSetMaskBits.c \ 17 18 pswarpTransformReadout_Opt.c \ 18 19 pswarpVersion.c -
branches/eam_branch_20080706/pswarp/src/pswarp.h
r18179 r18513 38 38 pmConfig *pswarpArguments (int argc, char **argv); 39 39 bool pswarpOptions(pmConfig *config); 40 bool pswarpSetMaskBits (pmConfig *config); 40 41 bool pswarpParseCamera (pmConfig *config); 41 42 bool pswarpDefine (pmConfig *config); -
branches/eam_branch_20080706/pswarp/src/pswarpArguments.c
r17525 r18513 109 109 } 110 110 111 // Get mask parameters112 psMaskType maskIn, maskPoor, maskBad; // Mask values for input, "poor" and "bad" pixels113 114 psString maskNames = psMetadataLookupStr(&status, recipe, "MASK.IN");115 if (!status) {116 maskIn = 0x00;117 psWarning("MASK.IN is not set in the %s recipe --- defaulting to %x.", PSWARP_RECIPE, maskIn);118 }119 maskIn = pmConfigMask(maskNames, config); // Mask for input data120 121 maskNames = psMetadataLookupStr(&status, recipe, "MASK.POOR");122 if (!status) {123 maskPoor = 0x00;124 psWarning("MASK.POOR is not set in the %s recipe --- defaulting to %x.", PSWARP_RECIPE, maskPoor);125 }126 maskPoor = pmConfigMask(maskNames, config); // Mask for "poor" warped data127 128 maskNames = psMetadataLookupStr(&status, recipe, "MASK.BAD");129 if (!status) {130 maskBad = 0x00;131 psWarning("MASK.BAD is not set in the %s recipe --- defaulting to %x.", PSWARP_RECIPE, maskBad);132 }133 maskBad = pmConfigMask(maskNames, config); // Mask for bad warped data134 135 111 float poorFrac = psMetadataLookupF32(&status, recipe, "POOR.FRAC"); // Frac of bad flux for a "poor" 136 112 if (!status) { … … 152 128 psMetadataAddS32(config->arguments, PS_LIST_TAIL, "INTERPOLATION.MODE", 0, 153 129 "Interpolation mode", interpolationMode); 154 psMetadataAddU8(config->arguments, PS_LIST_TAIL, "MASK.IN", 0,155 "Mask for input data", maskIn);156 psMetadataAddU8(config->arguments, PS_LIST_TAIL, "MASK.POOR", 0,157 "Mask for poor warped data", maskPoor);158 psMetadataAddU8(config->arguments, PS_LIST_TAIL, "MASK.BAD", 0,159 "Mask for bad warped data", maskBad);160 130 psMetadataAddF32(config->arguments, PS_LIST_TAIL, "POOR.FRAC", 0, 161 131 "Fraction of bad flux for a pixel to be marked as poor", poorFrac); -
branches/eam_branch_20080706/pswarp/src/pswarpLoop.c
r18189 r18513 64 64 bool pswarpLoop(pmConfig *config) 65 65 { 66 67 psMaskType maskPoor = psMetadataLookupU8(NULL, config->arguments, "MASK.POOR"); // Mask for "poor" data 68 psMaskType maskBad = psMetadataLookupU8(NULL, config->arguments, "MASK.BAD"); // Mask for bad data 66 bool status; 67 68 // load the recipe 69 psMetadata *recipe = psMetadataLookupPtr (&status, config->recipes, PSWARP_RECIPE); 70 if (!recipe) { 71 psError(PSPHOT_ERR_CONFIG, false, "missing recipe %s", PSWARP_RECIPE); 72 return false; 73 } 74 75 // output mask bits 76 psMaskType maskValue = psMetadataLookupU8(&status, recipe, "MASK.OUTPUT"); 77 psAssert (status, "MASK.OUTPUT was not defined"); 69 78 70 79 // select the input data sources … … 333 342 // Perform statistics on the output image 334 343 if (stats) { 335 if (!ppStatsFPA(stats, output->parent->parent->parent, view, mask Bad | maskPoor, config)) {344 if (!ppStatsFPA(stats, output->parent->parent->parent, view, maskValue, config)) { 336 345 psWarning("Unable to perform statistics on warped image."); 337 346 } -
branches/eam_branch_20080706/pswarp/src/pswarpParseCamera.c
r17599 r18513 37 37 if (!inMask) { 38 38 psLogMsg ("pswarp", 3, "no mask supplied\n"); 39 } 40 41 // loading the mask here should have invoked pmConfigMaskReadHeader() 42 if (!pswarpSetMaskBits (config)) { 43 psError(PS_ERR_IO, false, "failed to set mask bits"); 44 return NULL; 39 45 } 40 46 -
branches/eam_branch_20080706/pswarp/src/pswarpPixelFraction.c
r17780 r18513 28 28 PS_ASSERT_METADATA_NON_NULL(config->arguments, false); 29 29 30 bool status; 31 30 32 float minFrac = psMetadataLookupF32(NULL, config->arguments, "ACCEPT.FRAC"); // Minimum fraction 31 psMaskType maskPoor = psMetadataLookupU8(NULL, config->arguments, "MASK.POOR"); // Mask for "poor" data 32 psMaskType maskBad = psMetadataLookupU8(NULL, config->arguments, "MASK.BAD"); // Mask for bad data 33 psMaskType maskVal = maskPoor | maskBad; // Mask to apply 33 34 // load the recipe 35 psMetadata *recipe = psMetadataLookupPtr (NULL, config->recipes, PSWARP_RECIPE); 36 if (!recipe) { 37 psError(PSPHOT_ERR_CONFIG, false, "missing recipe %s", PSWARP_RECIPE); 38 return false; 39 } 40 41 // output mask bits 42 psMaskType maskValue = psMetadataLookupU8(&status, recipe, "MASK.OUTPUT"); 43 psAssert (status, "MASK.OUTPUT was not defined"); 34 44 35 45 psImage *image = readout->image; // Image of interest … … 45 55 for (int y = 0; y < numRows; y++) { 46 56 for (int x = 0; x < numCols; x++) { 47 if (mask->data.PS_TYPE_MASK_DATA[y][x] & maskVal ) {57 if (mask->data.PS_TYPE_MASK_DATA[y][x] & maskValue) { 48 58 numBad++; 49 59 } else { -
branches/eam_branch_20080706/pswarp/src/pswarpTransformReadout_Opt.c
r18188 r18513 17 17 psImageInterpolateMode interpolationMode = psMetadataLookupS32(NULL, config->arguments, 18 18 "INTERPOLATION.MODE"); 19 psMaskType maskIn = psMetadataLookupU8(NULL, config->arguments, "MASK.IN"); // Mask for input data 20 psMaskType maskPoor = psMetadataLookupU8(NULL, config->arguments, "MASK.POOR"); // Mask for "poor" data 21 psMaskType maskBad = psMetadataLookupU8(NULL, config->arguments, "MASK.BAD"); // Mask for bad data 19 // load the recipe 20 psMetadata *recipe = psMetadataLookupPtr (NULL, config->recipes, PSWARP_RECIPE); 21 if (!recipe) { 22 psError(PSPHOT_ERR_CONFIG, false, "missing recipe %s", PSWARP_RECIPE); 23 return false; 24 } 25 26 // output mask bits 27 psMaskType maskIn = psMetadataLookupU8(&mdok, recipe, "MASK.INPUT"); 28 psMaskType maskPoor = pmConfigMaskGet("POOR.WARP", config); 29 psMaskType maskBad = pmConfigMaskGet("BAD.WARP", config); 30 psAssert (mdok, "MASK.INPUT was not defined"); 31 22 32 float poorFrac = psMetadataLookupF32(NULL, config->arguments, "POOR.FRAC"); // Flux fraction for "poor" 23 33 … … 62 72 63 73 // Interpolation options 64 psImageInterpolateOptions *interp = psImageInterpolateOptionsAlloc(interpolationMode, inImage, 74 psImageInterpolateOptions *interp = psImageInterpolateOptionsAlloc(interpolationMode, inImage, 65 75 inVar, inMask, maskIn, NAN, NAN, 66 76 maskBad, maskPoor, poorFrac);
Note:
See TracChangeset
for help on using the changeset viewer.
