How openoct/octsharp works
OCTSharp is a Windows application for interactive, high-throughput OCT acquisition and imaging. Users configure camera, scan, and processing parameters in the GUI; the application acquires camera frames, coordinates scanner output, processes scans with CUDA, and presents B-scan/en-face imagery and performance data. It can also save raw scan data for later processing. The README documents dedicated GUI, transfer, processing, and display threads. The sampled source confirms the GUI, acquisition setup, processing, CUDA operations, and raw saving; finer thread wiring and some documented capabilities are not visible in the excerpts.
Main entry points: MainDlg.cs Imaging GUI · ProcessClass.cs OCT processing · OCTSharp.cs Application startup · MainDlg.Designer.cs GUI layout
Components 16
Acquisition and control
- Application startup
OCTSharp.cs - Imaging GUI
MainDlg.cs - GUI layout
MainDlg.Designer.cs - Camera profiles
Camera Files - Camera acquisition
MainDlg.cs - Frame transfer
MainDlg.cs - Scanner control
MainDlg.cs
Image processing
- OCT processing
ProcessClass.cs - CUDA kernels
CudaKernels.cu/kernel.cu
Visualization and data
- Image display
MainDlg.cs - Signal charts
MainDlg.cs - Raw scan files
Other components
- Research user
- Frame grabber
- NI DAQ hardware
- CUDA GPU
Connections 17
- Research user → Imaging GUI: sets parameters
- Application startup → Imaging GUI: opens
- GUI layout → Imaging GUI: defines controls
- Imaging GUI → Camera acquisition: configures capture
- Camera profiles → Camera acquisition: configures camera
- Frame grabber → Camera acquisition: provides frames
- Imaging GUI → Scanner control: configures scan
- Scanner control → NI DAQ hardware: writes voltages
- Camera acquisition → Frame transfer: signals frames
- Frame transfer → OCT processing: passes frame buffer
- Imaging GUI → OCT processing: starts processing
- OCT processing → CUDA kernels: invokes kernels
- OCT processing → CUDA GPU: runs CUDA work
- OCT processing → Image display: returns image data
- Imaging GUI → Image display: updates views
- Imaging GUI → Signal charts: plots metrics
- Frame transfer → Raw scan files: saves raw scans