Resonon API  3.5
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_band_count();
49  int get_start_band();
50  void set_start_band(int band);
51  int get_min_start_band();
52  int get_max_start_band();
53  int get_inc_start_band();
54  int get_end_band();
55  void set_end_band(int band);
56  int get_min_end_band();
57  int get_max_end_band();
58  int get_inc_end_band();
59  int get_sample_count();
60  int get_start_sample();
61  void set_start_sample(int sample);
62  int get_min_start_sample();
63  int get_max_start_sample();
64  int get_inc_start_sample();
65  int get_end_sample();
66  void set_end_sample(int sample);
67  int get_min_end_sample();
68  int get_max_end_sample();
69  int get_inc_end_sample();
70  void set_framerate(const double frames_per_second);
71  double get_framerate();
72  double get_min_framerate();
73  double get_max_framerate();
74  double get_min_integration_time();
75  double get_max_integration_time();
76  void set_integration_time(const double milliseconds);
77  double get_integration_time();
78  void set_gain(const double gain);
79  double get_gain();
80  double get_min_gain();
81  double get_max_gain();
82  void set_internal_trigger();
83  void set_external_trigger(unsigned int signal_line, bool rising_edge=true);
84  bool is_trigger_external();
85  protected:
86  BaslerCameraImplementation * pimpl;
87  };
88 
89 } // end namespace Resonon
90 #endif //end ifndef __GUARD_RESONON_IMAGER_BASLER_H
91 
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