5#ifndef CCF_STDPUB_PUB_FITS_HPP_H_
6#define CCF_STDPUB_PUB_FITS_HPP_H_
11#include <CCfits/CCfits.h>
12#include <CCfits/FITS.h>
13#include <CCfits/PHDU.h>
15#include <core/dit/fits/fits.hpp>
54 PubFits(
const std::string& proc_thread_name,
55 const std::string& pub_thread_name);
72 const std::string& pub_thread_name,
76 int64_t& nb_of_frames);
93 std::string m_setup_file_basename;
94 int32_t m_setup_max_size;
95 int32_t m_setup_nb_of_frames;
97 bool m_setup_overwrite;
99 int32_t m_setup_frame_interval;
100 double m_setup_frame_period;
102 int32_t m_setup_expo_nb;
103 int16_t m_nb_of_hdr_blocks;
105 std::string m_stat_cur_filename;
106 std::string m_stat_prev_filename;
108 int32_t m_stat_frames_stored;
109 double m_stat_last_frame_storage_time;
110 int32_t m_stat_size_frames_stored;
113 uint32_t m_stat_frame_count;
115 std::shared_ptr<CCfits::FITS> m_fits_handle;
118 std::string m_det_system;
119 std::string m_det_cam_name;
120 std::string m_det_cam_id;
121 std::string m_det_cam_model;
122 std::string m_det_cam_chip_model;
123 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:17
Class for implementing CCF Data Publishers.
Definition: pubBase.hpp:114
PubBase()
Definition: pubBase.cpp:391
Standard FITS Publisher.
Definition: pubFits.hpp:22
const std::string FORMAT_MEF
Definition: pubFits.hpp:42
const std::string SETUP_KEY_NB_OF_FRAMES
Definition: pubFits.hpp:29
const std::string RECORDING_MODE_ALL
Definition: pubFits.hpp:50
PubFits()
Definition: pubFits.cpp:53
Format
Definition: pubFits.hpp:34
const std::string FORMAT_SINGLE
Definition: pubFits.hpp:40
const std::string SETUP_KEY_REC_MODE
Definition: pubFits.hpp:31
virtual void DeactivateUser()
Definition: pubFits.cpp:165
static char s_padding_bytes[2880]
Definition: pubFits.hpp:26
const std::string FORMAT_CUBE
Definition: pubFits.hpp:41
void DecodeRecMode(const std::string &rec_mode_specifier)
Definition: pubFits.cpp:199
virtual void InitialiseUser()
Definition: pubFits.cpp:62
virtual void EstimateExecutionUser(double &duration, int64_t &nb_of_frames)
Definition: pubFits.cpp:476
const std::string SETUP_KEY_NB_REC_HDR_BLOCKS
Definition: pubFits.hpp:32
const std::string RECORDING_MODE_PERIODIC
Definition: pubFits.hpp:52
virtual void CreateObjectUser(const std::string &proc_thread_name, const std::string &pub_thread_name, PubBase **new_object)
Definition: pubFits.cpp:170
const std::string RECORDING_MODE_INTERVAL
Definition: pubFits.hpp:51
std::string FormatToStr(const Format format)
Definition: pubFits.cpp:190
virtual void CheckForDeactivationUser()
Definition: pubFits.cpp:447
Format FormatToNb(const std::string &format)
Definition: pubFits.cpp:177
RecordingMode
Definition: pubFits.hpp:44
const std::string SETUP_KEY_OVERWRITE
Definition: pubFits.hpp:30
virtual ~PubFits()
Definition: pubFits.cpp:58
virtual void PublishUser(ccf::common::DataFrame &frame)
Definition: pubFits.cpp:127
std::string RecordingModeToStr(const RecordingMode mode)
Definition: pubFits.cpp:225
virtual void ActivateUser()
Definition: pubFits.cpp:154
static bool s_initialised
Definition: pubFits.hpp:25
MudpiCreator public header file. This class was copied from the MELT CS repository.
Definition: mudpiCreator.hpp:22
ExpoMode
Exposure modes.
Definition: base.hpp:241