Index: /trunk/doc/pslib/psLibSDRS.tex
===================================================================
--- /trunk/doc/pslib/psLibSDRS.tex	(revision 1709)
+++ /trunk/doc/pslib/psLibSDRS.tex	(revision 1710)
@@ -1,3 +1,3 @@
-%%% $Id: psLibSDRS.tex,v 1.111 2004-09-07 23:23:40 price Exp $
+%%% $Id: psLibSDRS.tex,v 1.112 2004-09-07 23:27:04 eugene Exp $
 \documentclass[panstarrs,spec]{panstarrs}
 
@@ -1330,5 +1330,5 @@
     } data;
     const struct psImage *parent;       ///< parent, if a subimage 
-    psArray *children;		        ///< children of this region
+    psArray *children;                  ///< children of this region
 } psImage;
 \end{verbatim}
@@ -1823,5 +1823,5 @@
     double min;                         ///< minimum data value in data; input range
     double max;                         ///< maximum data value in data; input range
-    double binsize;		        ///< binsize for robust fit (input/output)
+    double binsize;                     ///< binsize for robust fit (input/output)
     psStatsOptions options;             ///< bitmask of calculated values
 } psStats;
@@ -1936,5 +1936,5 @@
 /** One-dimensional polynomial */
 typedef struct {
-    psPolynomialType type;		///< Polynomial type
+    psPolynomialType type;              ///< Polynomial type
     int n;                              ///< Number of terms
     float *restrict coeff;              ///< Coefficients
@@ -1947,5 +1947,5 @@
 /** Two-dimensional polynomial */
 typedef struct {
-    psPolynomialType type;		///< Polynomial type
+    psPolynomialType type;              ///< Polynomial type
     int nX, nY;                         ///< Number of terms in x and y
     float *restrict *restrict coeff;    ///< Coefficients
@@ -1961,6 +1961,6 @@
 \begin{verbatim}
 typedef enum {
-    PS_POLYNOMIAL_ORD,			///< Ordinary polynomial
-    PS_POLYNOMIAL_CHEB			///< Chebyshev polynomial
+    PS_POLYNOMIAL_ORD,                  ///< Ordinary polynomial
+    PS_POLYNOMIAL_CHEB                  ///< Chebyshev polynomial
 } psPolynomialType;
 \end{verbatim}
@@ -1971,5 +1971,5 @@
 /** Double-precision one-dimensional polynomial */
 typedef struct {
-    psPolynomialType type;		///< Polynomial type
+    psPolynomialType type;              ///< Polynomial type
     int n;                              ///< Number of terms
     double *restrict coeff;             ///< Coefficients
@@ -1982,5 +1982,5 @@
 /** Double-precision two-dimensional polynomial */
 typedef struct {
-    psPolynomialType type;		///< Polynomial type
+    psPolynomialType type;              ///< Polynomial type
     int nX, nY;                         ///< Number of terms in x and y
     double *restrict *restrict coeff;   ///< Coefficients
@@ -2029,5 +2029,5 @@
 typedef struct {
     int n;                              ///< Number of spline pieces
-    psPolynomial1D **spline;		///< Array of n pointers to splines
+    psPolynomial1D **spline;            ///< Array of n pointers to splines
     float *domains;                     ///< The boundaries between each spline piece.  Size is n+1.
 } psSpline1D;
@@ -2129,9 +2129,9 @@
 \begin{verbatim}
 typedef struct {
-    const int maxIter;			///< Maximum number of iterations
-    const float tol;			///< Tolerance to reach
-    float value;			///< Value after minimization
-    int iter;				///< Actual number of iterations performed
-    float lastDelta;			///< Last change before quitting
+    const int maxIter;                  ///< Maximum number of iterations
+    const float tol;                    ///< Tolerance to reach
+    float value;                        ///< Value after minimization
+    int iter;                           ///< Actual number of iterations performed
+    float lastDelta;                    ///< Last change before quitting
 } psMinimization;
 \end{verbatim}
@@ -2308,6 +2308,6 @@
 psSpline1D *psVectorFitSpline1D(psSpline1D *mySpline,
                                 const psVector *x,
-				const psVector *y,
-				const psVector *yErr);
+                                const psVector *y,
+                                const psVector *yErr);
 \end{verbatim}
 \code{psVectorFitSpline} shall return the spline that best fits the
@@ -2432,9 +2432,9 @@
                      unsigned int maskVal,
                      float x0, 
-		     float y0, 
-		     float x1, 
-		     float y1, 
-		     unsigned int nSamples, 
-		     psImageInterpolateMode mode);
+                     float y0, 
+                     float x1, 
+                     float y1, 
+                     unsigned int nSamples, 
+                     psImageInterpolateMode mode);
 \end{verbatim}
 Extract pixels along a line segment, \code{(x0,y0)} to \code{(x1,y1)},
@@ -2455,7 +2455,7 @@
                            unsigned int maskVal,
                            float x, 
-			   float y,
+                           float y,
                            const psVector *radii, 
-			   const psStats *stats);
+                           const psStats *stats);
 \end{verbatim}
 Extract radial region data to a vector.  A vector is constructed where
@@ -2566,5 +2566,5 @@
                       const psImage *in,
                       const psImage *mask,
-		      unsigned int maskVal);
+                      unsigned int maskVal);
 \end{verbatim}
 Determine statistics for image (or subimage).  The statistics to be
