IPP Software Navigation Tools IPP Links Communication Pan-STARRS Links

Changeset 4904


Ignore:
Timestamp:
Aug 30, 2005, 12:35:21 PM (21 years ago)
Author:
Paul Price
Message:

Changes following api-delta

Location:
trunk/doc/pslib
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/doc/pslib/ChangeLogSDRS.tex

    r4903 r4904  
    1 %%% $Id: ChangeLogSDRS.tex,v 1.167 2005-08-30 21:29:38 jhoblitt Exp $
     1%%% $Id: ChangeLogSDRS.tex,v 1.168 2005-08-30 22:35:21 price Exp $
    22
    33\subsection{Changes from version 00 to version 01}
     
    773773\item Added explanatory note about \code{psRegionFromString} and the FITS standard.
    774774\item add \code{psFitsOpenStream()}
    775 \end{itemize}
    776 
     775\item Removed \code{psFixedPattern}.
     776\item Changed \code{format} option for
     777  \code{psMetadataAddS32,psMetadataAddF32,psMetadataAddF64,psMetadataAddBool,psMetadataAddStr}.
     778\item \code{psVectorFitSpline1D} now takes an input \code{psSpline1D},
     779  and an optional error vector.
     780\end{itemize}
     781
  • trunk/doc/pslib/psLibSDRS.tex

    r4903 r4904  
    1 %%% $Id: psLibSDRS.tex,v 1.329 2005-08-30 21:29:38 jhoblitt Exp $
     1%%% $Id: psLibSDRS.tex,v 1.330 2005-08-30 22:35:21 price Exp $
    22\documentclass[panstarrs,spec]{panstarrs}
    33
     
    918918    PS_DATA_ARRAY,                     ///< psArray
    919919    PS_DATA_BITSET,                    ///< psBitSet
    920     PS_DATA_CELL,                      ///< psCell
    921     PS_DATA_CHIP,                      ///< psChip
    922920    PS_DATA_CUBE,                      ///< psCube
    923921    PS_DATA_FITS,                      ///< psFits
     
    940938    PS_DATA_POLYNOMIAL4D,              ///< psPolynomial4D
    941939    PS_DATA_PROJECTION,                ///< psProjection
    942     PS_DATA_READOUT,                   ///< psReadout
    943940    PS_DATA_REGION,                    ///< psRegion
    944941    PS_DATA_SCALAR,                    ///< psScalar
     
    986983bool psMemCheckArray(psPtr ptr);
    987984bool psMemCheckBitSet(psPtr ptr);
    988 bool psMemCheckCell(psPtr ptr);
    989 bool psMemCheckChip(psPtr ptr);
    990985bool psMemCheckCube(psPtr ptr);
    991986bool psMemCheckFits(psPtr ptr);
     
    10081003bool psMemCheckPolynomial4D(psPtr ptr);
    10091004bool psMemCheckProjection(psPtr ptr);
    1010 bool psMemCheckReadout(psPtr ptr);
    10111005bool psMemCheckRegion(psPtr ptr);
    10121006bool psMemCheckScalar(psPtr ptr);
     
    27392733are specified:
    27402734\begin{prototype}
    2741 bool psMetadataAddStr(psMetadata* md, long location, const char* name, const char* comment,
    2742                         const char* value);
    2743 bool psMetadataAddS32(psMetadata* md, long location, const char* name, const char* comment, psS32 value);
    2744 bool psMetadataAddF32(psMetadata* md, long location, const char* name, const char* comment, psF32 value);
    2745 bool psMetadataAddF64(psMetadata* md, long location, const char* name, const char* comment, psF64 value);
    2746 bool psMetadataAddBool(psMetadata* md, long location, const char* name, const char* comment, bool value);
     2735bool psMetadataAddStr(psMetadata* md, long location, const char* name, int format,
     2736                      const char* comment, const char* value);
     2737bool psMetadataAddS32(psMetadata* md, long location, const char* name, int format,
     2738                      const char* comment, psS32 value);
     2739bool psMetadataAddF32(psMetadata* md, long location, const char* name, int format,
     2740                      const char* comment, psF32 value);
     2741bool psMetadataAddF64(psMetadata* md, long location, const char* name, int format,
     2742                      const char* comment, psF64 value);
     2743bool psMetadataAddBool(psMetadata* md, long location, const char* name, int format,
     2744                       const char* comment, bool value);
    27472745bool psMetadataAddPtr(psMetadata* md, long location, const char* name, psDataType type,
    2748                         const char* comment, psPtr value);
     2746                      const char* comment, psPtr value);
    27492747\end{prototype}
    27502748
     
    31003098    psVector *index;                    ///< Index values
    31013099    psArray *values;                    ///< Corresponding values: an array of vectors
    3102     const double validFrom, validTo;     ///< Range of validity
     3100    const double validFrom;             ///< Minimum index value for validity
     3101    const double validTo;               ///< Maximum index value for validity
    31033102} psLookupTable;
    31043103\end{datatype}
     
    31773176and returned as a \code{psVector}, the type of which shall be
    31783177\code{PS_TYPE_F64}.
     3178
     3179\tbd{What's the \code{stats} for???}
    31793180
    31803181If the \code{index} is beyond the range of the \code{table},
     
    43884389    const psVector *bounds;             ///< Bounds for the bins
    43894390    psVector *nums;                     ///< Number in each of the bins
    4390     int minNum, maxNum;                 ///< Number below minimum / above maximum
     4391    int minNum;                         ///< Number below minimum
     4392    int maxNum;                         ///< Number above maximum
    43914393    bool uniform;                       ///< Is it a uniform distribution?
    43924394} psHistogram;
     
    44744476typedef struct {
    44754477    psPolynomialType type;              ///< Polynomial type
    4476     unsigned int nX, nY;                ///< Number of terms in x and y
     4478    unsigned int nX                     ///< Number of terms in x
     4479    unsigned int nY;                    ///< Number of terms in y
    44774480    psF64 **coeff;                      ///< Coefficients
    44784481    psF64 **coeffErr;                   ///< Error in coefficients
     
    45094512To evaluate the polynomials at specific coordinates, we define:
    45104513\begin{prototype}
    4511 psF64 psPolynomial1DEval(const psPolynomial2D *poly,
     4514psF64 psPolynomial1DEval(const psPolynomial1D *poly,
    45124515                         psF64 x);
    45134516psF64 psPolynomial2DEval(const psPolynomial2D *poly,
    45144517                         psF64 x,
    45154518                         psF64 y);               
    4516 psF64 psPolynomial3DEval(const psPolynomial2D *poly,
     4519psF64 psPolynomial3DEval(const psPolynomial3D *poly,
    45174520                         psF64 x,
    45184521                         psF64 y,
    45194522                         psF64 z);                 
    4520 psF64 psPolynomial4DEval(const psPolynomial2D *poly,
     4523psF64 psPolynomial4DEval(const psPolynomial4D *poly,
    45214524                         psF64 x,
    45224525                         psF64 y,
     
    45274530In the event that several evaluations are required, we also define:
    45284531\begin{prototype}
    4529 psVector *psPolynomial1DEvalVector(const psPolynomial2D *poly,
     4532psVector *psPolynomial1DEvalVector(const psPolynomial1D *poly,
    45304533                                   const psVector *x);
    45314534psVector *psPolynomial2DEvalVector(const psPolynomial2D *poly,
    45324535                                   const psVector *x,
    45334536                                   const psVector *y);
    4534 psVector *psPolynomial3DEvalVector(const psPolynomial2D *poly,
     4537psVector *psPolynomial3DEvalVector(const psPolynomial3D *poly,
    45354538                                   const psVector *x,
    45364539                                   const psVector *y,
    45374540                                   const psVector *z);
    4538 psVector *psPolynomial4DEvalVector(const psPolynomial2D *poly,
     4541psVector *psPolynomial4DEvalVector(const psPolynomial4D *poly,
    45394542                                   const psVector *x,
    45404543                                   const psVector *y,
     
    49264929
    49274930\begin{prototype}
    4928 psSpline1D *psVectorFitSpline1D(const psVector *x, const psVector *y, int nKnots);
    4929 \end{prototype}
    4930 \code{psVectorFitSpline1D} shall return the spline that best fits the
    4931 given combination of ordinates (\code{x}) and coordinates (\code{y}).
    4932 The function shall construct a new \code{psSpline1D} using
    4933 \code{nKnots} knots uniformly distributed over \code{x}.  As is the
    4934 case for \code{psVectorFitPolynomial1D}, if \code{x} is \code{NULL},
    4935 then the index of \code{y} shall be used as the ordinate.  This
    4936 function must be valid only for types \code{psF32}, \code{psF64}.
     4931 bool psVectorFitSpline1D(psSpline1D *spline, const psVector *x, const psVector *y,
     4932                          const psVector * yErr);
     4933\end{prototype}
     4934\code{psVectorFitSpline1D} shall fit the code{spline} that best fits
     4935the given combination of ordinates (\code{x}) and coordinates
     4936(\code{y}) with the known errors (\code{yErr}, which may be
     4937\code{NULL}).  As is the case for \code{psVectorFitPolynomial1D}, if
     4938\code{x} is \code{NULL}, then the index of \code{y} shall be used as
     4939the ordinate.  This function must be valid only for types
     4940\code{psF32}, \code{psF64}.
    49374941
    49384942%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     
    56575661/** Specify direction of FFT, and if the result is real or not */
    56585662typedef enum {
    5659     PS_FFT_FORWARD = 0,                 ///< psImageFFT/psVectorFFT should perform a forward FFT.
    5660     PS_FFT_REVERSE = 1,                 ///< psImageFFT/psVectorFFT should perform a reverse FFT.
     5663    PS_FFT_FORWARD = 1,                 ///< psImageFFT/psVectorFFT should perform a forward FFT.
     5664    PS_FFT_REVERSE = 2,                 ///< psImageFFT/psVectorFFT should perform a reverse FFT.
    56615665    PS_FFT_REAL_RESULT = 4              ///< psImageFFT/psVectorFFT should return a real image. This is valid
    56625666                                        ///< for only reverse FFT, i.e., the psImageFFT/psVectorFFT flag
     
    68916895which provides an estimate of the atmospheric refraction, along the parallactic angle.
    68926896
    6893 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    6894 
    6895 \subsection{Fixed Pattern}
    6896 
    6897 The fixed pattern is a correction to the general astrometric solution
    6898 formed by summing the residuals from many observations.  The intent is
    6899 to correct for higher-order distortions in the camera system on a
    6900 coarse grid (larger than individual pixels, but smaller than a single
    6901 cell).  Hence, in addition to the offsets, we need to specify the size
    6902 and scale of the grid in $x$ and $y$, as well as the origin of the
    6903 grid.
    6904 
    6905 \begin{datatype}
    6906 typedef struct {
    6907     int nX;                             ///< Number of elements in x
    6908     int nY;                             ///< Number of elements in y
    6909     double x0;                          ///< Position of 0,0 corner on focal plane
    6910     double y0;                          ///< Position of 0,0 corner on focal plane
    6911     double xScale;                      ///< Scale of the grid
    6912     double yScale;                      ///< Scale of the grid
    6913     double **x;                         ///< The grid of offsets in x
    6914     double **y;                         ///< The grid of offsets in y
    6915 } psFixedPattern;
    6916 \end{datatype}
    6917 
    6918 The constructor for \code{psFixedPattern} shall be:
    6919 \begin{prototype}
    6920 psFixedPattern *psFixedPatternAlloc(double x0,        double y0,
    6921                                     double xScale,    double yScale,
    6922                                     const psImage *x, const psImage *y);
    6923 \end{prototype}
    6924 Here, \code{x0}, \code{y0}, \code{xScale} and \code{yScale} have the
    6925 same meaning as in the \code{psFixedPattern} structure.  Note that the
    6926 values of the fixed pattern offsets are specified as images, the
    6927 values from which need to be copied into the \code{double **x} and
    6928 \code{double **y} of \code{psFixedPattern}, and that the number of
    6929 elements may be derived from the size of the images.
    6930 
    6931 \tbd{Usage of this type is not clear, and awaits prototyping --- do not
    6932 worry about coding this in detail yet.}
    6933 
    69346897%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%5
    69356898
     
    69996962objects, as well as Lunar phase.
    70006963
    7001 \begin{prototype}
     6964\begin{verbatim} %%% XXX: This is set to 'verbatim' instead of 'prototype'
    70026965psSphere *psSunGetPos(psTime *time);
    70036966psTime *psSunGetRise (psTime *twi15, psTime *twi18, const psTime *time);
     
    70126975psTime *psPlanetGetRise (psTime *twi15, psTime *twi18, psTime *time);
    70136976psTime *psPlanetGetSet (psTime *twi15, psTime *twi18, psTime *time);
    7014 \end{prototype}
     6977\end{verbatim}
    70156978
    70166979%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
Note: See TracChangeset for help on using the changeset viewer.