ifw-core 6.0.0
Loading...
Searching...
No Matches
Classes | Namespaces | Typedefs | Functions | Variables
fits.hpp File Reference
#include <string>
#include <fitsio.h>
#include <CCfits/CCfits.h>
#include <CCfits/FITS.h>
#include <CCfits/PHDU.h>
#include <ciiLogManager.hpp>
#include <ifw/fnd/defs/dataType.hpp>
#include <ifw/fnd/defs/fits.hpp>
#include <ifw/core/utils/base/base.hpp>
#include <ifw/core/dit/did/did.hpp>

Go to the source code of this file.

Classes

struct  ifw::core::dit::fits::FormatSpec
 

Namespaces

namespace  ifw
 
namespace  ifw::core
 
namespace  ifw::core::dit
 
namespace  ifw::core::dit::fits
 

Typedefs

using ifw::core::dit::fits::CfitsioType = int32_t
 

Functions

log4cplus::Logger & ifw::core::dit::fits::Logger ()
 
int ifw::core::dit::fits::DidToCfitsioType (const ifw::core::dit::did::DataType did_type)
 Convert an ELT ICS data type to the corresponding cfitsio data type.
 
void ifw::core::dit::fits::HandleCfitsioError (const std::string &operation, const int cfitsio_status)
 Throw an exception, extracting the relevant info from cfitsio, if status != 0.
 
std::string ifw::core::dit::fits::GenerateKey (const std::string &key, const std::string &hierarch_prefix=FITS_KEY_ESO_HIERARCH)
 Generates an ESO hierarchical keyword.
 
void ifw::core::dit::fits::CreateFile (std::shared_ptr< CCfits::FITS > &fits_handle, const std::string &filename, const ifw::core::dit::did::Did &dictionary, const int32_t bitpix, const std::vector< int32_t > &naxes, std::string &target_filename, const bool remove_if_exists=false, const uint16_t nb_of_hdr_blocks=1)
 Create a new FITS file.
 
void ifw::core::dit::fits::OpenFitsFile (std::shared_ptr< CCfits::FITS > &fits_handle, const std::string &filename, std::string &target_filename, CCfits::RWmode mode=CCfits::Read)
 Open an existing FITS file.
 
bool ifw::core::dit::fits::KeyInHdu (std::shared_ptr< CCfits::FITS > &fits_handle, const int16_t hdu_nb, const std::string &key)
 Check if a given key is contained in the referenced HDU (primary HDU = 1).
 
void ifw::core::dit::fits::MoveToHdu (std::shared_ptr< CCfits::FITS > &fits_handle, const int16_t hdu_nb)
 Move to the given HDU.
 
void ifw::core::dit::fits::PrepForAddingKey (std::shared_ptr< CCfits::FITS > &fits_handle, const ifw::core::dit::did::Did &dictionary, const std::string &key, const int16_t hdu_nb, ifw::core::dit::did::Record &did_record, std::string &target_key, bool &key_in_hdu)
 Used to prepare for adding a keyword card in a FITS file (mostly internal usage).
 
template<class TYPE >
void ifw::core::dit::fits::AddKey (std::shared_ptr< CCfits::FITS > &fits_handle, const ifw::core::dit::did::Did &dictionary, const std::string &key, const TYPE &value, const int16_t hdu_nb=CUR_HDU)
 Template function to add a keyword card in an existing FITS file.
 
void ifw::core::dit::fits::AddDoubleKey (std::shared_ptr< CCfits::FITS > &fits_handle, const ifw::core::dit::did::Did &dictionary, const std::string &key, const double value, const uint16_t hdu_nb)
 Add a double type key in an existing FITS file.
 
template<class TYPE >
void ifw::core::dit::fits::UpdateKey (std::shared_ptr< CCfits::FITS > &fits_handle, const ifw::core::dit::did::Did &dictionary, const std::string &key, const TYPE &value, const int16_t hdu_nb=CUR_HDU)
 
int ifw::core::dit::fits::ReadIntKey (std::shared_ptr< CCfits::FITS > &fits_handle, const std::string &key)
 
void ifw::core::dit::fits::ExtractHeaders (const std::string &filename, std::string &target_filename, std::string &hdr_buf, const int16_t hdr_ref=ALL_HEADERS)
 Extract all or a specific header from a FITS file.
 
void ifw::core::dit::fits::ExtractHeaders (std::shared_ptr< CCfits::FITS > &fits_handle, std::string &hdr_buf, const int16_t hdr_ref=ALL_HEADERS)
 Extract the keyword cards in one or more HDU's in an ASCII format (newline terminated).
 
void ifw::core::dit::fits::StoreImage (std::shared_ptr< CCfits::FITS > &fits_handle, const ifw::fnd::fits::BitPix bitpix, const uint32_t image_size, const void *image_buffer, const int16_t hdu_nb, const int16_t naxis3)
 
void ifw::core::dit::fits::addHdu (std::shared_ptr< CCfits::FITS > &fits_handle, const std::string extension_name, const ifw::fnd::fits::BitPix bitpix, const std::vector< int32_t > &naxes)
 

Variables

const int ifw::core::dit::fits::CUR_HDU = -1
 
const int ifw::core::dit::fits::APPEND = -2
 
const std::string ifw::core::dit::fits::FITS_KEY_ESO_HIERARCH = "HIERARCH ESO"
 
const int16_t ifw::core::dit::fits::ALL_HEADERS = SHRT_MAX
 
const int ifw::core::dit::fits::BITS_PER_PIXEL = 8