/** @file  pmMoments.h
 *
 *  Definitions of the moments structure
 *
 *  @author GLG, MHPCC
 *
 *  @version $Revision: 1.2 $ $Name: not supported by cvs2svn $
 *  @date $Date: 2006-04-17 18:01:05 $
 *
 *  Copyright 2004 Maui High Performance Computing Center, University of Hawaii
 *
 */

# ifndef PM_MOMENTS_H
# define PM_MOMENTS_H

/** 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
