Index: /trunk/doc/pslib/ChangeLogSDRS.tex
===================================================================
--- /trunk/doc/pslib/ChangeLogSDRS.tex	(revision 1562)
+++ /trunk/doc/pslib/ChangeLogSDRS.tex	(revision 1563)
@@ -83,2 +83,139 @@
 - cleaned metadata discussion
 \end{verbatim}
+
+\subsection{Changes from Revision 01 (19 May 2004) to 02 (22 June 2004)}
+
+Changes consisted of incorporating feedback from Bugzilla problem
+reports (up to bug number 64).
+
+\subsection{Changes from Revision 02 (22 June 2004) to 05 (16 August 2004)}
+
+\begin{itemize}
+\item \code{libTAI} no longer used, since it does not perform as desired.
+\item Addition of \code{previousBlock}, \code{nextBlock},
+  \code{freeFcn}, \code{userMemorySize}, \code{refCounterMutex} to
+  \code{psMemBlock}.
+\item Added behavior of memory management when \code{PS_MEM_DEBUG} is
+  defined at compile time.
+\item \code{psMemExhaustedSetCallback} $\rightarrow$
+  \code{psMemExhaustedCallbackSet}.
+\item Added \code{p_psSetFreeFcn} and \code{p_psGetFreeFcn}.
+\item \code{psMemFreeIDSet}, \code{psMemAllocateIDSet} $\rightarrow$
+  \code{psMemFreeCallbackIDSet}, \code{psMemAllocateCallbackIDSet}.
+\item \code{psMemCheckCorruption} now takes a \code{bool} instead of
+  \code{int}.
+\item Specification that destructors are private functions which are
+  called by \code{psFree}.
+\item \code{psErrorRegisterSet} $rightarrow$ \code{psErrorRegister}.
+\item Added a type, \code{PS_TYPE_C64}.
+\item Added section on ``Simple Scalars'' for math operations,
+  including functions \code{psScalarAlloc} and \code{psScalarCopy}.
+\item \code{psVector} no longer carries a \code{void *} type, but now
+  has a \code{psC64} type.  The \code{void *} carrier type is
+  \code{psArray}.
+\item \code{psImage} supporting functions are valid for types
+  \code{psS8, psS16, psU8, psU16, psF32, psF64, psC32, psC64}.
+\item Section on ``Simple Arrays'' added --- an ordered collection of
+  unspecified data elements.
+\item \code{psDList} renamed \code{psList}.
+\item In \code{psList}, \code{n} changed to \code{size}.
+\item \code{psListAdd} and \code{psListRemove} now return a
+  \code{bool}.
+\item Retrieving data from the list means that the reference counter
+  is incremented.
+\item \code{psListFree} frees the list and calls \code{psFree} on all
+  the data on the list.
+\item \code{psListSort} prototype updated.
+\item \code{psHashInsert} renamed \code{psHashAdd}, now returns a
+  \code{bool} and frees existing data for the given key.
+\item \code{psHashRemove} now returns a \code{bool}.
+\item \code{psSort} renamed \code{psVectorSort}, and specified for
+  type \code{psS8}, instead of \code{psU8}.
+\item \code{psSortIndex} renamed \code{psVectorSortIndex}.
+\item \code{psVectorStats} parameters reordered.
+\item \code{psStats} does not revert to robust statistics for large
+  vectors; \code{PS_STAT_ROBUST_FOR_SAMPLE} dropped.
+\item \code{psHistogram.uniform} changed to type \code{bool}.
+\item \code{psHistogramVector} renamed \code{psVectorHistogram}, and
+  takes a \code{mask} and \code{maskVal}.
+\item \code{psPolynomial} now incorporates both general polynomials
+  and Chebyshev polynomials, with the option being specified by an
+  enumerated type in the structure, which is also passed to the
+  constructor, \code{psPolynomialAlloc}.  This will necessitate
+  changes to the evaluators as well.
+\item Vector versions of polynomial evaluators, e.g.\
+  \code{psDPolynomial2DEvalVector} defined.
+\item Splines added (\code{psSpline1D}), with corresponding
+  allocators, single and vector evaluators, and fit to a vector.
+\item \code{psGaussian} takes \code{bool normal}, instead of \code{int normal}.
+\item Specified minimization routines in much more detail.  Now have
+  both LM and Powell minimizers specified, with a $\chi^2$ minimizer
+  using the Powell minimizer, and a couple of functions to use to
+  minimize $\chi^2$ with the LM minimizer.
+\item Function \code{psImageSubsection} added.
+\item Behavior of \code{psImageCopy} specified in the event \code{out == NULL}.
+\item Function \code{psImageTrim} added.
+\item Defined \code{psImageCutDirection}, and added one to
+  \code{psImageSlice}.
+\item \code{mask} and \code{maskVal} added to \code{psImageCut}, along
+  with pointer to the algorithm in the ADD.
+\item \code{mask} and \code{maskVal} added to \code{psImageRadialCut},
+  along with pointer to the algorithm in the ADD..
+\item \code{mask} and \code{maskVal} added to \code{psImageRebin}, and
+  specified in more detail.
+\item Added function \code{psImageResample}, along with
+  \code{psImageResampleMode}.
+\item \code{psImageRotate} has new \code{float exposed} parameter.
+\item \code{psImageGetStats} renamed \code{psImageStats}, and must be
+  defined for \code{psS8} (not \code{psU8}).
+\item \code{psImageHistogram} now takes a \code{mask} and
+  \code{maskVal}.
+\item \code{psImageHistogram}, \code{psImageFitPolynomial},
+  \code{psImageEvalPolynomial} must be defined for \code{psS8} (not
+  \code{psU8}).
+\item Added function \code{psImagePixelInterpolate}.
+\item Behavior of \code{psImageReadSection, psImageWriteSection}
+specified in more detail.
+\item \code{psImageClip} parameters now specified to be \code{double},
+  and behavior specified in more detail.
+\item Function \code{psImageClipComplexRegion} added.
+\item \code{psImageClipNaN} behavior specified for complex images.
+\item \code{psBinaryOp} and \code{psUnaryOp} described in more detail.
+\item \code{psVectorTranspose} removed.
+\item Added section on convolution, including defining \code{psKernel},
+  with corresponding constructor and generation function.
+\item Section on times (\code{psTime} completely reworked.  In
+  particular, \code{libTAI} is no longer used.
+\item \code{psMetadataAppend} and \code{psMetadataAppendItem} are now
+  \code{psMetadataAdd} and \code{psMetadataAddItem}, returning
+  \code{bool}s.  Each is specified in a bit more detail.
+\item \code{psMetadataRemove} takes a \code{where} parameter, and
+  is specified in a bit more detail.
+\item Added function \code{psMetadataGet}.
+\item Iterating on the metadata described in more detail.
+\item \code{psMetadataItemPrint} changed.
+\item In distortions, the third and fourth parameters consistently
+  referred to now in the order color and then magnitude.
+\item Pre-defined spherical transforms renamed to longer, but more
+  meaningful names.
+\item GLS projection dropped.
+\item Offsets specified in more detail, with different modes
+  (\code{psSphereOffsetMode}) and units (\code{psSphereOffsetUnit})
+  instead of a single \code{type}.
+\item \code{out} parameter in \code{psCellInFPA, psChipInFPA,
+  psCellInChip} removed.
+\item \code{color, mag} parameters added to functions that transform
+  between FPA and tangent plane (\code{psCoordFPAToTP, psCoordCellToSky, psCoordTPToFPA, psCoordSkyToCell}).
+\item Specified constructors for the astronomy images and astrometry
+  structures.
+\item \code{psExposure} contains a \code{psTime *time} instead of
+  \code{mjd}.
+\item \code{psFPA} contains a \code{psGrommit} composed from the
+  relevant \code{psExposure} for assistance in astrometric transforms.
+\item Added structure \code{psObservatory}, which contains observatory
+  information.  \code{psExposure} contains a \code{psObservatory}.
+\item \code{wavelength} added to \code{psExposure}.
+\item \code{psCell.cellToSky} renamed to \code{psCell.toTP} and now
+  only goes to the tangent plane, from which the \code{psGrommit} is
+  used to get the coordinates to the sky.
+\end{itemize}
