Skip to content

Code to visualize the compression of a droplet in a microfluidic circuit by tracking microbeads inside it

License

Notifications You must be signed in to change notification settings

decarpentierg/microbeadsTracking

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

14 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Tracking de microbilles et étude de la compression d'une goutte dans un circuit microfluidique

gitHubIllustration2

Ce code a permis d'étudier la compression d'une goutte de gel bloquée dans un entonnoir lorsque celle-ci était soumise à des débits variés (cf. images ci-dessus). Des microbilles introduites dans la goutte ont permis de déterminer la matrice jacobienne de la transformation (appelée abusivement "matrice des déformations" ou "matrice de comression" dans le code) en chaque point de la goutte.

Le procédé utilisé est le suivant :

  • On détecte un nombre nbilles de billes sur chaque image en utilisant un filtre de convoution adapté à la forme des microbilles que l'on souhaite détecter (ici généralement un carré creux de 3x3 pixels)
  • On fait le lien entre les billes détectées indépendamment sur chaque image en utilisant le transport optimal (algorithme hongrois).
  • On en déduit la "matrice des déformations" autour de chaque bille en effectuant une régression linéaire sur les déplacements relatifs de ses plus proches voisins par rapport à elle.
  • On calcule une triangulation de Delaunay et on effectue une interpolation affine sur chaque triangle pour estimer la valeur de cette matrice en chaque point de la goutte.

Le code est structuré de la façon suivante :

  • La classe Débit est sert à gérer les paramètres de chaque film réalisé (correspondant à des débits différents) : nombre d'images, numérotation des images, nombre de billes à détecter... Seul l'un de ces films a pu être uploadé sur GitHub à cause de la limitation en espace mémoire mais nous en avons en réalité étudié 6, d'où l'utilité de cette classe.
  • La classe Image sert à gérer les images indépendamment les unes des autres : chargement de l'image, repérage de la forme de la goutte, des microbilles, affichage etc.
  • La classe Movie permet de faire le lien entre les différentes images d'un film : tracking des microbilles à l'aide du transport optimal, calcul de la matrice de compression, affichage des trajectoires et de la compression, ...

Le module microbeadsTracking contient le code de ces trois classes et est importé dans le notebook correspondant qui permet son utilisation et la visualisation des résultats sur le film compression150a, réalisé au débit de 150 microlitres par minute.

About

Code to visualize the compression of a droplet in a microfluidic circuit by tracking microbeads inside it

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published