IPP Software Navigation Tools IPP Links Communication Pan-STARRS Links

Ignore:
Timestamp:
May 3, 2010, 8:41:49 AM (16 years ago)
Author:
eugene
Message:

updates from trunk

Location:
branches/tap_branches
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • branches/tap_branches

  • branches/tap_branches/psModules

  • branches/tap_branches/psModules/src/imcombine/pmSubtractionStamps.h

    r25101 r27838  
    2424    psArray *flux;                      ///< Fluxes for possible stamps (or NULL)
    2525    int footprint;                      ///< Half-size of stamps
     26    psKernel *window;                   ///< window function generated from ensemble of stamps
     27    float normFrac;                     ///< Fraction of flux in window for normalisation window
     28    int normWindow;                     ///< Size of window for measuring normalisation
     29    float sysErr;                       ///< Systematic error
     30    float skyErr;                       ///< increase effective readnoise
    2631} pmSubtractionStampList;
    2732
    2833/// Allocate a list of stamps
    29 pmSubtractionStampList *pmSubtractionStampListAlloc(int numCols, // Number of columns in image
    30                                                     int numRows, // Number of rows in image
    31                                                     const psRegion *region, // Region for stamps, or NULL
    32                                                     int footprint, // Half-size of stamps
    33                                                     float spacing // Rough average spacing between stamps
     34pmSubtractionStampList *pmSubtractionStampListAlloc(
     35    int numCols, // Number of columns in image
     36    int numRows, // Number of rows in image
     37    const psRegion *region, // Region for stamps, or NULL
     38    int footprint, // Half-size of stamps
     39    float spacing, // Rough average spacing between stamps
     40    float normFrac, // Fraction of flux in window for normalisation window
     41    float sysErr,  // Relative systematic error or NAN
     42    float skyErr  // Relative systematic error or NAN
    3443    );
    3544
     
    6877    psKernel *image1;                   ///< Reference image postage stamp
    6978    psKernel *image2;                   ///< Input image postage stamp
    70     psKernel *variance;                 ///< Variance image postage stamp, or NULL
     79    psKernel *weight;                   ///< Weight image (1/variance) postage stamp, or NULL
    7180    psArray *convolutions1;             ///< Convolutions of image 1 for each kernel component, or NULL
    7281    psArray *convolutions2;             ///< Convolutions of image 2 for each kernel component, or NULL
    73     psImage *matrix1, *matrix2;         ///< Least-squares matrices for each image, or NULL
    74     psImage *matrixX;                   ///< Cross-matrix (for mode DUAL), or NULL
    75     psVector *vector1, *vector2;        ///< Least-squares vectors for each image, or NULL
     82    psImage *matrix;                    ///< Least-squares matrix, or NULL
     83    psVector *vector;                   ///< Least-squares vector, or NULL
     84    double norm;                        ///< Normalisation difference
    7685    pmSubtractionStampStatus status;    ///< Status of stamp
    7786} pmSubtractionStamp;
     
    8190
    8291/// Find stamps on an image
    83 pmSubtractionStampList *pmSubtractionStampsFind(pmSubtractionStampList *stamps, ///< Output stamps, or NULL
    84                                                 const psImage *image1, ///< Image for which to find stamps
    85                                                 const psImage *image2, ///< Image for which to find stamps
    86                                                 const psImage *mask, ///< Mask, or NULL
    87                                                 const psRegion *region, ///< Region to search, or NULL
    88                                                 float thresh1, ///< Threshold for stamps in image 1
    89                                                 float thresh2, ///< Threshold for stamps in image 2
    90                                                 int size, ///< Kernel half-size
    91                                                 int footprint, ///< Half-size for stamps
    92                                                 float spacing, ///< Rough spacing for stamps
    93                                                 pmSubtractionMode mode ///< Mode for subtraction
     92pmSubtractionStampList *pmSubtractionStampsFind(
     93    pmSubtractionStampList *stamps, ///< Output stamps, or NULL
     94    const psImage *image1, ///< Image for which to find stamps
     95    const psImage *image2, ///< Image for which to find stamps
     96    const psImage *mask, ///< Mask, or NULL
     97    const psRegion *region, ///< Region to search, or NULL
     98    float thresh1, ///< Threshold for stamps in image 1
     99    float thresh2, ///< Threshold for stamps in image 2
     100    int size, ///< Kernel half-size
     101    int footprint, ///< Half-size for stamps
     102    float spacing, ///< Rough spacing for stamps
     103    float normFrac, // Fraction of flux in window for normalisation window
     104    float sysErr,  ///< Relative systematic error in images
     105    float skyErr,  ///< Relative systematic error in images
     106    pmSubtractionMode mode ///< Mode for subtraction
    94107    );
    95108
    96109/// Set stamps based on a list of x,y
    97 pmSubtractionStampList *pmSubtractionStampsSet(const psVector *x, ///< x coordinates for each stamp
    98                                                const psVector *y, ///< y coordinates for each stamp
    99                                                const psImage *image, ///< Image for flux of stamp
    100                                                const psImage *mask, ///< Mask, or NULL
    101                                                const psRegion *region, ///< Region to search, or NULL
    102                                                int size, ///< Kernel half-size
    103                                                int footprint, ///< Half-size for stamps
    104                                                float spacing, ///< Rough spacing for stamps
    105                                                pmSubtractionMode mode ///< Mode for subtraction
     110pmSubtractionStampList *pmSubtractionStampsSet(
     111    const psVector *x, ///< x coordinates for each stamp
     112    const psVector *y, ///< y coordinates for each stamp
     113    const psImage *image, ///< Image for flux of stamp
     114    const psImage *mask, ///< Mask, or NULL
     115    const psRegion *region, ///< Region to search, or NULL
     116    int size, ///< Kernel half-size
     117    int footprint, ///< Half-size for stamps
     118    float spacing, ///< Rough spacing for stamps
     119    float normFrac, // Fraction of flux in window for normalisation window
     120    float sysErr,  ///< Systematic error in images
     121    float skyErr,  ///< Systematic error in images
     122    pmSubtractionMode mode ///< Mode for subtraction
    106123    );
    107124
     
    115132    int footprint,                      ///< Half-size for stamps
    116133    float spacing,                      ///< Rough spacing for stamps
     134    float normFrac, // Fraction of flux in window for normalisation window
     135    float sysErr,                       ///< Systematic error in images
     136    float skyErr,                       ///< Systematic error in images
    117137    pmSubtractionMode mode              ///< Mode for subtraction
    118138    );
     
    127147    int footprint,                      ///< Half-size for stamps
    128148    float spacing,                      ///< Rough spacing for stamps
     149    float normFrac, // Fraction of flux in window for normalisation window
     150    float sysErr,                       ///< Systematic error in images
     151    float skyErr,                       ///< Systematic error in images
    129152    pmSubtractionMode mode              ///< Mode for subtraction
     153    );
     154
     155/// Calculate the window and normalisation window from the stamps
     156bool pmSubtractionStampsGetWindow(
     157    pmSubtractionStampList *stamps,     ///< List of stamps
     158    int kernelSize                      ///< Half-size of kernel
    130159    );
    131160
     
    135164                                psImage *image2, ///< Input image (or NULL)
    136165                                psImage *variance, ///< Variance map
    137                                 int kernelSize ///< Kernel half-size
     166                                int kernelSize, ///< Kernel half-size
     167                                psRegion bounds ///< Bounds of validity
    138168    );
    139169
     
    162192    );
    163193
     194
     195bool pmSubtractionStampsResetStatus (pmSubtractionStampList *stamps);
     196
    164197#endif
Note: See TracChangeset for help on using the changeset viewer.