Published April 27, 2023 | Version v1
Dataset Open

Computational 3D resolution enhancement for optical coherence tomography with a narrowband visible light source

  • 1. Delft University of Technology, Delft, The Netherlands
  • 2. University of Peloponnese, Tripolis, Greece

Description

This repository contains the code and data underlying the publication "Computational 3D resolution enhancement for optical coherence tomography with a narrowband visible light source" in Biomedical Optics Express 14, 3532-3554 (2023) (doi.org/10.1364/BOE.487345).

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. 

Description of the code and datasets

Table 1 describes all the Matlab and Python scripts in this depository. Table 2 describes the datasets. The input datasets are the phase corrected datasets, as the raw data is large in size and phase correction using a coverslip as reference is rather straightforward. Processed datasets are also added to the repository to allow for running only a limited number of scripts, or to obtain for example the aberration corrected data without the need to use python. Note that the simulation input data (input_simulations_pointscatters_SLDshape_98zf_noise75.mat) is generated with random noise, so if this is overwritten de results may slightly vary. Also the aberration correction is done with random apertures, so the processed aberration corrected data (exp_pointscat_image_MIAA_ISAM_CAO.mat and exp_leaf_image_MIAA_ISAM_CAO.mat) will also slightly change if the aberration correction script is run anew. The current processed datasets are used as basis for the figures in the publication. For details on the implementation we refer to the publication.

Table 1: The Matlab and Python scripts with their description
Script name Description
MIAA_ISAM_processing.m This scripts performs the DFT, RFIAA and MIAA processing of the phase-corrected data that can be loaded from the datasets. Afterwards it also applies ISAM on the DFT and MIAA data and plots the results in a figure (via the scripts plot_figure3, plot_figure5 and plot_simulationdatafigure).
resolution_analysis_figure4.m This figure loads the data from the point scatterers (absolute amplitude data), seeks the point scatterrers and fits them to obtain the resolution data. Finally it plots figure 4 of the publication.
fiaa_oct_c1.m, oct_iaa_c1.m, rec_fiaa_oct_c1.m, rfiaa_oct_c1.m  These four functions are used to apply fast IAA and MIAA. See script MIAA_ISAM_processing.m for their usage.
viridis.m, morgenstemning.m These scripts define the colormaps for the figures.
plot_figure3.m, plot_figure5.m, plot_simulationdatafigure.m These scripts are used to plot the figures 3 and 5 and a figure with simulation data. These scripts are executed at the end of script MIAA_ISAM_processing.m.
Python script: computational_adaptive_optics_script.py Python script that applied computational adaptive optics to obtain the data for figure 6 of the manuscript.
Python script: zernike_functions2.py Python script that gives the values and carthesian derrivatives of the Zernike polynomials.
figure6_ComputationalAdaptiveOptics.m Script that loads the CAO data that was saved in Python, analyzes the resolution, and plots figure 6.
Python script: OCTsimulations_3D_script2.py Python script simulates OCT data, adds noise and saves it as .mat file for use in the matlab script above.
Python script: OCTsimulations2.py Module that contains a python class that can be used to simulate 3D OCT datasets based on a Gaussian beam.
Matlab toolbox DIPimage 2.9.zip Dipimage is used in the scripts. The toolbox can be downloaded online or this zip can be used.
The datasets in this Zenodo repository
Name Description
input_leafdisc_phasecorrected.mat Phase corrected input image of the leaf disc (used in figure 5).
input_TiO2gelatin_004_phasecorrected.mat Phase corrected input image of the TiO2 in gelatin sample.
input_simulations_pointscatters_SLDshape_98zf_noise75 Input simulation data that, once processed, is used in figure 4.

exp_pointscat_image_DFT.mat

exp_pointscat_image_DFT_ISAM.mat

exp_pointscat_image_RFIAA.mat

exp_pointscat_image_MIAA_ISAM.mat

exp_pointscat_image_MIAA_ISAM_CAO.mat

Processed experimental amplitude data for the TiO2 point scattering sample with respectively DFT, DFT+ISAM, RFIAA, MIAA+ISAM and MIAA+ISAM+CAO. These datasets are used for fitting in figure 4 (except for CAO), and MIAA_ISAM and MIAA_ISAM_CAO are used for figure 6.

simu_pointscat_image_DFT.mat

simu_pointscat_image_RFIAA.mat

simu_pointscat_image_DFT_ISAM.mat

simu_pointscat_image_MIAA_ISAM.mat

