Changeset 21183 for trunk/psLib/src/math/psMinimizeLMM_ND.c
- Timestamp:
- Jan 26, 2009, 8:40:07 PM (17 years ago)
- File:
-
- 1 edited
-
trunk/psLib/src/math/psMinimizeLMM_ND.c (modified) (10 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/psLib/src/math/psMinimizeLMM_ND.c
r17442 r21183 8 8 * @author EAM, IfA 9 9 * 10 * @version $Revision: 1. 1$ $Name: not supported by cvs2svn $11 * @date $Date: 200 8-04-11 08:01:29$10 * @version $Revision: 1.2 $ $Name: not supported by cvs2svn $ 11 * @date $Date: 2009-01-27 06:39:38 $ 12 12 * 13 13 * Copyright 2007 Institute for Astronomy, University of Hawaii … … 55 55 paramMask = constraint->paramMask; 56 56 if (paramMask != NULL) { 57 PS_ASSERT_VECTOR_TYPE(paramMask, PS_TYPE_ U8, false);57 PS_ASSERT_VECTOR_TYPE(paramMask, PS_TYPE_VECTOR_MASK, false); 58 58 PS_ASSERT_VECTORS_SIZE_EQUAL(params, paramMask, false); 59 59 } … … 201 201 psImageInit (covar, 0.0); 202 202 for (int j = 0, J = 0; j < params->n; j++) { 203 if (paramMask && (paramMask->data. U8[j])) {203 if (paramMask && (paramMask->data.PS_TYPE_VECTOR_MASK_DATA[j])) { 204 204 covar->data.F32[j][j] = 1.0; 205 205 continue; 206 206 } 207 207 for (int k = 0, K = 0; k < params->n; k++) { 208 if (paramMask && (paramMask->data. U8[k])) continue;208 if (paramMask && (paramMask->data.PS_TYPE_VECTOR_MASK_DATA[k])) continue; 209 209 covar->data.F32[j][k] = Alpha->data.F32[J][K]; 210 210 K++; … … 251 251 PS_ASSERT_VECTOR_TYPE(params, PS_TYPE_F32, false); 252 252 if (paramMask) { 253 PS_ASSERT_VECTOR_TYPE(paramMask, PS_TYPE_ MASK, false);253 PS_ASSERT_VECTOR_TYPE(paramMask, PS_TYPE_VECTOR_MASK, false); 254 254 } 255 255 … … 282 282 // set tmpBeta values which are not masked 283 283 for (int j = 0, n = 0; j < params->n; j++) { 284 if (paramMask && (paramMask->data. U8[j])) continue;284 if (paramMask && (paramMask->data.PS_TYPE_VECTOR_MASK_DATA[j])) continue; 285 285 tmpBeta->data.F32[j] = Beta->data.F32[n]; 286 286 n++; … … 289 289 // apply Beta to get new Params values 290 290 for (int j = 0; j < params->n; j++) { 291 if (paramMask && (paramMask->data. U8[j])) {291 if (paramMask && (paramMask->data.PS_TYPE_VECTOR_MASK_DATA[j])) { 292 292 Params->data.F32[j] = params->data.F32[j]; 293 293 continue; … … 309 309 // apply tmpBeta after limits have been checked 310 310 for (int j = 0, n = 0; j < params->n; j++) { 311 if (paramMask && (paramMask->data. U8[j])) continue;311 if (paramMask && (paramMask->data.PS_TYPE_VECTOR_MASK_DATA[j])) continue; 312 312 Beta->data.F32[n] = tmpBeta->data.F32[j]; 313 313 n++; … … 438 438 PS_ASSERT_VECTOR_TYPE(params, PS_TYPE_F32, false); 439 439 if (paramMask) { 440 PS_ASSERT_VECTOR_TYPE(paramMask, PS_TYPE_ MASK, false);440 PS_ASSERT_VECTOR_TYPE(paramMask, PS_TYPE_VECTOR_MASK, false); 441 441 } 442 442 … … 474 474 // we track alpha,beta and params,deriv separately 475 475 for (int j = 0, J = 0; j < params->n; j++) { 476 if (paramMask && (paramMask->data. U8[j])) continue;476 if (paramMask && (paramMask->data.PS_TYPE_VECTOR_MASK_DATA[j])) continue; 477 477 478 478 weight = deriv->data.F32[j] * dy->data.F32[i]; 479 479 480 480 for (int k = 0, K = 0; k <= j; k++) { 481 if (paramMask && (paramMask->data. U8[k])) continue;481 if (paramMask && (paramMask->data.PS_TYPE_VECTOR_MASK_DATA[k])) continue; 482 482 alpha->data.F32[J][K] += weight * deriv->data.F32[k]; 483 483 K++; … … 512 512 nParams = 0; 513 513 for (int i = 0; i < paramMask->n; i++) { 514 if (paramMask->data. U8[i]) continue;514 if (paramMask->data.PS_TYPE_VECTOR_MASK_DATA[i]) continue; 515 515 nParams ++; 516 516 }
Note:
See TracChangeset
for help on using the changeset viewer.
