DOI: 10.5281/zenodo.10247005
title: Experiment and theory of the complex refractive index of dense colloidal media - data and analysis

description: This repository contains the data from [1].

This repository is structured as follows: The data itself is stored in the data folder. The raw measurements, as measured with the spectrometer is contained in the HDF5 files. Each HDF5 file represents a single measurement. The file names are given by the volume fraction of particles before the salt dilution. A HDF5 file contains the raw transmission spectra for the reference arm, sample arm and when both are open and both interfere. Therefore, a single raw measurement consists of three spectra. In addition to the spectra, some metadata is stored in the file as well.

The HDF5 files with 'Water' in the file name are water calibration measurements. Each sample measurement has an associated calibration measurement. How this is organized is found in the "settings" folder. Here, the settings for the analysis per measurement is stored in YAML files.

The data for the uncertainty estimate is found in the "IntralipidVarianceMeasurement" folder. The data is structured in a similar manner, except that the HDF5 files are split into three folders based on the day of the measurement.

Each processed measurement is stored in the folder "measurements". In this folder, the processed data for each measurement is stored. These contain the attenuation, group index and GVD. It is the data in these files that contain the experimental results presented in the paper. These results can be viewed with the two Python scripts in this folder.

The analysis scripts are stored in the "analysis" folder. We used Python 3.8 to run these scripts. The purpose of the files is as follows:



calculateConfidenceInterval.py: This scrips calculates the response in the obtained particle diameter and polydispersity to the standard deviation.

calculateVariance.py: This script is for calculating the variance from the Intralipid measurements.

dispersionFormulas.py: This file contains the polynomial phase index dispersion formula's for bulk silica and water, and the refractive index as obtained for the various models with forward fitting.

filters.py: This file contains some Fourier filtering functions.

fitModel.py: This file forward calculates the attenuation and group index to fit the particle size distribution and the refractive index.

measurement.py: This script analyses the raw spectral data to obtain the group index, GVD and attenuation.

mie.py: This file contains the Mie scattering functions and dependent scattering.

refractiveIndexFunctions.py: Convenience function to calculate the group index and GVD from the phase index.

seriesAcceleration.py: Contains the Richardson extrapolation. This might be used to reduce negative effects from truncating integrals.

structure.py: This file contains code to calculate the radial distribution function and the structure factor.


In the folder "models", which is located in the "analysis" folder, the scripts for the forward models are stored.

[1] P.N.A. Speets and J. Kalkman, "Experiment and theory of the complex refractive index of dense colloidal media",  J. Opt. Soc. Am. A, 41.2 : 214-228 (2024), https://doi.org/10.1364/JOSAA.510603.