Skip to content

Core Functionality

This section explains the core functionality accessible through the GUI, excluding any plugin features.

Overview of the graphical user interface

Screenshot of OCTproZ with labeled GUI elements
Overview of the main GUI elements of OCTproZ
  • Menu Bar: Contains the menus File, View, Extras, and Help. Plugins can be accessed through Extras → Extension.
  • Toolbar: Provides direct access to frequently used functionalities, such as opening output windows, displaying the messaging console, and enabling/disabling the orientation marker within the B-scan and en face view.
  • Sidebar: This is the central control interface. At the top, it contains the Start Acquisition, Stop Acquisition, Start Recording, Connect OCT System, and OCT System Settings buttons. The sidebar also includes the Processing and Recording tabs, as well as additional plugin-related tabs (if activated). At the bottom, it features an information area that displays current acquisition speed.
  • Messaging Console: Displays info and error messages.
  • Output Windows: Includes 1D, B-scan, en face view, and volume windows, which can be enabled through the toolbar or the View menu in the menu bar.

Processing tab

The processing tab in the sidebar allows you to control all signal processing settings. For an in-depth explanation of each processing step, refer to the processing section. Below is a brief description of each parameter available in the processing tab:

Parameter Description
Bit shift raw sample values by 4 Divides each raw sample value by 16 (for digitizers storing 12-bit samples in 16-bit words).
Sinusoidal scan correction Corrects distortions from sinusoidal scanning motion via linear interpolation.
Flip every second B-scan Unflips every second B-scan in bidirectional scanning schemes.
Rolling average background removal Removes the DC background using a rolling average filter.
Window size Number of samples used for rolling average background removal.
k-linearization Resamples raw data for uniform k-space sampling.
Interpolation Method used for resampling during k-linearization (Linear, Cubic Spline, Lanczos).
c0 to c3 Coefficients for resampling curve polynomial used for k-linearization.
Dispersion compensation Numerically compensates for dispersion mismatch between OCT sample and reference arms.
d0 to d3 Coefficients for dispersion compensation phase function. d0: no effect, d1, shifts OCT image axially, d2 and d3: affect axial resolution
Windowing Applies a window function to reduce side lobes in the IFFT result.
Window Type Selects the window function type (Gaussian, Hann, Sine, Lanczos, Rectangular).
Fill Factor Controls the width of the window function.
Center Position Defines the center of the window function. Typically set to 0.5, but can be adjusted (especially with a narrow window width) to select a specific spectral range for OCT processing.
Fixed-pattern noise removal Removes structural artifacts (static horizontal lines).
B-scans for noise determination Number of B-scans used to determine the fixed-pattern noise profile.
Log scaling Applies logarithmic scaling.
Max value Sets the upper limit for grayscale scaling (in dB if log scaling is enabled; linear otherwise).
Min value Sets the lower limit for grayscale scaling. (in dB if log scaling is enabled; linear otherwise).
Multiplicator Adjusts image contrast in grayscale conversion. Typically this is set to 1.0.
Offset Adjusts image brightness in grayscale conversion. Typically this is set to 0.0.
Post processing background removal Subtracts a pre-recorded background A-scan to reduce static artifacts that are not removed by DC background removal and fixed pattern noise removal.
Weight Scaling factor for background subtraction.

In the k-linearization, dispersion compensation, and windowing sections of the sidebar, each plot shows two curves: the active curve and a white reference curve. The white reference curves represent the baseline that causes no change when applied:

  • A straight identity resampling curve leaves spectral sampling unchanged
  • A flat dispersion phase function has no effect on axial resolution
  • A rectangular window spanning the full spectral range preserves all data points

These reference curves serve as visual anchors, allowing to assess how much the current active curve diverges from the no-modification baseline.

Loading custom resampling curves

