pmHDU.h

Go to the documentation of this file.
00001 /* @file pmHDU.h
00002  * @brief Define a header data unit (from a FITS file), with functions to read and write
00003  *
00004  * @author Paul Price, IfA
00005  *
00006  * @version $Revision: 1.7 $ $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_HDU_H
00012 #define PM_HDU_H
00013 
00014 /// @addtogroup Camera Camera Layout
00015 /// @{
00016 
00017 /// An instance of the FITS Header Data Unit
00018 ///
00019 /// Of course, it is not an exact replica of a FITS HDU --- they have no mask and weight data, but these are
00020 /// stored here for convenience --- it keeps all the relevant data about the image in one place.
00021 typedef struct
00022 {
00023     psString extname;                   ///< The extension name
00024     bool blankPHU;                      ///< Is this a blank FITS Primary Header Unit, i.e., no data?
00025     psMetadata *format;                 ///< The camera format
00026     psMetadata *header;                 ///< The FITS header, or NULL if primary for FITS; or section info
00027     psArray *images;                    ///< The pixel data
00028     psArray *weights;                   ///< The pixel data
00029     psArray *masks;                     ///< The pixel data
00030 }
00031 pmHDU;
00032 
00033 
00034 /// Allocator for pmHDU
00035 pmHDU *pmHDUAlloc(const char *extname   ///< Extension name, or NULL for PHU
00036                  );
00037 
00038 /// Read the HDU header only
00039 ///
00040 /// Moves to the appropriate extension
00041 bool pmHDUReadHeader(pmHDU *hdu,        ///< HDU for which to read header
00042                      psFits *fits       ///< FITS file from which to read
00043                     );
00044 
00045 /// Read the HDU header and pixels
00046 ///
00047 /// Moves to the appropriate extension
00048 bool pmHDURead(pmHDU *hdu,              ///< HDU to read
00049                psFits *fits             ///< FITS file to read from
00050               );
00051 
00052 /// Read the HDU header and mask
00053 ///
00054 /// Moves to the appropriate extension
00055 bool pmHDUReadMask(pmHDU *hdu,          ///< HDU to read
00056                    psFits *fits         ///< FITS file to read from
00057                   );
00058 
00059 /// Read the HDU header and weight map
00060 ///
00061 /// Moves to the appropriate extension
00062 bool pmHDUReadWeight(pmHDU *hdu,        ///< HDU to read
00063                      psFits *fits       ///< FITS file to read from
00064                     );
00065 
00066 /// Write the HDU header and pixels
00067 bool pmHDUWrite(pmHDU *hdu,             ///< HDU to write
00068                 psFits *fits            ///< FITS file to write to
00069                );
00070 
00071 /// Write the HDU header and mask
00072 bool pmHDUWriteMask(pmHDU *hdu,         ///< HDU to write
00073                     psFits *fits        ///< FITS file to write to
00074                    );
00075 
00076 /// Write the HDU header and weight map
00077 bool pmHDUWriteWeight(pmHDU *hdu,       ///< HDU to write
00078                       psFits *fits      ///< FITS file to write to
00079                      );
00080 
00081 /// @}
00082 #endif

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