Meet FastDDM

FastDDM is a Python package for the analysis of microscopy image sequences using Differential Dynamic Microscopy on CPU and GPU.

What is Differential Dynamic Microscopy?

Differential Dynamic Microscopy* (DDM) is a versatile and robust tool to quantify the multiscale dynamics of complex fluids and soft and biological materials.

* Originally introduced in Cerbino and Trappe, Phys. Rev. Lett. 100 (2008), 188102

Everything starts from a sequence of microscopy images \(i(\mathbf{x}, t)\).

DDM works by subtracting images acquired at different times. As the delay \(\Delta t\) between two images increases, the signal of the difference between two images also increases.

A 2D Fourier transform allows to quantify the growth of the signal of the image difference at different spatial scales.

The aim of DDM is to calculate the structure function of the 2D Fourier transform \(I(\mathbf{q}, t)\) of the images: \[ D(\mathbf{q}, \Delta t) = \langle \lvert I(\mathbf{q}, t+\Delta t) - I(\mathbf{q}, t) \rvert^2 \rangle_t \]

The structure function stands as a foundation tool for unveiling spatial correlations and dynamic features within images.

It is connected to the static scattering intensity and to the intermediate scattering function that one would measure in static and dynamic light scattering experiments, respectively.

Motivation

What are the current drawbacks of most DDM codes?

  • No open-source and user-friendly library
  • No unified collaborative development platform
  • Slow speed of analysis (tens of minutes to hours)

FastDDM solves all these issues!

Your analysis companion

FastDDM allows you to run your analysis from Python, which is one of the simplest and most widespread programming languages. Computing the structure function is as simple as

Collaborative development

We strongly believe that collaboration and sharing is the key to progress.

FastDDM is open-source and hosted on GitHub to simplify the development process and the introduction of new methods.

Cores

FastDDM allows you to harness the power of CPU and GPU. It comes with different core options:

  • plain Python
  • C++
  • CUDA

(in order of increasing speed).

Modes

We also implemented two modes:

  • The original, difference scheme
  • The fast mode, which takes advantage of FFT to speed up the calculation*

* Originally introduced in Norouzisadeh et Al., Eur. Phys. J. E 44 (2021), 146

It's fast

* CPU: AMD Ryzen 7 5800x; GPU: NVIDIA RTX 3080 Ti 12GB

Thank you!

- Source code
- Tutorials
- Documentation

Stay tuned for the upcoming tutorial article!