Changeset 4176
- Timestamp:
- Jun 8, 2005, 7:15:49 PM (21 years ago)
- Location:
- trunk/doc/modules
- Files:
-
- 1 added
- 2 edited
-
CameraImages.tex (added)
-
ChangeLogSDRS.tex (modified) (2 diffs)
-
ModulesSDRS.tex (modified) (7 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/doc/modules/ChangeLogSDRS.tex
r4091 r4176 1 %%% $Id: ChangeLogSDRS.tex,v 1.2 1 2005-06-02 21:22:40 price Exp $1 %%% $Id: ChangeLogSDRS.tex,v 1.22 2005-06-09 05:15:49 eugene Exp $ 2 2 3 3 \subsection{Changes from version 00 (16 August 2004) to version 01 (12 October 2004)} … … 74 74 \item Added \code{masks} to \code{pmRejectPixels}. 75 75 \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 76 80 \end{itemize} -
trunk/doc/modules/ModulesSDRS.tex
r4091 r4176 1 %%% $Id: ModulesSDRS.tex,v 1.4 3 2005-06-02 21:22:40 price Exp $1 %%% $Id: ModulesSDRS.tex,v 1.44 2005-06-09 05:15:49 eugene Exp $ 2 2 \documentclass[panstarrs]{panstarrs} 3 3 … … 204 204 psRegion *pmConfigLookupRegion (psMetadata *config, psMetadata *header, char *name); 205 205 \end{prototype} 206 207 \input{CameraImages.tex} 206 208 207 209 \section{Camera Data Organization \& Camera Geometry} … … 573 575 \end{prototype} 574 576 577 \section{Photometry} 578 579 \tbd{This section is to be deferred, and for now consists only of 580 place holders, with no functional items.} 581 582 Photometric observations are performed in an instrumental photometric 583 system, and must be related to other photometric systems. We 584 require a data structure which defines a photometric system, as well 585 as a structure to define the transformation between photometric 586 systems. 587 588 The photometric system is defined by the psPhotSystem structure. 589 A photometric system is identified by a human-readable \code{name} 590 (ie, SDSS.g, Landolt92.B, GPC1.OTA32.r). Each photometric system is 591 given a unique identifier \code{ID}. Observations taken with a 592 specific camera, detector, and filter represent their own photometric 593 system, and it may be necessary to perform transformations between 594 these systems. Photometric systems associated with observations from 595 a specific camera/detector/filter combination can be associated with 596 those components. 597 \begin{datatype} 598 typedef 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 607 The following structure defines the transformation between two 608 photometric systems. 609 \begin{datatype} 610 typedef 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 620 The transformation between two photometric systems may depend on the 621 airmass of the observation and on the colors of the object of 622 interest. For a specific observation, such a transformations can be 623 defined as a polynomial function of the color of the star and the 624 airmass of the observations. If sufficient data exists, the 625 transformation between the photometric systems may include more than 626 one color, constraining the curvature of the stellar spectral energy 627 distributions. This latter term may be significant for stars which 628 are highly reddened, for example. Derived photometric quantities may 629 have been corrected for airmass variations, in which case only color 630 terms may be measurable. The structure defines the transformation 631 between a source photometric system (\code{src}) and a target 632 photometric system (\code{dst}). The photometric system of a primary 633 color is defined by \code{pP, pM} such that the color is constructed 634 as $pP - pM$. A secondary color is defined by \code{sP, sM}. For 635 both, a reference color is specified (\code{pA, sA}): the polynomial 636 transformation terms refer to colors in the form $pP - pM - pA$. The 637 transformation is specified as a 3D polynomial. For a star of 638 magnitude $M_{\rm src}$ in the source photometric system, with 639 additional 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 642 given by: $M_{\rm dst} = M_{\rm src} + transform(z, M_{\rm pP} - 643 M_{\rm pM} - pA, M_{\rm sP} - M_{\rm sM} - sA)$. 644 575 645 \section{Phase 2} 576 646 … … 1112 1182 psImage *mask; // mask to mark pixels associated with object in region 1113 1183 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 1115 1186 pmSourceType type; // best identification of object 1116 1187 } pmSource; … … 1173 1244 function. The description of the model includes the model parameters 1174 1245 and 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}. 1246 identified by code \code{type}, dynamically assigned based on the 1247 available models (see below). We discuss the details of these models 1248 in section~\ref{ObjectModels}. The model parameters have 4 special 1249 elements. The first four elements represent aspects of the source 1250 which are not specified by the image PSF, even for point sources. 1251 These 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 1259 Every 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 1261 PSF to the specific object. In this case, the PSF-dependent 1262 parameters are specified for the object by the PSF, not by the fit. 1263 The FLT model represents the best fit of the given model to the 1264 object, with all parameters floating in the fit. 1177 1265 1178 1266 \begin{datatype} 1179 1267 typedef struct { 1180 p mObjectModel type;// model to be used1181 psVector *params; // parameter values1182 psVector *dparams; // parameter errors1268 psS32 type; // model to be used 1269 psVector *params; // parameter values 1270 psVector *dparams; // parameter errors 1183 1271 psF32 chisq; // fit chisq 1184 psS32 nDOF; // number of degrees of freedom1185 psS32 nIter; // number of iterations1272 psS32 nDOF; // number of degrees of freedom 1273 psS32 nIter; // number of iterations 1186 1274 } 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;1198 1275 \end{datatype} 1199 1276 … … 1217 1294 \end{datatype} 1218 1295 1296 It is useful to generate a model to define the point-spread-function 1297 which describes the flux distribution for unresolved sources in an 1298 image. In general, the PSF varies with position in the image. We 1299 allow any of the source models defined for the \code{pmModel} to 1300 represent the PSF. For a given source model, the 2D spatial variation 1301 of all of the source parameters, except the first four PSF-independent 1302 parameters, are represented as polynomial, stored in a \code{psArray}. 1303 The other elements of the structure define the quality of the PSF 1304 determination. 1305 1306 \begin{datatype} 1307 typedef 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 1219 1315 \begin{datatype} 1220 1316 typedef enum { … … 1230 1326 pmModel *pmModelAlloc (pmModelType type); 1231 1327 \end{prototype} 1328 1329 \subsection{Object Model Abstraction} 1330 1331 The object model functions are defined to allow for the flexible 1332 addition of new object models. Every object model, with parameters 1333 represented by \code{pmModel}, has an associated set of functions 1334 which provide necessary support operations. A set of abstract 1335 functions allow the programmer to select the approriate function or 1336 property for a specific named object model. 1337 1338 The following function concepts are provided by each model. 1339 1340 \begin{prototype} 1341 typedef psMinimizeLMChi2Func psModelFunc; 1342 \end{prototype} 1343 This function is the model chi-square minimization function for this 1344 model. 1345 1346 \begin{prototype} 1347 typedef psF64 (*psModelFlux)(const psVector *params); 1348 \end{prototype} 1349 This function returns the integrated flux for the given model 1350 parameters. 1351 1352 \begin{prototype} 1353 typedef bool (*psModelGuessFunc)(psModel *model, psSource *source); 1354 \end{prototype} 1355 This function provides the model guess parameters based on the details 1356 of the given source. 1357 1358 \begin{prototype} 1359 typedef bool (*psModelFromPSFFunc)(psModel *modelPSF, psModel *modelFLT, pmPSF *psf); 1360 \end{prototype} 1361 This function constructs the PSF model for the given source based on 1362 the supplied \code{psf} and the FLT model for the object. 1363 1364 \begin{prototype} 1365 typedef psF64 (*psModelRadius)(const psVector *params, double flux); 1366 \end{prototype} 1367 This function returns the radius at which the given model and 1368 parameters achieves the given flux. 1369 1370 Each of the function types above has a corresponding function which 1371 returns the function given the model type: 1372 \begin{prototype} 1373 psModelFunc psModelFunc_GetFunction (psModelType type); 1374 psModelFlux psModelFlux_GetFunction (psModelType type); 1375 psModelGuessFunc psModelGuessFunc_GetFunction (psModelType type); 1376 psModelFromPSFFunc psModelFromPSFFunc_GetFunction (psModelType type); 1377 psModelRadius psModelRadius_GetFunction (psModelType type); 1378 \end{prototype} 1379 1380 In addition, the following utility functions return information about 1381 the specified model: 1382 1383 \begin{prototype} 1384 psS32 psModelParameterCount (psModelType type); 1385 psS32 psModelSetType (char *name); 1386 char *psModelGetType (psModelType type); 1387 \end{prototype} 1388 \code{psModelParameterCount} returns the number of parameters for the 1389 given model. The remaining functions lookup the name or identifying 1390 code for the model from the other concept. Model names are character 1391 strings in all caps of the form \code{GAUSS}. Names are invarient 1392 between multiple compliations of the library, but the model numbers 1393 are not and should only be used within programs. 1232 1394 1233 1395 \subsection{Basic Object Detection APIs}
Note:
See TracChangeset
for help on using the changeset viewer.
