Changeset 3155 for trunk/doc/modules/ModulesSDRS.tex
- Timestamp:
- Feb 7, 2005, 6:56:24 PM (21 years ago)
- File:
-
- 1 edited
-
trunk/doc/modules/ModulesSDRS.tex (modified) (16 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/doc/modules/ModulesSDRS.tex
r3074 r3155 1 %%% $Id: ModulesSDRS.tex,v 1. 29 2005-01-24 21:56:33 price Exp $1 %%% $Id: ModulesSDRS.tex,v 1.30 2005-02-08 04:56:24 eugene Exp $ 2 2 \documentclass[panstarrs]{panstarrs} 3 3 … … 1103 1103 \begin{verbatim} 1104 1104 typedef struct { 1105 p sPeak *peak; // description of peak pixel1105 pmPeak *peak; // description of peak pixel 1106 1106 psImage *pixels; // rectangular region including object pixels 1107 1107 psImage *mask; // mask to mark pixels associated with object in region 1108 p sMoments *moments; // basic moments measure for the object1109 p sModel *models; // model parameters and type1110 p sSourceType type; // best identification of object1111 } p sSource;1108 pmMoments *moments; // basic moments measure for the object 1109 pmModel *models; // model parameters and type 1110 pmSourceType type; // best identification of object 1111 } pmSource; 1112 1112 \end{verbatim} 1113 1113 … … 1120 1120 int y; // y-coordinate of peak pixel 1121 1121 float counts; // value of peak pixel (above sky?) 1122 p sPeakType class; // description of peak1123 } p sPeak;1122 pmPeakType class; // description of peak 1123 } pmPeak; 1124 1124 \end{verbatim} 1125 1125 1126 1126 A peak pixel may have several features which may be determined when 1127 1127 the peak is found or measured. These are specified by the 1128 \code{p sPeakType} enum. \code{PS_PEAK_LONE} represents a single pixel1128 \code{pmPeakType} enum. \code{PM_PEAK_LONE} represents a single pixel 1129 1129 which is higher than its 8 immediate neighbors. The 1130 \code{P S_PEAK_EDGE} represents a peak pixel which touching the image1131 edge. The \code{P S_PEAK_FLAT} represents a peak pixel which has more1130 \code{PM_PEAK_EDGE} represents a peak pixel which touching the image 1131 edge. The \code{PM_PEAK_FLAT} represents a peak pixel which has more 1132 1132 than a specific number of neighbors at the same value, within some 1133 1133 tolarence: 1134 1134 \begin{verbatim} 1135 1135 typedef enum { 1136 P S_PEAK_LONE; // isolated peak1137 P S_PEAK_EDGE; // peak on edge1138 P S_PEAK_FLAT; // peak has equal-value neighbors1139 } p sPeakType;1136 PM_PEAK_LONE; // isolated peak 1137 PM_PEAK_EDGE; // peak on edge 1138 PM_PEAK_FLAT; // peak has equal-value neighbors 1139 } pmPeakType; 1140 1140 \end{verbatim} 1141 1141 … … 1162 1162 float Sky; // sky level (background) 1163 1163 int nPixels; // number of pixels used 1164 } p sMoments;1164 } pmMoments; 1165 1165 \end{verbatim} 1166 1166 … … 1168 1168 function. The description of the model includes the model parameters 1169 1169 and their errors, along with the fit $\chi^2$. The model type is 1170 specified by the enum \code{p sObjectModel}, specified below. We1170 specified by the enum \code{pmObjectModel}, specified below. We 1171 1171 discuss the details of these models in section~\ref{ObjectModels}. 1172 1172 1173 1173 \begin{verbatim} 1174 1174 typedef struct { 1175 p sObjectModel type; // model to be used1175 pmObjectModel type; // model to be used 1176 1176 int Nparams; // number of parameters 1177 1177 float *params; // parameter values 1178 1178 float *dparams; // parameter errors 1179 1179 float chisq; // fit chisq 1180 } p sModel;1180 } pmModel; 1181 1181 \end{verbatim} 1182 1182 1183 1183 \begin{verbatim} 1184 1184 typedef enum { 1185 PS_MODEL_GAUSS; 1186 PS_MODEL_PGAUSS; 1187 PS_MODEL_TWIST_GAUSS; 1188 PS_MODEL_WAUSS; 1189 PS_MODEL_SERSIC; 1190 PS_MODEL_SERSIC_CORE; 1191 } psModelType; 1185 PM_MODEL_GAUSS; 1186 PM_MODEL_PGAUSS; 1187 PM_MODEL_TWIST_GAUSS; 1188 PM_MODEL_WAUSS; 1189 PM_MODEL_SERSIC; 1190 PM_MODEL_SERSIC_CORE; 1191 } pmModelType; 1192 \end{verbatim} 1193 1194 A given source may be identified as most-likey to be one of several 1195 source types. The \code{pmSource} entry \code{pmSourceType} defines 1196 the current best-guess for this source. \tbd{The values given below 1197 are currently illustrative and will require some modification as the 1198 source classification code is developed.} 1199 1200 \begin{verbatim} 1201 typedef enum { 1202 PM_SOURCE_PSFSTAR; 1203 PM_SOURCE_GALAXY; 1204 PM_SOURCE_DEFECT; 1205 PM_SOURCE_SATSTAR; 1206 PM_SOURCE_FAINTSTAR; 1207 PM_SOURCE_BRIGHTSTAR; 1208 } pmSourceType; 1192 1209 \end{verbatim} 1193 1210 … … 1233 1250 making flat-topped regions have single peaks at the (+x,+y) corner. 1234 1251 When selecting the peaks, their type must also be set. The result of 1235 this function is a list of \code{p sPeak} entries.1252 this function is a list of \code{pmPeak} entries. 1236 1253 1237 1254 \tbd{do we need a function psVector *psImageRowVector (psImage *image, int row);} … … 1248 1265 1249 1266 \begin{verbatim} 1250 p sSource *pmSourceLocalSky(const psImage *image, const psPeak *peak, float inner_radius, float outer_radius),1267 pmSource *pmSourceLocalSky(const psImage *image, const pmPeak *peak, float inner_radius, float outer_radius), 1251 1268 \end{verbatim} 1252 1269 … … 1255 1272 specified are used to measure the median \tbd{(clipped mean?) 1256 1273 (statistic from psStats?)} in the vicinity of the the specified peak 1257 coordinates. The resulting sky is applied to the \code{p sMoments}1258 element of the allocated \code{p sSource} structure. The input1259 \code{peak} is also added to the \code{p sSource} element, which is1274 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 1260 1277 returned. 1261 1278 1262 1279 \begin{verbatim} 1263 p sSource *pmSourceMoments(psSource *source, const psImage *image, float radius),1280 pmSource *pmSourceMoments(pmSource *source, const psImage *image, float radius), 1264 1281 \end{verbatim} 1265 1282 … … 1271 1288 1272 1289 \begin{verbatim} 1273 p sSource *pmSourceRoughClass(psSource *source, float saturate, float SNlim, const psRegion *valid);1290 pmSource *pmSourceRoughClass(pmSource *source, float saturate, float SNlim, const psRegion *valid); 1274 1291 \end{verbatim} 1275 1292 … … 1303 1320 1304 1321 \begin{verbatim} 1305 bool pmSourceSetPixelsCircle(p sSource *source, const psImage *image, float radius);1322 bool pmSourceSetPixelsCircle(pmSource *source, const psImage *image, float radius); 1306 1323 \end{verbatim} 1307 1324 … … 1314 1331 1315 1332 \begin{verbatim} 1316 bool pmSourceModelGuess(p sSource *source, const psImage *image);1333 bool pmSourceModelGuess(pmSource *source, const psImage *image); 1317 1334 \end{verbatim} 1318 1335 … … 1323 1340 1324 1341 \begin{verbatim} 1325 psArray *pmSourceContour(const p sSource *source, const psImage *image, float level, int mode);1342 psArray *pmSourceContour(const pmSource *source, const psImage *image, float level, int mode); 1326 1343 \end{verbatim} 1327 1344 1328 1345 Find points in a contour for the given source at the given level. If 1329 mode is \code{P S_CONTOUR_CRUDE}, the contour is found by starting at1346 mode is \code{PM_CONTOUR_CRUDE}, the contour is found by starting at 1330 1347 the source peak, running along each pixel row until the level is 1331 1348 crossed, then interpolating to the level coordinate for that row. … … 1339 1356 1340 1357 \begin{verbatim} 1341 bool pmSourceFitModel(p sSource *source, psImage *image);1358 bool pmSourceFitModel(pmSource *source, psImage *image); 1342 1359 \end{verbatim} 1343 1360 … … 1350 1367 1351 1368 \begin{verbatim} 1352 bool pmSourceAddModel(psImage *image, p sSource *source, bool center);1369 bool pmSourceAddModel(psImage *image, pmSource *source, bool center); 1353 1370 \end{verbatim} 1354 1371 … … 1360 1377 1361 1378 \begin{verbatim} 1362 bool pmSourceSubModel(p sSource *source);1379 bool pmSourceSubModel(pmSource *source); 1363 1380 \end{verbatim} 1364 1381 … … 1388 1405 1389 1406 \begin{verbatim} 1390 float p sMinLM_PseudoGauss2D(psVector *deriv, psVector *params, psVector *x);1407 float pmMinLM_PseudoGauss2D(psVector *deriv, psVector *params, psVector *x); 1391 1408 \end{verbatim} 1392 1409
Note:
See TracChangeset
for help on using the changeset viewer.
