DOI: 10.5281/zenodo.15360998
title: Synthesis of arbitrary interference patterns using a single galvanometric mirror

description: Version 1

CAD model

Speed accessment images (images of fluorescent beads using 100 X microscope) and postprocessing code in MATLAB

Laser interference images and postprocessing code in MATLAB



Two beam and hexagonal pattern images were repeated multiple times

Three beam images were taken at different axial positions


2D SIM data with 100 nm fluorescent beads (two examples, 2D 1ms 980Hz 400mW.tiff and 2D 1ms 980Hz 400mW.tiff, not TIRF) and reconstruction code in MATLAB (SIM_reconstrcution_2D.m)



Use set_default_figure_parameters.m to set the default figure unit to cm

The camera jittered during the measurements. The images were shifted to cancel the jitter using Efficient subpixel image registration by cross-correlation - File Exchange - MATLAB Central. For comparison, two images are reconstructed, with and without cancelling the jitter 

Each set of measurement contain multiple cycles of 11 frames, of which the 4th and 8th frames are discarded

Parameters are estimated using function estimate_sim_parameters_KG.m

Images are reconstructed using function reconstruct_sim2_KG.m

For reference, the images are averaged and have the PSF deconvolved using deconv_Wiener_KG.m


3D SIM data (3D cell cropped.tiff), widefield reference data (WF cropped.tiff) and reconstruction code in MATLAB (SIM3D_cells.m)



Use set_default_figure_parameters.m to set the default figure unit to cm

Parameters are estimated from a subset of the image (which has higher SNR) using function estimate_sim_parameters_3D_KG.m

Images are reconstructed using function reconstruct_sim_3D_KG.m

For reference, a widefield 3D image was captured by only illuminating the sample with one laser beam. The image is further processed using WF3D_cells.m and function deconv_3D.m to deconvolve the OTF

The theorectial OTF is calculated using code from https://github.com/jdmanton/debye_diffraction_code which is included in the package


Version 2

2D TIRF SIM data with 100 nm fluorescent beads (same as Version 3) and reconstruction code in MATLAB. I forgot to upload background noise image. Please use Version 3 to avoid error in running the code

Version 3 

2D TIRF SIM data with 100 nm fluorescent beads (same as Version 2) and reconstruction code including FRC in MATLAB (main.m)



Use set_default_figure_parameters.m to set the default figure unit to cm

Raw data include two sets of measurements (TIRF beads.tiff and TIRF beads 2.tiff) and background noise image (bg 1ms.tiff)

Each set of measurement (e.g. TIRF beads.tiff) contain two cycles of 11 frames, of which the 4th and 8th frames are discarded in each cycle

Parameters are estimated using function estimate_sim_parameters_KG.m

Images are reconstructed using function reconstruct_sim2D_KG.m

For reference, the images are averaged and have the PSF deconvolved using deconv_Wiener_KG.m


3D SIM data (same as Version 1) and reconstruction code for FRC in MATLAB (main.m)



Use set_default_figure_parameters.m to set the default figure unit to cm

Two subsets of the image were taken for FRC, one with even z steps and one with odd z steps

Parameters are estimated using function estimate_sim_parameters_KG.m

Images are reconstructed using function reconstruct_sim2D_KG.m

The two subsets are reconstructed independently (double z step size) and the centre z position of each image are used to calculate FRC

Only subsets of the image are processed. Refer to Version 1 for larger range in z.


Stability accessment images (two beam laser interference images taken over periods of time) and postprocessing code in MATLAB

2D SIM (not TIRF) data with 200 nm fluorescent beads measured over the full FOV and reconstruction code in MATLAB



Processed in almost the same way as 2D TIRF SIM

Parameters were estimated using the centre of the FOV

Sections with ~10 um horizontal distances are plotted to show change of quality across the FOV


PSF data measured using 200 nm fluorescent beads and postprocessing code in MATLAB



Individual bead images are picked and fit with theoretical PSF function to obtain resolution

Beads with ~10 um horizontal distances are plotted to show change of quality across the FOV