DOI: 10.5281/zenodo.8124454
title: Precision and bias in dynamic light scattering optical coherence tomography measurements of diffusion and flow

description: This repository contains raw data and analysis routines of the publication “Precision and bias in dynamic light scattering optical coherence tomography measurements of diffusion and flow” in Biomedical Optics Express (doi.org/10.1364/BOE.505847). The reader is free to use the scripts and data in this depository if the manuscript is correctly cited in their work. For further questions, feel free to contact the corresponding author. Python 3.7 was used for programming. Kindly note that simulating autocorrelation functions from extensive time series data, especially with a high repetition rate, can be time-consuming, often requiring more than 5-10 minutes. Despite parallelized processing routines for the measurement data, the full analysis may still take up to an hour. Please restart the kernel and run the code again if the parallelization fails.

For the diffusion measurement under static conditions, there is only one file. However, for experiments involving both flowing and diffusing particles, the dataset comprises diffusion calibration, focus (beam shape) calibration, and flow measurement files. Due to the upload size limitations of the Zenodo repository, only the flow measurements corresponding to one discharge rate have been uploaded. Furthermore, only the non-dilute flow dataset has been uploaded for the same reason. However, for the dilute flow, the analysis logic remains the same, but users will need to utilize the complete g2 formula outlined in Section 2.2 of our article. All file names are sufficiently descriptive, showing whether it is diffusion, focus (waist) calibration or flow measurement. To conduct the analysis, it's essential to have information regarding the time series length (number of A-scans), the number of repeats (B-scans), and the acquisition rate.

The results are plotted at the end of our analysis routines. The parameters are displayed as a function of depth. Users can readily compute the Signal-to-Noise Ratio (SNR) at each depth by utilizing the fitted autocorrelation amplitudes. Occasionally, the fitted amplitudes may surpass unity. In such instances, users can assume an extremely high (even infinite) SNR.








Name



Description



Parameters





Diffusion_03032023.oct



Diffusion measurement file.



Na=4096, Nb=1100, 5.5 kHz





Diffusion_07032023.oct



Diffusion calibration file for flow measurement.



Na=4096, Nb=10, 36 kHz





Waist_07032023.oct



Beam waist calibration file for flow measurement.



Na=4096, Nb=40, 36 kHz





Q=2_07032023.oct



Flow measurement file for a discharge rate of 2 ml/min.



Na=4096, Nb=1000, 36 kHz





Chirp.data



File containing k-interpolation data.



 





ReadOCTFile.py



Written by Jos de Wit, this module reads and imports spectra from raw OCT files.



 





Data_processing.py



This module contains all analysis, simulation and processing routines.



 





Simulation_diffusion.py



This script is for simulating and fitting g1 and g2 from diffusive particles.



 





Simulation_flow.py



This script is for simulating and fitting g1 and g2 from flowing and diffusive particles.



 





Diffusion_parallel.py



This script is for analyzing static diffusion measurements performed using Thorlabs Ganymede OCT system.



 





Flow_parallel.py



This script is for analyzing flow measurements performed using Thorlabs Ganymede OCT system.