Changeset 13846
- Timestamp:
- Jun 15, 2007, 5:33:38 AM (19 years ago)
- File:
-
- 1 edited
-
trunk/doc/manual/manual.tex (modified) (5 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/doc/manual/manual.tex
r11757 r13846 1 %%% $Id: manual.tex,v 1. 5 2007-02-13 01:28:42 jhoblittExp $1 %%% $Id: manual.tex,v 1.6 2007-06-15 15:33:38 eugene Exp $ 2 2 \documentclass[panstarrs,spec]{panstarrs} 3 3 … … 42 42 \section{Overview} 43 43 44 The Pan-STARSS Image Processing Pipeline (IPP) provides a software 45 suite used for the reduction of astronomical images. Although 46 designed principally for the Pan-STARRS project, it is highly 47 configurable and extensible, and hence highly applicable for other 48 projects. 49 50 The IPP consists of several software products, built on top of a 51 number of extenal libraries and Perl packages (see 52 \S\ref{sec:dependencies} for a list). 44 The Pan-STARRS Image Processing Pipeline (IPP) is a software suite for 45 the reduction of astronomical images. Although designed principally 46 for the Pan-STARRS project, it is highly configurable and extensible, 47 and hence highly applicable for other projects. 48 49 The IPP consists of a number of elements: programs which perform 50 specific image analysis steps; a parallel processing environment in 51 which the image processes steps are automatically sequenced and 52 tracked; a databasing system for associating and calibrating the 53 detections of astronomical objects. These programs use a number of 54 internal and external libraries (see \S\ref{sec:dependencies}), 55 simplifying the process of adding additional elements as needed. 56 57 The core functionality of the IPP is implemented by NN principal 58 programs: \code{psphot} is used for the detection and analysis of 59 objects in astronomical images; \code{psastro} performs the 60 astrometric calibration of the images; \code{ppImage} is used for a 61 wide range of single image analysis step, include image detrending and 62 the generation of Q/A images and plots; \code{ppMerge} combines 63 collections of input detrend images into high-quality masters; 64 \code{pswarp} transforms images between different pixel projections 65 and coordinate systems; \code{ppStack} is used to combine multiple 66 science images, including outlier rejection which is sensitive to 67 varying image quality; \code{ppSub} performs image differencing 68 incorporating the variations in seeing with multiple optional 69 convolution kernels. 70 71 In addition to the image-level analysis, the IPP provides DVO, the 72 Desktop Virtual Observatory, a database system for tracking 73 astronomical objects and detections. DVO includes tools for querying 74 and manipulating the contents of the object database. It also provides 75 a number of tools for performing the analysis of quantities at the 76 database level. These include: \code{relphot}, which performs relative 77 photometry and calculates robust ensemble photometry for objects; 78 \code{relastro}, which calculates average astrometry quatities for 79 objects, including proper motion and parallax, as well as iterative 80 improvements to the astrometric calibrations of images injested by the 81 database; \code{uniphot}, which is used to calculate consistent 82 photometric calibrations and transformations. 83 84 The IPP provides a system for bulk automation of all stages of the 85 image analysis process within a parallel processing environment. The 86 parallelization scheme is very light-weight, and makes use of 87 distributed UNIX jobs operating on multiple machines within a cluster. 88 Process scheduling and distribution of the resulting jobs to the 89 parallel cluster is performed by \code{pantasks}. A set of 90 \code{pantasks} scripts, \code{ippTasks}, is used to define the 91 processing stages. 92 93 Data flow within the IPP is managed via interaction with a collection 94 of database tables, representing the steps of the analysis pipeline. 95 The IPP examines the state of these database tables to determine which 96 jobs should be performed next. A set of simple text files 97 (\code{dbconfig}) defines the database scheme and are also used to 98 automatically generate C code used to query the database tables. 99 Higher level command-line programs (\code{ippTools}), built on these 100 APIs, are available to both the end user and to \code{pantasks)} to 101 examine the state of the pipeline database. A set of Perl scripts 102 (\code{ippScripts}) provide the glue between the individual IPP 103 analysis programs and the parallel processing environment. A 104 web-based tool, \code{ippMonitor} provides the user interface for 105 monitoring the pipeline and the current status of the data analysis 106 process. 107 108 \note{this is not needed here: move elsewhere} 53 109 54 110 \code{psLib} is the Pan-STARRS library, containing a range of … … 59 115 manipulation. 60 116 61 Built on these libraries are several programs that provide the data62 reduction functionality: \code{psphot} for photometry, \code{psastro}63 for astrometry, \code{ppStats} for image statistics, \code{ppImage}64 for image detrending, \code{ppMerge} for merging detrends and65 \code{ppNorm} for normalising detrends.66 67 We have also built prototype programs for image manipulation68 (combination and subtraction). \code{pois} and \code{stac} are the69 original prototypes, built directly on \code{psLib}. We are currently70 (January 2007) moving most of the code into \code{psModules} and71 finalising algorithms. The result is that these programs work, but do72 not currently have the entire range of functionality that we envision73 for the final product. \code{pswarp} and \code{ppStac} are the first74 steps toward the final product; they have limited capability and have75 not been tested as thoroughly as other products.76 77 Data flow through the pipeline is achieved through a state-based78 system using a mysql database. \code{ippdb} provides a library to79 interact with the database, and \code{ippTools} uses this to determine80 pending operations and register completed operations.81 82 117 We have some Perl modules which are used to facilitate the data flow 83 118 in processing: \code{PS::IPP::Metadata::Config} reads ``metadata … … 86 121 interprets output lists from the \code{ippTools}; and 87 122 \code{PS::IPP::Config} reads the configuration files. 88 89 The data processing operations are performed by the \code{ippScripts},90 written in Perl. Process scheduling and controlling is achieved using91 \code{panTasks} within the \code{Ohana} project; configurations92 particular for the IPP are in \code{ippTasks}. Finally, the93 \code{ippMonitor} provides a means of monitoring the pipeline through94 a web server.95 123 96 124 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% … … 286 314 \end{itemize} 287 315 288 289 316 \subsubsection{psconfig} 290 317 291 \tbd{EAM to document psconfig.} 292 318 * pscheckperl : search for and install, if needed, external Perl modules 319 * pschecklibs : search for and install, if needed, external C libraries 320 * psconfig : set up the UNIX shell environment 321 * psbuild : build and install the software 322 * psdist : build IPP distributions (requires CVS access) 323 * tagsets : tables defining the C and Perl components to be built 324 325 The IPP is a large and complex software system. A major goal of the 326 IPP build system is to be user-friendly for those end users which do 327 not have root access on their machines. Using the IPP build tools, it 328 is possible to install the complete system as a non-priviledged user. 329 The build system also makes it possible to maintain multiple 330 simultaneous installations with different versions of the 331 software. This latter feature is particularly important for developers 332 who need to be able to make tests and comparisons of different 333 versions. 334 335 \subsubsubsection{UNIX environment} 336 337 With the psconfig system, the complete collection of libraries and 338 339 When building software 293 340 294 341 \subsubsection{jhbuild}
Note:
See TracChangeset
for help on using the changeset viewer.
