> For the complete documentation index, see [llms.txt](https://docs.axsun.com/axsun-knowledge-base/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.axsun.com/axsun-knowledge-base/api-references/axsunoctcapture.dll.md).

# AxsunOCTCapture

## Background

***AxsunOCTCapture*** is a cross-platform library that captures a high-bandwidth image stream from an Axsun [Ethernet/PCIe DAQ board](/axsun-knowledge-base/ref-manual/gigabit-ethernet-daq-board.md) and provides additional image management and display functionality to custom client applications integrating this library on Windows, Linux, or macOS\*. &#x20;

The primary functions of the AxsunOCTCapture library (or simply the "**Capture** library") are:

* Open a network interface (Ethernet DAQ) or DMA interface (PCIe DAQ).
* Wait for streamed OCT data arriving on the open interface from the DAQ board.
* Capture and enqueue streamed data into host RAM (the "Main Image Buffer").
* Retrieve individual images from the Main Image Buffer, perform JPEG decompression (if necessary, Ethernet only), and copy the images to the client application's RAM for subsequent manipulation by the user.
* (PCIe DAQ only) Change DAQ imaging modes and read/write FPGA registers.
  * Use [AxsunOCTControl\_LW](/axsun-knowledge-base/api-references/axsunoctcontrol-lightweight.md) to change DAQ imaging modes or read/write FPGA registers via an Ethernet-connected DAQ.

Some secondary functions of the Capture library include:

* Save and Load image buffers to/from disk for off-line storage.
* Direct-to-screen OpenGL-based display of captured OCT images (Windows only)
  * Avoids memory copy associated with image retrieval to a client application.
  * Includes colormap selection, brightness & contrast adjustment, and image cropping.
  * Includes polar/cartesian scan conversion for displaying rotationally-scanned OCT images.
* Interface to a selected set of [National Instruments USB](http://www.ni.com/en-us/support/model.usb-6211.html) analog waveform generator cards to control two-axis galvanometer raster scan patterns, including the USB-6211, USB-6343, and USB-6421 (Windows only)

AxsunOCTCapture is written in C++ and exposes a "plain-old" C interface for client application integration.

\* please [Contact Excelitas For Help](/axsun-knowledge-base/other/getting-help.md) to learn about included features and availability of the macOS version of AxsunOCTCapture.

## Relationship to AxsunOCTControl and AxsunOCTControl\_LW

[AxsunOCTControl](/axsun-knowledge-base/api-references/axsunoctcontrol.dll.md) *or* [AxsunOCTControl\_LW](/axsun-knowledge-base/api-references/axsunoctcontrol-lightweight.md) are intended to be used **concurrently with** AxsunOCTCapture.  Notwithstanding the control functionality in the Capture library for DAQs interfaced via PCIe, the **Capture** library is for capturing the high-bandwidth, unidirectional image data transfers generated by the DAQ board, and the **Control** libraries are for controlling the functionality of the Laser Engine & DAQ with low-bandwidth, bidirectional command and status messages.

{% hint style="warning" %}
AxsunOCTControl\_LW and AxsunOCTControl are intended to be used **instead of** one another.  Do not attempt to use both of these libraries concurrently (or open multiple GUI tools based on these libraries concurrently).
{% endhint %}
