IPP Software Navigation Tools IPP Links Communication Pan-STARRS Links

Ignore:
Timestamp:
Dec 22, 2009, 9:55:18 AM (17 years ago)
Author:
eugene
Message:

adding hermitian kernels

File:
1 edited

Legend:

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

    r26157 r26473  
    1010    PM_SUBTRACTION_KERNEL_POIS,         ///< Pan-STARRS Optimal Image Subtraction --- delta functions
    1111    PM_SUBTRACTION_KERNEL_ISIS,         ///< Traditional kernel --- gaussians modified by polynomials
     12    PM_SUBTRACTION_KERNEL_HERM,         ///< Hermitian polynomial kernels
    1213    PM_SUBTRACTION_KERNEL_SPAM,         ///< Summed Pixels for Advanced Matching --- summed delta functions
    1314    PM_SUBTRACTION_KERNEL_FRIES,        ///< Fibonacci Radius Increases Excellence of Subtraction
     
    3031    psString description;               ///< Description of the kernel parameters
    3132    long num;                           ///< Number of kernel components (not including the spatial ones)
    32     psVector *u, *v;                    ///< Offset (for POIS) or polynomial order (for ISIS)
    33     psVector *widths;                   ///< Gaussian FWHMs (ISIS)
     33    psVector *u, *v;                    ///< Offset (for POIS) or polynomial order (for ISIS or HERM)
     34    psVector *widths;                   ///< Gaussian FWHMs (ISIS or HERM)
    3435    psVector *uStop, *vStop;            ///< Width of kernel element (SPAM,FRIES only)
    35     psArray *preCalc;                   ///< Array of images containing pre-calculated kernel (for ISIS)
     36    psArray *preCalc;                   ///< Array of images containing pre-calculated kernel (for ISIS or HERM)
    3637    float penalty;                      ///< Penalty for wideness
    3738    psVector *penalties;                ///< Penalty for each kernel component
     
    6465        PS_ASSERT_VECTOR_SIZE((KERNELS)->widths, (KERNELS)->num, RETURNVALUE); \
    6566    } \
     67    if ((KERNELS)->type == PM_SUBTRACTION_KERNEL_HERM) { \
     68        PS_ASSERT_VECTOR_NON_NULL((KERNELS)->widths, RETURNVALUE); \
     69        PS_ASSERT_VECTOR_TYPE((KERNELS)->widths, PS_TYPE_F32, RETURNVALUE); \
     70        PS_ASSERT_VECTOR_SIZE((KERNELS)->widths, (KERNELS)->num, RETURNVALUE); \
     71    } \
    6672    if ((KERNELS)->uStop || (KERNELS)->vStop) { \
    6773        PS_ASSERT_VECTOR_NON_NULL((KERNELS)->uStop, RETURNVALUE); \
     
    142148                                               );
    143149
     150/// Generate HERM kernels
     151pmSubtractionKernels *pmSubtractionKernelsHERM(int size, ///< Half-size of the kernel
     152                                               int spatialOrder, ///< Order of spatial variations
     153                                               const psVector *fwhms, ///< Gaussian FWHMs
     154                                               const psVector *orders, ///< order of hermitian polynomials
     155                                               float penalty, ///< Penalty for wideness
     156                                               pmSubtractionMode mode ///< Mode for subtraction
     157                                               );
     158
    144159/// Generate SPAM kernels
    145160pmSubtractionKernels *pmSubtractionKernelsSPAM(int size, ///< Half-size of the kernel
Note: See TracChangeset for help on using the changeset viewer.