00001 /** @file psFitsHeader.h 00002 * 00003 * @brief Contains Fits header I/O routines 00004 * 00005 * @ingroup FileIO 00006 * 00007 * @author Robert DeSonia, MHPCC 00008 * 00009 * @version $Revision: 1.8 $ $Name: rel12 $ 00010 * @date $Date: 2006/06/13 22:28:02 $ 00011 * 00012 * Copyright 2004-2005 Maui High Performance Computing Center, University of Hawaii 00013 */ 00014 00015 #ifndef PS_FITSHEADER_H 00016 #define PS_FITSHEADER_H 00017 00018 #include "psFits.h" 00019 #include "psMetadata.h" 00020 00021 /// @addtogroup FileIO 00022 /// @{ 00023 00024 /** Reads the header of the current HDU. 00025 * 00026 * @return psMetadata* the header data 00027 */ 00028 psMetadata* psFitsReadHeader( 00029 psMetadata* out, 00030 ///< The psMetadata to add the header data. If null, a new psMetadata is created. 00031 const psFits* fits ///< the psFits object 00032 ); 00033 00034 /** Reads the header of all HDUs. The current HDU is not changed. 00035 * 00036 * @return psMetadata* the header data set as a number of metadata entries 00037 */ 00038 psMetadata* psFitsReadHeaderSet( 00039 psMetadata* out, ///< output metadata or NULL if new psMetadata is to be created. 00040 const psFits* fits ///< the psFits object 00041 ); 00042 00043 /** Writes the values of the metadata to the current HDU header. 00044 * Doesn't check if the header has to be created. 00045 * 00046 * @return bool if TRUE, the write was successful, otherwise FALSE. 00047 */ 00048 bool psFitsWriteHeader( 00049 psFits* fits, ///< the psFits object 00050 const psMetadata* output ///< the psMetadata data in which to write 00051 ); 00052 00053 /** Writes a "blank" --- a header only, with no image or table. 00054 * 00055 * @return bool if TRUE, the write was successful, otherwise FALSE. 00056 */ 00057 bool psFitsWriteBlank( 00058 psFits* fits, ///< the psFits object 00059 const psMetadata* output ///< the psMetadata data in which to write 00060 ); 00061 00062 /** psFitsHeaderValidate validates the supplied header so that it is in 00063 * compliance to the FITS standard for header keyword names and types. 00064 * 00065 * @return bool TRUE if the resulting header conforms to the FITS 00066 * standard, otherwise FALSE 00067 */ 00068 bool psFitsHeaderValidate(psMetadata *header); 00069 00070 /// @} 00071 00072 #endif // #ifndef PS_FITS_H
1.4.4