Changeset 21365 for trunk/ppMerge/src/ppMergeLoop_Threaded.c
- Timestamp:
- Feb 5, 2009, 4:47:00 PM (17 years ago)
- File:
-
- 1 edited
-
trunk/ppMerge/src/ppMergeLoop_Threaded.c (modified) (8 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/ppMerge/src/ppMergeLoop_Threaded.c
r21244 r21365 6 6 * 7 7 * @author IfA 8 * @version $Revision: 1. 8$ $Name: not supported by cvs2svn $9 * @date $Date: 2009-02-0 1 21:43:05$8 * @version $Revision: 1.9 $ $Name: not supported by cvs2svn $ 9 * @date $Date: 2009-02-06 02:44:31 $ 10 10 * Copyright 2009 Institute for Astronomy, University of Hawaii 11 11 */ … … 36 36 bool mdok; ///< Status of MD lookup 37 37 bool haveMasks = psMetadataLookupBool(&mdok, arguments, "INPUTS.MASKS"); // Do we have masks? 38 bool have Weights = psMetadataLookupBool(&mdok, arguments, "INPUTS.WEIGHTS"); ///< Do we have weights?39 40 psArray *inputs = ppMergeFileDataLevel(config, "PPMERGE.INPUT", PM_FPA_LEVEL_READOUT); // /<Input images41 psArray *masks = NULL, * weights = NULL; ///< Input masks and weights38 bool haveVariances = psMetadataLookupBool(&mdok, arguments, "INPUTS.VARIANCES"); // Do we have variances? 39 40 psArray *inputs = ppMergeFileDataLevel(config, "PPMERGE.INPUT", PM_FPA_LEVEL_READOUT); // Input images 41 psArray *masks = NULL, *variances = NULL; // Input masks and variances 42 42 if (haveMasks) { 43 43 masks = ppMergeFileDataLevel(config, "PPMERGE.INPUT.MASK", PM_FPA_LEVEL_READOUT); 44 44 } 45 if (have Weights) {46 weights = ppMergeFileDataLevel(config, "PPMERGE.INPUT.WEIGHT", PM_FPA_LEVEL_READOUT);45 if (haveVariances) { 46 variances = ppMergeFileDataLevel(config, "PPMERGE.INPUT.VARIANCE", PM_FPA_LEVEL_READOUT); 47 47 } 48 48 … … 50 50 if (!mdok) nThreads = 0; 51 51 52 / ** General combination parameters */53 int iter = psMetadataLookupS32(NULL, arguments, "ITER"); // /<Number of rejection iterations54 float rej = psMetadataLookupF32(NULL, arguments, "REJ"); // /<Rejection level55 float fraclow = psMetadataLookupF32(NULL, arguments, "FRACLOW"); // /<Reject fraction of low pixels56 float frachigh = psMetadataLookupF32(NULL, arguments, "FRACHIGH"); // /<Reject fraction of hi pixels57 int nKeep = psMetadataLookupS32(NULL, arguments, "NKEEP"); // /<Minimum number of values to keep58 psStatsOptions combineStat = psMetadataLookupS32(NULL, arguments, "COMBINE"); // /<Combination statistic59 bool use Weights = psMetadataLookupBool(NULL, arguments, "WEIGHTS"); ///< Use weights?60 61 / ** Fringe parameters */62 int fringeNum = psMetadataLookupS32(NULL, arguments, "FRINGE.NUM"); // /<Number of fringe points63 int fringeSize = psMetadataLookupS32(NULL, arguments, "FRINGE.SIZE"); // /<Size of fringe regions64 int fringeSmoothX = psMetadataLookupS32(NULL, arguments, "FRINGE.XSMOOTH"); // /<Smoothing regions in x65 int fringeSmoothY = psMetadataLookupS32(NULL, arguments, "FRINGE.YSMOOTH"); // /<Smoothing regions in y52 // General combination parameters 53 int iter = psMetadataLookupS32(NULL, arguments, "ITER"); // Number of rejection iterations 54 float rej = psMetadataLookupF32(NULL, arguments, "REJ"); // Rejection level 55 float fraclow = psMetadataLookupF32(NULL, arguments, "FRACLOW"); // Reject fraction of low pixels 56 float frachigh = psMetadataLookupF32(NULL, arguments, "FRACHIGH"); // Reject fraction of hi pixels 57 int nKeep = psMetadataLookupS32(NULL, arguments, "NKEEP"); // Minimum number of values to keep 58 psStatsOptions combineStat = psMetadataLookupS32(NULL, arguments, "COMBINE"); // Combination statistic 59 bool useVariances = psMetadataLookupBool(NULL, arguments, "VARIANCES"); // Use variances? 60 61 // Fringe parameters 62 int fringeNum = psMetadataLookupS32(NULL, arguments, "FRINGE.NUM"); // Number of fringe points 63 int fringeSize = psMetadataLookupS32(NULL, arguments, "FRINGE.SIZE"); // Size of fringe regions 64 int fringeSmoothX = psMetadataLookupS32(NULL, arguments, "FRINGE.XSMOOTH"); // Smoothing regions in x 65 int fringeSmoothY = psMetadataLookupS32(NULL, arguments, "FRINGE.YSMOOTH"); // Smoothing regions in y 66 66 67 67 // set the mask and mark bit values based on the named masks 68 psImageMaskType maskVal; 69 psImageMaskType markVal; 70 if (!pmConfigMaskSetBits (&maskVal, &markVal, config)) { 68 psImageMaskType maskVal, markVal; 69 if (!pmConfigMaskSetBits(&maskVal, &markVal, config)) { 71 70 psError (PS_ERR_UNKNOWN, true, "Unable to define the mask bit values"); 72 71 return false; … … 81 80 combination->iter = iter; 82 81 combination->rej = rej; 83 combination-> weights = useWeights;82 combination->variances = useVariances; 84 83 85 84 psMetadata *stats = NULL; ///< Statistics for output … … 344 343 psFree(countsRO); 345 344 346 // XXX EAM 2009.01.18 : sigmaCell and countsCell need to have their concepts copied from outCell.347 // This was causing segfaults for VYSOS5; Why did this ever work for SIMTEST?348 if (!pmConceptsCopyCell(countsCell, outCell)) {349 psError(PS_ERR_UNKNOWN, false, "Unable to copy cell concepts.");350 psFree(outRO);351 goto ERROR;352 }345 // XXX EAM 2009.01.18 : sigmaCell and countsCell need to have their concepts copied from outCell. 346 // This was causing segfaults for VYSOS5; Why did this ever work for SIMTEST? 347 if (!pmConceptsCopyCell(countsCell, outCell)) { 348 psError(PS_ERR_UNKNOWN, false, "Unable to copy cell concepts."); 349 psFree(outRO); 350 goto ERROR; 351 } 353 352 354 353 pmCell *sigmaCell = pmFPAfileThisCell(config->files, view, "PPMERGE.OUTPUT.SIGMA"); … … 360 359 psFree(sigmaRO); 361 360 362 if (!pmConceptsCopyCell(sigmaCell, outCell)) {363 psError(PS_ERR_UNKNOWN, false, "Unable to copy cell concepts.");364 psFree(outRO);365 goto ERROR;366 }361 if (!pmConceptsCopyCell(sigmaCell, outCell)) { 362 psError(PS_ERR_UNKNOWN, false, "Unable to copy cell concepts."); 363 psFree(outRO); 364 goto ERROR; 365 } 367 366 } 368 367 … … 447 446 psFree(inputs); 448 447 psFree(masks); 449 psFree( weights);448 psFree(variances); 450 449 psFree(stats); 451 450 return true; … … 456 455 psFree(inputs); 457 456 psFree(masks); 458 psFree( weights);457 psFree(variances); 459 458 psFree(stats); 460 459 return false;
Note:
See TracChangeset
for help on using the changeset viewer.
