00001 /** @file psImageStats.h 00002 * \brief Routines for calculating statistics on images. 00003 * @ingroup ImageStats 00004 * 00005 * This file will hold the prototypes for procedures which calculate 00006 * statistic on images, histograms on images, and fit/evaluate Chebyshev 00007 * polynomials to images. 00008 * 00009 * @author GLG, MHPCC 00010 * 00011 * @version $Revision: 1.1.1.1 $ $Name: $ 00012 * @date $Date: 2005/06/15 21:08:12 $ 00013 * 00014 * Copyright 2004-2005 Maui High Performance Computing Center, University of Hawaii 00015 */ 00016 #ifndef PS_IMAGE_STATS_H 00017 #define PS_IMAGE_STATS_H 00018 00019 #include "psType.h" 00020 #include "psVector.h" 00021 #include "psImage.h" 00022 #include "psStats.h" 00023 #include "psFunctions.h" 00024 00025 /// @addtogroup ImageStats 00026 /// @{ 00027 00028 /** This routine must determine the various statistics for the image. 00029 * 00030 * Determine statistics for image (or subimage). The statistics to be 00031 * determined are specified by stats. The mask allows pixels to be excluded 00032 * if their corresponding mask pixel value matches the value of maskVal. 00033 * This function must be defined for the following types: psS8, psU16, psF32, 00034 * psF64. 00035 * 00036 * @return psStats* the resulting statistics result(s) 00037 */ 00038 psStats* psImageStats( 00039 psStats* stats, ///< defines statistics to be calculated 00040 const psImage* in, ///< image (or subimage) to calculate stats 00041 const psImage* mask, ///< mask data for image (NULL ok) 00042 psS32 maskVal ///< mask Mask for mask 00043 ); 00044 00045 /** Construct a histogram from an image (or subimage). 00046 * 00047 * The histogram to generate is specified by psHistogram hist (see section 00048 * 4.3.2 in SDRS). This function must be defined for the following types: 00049 * psS8, psU16, psF32, psF64. 00050 * 00051 * @return psHistogram* the resulting histogram 00052 */ 00053 psHistogram* psImageHistogram( 00054 psHistogram* out, ///< input histogram description & target 00055 const psImage* in, ///< Image data to be histogramed. 00056 const psImage* mask, ///< mask data for image (NULL ok) 00057 psU32 maskVal ///< mask Mask for mask 00058 ); 00059 00060 /** Fit a 2-D polynomial surface to an image. 00061 * 00062 * The input structure coeffs contains the desired order and terms of 00063 * interest. This function must be defined for the following types: psS8, 00064 * psU16, psF32, psF64. 00065 * 00066 * @return psPolynomial2D* fitted polynomial result 00067 * 00068 */ 00069 psPolynomial2D* psImageFitPolynomial( 00070 psPolynomial2D* coeffs, ///< coefficient structure carries in desired terms & target 00071 const psImage* input 00072 ); 00073 00074 /** Evaluate a 2-D polynomial surface for the image pixels. 00075 * 00076 * Given the input polynomial coefficients, set the image pixel values on the 00077 * basis of the polynomial function. This function must be defined for the 00078 * following types: psS8, psU16, psF32, psF64. 00079 * 00080 * @return psImage* the resulting image 00081 */ 00082 psImage* psImageEvalPolynomial( 00083 psImage* input, ///< input image 00084 const psPolynomial2D* coeffs ///< coefficient structure carries in desired terms 00085 ); 00086 00087 /// @} 00088 00089 #endif // #ifndef PS_IMAGE_STATS_H
1.4.1