Index: /trunk/psLib/src/astro/psCoord.c
===================================================================
--- /trunk/psLib/src/astro/psCoord.c	(revision 1285)
+++ /trunk/psLib/src/astro/psCoord.c	(revision 1285)
@@ -0,0 +1,104 @@
+/** @file  psCoord.c
+ *
+ *  @brief Contains basic coordinate transformation definitions and operations
+ *
+ *  This file defines the basic types for astronomical coordinate 
+ *  transformation
+ *
+ *  @ingroup AstroImage
+ *
+ *  @author George Gusciora, MHPCC
+ *
+ *  @version $Revision: 1.1 $ $Name: not supported by cvs2svn $
+ *  @date $Date: 2004-07-23 00:40:36 $
+ *
+ *  Copyright 2004 Maui High Performance Computing Center, University of Hawaii
+ */
+
+#include "psType.h"
+#include "psImage.h"
+#include "psArray.h"
+#include "psList.h"
+#include "psCoord.h"
+
+
+psPlane *psPlaneTransformApply(psPlane *out,
+                               const psPlaneTransform *transform,
+                               const psPlane *coords)
+{
+    return(NULL);
+}
+
+
+psPlane *psPlaneDistortApply(psPlane *out,
+                             const psPlaneDistort *transform,
+                             const psPlane *coords,
+                             float term3,
+                             float term4)
+{
+    return(NULL);
+}
+
+
+
+psSphereTransform *psSphereTransform(double NPlon,
+                                     double NPlat;
+                                     double ZP)
+{
+    return(NULL);
+}
+
+
+void p_psSphereTransformFree(psSphereTransform *trans)
+{
+    return(NULL);
+}
+
+
+
+
+psSphere *psSphereTransformApply(psSphere *out,
+                                 const psSphereTransform *transform,
+                                 const psSphere *coord)
+{
+    return(NULL);
+}
+
+
+psSphereTransform *psSphereTransformICRStoEcliptic(void)
+{
+    return(NULL);
+}
+
+psSphereTransform *psSphereTransformEcliptictoICRS(void)
+{
+    return(NULL);
+}
+
+psSphereTransform *psSphereTransformICRStoGalatic(void)
+{
+    return(NULL);
+}
+
+psSphereTransform *psSphereTransformGalatictoICRS(void)
+{
+    return(NULL);
+}
+
+
+psSphere *psSphereGetOffset(const psSphere *restrict position1,
+                            const psSphere *restrict position2,
+                            psSphereOffsetMode mode,
+                            psSphereOffsetUnit unit)
+{
+    return(NULL);
+}
+
+
+psSphere *psSphereSetOffset(const psSphere *restrict position,
+                            const psSphere *restrict offset,
+                            psSphereOffsetMode mode,
+                            psSphereOffsetUnit unit)
+{
+    return(NULL);
+}
Index: /trunk/psLib/src/astro/psCoord.h
===================================================================
--- /trunk/psLib/src/astro/psCoord.h	(revision 1285)
+++ /trunk/psLib/src/astro/psCoord.h	(revision 1285)
@@ -0,0 +1,140 @@
+/** @file  psCoord.h
+ *
+ *  @brief Contains basic coordinate transformation definitions and operations
+ *
+ *  This file defines the basic types for astronomical coordinate 
+ *  transformation
+ *
+ *  @ingroup AstroImage
+ *
+ *  @author George Gusciora, MHPCC
+ *
+ *  @version $Revision: 1.1 $ $Name: not supported by cvs2svn $
+ *  @date $Date: 2004-07-23 00:40:36 $
+ *
+ *  Copyright 2004 Maui High Performance Computing Center, University of Hawaii
+ */
+
+# ifndef PS_COORD_H
+# define PS_COORD_H
+
+#include "psType.h"
+#include "psImage.h"
+#include "psArray.h"
+#include "psList.h"
+#include "psFunctions.h"
+
+
+typedef struct
+{
+    double x;    ///< x position
+    double y;    ///< y position
+    double xErr;   ///< Error in x position
+    double yErr;   ///< Error in y position
+}
+psPlane;
+
+typedef struct
+{
+    double r;    ///< RA
+    double d;    ///< Dec
+    double rErr;   ///< Error in RA
+    double dErr;   ///< Error in Dec
+}
+psSphere;
+
+typedef struct
+{
+    psDPolynomial2D *x;
+    psDPolynomial2D *y;
+}
+psPlaneTransform;
+
+typedef struct
+{
+    psDPolynomial4D *x;
+    psDPolynomial4D *y;
+}
+psPlaneDistort;
+
+typedef struct
+{
+    double sinNPlon;   ///< sin of North Pole longitude
+    double cosNPlon;   ///< cos of North Pole longitude
+    double sinNPlat;   ///< sin of North Pole latitude
+    double cosNPlat;   ///< cos of North Pole latitude
+    double sinZP;   ///< sin of Forst PT os Ares lon
+    double cosZP;   ///< cos of Forst PT os Ares lon
+}
+psSphereTransform;
+
+psPlane *psPlaneTransformApply(psPlane *out,
+                               const psPlaneTransform *transform,
+                               const psPlane *coords);
+
+psPlane *psPlaneDistortApply(psPlane *out,
+                             const psPlaneDistort *transform,
+                             const psPlane *coords,
+                             float term3,
+                             float term4);
+
+
+psSphereTransform *psSphereTransform(double NPlon,
+                                     double NPlat;
+                                     double ZP);
+
+void p_psSphereTransformFree(psSphereTransform *trans);
+
+
+
+psSphere *psSphereTransformApply(psSphere *out,
+                                 const psSphereTransform *transform,
+                                 const psSphere *coord);
+
+psSphereTransform *psSphereTransformICRStoEcliptic(void);
+psSphereTransform *psSphereTransformEcliptictoICRS(void);
+psSphereTransform *psSphereTransformICRStoGalatic(void);
+psSphereTransform *psSphereTransformGalatictoICRS(void);
+
+typedef struct
+{
+    double R;    ///< Coordinates of projection center
+    double D;    ///< Coordinates of projection center
+    double Xs;    ///< plate-scale in X direction
+    double Ys;    ///< plate-scale in Y direction
+    psProjectionType type;  ///< Projection type
+}
+psProjection;
+
+typedef enum {
+    PS_PROJ_TAN,   ///< Tangent projection
+    PS_PROJ_SIN,   ///< Sine projection
+    PS_PROJ_AIT,   ///< Aitoff projection
+    PS_PROJ_PAR,   ///< Par projection
+    PS_PROJ_GLS,   ///< GLS projection
+    PS_PROJ_NTYPE   ///< Number of types; must be last.
+} psProjectionType;
+
+psSphere *psSphereGetOffset(const psSphere *restrict position1,
+                            const psSphere *restrict position2,
+                            psSphereOffsetMode mode,
+                            psSphereOffsetUnit unit);
+
+psSphere *psSphereSetOffset(const psSphere *restrict position,
+                            const psSphere *restrict offset,
+                            psSphereOffsetMode mode,
+                            psSphereOffsetUnit unit);
+
+typedef enum {
+    PS_SPHERICAL;
+    PS_LINEAR;
+} psSphereOffsetMode;
+
+typedef enum {
+    PS_ARCSEC;
+    PS_ARCMIN;
+    PS_DEGREE;
+    PS_RADIAN;
+} psSphereOffsetUnit;
+
+#endif
Index: /trunk/psLib/src/astronomy/Makefile
===================================================================
--- /trunk/psLib/src/astronomy/Makefile	(revision 1284)
+++ /trunk/psLib/src/astronomy/Makefile	(revision 1285)
@@ -5,8 +5,9 @@
 TARGET_STATIC  = libpslib.a
 include ../Makefile.Globals
