IPP Software Navigation Tools IPP Links Communication Pan-STARRS Links

Changeset 275


Ignore:
Timestamp:
Mar 19, 2004, 6:28:23 PM (22 years ago)
Author:
Paul Price
Message:

Added first draft of astronomical positions section.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/doc/pslib/psLibSDRS.tex

    r271 r275  
    708708
    709709\textbf{[If the magnitude terms serve to check CTI, then shouldn't we
    710 put them in the cell <--> chip section?]}
     710put them in the cell $\leftrightarrow$ chip section?]}
    711711
    712712We require structures to contain each of the above transformations as
     
    993993
    994994\begin{figure}
    995 \psfig{file=coordinateFrames.ps,width=9in,angle=-90}
     995\psfig{file=coordinateFrames.ps,height=7in,angle=-90}
    996996\caption{The coordinate systems in the \PS{} IPP, and the relation
    997997between each by transformations contained in the appropriate
     
    10011001
    10021002\begin{figure}
    1003 \psfig{file=coordinateConv.ps,width=9in,angle=-90}
     1003\psfig{file=coordinateConv.ps,height=7in,angle=-90}
    10041004\caption{Conversion between coordinate systems by PSLib.}
    10051005\label{fig:cocoFunc}
     
    10981098                   psCoord *coord       ///< input Chip coordinate
    10991099                   );
     1100\end{verbatim}
    11001101
    11011102\begin{verbatim}
     
    11811182%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    11821183\subsection{Dates and times}
     1184
     1185\textbf{[May be deferred.]}
     1186
    11831187%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    11841188\subsection{Image handling}
    11851189%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1186 Gene
     1190Gene --- done.
    11871191
    11881192\subsection{Metadata}
    11891193%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1190 Gene
     1194Gene --- done.
    11911195
    11921196\subsection{Detector and sky positions}
     1197
     1198Both detector and sky positions will be used extensively in the IPP.
     1199Since these both contain two coordinates with their associated errors,
     1200we bundle these into a single generic structure, \code{psCoord},
     1201containing \code{union}s to handle the semantic differences.
     1202
     1203\begin{verbatim}
     1204/** A point in 2-D space, with errors.
     1205 */
     1206typedef struct {
     1207    union {
     1208        double x;                               //!< x position
     1209        double r;                               //!< x position
     1210    } x;
     1211    union {
     1212        double xErr;                            //!< Error in x position
     1213        double rErr;                            //!< Error in x position
     1214    } dx;
     1215    union {
     1216        double y;                               //!< y position
     1217        double d;                               //!< y position
     1218    } y;
     1219    union {
     1220        double yErr;                            //!< Error in y position
     1221        double dErr;                            //!< Error in y position
     1222    } dy;
     1223} psCoord;
     1224\end{verbatim}
     1225
     1226\subsubsection{Transformations}
     1227
     1228We specify two types of transforms between coordinate systems.  The
     1229first consists simply of two 2D polynomials to transform both
     1230components; this will be used to apply the coordinate transformations
     1231between Cells, Chips and the Focal Plane.  The second consists of two
     12324D polynomials; this will be used to apply position-, colour- and
     1233magnitude-dependent distortions between the Focal Plane and the
     1234Tangent Plane.
     1235
     1236\begin{verbatim}
     1237/** A polynomial transformation between coordinate frames.  This may be a linear relationship, or may
     1238 *  represent a higher-order transformation.
     1239 */
     1240typedef struct {
     1241    psDPolynomial2D *x;
     1242    psDPolynomial2D *y;
     1243} psCoordXform;
     1244\end{verbatim}
     1245
     1246\begin{verbatim}
     1247/** The optical distortion terms.  The lowest two terms are the x and y axis of the target system.  The higher
     1248 *  two terms represent magnitude and color terms.
     1249 */
     1250typedef struct {
     1251    psDPolynomial4D *x;
     1252    psDPolynomial4D *y;
     1253} psDistortion;
     1254\end{verbatim}
     1255
     1256We require corresponding functions to apply the transformations:
     1257
     1258\begin{verbatim}
     1259/** apply the coordinate transformation to the given coordinate */
     1260psCoord *psCoordXformApply (psCoordXform *frame, ///< coordinate transformation
     1261                            psCoord *coords) ///< input coordiate
     1262;
     1263\end{verbatim}
     1264
     1265\begin{verbatim}
     1266/** apply the optical distortion to the given coordinate, magnitude, color */
     1267psCoord *psDistortionApply (psDistortion *pattern, ///< optical distortion pattern
     1268psCoord *coords,                        ///< input coordinate
     1269float mag,                              ///< magnitude of object
     1270float color)                            ///< color of object
     1271;
     1272\end{verbatim}
     1273
     1274
     1275\subsubsection{Offsets}
     1276
     1277We require a function to calculate the offset between two positions on
     1278the sky, as well as a function to apply an offset to a position.
     1279
     1280\begin{verbatim}
     1281/** Get offset (RA,Dec) on the sky between two positions position1 and position2 may not be identical */
     1282psCoord *
     1283psGetOffset(const psCoord *restrict position1, //!< Position 1
     1284            const psCoord *restrict position2, //!< Position 2
     1285            char *system)
     1286;
     1287\end{verbatim}
     1288
     1289\begin{verbatim}
     1290/** Apply an offset to a position */
     1291psCoord *
     1292psApplyOffset(const psCoord *restrict position, //!< Position
     1293              const psCoord *restrict offset, //!< Offset
     1294              char *system)
     1295;
     1296\end{verbatim}
     1297
     1298
     1299\subsubsection{Positions of Major SS Objects}
     1300
     1301We require the ability to calculate the position of major Solar System
     1302objects, as well as Lunar phase.
     1303
     1304\begin{verbatim}
     1305/** Get Sun Position */
     1306psCoord *
     1307psGetSunPos(float mjd)                  //!< MJD to get position for
     1308;
     1309\end{verbatim}
     1310
     1311\begin{verbatim}
     1312/** Get Moon position */
     1313psCoord *
     1314psGetMoonPos(float mjd,                 //!< MJD to get position for
     1315             double latitude,           //!< Latitude for apparent position
     1316             double longitude)          //!< Longitude for apparent position
     1317;
     1318\end{verbatim}
     1319
     1320\begin{verbatim}
     1321/** Get Moon phase */
     1322float
     1323psGetMoonPhase(float mjd)               //!< MJD to get phase for
     1324;
     1325\end{verbatim}
     1326
     1327\begin{verbatim}
     1328/** Get Planet positions */
     1329psCoord *
     1330psGetSolarSystemPos(char *solarSystemObject, //!< Named S.S. object
     1331                    float mjd)          //!< MJD to get position for
     1332;
     1333\end{verbatim}
     1334
     1335\subsubsection{Celestial Coordinate Conversions}
     1336
     1337We need to be able to convert between ICRS, Galactic and Ecliptic
     1338coordinates.
     1339
     1340\begin{verbatim}
     1341/** Convert ICRS to Ecliptic */
     1342psCoord *
     1343psCoordinatesItoE(const psCoord *restrict coordinates) //!< ICRS coordinates to convert
     1344;
     1345\end{verbatim}
     1346
     1347\begin{verbatim}
     1348/** Convert Ecliptic to ICRS */
     1349psCoord *
     1350psCoordinatesEtoI(const psCoord *restrict coordinates) //!< Ecliptic coordinates to convert
     1351;
     1352\end{verbatim}
     1353
     1354\begin{verbatim}
     1355/** Convert ICRS to Galactic */
     1356psCoord *
     1357psCoordinatesItoG(const psCoord *restrict coordinates) //!< ICRS coordinates to convert
     1358;
     1359\end{verbatim}
     1360
     1361\begin{verbatim}
     1362/** Convert Galactic to ICRS */
     1363psCoord *
     1364psCoordinatesGtoI(const psCoord *restrict coordinates) //!< Galactic coordinates to convert
     1365;
     1366\end{verbatim}
     1367
     1368
    11931369%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    11941370\subsection{Astronomical objects}
    11951371
     1372\textbf{[Deferred.]}
     1373
    11961374%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    11971375\subsection{Photometry}
    11981376
    1199 Gene
     1377Gene --- done.
    12001378
    12011379%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
Note: See TracChangeset for help on using the changeset viewer.