AxsunOCTCapture 3.8.2
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 2021 Axsun Technologies
3
153#ifndef AXSUNOCTCAPTURE_H
154#define AXSUNOCTCAPTURE_H
155
156// includes
157#include "AxsunCommonEnums.h"
158
159// defines
160#ifdef __cplusplus
161constexpr auto MOST_RECENT_IMAGE = uint32_t{ 0 };
162#else
163#define MOST_RECENT_IMAGE 0
164#endif // __cplusplus
165
167struct CaptureSession;
168
170typedef struct CaptureSession* AOChandle;
171
173typedef enum
174#ifdef __cplusplus
175class
176#endif // __cplusplus
183 YZ
185
187typedef enum
188#ifdef __cplusplus
189class
190#endif // __cplusplus
192 SEPIA,
193 GREYSCALE,
194 INV_GREYSCALE,
195 USER_COLORMAP
197
199typedef enum
200#ifdef __cplusplus
201class
202#endif // __cplusplus
217
219typedef enum
220#ifdef __cplusplus
221class
222#endif // __cplusplus
233
235typedef enum
236#ifdef __cplusplus
237class
238#endif // __cplusplus
265
267typedef enum
268#ifdef __cplusplus
269class
270#endif // __cplusplus
281
283typedef enum
284#ifdef __cplusplus
285class
286#endif // __cplusplus
293 OWNER_OWNED = 2
295
297typedef enum
298#ifdef __cplusplus
299class
300#endif // __cplusplus
349
351typedef struct scan_params_t { // for analog waveform generation control
353 uint32_t X_increments;
355 uint32_t Y_increments;
357 double X_range;
359 double Y_range;
361 double X_shift;
363 double Y_shift;
365 double Y_idle;
367 double X_phase;
371
373typedef struct ext_pattern_t { // for analog waveform generation control
383
384
386typedef struct request_prefs_t {
387
391 int32_t which_window;
394
410 uint16_t to8Bit_min;
412 uint8_t downsample;
414 uint8_t dezipper;
416
417
419typedef struct export_prefs_t {
421 uint32_t width;
423 uint32_t height;
425 double contrast;
433 int32_t movie_fps;
435
437typedef struct axpacket_t {
438 uint32_t image_number;
439 uint32_t frame_number;
440 uint32_t packet_number;
441 uint16_t ascan_length;
442 uint16_t data_type_code;
443 uint16_t status_flags;
444 uint16_t frames_packet_number;
445 uint16_t sync_offset;
446 uint8_t subsamp;
447 uint8_t RFU;
448 struct axtimeval_t time_stamp;
450
452typedef struct image_info_t {
454 uint32_t image_number;
456 int32_t height;
458 int32_t width;
460 uint32_t size_bytes;
472 uint8_t shift_adj;
474 uint8_t force_trig;
484
490 uint32_t image_number;
496
498typedef struct span_t {
500 const uint8_t* start;
504
507
509typedef void(__cdecl* AxConnectScannerCallbackFunction_t)(void*);
510
512typedef void(__cdecl* AxCallbackFunction_t)(int32_t, void*);
513
514
515#ifdef __cplusplus
516extern "C" {
517#endif
518 AXSUN_EXPORTS
528 AxErr __cdecl axStartSession(AOChandle* session, float capacity_MB);
529 AXSUN_EXPORTS
538 AxErr __cdecl axSelectInterface(AOChandle session, AxInterface which_interface);
539 AXSUN_EXPORTS
548 AxErr __cdecl axGetSelectedInterface(AOChandle session, AxInterface* selected_interface);
549 AXSUN_EXPORTS
557 AxErr __cdecl axStopSession(AOChandle session);
558 AXSUN_EXPORTS
567 void __cdecl axGetErrorString(AxErr errorcode, char* message_out);
568 AXSUN_EXPORTS
578 AxErr __cdecl axGetMessage(AOChandle session, char* message_out);
579 AXSUN_EXPORTS
593 AxErr __cdecl 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);
594 AXSUN_EXPORTS
603 AxErr __cdecl axGetDataRate(AOChandle session, double * datarate_Mbps);
604 AXSUN_EXPORTS
613 AxErr __cdecl axGetImageRate(AOChandle session, int32_t * images_per_second);
614 AXSUN_EXPORTS
625 AxErr __cdecl axGetImageInfo(AOChandle session, uint32_t requested_image, image_info_t* image_info);
626 AXSUN_EXPORTS
643 AxErr __cdecl 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);
644 AXSUN_EXPORTS
657 AxErr __cdecl 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);
658 AXSUN_EXPORTS
670 AxErr __cdecl axRequestImagePointer(AOChandle session, uint32_t requested_image, image_info_t* image_info, span_t* part1, span_t* part2);
671 AXSUN_EXPORTS
690 AxErr __cdecl 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);
691 AXSUN_EXPORTS
706 AxErr __cdecl 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);
707 AXSUN_EXPORTS
723 AxErr __cdecl 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);
724 AXSUN_EXPORTS
737 AxErr __cdecl axGetCompressedJPEGInfo(AOChandle session, int64_t requested_frame_number, uint32_t * returned_frame_number, uint32_t * required_buffer_size);
738 AXSUN_EXPORTS
753 AxErr __cdecl axRequestCompressedJPEG(AOChandle session, int64_t requested_frame_number, uint8_t * JPEG_data_out, axpacket_t * metadata_out, uint32_t output_buf_len);
754 AXSUN_EXPORTS
768 AxErr __cdecl 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 linked_window_handle);
769 AXSUN_EXPORTS
777 AxErr __cdecl axCountWindows(AOChandle session, int32_t * num_of_windows);
778 AXSUN_EXPORTS
787 AxErr __cdecl axUpdateWindowStyle(AOChandle session, int32_t which_window, uint8_t window_style);
788 AXSUN_EXPORTS
799 AxErr __cdecl axLinkWindows(AOChandle session, int32_t which_window, AxWindowLinkage linkage, uintptr_t linked_handle);
800 AXSUN_EXPORTS
810 AxErr __cdecl axSelectInterpolation(AOChandle session, int32_t which_window, uint8_t interpolation);
811 AXSUN_EXPORTS
823 AxErr __cdecl axDisplayImage(AOChandle session, int64_t requested_image_number, uint32_t * returned_image_number, int32_t * height, int32_t * width);
824 AXSUN_EXPORTS
834 AxErr __cdecl axSelectColormap(AOChandle session, int32_t which_window, AxColormap colors);
835 AXSUN_EXPORTS
846 AxErr __cdecl axLoadUserColormap(AOChandle session, int32_t which_window, uint8_t * user_colormap_in);
847 AXSUN_EXPORTS
863 AxErr __cdecl axScanConvert(AOChandle session, int32_t which_window, uint8_t convert, float inner_radius, float outer_radius, float crop_inner, float crop_outer);
864 AXSUN_EXPORTS
878 AxErr __cdecl axUpdateView(AOChandle session, int32_t which_window, int32_t w_left, int32_t w_top, int32_t w_width, int32_t w_height);
879 AXSUN_EXPORTS
892 AxErr __cdecl axCropRect(AOChandle session, int32_t which_window, float crop_left, float crop_top, float crop_bottom, float crop_right);
893 AXSUN_EXPORTS
904 AxErr __cdecl axAdjustBrightnessContrast(AOChandle session, int32_t which_window, float brightness, float contrast);
905 AXSUN_EXPORTS
921 AxErr __cdecl axHideWindow(AOChandle session, int32_t which_window, uint32_t state);
922 AXSUN_EXPORTS
939 AxErr __cdecl axSetTrigTimeout(AOChandle session, uint32_t framesUntilForceTrig);
940 AXSUN_EXPORTS
951 AxErr __cdecl axSaveFile(AOChandle session, const char * path_file, uint8_t full_buffer, int32_t * packets_written);
952 AXSUN_EXPORTS
962 AxErr __cdecl axLoadFile(AOChandle session, const char * path_file, int32_t * packets_read);
963 AXSUN_EXPORTS
972 AxErr __cdecl axResizeBuffer(AOChandle session, float capacity_MB);
973 AXSUN_EXPORTS
982 AxErr __cdecl axImagingCntrlPCIe(AOChandle session, int16_t number_of_images);
983
984 AXSUN_EXPORTS
990 const char* __cdecl axGetPCIeDriverVersion();
991
992 AXSUN_EXPORTS
1004 AxErr __cdecl axWriteFPGAreg(AOChandle session, uint16_t regnum, uint16_t regval);
1005 AXSUN_EXPORTS
1016 AxErr __cdecl axWriteFPGAregBIT(AOChandle session, uint16_t regnum, uint8_t bitnum, uint8_t bitval);
1017 AXSUN_EXPORTS
1027 AxErr __cdecl axWriteFPGAarray(AOChandle session, uint16_t regnum, uint16_t* regvals, int32_t number_of_words);
1028 AXSUN_EXPORTS
1039 AXSUN_EXPORTS
1049 AxErr __cdecl axReadFPGAreg(AOChandle session, uint16_t regnum, uint16_t *regval);
1050 AXSUN_EXPORTS
1063 AxErr __cdecl axExportImages(AOChandle session, const char* path_directory, int32_t* images_exported, AxFileType file_type);
1064 AXSUN_EXPORTS
1082 AxErr __cdecl 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);
1083 AXSUN_EXPORTS
1101 AxErr __cdecl axExportImagesAsync(AOChandle session, const char* path_directory, AxFileType file_type, uint32_t start_image, uint32_t end_image, request_prefs_t request_prefs, export_prefs_t export_prefs);
1102 AXSUN_EXPORTS
1110
1111 AXSUN_EXPORTS
1241 AxErr __cdecl axScanCmd(AxScannerCommand scan_command, double misc_scalar, const scan_params_t* scan_parameters, ext_pattern_t* external_scan_pattern, void * RFU);
1242 AXSUN_EXPORTS
1253 AXSUN_EXPORTS
1263 AxErr __cdecl axRegisterDAQCallback(AOChandle session, AxCallbackFunction_t callback_function, void * user_data);
1264 AXSUN_EXPORTS
1273 AXSUN_EXPORTS
1283 AxErr __cdecl axRegisterExportCallback(AOChandle session, AxCallbackFunction_t callback_function, void * user_data);
1284 AXSUN_EXPORTS
1294 AxErr __cdecl axRegisterNewImageCallback(AOChandle session, AxNewImageCallbackFunction_t callback_function, void * user_data);
1295 AXSUN_EXPORTS
1304 int32_t __cdecl axGetLibBuildCfg(void);
1305 AXSUN_EXPORTS
1313 int32_t __cdecl axGetLibBuildDateTime(char* datetime_str);
1314 AXSUN_EXPORTS
1325 void __cdecl axGetLibVersion(int32_t * major, int32_t * minor, int32_t * patch, int32_t * build, char* version_str);
1326
1327#ifdef __cplusplus
1328} // extern "C"
1329#endif
1330
1331#endif // AXSUNOCTCAPTURE_H include guard
This header file contains enums and other definitions for integrating AxsunOCTCapture....
AxChannelMode
DAQ channel selection modes.
Definition: AxsunCommonEnums.h:228
AxDataType
Integer data types which may be generated by the Axsun DAQ depending on selected pipeline bypass mode...
Definition: AxsunCommonEnums.h:241
AxPipelineMode
DAQ pipeline modes.
Definition: AxsunCommonEnums.h:210
AxErr
Error codes returned from AxsunOCTCapture or AxsunOCTControl_LW functions. Use axGetErrorString() in ...
Definition: AxsunCommonEnums.h:40
AxErr __cdecl axGetImageInfo(AOChandle session, uint32_t requested_image, image_info_t *image_info)
Get information on an image in the Main Image Buffer.
AxScannerCommand
Available scanner command types to be executed by axScanCmd().
Definition: AxsunOCTCapture.h:301
@ START_BURST_RASTER
Definition: AxsunOCTCapture.h:319
@ DESTROY_SCAN
Definition: AxsunOCTCapture.h:305
@ WAIT_BURST
Definition: AxsunOCTCapture.h:321
@ SET_DIGITAL_OUTPUT
Definition: AxsunOCTCapture.h:333
@ SET_AUX_DC_ANALOG_MAX
Definition: AxsunOCTCapture.h:341
@ SET_XSINE_YRAMP_PATTERN
Definition: AxsunOCTCapture.h:337
@ GET_DEVICE_SERIALNO
Definition: AxsunOCTCapture.h:325
@ INIT_SCAN
Definition: AxsunOCTCapture.h:303
@ COUNT_DEVICES
Definition: AxsunOCTCapture.h:329
@ SET_SAMPLE_CLOCK
Definition: AxsunOCTCapture.h:323
@ CONTINUOUS_LINE_SCAN
Definition: AxsunOCTCapture.h:311
@ CONTINUOUS_RASTER_SCAN
Definition: AxsunOCTCapture.h:313
@ SET_XSINE_YSINE_PATTERN
Definition: AxsunOCTCapture.h:347
@ SELECT_DEVICE
Definition: AxsunOCTCapture.h:327
@ GET_DEVICE_MODEL_NUMBER
Definition: AxsunOCTCapture.h:345
@ SETUP_BURST_RASTER
Definition: AxsunOCTCapture.h:317
@ SET_AUX_DC_ANALOG_MIN
Definition: AxsunOCTCapture.h:343
@ SET_SQUAREWAVE_OUTPUT
Definition: AxsunOCTCapture.h:335
@ SET_RECT_PATTERN
Definition: AxsunOCTCapture.h:307
@ STOP_AT_POSITION
Definition: AxsunOCTCapture.h:315
@ SET_MAX_VOLTAGE
Definition: AxsunOCTCapture.h:331
@ SET_AUX_DC_ANALOG_OUTPUT
Definition: AxsunOCTCapture.h:339
@ LOAD_EXT_PATTERN
Definition: AxsunOCTCapture.h:309
AxErr __cdecl axPipelineMode(AOChandle session, AxPipelineMode mode, AxChannelMode channels)
Configures FPGA registers to output the desired data type & location from the processing pipeline via...
struct CaptureSession * AOChandle
Axsun OCT Capture handle - a pointer to the opaque structure used to manage created capture sessions.
Definition: AxsunOCTCapture.h:170
AxErr __cdecl axImagingCntrlPCIe(AOChandle session, int16_t number_of_images)
Control the image streaming behavior of the Axsun PCIe DAQ between Live Imaging, Burst Recording,...
struct export_prefs_t export_prefs_t
Structure for image export preferences (movie functionality requires installation of OpenCV).
AxErr __cdecl axExportImagesAsync(AOChandle session, const char *path_directory, AxFileType file_type, uint32_t start_image, uint32_t end_image, request_prefs_t request_prefs, export_prefs_t export_prefs)
Asynchronously (as a background task) export images from the Main Image Buffer into individual graphi...
AxErr __cdecl 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....
AxErr __cdecl axStopSession(AOChandle session)
Stop a capture session and deallocate all resources, including Main Image Buffer and interfaces.
AxErr __cdecl axLinkWindows(AOChandle session, int32_t which_window, AxWindowLinkage linkage, uintptr_t linked_handle)
Change the linkage of the OpenGL display window to another window (i.e. parent or owner)....
AxErr __cdecl axGetImageRate(AOChandle session, int32_t *images_per_second)
Get the rate of new images being enqueued in the main image buffer.
AxInterface
Available capture interfaces to be selected by axSelectInterface().
Definition: AxsunOCTCapture.h:271
@ PCI_EXPRESS
Definition: AxsunOCTCapture.h:275
@ GIGABIT_ETHERNET
Definition: AxsunOCTCapture.h:273
@ NO_INTERFACE
Definition: AxsunOCTCapture.h:277
@ INTERFACE_RFU
Definition: AxsunOCTCapture.h:279
AxErr __cdecl 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...
AxErr __cdecl 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,...
AxErr __cdecl axGetSelectedInterface(AOChandle session, AxInterface *selected_interface)
Queries the currently selected data interface (Ethernet, PCIe, or none) for the capture session.
AxErr __cdecl axSelectInterface(AOChandle session, AxInterface which_interface)
Select the data interface (Ethernet, PCIe, or none) for the capture session.
AxErr __cdecl axSaveFile(AOChandle session, const char *path_file, uint8_t full_buffer, int32_t *packets_written)
Save contents of Main Image Buffer to disk.
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:506
struct axpacket_t axpacket_t
Structure for packet metadata (for internal use.)
AxErr __cdecl 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 linked_window_handle)
Setup an OpenGL display window for direct rendering of image data. (Windows OS only)
AxErr __cdecl axReadFPGAreg(AOChandle session, uint16_t regnum, uint16_t *regval)
Read a FPGA register on the Axsun DAQ via the PCIe interface.
AxDimension
Dimension for sectioning data cube with axRequestCutPlane().
Definition: AxsunOCTCapture.h:177
@ XY
Definition: AxsunOCTCapture.h:179
@ XZ
Definition: AxsunOCTCapture.h:181
@ YZ
Definition: AxsunOCTCapture.h:183
AxErr __cdecl 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(),...
AxErr __cdecl axScanCmd(AxScannerCommand scan_command, double misc_scalar, const 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 OS only)
AxErr __cdecl axSetTrigTimeout(AOChandle session, uint32_t framesUntilForceTrig)
Control the behavior of Force Trigger mode.
AxColormap
Available colormaps to select using axSelectColormap().
Definition: AxsunOCTCapture.h:191
AxErr __cdecl axStartSession(AOChandle *session, float capacity_MB)
Start an Axsun DAQ imaging session by allocating memory for the Main Image Buffer.
AxErr __cdecl axWriteFPGAreg(AOChandle session, uint16_t regnum, uint16_t regval)
Write a FPGA register on the Axsun DAQ via the PCIe interface.
AxErr __cdecl axLoadFile(AOChandle session, const char *path_file, int32_t *packets_read)
Load contents from file on disk into Main Image Buffer.
AxWindowLinkage
Available linkage behaviors for OpenGL display windows to be selected by axLinkWindows()....
Definition: AxsunOCTCapture.h:287
@ PARENT_CHILD
Definition: AxsunOCTCapture.h:291
@ NO_LINKAGE
Definition: AxsunOCTCapture.h:289
@ OWNER_OWNED
Definition: AxsunOCTCapture.h:293
struct request_prefs_t request_prefs_t
Structure for image request preferences.
void(__cdecl * AxConnectScannerCallbackFunction_t)(void *)
A user-provided function to be called upon connection or disconnection of a NI-DAQmx device....
Definition: AxsunOCTCapture.h:509
int32_t __cdecl axGetLibBuildDateTime(char *datetime_str)
Get a string describing the time and date that the library was built.
AxErr __cdecl 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 OS only)
AxErr __cdecl 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...
AxErr __cdecl axRequestImagePointer(AOChandle session, uint32_t requested_image, image_info_t *image_info, span_t *part1, span_t *part2)
Retrieve a pointer to an image in the Main Image Buffer (non-compressed images only).
struct scan_params_t scan_params_t
Structure for passing raster scan pattern parameters to axScanCmd(SET_RECT_PATTERN,...
AxErr __cdecl 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...
AxErr __cdecl 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.
const char *__cdecl axGetPCIeDriverVersion()
Get the version of the PCIe device driver & library which must be installed to use the PCIe interface...
AxErr __cdecl 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 OS only)
struct span_t span_t
A construct similar in functionality to std::span (non-owning memory address with size).
AxRequestMode
Available request modes to define behavior of axRequestImageAdv().
Definition: AxsunOCTCapture.h:223
@ RETRIEVE_AND_DISPLAY
Definition: AxsunOCTCapture.h:229
@ RETRIEVE_TO_CALLER
Definition: AxsunOCTCapture.h:225
@ REQUESTMODE_RFU
Definition: AxsunOCTCapture.h:231
@ DISPLAY_ONLY
Definition: AxsunOCTCapture.h:227
int32_t __cdecl axGetLibBuildCfg(void)
Get the build configuration of the library.
AxErr __cdecl axHideWindow(AOChandle session, int32_t which_window, uint32_t state)
Hide or unhide the OpenGL image display window. (Windows OS only)
struct ext_pattern_t ext_pattern_t
Structure for passing a user-generated scan pattern to axScanCmd(LOAD_EXT_PATTERN,...
AxErr __cdecl axReportImagingState(AOChandle session)
Programmatically executes the pre-registered callback function to indicate the current DAQ imaging st...
AxErr __cdecl 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.
AxErr __cdecl axResizeBuffer(AOChandle session, float capacity_MB)
Clears and resets the Main Image Buffer, optionally with a new buffer size.
AxErr __cdecl 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 OS only)
AxErr __cdecl 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,...
AxErr __cdecl axAdjustBrightnessContrast(AOChandle session, int32_t which_window, float brightness, float contrast)
Change the brightness and contrast of images displayed in an OpenGL window. (Windows OS only)
void __cdecl axGetErrorString(AxErr errorcode, char *message_out)
Get a description of a specific AxErr error code.
void __cdecl axGetLibVersion(int32_t *major, int32_t *minor, int32_t *patch, int32_t *build, char *version_str)
Get the library version.
AxErr __cdecl 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)
Advanced function for retrieving and/or displaying an image from the Main Image Buffer.
AxErr __cdecl axWriteFPGAarray(AOChandle session, uint16_t regnum, uint16_t *regvals, int32_t number_of_words)
Write multiple FPGA registers on the Axsun DAQ via the PCIe interface.
AxErr __cdecl axCountWindows(AOChandle session, int32_t *num_of_windows)
Count the number of OpenGL display windows currently created. (Windows OS only)
AxErr __cdecl axGetDataRate(AOChandle session, double *datarate_Mbps)
Get data transfer rate on the active interface.
AxErr __cdecl axCancelExport(AOChandle session)
Cancel background image exporting started by axExportImagesAsync()
AxErr __cdecl 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.
AxErr __cdecl 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....
AxErr __cdecl axUpdateWindowStyle(AOChandle session, int32_t which_window, uint8_t window_style)
Change the OpenGL display window style. (Windows OS only)
AxDAQEvent
Types of transitions in DAQ's operational mode, conveyed via user callback function....
Definition: AxsunOCTCapture.h:239
@ EXPORT_CANCELED_BY_USER
Definition: AxsunOCTCapture.h:261
@ EXPORT_DONE
Definition: AxsunOCTCapture.h:257
@ RECORD_START
Definition: AxsunOCTCapture.h:247
@ LOAD_DONE
Definition: AxsunOCTCapture.h:253
@ EXPORT_START
Definition: AxsunOCTCapture.h:259
@ IMAGING_STOP
Definition: AxsunOCTCapture.h:241
@ CALIBRATION_DONE
Definition: AxsunOCTCapture.h:249
@ IMAGING_START
Definition: AxsunOCTCapture.h:243
@ RECORD_DONE
Definition: AxsunOCTCapture.h:245
@ CALIBRATION_START
Definition: AxsunOCTCapture.h:251
@ EXPORT_CANCELED_BY_ERROR
Definition: AxsunOCTCapture.h:263
@ LOAD_START
Definition: AxsunOCTCapture.h:255
AxErr __cdecl axSelectColormap(AOChandle session, int32_t which_window, AxColormap colors)
Select the color scheme of images displayed in an OpenGL window. (Windows OS only)
AxErr __cdecl 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.
struct image_info_t image_info_t
Structure for conveying metadata information about an image.
AxFileType
Available file types to export using axExportImages() and axExportImagesAdv().
Definition: AxsunOCTCapture.h:203
@ FILETYPE_RFU
Definition: AxsunOCTCapture.h:215
@ BMP
Definition: AxsunOCTCapture.h:209
@ PNG
Definition: AxsunOCTCapture.h:211
@ JPEG
Definition: AxsunOCTCapture.h:207
@ RAW3D
Definition: AxsunOCTCapture.h:213
@ BINARY
Definition: AxsunOCTCapture.h:205
AxErr __cdecl axSelectInterpolation(AOChandle session, int32_t which_window, uint8_t interpolation)
Change the OpenGL display interpolation mode. (Windows OS only)
AxErr __cdecl axRegisterScannerConnectCallback(AxConnectScannerCallbackFunction_t callback_function, void *userData)
Registers a callback function to be executed following a scanner (DAQmx) device connection or disconn...
AxErr __cdecl axGetMessage(AOChandle session, char *message_out)
Get a description of the capture session's interface status.
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...
AxErr __cdecl axDisplayImage(AOChandle session, int64_t requested_image_number, uint32_t *returned_image_number, int32_t *height, int32_t *width)
Display an image from the Main Image Buffer directly to an OpenGL window (8-bit image data only)....
void(__cdecl * AxCallbackFunction_t)(int32_t, void *)
A generic user-provided callback function with a signed int and void* argument. See axRegisterExportC...
Definition: AxsunOCTCapture.h:512
AxErr __cdecl 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)
Advanced function for getting information on an image in the Main Image Buffer.
AxErr __cdecl 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 ...
Structure for packet metadata (for internal use.)
Definition: AxsunOCTCapture.h:437
Structure for packet time stamp with platform-independent size.
Definition: AxsunCommonEnums.h:30
Structure for image export preferences (movie functionality requires installation of OpenCV).
Definition: AxsunOCTCapture.h:419
int32_t opencv_colormap
Definition: AxsunOCTCapture.h:431
double contrast
Definition: AxsunOCTCapture.h:425
uint32_t width
Definition: AxsunOCTCapture.h:421
AxColormap colormap
Definition: AxsunOCTCapture.h:429
uint32_t height
Definition: AxsunOCTCapture.h:423
double brightness
Definition: AxsunOCTCapture.h:427
int32_t movie_fps
Definition: AxsunOCTCapture.h:433
Structure for passing a user-generated scan pattern to axScanCmd(LOAD_EXT_PATTERN,...
Definition: AxsunOCTCapture.h:373
double * raster_pattern
Definition: AxsunOCTCapture.h:381
uint32_t ext_Y_increments
Definition: AxsunOCTCapture.h:377
double * linear_pattern
Definition: AxsunOCTCapture.h:379
uint32_t ext_X_increments
Definition: AxsunOCTCapture.h:375
Structure for conveying metadata information about an image.
Definition: AxsunOCTCapture.h:452
uint8_t trig_too_fast
Definition: AxsunOCTCapture.h:476
uint8_t test_vector_data
Definition: AxsunOCTCapture.h:480
int32_t width
Definition: AxsunOCTCapture.h:458
int32_t height
Definition: AxsunOCTCapture.h:456
struct axtimeval_t time_stamp
Definition: AxsunOCTCapture.h:468
uint8_t burst_recorded
Definition: AxsunOCTCapture.h:478
uint8_t shift_adj
Definition: AxsunOCTCapture.h:472
AxDataType data_type
Definition: AxsunOCTCapture.h:462
uint8_t subsampling_factor
Definition: AxsunOCTCapture.h:470
uint32_t image_number
Definition: AxsunOCTCapture.h:454
AxPipelineMode pipeline_mode
Definition: AxsunOCTCapture.h:464
uint32_t size_bytes
Definition: AxsunOCTCapture.h:460
axpacket_t last_packet_metadata
Definition: AxsunOCTCapture.h:482
AxChannelMode channel_mode
Definition: AxsunOCTCapture.h:466
uint8_t force_trig
Definition: AxsunOCTCapture.h:474
Structure for data made available to user in a new image callback event via registered AxNewImageCall...
Definition: AxsunOCTCapture.h:486
AOChandle session
Definition: AxsunOCTCapture.h:488
uint32_t image_number
Definition: AxsunOCTCapture.h:490
uint32_t waiting_callbacks
Definition: AxsunOCTCapture.h:494
uint32_t required_buffer_size
Definition: AxsunOCTCapture.h:492
Structure for image request preferences.
Definition: AxsunOCTCapture.h:386
uint16_t to8Bit_min
Definition: AxsunOCTCapture.h:410
int32_t crop_width_offset
Definition: AxsunOCTCapture.h:400
int32_t crop_height_total
Definition: AxsunOCTCapture.h:406
int32_t which_window
Definition: AxsunOCTCapture.h:391
uint8_t dezipper
Definition: AxsunOCTCapture.h:414
int32_t crop_height_offset
Definition: AxsunOCTCapture.h:404
int16_t to8bit_shift
Definition: AxsunOCTCapture.h:408
uint32_t average_number
Definition: AxsunOCTCapture.h:393
int32_t crop_width_total
Definition: AxsunOCTCapture.h:402
AxRequestMode request_mode
Definition: AxsunOCTCapture.h:389
uint8_t downsample
Definition: AxsunOCTCapture.h:412
Structure for passing raster scan pattern parameters to axScanCmd(SET_RECT_PATTERN,...
Definition: AxsunOCTCapture.h:351
double X_shift
Definition: AxsunOCTCapture.h:361
double Y_shift
Definition: AxsunOCTCapture.h:363
uint32_t Y_increments
Definition: AxsunOCTCapture.h:355
double Y_idle
Definition: AxsunOCTCapture.h:365
double X_phase
Definition: AxsunOCTCapture.h:367
double X_range
Definition: AxsunOCTCapture.h:357
uint32_t X_increments
Definition: AxsunOCTCapture.h:353
double Y_range
Definition: AxsunOCTCapture.h:359
double X_symmetry
Definition: AxsunOCTCapture.h:369
A construct similar in functionality to std::span (non-owning memory address with size).
Definition: AxsunOCTCapture.h:498
size_t size_bytes
Definition: AxsunOCTCapture.h:502
const uint8_t * start
Definition: AxsunOCTCapture.h:500