In this repository you will find instructions, a python package, arduino code and python examples for performing a Cross-Differential Dynamic Microscopy experiment. Repository is accompanying the article on Cross-Differential Dynamic Microscopy.
In the article we demonstrate the use of a dual-camera-equipped microscope for the study of the wavevector-dependent dynamics of soft matter. We use two randomly triggered cameras to acquire two sequences of images of the same region in the sample. From the two data sets we calculate cross-image differences and Fourier analyze them as a function of time delay between the two images. We show that this technique can greatly decrease the time delay, which allows us to measure fast dynamics at larger wavevectors that could not have been performed with a single camera setup.
In the repository we included:
- Arduino code for the random triggering of cameras and its simulation,
- An installable Python package called cddm_experiment that consists of three modules:
- trigger.py (arduino communication, triggering and random times simulation)
- frame_grabber.py (camera communication and capturing with FLIR USB cameras)
- config.py (camera and triggering configuration)
- cddm_experiment documentation
- A series of standalone example python scripts
Software requirements:
- Python 3.7 with packages numpy, numba, multiprocessing, pyserial, cddm
- Arduino Software (IDE)
This project is licensed under the GNU GENERAL PUBLIC LICENSE (GPLv3) - see the LICENSE.md file for details
For an accurate triggering we used a replacement of the Arduino built-in function micros() from the library eRCaGuy_TimerCounter by ElectricRCAircraftGuy.