00001 /* @file pmReadoutCombine.h 00002 * @brief Combine multiple readouts 00003 * 00004 * @author George Gusciora, MHPCC 00005 * @author Paul Price, IfA 00006 * 00007 * @version $Revision: 1.10 $ $Name: $ 00008 * @date $Date: 2007/01/24 02:54:15 $ 00009 * Copyright 2004-2006 Institute for Astronomy, University of Hawaii 00010 */ 00011 00012 #ifndef PM_READOUT_COMBINE_H 00013 #define PM_READOUT_COMBINE_H 00014 00015 /// @addtogroup imcombine Image Combinations 00016 /// @{ 00017 00018 #include <pslib.h> 00019 #include "pmFPA.h" 00020 00021 /// Combination parameters for pmReadoutCombine. 00022 /// 00023 /// These values define how the combination is performed, and should not vary by detector, so that it can be 00024 /// re-used for multiple combinations. 00025 typedef struct 00026 { 00027 psStatsOptions combine; ///< Statistic to use when performing the combination 00028 psMaskType maskVal; ///< Mask value 00029 int nKeep; ///< Mimimum number of pixels to keep 00030 float fracHigh; ///< Fraction of high pixels to immediately throw 00031 float fracLow; ///< Fraction of low pixels to immediately throw 00032 int iter; ///< Number of iterations for clipping (for CLIPPED_MEAN only) 00033 float rej; ///< Rejection threshould for clipping (for CLIPPED_MEAN only) 00034 bool weights; ///< Use the supplied weights (instead of calculated stdev)? 00035 } 00036 pmCombineParams; 00037 00038 // Allocator for pmCombineParams 00039 pmCombineParams *pmCombineParamsAlloc(psStatsOptions statsOptions ///< Statistic to use for combination 00040 ); 00041 00042 /// Combine multiple readouts, applying zero and scale, with optional minmax clipping 00043 bool pmReadoutCombine(pmReadout *output,///< Output readout; altered and returned 00044 const psArray *inputs, ///< Array of input readouts (F32 image and weight, U8 mask) 00045 const psVector *zero, ///< Zero corrections to subtract from input, or NULL 00046 const psVector *scale, ///< Scale corrections to divide into input, or NULL 00047 const pmCombineParams *params ///< Combination parameters 00048 ); 00049 00050 /// @} 00051 #endif
1.5.1