Changeset 42820 for branches/eam_branches/ipp-20230313/psModules
- Timestamp:
- May 8, 2025, 4:10:23 PM (15 months ago)
- Location:
- branches/eam_branches/ipp-20230313
- Files:
-
- 5 edited
-
. (modified) (1 prop)
-
psModules (modified) (1 prop)
-
psModules/src/camera/pmFPA.c (modified) (3 diffs)
-
psModules/src/camera/pmFPAConstruct.c (modified) (3 diffs)
-
psModules/src/detrend/pmDark.c (modified) (5 diffs)
Legend:
- Unmodified
- Added
- Removed
-
branches/eam_branches/ipp-20230313
- Property svn:mergeinfo changed
/branches/eam_branches/ipp-ppmerge-20241229 (added) merged: 42770-42778,42803-42805 /trunk merged: 42763-42764,42766-42769,42779-42782,42784-42796,42798-42802,42806-42813
- Property svn:mergeinfo changed
-
branches/eam_branches/ipp-20230313/psModules
- Property svn:mergeinfo changed
/branches/eam_branches/ipp-ppmerge-20241229/psModules (added) merged: 42772-42774,42777,42805 /trunk/psModules merged: 42784,42806
- Property svn:mergeinfo changed
-
branches/eam_branches/ipp-20230313/psModules/src/camera/pmFPA.c
r26893 r42820 53 53 } 54 54 psTrace("psModules.camera", 9, "Freeing cell %zd\n", (size_t)cell); 55 55 56 pmCellFreeReadouts(cell); 56 57 psFree(cell->readouts); 57 58 58 psFree(cell->concepts); 59 59 psFree(cell->analysis); … … 166 166 psFree(readout->variance); 167 167 psFree(readout->covariance); 168 psFree(readout->analysis); 168 169 psFree(readout->bias); 169 170 … … 173 174 readout->variance = NULL; 174 175 readout->covariance = NULL; 176 readout->analysis = NULL; 175 177 readout->mask = NULL; 176 177 readout->bias = psListAlloc(NULL); 178 readout->bias = NULL; 178 179 179 180 readout->col0 = 0; -
branches/eam_branches/ipp-20230313/psModules/src/camera/pmFPAConstruct.c
r41892 r42820 52 52 53 53 // Parse a list of first:second:third pairs in a string 54 // EAM : this function takes an input 'string' and attempts to parse out 55 // groups of the form FIRST:SECOND:THIRD into the arrays (first, second, third). 56 57 // The input string may have multiple entries of this form separated by spaces, commas, or 58 // semi-colons. The number of arrays which are supplied must match the string format or 59 // an error will be raised. 60 61 // e.g., the string could be CHIP:CELL:TYPE in which case all three arrays must exist 62 // or, the string could be CHIP:CELL only, in which case the array 'third' must be NULL 63 54 64 static int parseContent(psArray **first, // Array of the first values 55 65 psArray **second, // Array of the second values … … 83 93 while ((value = psListGetAndIncrement(valuesIter))) { 84 94 psArray *fst = psStringSplitArray(value, ":", true); // First, second, third 95 if (fst->n != numArrays) { 96 psError(PS_ERR_BAD_PARAMETER_VALUE, false, "string %s does not match expected format (%ld colon-separated items supplied, %d expected)", value, fst->n, numArrays); 97 return 0; 98 } 85 99 switch (numArrays) { 86 100 case 3: … … 1126 1140 pmFPAview *view = pmFPAviewAlloc(0); // View, to be returned 1127 1141 if (phuView) { 1128 // Copy the view , for the case where we're given a view.1142 // Copy the view values, for the case where we're given a view. 1129 1143 *view = *phuView; 1130 1144 } -
branches/eam_branches/ipp-20230313/psModules/src/detrend/pmDark.c
r42379 r42820 252 252 } 253 253 254 # if (PS_TRACE_ON) 254 255 if (psTraceGetLevel("psModules.detrend") > 9) { 255 256 for (int i = 0; i < inputs->n; i++) { 256 257 psVector *val = values->data[i]; 257 (void) val; // avoid unused variable message when tracing is compiled out258 258 for (int j = 0; j < ordinates->n; j++) { 259 259 psTrace("psModules.detrend", 9, "Image %d, ordinate %d: %f\n", i, j, val->data.F32[j]); … … 261 261 } 262 262 } 263 # endif 263 264 264 265 int numTerms = 1; // Number of terms in polynomial … … 292 293 pmReadout *readout = output->readouts->data[i]; // Readout to update 293 294 if (!readout) { 294 readout = output->readouts->data[i] = pmReadoutAlloc(output); 295 } 296 295 // pmReadoutAlloc places a reference to the readout on cell->readouts 296 // and returns a second mem reference to the readout 297 readout = pmReadoutAlloc(output); 298 psFree (readout); // free the extra mem reference returned by pmReadoutAlloc 299 } 297 300 pmReadoutStackDefineOutput(readout, col0, row0, numCols, numRows, false, false, 0); 298 301 psTrace("psModules.imcombine", 7, "Output minimum: %d,%d\n", col0, row0); … … 469 472 for (int m = 0; m < poly->deviations->n; m++) { 470 473 logL->data.F64[k] += pow(poly->deviations->data.F32[m] / polySig->stdevFit,2); 471 /* if ((xOut == 20) && (yOut == 256)) { */472 /* psTrace("psModules.detrend",3,"pmDarkCombine DEV: %d %d: input %d models: Norders: %d logL: %g value: %g\n", */473 /* xOut,yOut,m,k,logL->data.F64[k],poly->deviations->data.F32[m]); */474 /* } */475 474 } 476 475 if (k > 0) { … … 487 486 k_best = 1; 488 487 } 489 /* k_best = 1; */ 488 490 489 // Select the polynomial that seems best. 491 490 psPolynomialMD *poly = poly_set->data[k_best]; 492 491 493 // for (int k = 0; k < poly->coeff->n; k++) {494 492 for (int k = 0; k < max_orders->n + 1; k++) { // There is one more coefficient than is stored here. 495 493 pmReadout *ro = output->readouts->data[k]; // Readout of interest 496 494 if (k < poly->coeff->n) { 497 495 ro->image->data.F32[yOut][xOut] = poly->coeff->data.F64[k]; 498 } 499 else { 496 } else { 500 497 ro->image->data.F32[yOut][xOut] = 0.0; 501 498 }
Note:
See TracChangeset
for help on using the changeset viewer.
