Changeset 19083
- Timestamp:
- Aug 15, 2008, 12:03:08 PM (18 years ago)
- File:
-
- 1 edited
-
trunk/psModules/src/detrend/pmDark.c (modified) (5 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/psModules/src/detrend/pmDark.c
r18960 r19083 99 99 } 100 100 101 // this creates and saves: values, roMask, norm, poly, counts, sigma, and saves the on output->analysis101 // this creates and saves: values, roMask, norm, orders, counts, sigma, and saves the on output->analysis 102 102 bool pmDarkCombinePrepare(pmCell *output, const psArray *inputs, psArray *ordinates, const char *normConcept) 103 103 { … … 183 183 } 184 184 } 185 psPolynomialMD *poly = psPolynomialMDAlloc(orders); // Polynomial for fitting 186 psFree(orders); 187 188 int numTerms = poly->coeff->n; // Number of terms in polynomial 185 186 int numTerms = 1; // Number of terms in polynomial 187 for (int i = 0; i < orders->n; i++) { 188 numTerms += orders->data.U8[i]; 189 } 190 189 191 if (numTerms > inputs->n - numBadInputs) { 190 192 psError(PS_ERR_BAD_PARAMETER_VALUE, true, "Insufficient inputs (%ld) to fit polynomial terms (%d).", … … 232 234 psMetadataAddStr(output->analysis, PS_LIST_TAIL, PM_DARK_ANALYSIS_NORM, PS_META_REPLACE, "Dark normalisation", normConcept); 233 235 234 psMetadataAddPtr(output->analysis, PS_LIST_TAIL, "DARK.VALUES", PS_DATA_ARRAY | PS_META_REPLACE, "Dark values", values);236 psMetadataAddPtr(output->analysis, PS_LIST_TAIL, "DARK.VALUES", PS_DATA_ARRAY | PS_META_REPLACE, "Dark values", values); 235 237 psMetadataAddPtr(output->analysis, PS_LIST_TAIL, "DARK.RO.MASK", PS_DATA_VECTOR | PS_META_REPLACE, "Dark Readout Mask", roMask); 236 238 psMetadataAddPtr(output->analysis, PS_LIST_TAIL, "DARK.NORM", PS_DATA_VECTOR | PS_META_REPLACE, "Dark norm", norm); 237 psMetadataAddPtr(output->analysis, PS_LIST_TAIL, "DARK. POLY", PS_DATA_UNKNOWN | PS_META_REPLACE, "Dark poly", poly);239 psMetadataAddPtr(output->analysis, PS_LIST_TAIL, "DARK.ORDERS", PS_DATA_VECTOR | PS_META_REPLACE, "Dark orders", orders); 238 240 239 241 for (int i = 0; i < numTerms; i++) { … … 246 248 psFree(norm); 247 249 psFree(roMask); 248 psFree( poly);250 psFree(orders); 249 251 psFree(values); 250 252 … … 270 272 271 273 // retrieve the required parameter vectors 272 psArray *values = psMetadataLookupPtr(&mdok, output->analysis, "DARK.VALUES"); psAssert (values, "values not supplied"); 273 psVector *roMask = psMetadataLookupPtr(&mdok, output->analysis, "DARK.RO.MASK"); psAssert (roMask, "roMask not supplied"); 274 psPolynomialMD *poly = psMetadataLookupPtr(&mdok, output->analysis, "DARK.POLY"); psAssert (poly, "orders not supplied"); 274 psArray *values = psMetadataLookupPtr(&mdok, output->analysis, "DARK.VALUES"); psAssert (values, "values not supplied"); 275 psVector *roMask = psMetadataLookupPtr(&mdok, output->analysis, "DARK.RO.MASK"); psAssert (roMask, "roMask not supplied"); 276 psVector *orders = psMetadataLookupPtr(&mdok, output->analysis, "DARK.ORDERS"); psAssert (orders, "orders not supplied"); 277 278 psPolynomialMD *poly = psPolynomialMDAlloc(orders); // Polynomial for fitting 275 279 276 280 // retrieve the norm vector, if supplied
Note:
See TracChangeset
for help on using the changeset viewer.
