/* @file  pmMoments.h
 * @brief Definitions of the moments structure
 *
 * @author GLG, MHPCC
 *
 * @version $Revision: 1.3 $ $Name: not supported by cvs2svn $
 * @date $Date: 2007-01-24 02:54:15 $
 * Copyright 2004 Maui High Performance Computing Center, University of Hawaii
 */

# ifndef PM_MOMENTS_H
# define PM_MOMENTS_H

/// @addtogroup Objects Object Detection / Analysis Functions
/// @{

/** pmMoments data structure
 *
 * One of the simplest measurements which can be made quickly for an object
 * are the object moments. We specify a structure to carry the moment information
 * for a specific source:
 *
 */
typedef struct
{
    float x;     ///< X-coord of centroid.
    float y;     ///< Y-coord of centroid.
    float Sx;    ///< x-second moment.
    float Sy;    ///< y-second moment.
    float Sxy;   ///< xy cross moment.
    float Sum;   ///< Pixel sum above sky (background).
    float Peak;  ///< Peak counts above sky.
    float Sky;   ///< Sky level (background).
    float dSky;  ///< local Sky variance
    float SN;    ///< approx signal-to-noise
    int nPixels; ///< Number of pixels used.
}
pmMoments;

/** pmMomentsAlloc()
 *
 */
pmMoments *pmMomentsAlloc();

/// @}
# endif
