This DeepTrackAI repository contains simulated optical force data for a microsphere trapped in an optical tweezer, following the work of Bronte Ciriza et al., ACS Photonics, 2022. The simulations were generated using the Optical Tweezers in Geometrical Optics (OTGO) toolbox by Callegari et al., JOSA B, 2015.
The dataset contains:
- Theoretical optical forces along the z-axis (exact analytical solution).
- Geometrical optics (GO) approximation results with 100 rays.
- Laser power (P): 5 mW
- Medium refractive index (nₘ): 1.33 (water)
- Particle refractive index (nₚ): 1.50 (glass)
- Particle radius (R): 1 μm
- Focal length (f): 0.1 mm
- Numerical aperture (NA): 1.3
- Beam waist (w₀): 0.1 mm
- Title: Optical Forces Dataset
- Authors: David Bronte Ciriza et al.
- Source: This repository
- Reference articles:
- Bronte Ciriza A., et al. ACS Photonics 10:234-241 (2022). DOI: 10.1021/acsphotonics.2c01565
- Callegari A., et al. JOSA B 32(5): B11–B19 (2015). DOI: 10.1364/JOSAB.32.000B11
- License: MIT
If you use this dataset in your research, please follow the licensing requirements and properly attribute the original authors.
/optical_forces_dataset
├── fz_vs_z_theory.txt # Theoretical Fz vs. z-position (z [μm], Fz [pN])
├── xyz_go_100rays.npy # (4D array) Particle positions [x, y, z]
├── fxyz_go_100rays.npy # (4D array) Force components [Fx, Fy, Fz] in pN
└── sphere_100rays/ # ~10^5 GO data points for NN training
├── force_grid_3D=1.txt
├── force_grid_3D=2.txt
└── ...
-
fz_vs_z_theory.txt
Contains two columns:- z-position (μm)
- Theoretical z-component of the optical force Fz (pN)
These values serve as the ground truth for comparison with GO results and ML predictions.
-
xyz_go_100rays.npy
NumPy array (4D) containing the particle positions (x, y, z) where optical forces were calculated. -
fxyz_go_100rays.npy
NumPy array (4D) containing the corresponding force components (Fx, Fy, Fz) at each position in piconewtons. -
sphere_100rays/
Contains approximately 10⁵ optical force data points simulated via OTGO.- Data is split into 101 files:
force_grid_3D=1.txt
,force_grid_3D=2.txt
, … - Each file contains rows of eight numbers:
where:
R np x y z fx fy fz
- R: particle radius in meters
- np: particle refractive index
- x, y, z: particle position in meters
- fx, fy, fz: optical force components in newtons
- Data is split into 101 files:
git clone https://github.com/DeepTrackAI/optical_forces_dataset.git
cd optical_forces_dataset
import numpy as np
# Load theoretical Fz data
z_theory, fz_theory = np.loadtxt("fz_vs_z_theory.txt", unpack=True)
# Load GO simulation data
xyz_go = np.load("xyz_go_100rays.npy") # positions
fxyz_go = np.load("fxyz_go_100rays.npy") # forces
# Example: read one of the sphere_100rays files
R, np_val, x, y, z, fx, fy, fz = np.loadtxt("sphere_100rays/force_grid_3D=1.txt", unpack=True)
print("Positions shape:", xyz_go.shape)
print("Forces shape:", fxyz_go.shape)
print("First few Fz theoretical values:", fz_theory[:5])
If you use this dataset, please cite the reference articles.
Bronte Ciriza D, et al. Faster and More Accurate Geometrical-Optics Optical Force Calculation Using Neural Networks. ACS Photonics, 10: 234–241 (2022). DOI: 10.1021/acsphotonics.2c01565
@article{bronte2022faster,
title={Faster and More Accurate Geometrical-Optics Optical Force Calculation Using Neural Networks},
author={Bronte Ciriza, David and Magazz{\`u}, Alessandro and Callegari, Agnese and Barbosa, Gunther and Neves, Antonio AR and Iat{\`\i}, Maria Antonia and Volpe, Giovanni and Marag{\`o}, Onofrio M},
journal={ACS Photonics},
volume={10},
pages={234--241},
year={2022},
publisher = {American Chemical Society},
doi={10.1021/acsphotonics.2c01565}
}
Callegari A, et al. Computational Toolbox for Optical Tweezers in Geometrical Optics. Journal of the Optical Society of America B, 32: B11–B19 (2015). DOI: 10.1364/JOSAB.32.000B11
@article{callegari2015comp,
title={Computational Toolbox for Optical Tweezers in Geometrical Optics},
author={Callegari, Agnese and Mijalkov, Mite and G{\"o}k{\"o}z, A Burak and Volpe, Giovanni},
journal = {Journal of the Optical Society of America B},
volume={32},
number={5},
pages={B11--B19},
year={2015},
publisher={Optica},
doi={10.1364/JOSAB.32.000B11}
}
This repository is shared under the MIT License.