IPP Software Navigation Tools IPP Links Communication Pan-STARRS Links

Changeset 4176


Ignore:
Timestamp:
Jun 8, 2005, 7:15:49 PM (21 years ago)
Author:
eugene
Message:

moved image hierarch from psLib, added model abstractions, pmPSF

Location:
trunk/doc/modules
Files:
1 added
2 edited

Legend:

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

    r4091 r4176  
    1 %%% $Id: ChangeLogSDRS.tex,v 1.21 2005-06-02 21:22:40 price Exp $
     1%%% $Id: ChangeLogSDRS.tex,v 1.22 2005-06-09 05:15:49 eugene Exp $
    22
    33\subsection{Changes from version 00 (16 August 2004) to version 01 (12 October 2004)}
     
    7474\item Added \code{masks} to \code{pmRejectPixels}.
    7575\item Added \code{size} and \code{spatialOrder} to \code{pmSubtractionKernels}.
     76\item added Image Hierarchy section from psLibSDRS
     77\item added photometry section from psLibSDRS
     78\item added object function abstractions to Objects
     79\item modified pmSource to include modelPSF and modelFLT
    7680\end{itemize}
  • trunk/doc/modules/ModulesSDRS.tex

    r4091 r4176  
    1 %%% $Id: ModulesSDRS.tex,v 1.43 2005-06-02 21:22:40 price Exp $
     1%%% $Id: ModulesSDRS.tex,v 1.44 2005-06-09 05:15:49 eugene Exp $
    22\documentclass[panstarrs]{panstarrs}
    33
     
    204204psRegion *pmConfigLookupRegion (psMetadata *config, psMetadata *header, char *name);
    205205\end{prototype}
     206
     207\input{CameraImages.tex}
    206208
    207209\section{Camera Data Organization \& Camera Geometry}
     
    573575\end{prototype}
    574576
     577\section{Photometry}
     578
     579\tbd{This section is to be deferred, and for now consists only of
     580place holders, with no functional items.}
     581
     582Photometric observations are performed in an instrumental photometric
     583system, and must be related to other photometric systems.  We
     584require a data structure which defines a photometric system, as well
     585as a structure to define the transformation between photometric
     586systems.
     587
     588The photometric system is defined by the psPhotSystem structure. 
     589A photometric system is identified by a human-readable \code{name}
     590(ie, SDSS.g, Landolt92.B, GPC1.OTA32.r).  Each photometric system is
     591given a unique identifier \code{ID}.  Observations taken with a
     592specific camera, detector, and filter represent their own photometric
     593system, and it may be necessary to perform transformations between
     594these systems.  Photometric systems associated with observations from
     595a specific camera/detector/filter combination can be associated with
     596those components.
     597\begin{datatype}
     598typedef struct {
     599    const int ID;                       ///< ID number for this photometric system
     600    const char *name;                   ///< Name of photometric system
     601    const char *camera;                 ///< Camera for photometric system
     602    const char *filter;                 ///< Filter used for photometric system
     603    const char *detector;               ///< Detector used for photometric system
     604} psPhotSystem;
     605\end{datatype}
     606
     607The following structure defines the transformation between two
     608photometric systems.
     609\begin{datatype}
     610typedef struct {
     611    psPhotSystem src;                   ///< Source photometric system
     612    psPhotSystem dst;                   ///< Destination photometric system
     613    psPhotSystem pP, pM;                ///< Primary color reference
     614    psPhotSystem sP, sM;                ///< Secondary color reference
     615    float pA, sA;                       ///< Color offset for references
     616    psPolynomial3D transform;           ///< Transformation from source to destination
     617} psPhotTransform;
     618\end{datatype}
     619
     620The transformation between two photometric systems may depend on the
     621airmass of the observation and on the colors of the object of
     622interest.  For a specific observation, such a transformations can be
     623defined as a polynomial function of the color of the star and the
     624airmass of the observations.  If sufficient data exists, the
     625transformation between the photometric systems may include more than
     626one color, constraining the curvature of the stellar spectral energy
     627distributions.  This latter term may be significant for stars which
     628are highly reddened, for example.  Derived photometric quantities may
     629have been corrected for airmass variations, in which case only color
     630terms may be measurable.  The structure defines the transformation
     631between a source photometric system (\code{src}) and a target
     632photometric system (\code{dst}).  The photometric system of a primary
     633color is defined by \code{pP, pM} such that the color is constructed
     634as $pP - pM$.  A secondary color is defined by \code{sP, sM}.  For
     635both, a reference color is specified (\code{pA, sA}): the polynomial
     636transformation terms refer to colors in the form $pP - pM - pA$.  The
     637transformation is specified as a 3D polynomial.  For a star of
     638magnitude $M_{\rm src}$ in the source photometric system, with
     639additional magnitude information in the other systems $M_{\rm pP}$,
     640$M_{\rm pM}$, $M_{\rm sP}$, $M_{\rm sM}$, observed at an airmass of
     641$z$, the magnitude of the star in the target system $M_{\rm dst}$ is
     642given by: $M_{\rm dst} = M_{\rm src} + transform(z, M_{\rm pP} -
     643M_{\rm pM} - pA, M_{\rm sP} - M_{\rm sM} - sA)$.
     644
    575645\section{Phase 2}
    576646
     
    11121182  psImage *mask;           // mask to mark pixels associated with object in region
    11131183  pmMoments *moments;      // basic moments measure for the object
    1114   pmModel *models;         // model parameters and type
     1184  pmModel *modelPSF;       // PSF model parameters and type
     1185  pmModel *modelFLT;       // FLT model parameters and type
    11151186  pmSourceType type;       // best identification of object
    11161187} pmSource;
     
    11731244function.  The description of the model includes the model parameters
    11741245and their errors, along with the fit $\chi^2$.  The model type is
    1175 specified by the enum \code{pmObjectModel}, specified below.  We
    1176 discuss the details of these models in section~\ref{ObjectModels}.
     1246identified by code \code{type}, dynamically assigned based on the
     1247available models (see below).  We discuss the details of these models
     1248in section~\ref{ObjectModels}.  The model parameters have 4 special
     1249elements.  The first four elements represent aspects of the source
     1250which are not specified by the image PSF, even for point sources. 
     1251These consist of, in order:
     1252\begin{itemize}
     1253\item the local sky
     1254\item the object normalization
     1255\item the x-coordinate
     1256\item the y-coordinate
     1257\end{itemize}
     1258
     1259Every source may have two types of models: a PSF model and a FLT
     1260(floating) model.  The PSF model represents the best fit of the image
     1261PSF to the specific object.  In this case, the PSF-dependent
     1262parameters are specified for the object by the PSF, not by the fit.
     1263The FLT model represents the best fit of the given model to the
     1264object, with all parameters floating in the fit.
    11771265
    11781266\begin{datatype}
    11791267typedef struct {
    1180   pmObjectModel type;       // model to be used
    1181   psVector *params;            // parameter values
    1182   psVector *dparams;           // parameter errors
     1268  psS32 type;               // model to be used
     1269  psVector *params;         // parameter values
     1270  psVector *dparams;        // parameter errors
    11831271  psF32 chisq;              // fit chisq
    1184   psS32 nDOF;           // number of degrees of freedom
    1185   psS32 nIter;          // number of iterations
     1272  psS32 nDOF;               // number of degrees of freedom
     1273  psS32 nIter;              // number of iterations
    11861274} pmModel;
    1187 \end{datatype}
    1188 
    1189 \begin{datatype}
    1190 typedef enum {
    1191   PM_MODEL_GAUSS;
    1192   PM_MODEL_PGAUSS;
    1193   PM_MODEL_TWIST_GAUSS;
    1194   PM_MODEL_WAUSS;
    1195   PM_MODEL_SERSIC;
    1196   PM_MODEL_SERSIC_CORE;
    1197 } pmModelType;
    11981275\end{datatype}
    11991276
     
    12171294\end{datatype}
    12181295
     1296It is useful to generate a model to define the point-spread-function
     1297which describes the flux distribution for unresolved sources in an
     1298image.  In general, the PSF varies with position in the image.  We
     1299allow any of the source models defined for the \code{pmModel} to
     1300represent the PSF.  For a given source model, the 2D spatial variation
     1301of all of the source parameters, except the first four PSF-independent
     1302parameters, are represented as polynomial, stored in a \code{psArray}.
     1303The other elements of the structure define the quality of the PSF
     1304determination.
     1305
     1306\begin{datatype}
     1307typedef struct {
     1308    psS32 type;             ///< PSF Model in use
     1309    psArray *params;        ///< Model parameters (psPolynomial2D)
     1310    psF32 chisq;            ///< PSF goodness statistic
     1311    psS32 nPSFstars;        ///< number of stars used to measure PSF
     1312} pmPSF;
     1313\end{datatype}
     1314
    12191315\begin{datatype}
    12201316typedef enum {
     
    12301326pmModel    *pmModelAlloc (pmModelType type);
    12311327\end{prototype}
     1328
     1329\subsection{Object Model Abstraction}
     1330
     1331The object model functions are defined to allow for the flexible
     1332addition of new object models.  Every object model, with parameters
     1333represented by \code{pmModel}, has an associated set of functions
     1334which provide necessary support operations.  A set of abstract
     1335functions allow the programmer to select the approriate function or
     1336property for a specific named object model.
     1337
     1338The following function concepts are provided by each model.
     1339
     1340\begin{prototype}
     1341typedef psMinimizeLMChi2Func psModelFunc;
     1342\end{prototype}
     1343This function is the model chi-square minimization function for this
     1344model.
     1345
     1346\begin{prototype}
     1347typedef psF64 (*psModelFlux)(const psVector *params);
     1348\end{prototype}
     1349This function returns the integrated flux for the given model
     1350parameters.
     1351
     1352\begin{prototype}
     1353typedef bool (*psModelGuessFunc)(psModel *model, psSource *source);
     1354\end{prototype}
     1355This function provides the model guess parameters based on the details
     1356of the given source.
     1357
     1358\begin{prototype}
     1359typedef bool (*psModelFromPSFFunc)(psModel *modelPSF, psModel *modelFLT, pmPSF *psf);
     1360\end{prototype}
     1361This function constructs the PSF model for the given source based on
     1362the supplied \code{psf} and the FLT model for the object. 
     1363
     1364\begin{prototype}
     1365typedef psF64 (*psModelRadius)(const psVector *params, double flux);
     1366\end{prototype}
     1367This function returns the radius at which the given model and
     1368parameters achieves the given flux.
     1369
     1370Each of the function types above has a corresponding function which
     1371returns the function given the model type:
     1372\begin{prototype}
     1373psModelFunc psModelFunc_GetFunction (psModelType type);
     1374psModelFlux psModelFlux_GetFunction (psModelType type);
     1375psModelGuessFunc psModelGuessFunc_GetFunction (psModelType type);
     1376psModelFromPSFFunc psModelFromPSFFunc_GetFunction (psModelType type);
     1377psModelRadius psModelRadius_GetFunction (psModelType type);
     1378\end{prototype}
     1379
     1380In addition, the following utility functions return information about
     1381the specified model:
     1382
     1383\begin{prototype}
     1384psS32 psModelParameterCount (psModelType type);
     1385psS32 psModelSetType (char *name);
     1386char *psModelGetType (psModelType type);
     1387\end{prototype}
     1388\code{psModelParameterCount} returns the number of parameters for the
     1389given model.  The remaining functions lookup the name or identifying
     1390code for the model from the other concept.  Model names are character
     1391strings in all caps of the form \code{GAUSS}.  Names are invarient
     1392between multiple compliations of the library, but the model numbers
     1393are not and should only be used within programs.
    12321394
    12331395\subsection{Basic Object Detection APIs}
Note: See TracChangeset for help on using the changeset viewer.