Index: trunk/doc/pslib/psLibSDRS.tex
===================================================================
--- trunk/doc/pslib/psLibSDRS.tex	(revision 3686)
+++ trunk/doc/pslib/psLibSDRS.tex	(revision 3734)
@@ -1,3 +1,3 @@
-%%% $Id: psLibSDRS.tex,v 1.202 2005-04-08 19:53:30 price Exp $
+%%% $Id: psLibSDRS.tex,v 1.203 2005-04-21 03:26:00 price Exp $
 \documentclass[panstarrs,spec]{panstarrs}
 
@@ -2855,7 +2855,7 @@
 
 \begin{verbatim}
-psImage *psImageTransform(psImage *output, psPixels **blankPixels, const psImage *input,
+psImage *psImageTransform(psImage *output, psArray **blankPixels, const psImage *input,
                           const psImage *inputMask, int inputMaskVal, const psPlaneTransform *outToIn,
-			  const psRegion *region, const psPixels *pixels, psImageInterpolateMode mode,
+			  const psRegion *region, const psArray *pixels, psImageInterpolateMode mode,
 			  double exposedValue);
 \end{verbatim}
@@ -2875,15 +2875,16 @@
 in the output image --- note that this is the reverse of what might be
 naively expected, but it is what is required in order to use
-\code{psImagePixelInterpolate}.  If \code{pixels} is non-\code{NULL},
-then only those pixels in the output image are transformed; otherwise,
-the entire image is generated.  The interpolation is performed using
-the specified interpolation \code{mode}.  Where a pixel in the output
+\code{psImagePixelInterpolate}.  If the \code{pixels} array is
+non-\code{NULL}, it shall consist of \code{psPixelCoord}s, and only
+those pixels in the output image shall be transformed; otherwise, the
+entire image is generated.  The interpolation is performed using the
+specified interpolation \code{mode}.  Where a pixel in the output
 image does not correspond to a pixel in the input image (or all
 appropriate pixels in the input image are masked), the value shall be
-set to \code{exposed}, and the pixel added to the list of
-\code{blankPixels} for return to the user.  This function must be
-capable of handling the following types for the \code{input} (with
-corresponding types for the \code{output}): \code{psF32},
-\code{psF64}.
+set to \code{exposed}, and the appropriate \code{psPixelCoord} added
+to the array of \code{blankPixels} for return to the user.  This
+function must be capable of handling the following types for the
+\code{input} (with corresponding types for the \code{output}):
+\code{psF32}, \code{psF64}.
 
 
@@ -3049,50 +3050,44 @@
 \begin{verbatim}
 typedef struct {
-    psVector *x;			// x coordinate
-    psVector *y;			// y coordinate
-} psPixels;
-\end{verbatim}
-
-Of course, the size of each of the vectors should match.  In the event
-that they do not match, any function which detects the problem shall
-generate a warning and use the size of the shorter of the vectors as
-the size.  The order in which the pixels are kept is not considered
-important.
-
-\begin{verbatim}
-psImage *psPixelsToMask(psImage *out, const psPixels *pixels, const psRegion *region, unsigned int maskVal);
-psPixels *psMaskToPixels(psPixels *out, const psImage *mask, unsigned int maskVal);
+    int x;			// x coordinate
+    int y;			// y coordinate
+} psPixelCoord;
+\end{verbatim}
+
+\begin{verbatim}
+psImage *psPixelsToMask(psImage *out, const psArray *pixels, const psRegion *region, unsigned int maskVal);
+psArray *psMaskToPixels(psArray *out, const psImage *mask, unsigned int maskVal);
 \end{verbatim}
 
 \code{psPixelsToMask} shall return an image of type U8 with the
-\code{pixels} lying within the specified \code{region} set to the
-\code{maskVal}.  The \code{out} image shall be modified if supplied,
-or allocated and returned if \code{NULL}.  The size of the output
-image shall be \code{region->x1 - region->x0} by \code{region->y1 -
-region->y0}, with \code{out->x0 = region->x0} and \code{out->y0 =
-region->y0}.  In the event that either of \code{pixels} or
-\code{region} are \code{NULL}, the function shall generate an error
-and return \code{NULL}.
-
-\code{psMaskToPixels} shall return a \code{psPixels} consisting of the
-coordinates in the \code{mask} that match the \code{maskVal}.  The
-\code{out} pixel list shall be modified if supplied, or allocated and
-returned if \code{NULL}.  In hte event that \code{mask} is
-\code{NULL}, the function shall generate an error and return
-\code{NULL}.
-
-\begin{verbatim}
-psPixels *psPixelsConcatenate(psPixels *out, const psPixels *pixels);
-\end{verbatim}
-
-\code{psPixelsConcatenate} shall concatenate \code{pixels} onto
-\code{out}.  In the event that \code{out} is \code{NULL}, a new
-\code{psPixels} shall be allocated, and the contents of \code{pixels}
-simply copied in.  If \code{pixels} is \code{NULL}, the function shall
-generate an error and return \code{NULL}.  The function shall take
-care to ensure that there are no duplicate pixels in \code{out} (since
-the order in which the pixels are stored is not important, the values
-may be sorted, allowing the use of a faster algorithm than a linear
-scan).
+\code{pixels} (being a \code{psArray} of \code{psPixelCoord}s) lying
+within the specified \code{region} set to the \code{maskVal}.  The
+\code{out} image shall be modified if supplied, or allocated and
+returned if \code{NULL}.  The size of the output image shall be
+\code{region->x1 - region->x0} by \code{region->y1 - region->y0}, with
+\code{out->x0 = region->x0} and \code{out->y0 = region->y0}.  In the
+event that either of \code{pixels} or \code{region} are \code{NULL},
+the function shall generate an error and return \code{NULL}.
+
+\code{psMaskToPixels} shall return a \code{psArray} containing one
+\code{psPixelCoord} for each of the coordinates in the \code{mask}
+that match the \code{maskVal}.  The \code{out} pixel list shall be
+modified if supplied, or allocated and returned if \code{NULL}.  In
+hte event that \code{mask} is \code{NULL}, the function shall generate
+an error and return \code{NULL}.
+
+\begin{verbatim}
+psArray *psPixelsConcatenate(psArray *out, const psArray *pixels);
+\end{verbatim}
+
+\code{psPixelsConcatenate} shall concatenate the array of
+\code{pixels} (consisting of \code{psPixelCoord}s) onto \code{out}.
+In the event that \code{out} is \code{NULL}, a new \code{psArray}
+shall be allocated, and the contents of \code{pixels} simply copied
+in.  If \code{pixels} is \code{NULL}, the function shall generate an
+error and return \code{NULL}.  The function shall take care to ensure
+that there are no duplicate pixels in \code{out} (since the order in
+which the pixels are stored is not important, the values may be
+sorted, allowing the use of a faster algorithm than a linear scan).
 
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -5148,9 +5143,10 @@
 
 \begin{verbatim}
-psPixels *psPixelsTransform(psPixels *out, const psPixels *input, const psPlaneTransform *inToOut);
-\end{verbatim}
-
-\code{psPixelsTransform} shall generate a list of pixels in the output
-coordinate frame that overlap the \code{input} pixels in the input
+psArray *psPixelsTransform(psArray *out, const psArray *input, const psPlaneTransform *inToOut);
+\end{verbatim}
+
+\code{psPixelsTransform} shall generate an array of pixels
+(\code{psPixelCoord} in the output coordinate frame that overlap the
+\code{input} pixels (an array of \code{psPixelCoord}s) in the input
 coordinate frame through the specified transformation, \code{inToOut}.
 Note that this is more complicated than simply transforming the