@@ -2579,5 +2579,5 @@
                               const psImage *in, 
                               const psImage *mask, 
-			      unsigned int maskVal);
+                              unsigned int maskVal);
 \end{verbatim}
 Construct a histogram from an image (or subimage).  The histogram to
@@ -2959,7 +2959,7 @@
     PS_FFT_FORWARD = 0,                 ///< psImageFFT/psVectorFFT should perform a forward FFT.
     PS_FFT_REVERSE = 1,                 ///< psImageFFT/psVectorFFT should perform a reverse FFT.
-    PS_FFT_REAL_RESULT = 2		///< psImageFFT/psVectorFFT should return a real image. This is valid
-					///< for only reverse FFT, i.e., the psImageFFT/psVectorFFT flag
-					///< parameter should appear as PS_FFT_REVERSE+PS_FFT_REAL_RESULT.
+    PS_FFT_REAL_RESULT = 2              ///< psImageFFT/psVectorFFT should return a real image. This is valid
+                                        ///< for only reverse FFT, i.e., the psImageFFT/psVectorFFT flag
+                                        ///< parameter should appear as PS_FFT_REVERSE+PS_FFT_REAL_RESULT.
 } psFFTFlags;
 \end{verbatim}
@@ -3347,5 +3347,5 @@
     psMetadataType type;                ///< type of this item
     const union {
-        bool bool;		        ///< boolean value
+        bool bool;                      ///< boolean value
         psS32 S32;                      ///< integer value
         psF32 F32;                      ///< floating value
@@ -3370,5 +3370,5 @@
 typedef enum {                          ///< type of data.item is:
     PS_META_ITEM_SET = 0,               ///< NULL; metadata is in psMetadataType.items
-    PS_META_BOOL,		        ///< bool (.bool)
+    PS_META_BOOL,                       ///< bool (.bool)
     PS_META_S32,                        ///< int (.S32)
     PS_META_F32,                        ///< float (.F32)
@@ -3529,8 +3529,12 @@
 \end{verbatim}
 Read header data from a FITS image file into a \code{psMetadata}
-structure (see section~\ref{sec:metadata}.  The \code{extname} and
-\code{extnum} parameters specify the extension of interest as above.
-If the named extension does not exist, the function should return an
-error.
+structure.  The \code{extname} and \code{extnum} parameters specify
+the extension of interest as above.  The data is read from the
+extension specified by extname (matching the EXTNAME keyword) or by
+the extnum value (with 0 representing the primary header unit (PHU), 1
+the first extension, etc).  This function must call \code{psError} and
+return \code{NULL} if the specified extension does not exist.  If
+\code{extname} is not \code{NULL}, \code{extnum} must be set to -1 or
+the function shall raise an error.
 
 \begin{verbatim}
@@ -3582,7 +3586,6 @@
 \code{STRING}.
 
-\tbd{May, in the future, require more types, including
-\code{U8,S16,C64}, which will also necessitate updating the definition
-of \code{psMetadata}.}
+\tbd{May, in the future, require more types, including U8,S16,C64,
+which will also necessitate updating the definition of psMetadata.}
 
 The value shall follow the type: strings may consist of multiple
@@ -3611,5 +3614,5 @@
 
 \tbd{May add complex types, likely to be specified with values such as
-\code{1.23+4.56i} in the future.}
+  1.23+4.56i in the future.}
 
 An additional hurdle is the specification of keys that may be
@@ -3633,17 +3636,19 @@
 Here are some examples of lines of a valid configuration file:
 \begin{verbatim}
- Double     F64     1.23456789      # This is a comment
-Float F32 0.98765#This is a comment too
-        String  STR This is the string that forms the value #comment
-    #This is a comment line and is to be ignored
+Double     F64     1.23456789      # This is a comment
+Float    F32 0.98765#This is a comment too
+String  STR This is the string that forms the value #comment
+
+ # This is a comment line and is to be ignored
 boolean     BOOL    T # The value of `boolean' is `true'
 
 @primes U8  2,3 5 7,11,13 17 #   These are prime numbers
+
 comment * The rest of this line is ignored, but `comment' is set to be non-unique
 comment STR This
- comment STR     is
-  comment STR       a
-   comment STR        non-unique
-    comment STR                  key
+comment STR     is
+comment STR       a
+comment STR        non-unique
+comment STR                  key
 Float F64 1.23456 # This generates a warning, and, if `overwrite' is `false', is ignored
 \end{verbatim}
@@ -3929,13 +3934,13 @@
 
 typedef enum {
-    PS_SPHERICAL;			///< Offset on a sphere
-    PS_LINEAR;				///< Linear offset
+    PS_SPHERICAL;                       ///< Offset on a sphere
+    PS_LINEAR;                          ///< Linear offset
 } psSphereOffsetMode;
 
 typedef enum {
-    PS_ARCSEC;				///< Arcseconds
-    PS_ARCMIN;				///< Arcminutes
-    PS_DEGREE;				///< Degrees
-    PS_RADIAN;				///< Radians
+    PS_ARCSEC;                          ///< Arcseconds
+    PS_ARCMIN;                          ///< Arcminutes
+    PS_DEGREE;                          ///< Degrees
+    PS_RADIAN;                          ///< Radians
 } psSphereOffsetUnit;
 \end{verbatim}