-CFLAGS := $(CFLAGS_RELOC) -I. -I../sysUtils -I../collections -I.. -I../image
+CFLAGS := $(CFLAGS_RELOC) -I. -I../sysUtils -I../collections -I../dataManip -I.. -I../image
 
 SRC_OBJS = psTime.o \
-	psCCD.o
+	psCCD.o \
+   psCoord.o
 
 all: $(TARGET_STATIC)
Index: /trunk/psLib/src/astronomy/psCoord.c
===================================================================
--- /trunk/psLib/src/astronomy/psCoord.c	(revision 1285)
+++ /trunk/psLib/src/astronomy/psCoord.c	(revision 1285)
@@ -0,0 +1,104 @@
+/** @file  psCoord.c
+ *
+ *  @brief Contains basic coordinate transformation definitions and operations
+ *
+ *  This file defines the basic types for astronomical coordinate 
+ *  transformation
+ *
+ *  @ingroup AstroImage
+ *
+ *  @author George Gusciora, MHPCC
+ *
+ *  @version $Revision: 1.1 $ $Name: not supported by cvs2svn $
+ *  @date $Date: 2004-07-23 00:40:36 $
+ *
+ *  Copyright 2004 Maui High Performance Computing Center, University of Hawaii
+ */
+
+#include "psType.h"
+#include "psImage.h"
+#include "psArray.h"
+#include "psList.h"
+#include "psCoord.h"
+
+
+psPlane *psPlaneTransformApply(psPlane *out,
+                               const psPlaneTransform *transform,
+                               const psPlane *coords)
+{
+    return(NULL);
+}
+
+
+psPlane *psPlaneDistortApply(psPlane *out,
+                             const psPlaneDistort *transform,
+                             const psPlane *coords,
+                             float term3,
+                             float term4)
+{
+    return(NULL);
+}
+
+
+
+psSphereTransform *psSphereTransform(double NPlon,
+                                     double NPlat;
+                                     double ZP)
+{
+    return(NULL);
+}
+
+
+void p_psSphereTransformFree(psSphereTransform *trans)
+{
+    return(NULL);
+}
+
+
+
+
+psSphere *psSphereTransformApply(psSphere *out,
+                                 const psSphereTransform *transform,
+                                 const psSphere *coord)
+{
+    return(NULL);
+}
+
+
+psSphereTransform *psSphereTransformICRStoEcliptic(void)
+{
+    return(NULL);
+}
+
+psSphereTransform *psSphereTransformEcliptictoICRS(void)
+{
+    return(NULL);
+}
+
+psSphereTransform *psSphereTransformICRStoGalatic(void)
+{
+    return(NULL);
+}
+
+psSphereTransform *psSphereTransformGalatictoICRS(void)
+{
+    return(NULL);
+}
+
+
+psSphere *psSphereGetOffset(const psSphere *restrict position1,
+                            const psSphere *restrict position2,
+                            psSphereOffsetMode mode,
+                            psSphereOffsetUnit unit)
+{
+    return(NULL);
+}
+
+
+psSphere *psSphereSetOffset(const psSphere *restrict position,
+                            const psSphere *restrict offset,
+                            psSphereOffsetMode mode,
+                            psSphereOffsetUnit unit)
+{
+    return(NULL);
+}
Index: /trunk/psLib/src/astronomy/psCoord.h
===================================================================
--- /trunk/psLib/src/astronomy/psCoord.h	(revision 1285)
+++ /trunk/psLib/src/astronomy/psCoord.h	(revision 1285)
@@ -0,0 +1,140 @@
+/** @file  psCoord.h
+ *
+ *  @brief Contains basic coordinate transformation definitions and operations
+ *
+ *  This file defines the basic types for astronomical coordinate 
+ *  transformation
+ *
+ *  @ingroup AstroImage
+ *
+ *  @author George Gusciora, MHPCC
+ *
+ *  @version $Revision: 1.1 $ $Name: not supported by cvs2svn $
+ *  @date $Date: 2004-07-23 00:40:36 $
+ *
+ *  Copyright 2004 Maui High Performance Computing Center, University of Hawaii
+ */
+
+# ifndef PS_COORD_H
+# define PS_COORD_H
+
+#include "psType.h"
+#include "psImage.h"
+#include "psArray.h"
+#include "psList.h"
+#include "psFunctions.h"
+
+
+typedef struct
+{
+    double x;    ///< x position
+    double y;    ///< y position
+    double xErr;   ///< Error in x position
+    double yErr;   ///< Error in y position
+}
+psPlane;
+
+typedef struct
+{
+    double r;    ///< RA
+    double d;    ///< Dec
+    double rErr;   ///< Error in RA
+    double dErr;   ///< Error in Dec
+}
+psSphere;
+
+typedef struct
+{
+    psDPolynomial2D *x;
+    psDPolynomial2D *y;
+}
+psPlaneTransform;
+
+typedef struct
+{
+    psDPolynomial4D *x;
+    psDPolynomial4D *y;
+}
+psPlaneDistort;
+
+typedef struct
+{
+    double sinNPlon;   ///< sin of North Pole longitude
+    double cosNPlon;   ///< cos of North Pole longitude
+    double sinNPlat;   ///< sin of North Pole latitude
+    double cosNPlat;   ///< cos of North Pole latitude
+    double sinZP;   ///< sin of Forst PT os Ares lon
+    double cosZP;   ///< cos of Forst PT os Ares lon
+}
+psSphereTransform;
+
+psPlane *psPlaneTransformApply(psPlane *out,
+                               const psPlaneTransform *transform,
+                               const psPlane *coords);
+
+psPlane *psPlaneDistortApply(psPlane *out,
+                             const psPlaneDistort *transform,
+                             const psPlane *coords,
+                             float term3,
+                             float term4);
+
+
+psSphereTransform *psSphereTransform(double NPlon,
+                                     double NPlat;
+                                     double ZP);
+
+void p_psSphereTransformFree(psSphereTransform *trans);
+
+
+
+psSphere *psSphereTransformApply(psSphere *out,
+                                 const psSphereTransform *transform,
+                                 const psSphere *coord);
+
+psSphereTransform *psSphereTransformICRStoEcliptic(void);
+psSphereTransform *psSphereTransformEcliptictoICRS(void);
+psSphereTransform *psSphereTransformICRStoGalatic(void);
+psSphereTransform *psSphereTransformGalatictoICRS(void);
+
+typedef struct
+{
+    double R;    ///< Coordinates of projection center
+    double D;    ///< Coordinates of projection center
+    double Xs;    ///< plate-scale in X direction
+    double Ys;    ///< plate-scale in Y direction
+    psProjectionType type;  ///< Projection type
+}
+psProjection;
+
+typedef enum {
+    PS_PROJ_TAN,   ///< Tangent projection
+    PS_PROJ_SIN,   ///< Sine projection
+    PS_PROJ_AIT,   ///< Aitoff projection
+    PS_PROJ_PAR,   ///< Par projection
+    PS_PROJ_GLS,   ///< GLS projection
+    PS_PROJ_NTYPE   ///< Number of types; must be last.
+} psProjectionType;
+
+psSphere *psSphereGetOffset(const psSphere *restrict position1,
+                            const psSphere *restrict position2,
+                            psSphereOffsetMode mode,
+                            psSphereOffsetUnit unit);
+
+psSphere *psSphereSetOffset(const psSphere *restrict position,
+                            const psSphere *restrict offset,
+                            psSphereOffsetMode mode,
+                            psSphereOffsetUnit unit);
+
+typedef enum {
+    PS_SPHERICAL;
+    PS_LINEAR;
+} psSphereOffsetMode;
+
+typedef enum {
+    PS_ARCSEC;
+    PS_ARCMIN;
+    PS_DEGREE;
+    PS_RADIAN;
+} psSphereOffsetUnit;
+
+#endif