Processed amplitude data from the simulation dataset, which is used in the script for figure 4 for the resolution analysis.

exp_leaf_image_MIAA_ISAM.mat

exp_leaf_image_MIAA_ISAM_CAO.mat

Processed amplitude data from the leaf sample, with and without aberration correction which is used to produce figure 6.

exp_leaf_zernike_coefficients_CAO_normal_wmaf.mat

exp_pointscat_zernike_coefficients_CAO_normal_wmaf.mat

Estimated Zernike coefficients and the weighted moving average of them that is used for the computational aberration correction. Some of this data is plotted in Figure 6 of the manuscript.
input_zernike_modes.mat The reference Zernike modes corresponding to the data that is loaded to give the modes the proper name.

exp_pointscat_MIAA_ISAM_complex.mat

exp_leaf_MIAA_ISAM_complex

Complex MIAA+ISAM processed data that is used as input for the computational aberration correction. 

 

Files

DIPimage 2.9.zip

Files (24.6 GB)

Name Size Download all
md5:48c4baabddf85892398e3b5c344deb8c
17.7 kB Download
md5:f3b17fc209372d2c6d3885fcb3adb997
25.5 MB Preview Download
md5:239a1e714b77e6aa6640f4dd2f50a644
841.0 MB Download
md5:2ed99c35328b14c083c65fbba86a1ed2
420.5 MB Download
md5:88ccea1bd1afc0c5a8f10a8f34269477
1.6 GB Download
md5:91f300a637d9a4dde8e131518c38ca85
321.2 kB Download
md5:26f7f4d1477e8ef78f219d22df82aabc
3.2 GB Download
md5:670331982c906dc822a189374523f498
1.6 GB Download
md5:206e900fe93fb8306cc510a839d23e05
1.6 GB Download
md5:1fb312bcd855ea437d996629231b1e56
1.6 GB Download
md5:5ac48845a6daf667cb613d406ac561af
839.9 MB Download
md5:dbe4e0b3a6d48676997941665c5112e5
1.6 GB Download
md5:4be59ee60743c39493cae2ee208b5a54
3.2 GB Download
md5:9dc9861766b88857a5b7b69c8897dd6f
641.2 kB Download
md5:4839b0a7a57a7abe73f6644e38249cc6
2.4 kB Download
md5:0a0f83a5cd2754b562677ce4dcc4ad92
126.8 kB Preview Download
md5:7b4b8613ab068953fcf50570a3d9af83
985.0 kB Preview Download
md5:ac65cecac5b4bb7ef1f6522060263f50
19.3 kB Download
md5:d59b7479304f37f315be63cf45902e48
393.9 MB Download
md5:d4a9e6e791a6255c359fd67ff6b48148
806.6 MB Download
md5:d905784f950a6fadfce71e9efc6d2654
393.0 MB Download
md5:04e2a6ff315d9a6a7cb9bf38ef566c64
496 Bytes Download
md5:8b32839402ec0b45df0a8c7cd2ea170d
13.0 kB Download
md5:09c1f563115400abe2c7841b4c3784af
7.6 kB Download
md5:d189d45be2e5f5ac3b797fb80e7b84e3
1.5 kB Download
md5:f1f91ac418b81a9d5f50cec2dfb9c2dc
6.6 kB Download
md5:3c2f64017a468d5a96b6d48d6d0bbf8f
3.7 kB Download
md5:f0f656e160336cf796fa46996ff1c6cf
8.3 kB Download
md5:bb5ad4827fb659e3e2d6552990829d1f
16.2 kB Download
md5:c1e2bd54ccd996b3a86dc24807a744cd
4.2 kB Download
md5:08133e8bc4e62063149474cd402990d2
2.3 kB Download
md5:6813cf1ea431e5823432ba30dd2a1302
25.4 kB Download
md5:d5908350abe158134ebe6f9a4dce9eba
819 Bytes Download
md5:fbfcf739348a4d858fa1157d9ca9a6f1
1.6 GB Download
md5:e9642d0060481b86d4c1c312e9c245aa
1.6 GB Download
md5:1555a58ba934e8a6ba731408e2c3beff
1.6 GB Download
md5:d7c196b8d3b6fe3a4d197511551fe9b3
1.6 GB Download
md5:07b2246328bb7d316aca7d492868df4c
9.1 kB Download
md5:6332cb1890030b76122373d3daf17490
4.8 kB Download

Additional details

Related works

Is supplemented by
Journal article: 10.1364/BOE.487345 (DOI)