5#ifndef CCF_STDPUB_PUB_FITS_HPP_H_
6#define CCF_STDPUB_PUB_FITS_HPP_H_
9#include <CCfits/CCfits.h>
10#include <CCfits/FITS.h>
11#include <CCfits/PHDU.h>
13#include <ifw/core/dit/fits/fits.hpp>
52 PubFits(
const std::string& proc_thread_name,
53 const std::string& pub_thread_name);
70 const std::string& pub_thread_name,
74 int64_t& nb_of_frames);
91 std::string m_setup_file_basename;
92 int32_t m_setup_max_size;
93 int32_t m_setup_nb_of_frames;
95 bool m_setup_overwrite;
97 int32_t m_setup_frame_interval;
98 double m_setup_frame_period;
100 int32_t m_setup_expo_nb;
101 int16_t m_nb_of_hdr_blocks;
102 bool m_store_telemetry_in_dps{
false};
104 std::string m_stat_cur_filename;
105 std::string m_stat_prev_filename;
107 int32_t m_stat_frames_stored;
108 double m_stat_last_frame_storage_time;
109 double m_stat_size_frames_stored_mb;
112 uint32_t m_stat_frame_count;
114 std::shared_ptr<CCfits::FITS> m_fits_handle;
117 std::string m_det_system;
118 std::string m_det_cam_name;
119 std::string m_det_cam_id;
120 std::string m_det_cam_model;
121 std::string m_det_cam_chip_model;
122 std::string m_det_cam_type;
Frame class used to store the data and metadata for one frames received from the camera.
Definition dataFrame.hpp:18
Class for implementing CCF Data Publishers.
Definition pubBase.hpp:115
PubBase()
Definition pubBase.cpp:392
Standard FITS Publisher.
Definition pubFits.hpp:20
RecordingMode
Definition pubFits.hpp:42
PubFits()
Definition pubFits.cpp:54
virtual ~PubFits()
Definition pubFits.cpp:59
const std::string RECORDING_MODE_ALL
Definition pubFits.hpp:48
const std::string FORMAT_CUBE
Definition pubFits.hpp:39
const std::string FORMAT_MEF
Definition pubFits.hpp:40
const std::string RECORDING_MODE_INTERVAL
Definition pubFits.hpp:49
Format
Definition pubFits.hpp:32
void DecodeRecMode(const std::string &rec_mode_specifier)
Definition pubFits.cpp:211
virtual void DeactivateUser()
Definition pubFits.cpp:177
Format FormatToNb(const std::string &format)
Definition pubFits.cpp:189
const std::string SETUP_KEY_NB_REC_HDR_BLOCKS
Definition pubFits.hpp:30
const std::string SETUP_KEY_REC_MODE
Definition pubFits.hpp:29
static bool s_initialised
Definition pubFits.hpp:23
const std::string FORMAT_SINGLE
Definition pubFits.hpp:38
virtual void EstimateExecutionUser(double &duration, int64_t &nb_of_frames)
Definition pubFits.cpp:565
std::string FormatToStr(const Format format)
Definition pubFits.cpp:202
static char s_padding_bytes[2880]
Definition pubFits.hpp:24
std::string RecordingModeToStr(const RecordingMode mode)
Definition pubFits.cpp:237
const std::string RECORDING_MODE_PERIODIC
Definition pubFits.hpp:50
virtual void InitialiseUser()
Definition pubFits.cpp:63
virtual void ActivateUser()
Definition pubFits.cpp:166
virtual void CheckForDeactivationUser()
Definition pubFits.cpp:474
virtual void PublishUser(ifw::ccf::common::DataFrame &frame)
Definition pubFits.cpp:132
const std::string SETUP_KEY_OVERWRITE
Definition pubFits.hpp:28
const std::string SETUP_KEY_NB_OF_FRAMES
Definition pubFits.hpp:27
virtual void CreateObjectUser(const std::string &proc_thread_name, const std::string &pub_thread_name, PubBase **new_object)
Definition pubFits.cpp:182
MudpiCreator public header file. This class was copied from the MELT CS repository.
Definition mudpiCreator.hpp:22
ExpoMode
Exposure modes.
Definition base.hpp:206