There are two ways to load a custom resampling curve for k-linearization:

  1. Use the menu bar:
    Navigate to Extras → Resampling curve for k-linearization → Load custom curve from file....

  2. Use right-click in the sidebar:
    Right-click anywhere within the k-linearization group box, outside the plot area, to open a context menu. For example, right-clicking in the empty area next to the Interpolation drop-down menu to access the option for loading a custom resampling curve.

Recording tab

The Recording tab in the sidebar allows you to configure recording settings.

Before pressing the Record button, you must configure these settings—especially the recording path. If the recording path is not set, recording will not occur, and you will receive an error message in the message console.

The configured settings are applied to all recordings. Each recorded file will be automatically named using the following format:

yyyyMMdd_hhmmsszzz_<yourfilename>_<processed|raw>.raw

Filename breakdown

  • yyyy = Year (4 digits)
  • MM = Month (2 digits)
  • dd = Day (2 digits)
  • hh = Hour (2 digits, 24-hour format)
  • mm = Minute (2 digits)
  • ss = Second (2 digits)
  • zzz = Milliseconds (3 digits)
  • <yourfilename> = The custom filename you provide in the recording settings
  • <processed|raw> = Indicates whether the recording is processed or raw data
  • .raw = The file extension (recording is saved as a raw binary file)

Example filename:

20250427_153045123_apple1_processed.raw

In this example:

  • The recording was made on April 27, 2025, at 15:30:45.123 (3:30 PM and 45.123 seconds).
  • The user-provided filename was apple1.
  • The file contains processed data.

You also have the option to set a description text, which is saved in a meta file alongside the recording (if save meta information is enabled). The meta file contains all the processing and recording settings used at the time of recording. This meta file is the same as the settings file that can be saved and loaded through the menu bar (see section Saving and loading settings).

Recording parameter

Below is a brief description of each parameter available in the recording tab:

Parameter Description
Recordings folder Sets the destination folder where recordings are saved.
Screenshots Enables saving of screenshots of the currently visible output windows (B-scan, en face view, volume) during recording.
Raw buffers Enables recording of raw spectral buffers.
Processed buffers Enables recording of processed data buffers.
Recording name Specifies the name of the recording session. This name will be included as part of the file name.
Description Adds a text description that is saved in the meta file.
Start recording with first buffer of volume Starts recording with the first buffer of a volume. This is only useful if you have multiple buffers per volume and want to guarantee that recording begins with the first buffer of the volume, rather than the buffer that is currently being acquired when the record button is pressed.
Stop acquisition after record Stops data acquisition and processing automatically after the recording is complete.
Save meta information Saves additional meta information alongside recorded data. Same as File → Save Settings to File.
Save processed buffers as 32-bit float Saves processed data buffers in 32-bit floating-point format. If disabled, the data will be saved using the same bit depth as the input raw data.
Buffers to record Sets the number of buffers to record.

Scheduled recording

The Recording Scheduler (screenshot below) is available under Extras → Scheduled Recording. It allows you to automatically perform recordings at defined intervals, useful for generating time-series.

Screenshot of Recording Scheduler Interface
Recording Scheduler Interface

Note

Ensure the interval between recordings is longer than the total time needed for a single recording (data acquisition + saving to disk). Overlapping recordings are not possible. If a recording takes longer than the defined interval a warning is shown, and the scheduler will retry after a 10-second delay.

Parameter Description
Start first recording in Time delay before the first recording starts after clicking Start Schedule (format: hh:mm:ss).
Wait between recordings Interval between the start times of consecutive recordings (format: hh:mm:ss).
Total recordings Total number of recordings to perform in the scheduled task.

Saving and loading settings

  • File → Save Settings to File: Saves the current configuration (processing parameters, recording setup, system settings, and active plugins) to an *.ini file.
  • File → Load Settings from File: Loads a previously saved settings file.

Saving and loading view layout

  • View → Save Current Layout to File: Saves the current window arrangement, visibility states, and panel sizes to an *.ini file.
  • View → Load Layout from File: Restores a previously saved layout file.

Note

All extension settings (including layout information, if provided by the extension) are currently stored in the settings file. This behavior may change in the future.