Changeset 29598 for trunk/psModules/src/imcombine/pmSubtractionEquation.c
- Timestamp:
- Oct 28, 2010, 5:50:53 PM (16 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/psModules/src/imcombine/pmSubtractionEquation.c
r29543 r29598 25 25 # define PENALTY false 26 26 # define MOMENTS (!PENALTY) 27 # define MOMENTS_PENALTY_SCALE 2e-5 // XXX this value is not completely arbitrary, but I don't understand why it needs to be this value... 27 28 28 29 ////////////////////////////////////////////////////////////////////////////////////////////////////////////// … … 325 326 // add in second moments 326 327 if (MOMENTS) { 327 matrix->data.F64[iIndex][jIndex] += kernels->penalty * MxxAA; 328 matrix->data.F64[iIndex][jIndex] += kernels->penalty * MyyAA; 329 330 matrix->data.F64[jIndex][iIndex] += kernels->penalty * MxxAA; 331 matrix->data.F64[jIndex][iIndex] += kernels->penalty * MyyAA; 332 333 matrix->data.F64[iIndex + numParams][jIndex + numParams] += kernels->penalty * MxxBB; 334 matrix->data.F64[iIndex + numParams][jIndex + numParams] += kernels->penalty * MyyBB; 335 336 matrix->data.F64[jIndex + numParams][iIndex + numParams] += kernels->penalty * MxxBB; 337 matrix->data.F64[jIndex + numParams][iIndex + numParams] += kernels->penalty * MyyBB; 338 339 // XXX this uses the single moments, first try 340 // matrix->data.F64[iIndex][jIndex] += kernels->penalty * stamp->MxxI1->data.F32[i]*stamp->MxxI1->data.F32[j]; 341 // matrix->data.F64[iIndex][jIndex] += kernels->penalty * stamp->MyyI1->data.F32[i]*stamp->MyyI1->data.F32[j]; 342 // 343 // matrix->data.F64[jIndex][iIndex] += kernels->penalty * stamp->MxxI1->data.F32[i]*stamp->MxxI1->data.F32[j]; 344 // matrix->data.F64[jIndex][iIndex] += kernels->penalty * stamp->MyyI1->data.F32[i]*stamp->MyyI1->data.F32[j]; 345 // 346 // matrix->data.F64[iIndex + numParams][jIndex + numParams] += kernels->penalty * stamp->MxxI2->data.F32[i]*stamp->MxxI2->data.F32[j]; 347 // matrix->data.F64[iIndex + numParams][jIndex + numParams] += kernels->penalty * stamp->MyyI2->data.F32[i]*stamp->MyyI2->data.F32[j]; 348 // 349 // matrix->data.F64[jIndex + numParams][iIndex + numParams] += kernels->penalty * stamp->MxxI2->data.F32[i]*stamp->MxxI2->data.F32[j]; 350 // matrix->data.F64[jIndex + numParams][iIndex + numParams] += kernels->penalty * stamp->MyyI2->data.F32[i]*stamp->MyyI2->data.F32[j]; 328 matrix->data.F64[iIndex][jIndex] += kernels->penalty * MxxAA * MOMENTS_PENALTY_SCALE; 329 matrix->data.F64[iIndex][jIndex] += kernels->penalty * MyyAA * MOMENTS_PENALTY_SCALE; 330 331 matrix->data.F64[jIndex][iIndex] += kernels->penalty * MxxAA * MOMENTS_PENALTY_SCALE; 332 matrix->data.F64[jIndex][iIndex] += kernels->penalty * MyyAA * MOMENTS_PENALTY_SCALE; 333 334 matrix->data.F64[iIndex + numParams][jIndex + numParams] += kernels->penalty * MxxBB * MOMENTS_PENALTY_SCALE; 335 matrix->data.F64[iIndex + numParams][jIndex + numParams] += kernels->penalty * MyyBB * MOMENTS_PENALTY_SCALE; 336 337 matrix->data.F64[jIndex + numParams][iIndex + numParams] += kernels->penalty * MxxBB * MOMENTS_PENALTY_SCALE; 338 matrix->data.F64[jIndex + numParams][iIndex + numParams] += kernels->penalty * MyyBB * MOMENTS_PENALTY_SCALE; 351 339 } 352 340 matrix->data.F64[iIndex][jIndex + numParams] = ab; … … 465 453 // add in second moments 466 454 if (MOMENTS) { 467 vector->data.F64[iIndex] -= kernels->penalty * MxxAI1 ;468 vector->data.F64[iIndex] -= kernels->penalty * MyyAI1 ;469 470 vector->data.F64[iIndex + numParams] -= kernels->penalty * MxxBI2 ;471 vector->data.F64[iIndex + numParams] -= kernels->penalty * MyyBI2 ;455 vector->data.F64[iIndex] -= kernels->penalty * MxxAI1 * MOMENTS_PENALTY_SCALE; 456 vector->data.F64[iIndex] -= kernels->penalty * MyyAI1 * MOMENTS_PENALTY_SCALE; 457 458 vector->data.F64[iIndex + numParams] -= kernels->penalty * MxxBI2 * MOMENTS_PENALTY_SCALE; 459 vector->data.F64[iIndex + numParams] -= kernels->penalty * MyyBI2 * MOMENTS_PENALTY_SCALE; 472 460 } 473 461 } … … 793 781 } 794 782 } 783 795 784 stamp->norm = normI2 / normI1; 796 785 stamp->normI1 = normI1;
Note:
See TracChangeset
for help on using the changeset viewer.
