DOI: 10.5281/zenodo.5482794
title: Fast and accurate spectral estimation axial super resolution optical coherence tomography

description: This depository contains the data and code underlying the results of the publication '<em>Fast and accurate spectral estimation axial super resolution optical coherence tomography</em>' in Optics Express (doi.org/<em>10.1364</em>/<em>OE</em>.<em>439761). </em>The reader is free to use the scripts and data in this depository, as long as the manuscript is correctly cited in their work. For further questions, please contact the corresponding author. <strong>Description of the code and datasets</strong> Table 1 describes the Matlab scripts and functions in this depository that were used in the publication. For reproducing the figures of the publication, refer to the scripts <em>SE_OCT_figure(..).m</em>. For understanding the method and applying it on other datasets from the reader, <em>Bscan_reconstruction.m </em>and <em>Cscan_reconstruction.m</em> are the most convenient scripts to start with. For simulating OCT data as presented in the publication, <em>OCT_simulations.m</em> could be applied. Details on the variables and parameters, such as number of iterations, grid interpolation factor and number of data chunks are commented on in the code itself and should be understandable with the publication as reference. Table 2 describes the datasets that have been used for the publication and are free for the readers to be used with their methods. Table 3 then gives a brief explanation of the variables that are contained in the dataset <em>.mat</em> files. Table 1. The Matlab scripts in this depository with brief description. script name description Bscan_reconstruction.m This script loads a B-scan .mat file and applies the four processing methods FBW-DFT, PBW-DFT, AR, RFIAA on the data. Cscan_resonstruction.m This script loads a 3Ddata .mat file and applies the four processing methods FBW-DFT, PBW-DFT, AR, RFIAA on the data. oct_ar.m This function applies the auto-regressive spectral estimation on the input data. oct_iaa.m This function applies RFIAA or FIAA on the input data. fiaa_oct.m This function is called within oct_iaa.m for applying FIAA (without the recursive scheme) and within rfiaa_oct.m for the first line. This function applies FIAA on a single A-scan. rfiaa_oct.m This function is called within oct_iaa.m for applying RFIAA (with the recursive scheme) on a chunk of data. It initializes the first line of the chunk with fiaa_oct.m, and then it applies rec_fiaa_oct.m with the initialization taken from the previous scanline. rec_fiaa_oct.m This function applies RFIAA on a single A-scan, taking the initialization from the previous scanline as extra input parameter. RayleighThreshold.m This function automatically determines the lower limit of the dynamic range for plotting an OCT image. It fits a Rayleigh distribution on the input data (preferably noise, but also a full image could be used) and returns a threshold in dB. morgenstemning.m This function defines the colormap as used in the publication. Bscan_reconstruction_function.m This function takes the interference OCT signal, reference spectra and reconstruction parameters as input and returns the reconstructed images according to the four methods in the publication. This function is used in the scripts for reproducing the figures in the publication. It follows the same structure as the script <em>Bscan_reconstruction.m.</em> SE_OCT_figure3.m This script does the processing for and plots figure 3 in the manuscript. For this script, the .zip file <em>wedge_simulation_data </em>needs to be unpacked and placed as folder in the folder where this script is executed. SE_OCT_figure4.m This script reproduces figure 4 in the publication. SE_OCT_figure5.m This script reproduces figure 5 in the publication. SE_OCT_figure6.m This script reproduces figure 6 in the publication OCT_simulations.m This script reproduces the OCT simulations as described in the publication. As the noise is random, any new realization might slightly differ from the data in the publication. Table 2. The OCT datasets contained in this depository with a brief description. Table 3 describes the variables that are contained in each of these datasets. dataset name description wedge_Bscan_data.mat Experimental data from the wedge phantom as visualized in figure 3 of the publication. No spectrum averaging is applied. wedge_simulation_data.zip This zipped folder contains 16 simulation datasets with different noise levels, which form the basis of Figure 3 (f) in the publication. interfaces_simulation_Bscan_data.mat This file contains the simulation data for 8 interfaces with decreasing intensity and forms the basis of Figure 4 in the publication. layered_phantom_Bscan_data.mat This file contains the experimental data from the layered phantom, as used in Figure 4 (c-d) in the publication. No spectrum averaging is applied. onion_Bscan_data.mat This file contains the experimental data from the onion sample as used in Figure 5 in the publication. No spectrum averaging is applied. skin_Bscan_data.mat This file contains the experimental data from the skin sample as used in Figure 5 in the publication. No spectrum averaging is applied. intralipid_Bscan_data.mat This file contains the experimental data from the intralipid sample as used in Figure 6 in the publication. No spectrum averaging is applied. speckle_simulation_Bscan_data.mat This file contains simulation data for 3 speckle regions as used in Figure 6 in the publication. reference_spectrum.mat This file just contains a spectrum from the used experimental setup which is used as input for the simulations. onion_3Ddata.mat This file contains 3D data of the onion sample, which is used for visualization 1. The OCT spectra are obtained from averaging 8 spectra from the experimental setup. skin_3Ddata.mat This file contains 3D data of the skin sample, which is used for visualization 2. The OCT spectra are obtained from averaging 8 spectra from the experimental setup. Table 3. This table contains the variables in the .mat files and their description. variable name description <em>iRawdata</em> OCT interference spectra interpolated to a linear grid in k-domain, before subtracting the reference spectrum <em>sk</em> the reference spectrum, interpolated to a linear grid in k-domain <em>phasep</em> 4 polynomial coeficients, which can be used in 'polyval' to correct for dispersion <em>sizeX</em> the lateral size of the scan in mm <em>sizeY</em> (only for 3D datasets) the lateral size in the direction perpendicular to x in mm <em>sizeZ</em> the axial field of view (one-sided) before range reduction in mm <em>ROIp</em> the best axial region of interest for this dataset to apply RFIAA on a reduced reconstruction range (in pixels of the DFT reconstruction without zero-padding)