ifw-ccf  3.0.0-pre2
fits.hpp
Go to the documentation of this file.
1 
5 #ifndef CCF_COMMON_FITS_HPP_H_
6 #define CCF_COMMON_FITS_HPP_H_
7 
8 // TODO:Could be added in core::dit::fits.
9 
10 #include <fitsio.h>
11 #include <CCfits/CCfits.h>
12 #include <CCfits/FITS.h>
13 #include <CCfits/PHDU.h>
14 
15 #include <core/utils/param/parameterSet.hpp>
16 #include <core/dit/fits/fits.hpp>
17 
18 
19 namespace ccf::common::fits {
20 
22  int BitpixToCfitsioDataType(const int8_t bitpix);
23 
25  int DataTypeToBzero(const int fits_data_type);
26 
28  int8_t BitpixToBytesPerPixel(const int8_t bitpix);
29 
31  uint16_t GetNbOfHdus(std::shared_ptr<CCfits::FITS>& fits_handle);
32 
37  void GetKeys(std::shared_ptr<CCfits::FITS>& fits_handle,
38  const int16_t hdu_nb,
39  const std::vector<std::string>& keys,
40  std::map<std::string, std::pair<std::string, std::string>>& key_values,
41  const bool ignore_missing_keys = false);
42 
51  void LoadImageData(const std::string& filename,
52  const int16_t hdu_nb,
53  const int8_t output_bitpix,
54  void** image_buffer,
55  uint32_t& image_size,
56  std::map<std::string, std::pair<std::string, std::string>>& key_values,
57  const std::list<std::string>& req_keys = std::list<std::string>());
58 
60  void AppendImageExtension(std::shared_ptr<CCfits::FITS>& fits_handle,
61  const core::dit::did::Did& dictionary,
62  std::string& ext_name,
63  const int8_t bitpix,
64  const std::vector<int32_t>& naxes,
65  const uint32_t image_size,
66  const void* image_buffer,
67  const uint16_t nb_of_hdr_blocks = 1);
68 
69 }
70 
71 #endif // CCF_COMMON_FITS_HPP_H_
Definition: fits.cpp:11
void GetKeys(std::shared_ptr< CCfits::FITS > &fits_handle, const int16_t hdu_nb, const std::vector< std::string > &keys, std::map< std::string, std::pair< std::string, std::string >> &key_values, const bool ignore_missing_keys)
Definition: fits.cpp:42
void LoadImageData(const std::string &filename, const int16_t hdu_nb, const int8_t output_bitpix, void **image_buffer, uint32_t &image_size, std::map< std::string, std::pair< std::string, std::string >> &key_values, const std::list< std::string > &req_keys)
Definition: fits.cpp:75
uint16_t GetNbOfHdus(std::shared_ptr< CCfits::FITS > &fits_handle)
Return number of HDUs in the FITS file referenced to by the handle.
Definition: fits.cpp:218
void AppendImageExtension(std::shared_ptr< CCfits::FITS > &fits_handle, const core::dit::did::Did &dictionary, std::string &ext_name, const int8_t bitpix, const std::vector< int32_t > &naxes, const uint32_t image_size, const void *image_buffer, const uint16_t nb_of_hdr_blocks)
Append an image extension to the existing FITS file.
Definition: fits.cpp:180
int DataTypeToBzero(const int fits_data_type)
Convert the data type into the corresponding BZERO value.
Definition: fits.cpp:160
int BitpixToCfitsioDataType(const int8_t bitpix)
Extract category name from PAF key.
Definition: fits.cpp:14
int8_t BitpixToBytesPerPixel(const int8_t bitpix)
Convert the value of BITPIX into the corresponding bytes per pixel.
Definition: fits.cpp:68