pmFPAWrite.h

Go to the documentation of this file.
00001 /* @file pmFPAWrite.h
00002  * @brief Write FPA components to a FITS file
00003  *
00004  * @author Paul Price, IfA
00005  *
00006  * @version $Revision: 1.8 $ $Name:  $
00007  * @date $Date: 2007/01/24 02:54:14 $
00008  * Copyright 2005-2006 Institute for Astronomy, University of Hawaii
00009  */
00010 
00011 #ifndef PM_FPA_WRITE_H
00012 #define PM_FPA_WRITE_H
00013 
00014 /// @addtogroup Camera Camera Layout
00015 /// @{
00016 
00017 #include <pslib.h>
00018 #include "pmFPA.h"
00019 
00020 /// Write a readout incrementally
00021 ///
00022 /// Writes a readout to a FITS file, perhaps incrementally (if it has been read in using pmReadoutReadNext).
00023 /// Relies on the FITS header to specify how many image planes there are, and the width and height.
00024 bool pmReadoutWriteNext(pmReadout *readout, ///< Readout to write
00025                         psFits *fits,   ///<  FITS file to which to write
00026                         int z           ///<  Image plane to write
00027                        );
00028 
00029 /// Write a cell to a FITS file
00030 ///
00031 /// Generates CELL.TRIMSEC, CELL.BIASSEC and the HDU pixels if required.  A blank (i.e., image-less header) is
00032 /// written only if specifically requested.  Writes the concepts to the various locations, and then the HDU to
00033 /// the FITS file.  This function should be called at the beginning of the output cell loop with blank=true in
00034 /// order to produce the correct file structure.
00035 bool pmCellWrite(pmCell *cell,          ///<  Cell to write
00036                  psFits *fits,          ///<  FITS file to which to write
00037                  psDB *db,              ///<  Database handle for "concepts" update
00038                  bool blank             ///<  Write a blank PHU?
00039                 );
00040 
00041 /// Write a chip to a FITS file
00042 ///
00043 /// Generates CELL.TRIMSEC, CELL.BIASSEC and the HDU pixels if required.  A blank (i.e., image-less header) is
00044 /// written only if specifically requested.  Writes the concepts to the various locations, and then the HDU to
00045 /// the FITS file, optionally recursing to lower levels.  This function should be called at the beginning of
00046 /// the output chip loop with blank=true and recurse=false in order to produce the correct file structure.
00047 bool pmChipWrite(pmChip *chip,          ///<  Chip to write
00048                  psFits *fits,          ///<  FITS file to which to write
00049                  psDB *db,              ///<  Database handle for "concepts" update
00050                  bool blank,            ///<  Write a blank PHU?
00051                  bool recurse           ///<  Recurse to lower levels?
00052                 );
00053 
00054 /// Write an FPA to a FITS file
00055 ///
00056 /// Generates CELL.TRIMSEC, CELL.BIASSEC and the HDU pixels if required.  A blank (i.e., image-less header) is
00057 /// written only if specifically requested.  Writes the concepts to the various locations, and then the HDU to
00058 /// the FITS file, optionally recursing to lower levels.  This function should be called at the beginning of
00059 /// the output FPA loop with blank=true and recurse=false in order to produce the correct file structure.
00060 bool pmFPAWrite(pmFPA *fpa,             ///<  FPA to write
00061                 psFits *fits,           ///<  FITS file to which to write
00062                 psDB *db,               ///<  Database handle for "concepts" update
00063                 bool blank,             ///<  Write a blank PHU?
00064                 bool recurse            ///<  Recurse to lower levels?
00065                );
00066 
00067 /// Write a cell mask to a FITS file
00068 ///
00069 /// Generates CELL.TRIMSEC, CELL.BIASSEC and the HDU mask pixels if required.  A blank (i.e., image-less
00070 /// header) is written only if specifically requested.  Writes the concepts to the various locations, and then
00071 /// the HDU mask to the FITS file.  This function should be called at the beginning of the output cell loop
00072 /// with blank=true in order to produce the correct file structure.
00073 bool pmCellWriteMask(pmCell *cell,      ///<  Cell to write
00074                      psFits *fits,      ///<  FITS file to which to write
00075                      psDB *db,          ///<  Database handle for "concepts" update
00076                      bool blank         ///<  Write a blank PHU?
00077                     );
00078 
00079 /// Write a chip mask to a FITS file
00080 ///
00081 /// Generates CELL.TRIMSEC, CELL.BIASSEC and the HDU mask pixels if required.  A blank (i.e., image-less
00082 /// header) is written only if specifically requested.  Writes the concepts to the various locations, and then
00083 /// the HDU mask to the FITS file, optionally recursing to lower levels.  This function should be called at
00084 /// the beginning of the output chip loop with blank=true and recurse=false in order to produce the correct
00085 /// file structure.
00086 bool pmChipWriteMask(pmChip *chip,      ///<  Chip to write
00087                      psFits *fits,      ///<  FITS file to which to write
00088                      psDB *db,          ///<  Database handle for "concepts" update
00089                      bool blank,        ///<  Write a blank PHU?
00090                      bool recurse       ///<  Recurse to lower levels?
00091                     );
00092 
00093 /// Write an FPA mask to a FITS file
00094 ///
00095 /// Generates CELL.TRIMSEC, CELL.BIASSEC and the HDU mask pixels if required.  A blank (i.e., image-less
00096 /// header) is written only if specifically requested.  Writes the concepts to the various locations, and then
00097 /// the HDU mask to the FITS file, optionally recursing to lower levels.  This function should be called at
00098 /// the beginning of the output FPA loop with blank=true and recurse=false in order to produce the correct
00099 /// file structure.
00100 bool pmFPAWriteMask(pmFPA *fpa,         ///<  FPA to write
00101                     psFits *fits,       ///<  FITS file to which to write
00102                     psDB *db,           ///<  Database handle for "concepts" update
00103                     bool blank,         ///<  Write a blank PHU?
00104                     bool recurse        ///<  Recurse to lower levels?
00105                    );
00106 
00107 /// Write a cell weight to a FITS file
00108 ///
00109 /// Generates CELL.TRIMSEC, CELL.BIASSEC and the HDU weight pixels if required.  A blank (i.e., image-less
00110 /// header) is written only if specifically requested.  Writes the concepts to the various locations, and then
00111 /// the HDU weight to the FITS file.  This function should be called at the beginning of the output cell loop
00112 /// with blank=true in order to produce the correct file structure.
00113 bool pmCellWriteWeight(pmCell *cell,    ///<  Cell to write
00114                        psFits *fits,    ///<  FITS file to which to write
00115                        psDB *db,        ///<  Database handle for "concepts" update
00116                        bool blank       ///<  Write a blank PHU?
00117                       );
00118 
00119 /// Write a chip weight to a FITS file
00120 ///
00121 /// Generates CELL.TRIMSEC, CELL.BIASSEC and the HDU weight pixels if required.  A blank (i.e., image-less
00122 /// header) is written only if specifically requested.  Writes the concepts to the various locations, and then
00123 /// the HDU weight to the FITS file, optionally recursing to lower levels.  This function should be called at
00124 /// the beginning of the output chip loop with blank=true and recurse=false in order to produce the correct
00125 /// file structure.
00126 bool pmChipWriteWeight(pmChip *chip,    ///<  Chip to write
00127                        psFits *fits,    ///<  FITS file to which to write
00128                        psDB *db,        ///<  Database handle for "concepts" update
00129                        bool blank,      ///<  Write a blank PHU?
00130                        bool recurse     ///<  Recurse to lower levels?
00131                       );
00132 
00133 /// Write an FPA weight to a FITS file
00134 ///
00135 /// Generates CELL.TRIMSEC, CELL.BIASSEC and the HDU weight pixels if required.  A blank (i.e., image-less
00136 /// header) is written only if specifically requested.  Writes the concepts to the various locations, and then
00137 /// the HDU weight to the FITS file, optionally recursing to lower levels.  This function should be called at
00138 /// the beginning of the output FPA loop with blank=true and recurse=false in order to produce the correct
00139 /// file structure.
00140 bool pmFPAWriteWeight(pmFPA *fpa,       ///<  FPA to write
00141                       psFits *fits,     ///<  FITS file to which to write
00142                       psDB *db,         ///<  Database handle for "concepts" update
00143                       bool blank,       ///<  Write a blank PHU?
00144                       bool recurse      ///<  Recurse to lower levels?
00145                      );
00146 
00147 
00148 /// Write a FITS table from the cell's analysis metadata.
00149 ///
00150 /// The FITS table (a psArray of psMetadatas) from the cell's analysis metadata (under "name") is written to
00151 /// the FITS file, at an extension specified by the name, chip name and cell name ("NAME_CHIP_CELL").  If a
00152 /// header is present in the analysis metadata ("name.HEADER"), then it is written also.
00153 int pmCellWriteTable(psFits *fits,      ///< FITS file to which to write
00154                      const pmCell *cell, ///< Cell containing FITS table in the analysis metadata
00155                      const char *name   ///< Name for the table data, and the extension name
00156                     );
00157 
00158 int pmChipWriteTable(psFits *fits,      ///< FITS file to which to write
00159                      const pmChip *chip, ///< Chip containing cells with tables to write
00160                      const char *name   ///< Name for the table data, and the extension name
00161                     );
00162 
00163 int pmFPAWriteTable(psFits *fits,       ///< FITS file to which to write
00164                     const pmFPA *fpa,   ///< FPA containing cells with tables to write
00165                     const char *name    ///< Name for the table data, and the extension name
00166                    );
00167 /// @}
00168 #endif

Generated on Fri Feb 2 22:35:28 2007 for Pan-STARRS Module Library by  doxygen 1.5.1