Acquisition semi automatisée

Mon installation permet (enfin) de prendre des captures précises automatiquement afin de générer des panoramas gigapixels.

Elle se compose de 5 élements cruciaux:

  • la platine micrometrique pour contrôler le microscope
  • la carte electronique qui gère la platine
  • le firmware de la carte electronique
  • le logiciel de contrôle et d’automatisation de prise d’images
  • le logiciel de composition d’images pour générer les panoramas

Platine

6522
Plans 3D de la platine motorisée.


La platine motorisée consiste simplement en une platine micrométrique SEMY60-AC couplée à deux moteurs pas à pas.

Ce genre de platine peut (pouvait) être trouvé pour une 30aine d’euros, et ses caractéristiques sont les suivantes:

Taille de la table: 60 x 60mm
Résistance à la charge: 44.1N
Course: ± 6,5 mm
Précision: 0.01mm
Parallélisme: 30μm
Parallélisme en mouvement: 20μm
True Straightness: 3μm


Couplage Z

Assez simple à réaliser mais néanmoins important, il faut coupler le bouton pour régler la hauteur (Z) avec un moteur pour pouvoir controler la mise au point depuis l’ordinateur.

Firmware

Le firmware est ce qui permet de rendre le hardware utilisable en le connectant à un ordinateur.

Il est codé en C, et reconnait un protocole très simple composé des messages suivants:

SX: Démarrer le moteur X
SY: Démarrer le moteur Y
SZ: Démarrer le moteur Z

EX: Eteindre le moteur X
EY: Eteindre le moteur Y
EZ: Eteindre le moteur Z

MX pos [speed]: Déplacement relatif en X
MY pos [speed]: Déplacement relatif en Y
MZ pos [speed]: Déplacement relatif en Z

PX pos [speed]: Positionnement absolu en X
PY pos [speed]: Positionnement absolu en Y
PZ pos [speed]: Positionnement absolu en Z

POS: Obtenir la position courante

HOME: Se déplacer à l'origine
FAN speed: Définir la vitesse du ventilateur
SPD speed: Définir la vitesse de déplacement


Il comporte aussi des sécurités pour ne pas pouvoir se déplacer en dehors de la zone définie.

Contrôle par ordinateur

Mon logiciel est capable de récupérer le flux vidéo de la camera, et de controler la platine du microscope avec des touches ou de manière automatisée.

Features du logiciel:

  • Correction des couleurs / Histogramme / Exposition
  • Déplacement de la platine et controle du focus
  • Contrôle des moteurs et du positionnement
  • Minimap automatique et grille de tiles
  • Zmap pour automatiser le focus
  • Module de correction de l’aberration chromatique
  • Module d’acquisition scanline automatisée
  • Captures d’images avec nommage intelligent
  • Capture localisée (zone nette)
  • Mise en veille de l’ordinateur post-acquisition

Correction des couleurs

La correction des couleurs utilise une LUT (lookup table) générée spécifiquement pour la source de lumière utilisée (une LED 4 watts).

Il est aussi possible d’afficher un histogramme RGB qui aidera à choisir la meilleure exposition.

Sans correction (gauche) - Avec correction (droite)


Zmap

Il est possible de définir un nombre arbitraire de points de focus. Le logiciel sera alors capable d’interpoler la valeur Z en fonction de la position courrante, permettant ainsi une prise de panorama complètement nette.

6522
Zmap 4 points visualisée sur la minimap.


Généralement, 4 points (un par coin) suffisent si le die n’a pas été endommagé.

Routine d’acquisition

L’acquisition se fait ainsi.

  1. On allume et HOME le microscope.
  2. On place la puce à observer dans le faiseau lumineux. On essaye de la placer relativement droite.
  3. On ouvre la minimap dans le logiciel, et on déplace le microscope jusqu’à trouver un coin de la puce.
  4. On fait une mise au point et on définis un point Z sur la carte
  5. On répète pour chacun des 4 coins de la puce
  6. On définie sur la minimap la zone que l’on veut capturer
  7. On vérifie eventuellement que le focus se fait bien sur certains points (ex: centre)
  8. On lance la capture automatique et on attends

Démo d’utilisation du logiciel d’acquisition.


Correction de l’aberration chromatique

Le module de correction de l’aberration chromatique va prendre automatiquement 3 clichés (un par cannal de couleur) avec des focus différents, en fonction de l’objectif utilisé, puis recomposer l’image finale.

Sans correction (gauche) - Avec correction (droite)

Le cannal bleu est particulièrement affecté.


Composition de l’image finale

Je faisais ma composition de panorama en utilisant un logiciel externe (ICE ou hugin), mais plusieurs limitations ont vite rendu leur utilisation beaucoup trop fastidieuse pour créer des panoramas gigapixels.

Mon installation permet de générer une série de tiles, très bien alignées à la grille de déplacements définie dans le logiciel.

Il est donc possible de faire un assemblage de ces tiles en codant un algorithme qui va les coller une à une en corrigeant le taux d’erreur entre une image et ses voisines.

L’algorithme fonctionne très bien, est bien plus rapide que hugin/ICE, et possède un système de cache pour pouvoir recalculer certaines parties sans tout refaire de zéro.


Génération finale du panorama en utilisant l’éditeur.


Si jamais certaines tiles sont mal placées, il est possible de les repositionner manuellement dans l’éditeur de panorama.

Features:

  • Placement automatique rapide
  • Placement automatique lent (plus précis, pour les cas difficiles)
  • Visualisation du placement des tiles
  • Détection des erreurs (heatmap)
  • Placement manuel pour les problèmes insolubles
  • Modes ligne/colonne/combiné
  • Marges dynamiques
  • Curseur de tile pour passer d’une tile à l’autre avec le clavier
  • Afficher uniquement la ligne/colonne associée à la tile sélectionnée
  • Plusieurs niveaux de zoom
  • Système de cache pour les vignettes des tiles
  • Importation/exportation des décalages calculés
  • Recalculer la zone (utile si une zone est floue pour pouvoir la recapturer)
  • Exportation .tga rapide qui supporte les images gigapixels.