AxsunOCTCapture  3.6.0.0
Captures and buffers streamed imaged data from the Axsun Ethernet/PCIe DAQ and displays or retrieves images to a client application on request.
AxsunOCTCapture.h
Go to the documentation of this file.
1 // AxsunOCTCapture.h
2 // Copyright 2020 Axsun Technologies
115 #ifndef AXSUNOCTCAPTURE_H
116 #define AXSUNOCTCAPTURE_H
117 
118 // includes
119 #include "AxsunCommonEnums.h"
120 
121 // defines
122 #ifdef __cplusplus
123 constexpr auto MOST_RECENT_IMAGE = uint32_t{ 0 };
124 #else
125 #define MOST_RECENT_IMAGE 0
126 #endif // __cplusplus
127 
129 struct CaptureSession;
130 
132 typedef struct CaptureSession* AOChandle;
133 
135 typedef enum
136 #ifdef __cplusplus
137 class
138 #endif // __cplusplus
139 AxDimension {
141  XY,
143  XZ,
145  YZ
147 
149 typedef enum
150 #ifdef __cplusplus
151 class
152 #endif // __cplusplus
153 AxColormap {
154  SEPIA,
155  GREYSCALE,
156  INV_GREYSCALE,
157  USER_COLORMAP
159 
161 typedef enum
162 #ifdef __cplusplus
163 class
164 #endif // __cplusplus
165 AxFileType {
179 
181 typedef enum
182 #ifdef __cplusplus
183 class
184 #endif // __cplusplus
195 
197 typedef enum
198 #ifdef __cplusplus
199 class
200 #endif // __cplusplus
201 AxDAQEvent {
217  LOAD_START = 7
219 
221 typedef enum
222 #ifdef __cplusplus
223 class
224 #endif // __cplusplus
225 AxInterface {
235 
237 typedef enum
238 #ifdef __cplusplus
239 class
240 #endif // __cplusplus
289 
291 typedef struct scan_params_t { // for analog waveform generation control
293  uint32_t X_increments;
295  uint32_t Y_increments;
297  double X_range;
299  double Y_range;
301  double X_shift;
303  double Y_shift;
305  double Y_idle;
307  double X_phase;
309  double X_symmetry;
311 
313 typedef struct ext_pattern_t { // for analog waveform generation control
319  double * linear_pattern;
321  double * raster_pattern;
323 
324 
326 typedef struct request_prefs_t {
327 
331  int32_t which_window;
333  uint32_t average_number;
334 
348  int16_t to8bit_shift;
350  uint16_t to8Bit_min;
352  uint8_t downsample;
354  uint8_t dezipper;
356 
357 
359 typedef struct export_prefs_t {
361  uint32_t width;
363  uint32_t height;
365  double contrast;
367  double brightness;
373  int32_t movie_fps;
375 
377 typedef struct axpacket_t {
378  uint32_t image_number;
379  uint32_t frame_number;
380  uint32_t packet_number;
381  uint16_t ascan_length;
382  uint16_t data_type_code;
383  uint16_t status_flags;
384  uint16_t frames_packet_number;
385  uint16_t sync_offset;
386  uint8_t subsamp;
387  uint8_t RFU;
388  struct axtimeval_t time_stamp;
390 
392 typedef struct image_info_t {
394  uint32_t image_number;
396  int32_t height;
398  int32_t width;
400  uint32_t size_bytes;
408  struct axtimeval_t time_stamp;
412  uint8_t shift_adj;
414  uint8_t force_trig;
416  uint8_t trig_too_fast;
418  uint8_t burst_recorded;
424 
430  uint32_t image_number;
436 
439 
441 typedef void(__cdecl* AxConnectScannerCallbackFunction_t)(void*);
442 
444 typedef void(__cdecl* AxCallbackFunction_t)(uint32_t, void*);
445 
446 
447 #ifdef __cplusplus
448 extern "C" {
449 #endif
450  AXSUN_EXPORTS
460  AxErr axStartSession(AOChandle* session, float capacity_MB);
461  AXSUN_EXPORTS
470  AxErr axSelectInterface(AOChandle session, AxInterface which_interface);
471  AXSUN_EXPORTS
480  AXSUN_EXPORTS
489  void axGetErrorString(AxErr errorcode, char* message_out);
490  AXSUN_EXPORTS
500  AxErr axGetMessage(AOChandle session, char* message_out);
501  AXSUN_EXPORTS
515  AxErr axGetStatus(AOChandle session, uint32_t * imaging, uint32_t * last_packet_in, uint32_t * last_frame_in, uint32_t *last_image_in, uint32_t * dropped_packets, uint32_t *frames_since_sync);
516  AXSUN_EXPORTS
525  AxErr axGetDataRate(AOChandle session, double * datarate_Mbps);
526  AXSUN_EXPORTS
535  AxErr axGetImageRate(AOChandle session, int32_t * images_per_second);
536  AXSUN_EXPORTS
546  AxErr axGetImageInfo(AOChandle session, uint32_t requested_image, image_info_t* image_info);
547  AXSUN_EXPORTS
564  AxErr axGetImageInfoAdv(AOChandle session, int64_t requested_image_number, uint32_t * returned_image_number, int32_t * height, int32_t * width, AxDataType *data_type_out, uint32_t * required_buffer_size, uint8_t * force_trig, uint8_t * trig_too_fast);
565  AXSUN_EXPORTS
577  AxErr axRequestImage(AOChandle session, uint32_t requested_image, request_prefs_t prefs, uint32_t output_buf_len, uint8_t * image_data_out, image_info_t* image_info);
578  AXSUN_EXPORTS
597  AxErr axRequestImageAdv(AOChandle session, int64_t requested_image_number, uint8_t * image_data_out, axpacket_t * metadata_out, int32_t * height, int32_t * width, AxDataType *data_type_out, uint32_t output_buf_len, request_prefs_t prefs, uint8_t * force_trig, uint8_t * trig_too_fast);
598  AXSUN_EXPORTS
614  AxErr axGetFrameInfoAdv(AOChandle session, int64_t requested_frame_number, uint32_t * returned_frame_number, int32_t * height, int32_t * width, AxDataType *data_type_out, uint32_t * required_buffer_size);
615  AXSUN_EXPORTS
631  AxErr axRequestFrameAdv(AOChandle session, int64_t requested_frame_number, uint8_t * frame_data_out, axpacket_t * metadata_out, int32_t * height, int32_t * width, AxDataType *data_type_out, uint32_t output_buf_len);
632  AXSUN_EXPORTS
646  AxErr axGetCompressedJPEGInfo(AOChandle session, int64_t requested_frame_number, uint32_t * returned_frame_number, uint32_t * required_buffer_size);
647  AXSUN_EXPORTS
663  AxErr axRequestCompressedJPEG(AOChandle session, int64_t requested_frame_number, uint8_t * JPEG_data_out, axpacket_t * metadata_out, uint32_t output_buf_len);
664  AXSUN_EXPORTS
679  AxErr axSetupDisplay(AOChandle session, uint8_t window_style, int32_t w_left, int32_t w_top, int32_t w_width, int32_t w_height, uintptr_t parent_window_handle);
680  AXSUN_EXPORTS
688  AxErr axCountWindows(AOChandle session, int32_t * num_of_windows);
689  AXSUN_EXPORTS
699  AxErr axUpdateWindowStyle(AOChandle session, int32_t which_window, uint8_t window_style);
700  AXSUN_EXPORTS
710  AxErr axSelectInterpolation(AOChandle session, int32_t which_window, uint8_t interpolation);
711  AXSUN_EXPORTS
722  AxErr axDisplayImage(AOChandle session, int64_t requested_image_number, uint32_t * returned_image_number, int32_t * height, int32_t * width);
723  AXSUN_EXPORTS
733  AxErr axSelectColormap(AOChandle session, int32_t which_window, AxColormap colors);
734  AXSUN_EXPORTS
744  AxErr axLoadUserColormap(AOChandle session, int32_t which_window, uint8_t * user_colormap_in);
745  AXSUN_EXPORTS
761  AxErr axScanConvert(AOChandle session, int32_t which_window, uint8_t convert, float inner_radius, float outer_radius, float crop_inner, float crop_outer);
762  AXSUN_EXPORTS
776  AxErr axUpdateView(AOChandle session, int32_t which_window, int32_t w_left, int32_t w_top, int32_t w_width, int32_t w_height);
777  AXSUN_EXPORTS
790  AxErr axCropRect(AOChandle session, int32_t which_window, float crop_left, float crop_top, float crop_bottom, float crop_right);
791  AXSUN_EXPORTS
802  AxErr axAdjustBrightnessContrast(AOChandle session, int32_t which_window, float brightness, float contrast);
803  AXSUN_EXPORTS
813  AxErr axHideWindow(AOChandle session, int32_t which_window, uint32_t hidden);
814  AXSUN_EXPORTS
831  AxErr axSetTrigTimeout(AOChandle session, uint32_t framesUntilForceTrig);
832  AXSUN_EXPORTS
844  AxErr axSaveFile(AOChandle session, const char * path_file, uint8_t full_buffer, int32_t * packets_written);
845  AXSUN_EXPORTS
855  AxErr axLoadFile(AOChandle session, const char * path_file, int32_t * packets_read);
856  AXSUN_EXPORTS
865  AxErr axResizeBuffer(AOChandle session, float capacity_MB);
866  AXSUN_EXPORTS
875  AxErr axImagingCntrlPCIe(AOChandle session, int16_t number_of_images);
876  AXSUN_EXPORTS
888  AxErr axWriteFPGAreg(AOChandle session, uint16_t regnum, uint16_t regval);
889  AXSUN_EXPORTS
900  AxErr axWriteFPGAregBIT(AOChandle session, uint16_t regnum, uint8_t bitnum, uint8_t bitval);
901  AXSUN_EXPORTS
912  AXSUN_EXPORTS
922  AxErr axReadFPGAreg(AOChandle session, uint16_t regnum, uint16_t *regval);
923  AXSUN_EXPORTS
936  AxErr axExportImages(AOChandle session, const char* path_directory, int32_t* images_exported, AxFileType file_type);
937  AXSUN_EXPORTS
954  AxErr axExportImagesAdv(AOChandle session, const char* path_directory, int32_t* images_exported, AxFileType file_type, uint32_t start_image, uint32_t end_image, request_prefs_t request_prefs, export_prefs_t export_prefs);
955 
956  AXSUN_EXPORTS
1085  AxErr axScanCmd(AxScannerCommand scan_command, double misc_scalar, scan_params_t * scan_parameters, ext_pattern_t * external_scan_pattern, void * RFU);
1086  AXSUN_EXPORTS
1097  AXSUN_EXPORTS
1107  AxErr axRegisterDAQCallback(AOChandle session, AxCallbackFunction_t callback_function, void * user_data);
1108  AXSUN_EXPORTS
1117  AXSUN_EXPORTS
1127  AxErr axRegisterExportCallback(AOChandle session, AxCallbackFunction_t callback_function, void * user_data);
1128  AXSUN_EXPORTS
1138  AxErr axRegisterNewImageCallback(AOChandle session, AxNewImageCallbackFunction_t callback_function, void * user_data);
1139  AXSUN_EXPORTS
1148  int32_t axGetLibBuildCfg(void);
1149  AXSUN_EXPORTS
1157  int32_t axGetLibBuildDateTime(char* datetime_str);
1158  AXSUN_EXPORTS
1169  void axGetLibVersion(int32_t * major, int32_t * minor, int32_t * patch, int32_t * build, char* version_str);
1170 
1171 #ifdef __cplusplus
1172 } // extern "C"
1173 #endif
1174 
1175 #endif // AXSUNOCTCAPTURE_H include guard
image_info_t::size_bytes
uint32_t size_bytes
Definition: AxsunOCTCapture.h:400
axtimeval_t
Structure for packet time stamp with platform-independent size (for internal use.)
Definition: AxsunCommonEnums.h:24
axGetImageRate
AxErr axGetImageRate(AOChandle session, int32_t *images_per_second)
Get the rate of new images being enqueued in the main image buffer.
axCountWindows
AxErr axCountWindows(AOChandle session, int32_t *num_of_windows)
Count the number of OpenGL display windows currently created. (WINDOWS ONLY)
axGetImageInfo
AxErr axGetImageInfo(AOChandle session, uint32_t requested_image, image_info_t *image_info)
Get information on an image in the Main Image Buffer.
image_info_t::image_number
uint32_t image_number
Definition: AxsunOCTCapture.h:394
axRequestImageAdv
AxErr axRequestImageAdv(AOChandle session, int64_t requested_image_number, uint8_t *image_data_out, axpacket_t *metadata_out, int32_t *height, int32_t *width, AxDataType *data_type_out, uint32_t output_buf_len, request_prefs_t prefs, uint8_t *force_trig, uint8_t *trig_too_fast)
(DEPRECATED in v3.4.0) Advanced function for retrieving and/or displaying an image from the Main Imag...
image_info_t::last_packet_metadata
axpacket_t last_packet_metadata
Definition: AxsunOCTCapture.h:422
scan_params_t::Y_idle
double Y_idle
Definition: AxsunOCTCapture.h:305
REQUESTMODE_RFU
@ REQUESTMODE_RFU
Definition: AxsunOCTCapture.h:193
image_info_t::subsampling_factor
uint8_t subsampling_factor
Definition: AxsunOCTCapture.h:410
axSetupDisplay
AxErr axSetupDisplay(AOChandle session, uint8_t window_style, int32_t w_left, int32_t w_top, int32_t w_width, int32_t w_height, uintptr_t parent_window_handle)
Setup an OpenGL display window for direct rendering of image data. (WINDOWS ONLY)
AxNewImageCallbackFunction_t
void(__cdecl * AxNewImageCallbackFunction_t)(new_image_callback_data_t, void *)
A user-provided function to be called when a new image is enqueued in the Main Image Buffer....
Definition: AxsunOCTCapture.h:438
axpacket_t
struct axpacket_t axpacket_t
Structure for packet metadata (for internal use.)
axSaveFile
AxErr axSaveFile(AOChandle session, const char *path_file, uint8_t full_buffer, int32_t *packets_written)
Save contents of Main Image Buffer to disk.
image_info_t::shift_adj
uint8_t shift_adj
Definition: AxsunOCTCapture.h:412
AOChandle
struct CaptureSession * AOChandle
Axsun OCT Capture handle - a pointer to the opaque structure used to manage created capture sessions.
Definition: AxsunOCTCapture.h:132
XY
@ XY
Definition: AxsunOCTCapture.h:141
request_prefs_t::crop_width_offset
int32_t crop_width_offset
Definition: AxsunOCTCapture.h:340
IMAGING_START
@ IMAGING_START
Definition: AxsunOCTCapture.h:205
request_prefs_t::dezipper
uint8_t dezipper
Definition: AxsunOCTCapture.h:354
export_prefs_t::height
uint32_t height
Definition: AxsunOCTCapture.h:363
axScanConvert
AxErr axScanConvert(AOChandle session, int32_t which_window, uint8_t convert, float inner_radius, float outer_radius, float crop_inner, float crop_outer)
Change the polar -> rectangular scan conversion behavior of images displayed in an OpenGL window....
INIT_SCAN
@ INIT_SCAN
Definition: AxsunOCTCapture.h:243
scan_params_t::X_increments
uint32_t X_increments
Definition: AxsunOCTCapture.h:293
image_info_t
struct image_info_t image_info_t
Structure for conveying metadata information about an image.
new_image_callback_data_t::required_buffer_size
uint32_t required_buffer_size
Definition: AxsunOCTCapture.h:432
axRegisterNewImageCallback
AxErr axRegisterNewImageCallback(AOChandle session, AxNewImageCallbackFunction_t callback_function, void *user_data)
Registers a callback function to be executed each time a new image is enqueued in the Main Image Buff...
axUpdateView
AxErr axUpdateView(AOChandle session, int32_t which_window, int32_t w_left, int32_t w_top, int32_t w_width, int32_t w_height)
Change the OpenGL window size and position. (WINDOWS ONLY)
ext_pattern_t
struct ext_pattern_t ext_pattern_t
Structure for passing a user-generated scan pattern to axScanCmd(LOAD_EXT_PATTERN,...
axDisplayImage
AxErr axDisplayImage(AOChandle session, int64_t requested_image_number, uint32_t *returned_image_number, int32_t *height, int32_t *width)
(DEPRECATED in v3.4.0) Display an image from the Main Image Buffer directly to an OpenGL window (8-bi...
scan_params_t
struct scan_params_t scan_params_t
Structure for passing raster scan pattern parameters to axScanCmd(SET_RECT_PATTERN,...
image_info_t::data_type
AxDataType data_type
Definition: AxsunOCTCapture.h:402
axRequestCompressedJPEG
AxErr axRequestCompressedJPEG(AOChandle session, int64_t requested_frame_number, uint8_t *JPEG_data_out, axpacket_t *metadata_out, uint32_t output_buf_len)
Retrieve an un-decompressed JPEG frame from the Main Image Buffer (A frame is 256 A-scans,...
AxChannelMode
AxChannelMode
DAQ channel selection modes.
Definition: AxsunCommonEnums.h:211
new_image_callback_data_t::image_number
uint32_t image_number
Definition: AxsunOCTCapture.h:430
XZ
@ XZ
Definition: AxsunOCTCapture.h:143
LOAD_START
@ LOAD_START
Definition: AxsunOCTCapture.h:217
new_image_callback_data_t
struct new_image_callback_data_t new_image_callback_data_t
Structure for data made available to user in a new image callback event via registered AxNewImageCall...
axPipelineMode
AxErr axPipelineMode(AOChandle session, AxPipelineMode mode, AxChannelMode channels)
Configures FPGA registers to output the desired data type & location from the processing pipeline via...
scan_params_t::X_shift
double X_shift
Definition: AxsunOCTCapture.h:301
axStopSession
AxErr axStopSession(AOChandle session)
Stop a capture session and deallocate all resources, including Main Image Buffer and interfaces.
image_info_t::pipeline_mode
AxPipelineMode pipeline_mode
Definition: AxsunOCTCapture.h:404
SET_AUX_DC_ANALOG_OUTPUT
@ SET_AUX_DC_ANALOG_OUTPUT
Definition: AxsunOCTCapture.h:279
SET_SAMPLE_CLOCK
@ SET_SAMPLE_CLOCK
Definition: AxsunOCTCapture.h:263
JPEG
@ JPEG
Definition: AxsunOCTCapture.h:169
AxDAQEvent
AxDAQEvent
Types of transitions in DAQ's operational mode, conveyed via user callback function....
Definition: AxsunOCTCapture.h:201
axAdjustBrightnessContrast
AxErr axAdjustBrightnessContrast(AOChandle session, int32_t which_window, float brightness, float contrast)
Change the brightness and contrast of images displayed in an OpenGL window. (WINDOWS ONLY)
WAIT_BURST
@ WAIT_BURST
Definition: AxsunOCTCapture.h:261
export_prefs_t::movie_fps
int32_t movie_fps
Definition: AxsunOCTCapture.h:373
request_prefs_t::crop_height_total
int32_t crop_height_total
Definition: AxsunOCTCapture.h:346
CALIBRATION_DONE
@ CALIBRATION_DONE
Definition: AxsunOCTCapture.h:211
RECORD_START
@ RECORD_START
Definition: AxsunOCTCapture.h:209
image_info_t::width
int32_t width
Definition: AxsunOCTCapture.h:398
NO_INTERFACE
@ NO_INTERFACE
Definition: AxsunOCTCapture.h:231
request_prefs_t::request_mode
AxRequestMode request_mode
Definition: AxsunOCTCapture.h:329
axResizeBuffer
AxErr axResizeBuffer(AOChandle session, float capacity_MB)
Clears and resets the Main Image Buffer, optionally with a new buffer size.
COUNT_DEVICES
@ COUNT_DEVICES
Definition: AxsunOCTCapture.h:269
IMAGING_STOP
@ IMAGING_STOP
Definition: AxsunOCTCapture.h:203
AxColormap
AxColormap
Available colormaps to select using axSelectColormap().
Definition: AxsunOCTCapture.h:153
RECORD_DONE
@ RECORD_DONE
Definition: AxsunOCTCapture.h:207
RAW3D
@ RAW3D
Definition: AxsunOCTCapture.h:175
axWriteFPGAreg
AxErr axWriteFPGAreg(AOChandle session, uint16_t regnum, uint16_t regval)
Write a FPGA register on the Axsun DAQ via the PCIe interface. (WINDOWS ONLY)
ext_pattern_t
Structure for passing a user-generated scan pattern to axScanCmd(LOAD_EXT_PATTERN,...
Definition: AxsunOCTCapture.h:313
request_prefs_t::crop_width_total
int32_t crop_width_total
Definition: AxsunOCTCapture.h:342
scan_params_t::X_symmetry
double X_symmetry
Definition: AxsunOCTCapture.h:309
image_info_t::time_stamp
struct axtimeval_t time_stamp
Definition: AxsunOCTCapture.h:408
axScanCmd
AxErr axScanCmd(AxScannerCommand scan_command, double misc_scalar, scan_params_t *scan_parameters, ext_pattern_t *external_scan_pattern, void *RFU)
Control analog output waveform generation for 2 channel (X-Y) scanners. (WINDOWS ONLY)
SET_DIGITAL_OUTPUT
@ SET_DIGITAL_OUTPUT
Definition: AxsunOCTCapture.h:273
SETUP_BURST_RASTER
@ SETUP_BURST_RASTER
Definition: AxsunOCTCapture.h:257
axGetErrorString
void axGetErrorString(AxErr errorcode, char *message_out)
Get a description of a specific AxErr error code.
START_BURST_RASTER
@ START_BURST_RASTER
Definition: AxsunOCTCapture.h:259
new_image_callback_data_t::session
AOChandle session
Definition: AxsunOCTCapture.h:428
image_info_t::height
int32_t height
Definition: AxsunOCTCapture.h:396
LOAD_DONE
@ LOAD_DONE
Definition: AxsunOCTCapture.h:215
axRegisterDAQCallback
AxErr axRegisterDAQCallback(AOChandle session, AxCallbackFunction_t callback_function, void *user_data)
Registers a callback function to be executed upon a change in the DAQ imaging state (e....
scan_params_t::X_phase
double X_phase
Definition: AxsunOCTCapture.h:307
FILETYPE_RFU
@ FILETYPE_RFU
Definition: AxsunOCTCapture.h:177
image_info_t::test_vector_data
uint8_t test_vector_data
Definition: AxsunOCTCapture.h:420
axGetMessage
AxErr axGetMessage(AOChandle session, char *message_out)
Get a description of the capture session's interface status.
LOAD_EXT_PATTERN
@ LOAD_EXT_PATTERN
Definition: AxsunOCTCapture.h:249
request_prefs_t::downsample
uint8_t downsample
Definition: AxsunOCTCapture.h:352
axGetFrameInfoAdv
AxErr axGetFrameInfoAdv(AOChandle session, int64_t requested_frame_number, uint32_t *returned_frame_number, int32_t *height, int32_t *width, AxDataType *data_type_out, uint32_t *required_buffer_size)
Get information on a frame in the Main Image Buffer (A frame is 256 A-scans, unsynchronized with Imag...
SET_SQUAREWAVE_OUTPUT
@ SET_SQUAREWAVE_OUTPUT
Definition: AxsunOCTCapture.h:275
axReportImagingState
AxErr axReportImagingState(AOChandle session)
Programmatically executes the pre-registered callback function to indicate the current DAQ imaging st...
AxsunCommonEnums.h
This header file contains enums and other definitions for integrating AxsunOCTCapture....
AxPipelineMode
AxPipelineMode
DAQ pipeline modes.
Definition: AxsunCommonEnums.h:193
axRegisterExportCallback
AxErr axRegisterExportCallback(AOChandle session, AxCallbackFunction_t callback_function, void *user_data)
Registers a callback function to be executed each time an image is exported using axExportImages() or...
BMP
@ BMP
Definition: AxsunOCTCapture.h:171
axGetStatus
AxErr axGetStatus(AOChandle session, uint32_t *imaging, uint32_t *last_packet_in, uint32_t *last_frame_in, uint32_t *last_image_in, uint32_t *dropped_packets, uint32_t *frames_since_sync)
Get imaging mode status and Main Image Buffer statistics.
AxFileType
AxFileType
Available file types to export using axExportImages() and axExportImagesAdv().
Definition: AxsunOCTCapture.h:165
SET_RECT_PATTERN
@ SET_RECT_PATTERN
Definition: AxsunOCTCapture.h:247
axGetCompressedJPEGInfo
AxErr axGetCompressedJPEGInfo(AOChandle session, int64_t requested_frame_number, uint32_t *returned_frame_number, uint32_t *required_buffer_size)
Get un-decompressed size information on a compressed JPEG frame in the Main Image Buffer (A frame is ...
image_info_t
Structure for conveying metadata information about an image.
Definition: AxsunOCTCapture.h:392
axRequestFrameAdv
AxErr axRequestFrameAdv(AOChandle session, int64_t requested_frame_number, uint8_t *frame_data_out, axpacket_t *metadata_out, int32_t *height, int32_t *width, AxDataType *data_type_out, uint32_t output_buf_len)
Retrieve a frame from the Main Image Buffer (A frame is 256 A-scans, unsynchronized with Image_sync s...
axGetDataRate
AxErr axGetDataRate(AOChandle session, double *datarate_Mbps)
Get data transfer rate on the active interface.
export_prefs_t::width
uint32_t width
Definition: AxsunOCTCapture.h:361
axHideWindow
AxErr axHideWindow(AOChandle session, int32_t which_window, uint32_t hidden)
Hide or unhide the OpenGL image display window. (WINDOWS ONLY)
axRegisterScannerConnectCallback
AxErr axRegisterScannerConnectCallback(AxConnectScannerCallbackFunction_t callback_function, void *userData)
Registers a callback function to be executed following a scanner (DAQmx) device connection or disconn...
STOP_AT_POSITION
@ STOP_AT_POSITION
Definition: AxsunOCTCapture.h:255
request_prefs_t::crop_height_offset
int32_t crop_height_offset
Definition: AxsunOCTCapture.h:344
YZ
@ YZ
Definition: AxsunOCTCapture.h:145
image_info_t::trig_too_fast
uint8_t trig_too_fast
Definition: AxsunOCTCapture.h:416
axLoadUserColormap
AxErr axLoadUserColormap(AOChandle session, int32_t which_window, uint8_t *user_colormap_in)
Load a user-defined AxColormap for images displayed in an OpenGL window. (WINDOWS ONLY)
axReadFPGAreg
AxErr axReadFPGAreg(AOChandle session, uint16_t regnum, uint16_t *regval)
Read a FPGA register on the Axsun DAQ via the PCIe interface. (WINDOWS ONLY)
export_prefs_t::brightness
double brightness
Definition: AxsunOCTCapture.h:367
SET_MAX_VOLTAGE
@ SET_MAX_VOLTAGE
Definition: AxsunOCTCapture.h:271
axSelectInterpolation
AxErr axSelectInterpolation(AOChandle session, int32_t which_window, uint8_t interpolation)
Change the OpenGL display interpolation mode. (WINDOWS ONLY)
new_image_callback_data_t
Structure for data made available to user in a new image callback event via registered AxNewImageCall...
Definition: AxsunOCTCapture.h:426
axGetLibBuildCfg
int32_t axGetLibBuildCfg(void)
Get the build configuration of the library.
DESTROY_SCAN
@ DESTROY_SCAN
Definition: AxsunOCTCapture.h:245
export_prefs_t::colormap
AxColormap colormap
Definition: AxsunOCTCapture.h:369
image_info_t::channel_mode
AxChannelMode channel_mode
Definition: AxsunOCTCapture.h:406
new_image_callback_data_t::waiting_callbacks
uint32_t waiting_callbacks
Definition: AxsunOCTCapture.h:434
GET_DEVICE_SERIALNO
@ GET_DEVICE_SERIALNO
Definition: AxsunOCTCapture.h:265
image_info_t::burst_recorded
uint8_t burst_recorded
Definition: AxsunOCTCapture.h:418
ext_pattern_t::raster_pattern
double * raster_pattern
Definition: AxsunOCTCapture.h:321
SET_XSINE_YSINE_PATTERN
@ SET_XSINE_YSINE_PATTERN
Definition: AxsunOCTCapture.h:287
RETRIEVE_TO_CALLER
@ RETRIEVE_TO_CALLER
Definition: AxsunOCTCapture.h:187
RETRIEVE_AND_DISPLAY
@ RETRIEVE_AND_DISPLAY
Definition: AxsunOCTCapture.h:191
axCropRect
AxErr axCropRect(AOChandle session, int32_t which_window, float crop_left, float crop_top, float crop_bottom, float crop_right)
Change the rectangular cropping behavior of images displayed in an OpenGL window. (WINDOWS ONLY)
export_prefs_t
Structure for image export preferences (movie functionality requires installation of OpenCV).
Definition: AxsunOCTCapture.h:359
axGetImageInfoAdv
AxErr axGetImageInfoAdv(AOChandle session, int64_t requested_image_number, uint32_t *returned_image_number, int32_t *height, int32_t *width, AxDataType *data_type_out, uint32_t *required_buffer_size, uint8_t *force_trig, uint8_t *trig_too_fast)
(DEPRECATED in v3.4.0) Advanced function for getting information on an image in the Main Image Buffer...
axUpdateWindowStyle
AxErr axUpdateWindowStyle(AOChandle session, int32_t which_window, uint8_t window_style)
Change the OpenGL display window style. (WINDOWS ONLY)
axRequestImage
AxErr axRequestImage(AOChandle session, uint32_t requested_image, request_prefs_t prefs, uint32_t output_buf_len, uint8_t *image_data_out, image_info_t *image_info)
Retrieve and/or display an image from the Main Image Buffer.
export_prefs_t::contrast
double contrast
Definition: AxsunOCTCapture.h:365
scan_params_t::X_range
double X_range
Definition: AxsunOCTCapture.h:297
axGetLibVersion
void axGetLibVersion(int32_t *major, int32_t *minor, int32_t *patch, int32_t *build, char *version_str)
Get the library version.
request_prefs_t
struct request_prefs_t request_prefs_t
Structure for image request preferences.
AxErr
AxErr
Error codes returned from AxsunOCTCapture or AxsunOCTControl_LW functions. Use axGetErrorString() in ...
Definition: AxsunCommonEnums.h:34
axExportImagesAdv
AxErr axExportImagesAdv(AOChandle session, const char *path_directory, int32_t *images_exported, AxFileType file_type, uint32_t start_image, uint32_t end_image, request_prefs_t request_prefs, export_prefs_t export_prefs)
Export images from the Main Image Buffer into individual graphics and movie files,...
scan_params_t::Y_range
double Y_range
Definition: AxsunOCTCapture.h:299
scan_params_t
Structure for passing raster scan pattern parameters to axScanCmd(SET_RECT_PATTERN,...
Definition: AxsunOCTCapture.h:291
axSelectInterface
AxErr axSelectInterface(AOChandle session, AxInterface which_interface)
Select the data interface (Ethernet, PCIe, or none) for the capture session.
CALIBRATION_START
@ CALIBRATION_START
Definition: AxsunOCTCapture.h:213
SET_XSINE_YRAMP_PATTERN
@ SET_XSINE_YRAMP_PATTERN
Definition: AxsunOCTCapture.h:277
AxRequestMode
AxRequestMode
Available request modes to define behavior of axRequestImageAdv().
Definition: AxsunOCTCapture.h:185
INTERFACE_RFU
@ INTERFACE_RFU
Definition: AxsunOCTCapture.h:233
CONTINUOUS_RASTER_SCAN
@ CONTINUOUS_RASTER_SCAN
Definition: AxsunOCTCapture.h:253
AxInterface
AxInterface
Available capture interfaces to be selected by axSelectInterface().
Definition: AxsunOCTCapture.h:225
scan_params_t::Y_increments
uint32_t Y_increments
Definition: AxsunOCTCapture.h:295
DISPLAY_ONLY
@ DISPLAY_ONLY
Definition: AxsunOCTCapture.h:189
request_prefs_t::to8Bit_min
uint16_t to8Bit_min
Definition: AxsunOCTCapture.h:350
BINARY
@ BINARY
Definition: AxsunOCTCapture.h:167
SET_AUX_DC_ANALOG_MIN
@ SET_AUX_DC_ANALOG_MIN
Definition: AxsunOCTCapture.h:283
AxScannerCommand
AxScannerCommand
Available scanner command types to be executed by axScanCmd().
Definition: AxsunOCTCapture.h:241
SET_AUX_DC_ANALOG_MAX
@ SET_AUX_DC_ANALOG_MAX
Definition: AxsunOCTCapture.h:281
request_prefs_t::to8bit_shift
int16_t to8bit_shift
Definition: AxsunOCTCapture.h:348
scan_params_t::Y_shift
double Y_shift
Definition: AxsunOCTCapture.h:303
axExportImages
AxErr axExportImages(AOChandle session, const char *path_directory, int32_t *images_exported, AxFileType file_type)
Export images from the Main Image Buffer into individual binary or graphics files.
axStartSession
AxErr axStartSession(AOChandle *session, float capacity_MB)
Start an Axsun DAQ imaging session by allocating memory for the Main Image Buffer.
AxDataType
AxDataType
Integer data types which may be generated by the Axsun DAQ depending on selected pipeline bypass mode...
Definition: AxsunCommonEnums.h:224
request_prefs_t::average_number
uint32_t average_number
Definition: AxsunOCTCapture.h:333
ext_pattern_t::ext_X_increments
uint32_t ext_X_increments
Definition: AxsunOCTCapture.h:315
PCI_EXPRESS
@ PCI_EXPRESS
Definition: AxsunOCTCapture.h:229
export_prefs_t::opencv_colormap
int32_t opencv_colormap
Definition: AxsunOCTCapture.h:371
axpacket_t
Structure for packet metadata (for internal use.)
Definition: AxsunOCTCapture.h:377
axImagingCntrlPCIe
AxErr axImagingCntrlPCIe(AOChandle session, int16_t number_of_images)
Control the image streaming behavior of the Axsun PCIe DAQ between Live Imaging, Burst Recording,...
axSelectColormap
AxErr axSelectColormap(AOChandle session, int32_t which_window, AxColormap colors)
Select the color scheme of images displayed in an OpenGL window. (WINDOWS ONLY)
axLoadFile
AxErr axLoadFile(AOChandle session, const char *path_file, int32_t *packets_read)
Load contents from file on disk into Main Image Buffer.
ext_pattern_t::ext_Y_increments
uint32_t ext_Y_increments
Definition: AxsunOCTCapture.h:317
request_prefs_t
Structure for image request preferences.
Definition: AxsunOCTCapture.h:326
GET_DEVICE_MODEL_NUMBER
@ GET_DEVICE_MODEL_NUMBER
Definition: AxsunOCTCapture.h:285
request_prefs_t::which_window
int32_t which_window
Definition: AxsunOCTCapture.h:331
axGetLibBuildDateTime
int32_t axGetLibBuildDateTime(char *datetime_str)
Get a string describing the time and date that the library was built.
AxConnectScannerCallbackFunction_t
void(__cdecl * AxConnectScannerCallbackFunction_t)(void *)
A user-provided function to be called upon connection or disconnection of a NI-DAQmx device....
Definition: AxsunOCTCapture.h:441
AxDimension
AxDimension
Dimension for sectioning data cube with axRequestCutPlane().
Definition: AxsunOCTCapture.h:139
axWriteFPGAregBIT
AxErr axWriteFPGAregBIT(AOChandle session, uint16_t regnum, uint8_t bitnum, uint8_t bitval)
Write a single bit in an FPGA register on the Axsun DAQ via the PCIe interface. (WINDOWS ONLY)
axSetTrigTimeout
AxErr axSetTrigTimeout(AOChandle session, uint32_t framesUntilForceTrig)
Control the behavior of Force Trigger mode.
ext_pattern_t::linear_pattern
double * linear_pattern
Definition: AxsunOCTCapture.h:319
AxCallbackFunction_t
void(__cdecl * AxCallbackFunction_t)(uint32_t, void *)
A generic user-provided callback function with an unsigned int and void* argument....
Definition: AxsunOCTCapture.h:444
export_prefs_t
struct export_prefs_t export_prefs_t
Structure for image export preferences (movie functionality requires installation of OpenCV).
image_info_t::force_trig
uint8_t force_trig
Definition: AxsunOCTCapture.h:414
CONTINUOUS_LINE_SCAN
@ CONTINUOUS_LINE_SCAN
Definition: AxsunOCTCapture.h:251
SELECT_DEVICE
@ SELECT_DEVICE
Definition: AxsunOCTCapture.h:267
PNG
@ PNG
Definition: AxsunOCTCapture.h:173
GIGABIT_ETHERNET
@ GIGABIT_ETHERNET
Definition: AxsunOCTCapture.h:227