Changeset 3215
- Timestamp:
- Feb 14, 2005, 11:08:35 AM (21 years ago)
- Location:
- trunk/doc/modules
- Files:
-
- 2 edited
-
ChangeLogSDRS.tex (modified) (2 diffs)
-
ModulesSDRS.tex (modified) (11 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/doc/modules/ChangeLogSDRS.tex
r3155 r3215 1 %%% $Id: ChangeLogSDRS.tex,v 1.1 3 2005-02-08 04:56:24eugene Exp $1 %%% $Id: ChangeLogSDRS.tex,v 1.14 2005-02-14 21:08:35 eugene Exp $ 2 2 3 3 \subsection{Changes from version 00 to version 01} … … 45 45 \item added enum psSourceType 46 46 \item Specified appropriate image types for the phase 2 modules (bug 258). 47 \item clarified pmSourceRoughClass 48 \item clarified pmSourceAddModel, pmSourceSubModel 47 49 \end{itemize} -
trunk/doc/modules/ModulesSDRS.tex
r3155 r3215 1 %%% $Id: ModulesSDRS.tex,v 1.3 0 2005-02-08 04:56:24eugene Exp $1 %%% $Id: ModulesSDRS.tex,v 1.31 2005-02-14 21:08:35 eugene Exp $ 2 2 \documentclass[panstarrs]{panstarrs} 3 3 … … 11 11 \project{Pan-STARRS Image Processing Pipeline} 12 12 \organization{Institute for Astronomy} 13 \version{0 3}13 \version{04} 14 14 \docnumber{PSDC-430-012} 15 15 … … 31 31 02 & 2004 Nov 30 & final for cycle 4 \\ \hline 32 32 03 & 2005 Jan 21 & draft for cycle 5 \\ \hline 33 04 & 2005 Feb 14 & final for cycle 5 \\ \hline 33 34 \RevisionsEnd 34 35 … … 1192 1193 \end{verbatim} 1193 1194 1194 A given source may be identified as most-like y to be one of several1195 A given source may be identified as most-likely to be one of several 1195 1196 source types. The \code{pmSource} entry \code{pmSourceType} defines 1196 1197 the current best-guess for this source. \tbd{The values given below … … 1203 1204 PM_SOURCE_GALAXY; 1204 1205 PM_SOURCE_DEFECT; 1206 PM_SOURCE_SATURATED; 1205 1207 PM_SOURCE_SATSTAR; 1206 1208 PM_SOURCE_FAINTSTAR; 1207 1209 PM_SOURCE_BRIGHTSTAR; 1210 PM_SOURCE_OTHER; 1208 1211 } pmSourceType; 1212 \end{verbatim} 1213 1214 \begin{verbatim} 1215 typedef enum { 1216 PM_CONTOUR_CRUDE; 1217 } pmContourType; 1218 \end{verbatim} 1219 1220 Allocators for the above structures are defined as follows: 1221 \begin{verbatim} 1222 pmSource *pmSourceAlloc (); 1223 pmPeak *pmPeakAlloc (int x, int y, float counts, psPeakType class); 1224 pmMoments *pmMomentsAlloc (); 1225 pmModel *pmModelAlloc (pmModelType type); 1209 1226 \end{verbatim} 1210 1227 … … 1216 1233 1217 1234 \begin{verbatim} 1218 psVector *pmFindVectorPeaks(const psVector vector, float threshold);1235 psVector *pmFindVectorPeaks(const psVector *vector, float threshold); 1219 1236 \end{verbatim} 1220 1237 … … 1252 1269 this function is a list of \code{pmPeak} entries. 1253 1270 1254 \tbd{do we need a function psVector *psImageRowVector (psImage *image, int row);}1255 1256 1271 \begin{verbatim} 1257 1272 psList *pmCullPeaks(psList *peaks, float maxvalue, const psRegion *valid); … … 1265 1280 1266 1281 \begin{verbatim} 1267 pmSource *pmSourceLocalSky(const psImage *image, const pmPeak *peak, float inner_radius, float outer_radius),1282 pmSource *pmSourceLocalSky(const psImage *image, const pmPeak *peak, psStatsOptions statsOptions, float innerRadius, float outerRadius); 1268 1283 \end{verbatim} 1269 1284 1270 1285 Measure 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), 1286 image pixels in the square annulus with inner and outer half-width 1287 ('square-radii') as specified are used to measure the local background 1288 in the vicinity of the the specified peak coordinates. The local 1289 background measurement uses the specified statistic passed in via the 1290 \code{stats} entry. This function allocates a \code{pmSource} 1291 structure and uses the resulting sky to set the value of the 1292 \code{pmMoments.sky} element of that \code{pmSource} structure. The 1293 input \code{peak} is also placed on the \code{pmSource} structure, 1294 which is then returned. 1295 1296 \begin{verbatim} 1297 bool pmSourceMoments(pmSource *source, const psImage *image, float radius); 1281 1298 \end{verbatim} 1282 1299 1283 1300 Measure 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 1302 the peak coordinates as the initial source location. The resulting 1303 moment values are applied to the \code{source.moments} entry, and the 1304 source is returned. The moments are measured within the given 1305 circular radius of the \code{source.peak} coordinates. The return 1306 value indicates the success (TRUE) of the operation. 1307 1308 \begin{verbatim} 1309 bool pmSourceRoughClass(pmArray *source, psMetadata *metadata); 1291 1310 \end{verbatim} 1292 1311 1293 1312 Based on the specified data values, make a guess at the source 1294 classification. 1313 classification. The sources are provides as a \code{psArray} of 1314 \code{psSource} entries. Definable parameters needed to make the 1315 classification are provided to the routine with the \code{psMetadata} 1316 structure. The rules below refer to values which can be extracted 1317 from the metadata using the given keywords. Except as noted, the data 1318 type for these parameters are \code{psF32}. 1319 1320 The following rules are used to make the classification. Sources with 1321 peak pixel above the value of \code{SATURATE} are identified as type 1322 \code{PM_SOURCE_SATURATED}. For the remaining sources, the signal to 1323 noise of the detection is approximated by: 1324 \[ 1325 SN = \frac{S \sqrt{g}}{\sqrt{S + A B + \frac{A R_e^2}{\sqrt{g}}}} 1326 \] 1327 where 1328 \[ 1329 A = \pi \sigma_x \sigma_y 1330 \] 1331 and $\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, 1334 stored with the metadata keyword \code{GAIN} and the read-noise in 1335 electrons, stored with the metadata keyword \code{READ_NOISE}. 1336 1337 Sources 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 1340 sources are used to determine a guess at the shape of the PSF, based 1341 on the collection of $\sigma_x$ and $\sigma_y$ values. 1342 1343 The 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 1345 represent this plane. The units of $\sigma_x$ and $\sigma_y$ are in 1346 image pixel. A pixel in this analysis image represents 0.1 pixels in 1347 the input image. The dimensions of the image need only be 10 pixels. 1348 The peak pixel in this image (above a threshold of half of the image 1349 maximum) is found. The coordinates of this peak pixel represent the 1350 2D 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 1352 calculate the median and standard deviation of the $\sigma_x, 1353 \sigma_y$ values. These resulting values are placed back on the 1354 metadata structure with the metadata names \code{PSF_CLUMP_X}, 1355 \code{PSF_CLUMP_dX} and \code{PSF_CLUMP_Y}, \code{PSF_CLUMP_dY}. 1356 1357 All sources with: 1358 \[ |\sigma_x - \mbox{CLUMP}_x| < \mbox{CLUMP}_{dx}\] 1359 and 1360 \[ |\sigma_y - \mbox{CLUMP}_y| < \mbox{CLUMP}_{dy}\] 1361 should be identified as type \code{PM_SOURCE_PSFSTAR}. Sources with 1362 \[ \sigma_x < \mbox{CLUMP}_{x} - \mbox{CLUMP}_{dx}\] 1363 and 1364 \[ \sigma_y < \mbox{CLUMP}_{y} - \mbox{CLUMP}_{dy}\] 1365 should be identified as type \code{PM_SOURCE_DEFECT}. Sources with 1366 \[ \sigma_x > \mbox{CLUMP}_{x} + \mbox{CLUMP}_{dx}\] 1367 and 1368 \[ \sigma_y > \mbox{CLUMP}_{y} + \mbox{CLUMP}_{dy}\] 1369 should be identified as type \code{PM_SOURCE_GALAXY}. All other 1370 sources should be identified as type \code{PM_SOURCE_OTHER}. 1371 \tbd{need to exclude stars outside valid data region}. 1372 1373 The return value indicates the success (TRUE) of the operation. 1295 1374 1296 1375 \subsection{Object Fitting} … … 1320 1399 1321 1400 \begin{verbatim} 1322 bool pmSourceSetPixelsCircle(pmSource *source, const psImage *image, float radius );1401 bool pmSourceSetPixelsCircle(pmSource *source, const psImage *image, float radius, int maskVal); 1323 1402 \end{verbatim} 1324 1403 … … 1326 1405 This operation creates the \code{source.pixels} and \code{source.mask} 1327 1406 entries 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 1407 source centroid, if the \code{pmSource.pmMoments} entry exists, or 1408 \code{pmSource.pmPeak} if it does not. The \code{source.pixels} is a 1409 subimage of the input image. The function returns \code{TRUE} on 1410 success or \code{FALSE} on failure. 1411 1412 \begin{verbatim} 1413 bool pmSourceModelGuess(pmSource *source, const psImage *image, pmModelType model); 1414 \end{verbatim} 1415 1416 Convert available data to an initial guess for the given model. This 1417 function allocates a \code{pmModel} entry for the \code{pmSource} 1418 structure based on the provided model selection. The method of 1419 defining the model parameter guesses are specified for each model 1420 below. The guess values are placed in the model parameters. The 1339 1421 function returns \code{TRUE} on success or \code{FALSE} on failure. 1340 1422 1341 1423 \begin{verbatim} 1342 psArray *pmSourceContour(const pmSource *source, const psImage *image, float level, int mode);1424 psArray *pmSourceContour(const pmSource *source, const psImage *image, float level, pmContourType type); 1343 1425 \end{verbatim} 1344 1426 1345 1427 Find points in a contour for the given source at the given level. If 1346 modeis \code{PM_CONTOUR_CRUDE}, the contour is found by starting at1428 \code{type} is \code{PM_CONTOUR_CRUDE}, the contour is found by starting at 1347 1429 the source peak, running along each pixel row until the level is 1348 1430 crossed, then interpolating to the level coordinate for that row. 1349 1431 This is done for each row, with the starting point determined by the 1350 1432 midpoint of the previous row, until the starting point has a value 1351 below the contour level. The re sulting contour consists of two1352 vectors giving the x and y coordinates of the contour levels. This 1353 functionmay be used as part of the model guess inputs.1354 1355 \tbd{Other modes may be specified in the future for more refined contours}1433 below the contour level. The returned contour consists of two vectors 1434 giving the x and y coordinates of the contour levels. This function 1435 may 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} 1356 1438 1357 1439 \begin{verbatim} … … 1367 1449 1368 1450 \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. 1451 bool pmSourceAddModel(psImage *image, pmSource *source, bool center, bool sky); 1452 bool pmSourceSubModel(psImage *image, pmSource *source, bool center, bool sky); 1453 \end{verbatim} 1454 1455 Add or subtract the given source model flux to/from the provided 1456 image. The boolean option \code{center} selects if the source is 1457 recentered to the image center or if it is placed at its centroid 1458 location. The boolean option \code{sky} selects if the background sky 1459 is applied (\code{TRUE}) or not. The pixel range in the target image 1460 is at most the pixel range specified by the \code{source.pixels} 1461 image. The success status is returned. 1384 1462 1385 1463 \subsection{Basic Object Models}
Note:
See TracChangeset
for help on using the changeset viewer.
