The Resonon API is no longer being updated or maintained. We recommend customers move to using the camera vendors' SDKs.
Documentation on how to do so is available here.
Resonon API  3.12 [Deprecated]
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