7#ifndef CCF_CONTROL_COM_ADPT_SIM_HPP_H_
8#define CCF_CONTROL_COM_ADPT_SIM_HPP_H_
211 std::string& message)
override;
217 virtual void ReadUser(
const std::string& name,
218 ifw::core::utils::param::Parameter& par)
override;
221 bool& frame_received,
222 const double timeout,
223 bool& timed_out)
override;
225 virtual void ScanUser(std::vector<ifw::core::utils::param::Parameter>& pars)
override;
231 virtual void WriteUser(
const ifw::core::utils::param::Parameter& par)
override;
248 void GenSequenceFromSingleImage(
void* source_image, uint32_t image_size);
249 void ReadPatternParams();
250 void GenSimPattern();
252 void PreprocessAllFrames();
257 bool m_acq_active{
false};
258 uint64_t m_cam_frame_count;
259 uint64_t m_int_frame_count;
265 std::string m_sim_filename;
266 ifw::fnd::fits::BitPix m_bitpix;
267 ifw::fnd::datatype::DataType m_in_image_data_type;
268 uint8_t m_in_bytes_per_pixel;
278 std::vector<uint8_t> m_processed_buffer;
279 uint32_t m_processed_frame_size{0};
280 int32_t m_processed_naxis1{0};
281 int32_t m_processed_naxis2{0};
282 int32_t m_processed_naxis3{1};
289 double m_time_for_last_frame;
291 double m_frame_period;
294 int32_t m_out_win_offset_x{1};
295 int32_t m_out_win_offset_y{1};
296 int32_t m_out_win_width{0};
297 int32_t m_out_win_height{0};
312 int16_t m_nb_of_planes{10};
313 int16_t m_pattern_width{512};
314 int16_t m_pattern_height{512};
315 int16_t m_max_shift_pr_frame{5};
316 int16_t m_max_shift{50};
317 int16_t m_noise_level{10};
320 double m_amplitude{10000.0};
322 int16_t m_nb_stars{1};
325 double m_flat_intensity{1000.0};
328 int16_t m_grid_spacing{50};
329 double m_spot_size{3.0};
333 double m_gradient_start{0.0};
334 double m_gradient_end{10000.0};
337 double m_ring_inner_radius{5.0};
338 double m_ring_outer_radius{10.0};
341 int16_t m_checker_size{20};
345 double m_noise_mean{1000.0};
346 double m_noise_std{100.0};
349 double m_grating_dispersion{1.0};
350 double m_grating_wavelength_min{400.0};
351 double m_grating_wavelength_max{700.0};
352 int16_t m_grating_order{1};
355 double m_target_max_pixel{65535.0};
Class to be used as parent for CCF Communication Adapters.
Definition comAdptBase.hpp:48
Frame class used to store the data and metadata for one frames received from the camera.
Definition dataFrame.hpp:20
virtual void StopUser() override
Definition comAdptSim.cpp:161
virtual void CheckStatusUser(ifw::ccf::HwStatus &status, std::string &message) override
Definition comAdptSim.cpp:73
virtual void DisconnectUser() override
Definition comAdptSim.cpp:83
virtual void HandleSetupUser() override
Definition comAdptSim.cpp:195
virtual void CheckConnectionUser(bool &connected) override
Definition comAdptSim.cpp:68
virtual void ReadUser(const std::string &name, ifw::core::utils::param::Parameter &par) override
Definition comAdptSim.cpp:87
virtual void WriteUser(const ifw::core::utils::param::Parameter &par) override
Definition comAdptSim.cpp:167
virtual ~ComAdptSim()
Definition comAdptSim.cpp:56
virtual void SetAcqTriggerUser()
Specific implementation of the algorithm to trigger an acquisition.
Definition comAdptSim.cpp:1457
virtual void HandleParPostReadUser(ifw::core::utils::param::Parameter &par) override
Definition comAdptSim.cpp:191
virtual void ScanUser(std::vector< ifw::core::utils::param::Parameter > &pars) override
Definition comAdptSim.cpp:148
virtual void StartUser() override
Definition comAdptSim.cpp:153
virtual void ReceiveUser(ifw::ccf::common::DataFrame &frame, bool &frame_received, const double timeout, bool &timed_out) override
Definition comAdptSim.cpp:116
virtual void SetDeviceAddressUser(const std::string &address) override
Definition comAdptSim.cpp:64
virtual void InitialiseUser() override
Definition comAdptSim.cpp:60
virtual void ConnectUser() override
Definition comAdptSim.cpp:79
virtual void HandleParPostWriteUser(ifw::core::utils::param::Parameter &par) override
Definition comAdptSim.cpp:187
ComAdptSim()
Definition comAdptSim.cpp:22
virtual void HandleParPreWriteUser(ifw::core::utils::param::Parameter &par) override
Definition comAdptSim.cpp:183
Definition acqThread.cpp:11
GradientDir
Gradient direction.
Definition base.hpp:328
@ HORIZONTAL
Definition base.hpp:329
SimType
Simulation type.
Definition base.hpp:314
NoiseDist
Noise distribution type.
Definition base.hpp:335
@ GAUSSIAN
Definition base.hpp:336
HwStatus
HW status values.
Definition base.hpp:152