IPP Software Navigation Tools IPP Links Communication Pan-STARRS Links

Changeset 15794


Ignore:
Timestamp:
Dec 12, 2007, 11:01:32 AM (18 years ago)
Author:
Paul Price
Message:

Adding comments to header file.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/psLib/src/math/psEllipse.h

    r13425 r15794  
    22 * @brief functions to manipulate sparse matrices equations
    33 *
    4  * $Revision: 1.5 $ $Name: not supported by cvs2svn $
    5  * $Date: 2007-05-18 14:06:09 $
     4 * $Revision: 1.6 $ $Name: not supported by cvs2svn $
     5 * $Date: 2007-12-12 21:01:32 $
    66 * Copyright 2004-2005 Maui High Performance Computing Center, University of Hawaii
    77 */
     
    1515/// @{
    1616
    17 // strucures to define elliptical shape parameters
    18 typedef struct
    19 {
    20     double major;                       // Major axis
    21     double minor;                       // Minor axis
    22     double theta;                       // Position angle
    23 }
    24 psEllipseAxes;
     17// Different representations of an ellipse
    2518
    26 // strucures to define elliptical shape parameters
    27 typedef struct
    28 {
    29     double e0;                          // Scale (Mxx + Myy)
    30     double e1;                          // Polarization 1 (Mxx - Myy)
    31     double e2;                          // Polarization 1 (2Mxy)
    32 }
    33 psEllipsePol;
     19/// Ellipse defined in terms of axes
     20typedef struct {
     21    double major;                       ///< Major axis
     22    double minor;                       ///< Minor axis
     23    double theta;                       ///< Position angle
     24} psEllipseAxes;
    3425
    35 typedef struct
    36 {
    37     double x2;                          // Moment of xx
    38     double y2;                          // Moment of yy
    39     double xy;                          // Moment of xy
    40 }
    41 psEllipseMoments;
     26/// Ellipse defined in terms of moments
     27typedef struct {
     28    double x2;                          ///< Moment of xx (Mxx)
     29    double y2;                          ///< Moment of yy (Myy)
     30    double xy;                          ///< Moment of xy (Mxy)
     31} psEllipseMoments;
    4232
    43 typedef struct
    44 {
    45     double sx;                          // Shape parameter in x
    46     double sy;                          // Shape parameter in y
    47     double sxy;                         // Shape parameter in xy
    48 }
    49 psEllipseShape;
     33/// Ellipse defined in terms of Gaussian shape parameters
     34typedef struct {
     35    double sx;                          ///< Shape parameter in x
     36    double sy;                          ///< Shape parameter in y
     37    double sxy;                         ///< Shape parameter in xy
     38} psEllipseShape;
    5039
    51 // conversions between elliptical shape representations
    52 psEllipseMoments psEllipseAxesToMoments(psEllipseAxes axes);
    53 psEllipseAxes psEllipseMomentsToAxes(psEllipseMoments moments, double maxAR);
    54 psEllipseShape psEllipseAxesToShape(psEllipseAxes axes);
    55 psEllipseAxes psEllipseShapeToAxes(psEllipseShape shape, double maxAR);
     40/// Ellipse defined in terms of polarisations
     41typedef struct {
     42    double e0;                          ///< Scale (Mxx + Myy)
     43    double e1;                          ///< Polarization 1 (Mxx - Myy)
     44    double e2;                          ///< Polarization 1 (2Mxy)
     45} psEllipsePol;
    5646
    57 psEllipsePol psEllipseAxesToPol(psEllipseAxes axes);
    58 psEllipsePol psEllipseShapeToPol(psEllipseShape shape);
    59 psErrorCode psEllipsePolToAxes(const psEllipsePol pol, const float minMinorAxis, psEllipseAxes *axes);
     47// Conversions between elliptical shape representations
     48
     49/// Convert axes to moments representation
     50psEllipseMoments psEllipseAxesToMoments(psEllipseAxes axes ///< Axes of ellipse
     51                                        );
     52
     53/// Convert moments to axes representation
     54psEllipseAxes psEllipseMomentsToAxes(psEllipseMoments moments, ///< Moments of ellipse
     55                                     double maxAR ///< Maximum allowed axis ratio
     56                                     );
     57
     58/// Convert axes to shape representation
     59psEllipseShape psEllipseAxesToShape(psEllipseAxes axes ///< Axes of ellipse
     60                                    );
     61
     62/// Convert shape to axes representation
     63psEllipseAxes psEllipseShapeToAxes(psEllipseShape shape, ///< Shape of ellipse
     64                                   double maxAR ///< Maximum allowed axis ratio
     65                                   );
     66
     67/// Convert axes to polarisation representation
     68psEllipsePol psEllipseAxesToPol(psEllipseAxes axes ///< Axes of ellipse
     69                                );
     70
     71/// Convert shape to polarisation representation
     72psEllipsePol psEllipseShapeToPol(psEllipseShape shape ///< Shape of ellipse
     73                                 );
     74
     75/// Convert polarisation to axes representation
     76///
     77/// XXX This API goes against the PS convention of outputs being first.
     78psErrorCode psEllipsePolToAxes(const psEllipsePol pol, ///< Polarisation of ellipse
     79                               const float minMinorAxis, ///< Minimum allowed minor axis
     80                               psEllipseAxes *axes ///< Output ellipse axes
     81                               );
    6082
    6183/// @}
Note: See TracChangeset for help on using the changeset viewer.