Changeset 4976
- Timestamp:
- Sep 7, 2005, 6:31:17 PM (21 years ago)
- Location:
- trunk/doc/ipptools
- Files:
-
- 2 added
- 10 edited
-
. (modified) (1 prop)
-
.cvsignore (added)
-
pics/pantasks.01.ps (modified) ( previous)
-
pics/pantasks.02.ps (modified) ( previous)
-
pics/pantasks.03.ps (modified) ( previous)
-
pics/pantasks.04.ps (modified) ( previous)
-
pics/pantasks.05.ps (modified) ( previous)
-
pics/pantasks.06.ps (modified) ( previous)
-
pics/pantasks.07.ps (added)
-
pics/pantasks.08.ps (modified) ( previous)
-
pstask-pics.sxd (modified) ( previous)
-
pstask.tex (modified) (33 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/doc/ipptools
-
Property svn:ignore
set to
*.log
*.dvi
*.aux
*.toc
*.log
*.out
*.lof
*.tbr
*.tbd
pstask.pdf
-
Property svn:ignore
set to
-
trunk/doc/ipptools/pstask.tex
r4902 r4976 18 18 \maketitle 19 19 20 \tableofcontents 21 \pagebreak 22 \pagenumbering{arabic} 23 20 24 \section{Overview} 21 25 … … 26 30 (Phase 1-4, detrend creation, etc) are illustrated in this document 27 31 and the relevant MDDB tables are listed. The collection of diagrams 28 shows the IPP tasks and the Metadata Database (MDDB) tables needed to 29 manage the flow of data through the system. 32 shows the IPP tasks and the Metadata Database tables needed to manage 33 the flow of data through the system. 34 35 \note{The flat-field correction analysis stage is not yet defined in 36 this document} 37 38 \note{AP DB interfaces are mostly ignored} 30 39 31 40 \section{PStask queues and metadata tables : persistent vs ephemeral state} … … 33 42 \begin{figure} 34 43 \begin{center} 35 \ resizebox{4in}{!}{\includegraphics{pics/pstasks.01.ps}}44 \includegraphics[scale=0.85]{pics/pstasks.01.ps} 36 45 \caption{\label{queues} PStask queues and MDDB tables} 37 46 \end{center} 38 47 \end{figure} 39 48 40 The left-hand portion of the diagram illustrates the recommended 41 interaction between the metadata database tables and the scheduler 42 internal queues. Some table in the metadata database defines a list 43 of data items which are to be processed by some analysis job. The 44 scheduler uses a two-step approach to define the analysis jobs based 45 on this list. First, one scheduler task queries the MDDB for a list 46 of pending items, adds the returned items to an internal scheduler 47 queue. The process of adding the elements to the queue is defined so 48 that only unique items are added: already existing items are skipped. 49 The entries in the queue consist of the data items of interest and an 50 internal temporary state. At first, this would be 'pending'. A 51 second scheduler tasks pops 'pending' entries one-by-one from this 52 internal queue, submits a job based on the entry, and sets the 53 temporary state in the internal queue to 'running'. The internal 49 There are some subtleties in the interaction between IPP task 50 scheduler, PStasks, the metadata tables which store the system state, 51 and the jobs which are immediately being performed. There is a choice 52 to be made between rigorously maintaining the system state in the 53 Metadata DB at all times or in keeping an intermediate set of state 54 tables. Keeping the exact system state in the Metadata DB tables 55 would require more queries to/from the database and may introduce 56 additional latencies which are undesirable. This is because any 57 attempt by the scheduler to initiate a new job would require the 58 scheduler to mark the corresponding data item in the Metadata DB (the 59 item which acts as the trigger) with a `pending' state, and then mark 60 it again as `done' when the job actually completes. This also has the 61 drawback that, if the scheduler crashes, some initial process would be 62 required on start up to find all Metadata DB items which are in the 63 `pending' state (examining all possible items which can be in such a 64 state) and reset them to the `new' state. 65 66 We implement an alternative in which the scheduler maintains an 67 internal, ephemeral stack of the pending jobs, and only updates the 68 system state entries in the Metadata DB when jobs are actually 69 completed. In this scenario, as far as the Metadata DB tables are 70 concerned, data items transition only between a `new' and a `done' 71 state. Any jobs which are pending when the system crashes or the 72 power is lost are simply dropped, and will be automatically 73 re-constructed when the system restarts. In this paradigm, no 74 intermediate operation state is saved, and no partially completed job 75 can be recovered. Since the IPP is defined in terms of a fine 76 granularity, with jobs lasting no more than 30 - 120 seconds, this 77 model will not have a large impact. 78 79 Figure~\ref{queues} illustrates this ephemeral vs persistent state 80 information and the interation between the metadata tables and 81 PStasks. The left-hand portion of the diagram illustrates the 82 recommended interaction between the metadata database tables and the 83 scheduler internal queues. Some table in the metadata database 84 defines a list of data items which are to be processed by some 85 analysis job. The scheduler uses a two-step approach to define the 86 analysis jobs based on this list. First, one scheduler task queries 87 the MDDB for a list of pending items, adds the returned items to an 88 internal scheduler queue. The process of adding the elements to the 89 queue is defined so that only unique items are added: already existing 90 items are skipped. The entries in the queue consist of the data items 91 of interest and an internal temporary state. At first, this would be 92 `pending'. A second scheduler tasks pops `pending' entries one-by-one 93 from this internal queue, submits a job based on the entry, and sets 94 the temporary state in the internal queue to `running'. The internal 54 95 state is needed to prevent the scheduler from re-submitting a job for 55 96 the same data item before the first job is done or assessed. Since … … 59 100 updated noting the completion. This may be done either by the job 60 101 itself or by the scheduler. In addition, the state of the entry in 61 the queue can be set to either 'done' or the entry can be simply102 the queue can be set to either `done' or the entry can be simply 62 103 removed from the queue. 63 104 … … 83 124 copy of the image file from the location specified by the summit data 84 125 system to the appropriate location within the IPP Image Server 85 (Nebulous). (As an alternative to the above, the 'pending images'86 table may be part of the summit database system, and the 'get images'87 command may query the summit directly. In this scenario, the 'copy126 (Nebulous). (As an alternative to the above, the `pending images' 127 table may be part of the summit database system, and the `get images' 128 command may query the summit directly. In this scenario, the `copy 88 129 image' command reports to the summit data system that an individual 89 130 image file has been copied.) … … 97 138 \begin{figure} 98 139 \begin{center} 99 \ resizebox{4in}{!}{\includegraphics{pics/pstasks.02.ps}}140 \includegraphics[scale=0.85]{pics/pstasks.02.ps} 100 141 \caption{\label{pcopy} Summit Copy Tasks} 101 142 \end{center} 102 143 \end{figure} 103 144 104 This diagram illustrates the MDDB tables used to copy data (images and 105 metadata tables) from the summit. The left-hand portion of the 106 diagram shows the tables involved in copying images from the summit 107 s ystem. The table of pending image files lists the URLs of the145 Figure~\ref{pcopy} illustrates the MDDB tables used to copy data 146 (images and metadata tables) from the summit. The left-hand portion 147 of the diagram shows the tables involved in copying images from the 148 summit system. The table of pending image files lists the URLs of the 108 149 individual image files available for transfer, along with their 109 150 associated exposure ID and the camera which generated the image. Two 110 151 other entries assist in interpreting the file: the class and the class 111 152 ID. The final entry in this table is the current copy state of the 112 file, can have the value of 'ready' or 'copied'.153 file, can have the value of `ready' or `copied'. 113 154 114 155 The class defines the data grouping represented by this image file and … … 124 165 corresponding to this file. This value is necessary to make decisions 125 166 on how to copy the data based on the chip / cell before the data is 126 available to IPP components. Here are likely values for the class and 127 class ID for some common cameras: 128 129 \begin{table} 130 \begin{center} 131 \caption{Camera and Data Classes\label{classes}} 132 \begin{tabular}{lll} 133 \hline 134 \hline 135 camera & class & classID \\ 136 \hline 137 GPC & chip & chip02 \\ 138 skyprobe & fpa & sp01 \\ 139 Megacam & fpa & MegacamSpliced \\ 140 Suprime & chip & chip0 \\ 141 \hline 142 \end{tabular} 143 \end{center} 144 \end{table} 145 146 and so forth. The system described is sufficiently flexible to allow 147 us to transfer the GPC images by cell if we eventually decide that is 148 more efficient. 167 available to IPP components. Table~\ref{classes} lists likely values 168 for the class and class ID for some common cameras. The system 169 described is sufficiently flexible to allow us to transfer the GPC 170 images by cell if we eventually decide that is more efficient. 149 171 150 172 The copy process copies the file from the given URL to the appropriate … … 158 180 server? eg: ref:DIR0001/file0001.fits might be in a directory which 159 181 is defined in a table of directories.) After an image file is 160 successfully copied, the corresponding state in the 'pending chip' 161 table is updated from 'ready' to 'copied'. 182 successfully copied, the corresponding state in the `pending chip' 183 table is updated from `ready' to `copied'. 184 185 \begin{table} 186 \begin{center} 187 \caption{Camera and Data Classes\label{classes}} 188 \begin{tabular}{llll} 189 \hline 190 \hline 191 camera & class & classID \\ 192 \hline 193 GPC & chip & chip02 \\ 194 skyprobe & fpa & sp01 \\ 195 Megacam & fpa & MegacamSpliced \\ 196 Suprime & chip & chip0 \\ 197 \hline 198 \end{tabular} 199 \end{center} 200 \end{table} 162 201 163 202 The right hand portion of this diagram illustrates the process of … … 177 216 \begin{figure} 178 217 \begin{center} 179 \ resizebox{4in}{!}{\includegraphics{pics/pstasks.03.ps}}218 \includegraphics[scale=0.85]{pics/pstasks.03.ps} 180 219 \caption{\label{phase0} Phase 0 Tasks} 181 220 \end{center} 182 221 \end{figure} 183 222 184 This diagramillustrates phase 0, in which the image files are223 Figure~\ref{phase0} illustrates phase 0, in which the image files are 185 224 categorised, examined for summary information and basic statistics, 186 225 and moved to the tables used to trigger further analysis. The process 187 first examines the 'new image files' table. It selects images from188 this table which have not yet been examined (state is 'new'). The226 first examines the `new image files' table. It selects images from 227 this table which have not yet been examined (state is `new'). The 189 228 file header is examined and relevant metadata is extracted (eg, RA, 190 229 DEC, times, and so forth to be defined later). The process may also … … 192 231 background level. These statistics, whether derived from the header 193 232 or the pixel values, are placed along with image summary information 194 in the 'raw image files' table, and the state field of the 'new image195 files' table is set to 'ready'.233 in the `raw image files' table, and the state field of the `new image 234 files' table is set to `ready'. 196 235 197 236 The process is also responsible for moving the exposures to the tables 198 237 used for triggering the analysis process. If the image class is FPA, 199 238 the image can be advanced without waiting for any other image files. 200 If the class is Chip or Cell, the process must also examine the 'new239 If the class is Chip or Cell, the process must also examine the `new 201 240 exposure' table for this exposure ID. The number of class files 202 241 available for this exposure is listed in this table. The process must 203 242 the select all image files matching the exposure ID with state of 204 'ready' and compare the number avalable to the number expected. If243 `ready' and compare the number avalable to the number expected. If 205 244 the two match, then a new exposure is ready. Based on the image type 206 245 (from the most recently examined image file header or new exp table?), 207 the exposure is added to the 'raw exposure' table for images of that208 type. The allowed types are 'detrend', (all bias, dark, flat images),209 'object', 'focus'(??), etc. (** The different tables represent246 the exposure is added to the `raw exposure' table for images of that 247 type. The allowed types are `detrend', (all bias, dark, flat images), 248 `object', `focus'(??), etc. (** The different tables represent 210 249 different analysis modes. This process also adds an entry to the exp 211 250 ID / image file match **). This process also adds all science … … 218 257 \begin{figure} 219 258 \begin{center} 220 \ resizebox{4in}{!}{\includegraphics{pics/pstasks.04.ps}}259 \includegraphics[scale=0.85]{pics/pstasks.04.ps} 221 260 \caption{\label{phase1} Phase 1 Tasks} 222 261 \end{center} 223 262 \end{figure} 224 263 225 This diagram shows the tables involved in running the P1 analysis 226 stage. There are paths for exposures to enter the analysis264 Figure~\ref{phase1} shows the tables involved in running the P1 265 analysis stage. There are paths for exposures to enter the analysis 227 266 automatically from the P0 analysis (arrow on left) or to be added 228 267 manually based on a selection from the raw exposure table. Exposures 229 268 to be analysed by Phase 1 are added to the P1 exposure table with the 230 state 'new'. Exposures may be added multiple times for processing and269 state `new'. Exposures may be added multiple times for processing and 231 270 reprocessing. The P1 exp table keeps a record of the old attempts for 232 271 debugging and analysis. Each time an exposure is added to the P1 exp … … 257 296 \begin{figure} 258 297 \begin{center} 259 \ resizebox{4in}{!}{\includegraphics{pics/pstasks.05.ps}}298 \includegraphics[scale=0.85]{pics/pstasks.05.ps} 260 299 \caption{\label{phase2} Phase 2 Tasks} 261 300 \end{center} 262 301 \end{figure} 263 302 264 This diagram shows the tables involved in running the P2 analysis 265 stage. There are paths for images to enter the analysis automatically 266 from the P1 analysis (arrow on left) or to be added manually based on 267 a selection from the raw exposure and raw image file tables. Images 268 t o be analysed by Phase 2 are added to the P2 image table with the269 state 'new'. When images are added to this table, a single entry is 270 also added to the P2 exposure table listing the P1 and P2 versions for 271 this exposure. These version numbers must be integers starting with 272 1. If this image did not have a P1 analysis, the P1 version is set to 273 0. Exposures may be added multiple times for processing and 274 reprocessing. The P2 image table keeps a record of the old attempts 275 for debugging and analysis. As with P1, each time a collection of 276 associated images from an exposure is added to the P2 image table, it 277 i s given a new, unique version number, allowing the system as a whole278 to track different analysis attempts. The top portion of the diagram 279 represents the user-space tool which may be used to re-submit the280 images for an exposure or a group of exposures, potentially selected 281 on the basis of a query from the raw SCIENCE exposure and raw image 282 file tables.283 284 The P2 image table is examined to select the 'new' images. These303 Figure~\ref{phase2} shows the tables involved in running the P2 304 analysis stage. There are paths for images to enter the analysis 305 automatically from the P1 analysis (arrow on left) or to be added 306 manually based on a selection from the raw exposure and raw image file 307 tables. Images to be analysed by Phase 2 are added to the P2 image 308 table with the state `new'. When images are added to this table, a 309 single entry is also added to the P2 exposure table listing the P1 and 310 P2 versions for this exposure. These version numbers must be integers 311 starting with 1. If this image did not have a P1 analysis, the P1 312 version is set to 0. Exposures may be added multiple times for 313 processing and reprocessing. The P2 image table keeps a record of the 314 old attempts for debugging and analysis. As with P1, each time a 315 collection of associated images from an exposure is added to the P2 316 image table, it is given a new, unique version number, allowing the 317 system as a whole to track different analysis attempts. The top 318 portion of the diagram represents the user-space tool which may be 319 used to re-submit the images for an exposure or a group of exposures, 320 potentially selected on the basis of a query from the raw SCIENCE 321 exposure and raw image file tables. 322 323 The P2 image table is examined to select the `new' images. These 285 324 images are used to generate P2 analysis jobs. The P2 analysis uses 286 325 the input url to find and load the image file. The url may be a file … … 293 332 objects, including the astrometry calibration, are written to the P2 294 333 image table, along with summary statistics from the P2 analysis. The 295 state is also updated (to 'done').334 state is also updated (to `done'). 296 335 297 336 Whenever the exposure is completed, the value of Ndone in the P2 … … 305 344 \begin{figure} 306 345 \begin{center} 307 \ resizebox{4in}{!}{\includegraphics{pics/pstasks.06.ps}}346 \includegraphics[scale=0.85]{pics/pstasks.06.ps} 308 347 \caption{\label{phase3} Phase 3 Tasks} 309 348 \end{center} 310 349 \end{figure} 311 350 312 This diagram illustrates the tables involved in the Phase 3 analysis. 313 The P3 exposure table lists the exposure ID, the P3 analysis version, 314 the P2 analysis version to be used as input to this P3 analysis, and 315 the recipe to be used. The P2 exposure and image tables are used, in 316 conjunction with the P2 version information, to select the P2 output 317 measured objects and the astrometric calibrations from P2 and P1. 318 These measured objects are matched with the reference catalog objects, 319 and calibrated astrometry and photometry is produced for the full 320 exposure. The location of the resulting astometry calibration table 321 is stored back in the P3 exposure table. If the recipe file322 specifies, the 2-D photometric and background / fringe corrections may 323 also be performed at this stage. Since these analyses require 324 re ference data, the recipe may also be used to skip these analysis if325 such reference data is unavailable or unreliable. At the end of Phase326 3, the objects from the exposure are inserted into the photometry 327 database (this is not shown). 351 Figure~\ref{phase3} illustrates the tables involved in the Phase 3 352 analysis. The P3 exposure table lists the exposure ID, the P3 353 analysis version, the P2 analysis version to be used as input to this 354 P3 analysis, and the recipe to be used. The P2 exposure and image 355 tables are used, in conjunction with the P2 version information, to 356 select the P2 output measured objects and the astrometric calibrations 357 from P2 and P1. These measured objects are matched with the reference 358 catalog objects, and calibrated astrometry and photometry is produced 359 for the full exposure. The location of the resulting astometry 360 calibration table is stored back in the P3 exposure table. If the 361 recipe file specifies, the 2-D photometric and background / fringe 362 corrections may also be performed at this stage. Since these analyses 363 require reference data, the recipe may also be used to skip these 364 analysis if such reference data is unavailable or unreliable. At the 365 end of Phase 3, the objects from the exposure are inserted into the 366 photometry database (this is not shown). 328 367 329 368 The astrometric calibration portion of Phase 3 is principally needed … … 340 379 \begin{figure} 341 380 \begin{center} 342 %\resizebox{4in}{!}{\includegraphics{pics/pstasks.03.ps}}381 \includegraphics[scale=0.85]{pics/pstasks.07.ps} 343 382 \caption{\label{phase4} Phase 4 Tasks} 344 383 \end{center} … … 363 402 image combination and image differencing. It may even be the case 364 403 that only the combination portion of Phase 4 is performed on the AP 365 Survey data. 404 Survey data. 366 405 367 406 More generally, the image groups selected for Phase 4 analysis may be 368 407 chosen on the basis of a query of the AP Database (DVO) with some 369 rules. This may be 408 rules. 409 410 \note{Phase 4 run can be defined by selecting an observation group, a 411 set of exposures, or a set of rules related to a spatial region (eg, 412 region, time range, and filter}. 413 414 \note{Phase 4 discussion (and diagram) needs more work} 370 415 371 416 \section{Analysis Version and Recipes} … … 376 421 it possible to run and re-run the analysis at any stage without 377 422 deleting the earlier results. As different analysis attempts are 378 performed for a given image, the versions branch out, like the diagram 379 in Figure NNN. 423 performed for a given image, the versions branch out. 380 424 381 425 Also note that at every stage, the entries include a recipe … … 411 455 \begin{figure} 412 456 \begin{center} 413 \ resizebox{4in}{!}{\includegraphics{pics/pstasks.08.ps}}457 \includegraphics[scale=0.85]{pics/pstasks.08.ps} 414 458 \caption{\label{detrend} Detrend Creation Tasks} 415 459 \end{center} 416 460 \end{figure} 417 461 418 This diagram illustrates the tables needed for the generic detrend 419 construction process, using the flat-field construction as an example. 420 This diagram is somewhat more complex than the preceeding versions. 421 In this diagram, both single jobs and multiple jobs are represented by 422 the process elements (the blue ellipses). In some cases, more that 423 one task will be needed to perform the function illustrated by a 424 single process task. The complexity of this diagram is enhanced by 425 the need for multiple iterations and both single chip and full mosaic 426 processing. At the moment, the distinction between mosaic and single 427 chip cameras is not specifically discussed. Finally, the triggers 428 which initiate a specific detrend analysis are glossed over. 462 Figure~\ref{detrend} illustrates the tables needed for the generic 463 detrend construction process, using the flat-field construction as an 464 example. This diagram is somewhat more complex than the preceeding 465 versions. In this diagram, both single jobs and multiple jobs are 466 represented by the process elements (the blue ellipses). In some 467 cases, more that one task will be needed to perform the function 468 illustrated by a single process task. The complexity of this diagram 469 is enhanced by the need for multiple iterations and both single chip 470 and full mosaic processing. At the moment, the distinction between 471 mosaic and single chip cameras is not specifically discussed. 472 Finally, the triggers which initiate a specific detrend analysis are 473 glossed over. 429 474 430 475 The detrend analysis is initiated by choosing a type of detrend image … … 506 551 flat-field images, the same structure should be capable of 507 552 constructing the biases, dark, fringes, etc. In some cases, as noted 508 above, the 'process' stage is a null operation. 553 above, the `process' stage is a null operation. 554 555 \pagebreak 556 557 \appendix 558 \section{IPP top-level commands} 559 560 In this section, we define all the necessary top-level commands needed 561 by the IPP to implement the data flow discussed in the previous 562 sections. These commands are user commands, and are visible in the 563 UNIX command space. The commands are discussed in the context of both 564 the automatic processing and processing of individual entries. It is 565 an important goal that the user commands should provide a 566 simple-enough interface that they can be used without needing to have 567 the entire infrastructure of the IPP in place to function. In 568 practice, this means that data items which can be acquired from the 569 Metadata DB tables can also be provided on the command line and/or in 570 the recipe file. In some cases, user commands are provided to allow a 571 manual intervention beyond the automatic processing loops. This is 572 particularly true of the \code{submit.Px} type of commands. 573 574 \note{the command names are for illustration purposes only. any 575 suggestions for better / fancier names are welcome...} 576 577 \begin{verbatim} 578 579 copy.image 580 input: url, exp ID, camera, class, class ID 581 582 This program copies the image file from the given URL, updates the 583 new image file table with the descriptive metadata (exp ID, camera, 584 class, class ID), and notifies the external subsystem that the copy 585 has succeeded. The destination host for the image file is 586 determined by selecting the class ID from the host-for-class table. 587 588 copy.table 589 input: url, table ID, table type 590 591 This program copies the metadata table file from the given URL, 592 determines which IPP metadata table it corresponds to, adds the 593 table rows to that metadata table, and notifies the external 594 subsystem that the table copy has succeeded. 595 596 classify.image 597 input: (url) or (exp ID + class ID) 598 599 This program examines the header of the specified image file, 600 determines the image type (detrend, science, etc), extracts a 601 specific set of information from the header, and adds a new entry to 602 the raw image files table. It also checks the new exposure table 603 for the corresponding exp ID, counts the files with the same exp ID 604 that are in the raw image files table, and if they match, adds an 605 entry to the raw exposure table for the appropriate exposure type. 606 Depending on the camera format (mosaic / single chip), the process 607 also adds an entry to either the P1 exposure table or the P2 image table. 608 609 Phase.1 610 input: exp ID 611 612 This program determines the chips which correspond the exposure, 613 loads the guide stars (if they exist) or reads the pixels around 614 bright stars (if the guide stars do not exit. It determines the 615 centroids for these stars, reads in the astrometric reference stars 616 in the field, matches observed stars to reference stars, determines 617 an astrometric solution, using the default telescope / camera model 618 as the starting point, and writes out the result to the P1 output 619 file, along with the FITS table of observed star measurements (X, Y, 620 inst mag). It writes the summary statistics back to the P1 exposure 621 table, an new entry in the P2 exposure table, and entries for each 622 of the image files in the P2 images table. 623 624 Submit.P2 625 input: exposure selection criteria 626 627 This program uses the provided selection criteria (eg, exp ID, time 628 range + filter, etc) and selects the corresponding exposures and 629 image files. If the output is specified to the database, it creates 630 new entries in the P2 images and P2 exposure tables, incrementing 631 the version fields if these exposure already exist. If the output 632 is specified to stdout / file, it writes the corresponding 633 information in a human (and/or machine) readable format. Note: it 634 is not necessary that a P2 exposure defined by this tool include all 635 possible or available image files. Note also: this program must 636 validate that the selected exposures have completed Phase 1, or are 637 not required to complete Phase 1. 638 639 Phase.2 640 input: (url) or (exp ID + class I) 641 642 This program reads in the selected image file, determines the 643 matching detrend images, detrends the image data, performs object 644 detection and analysis, loads the corresponding 645 astrometric/photometric reference data, determines the astrometric 646 and photometric calibrations. It writes out the detrended image, 647 the corresponding mask, and a FITS table of the measured objects, 648 with the astrometric parameters in the FITS table header. It 649 updates the P2 images table with the statistics of the analysis, and 650 updates the P2 exposure table status. If this analysis is the last 651 of the Nclass P2 image analyses to be done on this P2 exp ID and 652 version, then the program makes a new entry in the P3 exposure 653 table. 654 655 Submit.P3 656 input: exposure selection criteria 657 658 This program uses the provided selection criteria (eg, exp ID, time 659 range + filter, etc) and selects the corresponding exposures which 660 have succeeded in Phase 2 (a specific P2 version may be specified). 661 If the output is specified to the database, it creates new entries 662 in the P3 exposure table, incrementing the version field if this 663 exposure already exists. If the output is specified to stdout / 664 file, it writes the corresponding information in a human (and/or 665 machine) readable format. 666 667 Phase.3 668 input: (exp ID) or (list of P2 object files) 669 670 This program finds the collection of P2 object files for the 671 specified exposure, reads in the object data and astrometric 672 calibration terms, loads the corresponding astrometric/photometric 673 reference data, determines the improved astrometric and photometric 674 calibrations. It writes out a single FITS table of the measured 675 objects, with the astrometric parameters in the FITS table header, 676 and astrometric calibration data in a new astrometry file for this 677 exposure. It updates the P3 exposure table with the statistics of 678 the analysis 679 680 Submit.P4 681 input: selection criteria 682 683 This program uses the provided selection criteria (eg, exp ID list, 684 observation group ID, sky region + time range + filter, etc) and 685 selects the corresponding exposures which have succeeded in Phase 3 686 (or Phase 2 if Phase 3 is not needed for this camera / recipe). It 687 determines the matching sky cells which are overlapped by the 688 selected exposures. If the output is specified to the database, it 689 creates new entries in the P4 run table and the P4 run input table. 690 If the output is specified to stdout / file, it writes the 691 corresponding information in a human (and/or machine) readable 692 format. 693 694 Phase.4 695 input: (run ID) or (sky cell + list of P2 / P3 image files) 696 697 This program uses the skycell and the list of input exposures to 698 find the collection of image files which overlap the given skycell. 699 It then reads the image pixels, warps them to match the skycell 700 geometry, and stacks the image pixels. It reads the pixels from the 701 skycell and performs the image difference analysis, it photometers 702 the difference image, cleans the input summed image on the basis of 703 the detections, and photometers the input summed image. It writes 704 out the statistics of the analysis to the P4 run table, the P4 sum 705 table, and the P4 delta table. If requested, it improves the 706 signal-to-noise in the skycell image, and updates the skycell table. 707 708 Detrend.init 709 input: (detrend creation criteria) 710 711 This program adds a new entry to the master detrend run table based 712 on the given criteria. The criteria may define a time range for the 713 input images, a detrend type, flux ranges, a filter, an observation 714 group ID. The new master detrend run is created with the iteration 715 set to 00 and the state set to `new'. 716 717 Detrend.get.input.list 718 input: det ID, version 719 720 This program uses the selection criteria defined by the master 721 detrend run (eg, exp ID list, observation group ID, time range, type 722 + filter, etc) to select the corresponding detrend exposures. It 723 creates a new entry in the master detrend frames table, with state 724 `new' and iteration of 00. It also writes the exposures to the 725 input detrend exposure table. 726 727 Detrend.get.images 728 input: exp ID 729 730 This program identifies the detrend images which correspond to the 731 selected detrend exposure ID and adds an entries for the image files 732 in the input detrend images table, with state set to `raw'. 733 734 Detrend.process 735 input: url / detrend type 736 737 This program performs the pre-processing needed by the selected 738 detrend image in order to prepare it for combination with other 739 detrend images. When completed, the entry for this file in the 740 input detrend images table is update to `proc'. The processing may 741 be as simple as a null operation (eg, for a bias) or as complex as 742 bias, dark, flat-field, renormalize (eg, for a fringe). 743 744 Detrend.stack 745 input: det ID, version, iteration, class ID? 746 747 This program performs the image stacking for a single image class 748 ID. The stacking process may depend on the detrend type (different 749 for bias from flat from fringe). The resulting statitics are 750 written to the master detrend image table. If this is the last of 751 Nclass entries for the given master detrend frame, then the master 752 detrend frames state is updated. 753 754 Detrend.merge 755 input: det ID, version, iteration 756 757 This program examines the results of the Nclass master detrend 758 images and performs any necessary re-normalizations. It also 759 examines the statistics of the individual stacks and summarizes them 760 in the master detrend frame table.. 761 762 Detrend.residuals 763 input: det ID, version, iteration, class ID, url 764 765 This program performs the detrending on the given processed input 766 image using the corresponding detrend frame. The residual image is 767 saved, and an entry is written to the residual images table giving 768 the image location and the residual statistics for this image. 769 770 Detrend.assess 771 input: det ID, version, iteration 772 773 This program examines the collection of residual image statistics 774 and creates ensemble statistics for each residual exposure (NOTE: do 775 we need a residual exposure table??). It examines the ensemble of 776 exposure statistics and determines if 1) the complete stack meets 777 the success criteria and 2) which residual exposure do / do not meet 778 the success criteria. It updates the master detrend run table, the 779 master detrend frame table, and the residual image / exposure table 780 to note images which should be included / excluded in a future 781 iteration. 782 \end{verbatim} 783 509 784 510 785 \section{Metadata Database Tables used for IPP Job Flow} 511 786 \label{sec:MetadataTableContents} 512 787 513 The tables presented here define in greater detail the contents of the514 Metadata tables showin the figures above. In some cases, the788 The tables presented below define in greater detail the contents of 789 the Metadata tables shown in the figures above. In some cases, the 515 790 quantities (eg, the analysis result statistics) are illustrative, not 516 791 definitive. In certain tables, data is provided which is redundant … … 523 798 \begin{center} 524 799 \caption{Pending Image Files\label{tab:PendingImageFiles}} 525 \begin{tabular}{lll }800 \begin{tabular}{llll} 526 801 \hline 527 802 \hline … … 542 817 \begin{center} 543 818 \caption{New Image Files\label{tab:NewImageFiles}} 544 \begin{tabular}{lll }819 \begin{tabular}{llll} 545 820 \hline 546 821 \hline … … 559 834 \begin{table}[bh] 560 835 \begin{center} 836 \caption{Host for Class\label{tab:HostForClass}} 837 \begin{tabular}{llll} 838 \hline 839 \hline 840 {\bf Field Name} & {\bf Datatype } & {\bf Description} & {\bf Examples} \\ 841 \hline 842 camera & string & camera name & MegaPrime / GPC \\ 843 class ID & string & identify for class & chip00 / cell0102 \\ 844 hostname & string & preferred host computer & po01 / alala.ifa.hawaii.edu \\ 845 \hline 846 \end{tabular} 847 \end{center} 848 \end{table} 849 850 \begin{table}[bh] 851 \begin{center} 561 852 \caption{Raw Image Files\label{tab:RawImageFiles}} 562 \begin{tabular}{lll }853 \begin{tabular}{llll} 563 854 \hline 564 855 \hline … … 578 869 FHWM & float & average image quality & 2.5 (arcsec) \\ 579 870 \hline 580 \multicolumn{ 3}{l}{note: stats below the line are measured, perhaps they go elsewhere?} \\871 \multicolumn{4}{l}{note: stats below the line are measured, perhaps they go elsewhere?} \\ 581 872 \end{tabular} 582 873 \end{center} … … 586 877 \begin{center} 587 878 \caption{Pending Metadata Tables\label{tab:PendingTables}} 588 \begin{tabular}{lll }879 \begin{tabular}{llll} 589 880 \hline 590 881 \hline … … 603 894 \begin{center} 604 895 \caption{Copied Metadata Tables\label{tab:CopiedTables}} 605 \begin{tabular}{lll }896 \begin{tabular}{llll} 606 897 \hline 607 898 \hline … … 621 912 \begin{center} 622 913 \caption{New Exposures\label{tab:NewExp}} 623 \begin{tabular}{lll }914 \begin{tabular}{llll} 624 915 \hline 625 916 \hline … … 639 930 \begin{center} 640 931 \caption{Raw SCIENCE Exposure\label{tab:RawScienceExp}} 641 \begin{tabular}{lll }932 \begin{tabular}{llll} 642 933 \hline 643 934 \hline … … 679 970 \begin{center} 680 971 \caption{Raw Detrend Exposures\label{tab:RawDetrendExp}} 681 \begin{tabular}{lll }972 \begin{tabular}{llll} 682 973 \hline 683 974 \hline … … 718 1009 \end{table} 719 1010 1011 \clearpage 1012 720 1013 \begin{table}[bh] 721 1014 \begin{center} 722 1015 \caption{P1 Exposures\label{tab:P1-Exp}} 723 \begin{tabular}{lll }1016 \begin{tabular}{llll} 724 1017 \hline 725 1018 \hline … … 740 1033 Moff & float & measure ZP offset & 0.5 (mag) \\ 741 1034 dMoff & float & scatter in Moff & 0.1 (mag) \\ 1035 \end{tabular} 1036 \end{center} 1037 \end{table} 1038 1039 \begin{table}[bh] 1040 \begin{center} 1041 \caption{P2 Exposures\label{tab:P2-Exp}} 1042 \begin{tabular}{llll} 1043 \hline 1044 \hline 1045 {\bf Field Name} & {\bf Datatype } & {\bf Description} & {\bf Examples} \\ 1046 \hline 1047 exp ID & string & exposure ID & 654321o \\ 1048 class & string & file data class & Cell / Chip / FPA \\ 1049 Nfiles & int & number of P2 image files & 3 \\ 1050 Ndone & int & number completed & 2 \\ 1051 P1 version & int & P1 version number & 01 \\ 1052 P2 version & int & P2 version number & 01 \\ 1053 state & string & P2 analysis state & new / done / fail? \\ 1054 \hline 1055 \end{tabular} 1056 \end{center} 1057 \end{table} 742 1058 743 1059 \begin{table}[bh] 744 1060 \begin{center} 745 1061 \caption{P2 Images\label{tab:P2-Images}} 746 \begin{tabular}{lll }1062 \begin{tabular}{llll} 747 1063 \hline 748 1064 \hline … … 752 1068 class & string & file data class & Cell / Chip / FPA \\ 753 1069 class ID & string & identify for class & chip00 / cell0102 \\ 754 version & int & P1 version number & 01 \\755 1070 recipe & string & analysis recipe name & basic / flattest \\ 756 state & string & P 1 analysis state & new / done\\1071 state & string & P2 analysis state & new / done / fail? \\ 757 1072 input.url & string & file location & rootname.fits \\ 758 1073 output.image.url & string & file location & rootname.P2.01.fits \\ … … 762 1077 bias & float & measured bias value & 5.0 \\ 763 1078 dbias & float & bias residual scatter & 5.0 \\ 1079 fringe & float & fringe amplitude & 10.0 \\ 1080 dfringe & float & fringe scatter & 10.0 \\ 1081 sky & float & reduced background & 5.0 \\ 1082 dsky & float & background scatter & 5.0 \\ 764 1083 Nstars & int & number of astrom stars & 50 \\ 765 1084 sigma.X & float & astrom scatter in X & 1.0 (arcsec) \\ … … 768 1087 Moff & float & measure ZP offset & 0.5 (mag) \\ 769 1088 dMoff & float & scatter in Moff & 0.1 (mag) \\ 770 \hline 771 bias-image 772 dark-image 773 flat-image 774 \hline 775 \end{tabular} 776 \end{center} 777 \end{table} 778 779 780 1089 runtime & float & processing time & 20.2 (sec) \\ 1090 \hline 1091 \multicolumn{4}{l}{note: the stats below the line are examples to be extended} \\ 1092 \end{tabular} 1093 \end{center} 1094 \end{table} 1095 1096 The P2 analysis produces a reduced (P2) output image, a table of (P2) 1097 measured objects, and astrometric calibration terms. The output 1098 objects are stored as a FITS table. The astrometric solution for the 1099 image is stored in the header of the output object file. Interesting 1100 statistics from the analysis are written to the MDDB table. 1101 Additional information describing the analysis is written to the log 1102 file in a machine-readable format. Additional entries can be added to 1103 the MDDB table if we find they are useful for understanding the 1104 processing results. 1105 1106 \begin{table}[bh] 1107 \begin{center} 1108 \caption{P3 Exposures\label{tab:P3-Exp}} 1109 \begin{tabular}{llll} 1110 \hline 1111 \hline 1112 {\bf Field Name} & {\bf Datatype } & {\bf Description} & {\bf Examples} \\ 1113 \hline 1114 exp ID & string & exposure ID & 654321o \\ 1115 class & string & file data class & Cell / Chip / FPA \\ 1116 Nfiles & int & number of P2 image files & 3 \\ 1117 Ndone & int & number completed & 2 \\ 1118 P1 version & int & P1 version number & 01 \\ 1119 P2 version & int & P2 version number & 01 \\ 1120 P3 version & int & P3 version number & 01 \\ 1121 state & string & P3 analysis state & new / done / fail? \\ 1122 recipe & string & analysis recipe name & basic / flattest \\ 1123 output & string & location of output file & rootname.P3.01.smf \\ 1124 P3-log & string & location of P3 logfile & rootname.P3.01.log \\ 1125 \hline 1126 Nstars & int & number of astrom stars & 50 \\ 1127 sigma.X & float & astrom scatter in X & 1.0 (arcsec) \\ 1128 sigma.Y & float & astrom scatter in Y & 1.2 (arcsec) \\ 1129 Mcal & float & nominal zeropoint & 25.2 (mag) \\ 1130 Moff & float & measure ZP offset & 0.5 (mag) \\ 1131 dMoff & float & scatter in Moff & 0.1 (mag) \\ 1132 runtime & float & processing time & 20.2 (sec) \\ 1133 \hline 1134 \end{tabular} 1135 \end{center} 1136 \end{table} 1137 1138 \clearpage 1139 1140 \begin{table}[bh] 1141 \begin{center} 1142 \caption{Master Dark Frames\label{tab:DarkFrames}} 1143 \begin{tabular}{llll} 1144 \hline 1145 \hline 1146 {\bf Field Name} & {\bf Datatype } & {\bf Description} & {\bf Examples} \\ 1147 \hline 1148 det ID & string & detrend frame ID & 654321o \\ 1149 version & int & version of det frame & 02 \\ 1150 label & string & descriptive name & basic \\ 1151 recipe & string & creation recipe & basic \\ 1152 type & string & detrend type & bias / dark / flat \\ 1153 class & string & file data class & Cell / Chip / FPA \\ 1154 Nfiles & int & number of files & 2 \\ 1155 \hline 1156 exptime & float & exposure time & 5.0 \\ 1157 Ninput & int & number of input frames & 5 \\ 1158 sigma & float & stack residual stats & 2.0 \\ 1159 \hline 1160 \end{tabular} 1161 \end{center} 1162 \end{table} 1163 1164 \begin{table}[bh] 1165 \begin{center} 1166 \caption{Master Flat Frames\label{tab:FlatFrames}} 1167 \begin{tabular}{llll} 1168 \hline 1169 \hline 1170 {\bf Field Name} & {\bf Datatype } & {\bf Description} & {\bf Examples} \\ 1171 \hline 1172 det ID & string & detrend frame ID & 654321o \\ 1173 version & int & version of det frame & 02 \\ 1174 label & string & descriptive name & basic \\ 1175 type & string & detrend type & bias / dark / flat \\ 1176 class & string & file data class & Cell / Chip / FPA \\ 1177 Nfiles & int & number of files & 2 \\ 1178 \hline 1179 filter.ID & string & filter ID (glass) & g.PS1.01 / none \\ 1180 filter.Band & string & filter bandpass name & g / none \\ 1181 Ninput & int & number of input frames & 5 \\ 1182 sigma & float & stack residual stats & 2.0 \\ 1183 Ntotal & float & ave.total input counts & 1e6 \\ 1184 \hline 1185 \end{tabular} 1186 \end{center} 1187 \end{table} 1188 1189 \begin{table}[bh] 1190 \begin{center} 1191 \caption{Master Fringe Frames\label{tab:FringeFrames}} 1192 \begin{tabular}{llll} 1193 \hline 1194 \hline 1195 {\bf Field Name} & {\bf Datatype } & {\bf Description} & {\bf Examples} \\ 1196 \hline 1197 det ID & string & detrend frame ID & 654321o \\ 1198 version & int & version of det frame & 02 \\ 1199 label & string & descriptive name & basic \\ 1200 type & string & detrend type & bias / dark / flat \\ 1201 class & string & file data class & Cell / Chip / FPA \\ 1202 Nfiles & int & number of files & 2 \\ 1203 \hline 1204 filter.ID & string & filter ID (glass) & g.PS1.01 / none \\ 1205 filter.Band & string & filter bandpass name & g / none \\ 1206 Ninput & int & number of input frames & 5 \\ 1207 sigma & float & stack residual stats & 2.0 \\ 1208 Ntotal & float & ave.total input counts & 1e6 \\ 1209 fringe & float & fringe amplitude & 52.0 \\ 1210 dfringe & float & fringe stdev & 5.0 \\ 1211 airmass.min & float & minimum airmass & 1.00 \\ 1212 airmass.max & float & maximum airmass & 1.20 \\ 1213 \hline 1214 \end{tabular} 1215 \end{center} 1216 \end{table} 1217 1218 \begin{table}[bh] 1219 \begin{center} 1220 \caption{Master Detrend Image Files\label{tab:DetImageFiles}} 1221 \begin{tabular}{llll} 1222 \hline 1223 \hline 1224 {\bf Field Name} & {\bf Datatype } & {\bf Description} & {\bf Examples} \\ 1225 \hline 1226 URL & string & file location & neb://file001.fits \\ 1227 det ID & string & detrend frame ID & 654321o \\ 1228 {\it camera} & string & camera name & MegaPrime / GPC \\ 1229 class & string & file data class & Cell / Chip / FPA \\ 1230 class ID & string & identify for class & chip00 / cell0102 \\ 1231 {\it type} & string & exposure type & bias / flat / science \\ 1232 \hline 1233 \end{tabular} 1234 \end{center} 1235 \end{table} 1236 1237 \clearpage 1238 1239 \begin{table}[bh] 1240 \begin{center} 1241 \caption{Master Detrend Run\label{tab:DetRun}} 1242 \begin{tabular}{llll} 1243 \hline 1244 \hline 1245 {\bf Field Name} & {\bf Datatype } & {\bf Description} & {\bf Examples} \\ 1246 \hline 1247 det ID & string & detrend frame ID & 654321o \\ 1248 camera & string & camera name & MegaPrime / GPC \\ 1249 version & int & version of det run & 02 \\ 1250 type & string & detrend type & bias / dark / flat \\ 1251 criteria & string & image selection criteria & filter flags \\ 1252 state & string & analysis state & new / done \\ 1253 \hline 1254 \end{tabular} 1255 \end{center} 1256 \end{table} 1257 1258 \begin{table}[bh] 1259 \begin{center} 1260 \caption{Input Detrend Exp\label{tab:InputDetExp}} 1261 \begin{tabular}{llll} 1262 \hline 1263 \hline 1264 {\bf Field Name} & {\bf Datatype } & {\bf Description} & {\bf Examples} \\ 1265 \hline 1266 det ID & string & detrend frame ID & 654321o \\ 1267 {\it camera} & string & camera name & MegaPrime / GPC \\ 1268 {\it version} & int & version of det run & 02 \\ 1269 exp ID & string & exposure ID & 654321o \\ 1270 state & string & analysis state & new / raw / proc \\ 1271 \hline 1272 \end{tabular} 1273 \end{center} 1274 \end{table} 1275 1276 \begin{table}[bh] 1277 \begin{center} 1278 \caption{Input Detrend Image Files\label{tab:InputDetImageFiles}} 1279 \begin{tabular}{llll} 1280 \hline 1281 \hline 1282 {\bf Field Name} & {\bf Datatype } & {\bf Description} & {\bf Examples} \\ 1283 \hline 1284 raw.URL & string & location of raw file & neb://file001.fits \\ 1285 proc.URL & string & location of proc file & neb://file001.fits \\ 1286 det ID & string & detrend frame ID & 654321o \\ 1287 {\it version} & int & version of det run & 02 \\ 1288 {\it camera} & string & camera name & MegaPrime / GPC \\ 1289 {\it type} & string & exposure type & bias / flat / science \\ 1290 class & string & file data class & Cell / Chip / FPA \\ 1291 class ID & string & identify for class & chip00 / cell0102 \\ 1292 state & string & analysis state & new / raw / proc \\ 1293 \hline 1294 \end{tabular} 1295 \end{center} 1296 \end{table} 1297 1298 \begin{table}[bh] 1299 \begin{center} 1300 \caption{Input Detrend Resid Image Files\label{tab:InputDetResidImageFiles}} 1301 \begin{tabular}{llll} 1302 \hline 1303 \hline 1304 {\bf Field Name} & {\bf Datatype } & {\bf Description} & {\bf Examples} \\ 1305 \hline 1306 image.URL & string & location of resid image & neb://file001.fits \\ 1307 thumbnail.URL & string & location of resid jpeg & neb://file001.fits \\ 1308 det ID & string & detrend frame ID & 654321o \\ 1309 version & int & version of det run & 02 \\ 1310 iteration & int & det creation iteration & 03 \\ 1311 {\it camera} & string & camera name & MegaPrime / GPC \\ 1312 {\it type} & string & exposure type & bias / flat / science \\ 1313 class & string & file data class & Cell / Chip / FPA \\ 1314 class ID & string & identify for class & chip00 / cell0102 \\ 1315 state & string & analysis state & new / raw / proc \\ 1316 scatter & float & residual scatter & 1.0 \\ 1317 \hline 1318 \end{tabular} 1319 \end{center} 1320 \end{table} 781 1321 782 1322 \end{document}
Note:
See TracChangeset
for help on using the changeset viewer.
