// strucures to define elliptical shape parameters
typedef struct
{
    double major;
    double minor;
    double theta;
}
psEllipseAxes;

typedef struct
{
    double x2;
    double y2;
    double xy;
}
psEllipseMoments;

typedef struct
{
    double sx;
    double sy;
    double sxy;
}
psEllipseShape;

// conversions between elliptical shape representations
psEllipseAxes psEllipseMomentsToAxes (psEllipseMoments moments);
psEllipseShape psEllipseAxesToShape (psEllipseAxes axes);
psEllipseAxes psEllipseShapeToAxes (psEllipseShape shape);

