00001 /** @file pmReadoutCombine.h 00002 * 00003 * This file will contain a module which will combine multiple readout images. 00004 * 00005 * @author GLG, MHPCC 00006 * 00007 * @version $Revision: 1.7 $ $Name: rel12 $ 00008 * @date $Date: 2006/06/01 02:26:32 $ 00009 * 00010 * Copyright 2004 Maui High Performance Computing Center, University of Hawaii 00011 * 00012 */ 00013 00014 #if !defined(PM_READOUT_COMBINE_H) 00015 #define PM_READOUT_COMBINE_H 00016 00017 #if HAVE_CONFIG_H 00018 #include <config.h> 00019 #endif 00020 00021 #include <pslib.h> 00022 #include "pmFPA.h" 00023 00024 // Combination parameters for pmReadoutCombine. These values define how the combination is performed, and 00025 // should not vary by detector, so that it can be re-used for multiple combinations. 00026 typedef struct 00027 { 00028 psStatsOptions combine; // Statistic to use when performing the combination 00029 psMaskType maskVal; // Mask value 00030 int nKeep; // Mimimum number of pixels to keep 00031 float fracHigh; // Fraction of high pixels to immediately throw 00032 float fracLow; // Fraction of low pixels to immediately throw 00033 int iter; // Number of iterations for clipping (for CLIPPED_MEAN only) 00034 float rej; // Rejection threshould for clipping (for CLIPPED_MEAN only) 00035 } 00036 pmCombineParams; 00037 00038 // Allocator 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 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 pmCombineParams *params // Combination parameters 00048 ); 00049 00050 #endif
1.4.4