Changeset 275
- Timestamp:
- Mar 19, 2004, 6:28:23 PM (22 years ago)
- File:
-
- 1 edited
-
trunk/doc/pslib/psLibSDRS.tex (modified) (5 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/doc/pslib/psLibSDRS.tex
r271 r275 708 708 709 709 \textbf{[If the magnitude terms serve to check CTI, then shouldn't we 710 put them in the cell <-->chip section?]}710 put them in the cell $\leftrightarrow$ chip section?]} 711 711 712 712 We require structures to contain each of the above transformations as … … 993 993 994 994 \begin{figure} 995 \psfig{file=coordinateFrames.ps, width=9in,angle=-90}995 \psfig{file=coordinateFrames.ps,height=7in,angle=-90} 996 996 \caption{The coordinate systems in the \PS{} IPP, and the relation 997 997 between each by transformations contained in the appropriate … … 1001 1001 1002 1002 \begin{figure} 1003 \psfig{file=coordinateConv.ps, width=9in,angle=-90}1003 \psfig{file=coordinateConv.ps,height=7in,angle=-90} 1004 1004 \caption{Conversion between coordinate systems by PSLib.} 1005 1005 \label{fig:cocoFunc} … … 1098 1098 psCoord *coord ///< input Chip coordinate 1099 1099 ); 1100 \end{verbatim} 1100 1101 1101 1102 \begin{verbatim} … … 1181 1182 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 1182 1183 \subsection{Dates and times} 1184 1185 \textbf{[May be deferred.]} 1186 1183 1187 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 1184 1188 \subsection{Image handling} 1185 1189 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 1186 Gene 1190 Gene --- done. 1187 1191 1188 1192 \subsection{Metadata} 1189 1193 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 1190 Gene 1194 Gene --- done. 1191 1195 1192 1196 \subsection{Detector and sky positions} 1197 1198 Both detector and sky positions will be used extensively in the IPP. 1199 Since these both contain two coordinates with their associated errors, 1200 we bundle these into a single generic structure, \code{psCoord}, 1201 containing \code{union}s to handle the semantic differences. 1202 1203 \begin{verbatim} 1204 /** A point in 2-D space, with errors. 1205 */ 1206 typedef 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 1228 We specify two types of transforms between coordinate systems. The 1229 first consists simply of two 2D polynomials to transform both 1230 components; this will be used to apply the coordinate transformations 1231 between Cells, Chips and the Focal Plane. The second consists of two 1232 4D polynomials; this will be used to apply position-, colour- and 1233 magnitude-dependent distortions between the Focal Plane and the 1234 Tangent 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 */ 1240 typedef 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 */ 1250 typedef struct { 1251 psDPolynomial4D *x; 1252 psDPolynomial4D *y; 1253 } psDistortion; 1254 \end{verbatim} 1255 1256 We require corresponding functions to apply the transformations: 1257 1258 \begin{verbatim} 1259 /** apply the coordinate transformation to the given coordinate */ 1260 psCoord *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 */ 1267 psCoord *psDistortionApply (psDistortion *pattern, ///< optical distortion pattern 1268 psCoord *coords, ///< input coordinate 1269 float mag, ///< magnitude of object 1270 float color) ///< color of object 1271 ; 1272 \end{verbatim} 1273 1274 1275 \subsubsection{Offsets} 1276 1277 We require a function to calculate the offset between two positions on 1278 the 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 */ 1282 psCoord * 1283 psGetOffset(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 */ 1291 psCoord * 1292 psApplyOffset(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 1301 We require the ability to calculate the position of major Solar System 1302 objects, as well as Lunar phase. 1303 1304 \begin{verbatim} 1305 /** Get Sun Position */ 1306 psCoord * 1307 psGetSunPos(float mjd) //!< MJD to get position for 1308 ; 1309 \end{verbatim} 1310 1311 \begin{verbatim} 1312 /** Get Moon position */ 1313 psCoord * 1314 psGetMoonPos(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 */ 1322 float 1323 psGetMoonPhase(float mjd) //!< MJD to get phase for 1324 ; 1325 \end{verbatim} 1326 1327 \begin{verbatim} 1328 /** Get Planet positions */ 1329 psCoord * 1330 psGetSolarSystemPos(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 1337 We need to be able to convert between ICRS, Galactic and Ecliptic 1338 coordinates. 1339 1340 \begin{verbatim} 1341 /** Convert ICRS to Ecliptic */ 1342 psCoord * 1343 psCoordinatesItoE(const psCoord *restrict coordinates) //!< ICRS coordinates to convert 1344 ; 1345 \end{verbatim} 1346 1347 \begin{verbatim} 1348 /** Convert Ecliptic to ICRS */ 1349 psCoord * 1350 psCoordinatesEtoI(const psCoord *restrict coordinates) //!< Ecliptic coordinates to convert 1351 ; 1352 \end{verbatim} 1353 1354 \begin{verbatim} 1355 /** Convert ICRS to Galactic */ 1356 psCoord * 1357 psCoordinatesItoG(const psCoord *restrict coordinates) //!< ICRS coordinates to convert 1358 ; 1359 \end{verbatim} 1360 1361 \begin{verbatim} 1362 /** Convert Galactic to ICRS */ 1363 psCoord * 1364 psCoordinatesGtoI(const psCoord *restrict coordinates) //!< Galactic coordinates to convert 1365 ; 1366 \end{verbatim} 1367 1368 1193 1369 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 1194 1370 \subsection{Astronomical objects} 1195 1371 1372 \textbf{[Deferred.]} 1373 1196 1374 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 1197 1375 \subsection{Photometry} 1198 1376 1199 Gene 1377 Gene --- done. 1200 1378 1201 1379 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
Note:
See TracChangeset
for help on using the changeset viewer.
