IPP Software Navigation Tools IPP Links Communication Pan-STARRS Links

Ignore:
Timestamp:
May 3, 2006, 4:38:20 PM (20 years ago)
Author:
Paul Price
Message:

Adapting pmReadoutCombine --- compiles, but not yet tested.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/psModules/src/imcombine/pmReadoutCombine.h

    r6873 r7059  
    55 *  @author GLG, MHPCC
    66 *
    7  *  @version $Revision: 1.5 $ $Name: not supported by cvs2svn $
    8  *  @date $Date: 2006-04-17 18:10:08 $
     7 *  @version $Revision: 1.6 $ $Name: not supported by cvs2svn $
     8 *  @date $Date: 2006-05-04 02:38:20 $
    99 *
    1010 *  Copyright 2004 Maui High Performance Computing Center, University of Hawaii
     
    1919#endif
    2020
    21 #include<stdio.h>
    22 #include<math.h>
    23 #include "pslib.h"
    24 #include "psConstants.h"
     21#include <pslib.h>
    2522#include "pmFPA.h"
    2623
     24// Combination parameters for pmReadoutCombine.  These values define how the combination is performed, and
     25// should not vary by detector, so that it can be re-used for multiple combinations.
    2726typedef struct
    2827{
    29     psStats *stats;
    30     unsigned int maskVal;
    31     float fracHigh;
    32     float fracLow;
    33     int nKeep;
     28    psStatsOptions combine;             // Statistic to use when performing the combination
     29    psMaskType maskVal;                 // Mask value
     30    int nKeep;                          // Mimimum number of pixels to keep
     31    float fracHigh;                     // Fraction of high pixels to immediately throw
     32    float fracLow;                      // Fraction of low pixels to immediately throw
     33    int iter;                           // Number of iterations for clipping (for CLIPPED_MEAN only)
     34    float rej;                          // Rejection threshould for clipping (for CLIPPED_MEAN only)
    3435}
    3536pmCombineParams;
    3637
    37 pmCombineParams *pmCombineParamsAlloc (psStatsOptions statsOptions);
     38// Allocator
     39pmCombineParams *pmCombineParamsAlloc(psStatsOptions statsOptions // Statistic to use for combination
     40                                     );
    3841
    39 psImage *pmReadoutCombine(psImage *output,
    40                           const psArray *inputs,
    41                           const psVector *zero,
    42                           const psVector *scale,
    43                           pmCombineParams *params,
    44                           bool applyZeroScale,
    45                           float gain,
    46                           float readnoise);
    47 
    48 /**
    49  *
    50  * This function measures the robust median at each of the minimum and maximum
    51  * coordinates and determines the difference and mean of the two values. The size
    52  * of the box used to make the measurement at each point is specified by the
    53  * configuration variable FRINGE_SQUARE_RADIUS. From the collection of
    54  * differences, the robust median is calculated, and returned as part of the
    55  * fringe statistics. For each fringe point, the values of delta and midValue are
    56  * also assigned and available to the user on return.
    57  *
    58  */
    59 psStats *pmFringeStats(
    60     psArray *fringePoints,
    61     psImage *image,
    62     psMetadata *config
    63 );
    64 
    65 typedef struct
    66 {
    67     psF64 xMin;
    68     psF64 yMin;
    69     psF64 xMax;
    70     psF64 yMax;
    71     psF64 delta;
    72     psF64 midValue;
    73 }
    74 pmFringePoint;
     42// Combine multiple readouts, applying zero and scale, with optional minmax clipping
     43bool pmReadoutCombine(pmReadout *output,// Output readout; altered and returned
     44                      const psArray *inputs, // Array of input readouts (F32 image and weight, U8 mask)
     45                      const psVector *zero, // Zero corrections to subtract from input, or NULL
     46                      const psVector *scale, // Scale corrections to divide into input, or NULL
     47                      pmCombineParams *params // Combination parameters
     48                     );
    7549
    7650#endif
Note: See TracChangeset for help on using the changeset viewer.