Resonon API  3.7
C++ API for controlling Resonon hyperspectral imagers
resonon_imager_basler.h
1 /*
2  * Resonon API
3  *
4  * By using this API, the user agrees to the terms and conditions as stated in the
5  * document "Resonon API Terms of Use", located on the Resonon website
6  * at: http://www.resonon.com/downloads/Resonon_API_Terms_of_Use.pdf.
7  *
8  */
9 
10 
11 #ifndef __GUARD_RESONON_IMAGER_BASLER_H
12 #define __GUARD_RESONON_IMAGER_BASLER_H
13 #include "resonon_imager_base.h"
14 #include <stdexcept>
15 
16 namespace Resonon
17 {
18  class BaslerCameraImplementation;
19 
25  class RESONONDLL PikaBasler : public ResononImagerBase
26  {
27  public:
28  PikaBasler();
29  virtual ~PikaBasler();
30  void connect(const char * camera_serial_number=NULL);
31  void disconnect();
32  void start();
33  void stop();
34  void get_imager_type(char *buffer, int buffer_size);
35  void get_serial_number(char *buffer, int buffer_size);
36  void get_camera_serial_number(char *buffer, int buffer_size);
37  void generate_configuration_report(char *buffer, int buffer_size);
38  float get_coeff_a();
39  float get_coeff_b();
40  float get_coeff_c();
41  double get_wavelength_at_band(const int band);
42  int get_frame_buffer_size_in_bytes();
43  unsigned short* get_frame(unsigned short* buffer);
44  std::uint64_t get_last_timestamp();
45  std::uint64_t ticks_per_second();
46  void set_spectral_bin(int new_spectral_bin);
47  int get_spectral_bin();
48  int get_min_spectral_bin();
49  int get_max_spectral_bin();
50  int get_band_count();
51  int get_start_band();
52  void set_start_band(int band);
53  int get_min_start_band();
54  int get_max_start_band();
55  int get_inc_start_band();
56  int get_end_band();
57  void set_end_band(int band);
58  int get_min_end_band();
59  int get_max_end_band();
60  int get_inc_end_band();
61  int get_sample_count();
62  int get_start_sample();
63  void set_start_sample(int sample);
64  int get_min_start_sample();
65  int get_max_start_sample();
66  int get_inc_start_sample();
67  int get_end_sample();
68  void set_end_sample(int sample);
69  int get_min_end_sample();
70  int get_max_end_sample();
71  int get_inc_end_sample();
72  void set_framerate(const double frames_per_second);
73  double get_framerate();
74  double get_min_framerate();
75  double get_max_framerate();
76  double get_min_integration_time();
77  double get_max_integration_time();
78  void set_integration_time(const double milliseconds);
79  double get_integration_time();
80  void set_gain(const double gain);
81  double get_gain();
82  double get_min_gain();
83  double get_max_gain();
84  void set_internal_trigger();
85  void set_external_trigger(unsigned int signal_line, bool rising_edge=true);
86  bool is_trigger_external();
87  protected:
88  BaslerCameraImplementation * pimpl;
89  };
90 
91 } // end namespace Resonon
92 #endif //end ifndef __GUARD_RESONON_IMAGER_BASLER_H
93 
Interface to Pika L and Pika XC2 hyperspectral imagers with USB3 connectivity.
Definition: resonon_imager_basler.h:25
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