- Timestamp:
- Dec 3, 2009, 12:20:59 PM (17 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/eam_branches/20091201/psModules/src/imcombine/pmSubtractionMatch.c
r26330 r26332 561 561 562 562 // XXX step 1: calculate normalization 563 psTrace("psModules.imcombine", 3, "Calculating equation...\n"); 564 if (!pmSubtractionCalculateEquation(stamps, kernels, true)) { 563 psTrace("psModules.imcombine", 3, "Calculating equation for normalization...\n"); 564 // if (!pmSubtractionCalculateEquation(stamps, kernels, PM_SUBTRACTION_EQUATION_NORM)) { 565 if (!pmSubtractionCalculateEquation(stamps, kernels, PM_SUBTRACTION_EQUATION_ALL)) { 565 566 psError(PS_ERR_UNKNOWN, false, "Unable to calculate least-squares equation."); 566 567 goto MATCH_ERROR; 567 568 } 568 569 569 // XXX step 2: calculate only other parameters 570 psTrace("psModules.imcombine", 3, "Solving equation for normalization...\n"); 571 // if (!pmSubtractionSolveEquation(kernels, stamps, PM_SUBTRACTION_EQUATION_NORM)) { 572 if (!pmSubtractionSolveEquation(kernels, stamps, PM_SUBTRACTION_EQUATION_ALL)) { 573 psError(PS_ERR_UNKNOWN, false, "Unable to calculate least-squares equation."); 574 goto MATCH_ERROR; 575 } 576 memCheck(" solve equation"); 577 570 578 # if (0) 571 psTrace("psModules.imcombine", 3, "Calculating equation...\n"); 572 if (!pmSubtractionCalculateEquation(stamps, kernels)) { 579 // XXX step 2: calculate kernel parameters 580 psTrace("psModules.imcombine", 3, "Calculating equation for kernels...\n"); 581 if (!pmSubtractionCalculateEquation(stamps, kernels, PM_SUBTRACTION_EQUATION_KERNELS)) { 573 582 psError(PS_ERR_UNKNOWN, false, "Unable to calculate least-squares equation."); 574 583 goto MATCH_ERROR; 575 584 } 585 memCheck(" calculate equation"); 586 587 psTrace("psModules.imcombine", 3, "Solving equation for kernels...\n"); 588 if (!pmSubtractionSolveEquation(kernels, stamps, PM_SUBTRACTION_EQUATION_KERNELS)) { 589 psError(PS_ERR_UNKNOWN, false, "Unable to calculate least-squares equation."); 590 goto MATCH_ERROR; 591 } 592 memCheck(" solve equation"); 576 593 # endif 577 578 memCheck(" calculate equation");579 580 psTrace("psModules.imcombine", 3, "Solving equation...\n");581 582 if (!pmSubtractionSolveEquation(kernels, stamps)) {583 psError(PS_ERR_UNKNOWN, false, "Unable to calculate least-squares equation.");584 goto MATCH_ERROR;585 }586 587 memCheck(" solve equation");588 594 589 595 psVector *deviations = pmSubtractionCalculateDeviations(stamps, kernels); // Stamp deviations … … 609 615 // if we hit the max number of iterations and we have rejected stamps, re-solve 610 616 if (numRejected > 0) { 611 psTrace("psModules.imcombine", 3, "Solving equation...\n"); 612 if (!pmSubtractionSolveEquation(kernels, stamps)) { 617 // calculate kernel parameters 618 psTrace("psModules.imcombine", 3, "Solving equation for kernels...\n"); 619 // if (!pmSubtractionSolveEquation(kernels, stamps, PM_SUBTRACTION_EQUATION_KERNELS)) { 620 if (!pmSubtractionSolveEquation(kernels, stamps, PM_SUBTRACTION_EQUATION_ALL)) { 613 621 psError(PS_ERR_UNKNOWN, false, "Unable to calculate least-squares equation."); 614 622 goto MATCH_ERROR; 615 623 } 624 memCheck(" solve equation"); 625 616 626 psVector *deviations = pmSubtractionCalculateDeviations(stamps, kernels); // Stamp deviations 617 627 if (!deviations) { … … 918 928 assert(kernels); 919 929 920 psTrace("psModules.imcombine", 3, "Calculating %s equation...\n", description); 921 if (!pmSubtractionCalculateEquation(stamps, kernels)) { 930 psTrace("psModules.imcombine", 3, "Calculating %s normalization equation...\n", description); 931 // if (!pmSubtractionCalculateEquation(stamps, kernels, PM_SUBTRACTION_EQUATION_NORM)) { 932 if (!pmSubtractionCalculateEquation(stamps, kernels, PM_SUBTRACTION_EQUATION_ALL)) { 922 933 psError(PS_ERR_UNKNOWN, false, "Unable to calculate least-squares equation."); 923 934 return false; 924 935 } 925 936 926 psTrace("psModules.imcombine", 3, "Solving %s equation...\n", description); 927 if (!pmSubtractionSolveEquation(kernels, stamps)) { 937 psTrace("psModules.imcombine", 3, "Solving %s normalization equation...\n", description); 938 // if (!pmSubtractionSolveEquation(kernels, stamps, PM_SUBTRACTION_EQUATION_NORM)) { 939 if (!pmSubtractionSolveEquation(kernels, stamps, PM_SUBTRACTION_EQUATION_ALL)) { 928 940 psError(PS_ERR_UNKNOWN, false, "Unable to calculate least-squares equation."); 929 941 return false; 930 942 } 943 944 # if (0) 945 psTrace("psModules.imcombine", 3, "Calculating %s kernel coeffs equation...\n", description); 946 if (!pmSubtractionCalculateEquation(stamps, kernels, PM_SUBTRACTION_EQUATION_KERNELS)) { 947 psError(PS_ERR_UNKNOWN, false, "Unable to calculate least-squares equation."); 948 return false; 949 } 950 951 psTrace("psModules.imcombine", 3, "Solving %s kernel coeffs equation...\n", description); 952 if (!pmSubtractionSolveEquation(kernels, stamps, PM_SUBTRACTION_EQUATION_KERNELS)) { 953 psError(PS_ERR_UNKNOWN, false, "Unable to calculate least-squares equation."); 954 return false; 955 } 956 # endif 931 957 932 958 psTrace("psModules.imcombine", 3, "Calculate %s deviations...\n", description); … … 949 975 // Allow re-fit with reduced stamps set 950 976 psTrace("psModules.imcombine", 3, "Resolving %s equation...\n", description); 951 if (!pmSubtractionSolveEquation(kernels, stamps)) { 977 // if (!pmSubtractionSolveEquation(kernels, stamps, PM_SUBTRACTION_EQUATION_KERNELS)) { 978 if (!pmSubtractionSolveEquation(kernels, stamps, PM_SUBTRACTION_EQUATION_ALL)) { 952 979 psError(PS_ERR_UNKNOWN, false, "Unable to calculate least-squares equation."); 953 980 return false; 954 981 } 955 982 psTrace("psModules.imcombine", 3, "Recalculate %s deviations...\n", description); 983 956 984 psVector *deviations = pmSubtractionCalculateDeviations(stamps, kernels); // Stamp deviations 957 985 if (!deviations) {
Note:
See TracChangeset
for help on using the changeset viewer.
