IPP Software Navigation Tools IPP Links Communication Pan-STARRS Links

Ignore:
Timestamp:
Oct 15, 2009, 4:58:42 PM (17 years ago)
Author:
Paul Price
Message:

Fixed implementation of chi2 penalties. Using penalties going as r4 (following Yuan & Akerlof 2008).

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/pap/psModules/src/imcombine/pmSubtractionKernels.c

    r25841 r25860  
    9494            kernels->v->data.S32[index] = v;
    9595            kernels->preCalc->data[index] = NULL;
    96             kernels->penalties->data.F32[index] = kernels->penalty * (PS_SQR(u) + PS_SQR(v));
     96            kernels->penalties->data.F32[index] = kernels->penalty * PS_SQR(PS_SQR(u) + PS_SQR(v));
    9797
    9898            psTrace("psModules.imcombine", 7, "Kernel %d: %d %d\n", index, u, v);
     
    151151                        double value = xKernel->data.F32[x] * yKernel->data.F32[y]; // Value of kernel
    152152                        kernel->kernel[v][u] = value;
    153                         moment += value * (PS_SQR(u) + PS_SQR(v));
     153                        moment += value * PS_SQR((PS_SQR(u) + PS_SQR(v)));
    154154                    }
    155155                }
     
    190190                kernels->preCalc->data[index] = preCalc;
    191191                kernels->penalties->data.F32[index] = kernels->penalty * fabsf(moment);
     192                fprintf(stderr, "Penalty %d: %f\n", index, kernels->penalty * fabsf(moment));
    192193
    193194                psTrace("psModules.imcombine", 7, "Kernel %d: %f %d %d %f\n", index,
     
    592593                                    poly->data.F32[j] = polyVal;
    593594                                    norm += polyVal;
    594                                     moment += polyVal * (PS_SQR(u) + PS_SQR(v));
     595                                    moment += polyVal * PS_SQR(PS_SQR(u) + PS_SQR(v));
    595596
    596597                                    psVectorExtend(uCoords, RINGS_BUFFER, 1);
     
    618619                        psBinaryOp(poly, poly, "*", psScalarAlloc(1.0 / norm, PS_TYPE_F32));
    619620                    }
    620 //                    moment /= norm;
     621                    moment /= norm;
    621622                }
    622623
Note: See TracChangeset for help on using the changeset viewer.