Resonon API  3.3
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_sample_count();
50  void set_framerate(const double frames_per_second);
51  double get_framerate();
52  double get_min_framerate();
53  double get_max_framerate();
54  double get_min_integration_time();
55  double get_max_integration_time();
56  void set_integration_time(const double milliseconds);
57  double get_integration_time();
58  void set_gain(const double gain);
59  double get_gain();
60  double get_min_gain();
61  double get_max_gain();
62  void set_internal_trigger();
63  void set_external_trigger(unsigned int signal_line, bool rising_edge=true);
64  bool is_trigger_external();
65  protected:
66  BaslerCameraImplementation * pimpl;
67  };
68 
69 } // end namespace Resonon
70 #endif //end ifndef __GUARD_RESONON_IMAGER_BASLER_H
71 
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