Changeset 300 for trunk/doc/pslib/psLibSDRS.tex
- Timestamp:
- Mar 23, 2004, 5:42:51 PM (22 years ago)
- File:
-
- 1 edited
-
trunk/doc/pslib/psLibSDRS.tex (modified) (68 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/doc/pslib/psLibSDRS.tex
r299 r300 1 %%% $Id: psLibSDRS.tex,v 1.1 0 2004-03-24 03:41:57price Exp $1 %%% $Id: psLibSDRS.tex,v 1.11 2004-03-24 03:42:51 price Exp $ 2 2 \documentclass[panstarrs]{panstarrs} 3 3 %\documentclass[panstarrs]{panstarrs} … … 140 140 \begin{verbatim} 141 141 typedef struct { 142 const void *magic0; //!< initialised to p_psMEMMAGIC143 const unsigned long id; //!< a unique ID for this allocation144 const char *file; //!< set from __FILE__ in e.g. p_psAlloc145 const int lineno; //!< set from __LINE__ in e.g. p_psAlloc146 int refCounter; //!< how many times pointer is referenced147 const void *magic; //!< initialised to p_psMEMMAGIC142 const void *magic0; //!< initialised to p_psMEMMAGIC 143 const unsigned long id; //!< a unique ID for this allocation 144 const char *file; //!< set from __FILE__ in e.g. p_psAlloc 145 const int lineno; //!< set from __LINE__ in e.g. p_psAlloc 146 int refCounter; //!< how many times pointer is referenced 147 const void *magic; //!< initialised to p_psMEMMAGIC 148 148 } psMemBlock; 149 149 \end{verbatim} … … 160 160 \begin{verbatim} 161 161 /// Memory allocation. Underlying private function called by macro psAlloc. 162 void *p_psAlloc(size_t size, //!< Size required163 const char *file,//!< File of call164 int lineno//!< Line number of call165 );162 void *p_psAlloc(size_t size, //!< Size required 163 const char *file, //!< File of call 164 int lineno //!< Line number of call 165 ); 166 166 167 167 /// Memory re-allocation. Underlying private function called by macro psRealloc. 168 void *p_psRealloc(void *ptr, //!< Pointer to re-allocate169 size_t size,//!< Size required170 const char *file,//!< File of call171 int lineno//!< Line number of call172 );168 void *p_psRealloc(void *ptr, //!< Pointer to re-allocate 169 size_t size, //!< Size required 170 const char *file, //!< File of call 171 int lineno //!< Line number of call 172 ); 173 173 174 174 /// Free memory. Underlying private function called by macro psFree. 175 void p_psFree(void *ptr, //!< Pointer to free176 const char *file,//!< File of call177 int lineno//!< Line number of call178 );175 void p_psFree(void *ptr, //!< Pointer to free 176 const char *file, //!< File of call 177 int lineno //!< Line number of call 178 ); 179 179 180 180 /// Memory allocation. psAlloc sends file and line number to p_psAlloc. … … 263 263 /// Set callback for problems 264 264 psMemProblemCallback psMemProblemSetCB(psMemProblemCallback func //!< Function to run 265 );265 ); 266 266 267 267 /// Set callback for out-of-memory 268 268 psMemExhaustedCallback psMemExhaustedSetCB(psMemExhaustedCallback func //!< Function to run 269 );269 ); 270 270 271 271 /// Set call back for when a particular memory block is allocated 272 272 psMemCallback psMemAllocateSetCB(psMemCallback func //!< Function to run 273 );273 ); 274 274 275 275 /// Set call back for when a particular memory block is freed 276 276 psMemCallback psMemFreeSetCB(psMemCallback func 277 );277 ); 278 278 279 279 /// get next memory ID … … 281 281 282 282 /// set p_psMemAllocateID to id 283 long psMemSetAllocateID(long id //!< ID to set284 );283 long psMemSetAllocateID(long id //!< ID to set 284 ); 285 285 286 286 /// set p_psMemFreeID to id 287 long psMemSetFreeID(long id //!< ID to set288 );287 long psMemSetFreeID(long id //!< ID to set 288 ); 289 289 290 290 /// Check for memory leaks 291 int psMemCheckLeaks(int id0, //!< don't list blocks with id < id0292 psMemBlock ***arr,//!< pointer to array of pointers to leaked blocks, or NULL293 FILE *fd//!< print list of leaks to fd (or NULL)294 );291 int psMemCheckLeaks(int id0, //!< don't list blocks with id < id0 292 psMemBlock ***arr, //!< pointer to array of pointers to leaked blocks, or NULL 293 FILE *fd //!< print list of leaks to fd (or NULL) 294 ); 295 295 /// Check for memory corruption 296 296 int psMemCheckCorruption(int abort_on_error //!< Abort on detecting corruption? 297 );297 ); 298 298 \end{verbatim} 299 299 … … 400 400 \begin{verbatim} 401 401 /// Return reference counter 402 int psMemGetRefCounter(void *vptr //!< Pointer to get refCounter for403 );402 int psMemGetRefCounter(void *vptr //!< Pointer to get refCounter for 403 ); 404 404 405 405 /// Increment reference counter and return the pointer 406 void *psMemIncrRefCounter(void *vptr //!< Pointer to increment refCounter, and return407 );406 void *psMemIncrRefCounter(void *vptr //!< Pointer to increment refCounter, and return 407 ); 408 408 409 409 /// Decrement reference counter and return the pointer 410 void *psMemDecrRefCounter(void *vptr //!< Pointer to decrement refCounter, and return411 );410 void *psMemDecrRefCounter(void *vptr //!< Pointer to decrement refCounter, and return 411 ); 412 412 \end{verbatim} 413 413 … … 487 487 488 488 /// Send a trace message 489 void p_psTrace(const char *facil, ///< facilty of interest490 int level,///< desired trace level491 ...///< trace message arguments489 void p_psTrace(const char *facil, ///< facilty of interest 490 int level, ///< desired trace level 491 ... ///< trace message arguments 492 492 ); 493 493 494 494 /// Set trace level 495 int psSetTraceLevel(const char *facil, ///< facilty of interest496 int level///< desired trace level495 int psSetTraceLevel(const char *facil, ///< facilty of interest 496 int level ///< desired trace level 497 497 ); 498 498 499 499 /// Get the trace level 500 int psGetTraceLevel(const char *name ///< facilty of interest500 int psGetTraceLevel(const char *name ///< facilty of interest 501 501 ); 502 502 … … 652 652 653 653 /// Sets the log destination 654 int psSetLogDestination(int dest); 654 int psSetLogDestination(int dest); 655 655 656 656 /// Sets the log level 657 int psSetLogLevel(int level); 657 int psSetLogLevel(int level); 658 658 659 659 /// sets the log format 660 void psSetLogFormat(const char *fmt); 660 void psSetLogFormat(const char *fmt); 661 661 \end{verbatim} 662 662 … … 728 728 /** Doubly-linked list element */ 729 729 typedef struct psDlistElem { 730 struct psDlistElem *prev; //!< previous link in list731 struct psDlistElem *next; //!< next link in list732 void *data; //!< real data item730 struct psDlistElem *prev; //!< previous link in list 731 struct psDlistElem *next; //!< next link in list 732 void *data; //!< real data item 733 733 } psDlistElem; 734 734 735 735 /** Doubly-linked list */ 736 736 typedef struct { 737 int n; //!< number of elements on list738 psDlistElem *head; //!< first element on list (may be NULL)739 psDlistElem *tail; //!< last element on list (may be NULL)740 psDlistElem *iter; //!< iteration cursor737 int n; //!< number of elements on list 738 psDlistElem *head; //!< first element on list (may be NULL) 739 psDlistElem *tail; //!< last element on list (may be NULL) 740 psDlistElem *iter; //!< iteration cursor 741 741 } psDlist; 742 742 743 743 /** Special values of index into list */ 744 744 enum { 745 PS_DLIST_HEAD = 0, //!< at head746 PS_DLIST_TAIL = -1, //!< at tail747 PS_DLIST_UNKNOWN = -2, //!< unknown position748 PS_DLIST_PREV = -3, //!< previous element749 PS_DLIST_NEXT = -4 //!< next element745 PS_DLIST_HEAD = 0, //!< at head 746 PS_DLIST_TAIL = -1, //!< at tail 747 PS_DLIST_UNKNOWN = -2, //!< unknown position 748 PS_DLIST_PREV = -3, //!< previous element 749 PS_DLIST_NEXT = -4 //!< next element 750 750 }; 751 751 \end{verbatim} … … 755 755 \begin{verbatim} 756 756 /** Constructor */ 757 psDlist *psDlistAlloc(void *data //!< initial data item; may be NULL758 );757 psDlist *psDlistAlloc(void *data //!< initial data item; may be NULL 758 ); 759 759 760 760 /** Destructor */ 761 void psDlistFree(psDlist *list, //!< list to destroy762 void (*elemFree)(void *) //!< destructor for data on list763 );761 void psDlistFree(psDlist *list, //!< list to destroy 762 void (*elemFree)(void *) //!< destructor for data on list 763 ); 764 764 765 765 /**** List maintainence functions ****/ 766 766 767 767 /** Add to list */ 768 psDlist *psDlistAdd(psDlist *list, //!< list to add to (may be NULL)769 void *data,//!< data item to add770 int where//!< index, PS_DLIST_HEAD, or PS_DLIST_TAIL771 );768 psDlist *psDlistAdd(psDlist *list, //!< list to add to (may be NULL) 769 void *data, //!< data item to add 770 int where //!< index, PS_DLIST_HEAD, or PS_DLIST_TAIL 771 ); 772 772 773 773 /** Append to a list */ 774 psDlist *psDlistAppend(psDlist *list, //!< list to append to (may be NULL)775 void *data//!< data item to add776 );774 psDlist *psDlistAppend(psDlist *list, //!< list to append to (may be NULL) 775 void *data //!< data item to add 776 ); 777 777 778 778 /** Remove from a list */ 779 void *psDlistRemove(psDlist *list, //!< list to remove element from780 void *data,//!< data item to remove781 int which//!< index of item, or PS_DLIST_UNKNOWN, or PS_DLIST_NEXT, or782 //!< PS_DLIST_PREV783 );779 void *psDlistRemove(psDlist *list, //!< list to remove element from 780 void *data, //!< data item to remove 781 int which //!< index of item, or PS_DLIST_UNKNOWN, or PS_DLIST_NEXT, or 782 //!< PS_DLIST_PREV 783 ); 784 784 /** Retrieve from a list */ 785 void *psDlistGet(const psDlist *list, //!< list to retrieve element from786 int which//!< index of item, or PS_DLIST_NEXT, or PS_DLIST_PREV787 );785 void *psDlistGet(const psDlist *list, //!< list to retrieve element from 786 int which //!< index of item, or PS_DLIST_NEXT, or PS_DLIST_PREV 787 ); 788 788 789 789 /** Convert doubly-linked list to an array */ 790 790 psVoidPtrArray *psDlistToArray(psDlist *dlist //!< List to convert 791 );791 ); 792 792 793 793 /** Convert array to a doubly-linked list */ 794 794 psDlist *psArrayToDlist(psVoidPtrArray *arr //!< Array to convert 795 );795 ); 796 796 \end{verbatim} 797 797 … … 810 810 \begin{verbatim} 811 811 /** Set the iterator */ 812 void psDlistSetIterator(psDlist *list, //!< list to retrieve element from813 int where,//!< index, PS_DLIST_HEAD, or PS_DLIST_TAIL814 int which//!< index of item, or PS_DLIST_UNKNOWN, or PS_DLIST_NEXT, or815 //!< PS_DLIST_PREV816 );812 void psDlistSetIterator(psDlist *list, //!< list to retrieve element from 813 int where, //!< index, PS_DLIST_HEAD, or PS_DLIST_TAIL 814 int which //!< index of item, or PS_DLIST_UNKNOWN, or PS_DLIST_NEXT, or 815 //!< PS_DLIST_PREV 816 ); 817 817 818 818 /** Get next element */ 819 void *psDlistGetNext(psDlist *list, //!< list to retrieve element from820 int which//!< index of item, or PS_DLIST_UNKNOWN, or PS_DLIST_NEXT, or821 //!< PS_DLIST_PREV822 );819 void *psDlistGetNext(psDlist *list, //!< list to retrieve element from 820 int which //!< index of item, or PS_DLIST_UNKNOWN, or PS_DLIST_NEXT, or 821 //!< PS_DLIST_PREV 822 ); 823 823 824 824 /** Get previous element */ 825 void *psDlistGetPrev(psDlist *list, //!< list to retrieve element from826 int which//!< index of item, or PS_DLIST_UNKNOWN, or PS_DLIST_NEXT, or827 //!< PS_DLIST_PREV828 );825 void *psDlistGetPrev(psDlist *list, //!< list to retrieve element from 826 int which //!< index of item, or PS_DLIST_UNKNOWN, or PS_DLIST_NEXT, or 827 //!< PS_DLIST_PREV 828 ); 829 829 \end{verbatim} 830 830 in which the \code{where} argument must be \code{PS_DLIST_HEAD} or \code{PS_DLIST_TAIL}, … … 1018 1018 1019 1019 \begin{verbatim} 1020 typedef struct HashTable psHash; ///< Opaque type for a hash table1020 typedef struct HashTable psHash; ///< Opaque type for a hash table 1021 1021 1022 1022 /// Allocate hash buckets in table. 1023 psHash *psHashAlloc(int nbucket ///< initial number of buckets1023 psHash *psHashAlloc(int nbucket ///< initial number of buckets 1024 1024 ); 1025 1025 1026 1026 /// Free hash buckets from table. 1027 void psHashFree(psHash *table, ///< hash table to be freed1028 void (*itemFree)(void *item) ///< how to free hashed data; or NULL1027 void psHashFree(psHash *table, ///< hash table to be freed 1028 void (*itemFree)(void *item) ///< how to free hashed data; or NULL 1029 1029 ); 1030 1030 1031 1031 /// Insert entry into table. 1032 void *psHashInsert(psHash *table, ///< table to insert in1033 const char *key,///< key to use1034 void *data,///< data to insert1035 void (*itemFree)(void *item) ///< how to free hashed data; or NULL1032 void *psHashInsert(psHash *table, ///< table to insert in 1033 const char *key, ///< key to use 1034 void *data, ///< data to insert 1035 void (*itemFree)(void *item) ///< how to free hashed data; or NULL 1036 1036 ); 1037 1037 1038 1038 /// Lookup key in table. 1039 void *psHashLookup(psHash *table, ///< table to lookup key in1040 const char *key///< key to lookup1039 void *psHashLookup(psHash *table, ///< table to lookup key in 1040 const char *key ///< key to lookup 1041 1041 ); 1042 1042 1043 1043 /// Remove key from table. 1044 void *psHashRemove(psHash *table, ///< table to lookup key in1045 const char *key///< key to lookup1044 void *psHashRemove(psHash *table, ///< table to lookup key in 1045 const char *key ///< key to lookup 1046 1046 ); 1047 1047 \end{verbatim} … … 1075 1075 1076 1076 /// Prints an error message and aborts 1077 void psAbort(const char *name, ///< Category of code that caused the abort1078 const char *fmt,///< Format1079 ...///< Extra arguments to use format1080 );1077 void psAbort(const char *name, ///< Category of code that caused the abort 1078 const char *fmt, ///< Format 1079 ... ///< Extra arguments to use format 1080 ); 1081 1081 1082 1082 /// Prints an error message and doesn't abort 1083 void psError(const char *name, ///< Category of code that caused the abort1084 const char *fmt,///< Format1085 ...///< Extra arguments to use format1083 void psError(const char *name, ///< Category of code that caused the abort 1084 const char *fmt, ///< Format 1085 ... ///< Extra arguments to use format 1086 1086 ); 1087 1087 1088 1088 /// Allocates and returns a copy of a string 1089 char *psStringCopy(const char *str ///< string to copy1089 char *psStringCopy(const char *str ///< string to copy 1090 1090 ); 1091 1091 1092 1092 /// Allocates nChar and returns a copy of the string or segment 1093 char *psStringNCopy(const char *str, ///< string to copy1094 int nChar//!< Number of characters (including \0 )1093 char *psStringNCopy(const char *str, ///< string to copy 1094 int nChar //!< Number of characters (including \0 ) 1095 1095 ); 1096 1096 \end{verbatim} … … 1247 1247 /** private structure used to pass constant values into the math operators. */ 1248 1248 typedef struct { 1249 psType type; ///< data type information1250 union { 1251 int i;///< integer value entry1252 float f;///< float value entry1253 double d;///< double value entry1254 complex float c;///< complex value entry1249 psType type; ///< data type information 1250 union { 1251 int i; ///< integer value entry 1252 float f; ///< float value entry 1253 double d; ///< double value entry 1254 complex float c; ///< complex value entry 1255 1255 } val; 1256 1256 } p_psScalar; … … 1708 1708 /// basic image data structure. 1709 1709 typedef struct psImage { 1710 psType type; ///< image data type and dimension1711 int nx, ny; ///< size of image1712 int x0, y0; ///< data region relative to parent1710 psType type; ///< image data type and dimension 1711 int nx, ny; ///< size of image 1712 int x0, y0; ///< data region relative to parent 1713 1713 union { 1714 psF32 **rows;///< == rows_f321715 psS8 **rows_s8;///< pointers to psS8 data1716 psS16 **rows_s16;///< pointers to psS16 data1717 psS32 **rows_s32;///< pointers to psS32 data1718 psU8 **rows_u8;///< pointers to psU8 data1719 psU16 **rows_u16;///< pointers to psU16 data1720 psU32 **rows_u32;///< pointers to psU32 data1721 psF32 **rows_f32;///< pointers to psF32 data1722 psF64 **rows_f64;///< pointers to psF64 data1723 psComplex **rows_complex;//!< pointers to psComplex data1714 psF32 **rows; ///< == rows_f32 1715 psS8 **rows_s8; ///< pointers to psS8 data 1716 psS16 **rows_s16; ///< pointers to psS16 data 1717 psS32 **rows_s32; ///< pointers to psS32 data 1718 psU8 **rows_u8; ///< pointers to psU8 data 1719 psU16 **rows_u16; ///< pointers to psU16 data 1720 psU32 **rows_u32; ///< pointers to psU32 data 1721 psF32 **rows_f32; ///< pointers to psF32 data 1722 psF64 **rows_f64; ///< pointers to psF64 data 1723 psComplex **rows_complex; //!< pointers to psComplex data 1724 1724 } rows; 1725 psImage *parent; ///< parent, if a subimage1726 int Nchildren; ///< number of subimages1727 psImage *children; ///< children of this region; array of Nchildren pointers1725 psImage *parent; ///< parent, if a subimage 1726 int Nchildren; ///< number of subimages 1727 psImage *children; ///< children of this region; array of Nchildren pointers 1728 1728 } psImage; 1729 1729 \end{verbatim} … … 1762 1762 /// Create a subimage of the specified area. 1763 1763 psImage * 1764 psImageSubset(psImage *out, //!< Subimage to return, or NULL1765 const psImage *image,///< parent image1766 int nx,///< subimage width (<= image.nx - x0)1767 int ny,///< subimage width (<= image.ny - y0)1768 int x0,///< subimage x-offset (0 <= x0 < nx)1769 int y0///< subimage y-offset (0 <= y0 < ny)1764 psImageSubset(psImage *out, //!< Subimage to return, or NULL 1765 const psImage *image, ///< parent image 1766 int nx, ///< subimage width (<= image.nx - x0) 1767 int ny, ///< subimage width (<= image.ny - y0) 1768 int x0, ///< subimage x-offset (0 <= x0 < nx) 1769 int y0 ///< subimage y-offset (0 <= y0 < ny) 1770 1770 ); 1771 1771 \end{verbatim} … … 1798 1798 \begin{verbatim} 1799 1799 psImage * 1800 psImageCopy(psImage *output, ///< target structure for output image data1801 const psImage *input///< copy this image1800 psImageCopy(psImage *output, ///< target structure for output image data 1801 const psImage *input ///< copy this image 1802 1802 ); 1803 1803 \end{verbatim} … … 1813 1813 \begin{verbatim} 1814 1814 psFloatArray * 1815 psImageSlice(psFloatArray *out, //!< Vector to output, or NULL1816 const psImage *input,///< extract slice from this image1817 int x,///< starting x coord of region to slice1818 int y,///< starting y coord of region to slice1819 int nx,///< width of region in x1820 int ny,///< width of region in y1821 int direction,///< direction of vector along slice1822 const psStats *stats///< defines statistics used to find output values1815 psImageSlice(psFloatArray *out, //!< Vector to output, or NULL 1816 const psImage *input, ///< extract slice from this image 1817 int x, ///< starting x coord of region to slice 1818 int y, ///< starting y coord of region to slice 1819 int nx, ///< width of region in x 1820 int ny, ///< width of region in y 1821 int direction, ///< direction of vector along slice 1822 const psStats *stats ///< defines statistics used to find output values 1823 1823 ); 1824 1824 \end{verbatim} … … 1835 1835 \begin{verbatim} 1836 1836 psFloatArray * 1837 psImageCut(psFloatArray *out, //!< Vector to output, or NULL1838 const psImage *input,///< extract cut from this image1839 float xs,///< starting x coord of cut1840 float ys,///< starting y coord of cut1841 float xe,///< ending x coord of cut1842 float ye,///< ending y coord of cut1843 float dw,///< width of cut1844 const psStats *stats///< defines statistics used to find output values1837 psImageCut(psFloatArray *out, //!< Vector to output, or NULL 1838 const psImage *input, ///< extract cut from this image 1839 float xs, ///< starting x coord of cut 1840 float ys, ///< starting y coord of cut 1841 float xe, ///< ending x coord of cut 1842 float ye, ///< ending y coord of cut 1843 float dw, ///< width of cut 1844 const psStats *stats ///< defines statistics used to find output values 1845 1845 ); 1846 1846 \end{verbatim} … … 1856 1856 \begin{verbatim} 1857 1857 psFloatArray * 1858 psImageRadialCut(psFloatArray *out, //!< Vector to output, or NULL1859 const psImage *input,///< extract profile from this image1860 float x,///< center x coord of annulii1861 float y,///< center y coord of annulii1862 float radius,///< outer radius of annulii1863 float dr,///< radial step size of annulii1864 const psStats *stats///< defines statistics used to find output values1858 psImageRadialCut(psFloatArray *out, //!< Vector to output, or NULL 1859 const psImage *input, ///< extract profile from this image 1860 float x, ///< center x coord of annulii 1861 float y, ///< center y coord of annulii 1862 float radius, ///< outer radius of annulii 1863 float dr, ///< radial step size of annulii 1864 const psStats *stats ///< defines statistics used to find output values 1865 1865 ); 1866 1866 \end{verbatim} … … 1875 1875 \begin{verbatim} 1876 1876 psImage * 1877 psImageRebin(psImage *out, //!< Image to output, or NULL1878 const psImage *input,///< rebin this image1879 float scale,///< rebinning scale: doutput = scale*dinput1880 const psStats *stats///< defines statistics used to find output values1877 psImageRebin(psImage *out, //!< Image to output, or NULL 1878 const psImage *input, ///< rebin this image 1879 float scale, ///< rebinning scale: doutput = scale*dinput 1880 const psStats *stats ///< defines statistics used to find output values 1881 1881 ); 1882 1882 \end{verbatim} … … 1890 1890 \begin{verbatim} 1891 1891 psImage * 1892 psImageRotate(psImage *out, //!< Image to output, or NULL1893 const psImage *input,///< rotate this image1894 float angle///< rotate by this amount anti-clockwise (degrees)1892 psImageRotate(psImage *out, //!< Image to output, or NULL 1893 const psImage *input, ///< rotate this image 1894 float angle ///< rotate by this amount anti-clockwise (degrees) 1895 1895 ); 1896 1896 \end{verbatim} … … 1904 1904 \begin{verbatim} 1905 1905 psImage * 1906 psImageShift(psImage *out, //!< Image to output, or NULL1907 const psImage *input,///< shift this image1908 float dx,///< shift by this amount in x1909 float dy,///< shift by this amount in y1910 float exposed///< set exposed pixels to this value1906 psImageShift(psImage *out, //!< Image to output, or NULL 1907 const psImage *input, ///< shift this image 1908 float dx, ///< shift by this amount in x 1909 float dy, ///< shift by this amount in y 1910 float exposed ///< set exposed pixels to this value 1911 1911 ); 1912 1912 \end{verbatim} … … 1917 1917 \begin{verbatim} 1918 1918 psImage * 1919 psImageRoll(psImage *out, //!< Image to output, or NULL1920 const psImage *input,///< roll this image1921 int dx,///< roll this amount in x1922 int dy///< roll this amount in y1919 psImageRoll(psImage *out, //!< Image to output, or NULL 1920 const psImage *input, ///< roll this image 1921 int dx, ///< roll this amount in x 1922 int dy ///< roll this amount in y 1923 1923 ); 1924 1924 \end{verbatim} … … 1928 1928 \begin{verbatim} 1929 1929 psStats * 1930 psImageGetStats(const psImage *input, ///< image (or subimage) to calculate stats1931 psStats *stats///< defines statistics to be calculated & target1930 psImageGetStats(const psImage *input, ///< image (or subimage) to calculate stats 1931 psStats *stats ///< defines statistics to be calculated & target 1932 1932 ); 1933 1933 \end{verbatim} … … 1937 1937 \begin{verbatim} 1938 1938 psHistogram * 1939 psImageHistogram(psHistogram *hist, ///< input histogram description & target1940 const psImage *input///< determine histogram of this image1939 psImageHistogram(psHistogram *hist, ///< input histogram description & target 1940 const psImage *input ///< determine histogram of this image 1941 1941 ); 1942 1942 \end{verbatim} … … 1948 1948 psPolynomial2D * 1949 1949 psImageFitPolynomial(const psImage *input, ///< image to fit 1950 psPolynomial2D *coeffs ///< coefficient structure carries in desired terms & target1950 psPolynomial2D *coeffs ///< coefficient structure carries in desired terms & target 1951 1951 ); 1952 1952 \end{verbatim} … … 1959 1959 int 1960 1960 psImageEvalPolynomial(const psImage *input, ///< image to fit 1961 const psPolynomial2D *coeffs ///< coefficient structure carries in desired terms1961 const psPolynomial2D *coeffs ///< coefficient structure carries in desired terms 1962 1962 ); 1963 1963 \end{verbatim} … … 1979 1979 \begin{verbatim} 1980 1980 psImage * 1981 psImageReadSection(psImage *output, ///< place data in this structure for output1982 int x,///< starting x coord of region1983 int y,///< starting y coord of region1984 int nx,///< x size of region (-1 for full range)1985 int ny,///< y size of region (-1 for full range)1986 int z,///< plane of interest1987 const char *extname,///< MEF extension name ("PHU" for primary header)1988 int extnum,///< MEF extension number (-1 for "PHU", 0 : Nextend - 1)1989 const char *filename///< file to read data from1981 psImageReadSection(psImage *output, ///< place data in this structure for output 1982 int x, ///< starting x coord of region 1983 int y, ///< starting y coord of region 1984 int nx, ///< x size of region (-1 for full range) 1985 int ny, ///< y size of region (-1 for full range) 1986 int z, ///< plane of interest 1987 const char *extname, ///< MEF extension name ("PHU" for primary header) 1988 int extnum, ///< MEF extension number (-1 for "PHU", 0 : Nextend - 1) 1989 const char *filename ///< file to read data from 1990 1990 ); 1991 1991 \end{verbatim} … … 1996 1996 \begin{verbatim} 1997 1997 psImage * 1998 psImageFReadSection(psImage *output, ///< place data in this structure for output1999 int x, ///< starting x coord of region2000 int y, ///< starting y coord of region2001 int dx, ///< x size of region (-1 for full range)2002 int dy, ///< y size of region (-1 for full range)2003 int z, ///< plane of interest2004 const char *extname, ///< MEF extension name ("PHU" for primary header)2005 int extnum,///< MEF extension number (-1 for "PHU", 0 : Nextend - 1)2006 FILE *f ///< file descriptor to read data from1998 psImageFReadSection(psImage *output, ///< place data in this structure for output 1999 int x, ///< starting x coord of region 2000 int y, ///< starting y coord of region 2001 int dx, ///< x size of region (-1 for full range) 2002 int dy, ///< y size of region (-1 for full range) 2003 int z, ///< plane of interest 2004 const char *extname, ///< MEF extension name ("PHU" for primary header) 2005 int extnum, ///< MEF extension number (-1 for "PHU", 0 : Nextend - 1) 2006 FILE *f ///< file descriptor to read data from 2007 2007 ); 2008 2008 \end{verbatim} … … 2019 2019 psImage * 2020 2020 psImageWriteSection(psImage *input, ///< image to write out 2021 int x, ///< starting x coord of region2022 int y, ///< starting y coord of region2023 int z, ///< plane of interest2024 const char *extname, ///< MEF extension name ("PHU" for primary header)2025 int extnum,///< MEF extension number (-1 for "PHU", 0 : Nextend - 1)2026 const char *filename ///< file to write data to2021 int x, ///< starting x coord of region 2022 int y, ///< starting y coord of region 2023 int z, ///< plane of interest 2024 const char *extname, ///< MEF extension name ("PHU" for primary header) 2025 int extnum, ///< MEF extension number (-1 for "PHU", 0 : Nextend - 1) 2026 const char *filename ///< file to write data to 2027 2027 ); 2028 2028 \end{verbatim} … … 2031 2031 \begin{verbatim} 2032 2032 psImage * 2033 psImageFWriteSection(psImage *input, ///< image to write out2034 int x, ///< starting x coord of region2035 int y, ///< starting y coord of region2036 int z, ///< plane of interest2037 const char *extname, ///< MEF extension name2038 int extnum,///< MEF extension number (-1 for "PHU", 0 : Nextend - 1)2039 FILE *f ///< file descriptor to write data to2033 psImageFWriteSection(psImage *input, ///< image to write out 2034 int x, ///< starting x coord of region 2035 int y, ///< starting y coord of region 2036 int z, ///< plane of interest 2037 const char *extname, ///< MEF extension name 2038 int extnum, ///< MEF extension number (-1 for "PHU", 0 : Nextend - 1) 2039 FILE *f ///< file descriptor to write data to 2040 2040 ); 2041 2041 \end{verbatim} … … 2048 2048 \begin{verbatim} 2049 2049 psMetadata * 2050 psImageReadHeader(psMetadata *output, ///< read data to this structure2051 const char *extname,///< MEF extension name ("PHU" for primary header)2052 int extnum,///< MEF extension number (-1 for "PHU", 0 : Nextend - 1)2053 const char *filename///< file to read from2050 psImageReadHeader(psMetadata *output, ///< read data to this structure 2051 const char *extname, ///< MEF extension name ("PHU" for primary header) 2052 int extnum, ///< MEF extension number (-1 for "PHU", 0 : Nextend - 1) 2053 const char *filename ///< file to read from 2054 2054 ); 2055 2055 \end{verbatim} … … 2060 2060 psMetadata * 2061 2061 psImageFReadHeader(psMetadata *output, ///< read data to this structure 2062 const char *extname,///< MEF extension name ("PHU" for primary header)2063 int extnum,///< MEF extension number (-1 for "PHU", 0 : Nextend - 1)2064 FILE *f///< file descriptor to read from2062 const char *extname, ///< MEF extension name ("PHU" for primary header) 2063 int extnum, ///< MEF extension number (-1 for "PHU", 0 : Nextend - 1) 2064 FILE *f ///< file descriptor to read from 2065 2065 ); 2066 2066 \end{verbatim} … … 2070 2070 \begin{verbatim} 2071 2071 psImage * 2072 psImageFFT(psImage *output, //!< Output image2073 const psImage *input,///< image to FFT2074 int direction///< FFT direction2072 psImageFFT(psImage *output, //!< Output image 2073 const psImage *input, ///< image to FFT 2074 int direction ///< FFT direction 2075 2075 ); 2076 2076 \end{verbatim} … … 2081 2081 \begin{verbatim} 2082 2082 int 2083 psImageClip(psImage *input, ///< clip this image2084 float min,///< clip pixels with values < min2085 float vmin,///< set min-clipped pixels to vmin2086 float max,///< clip pixels with values > max2087 float vmax///< set max-clipped pixels to vmax2083 psImageClip(psImage *input, ///< clip this image 2084 float min, ///< clip pixels with values < min 2085 float vmin, ///< set min-clipped pixels to vmin 2086 float max, ///< clip pixels with values > max 2087 float vmax ///< set max-clipped pixels to vmax 2088 2088 ); 2089 2089 \end{verbatim} … … 2094 2094 \begin{verbatim} 2095 2095 int 2096 psImageClipNaN(psImage *input, ///< clip this image & target2097 float value///< set nan pixels to this value2096 psImageClipNaN(psImage *input, ///< clip this image & target 2097 float value ///< set nan pixels to this value 2098 2098 ); 2099 2099 \end{verbatim} … … 2108 2108 \begin{verbatim} 2109 2109 int 2110 psImageOverlaySection(psImage *image, ///< input image & target2111 const psImage *overlay, ///< image to overlay2112 int x0,///< x offset of overlay subimage2113 int y0,///< y offset of overlay subimage2114 const char *operator ///< overlay operation2110 psImageOverlaySection(psImage *image, ///< input image & target 2111 const psImage *overlay, ///< image to overlay 2112 int x0, ///< x offset of overlay subimage 2113 int y0, ///< y offset of overlay subimage 2114 const char *operator ///< overlay operation 2115 2115 ); 2116 2116 \end{verbatim} … … 2267 2267 typedef struct { 2268 2268 int nCells; ///< Number of Cells assigned 2269 psCell *cells; ///< Cells in the Chip2270 2271 psMetaDataSet *md; ///< Chip-level metadata2269 psCell *cells; ///< Cells in the Chip 2270 2271 psMetaDataSet *md; ///< Chip-level metadata 2272 2272 psCoordXform *chipToFPA; ///< Transformations from chip coordinates to FPA coordinates 2273 psCoordXform *FPAtoChip; //!< Transformations from FPA coordinates to chip2274 2275 struct psFPA *parentFPA; ///< FPA which contains this chip2273 psCoordXform *FPAtoChip; //!< Transformations from FPA coordinates to chip 2274 2275 struct psFPA *parentFPA; ///< FPA which contains this chip 2276 2276 } psChip; 2277 2277 \end{verbatim} … … 2303 2303 int nChips; ///< Number of Cells assigned 2304 2304 int nAlloc; ///< Number of Cells available 2305 psChip *chips; ///< Chips in the Focal Plane Array2306 2307 psMetaDataSet *md; ///< FPA-level metadata2308 psDistortion *TPtoFP; ///< Transformation term from2309 psDistortion *FPtoTP; ///< Transformation term from2310 psFixedPattern *pattern; //!< Fixed pattern residual offsets2305 psChip *chips; ///< Chips in the Focal Plane Array 2306 2307 psMetaDataSet *md; ///< FPA-level metadata 2308 psDistortion *TPtoFP; ///< Transformation term from 2309 psDistortion *FPtoTP; ///< Transformation term from 2310 psFixedPattern *pattern; //!< Fixed pattern residual offsets 2311 2311 psExposure *exp; ///< information about this exposure 2312 2312 psPhotSystem colorPlus, colorMinus; ///< Colour reference … … 2437 2437 /** returns Chip in FPA which contains the given FPA coordinate */ 2438 2438 psChip * 2439 psChipInFPA (psChip *out, //!< Chip to return, or NULL2440 const psFPA *fpa,///< FPA description2441 const psCoord *coord///< coordinate in FPA2442 );2439 psChipInFPA (psChip *out, //!< Chip to return, or NULL 2440 const psFPA *fpa, ///< FPA description 2441 const psCoord *coord ///< coordinate in FPA 2442 ); 2443 2443 \end{verbatim} 2444 2444 … … 2446 2446 /** returns Cell in Chip which contains the given chip coordinate */ 2447 2447 psCell * 2448 psCellInChip(psCell *out, //!< Cell to return, or NULL2449 const psChip *chip,///< chip description2450 const psCoord *coord///< coordinate in chip2451 );2448 psCellInChip(psCell *out, //!< Cell to return, or NULL 2449 const psChip *chip, ///< chip description 2450 const psCoord *coord ///< coordinate in chip 2451 ); 2452 2452 \end{verbatim} 2453 2453 … … 2459 2459 /** Return the cell in FPA which contains the given FPA coordinates */ 2460 2460 psCell * 2461 psCellInFPA(psCell *out, //!< Cell to return, or NULL2462 const psFPA *fpa,//!< FPA description2463 const psCoord *coord//!< Coordinate in FPA2464 );2461 psCellInFPA(psCell *out, //!< Cell to return, or NULL 2462 const psFPA *fpa, //!< FPA description 2463 const psCoord *coord //!< Coordinate in FPA 2464 ); 2465 2465 \end{verbatim} 2466 2466 … … 2507 2507 /** Convert cell and cell coordinate to (RA,Dec) */ 2508 2508 psCoord * 2509 psCoordCellToSky(psCoord *out, //!< Coordinates to return, or NULL2510 const psCell *cell,//!< Cell to get coordinates for2511 const psCoord *coord//!< cell coordinates to transform2512 );2509 psCoordCellToSky(psCoord *out, //!< Coordinates to return, or NULL 2510 const psCell *cell, //!< Cell to get coordinates for 2511 const psCoord *coord //!< cell coordinates to transform 2512 ); 2513 2513 \end{verbatim} 2514 2514 … … 2516 2516 /** Quick and dirty cell to (RA,Dec) --- employs cellToSky transformation */ 2517 2517 psCoord * 2518 psCoordCellToSkyQuick(psCoord *out, //!< Coordinates to return, or NULL2519 const psCell *cell, //!< Cell description2520 const psCoord *coord //!< cell coordinates to transform2521 );2518 psCoordCellToSkyQuick(psCoord *out, //!< Coordinates to return, or NULL 2519 const psCell *cell, //!< Cell description 2520 const psCoord *coord //!< cell coordinates to transform 2521 ); 2522 2522 \end{verbatim} 2523 2523 … … 2525 2525 /** Convert (RA,Dec) to tangent plane coords */ 2526 2526 psCoord * 2527 psCoordSkyToTP(psCoord *out, //!< Coordinates to return, or NULL2528 const psExposure *exp,//!< Exposure description2529 const psCoord *coord//!< input Sky coordinate2530 );2527 psCoordSkyToTP(psCoord *out, //!< Coordinates to return, or NULL 2528 const psExposure *exp, //!< Exposure description 2529 const psCoord *coord //!< input Sky coordinate 2530 ); 2531 2531 \end{verbatim} 2532 2532 … … 2534 2534 /** Convert tangent plane coords to focal plane coordinates */ 2535 2535 psCoord * 2536 psCoordTPtoFPA(psCoord *out, //!< Coordinates to return, or NULL2537 const psFPA *fpa,//!< FPA description2538 const psCoord *coord//!< input TP coordinate2539 );2536 psCoordTPtoFPA(psCoord *out, //!< Coordinates to return, or NULL 2537 const psFPA *fpa, //!< FPA description 2538 const psCoord *coord //!< input TP coordinate 2539 ); 2540 2540 \end{verbatim} 2541 2541 … … 2543 2543 /** converts the specified FPA coord to the coord on the given Chip */ 2544 2544 psCoord * 2545 psCoordFPAtoChip (psCoord *out, //!< Coordinates to return, or NULL2546 const psChip *chip,///< Chip of interest2547 const psCoord *coord///< input FPA coordinate2548 );2545 psCoordFPAtoChip (psCoord *out, //!< Coordinates to return, or NULL 2546 const psChip *chip, ///< Chip of interest 2547 const psCoord *coord ///< input FPA coordinate 2548 ); 2549 2549 \end{verbatim} 2550 2550 … … 2552 2552 /** converts the specified Chip coord to the coord on the given Cell */ 2553 2553 psCoord * 2554 psCoordChiptoCell (psCoord *out, //!< Coordinates to return, or NULL2555 const psCell *cell,///< Cell of interest2556 const psCoord *coord///< input Chip coordinate2557 );2554 psCoordChiptoCell (psCoord *out, //!< Coordinates to return, or NULL 2555 const psCell *cell, ///< Cell of interest 2556 const psCoord *coord ///< input Chip coordinate 2557 ); 2558 2558 \end{verbatim} 2559 2559 … … 2561 2561 /** converts the specified Cell coord to the coord on the parent Chip */ 2562 2562 psCoord * 2563 psCoordCelltoChip (psCoord *out, //!< Coordinates to return, or NULL2564 const psCell *cell,///< Cell description2565 const psCoord *coord///< input Cell coordinate2566 );2563 psCoordCelltoChip (psCoord *out, //!< Coordinates to return, or NULL 2564 const psCell *cell, ///< Cell description 2565 const psCoord *coord ///< input Cell coordinate 2566 ); 2567 2567 \end{verbatim} 2568 2568 … … 2570 2570 /** converts the specified Chip coord to the coord on the parent FPA */ 2571 2571 psCoord * 2572 psCoordChiptoFPA (psCoord *out, //!< Coordinates to return, or NULL2573 const psChip *chip,///< Chip description2574 const psCoord *coord///< input Chip coordinate2575 );2572 psCoordChiptoFPA (psCoord *out, //!< Coordinates to return, or NULL 2573 const psChip *chip, ///< Chip description 2574 const psCoord *coord ///< input Chip coordinate 2575 ); 2576 2576 \end{verbatim} 2577 2577 … … 2579 2579 /** Convert focal plane coords to tangent plane coordinates */ 2580 2580 psCoord * 2581 psCoordFPAToTP(psCoord *out, //!< Coordinates to return, or NULL2582 const psFPA *fpa,//!< FPA description2583 const psCoord *coord//!< input FPA coordinate2584 );2581 psCoordFPAToTP(psCoord *out, //!< Coordinates to return, or NULL 2582 const psFPA *fpa, //!< FPA description 2583 const psCoord *coord //!< input FPA coordinate 2584 ); 2585 2585 \end{verbatim} 2586 2586 … … 2588 2588 /** Convert tangent plane coords to (RA,Dec) */ 2589 2589 psCoord * 2590 psCoordTPtoSky(psCoord *out, //!< Coordinates to return, or NULL2591 const psExposure *exp,//!< Exposure description2592 const psCoord *coord//!< input TP coordinate2593 );2590 psCoordTPtoSky(psCoord *out, //!< Coordinates to return, or NULL 2591 const psExposure *exp, //!< Exposure description 2592 const psCoord *coord //!< input TP coordinate 2593 ); 2594 2594 \end{verbatim} 2595 2595 … … 2597 2597 /** Convert Cell coords to FPA coordinates */ 2598 2598 psCoord * 2599 psCoordCellToFPA(psCoord *out, //!< Coordinates to return, or NULL2600 const psCell *cell,//!< Cell description2601 const psCoord *coord//!< Input cell coordinates2602 );2599 psCoordCellToFPA(psCoord *out, //!< Coordinates to return, or NULL 2600 const psCell *cell, //!< Cell description 2601 const psCoord *coord //!< Input cell coordinates 2602 ); 2603 2603 \end{verbatim} 2604 2604 … … 2665 2665 /** A struct to define a single item of metadata */ 2666 2666 typedef struct { 2667 const int id; //!< unique ID for this item2668 char *restrict name; //!< Name of item2669 psMetaDataType type; //!< type of this item2670 psMetaDataFlags flags; //!< flags associated with this item2667 const int id; //!< unique ID for this item 2668 char *restrict name; //!< Name of item 2669 psMetaDataType type; //!< type of this item 2670 psMetaDataFlags flags; //!< flags associated with this item 2671 2671 const union { 2672 float f;//!< floating value2673 int i;//!< integer value2674 void *v;//!< other type2675 } val; //!< value of metadata2676 char *comment; //!< optional comment ("", not NULL)2677 psDlist *restrict items; //!< list of psMetaDataItems with the same name2672 float f; //!< floating value 2673 int i; //!< integer value 2674 void *v; //!< other type 2675 } val; //!< value of metadata 2676 char *comment; //!< optional comment ("", not NULL) 2677 psDlist *restrict items; //!< list of psMetaDataItems with the same name 2678 2678 } psMetaDataItem; 2679 2679 \end{verbatim} … … 2692 2692 \begin{verbatim} 2693 2693 /** Possible types of metadata. */ 2694 typedef enum { //!< type of val is:2695 PS_META_ITEM_SET = 0, //!< NULL; metadata is in psMetaDataType.items2696 PS_META_FLOAT, //!< float (.f)2697 PS_META_INT, //!< int (.i)2698 PS_META_STR, //!< string (.v)2699 PS_META_IMG, //!< image (.v)2700 PS_META_JPEG, //!< JPEG (.v)2701 PS_META_PNG, //!< PNG (.v)2702 PS_META_ASTROM, //!< astrometric coefficients (.v)2703 PS_META_UNKNOWN, //!< other (.v)2704 PS_META_NTYPE //!< Number of types; must be last2694 typedef enum { //!< type of val is: 2695 PS_META_ITEM_SET = 0, //!< NULL; metadata is in psMetaDataType.items 2696 PS_META_FLOAT, //!< float (.f) 2697 PS_META_INT, //!< int (.i) 2698 PS_META_STR, //!< string (.v) 2699 PS_META_IMG, //!< image (.v) 2700 PS_META_JPEG, //!< JPEG (.v) 2701 PS_META_PNG, //!< PNG (.v) 2702 PS_META_ASTROM, //!< astrometric coefficients (.v) 2703 PS_META_UNKNOWN, //!< other (.v) 2704 PS_META_NTYPE //!< Number of types; must be last 2705 2705 } psMetaDataType; 2706 2706 \end{verbatim} … … 2731 2731 /** A set of metadata */ 2732 2732 typedef struct { 2733 psDlist *restrict list; //!< list of psMetaDataItem2734 psHash *restrict table; //!< hash table of the same metadata2733 psDlist *restrict list; //!< list of psMetaDataItem 2734 psHash *restrict table; //!< hash table of the same metadata 2735 2735 } psMetaDataSet; 2736 2736 \end{verbatim} … … 2815 2815 /** Constructor */ 2816 2816 psMetaDataItem *psMetaDataItemAlloc(int typeFlags, //!< type of this piece of metadata + flags 2817 const void *val, //!< value of new item N.b. a pointer even if the item2818 //!< is of type e.g. int2819 const char *comment, //!< comment associated with item2820 const char *name, //!< name of new item of metadata (may be in sprintf2821 //!< format)2822 ...//!< possible arguments for name format2817 const void *val, //!< value of new item N.b. a pointer even if the item 2818 //!< is of type e.g. int 2819 const char *comment, //!< comment associated with item 2820 const char *name, //!< name of new item of metadata (may be in sprintf 2821 //!< format) 2822 ... //!< possible arguments for name format 2823 2823 ); 2824 2824 … … 2837 2837 /// Add entry to the end of the metadata set 2838 2838 psMetaDataItem *psMetaDataAppend(psMetaDataSet *restrict ms, //!< Metadata set to add to 2839 psMetaDataItem *restrict item //!< Metatdata to add2839 psMetaDataItem *restrict item //!< Metatdata to add 2840 2840 ); 2841 2841 2842 2842 /// delete entry from the metadata set 2843 2843 psMetaDataItem *psMetaDataRemove(psMetaDataSet *restrict ms, //!< Metadata set to delete from 2844 const char *restrict key //!< Key to delete2844 const char *restrict key //!< Key to delete 2845 2845 ); 2846 2846 … … 2851 2851 /// get the next entry in the sequence 2852 2852 psMetaDataItem *psMetaDataGetNext(psMetaDataSet *restrict ms, //!< Metadata set to get from 2853 const char *restrict match //!< Match this2853 const char *restrict match //!< Match this 2854 2854 ); 2855 2855 2856 2856 /// find the metadata with the specified key 2857 2857 psMetaDataItem *psMetaDataLookup(const psMetaDataSet *restrict ms, //!< Metadata set to look up 2858 const char *restrict key //!< Key to find2858 const char *restrict key //!< Key to find 2859 2859 ); 2860 2860 2861 2861 /// print metadata item to the specified stream 2862 void psMetaDataItemPrint(FILE *fd, //!< file descriptor to write to2863 const psMetaDataItem *restrict ms, //!< item of metadata to print2864 const char *prefix//!< print this at the beginning of each line2862 void psMetaDataItemPrint(FILE *fd, //!< file descriptor to write to 2863 const psMetaDataItem *restrict ms, //!< item of metadata to print 2864 const char *prefix //!< print this at the beginning of each line 2865 2865 ); 2866 2866 \end{verbatim} … … 2927 2927 /** apply the coordinate transformation to the given coordinate */ 2928 2928 psCoord *psCoordXformApply (psCoord *out, //!< Output coordinates, or NULL 2929 const psCoordXform *frame, ///< coordinate transformation2930 const psCoord *coords ///< input coordiate2929 const psCoordXform *frame, ///< coordinate transformation 2930 const psCoord *coords ///< input coordiate 2931 2931 ); 2932 2932 \end{verbatim} … … 2935 2935 /** apply the optical distortion to the given coordinate, magnitude, color */ 2936 2936 psCoord *psDistortionApply (psCoord *out, //!< Output coordinates, or NULL 2937 const psdistortion *pattern, ///< optical distortion pattern2938 const psCoord *coords, ///< input coordinate2939 float mag,///< magnitude of object2940 float color ///< color of object2937 const psdistortion *pattern, ///< optical distortion pattern 2938 const psCoord *coords, ///< input coordinate 2939 float mag, ///< magnitude of object 2940 float color ///< color of object 2941 2941 ); 2942 2942 \end{verbatim} … … 2952 2952 psCoord * 2953 2953 psGetOffset(const psCoord *restrict position1, //!< Position 1 2954 const psCoord *restrict position2, //!< Position 22955 const char *type//!< Type of offset: Linear, Spherical/Arcsec, Spherical/Degreees etc2954 const psCoord *restrict position2, //!< Position 2 2955 const char *type //!< Type of offset: Linear, Spherical/Arcsec, Spherical/Degreees etc 2956 2956 ); 2957 2957 \end{verbatim} … … 2961 2961 psCoord * 2962 2962 psApplyOffset(const psCoord *restrict position, //!< Position 2963 const psCoord *restrict offset, //!< Offset2964 const char *type//!< Type of offset: Linear, Spherical/Arcsec, Spherical/Degreees etc2963 const psCoord *restrict offset, //!< Offset 2964 const char *type //!< Type of offset: Linear, Spherical/Arcsec, Spherical/Degreees etc 2965 2965 ); 2966 2966 \end{verbatim} … … 2975 2975 /** Get Sun Position */ 2976 2976 psCoord * 2977 psGetSunPos(float mjd //!< MJD to get position for2977 psGetSunPos(float mjd //!< MJD to get position for 2978 2978 ); 2979 2979 \end{verbatim} … … 2982 2982 /** Get Moon position */ 2983 2983 psCoord * 2984 psGetMoonPos(float mjd, //!< MJD to get position for2985 double latitude,//!< Latitude for apparent position2986 double longitude//!< Longitude for apparent position2984 psGetMoonPos(float mjd, //!< MJD to get position for 2985 double latitude, //!< Latitude for apparent position 2986 double longitude //!< Longitude for apparent position 2987 2987 ); 2988 2988 \end{verbatim} … … 2991 2991 /** Get Moon phase */ 2992 2992 float 2993 psGetMoonPhase(float mjd //!< MJD to get phase for2993 psGetMoonPhase(float mjd //!< MJD to get phase for 2994 2994 ); 2995 2995 \end{verbatim} … … 2999 2999 psCoord * 3000 3000 psGetSolarSystemPos(const char *solarSystemObject, //!< Named S.S. object 3001 float mjd//!< MJD to get position for3001 float mjd //!< MJD to get position for 3002 3002 ); 3003 3003 \end{verbatim}
Note:
See TracChangeset
for help on using the changeset viewer.
