IPP Software Navigation Tools IPP Links Communication Pan-STARRS Links

Ignore:
Timestamp:
Dec 23, 2009, 8:08:30 AM (17 years ago)
Author:
eugene
Message:

adding deconvolved hermite functions

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/eam_branches/20091201/psModules/src/imcombine/pmSubtractionKernels.h

    r26473 r26479  
    1111    PM_SUBTRACTION_KERNEL_ISIS,         ///< Traditional kernel --- gaussians modified by polynomials
    1212    PM_SUBTRACTION_KERNEL_HERM,         ///< Hermitian polynomial kernels
     13    PM_SUBTRACTION_KERNEL_DECON_HERM,   ///< Deconvolved Hermitian polynomial kernels
    1314    PM_SUBTRACTION_KERNEL_SPAM,         ///< Summed Pixels for Advanced Matching --- summed delta functions
    1415    PM_SUBTRACTION_KERNEL_FRIES,        ///< Fibonacci Radius Increases Excellence of Subtraction
     
    3132    psString description;               ///< Description of the kernel parameters
    3233    long num;                           ///< Number of kernel components (not including the spatial ones)
    33     psVector *u, *v;                    ///< Offset (for POIS) or polynomial order (for ISIS or HERM)
    34     psVector *widths;                   ///< Gaussian FWHMs (ISIS or HERM)
     34    psVector *u, *v;                    ///< Offset (for POIS) or polynomial order (for ISIS, HERM or DECON_HERM)
     35    psVector *widths;                   ///< Gaussian FWHMs (ISIS, HERM or DECON_HERM)
    3536    psVector *uStop, *vStop;            ///< Width of kernel element (SPAM,FRIES only)
    36     psArray *preCalc;                   ///< Array of images containing pre-calculated kernel (for ISIS or HERM)
     37    psArray *preCalc;                   ///< Array of images containing pre-calculated kernel (for ISIS, HERM or DECON_HERM)
    3738    float penalty;                      ///< Penalty for wideness
    3839    psVector *penalties;                ///< Penalty for each kernel component
     
    7071        PS_ASSERT_VECTOR_SIZE((KERNELS)->widths, (KERNELS)->num, RETURNVALUE); \
    7172    } \
     73    if ((KERNELS)->type == PM_SUBTRACTION_KERNEL_DECON_HERM) { \
     74        PS_ASSERT_VECTOR_NON_NULL((KERNELS)->widths, RETURNVALUE); \
     75        PS_ASSERT_VECTOR_TYPE((KERNELS)->widths, PS_TYPE_F32, RETURNVALUE); \
     76        PS_ASSERT_VECTOR_SIZE((KERNELS)->widths, (KERNELS)->num, RETURNVALUE); \
     77    } \
    7278    if ((KERNELS)->uStop || (KERNELS)->vStop) { \
    7379        PS_ASSERT_VECTOR_NON_NULL((KERNELS)->uStop, RETURNVALUE); \
     
    157163                                               );
    158164
     165/// Generate DECON_HERM kernels
     166pmSubtractionKernels *pmSubtractionKernelsDECON_HERM(int size, ///< Half-size of the kernel
     167                                                     int spatialOrder, ///< Order of spatial variations
     168                                                     const psVector *fwhms, ///< Gaussian FWHMs
     169                                                     const psVector *orders, ///< order of hermitian polynomials
     170                                                     float penalty, ///< Penalty for wideness
     171                                                     pmSubtractionMode mode ///< Mode for subtraction
     172    );
     173
    159174/// Generate SPAM kernels
    160175pmSubtractionKernels *pmSubtractionKernelsSPAM(int size, ///< Half-size of the kernel
Note: See TracChangeset for help on using the changeset viewer.