IPP Software Navigation Tools IPP Links Communication Pan-STARRS Links

Ignore:
Timestamp:
Dec 13, 2007, 11:32:44 AM (18 years ago)
Author:
Paul Price
Message:

Updates trying to get dual-convolution to work. It doesn't yet.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/psModules/src/imcombine/pmSubtractionKernels.c

    r15756 r15809  
    136136                        }
    137137                    }
     138                    preCalc->kernel[0][0] -= 1.0;
    138139                }
    139140
     
    216217    }
    217218
    218     // Subtract normalisation from all the others to maintain flux scaling
    219     if (spatialOrder > 0) {
    220         int numGaussians = fwhms->n;       // Number of Gaussians
    221         for (int i = 0, index = 0; i < numGaussians; i++) {
    222             for (int uOrder = 0; uOrder <= orders->data.S32[i]; uOrder++) {
    223                 for (int vOrder = 0; vOrder <= orders->data.S32[i] - uOrder; vOrder++, index++) {
    224                     if (uOrder % 2 == 0 && vOrder % 2 == 0) {
    225                         psKernel *kernel = kernels->preCalc->data[index]; // Kernel to subtract
    226                         kernel->kernel[0][0] -= 1.0;
    227                     }
    228                 }
    229             }
    230         }
    231     }
    232 
    233219    if (psTraceGetLevel("psModules.imcombine.kernel") >= 10) {
    234220        for (int i = 0; i < kernels->num; i++) {
     
    246232                }
    247233            }
    248             psTrace("psModules.imcombine.kernel", 10, "Kernel %d sum: %lf\n", i, sum);
     234            psTrace("psModules.imcombine.kernel", 10, "Kernel %d sum: %le\n", i, sum);
    249235        }
    250236    }
     
    447433    psStringPrepend(&kernels->description, "GUNK=");
    448434    psStringAppend(&kernels->description, "+POIS(%d,%d)", inner, spatialOrder);
    449 
    450     // Subtract unity from the kernels to maintain photometric flux scaling
    451     int numGaussians = fwhms->n;       // Number of Gaussians
    452     if (spatialOrder > 0) {
    453         for (int i = 0, index = 0; i < numGaussians; i++) {
    454             for (int uOrder = 0; uOrder <= orders->data.S32[i]; uOrder++) {
    455                 for (int vOrder = 0; vOrder <= orders->data.S32[i] - uOrder; vOrder++, index++) {
    456                     if (uOrder % 2 == 0 && vOrder % 2 == 0) {
    457                         psKernel *kernel = kernels->preCalc->data[index]; // Kernel to subtract
    458                         kernel->kernel[0][0] -= 1.0;
    459                     }
    460                 }
    461             }
    462         }
    463     }
    464435
    465436    int numISIS = kernels->num;         // Number of ISIS kernels
Note: See TracChangeset for help on using the changeset viewer.