IPP Software Navigation Tools IPP Links Communication Pan-STARRS Links

Changeset 3215


Ignore:
Timestamp:
Feb 14, 2005, 11:08:35 AM (21 years ago)
Author:
eugene
Message:

updates for final cycle 5

Location:
trunk/doc/modules
Files:
2 edited

Legend:

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

    r3155 r3215  
    1 %%% $Id: ChangeLogSDRS.tex,v 1.13 2005-02-08 04:56:24 eugene Exp $
     1%%% $Id: ChangeLogSDRS.tex,v 1.14 2005-02-14 21:08:35 eugene Exp $
    22
    33\subsection{Changes from version 00 to version 01}
     
    4545\item added enum psSourceType
    4646\item Specified appropriate image types for the phase 2 modules (bug 258).
     47\item clarified pmSourceRoughClass
     48\item clarified pmSourceAddModel, pmSourceSubModel
    4749\end{itemize}
  • trunk/doc/modules/ModulesSDRS.tex

    r3155 r3215  
    1 %%% $Id: ModulesSDRS.tex,v 1.30 2005-02-08 04:56:24 eugene Exp $
     1%%% $Id: ModulesSDRS.tex,v 1.31 2005-02-14 21:08:35 eugene Exp $
    22\documentclass[panstarrs]{panstarrs}
    33
     
    1111\project{Pan-STARRS Image Processing Pipeline}
    1212\organization{Institute for Astronomy}
    13 \version{03}
     13\version{04}
    1414\docnumber{PSDC-430-012}
    1515
     
    313102 & 2004 Nov 30 & final for cycle 4 \\ \hline
    323203 & 2005 Jan 21 & draft for cycle 5 \\ \hline
     3304 & 2005 Feb 14 & final for cycle 5 \\ \hline
    3334\RevisionsEnd
    3435
     
    11921193\end{verbatim}
    11931194
    1194 A given source may be identified as most-likey to be one of several
     1195A given source may be identified as most-likely to be one of several
    11951196source types.  The \code{pmSource} entry \code{pmSourceType} defines
    11961197the current best-guess for this source.  \tbd{The values given below
     
    12031204  PM_SOURCE_GALAXY;
    12041205  PM_SOURCE_DEFECT;
     1206  PM_SOURCE_SATURATED;
    12051207  PM_SOURCE_SATSTAR;
    12061208  PM_SOURCE_FAINTSTAR;
    12071209  PM_SOURCE_BRIGHTSTAR;
     1210  PM_SOURCE_OTHER;
    12081211} pmSourceType;
     1212\end{verbatim}
     1213
     1214\begin{verbatim}
     1215typedef enum {
     1216  PM_CONTOUR_CRUDE;
     1217} pmContourType;
     1218\end{verbatim}
     1219
     1220Allocators for the above structures are defined as follows:
     1221\begin{verbatim}
     1222pmSource   *pmSourceAlloc ();
     1223pmPeak     *pmPeakAlloc (int x, int y, float counts, psPeakType class);
     1224pmMoments  *pmMomentsAlloc ();
     1225pmModel    *pmModelAlloc (pmModelType type);
    12091226\end{verbatim}
    12101227
     
    12161233
    12171234\begin{verbatim}
    1218 psVector *pmFindVectorPeaks(const psVector vector, float threshold);
     1235psVector *pmFindVectorPeaks(const psVector *vector, float threshold);
    12191236\end{verbatim}
    12201237
     
    12521269this function is a list of \code{pmPeak} entries.
    12531270
    1254 \tbd{do we need a function psVector *psImageRowVector (psImage *image, int row);}
    1255 
    12561271\begin{verbatim}
    12571272psList *pmCullPeaks(psList *peaks, float maxvalue, const psRegion *valid);
     
    12651280
    12661281\begin{verbatim}
    1267 pmSource *pmSourceLocalSky(const psImage *image, const pmPeak *peak, float inner_radius, float outer_radius),
     1282pmSource *pmSourceLocalSky(const psImage *image, const pmPeak *peak, psStatsOptions statsOptions, float innerRadius, float outerRadius);
    12681283\end{verbatim}
    12691284
    12701285Measure the local sky in the vicinity of the given \code{peak}.  The
    1271 image pixels in the square annulus with inner and outer radii as
    1272 specified are used to measure the median \tbd{(clipped mean?)
    1273 (statistic from psStats?)} in the vicinity of the the specified peak
    1274 coordinates.  The resulting sky is applied to the \code{pmMoments}
    1275 element of the allocated \code{pmSource} structure.  The input
    1276 \code{peak} is also added to the \code{pmSource} element, which is
    1277 returned.
    1278 
    1279 \begin{verbatim}
    1280 pmSource *pmSourceMoments(pmSource *source, const psImage *image, float radius),
     1286image pixels in the square annulus with inner and outer half-width
     1287('square-radii') as specified are used to measure the local background
     1288in the vicinity of the the specified peak coordinates.  The local
     1289background measurement uses the specified statistic passed in via the
     1290\code{stats} entry.  This function allocates a \code{pmSource}
     1291structure and uses the resulting sky to set the value of the
     1292\code{pmMoments.sky} element of that \code{pmSource} structure.  The
     1293input \code{peak} is also placed on the \code{pmSource} structure,
     1294which is then returned.
     1295
     1296\begin{verbatim}
     1297bool pmSourceMoments(pmSource *source, const psImage *image, float radius);
    12811298\end{verbatim}
    12821299
    12831300Measure source moments for the given \code{source}, using the value of
    1284 \code{source.moments.sky} provided as the local background value.  The
    1285 resulting moment values are applied to the \code{source.moments}
    1286 entry, and the source is returned.  The moments are measured within
    1287 the given radius of the \code{source.peak} coordinates.
    1288 
    1289 \begin{verbatim}
    1290 pmSource *pmSourceRoughClass(pmSource *source, float saturate, float SNlim, const psRegion *valid);
     1301\code{source.moments.sky} provided as the local background value and
     1302the peak coordinates as the initial source location.  The resulting
     1303moment values are applied to the \code{source.moments} entry, and the
     1304source is returned.  The moments are measured within the given
     1305circular radius of the \code{source.peak} coordinates.  The return
     1306value indicates the success (TRUE) of the operation.
     1307
     1308\begin{verbatim}
     1309bool pmSourceRoughClass(pmArray *source, psMetadata *metadata);
    12911310\end{verbatim}
    12921311
    12931312Based on the specified data values, make a guess at the source
    1294 classification. 
     1313classification.  The sources are provides as a \code{psArray} of
     1314\code{psSource} entries.  Definable parameters needed to make the
     1315classification are provided to the routine with the \code{psMetadata}
     1316structure.  The rules below refer to values which can be extracted
     1317from the metadata using the given keywords.  Except as noted, the data
     1318type for these parameters are \code{psF32}.
     1319
     1320The following rules are used to make the classification.  Sources with
     1321peak pixel above the value of \code{SATURATE} are identified as type
     1322\code{PM_SOURCE_SATURATED}.  For the remaining sources, the signal to
     1323noise of the detection is approximated by:
     1324\[
     1325SN = \frac{S \sqrt{g}}{\sqrt{S + A B + \frac{A R_e^2}{\sqrt{g}}}}
     1326\]
     1327where
     1328\[
     1329A = \pi \sigma_x \sigma_y
     1330\]
     1331and $\sigma_x$ is \code{pmMoment.Sx}, $\sigma_y$ is
     1332\code{pmMoment.Sy}, $B$ is \code{pmMoment.Sky} and $S$ is
     1333\code{pmMoment.Sum}. The two parameters, $g$ and $R_e$ are the gain,
     1334stored with the metadata keyword \code{GAIN} and the read-noise in
     1335electrons, stored with the metadata keyword \code{READ_NOISE}.
     1336
     1337Sources with $SN$ less than \code{FAINT_SN_LIM} are identified as type
     1338\code{PM_SOURCE_FAINTSTAR}.  Sources with $SN$ greater than
     1339\code{PSF_SN_LIM} are then selected as possible PSF stars.  These
     1340sources are used to determine a guess at the shape of the PSF, based
     1341on the collection of $\sigma_x$ and $\sigma_y$ values.
     1342
     1343The goal is to identify and characterize the stellar clump within the
     1344$\sigma_x, \sigma_y$ plane.  To do this, an image is constructed to
     1345represent this plane.  The units of $\sigma_x$ and $\sigma_y$ are in
     1346image pixel.  A pixel in this analysis image represents 0.1 pixels in
     1347the input image.  The dimensions of the image need only be 10 pixels.
     1348The peak pixel in this image (above a threshold of half of the image
     1349maximum) is found.  The coordinates of this peak pixel represent the
     13502D mode of the $\sigma_x, \sigma_y$ distribution.  The sources with
     1351$\sigma_x, \sigma_y$ within 0.2 pixels of this value are then used to
     1352calculate the median and standard deviation of the $\sigma_x,
     1353\sigma_y$ values.  These resulting values are placed back on the
     1354metadata structure with the metadata names \code{PSF_CLUMP_X},
     1355\code{PSF_CLUMP_dX} and \code{PSF_CLUMP_Y}, \code{PSF_CLUMP_dY}.
     1356
     1357All sources with:
     1358\[ |\sigma_x - \mbox{CLUMP}_x| < \mbox{CLUMP}_{dx}\]
     1359and
     1360\[ |\sigma_y - \mbox{CLUMP}_y| < \mbox{CLUMP}_{dy}\]
     1361should be identified as type \code{PM_SOURCE_PSFSTAR}.  Sources with
     1362\[ \sigma_x < \mbox{CLUMP}_{x} - \mbox{CLUMP}_{dx}\]
     1363and
     1364\[ \sigma_y < \mbox{CLUMP}_{y} - \mbox{CLUMP}_{dy}\]
     1365should be identified as type \code{PM_SOURCE_DEFECT}.  Sources with
     1366\[ \sigma_x > \mbox{CLUMP}_{x} + \mbox{CLUMP}_{dx}\]
     1367and
     1368\[ \sigma_y > \mbox{CLUMP}_{y} + \mbox{CLUMP}_{dy}\]
     1369should be identified as type \code{PM_SOURCE_GALAXY}.  All other
     1370sources should be identified as type \code{PM_SOURCE_OTHER}.
     1371\tbd{need to exclude stars outside valid data region}.
     1372
     1373The return value indicates the success (TRUE) of the operation.
    12951374
    12961375\subsection{Object Fitting}
     
    13201399
    13211400\begin{verbatim}
    1322 bool pmSourceSetPixelsCircle(pmSource *source, const psImage *image, float radius);
     1401bool pmSourceSetPixelsCircle(pmSource *source, const psImage *image, float radius, int maskVal);
    13231402\end{verbatim}
    13241403
     
    13261405This operation creates the \code{source.pixels} and \code{source.mask}
    13271406entries for the source based on a circular aperture centered on the
    1328 source centroid (or peak?).  The \code{source.pixels} is a subimage of
    1329 the input image.  The function returns \code{TRUE} on success or
    1330 \code{FALSE} on failure.
    1331 
    1332 \begin{verbatim}
    1333 bool pmSourceModelGuess(pmSource *source, const psImage *image);
    1334 \end{verbatim}
    1335 
    1336 Convert available data to an initial guess for the given model.  The
    1337 method of defining the model parameter guesses are specified for each
    1338 model below.  The guess values are placed in the model parameters.  The
     1407source centroid, if the \code{pmSource.pmMoments} entry exists, or
     1408\code{pmSource.pmPeak} if it does not.  The \code{source.pixels} is a
     1409subimage of the input image.  The function returns \code{TRUE} on
     1410success or \code{FALSE} on failure.
     1411
     1412\begin{verbatim}
     1413bool pmSourceModelGuess(pmSource *source, const psImage *image, pmModelType model);
     1414\end{verbatim}
     1415
     1416Convert available data to an initial guess for the given model.  This
     1417function allocates a \code{pmModel} entry for the \code{pmSource}
     1418structure based on the provided model selection.  The method of
     1419defining the model parameter guesses are specified for each model
     1420below.  The guess values are placed in the model parameters.  The
    13391421function returns \code{TRUE} on success or \code{FALSE} on failure.
    13401422
    13411423\begin{verbatim}
    1342 psArray *pmSourceContour(const pmSource *source, const psImage *image, float level, int mode);
     1424psArray *pmSourceContour(const pmSource *source, const psImage *image, float level, pmContourType type);
    13431425\end{verbatim}
    13441426
    13451427Find points in a contour for the given source at the given level.  If
    1346 mode is \code{PM_CONTOUR_CRUDE}, the contour is found by starting at
     1428\code{type} is \code{PM_CONTOUR_CRUDE}, the contour is found by starting at
    13471429the source peak, running along each pixel row until the level is
    13481430crossed, then interpolating to the level coordinate for that row.
    13491431This is done for each row, with the starting point determined by the
    13501432midpoint of the previous row, until the starting point has a value
    1351 below the contour level.  The resulting contour consists of two
    1352 vectors giving the x and y coordinates of the contour levels.  This
    1353 function may be used as part of the model guess inputs.
    1354 
    1355 \tbd{Other modes may be specified in the future for more refined contours}
     1433below the contour level.  The returned contour consists of two vectors
     1434giving the x and y coordinates of the contour levels.  This function
     1435may be used as part of the model guess inputs.
     1436
     1437\tbd{Other contour types may be specified in the future for more refined contours}
    13561438
    13571439\begin{verbatim}
     
    13671449
    13681450\begin{verbatim}
    1369 bool pmSourceAddModel(psImage *image, pmSource *source, bool center);
    1370 \end{verbatim}
    1371 
    1372 Add the given source model flux to the provided image.  The boolean
    1373 option center selects if the source is recentered to the image center
    1374 or if it is placed at its centroid location.  The pixel range in the
    1375 target image is at most the pixel range specified by the
    1376 \code{source.pixels} image.  The success status is returned. 
    1377 
    1378 \begin{verbatim}
    1379 bool pmSourceSubModel(pmSource *source);
    1380 \end{verbatim}
    1381 
    1382 Subtract the model from its image pixels given by
    1383 \code{source.pixels}.  The success status is returned. 
     1451bool pmSourceAddModel(psImage *image, pmSource *source, bool center, bool sky);
     1452bool pmSourceSubModel(psImage *image, pmSource *source, bool center, bool sky);
     1453\end{verbatim}
     1454
     1455Add or subtract the given source model flux to/from the provided
     1456image.  The boolean option \code{center} selects if the source is
     1457recentered to the image center or if it is placed at its centroid
     1458location.  The boolean option \code{sky} selects if the background sky
     1459is applied (\code{TRUE}) or not.  The pixel range in the target image
     1460is at most the pixel range specified by the \code{source.pixels}
     1461image.  The success status is returned.
    13841462
    13851463\subsection{Basic Object Models}
Note: See TracChangeset for help on using the changeset viewer.