IPP Software Navigation Tools IPP Links Communication Pan-STARRS Links

Changeset 37893


Ignore:
Timestamp:
Feb 4, 2015, 3:18:40 PM (11 years ago)
Author:
eugene
Message:

add aastex

Location:
trunk/doc/release.2015
Files:
1 added
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/doc/release.2015/ps1.analysis/analysis.tex

    r37892 r37893  
    105105\section{INTRODUCTION}\label{sec:intro}
    106106
     107\note{more PS1 background}
     108
    107109The Pan-STARRS Image Processing Pipeline is responsible for the basic
    108110analysis of images from the Pan-STARRS telescopes Gigapixel Camera.
    109 The overall goals and requirements of the Image Processing Pipeline
    110 are described in the IPP System/Subsystem Design Description (SSDD;
    111 PSDC-430-XXX) and the IPP System Requirements Specification (SRS;
    112 PSDC-430-XXX).  Among the Pan-STARRS project survey goals is a
    113 repeated all-sky survey in 5 filters, {\it grizy}, beginning with a
    114 pre-survey with the prototype telescope PS-1.  The photometric and
    115 astrometric precision goals for the all-sky surveys, as well as the
    116 other survey components, are quite stringent:
     111The photometric and astrometric precision goals for the all-sky
     112surveys, as well as the other survey components, are quite stringent:
    117113
    118114\begin{itemize}
     
    128124
    129125An additional constraint on the Pan-STARRS system comes from the high
    130 data rate.  The prototype telescope alone is expected to produce
    131 typically $\sim 700$ GB per night of imaging data.  These images will
    132 not be limited to high galactic latitudes, so large numbers of
    133 measurable stars can be expected in much of the data.  The combination
    134 of the high precision goals of the astrometric and photometric
    135 measurements and the high data rate (and a finite computing budget)
    136 mean that the process of detecting, classifying, and measuring the
    137 astronomical objects in the image data stream will be a significant
    138 challenge. 
     126data rate.  PS1 produces typically $\sim 700$ GB per night of imaging
     127data.  These images range from high galactic latitudes to the Galactic
     128Bulge, so large numbers of measurable stars can be expected in much of
     129the data.  The combination of the high precision goals of the
     130astrometric and photometric measurements and the high data rate (and a
     131finite computing budget) mean that the process of detecting,
     132classifying, and measuring the astronomical objects in the image data
     133stream in a timely fashion are a significant challenge.
    139134
    140135In order to achieve these ambitious goals, the object detection,
     
    186181\end{itemize}
    187182
    188 \note{discussion of these packages is insufficient: flesh out
    189   discussion and add in the references.}
    190 
    191 \note{Add discussion of the lessons learned from experience with previous
    192   analysis programs}
    193 
    194 The Pan-STARRS IPP team decided that none of the existing packages met
    195 all of their needs, particularly given the very challenging goals of
    196 the project.  We decided to redesign the photometry analysis from
    197 scratch, using the lessons learned from the existing photometry
    198 systems.  In the process, the object analysis software would be
    199 written using the data analysis C-code library written for the IPP,
    200 \code{psLib}, and the components of the photometry code would be
    201 integrated into the IPP's mid-level astronomy data analysis toolkit
    202 called \code{psModules}.  The result is 'PSPhot', which can be used
    203 either as a stand-alone C program, or as one of the high-level IPP
    204 components of \code{psModules}, available to programmers either via a
    205 C interface or through a SWIG interface in Perl (or potentially
    206 Python).
     183\note{re-phrase this:} The Pan-STARRS IPP team decided that none of
     184the existing packages met all of their needs, particularly given the
     185very challenging goals of the project.  We decided to redesign the
     186photometry analysis from scratch, using the lessons learned from the
     187existing photometry systems.  In the process, the object analysis
     188software would be written using the data analysis C-code library
     189written for the IPP, \code{psLib}, and the components of the
     190photometry code would be integrated into the IPP's mid-level astronomy
     191data analysis toolkit called \code{psModules}.  The result is
     192'PSPhot', which can be used either as a stand-alone C program, or as
     193callable set of functions.
    207194
    208195\note{discuss the psphot program varients}
     196
     197\begin{verbatim}
     198Other Varients:
     199* psphotStack -- 5 filter simultaneous fitting
     200* psphotFullForce
     201\end{verbatim}
    209202
    210203\section{PSPhot Design Goals}
     
    244237  (since a single data value is used for X or Y).  For the $4800^2$
    245238  GPC chips, this yields a limit of about 0.25 milliarcsecond.}
    246 
    247 \item {\bf processing time of 45 seconds} This requirement depends
    248   strongly on the hardware organization, the amount of time spent on
    249   other analysis steps, the density of stars per image, and the depth
    250   for a given type of image.  For the sources at the faint limit (eg,
    251   $5\sigma$), the average density of sources is expected to be roughly
    252   $3\times10^5$ per square degree, while sources at the 20 $\sigma$
    253   level may have densities of $\sim 5\times10^4$ per square degree.
    254   Allowing 30 seconds for the PSPhot portion of the analysis, of which
    255   15 is used for careful analysis of the brighter sources, 10 seconds
    256   is used for PSF modeling and other overheads, and the remaining 5
    257   seconds is used for the PSF fitting of the faintest source implies
    258   that the detailed modelling may take roughly 3msec per source, and
    259   the basic PSF fitting may be allowed 150 usec per source.
    260239\end{itemize}
    261240
     
    325304\end{itemize}
    326305
    327 Note that a given run of PSPhot allows the user to perform many of
    328 these stages only if needed.  For example, the PSF model may already be
    329 available from external information, in which case the PSF modeling
    330 stage can be skipped.  Or, when used as a library function, the image
    331 may have already been loaded and the mask and weight images
    332 constructed.  In some implementations, it may be possible to skip the
    333 initial object detection stage because only supplied sources are
    334 measured.  These are only some of the possible configurations.  The
    335 use of these different configurations depends on the source of the
    336 image, the desired detail and speed of the processing, and the level
    337 of accuracy desired from the analysis.
     306PSPhot is highly configurable.  Users may choose via the configuration
     307system which of the above analyses are performed.  This may be useful
     308for testing, but may also allow for specialized use cases.  For
     309example, the PSF model may already be available from external
     310information, in which case the PSF modeling stage can be skipped.
    338311
    339312\subsection{Image Preparation}
     
    341314The first step is to prepare the image for detection of the
    342315astronomical objects.  We need three separate images: the measured
    343 flux, the corresponding variance image, and a mask defining which
    344 pixels are valid and which should be ignored.  For the stand-alone
    345 program, the input flux image is a required program argument.  When it
    346 is loaded, it is converted by default to 32-bit floating point
    347 representation.  In the function-call form of PSPhot, the image must
    348 be supplied by the user in 32-bit floating point format.  The noise
    349 and mask images may either be provided by the user, or they may be
    350 automatically generated from the input image, based on
    351 configuration-defined values for the image gain, read-noise,
    352 saturation, and so forth.  For the function-call form of the program,
    353 the flux image is provided in the API, and references to the mask and
    354 noise are provided in the configuration information.  As in the
    355 stand-alone C-program, the noise and mask may be constructed
    356 automatically by PSPhot.
     316flux (signal image), the corresponding variance image, and a mask
     317defining which pixels are valid and which should be ignored.  The
     318signal and variance images are represented internally as 32-bit
     319floating point values.  The noise and mask images may either
     320be provided by the user, or they may be automatically generated from
     321the input image, based on configuration-defined values for the image
     322gain, read-noise, saturation, and so forth.  For the function-call
     323form of the program, the flux image is provided in the API, and
     324references to the mask and noise are provided in the configuration
     325information.  As in the stand-alone C-program, the noise and mask may
     326be constructed automatically by PSPhot.
    357327
    358328\note{describe the use of the covariance image}
    359329\note{describe the difference between 'bad' and 'suspect' pixels}
    360330
    361 For the mask, we use a 16-bit image in which a value of 0 represents a
    362 valid pixel.  We use each of the 16 bits to define different reasons a
    363 pixel should be ignored.  This allows us to optionally respect or
    364 ignore the mask depending on the circumstance.  For example, in some
    365 cases, we ignore saturated pixels completely while in other
    366 circumstances, it may be useful to know the flux value of the
     331The mask is represented as 16-bit integer image in which a value of 0
     332represents a valid pixel.  Each of the 16 bits define different
     333reasons a pixel should be ignored.  This allows us to optionally
     334respect or ignore the mask depending on the circumstance.  For
     335example, in some cases, we ignore saturated pixels completely while in
     336other circumstances, it may be useful to know the flux value of the
    367337saturated pixel.  In addition, the mask pixels are used to define the
    368338pixels available during a model fit, and which should be ignored for
     
    372342saturated (configuration keyword: \code{SATURATE}).  2) Pixels which
    373343are below a user-defined value are considered unresponsive and masked
    374 as dead.  3) Pixels which lie outside of a user-defined window are
    375 considered non-data pixels (eg, overscan) and are marked as invalid.
    376 The valid window is defined by the configuration variables
     344as dead.  3) Pixels which lie outside of a user-defined coordinate
     345window are considered non-data pixels (eg, overscan) and are marked as
     346invalid.  The valid window is defined by the configuration variables
    377347\code{XMIN}, \code{XMAX}, \code{YMIN}, \code{YMAX}.
    378 
    379 \note{discuss the mask.config file, in which the mask meanings are assigned to bit values}
    380348
    381349The noise image, if not supplied is constructed by default from the
     
    384352each pixel.  In this case, the image is assumed to represent the
    385353readout from a single detector, with well-defined gain and read noise
    386 characteristics.  In some obvious cases, this assumption will not be
    387 valid.  For example, if the input flux image is the result of an image
    388 stack with significantly variable number of input measurements per
    389 pixel, it will be necessary to supply a noise image which accurately
    390 represents the noise as a function of position in the image.
     354characteristics.  This assumption is not always valid.  For example,
     355if the input flux image is the result of an image stack with a
     356variable number of input measurements per pixel (due to masking and
     357dithering), it will be necessary to supply a noise image which
     358accurately represents the noise as a function of position in the
     359image.
    391360
    392361\subsection{Initial Object Detection}
Note: See TracChangeset for help on using the changeset viewer.