IPP Software Navigation Tools IPP Links Communication Pan-STARRS Links

Ignore:
Timestamp:
Sep 11, 2005, 12:25:39 PM (21 years ago)
Author:
gusciora
Message:

....

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/psModules/src/pmImageSubtract.h

    r4417 r4992  
    77 *  @author GLG, MHPCC
    88 *
    9  *  @version $Revision: 1.3 $ $Name: not supported by cvs2svn $
    10  *  @date $Date: 2005-06-28 23:23:55 $
     9 *  @version $Revision: 1.4 $ $Name: not supported by cvs2svn $
     10 *  @date $Date: 2005-09-11 22:25:39 $
    1111 *
    1212 *  Copyright 2004 Maui High Performance Computing Center, University of Hawaii
     
    2727
    2828typedef enum {
    29     PM_SUBTRACTION_KERNEL_POIS,    ///< POIS kernel --- delta functions
    30     PM_SUBTRACTION_KERNEL_ISIS     ///< ISIS kernel --- gaussians modified by polynomials
     29    PM_SUBTRACTION_KERNEL_POIS,         ///< POIS kernel --- delta functions
     30    PM_SUBTRACTION_KERNEL_ISIS          ///< ISIS kernel --- gaussians modified by polynomials
    3131} pmSubtractionKernelsType;
    3232
    3333typedef struct
    3434{
    35     pmSubtractionKernelsType type;   ///< Type ofKernels --- allowing the use of multiple kernels
    36     psVector *u, *v;                 ///< Offset (for POIS) or polynomial order (for ISIS)
    37     psVector *sigma;                 ///< Width of Gaussian (for ISIS)
    38     psVector *xOrder, *yOrder;       ///< Spatial Polynomial order (for all)
    39     int subIndex;                    ///< Index of kernel to be subtracted to maintain flux conservation
    40     psArray *preCalc;                ///< Array of images containing pre-calculated kernel (to
     35    pmSubtractionKernelsType type;      ///< Type ofKernels --- allowing the use of multiple kernels
     36    psVector *u, *v;                    ///< Offset (for POIS) or polynomial order (for ISIS)
     37    psVector *sigma;                    ///< Width of Gaussian (for ISIS)
     38    psVector *xOrder, *yOrder;          ///< Spatial Polynomial order (for all)
     39    int subIndex;                       ///< Index of kernel to be subtracted to maintain flux conservation
     40    psArray *preCalc;                   ///< Array of images containing pre-calculated kernel (to
    4141    ///< accelerate ISIS; don't use for POIS)
    42     psS32 p_size;                    ///< The halfsize of the kernel
    43     psS32 p_spatialOrder;            ///< The spatial order of the kernels
     42    psS32 size;                         ///< The halfsize of the kernel
     43    psS32 spatialOrder;                 ///< The spatial order of the kernels
    4444}
    4545psSubtractionKernels;
    4646
    47 psSubtractionKernels *pmSubtractionKernelsAllocPOIS(int size,
    48         int SpatialOrder);
     47psSubtractionKernels *pmSubtractionKernelsAllocPOIS(
     48    int size,
     49    int SpatialOrder
     50);
    4951
    50 psSubtractionKernels *pmSubtractionKernelsAllocISIS(const psVector *sigmas,
    51         const psVector *orders,
    52         int size,
    53         int SpatialOrder);
     52psSubtractionKernels *pmSubtractionKernelsAllocISIS(
     53    const psVector *sigmas,
     54    const psVector *orders,
     55    int size,
     56    int SpatialOrder
     57);
    5458
    5559typedef enum {
    56     PM_STAMP_INIT,                   ///< Initial state
    57     PM_STAMP_USED,                   ///< Use this stamp
    58     PM_STAMP_REJECTED,               ///< This stamp has been rejected
    59     PM_STAMP_RECALC,                 ///< Having been reset, this stamp is to be recalculated
    60     PM_STAMP_NONE                    ///< No stamp in this region
     60    PM_STAMP_INIT,                      ///< Initial state
     61    PM_STAMP_USED,                      ///< Use this stamp
     62    PM_STAMP_REJECTED,                  ///< This stamp has been rejected
     63    PM_STAMP_RECALC,                    ///< Having been reset, this stamp is to be recalculated
     64    PM_STAMP_NONE                       ///< No stamp in this region
    6165} pmStampStatus;
    6266
    6367typedef struct
    6468{
    65     int x, y;      ///< Position
     69    int x, y;                           ///< Position
    6670    int p_xSize;
    6771    int p_ySize;
     
    7074    int p_yMin;
    7175    int p_yMax;
    72     psImage *matrix;     ///< Associated matrix
    73     psVector *vector;     ///< Assoicated vector
    74     pmStampStatus status;    ///< Status ofstamp
     76    psImage *matrix;                    ///< Associated matrix
     77    psVector *vector;                   ///< Assoicated vector
     78    pmStampStatus status;               ///< Status ofstamp
    7579}
    7680pmStamp;
    7781
    78 psArray *pmSubtractionFindStamps(psArray *stamps, ///< Output stamps, or NULL
    79                                  const psImage *image, ///< Image for which to find stamps
    80                                  const psImage *mask, ///< Mask
    81                                  psU32 maskVal,  ///< Value for mask
    82                                  psF32 threshold, ///< Threshold for stamps in the image
    83                                  psS32 xNum,  ///< Number of stamps in x
    84                                  psS32 yNum,  ///< Number of stamps in y
    85                                  psS32 border  ///< Border around image to ignore (should be size of kernel)
    86                                 );
     82psArray *pmSubtractionFindStamps(
     83    psArray *stamps,                    ///< Output stamps, or NULL
     84    const psImage *image,               ///< Image for which to find stamps
     85    const psImage *mask,                ///< Mask
     86    psU32 maskVal,                      ///< Value for mask
     87    psF32 threshold,                    ///< Threshold for stamps in the image
     88    psS32 xNum,                         ///< Number of stamps in x
     89    psS32 yNum,                         ///< Number of stamps in y
     90    psS32 border                        ///< Border around image to ignore (should be size of kernel)
     91);
    8792
    88 bool pmSubtractionCalculateEquation(psArray *stamps, ///< The stamps for which to calculate the equation,
    89                                     const psImage *reference, ///< Reference image
    90                                     const psImage *input, ///< Input image
    91                                     const psSubtractionKernels *kernels, ///< The kernel basis functions
    92                                     psS32 footprint ///< Half-size of region over which to calculate equation
    93                                    );
     93bool pmSubtractionCalculateEquation(
     94    psArray *stamps,                    ///< The stamps for which to calculate the equation,
     95    const psImage *reference,           ///< Reference image
     96    const psImage *input,               ///< Input image
     97    const psSubtractionKernels *kernels,///< The kernel basis functions
     98    psS32 footprint                     ///< Half-size of region over which to calculate equation
     99);
    94100
    95101
    96 psVector *pmSubtractionSolveEquation(psVector *solution, ///< Solution vector, or NULL
    97                                      const psArray *stamps ///< Array of stamps
    98                                     );
     102psVector *pmSubtractionSolveEquation(
     103    psVector *solution,                 ///< Solution vector, or NULL
     104    const psArray *stamps               ///< Array of stamps
     105);
    99106
    100 bool pmSubtractionRejectStamps(psArray *stamps,  ///< Array of stamps to check for rejection
    101                                psImage *mask,  ///< Mask image
    102                                psU32 badStampMaskVal, ///< Value to use in mask for bad stamp
    103                                psS32 footprint,  ///< Region to mask if stamp is bad
    104                                psF32 sigmaRej,  ///< Number of RMS deviations above zero at which to reject
    105                                const psImage *refImage, ///< Reference image
    106                                const psImage *inImage, ///< Input image
    107                                const psVector *solution, ///< Solution vector
    108                                const psSubtractionKernels *kernels ///< Array of kernel parameters
    109                               );
     107bool pmSubtractionRejectStamps(
     108    psArray *stamps,                    ///< Array of stamps to check for rejection
     109    psImage *mask,                      ///< Mask image
     110    psU32 badStampMaskVal,              ///< Value to use in mask for bad stamp
     111    psS32 footprint,                    ///< Region to mask if stamp is bad
     112    psF32 sigmaRej,                     ///< Number of RMS deviations above zero at which to reject
     113    const psImage *refImage,            ///< Reference image
     114    const psImage *inImage,             ///< Input image
     115    const psVector *solution,           ///< Solution vector
     116    const psSubtractionKernels *kernels ///< Array of kernel parameters
     117);
    110118
    111 psImage *pmSubtractionKernelImage(psImage *out,
    112                                   const psVector *solution,
    113                                   const psSubtractionKernels *kernels,
    114                                   psF32 x,
    115                                   psF32 y
    116                                  );
     119psImage *pmSubtractionKernelImage(
     120    psImage *out,
     121    const psVector *solution,
     122    const psSubtractionKernels *kernels,
     123    psF32 x,
     124    psF32 y
     125);
    117126
    118127#endif
Note: See TracChangeset for help on using the changeset viewer.