11 #ifndef __GUARD_RESONON_IMAGER_BASE_H 12 #define __GUARD_RESONON_IMAGER_BASE_H 14 #ifdef RESONON_BUILD_DLL 15 #define RESONONDLL __declspec(dllexport) 17 #define RESONONDLL __declspec(dllimport) 38 virtual void connect(
const char * camera_sn=NULL)=0;
39 virtual void disconnect()=0;
40 virtual void start()=0;
41 virtual void stop()=0;
42 virtual void get_imager_type(
char *buffer,
int buffer_size)=0;
43 virtual void get_serial_number(
char *buffer,
int buffer_size)=0;
44 virtual void get_camera_serial_number(
char *buffer,
int buffer_size)=0;
45 virtual void generate_configuration_report(
char *buffer,
int buffer_size)=0;
46 virtual float get_coeff_a()=0;
47 virtual float get_coeff_b()=0;
48 virtual float get_coeff_c()=0;
49 virtual double get_wavelength_at_band(
const int band)=0;
50 int get_nearest_band_to_wavelength(
const double wavelength);
51 virtual int get_frame_buffer_size_in_bytes()=0;
52 virtual unsigned short* get_frame(
unsigned short* buffer)=0;
53 virtual std::uint64_t get_last_timestamp()=0;
54 virtual std::uint64_t ticks_per_second()=0;
55 virtual void set_spectral_bin(
int new_spectral_bin);
56 virtual int get_spectral_bin();
57 virtual int get_min_spectral_bin();
58 virtual int get_max_spectral_bin();
59 virtual int get_band_count()=0;
60 virtual int get_start_band();
61 virtual void set_start_band(
int band);
62 virtual int get_min_start_band();
63 virtual int get_max_start_band();
64 virtual int get_inc_start_band();
65 virtual int get_end_band();
66 virtual void set_end_band(
int band);
67 virtual int get_min_end_band();
68 virtual int get_max_end_band();
69 virtual int get_inc_end_band();
70 virtual int get_sample_count()=0;
71 virtual int get_start_sample();
72 virtual void set_start_sample(
int sample);
73 virtual int get_min_start_sample();
74 virtual int get_max_start_sample();
75 virtual int get_inc_start_sample();
76 virtual int get_end_sample();
77 virtual void set_end_sample(
int sample);
78 virtual int get_min_end_sample();
79 virtual int get_max_end_sample();
80 virtual int get_inc_end_sample();
81 virtual void set_framerate(
const double frames_per_second)=0;
82 virtual double get_framerate()=0;
83 virtual double get_min_framerate()=0;
84 virtual double get_max_framerate()=0;
85 virtual double get_min_integration_time()=0;
86 virtual double get_max_integration_time()=0;
87 virtual void set_integration_time(
const double milliseconds)=0;
88 virtual double get_integration_time()=0;
89 virtual void set_gain(
const double gain);
90 virtual double get_gain();
91 virtual double get_min_gain();
92 virtual double get_max_gain();
93 virtual void set_internal_trigger();
94 virtual void set_external_trigger(
unsigned int signal_line,
bool rising_edge=
true);
95 virtual bool is_trigger_external();
98 #endif //end ifndef __GUARD_RESONON_IMAGER_BASE_H The Resonon namespace contains all public classes.
Definition: resonon_imager_allied.h:14
An abstract base class which provides a common interface for all imagers.
Definition: resonon_imager_base.h:31