IPP Software Navigation Tools IPP Links Communication Pan-STARRS Links

Changeset 626


Ignore:
Timestamp:
May 7, 2004, 5:12:03 PM (22 years ago)
Author:
Paul Price
Message:

More cleaning up after splitting psCoord. Added transformations between spherical coordinate systems.

Location:
trunk/archive/pslib/include
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/archive/pslib/include/psAstrom.h

    r623 r626  
    7979
    8080    psMetadata *md;                     ///< FPA-level metadata
    81     psDistortion *TPtoFP;               ///< Transformation term from
    82     psDistortion *FPtoTP;               ///< Transformation term from
     81    psPlaneDistortion *TPtoFP;          ///< Transformation term from
     82    psPlaneDistortion *FPtoTP;          ///< Transformation term from
    8383    psFixedPattern *pattern;            ///< Fixed pattern residual offsets
    8484    const psExposure *exp;              ///< information about this exposure
  • trunk/archive/pslib/include/psPosition.h

    r623 r626  
    6262/** Get offset (RA,Dec) on the sky between two positions position1 and position2 may not be identical */
    6363psSphereCoord *
    64 psGetOffset(const psSphereCoord *restrict position1, ///< Position 1
    65             const psSphereCoord *restrict position2, ///< Position 2
    66             const char *type            ///< Type of offset: Linear, Spherical/Arcsec, Spherical/Degreees etc
     64psSphereCoordGetOffset(const psSphereCoord *restrict position1, ///< Position 1
     65                       const psSphereCoord *restrict position2, ///< Position 2
     66                       const char *type         ///< Type of offset: Linear, Spherical/Arcsec,
     67                                                ///< Spherical/Degreees etc
    6768    );
    6869
    6970/** Apply an offset to a position */
    7071psSphereCoord *
    71 psApplyOffset(const psSphereCoord *restrict position, ///< Position
    72               const psSphereCoord *restrict offset, ///< Offset
    73               const char *type          ///< Type of offset: Linear, Spherical/Arcsec, Spherical/Degreees etc
     72psSphereCoordApplyOffset(const psSphereCoord *restrict position, ///< Position
     73                         const psSphereCoord *restrict offset, ///< Offset
     74                         const char *type               ///< Type of offset: Linear, Spherical/Arcsec,
     75                                                        ///< Spherical/Degreees etc
    7476    );
    7577
     
    103105/* Celestial coordinate conversions */
    104106
    105 /** Convert ICRS to Ecliptic */
    106 psSphereCoord *
    107 psCoordinatesItoE(const psSphereCoord *restrict coordinates ///< ICRS coordinates to convert
     107/** General spherical transformation */
     108typedef struct {
     109    double sin1, sin2, sin3, cos1, cos2, cos3; ///< Sines and cosines for transformation
     110} psSphereCoordTransformation;
     111
     112/** Constructor */
     113psSphereCoordTransformation *
     114psSphereCoordTransformationAlloc(double pole1, ///< First location of pole
     115                                 double pole2, ///< Second location of pole
     116                                 double rotation ///< Rotation between systems
    108117    );
    109118
    110 /** Convert Ecliptic to ICRS */
    111 psSphereCoord *
    112 psCoordinatesEtoI(const psSphereCoord *restrict coordinates ///< Ecliptic coordinates to convert
     119/** Destructor */
     120void psSphereCoordTranformationFree(psSphereCoordTransformation *trans ///< Transformation to destroy
    113121    );
    114122
    115 /** Convert ICRS to Galactic */
     123/** Apply general spherical transformation */
    116124psSphereCoord *
    117 psCoordinatesItoG(const psSphereCoord *restrict coordinates ///< ICRS coordinates to convert
     125psSphereCoordTransform(const psSphereCoord *coord, ///< Coordinates to convert
     126                       psSphereCoordSystem *sys ///< System to use to convert
    118127    );
    119128
    120 /** Convert Galactic to ICRS */
    121 psSphereCoord *
    122 psCoordinatesGtoI(const psSphereCoord *restrict coordinates ///< Galactic coordinates to convert
     129/** Return transformation structure to convert ICRS to Ecliptic */
     130psSphereCoordTransformation *psSphereCoordTransformationItoE(void);
     131
     132/** Return transformation structure to convert Ecliptic to ICRS */
     133psSphereCoordTransformation *psSphereCoordTransformationEtoI(void);
     134
     135/** Return transformation structure to convert ICRS to Galactic */
     136psSphereCoordTransformation *psSphereCoordTransformationItoG(void);
     137
     138/** Return transformation structure to convert Galactic to ICRS */
     139psSphereCoordTransformation *psSphereCoordTransformationGtoI(void);
     140
     141/***********************************************************************************************************/
     142
     143
     144/** Project spherical system onto a plane */
     145psPlaneCoord *
     146psCoordProject(const psSphereCoord *coord, ///< Spherical coordinates to project
     147               const char *projection   ///< Projection to use
    123148    );
    124149
    125 /***********************************************************************************************************/
     150/** Deproject plane onto spherical system */
     151psSphereCoord *
     152psCoordDeproject(const psPlaneCoord *coord, ///< Plane coordinates to deproject
     153                 const char *projection ///< Projection to use
     154    );
    126155
    127156/* \} */ // End of AstroGroup Functions
Note: See TracChangeset for help on using the changeset viewer.