Changeset 25806
- Timestamp:
- Oct 7, 2009, 5:39:41 PM (17 years ago)
- File:
-
- 1 edited
-
branches/pap/ppStack/src/ppStackCombineFinal.c (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
-
branches/pap/ppStack/src/ppStackCombineFinal.c
r25096 r25806 48 48 49 49 // Sum covariance matrices 50 double sumWeights = 0.0; // Sum of weights 51 for (int i = 0; i < options->num; i++) { 52 if (options->inputMask->data.U8[i]) { 53 psFree(options->covariances->data[i]); 54 options->covariances->data[i] = NULL; 55 continue; 50 if (options->covariances) { 51 double sumWeights = 0.0; // Sum of weights 52 for (int i = 0; i < options->num; i++) { 53 if (options->inputMask->data.U8[i]) { 54 psFree(options->covariances->data[i]); 55 options->covariances->data[i] = NULL; 56 continue; 57 } 58 psKernel *covar = options->covariances->data[i]; // Covariance matrix 59 if (!covar) { 60 continue; 61 } 62 float weight = options->weightings->data.F32[i]; // Weight to apply 63 psBinaryOp(covar->image, covar->image, "*", psScalarAlloc(weight, PS_TYPE_F32)); 64 sumWeights += weight; 56 65 } 57 psKernel *covar = options->covariances->data[i]; // Covariance matrix 58 if (!covar) { 59 continue; 66 if (sumWeights > 0.0) { 67 pmReadout *outRO = options->outRO; // Output readout 68 outRO->covariance = psImageCovarianceSum(options->covariances); 69 psBinaryOp(outRO->covariance->image, outRO->covariance->image, "/", 70 psScalarAlloc(sumWeights, PS_TYPE_F32)); 71 psFree(options->covariances); options->covariances = NULL; 72 psImageCovarianceTransfer(outRO->variance, outRO->covariance); 60 73 } 61 float weight = options->weightings->data.F32[i]; // Weight to apply62 psBinaryOp(covar->image, covar->image, "*", psScalarAlloc(weight, PS_TYPE_F32));63 sumWeights += weight;64 }65 if (sumWeights > 0.0) {66 pmReadout *outRO = options->outRO; // Output readout67 outRO->covariance = psImageCovarianceSum(options->covariances);68 psBinaryOp(outRO->covariance->image, outRO->covariance->image, "/",69 psScalarAlloc(sumWeights, PS_TYPE_F32));70 psFree(options->covariances); options->covariances = NULL;71 psImageCovarianceTransfer(outRO->variance, outRO->covariance);72 74 } 73 75
Note:
See TracChangeset
for help on using the changeset viewer.
