L'architecture d'Aphelion™ Developer

L'interface utilisateur

L'interface graphique d'Aphelion permet à l'utilisateur de :

  • Visualiser une ou plusieurs images simultanément et contrôler les paramètres de visualisation (tels que taille, aspect ratio, LUT et contraste)
  • Lancer les fonctions de traitement d'images avec la possibilité de choisir les paramètres par défaut proposés par Aphelion ou de modifier ces paramètres en entrant des valeurs au clavier
  • Enregistrer et exécuter des macro commandes compatibles Visual Basic
  • Visualiser les mesures dans un tableur, calculer des statistiques et visualiser des histogrammes sur les mesures tout en examinant les objets correspondants
  • Accéder à l'aide en ligne incluant un manuel d'utilisation, un manuel de référence des opérateurs et des démonstrations multimédia
  • Visualiser des histogrammes, des diagrammes de dispersion, des profils d'intensité et des représentations pseudo 3D
Aphelion GUI
comments

Base de données symbolique

La théorie de l'Interprétation d'Images permet à l'utilisateur de concevoir une image comme une collection d'objets pouvant contenir des objets au lieu de contenir habituellement des points image. Ces objets peuvent être des particules, des chaînes de contours, des polygones, des segments, etc. Cette conversion en objets permet de réduire de manière significative le temps d'exécution des traitements et rend ainsi la phase de reconnaissance et d'interprétation beaucoup plus aisée. Un ensemble d'attributs est ensuite calculé pour chaque objet, comme la surface, le périmètre, la longueur, les diamètres de Feret, la direction principale, l'intensité lumineuse, etc. Les objets et leurs attributs associés sont stockés dans une base de données symbolique qui peut être visualisée dans un tableau 2D. Des outils de sélection, tri, regroupement et filtrage sont fournis à l'utilisateur afin de filtrer les mesures selon différents critères de forme, taille, etc. Chaque mesure peut être convertie dans une unité choisie par l'utilisateur.

Table

Serveur graphique

Le serveur graphique d'Aphelion permet à l'utilisateur de visualiser des courbes de données selon des vues 2D ou pseudo 3D. Le coloriage dynamique sur les courbes proposé par le logiciel rend le passage de message plus convivial. En effet, des liens virtuels, établis entre les images et les graphiques correspondants, permettent de mettre à jour en temps réel les courbes en fonction des données spécifiées sur l'image. Enfin, les utilisateurs peuvent modifier les propriétés des courbes visualisées afin de les adapter aux conditions de l'application développée.

Seed Origin image Seed Histogram Seeds

Les outils de visualisation

Aphelion met à la disposition des utilisateurs un ensemble d'outils de visualisation de très haute qualité. Ces outils supportent l'acquisition des images provenant de la caméra ou d'un scanner, le chargement d'images depuis le disque dur ou le réseau et la visualisation des images en cours de traitement. Il est de plus possible de contrôler totalement la palette de couleurs, le contexte de visualisation, l'aspect des pixels à l'écran, ainsi que l'affichage d'objets graphiques au dessus des images, dans un plan non destructif. Une loupe interactive permet de grossir les données pixel tout en conservant la taille originale des objets graphiques, ce qui permet de réaliser des visualisations en sous-pixel. L'interface multi-documents permet également le passage de messages entre deux ou plusieurs images ou entre une image et l'objet graphique associé (courbe d'intensité, histogramme, etc.). La librairie de visualisation du logiciel Aphelion est disponible sous forme de composants ActiveX ou .Net® rendant son utilisation grandement facilitée lors du développement d'une application requérant de l'affichage d'images.

Format d'images supportés

Aphelion supporte les formats TIFF, BMP, JPEG, KBVision™ et les données brutes en importation. Les formats d'images internes supportés sont 1, 8, 16 et 32 bits pour les images entières et 32 bits pour les images flottantes (monochromes et couleur). Les séquences d'images, les images bi et tri dimensionnelles ainsi que les images de très haute résolution sont également supportées.

Programmation

Afin de répondre aux besoins des différents types d'utilisateur, Aphelion supporte plusieurs niveaux de programmation interactive tels que :

  • L'ajout de nouveaux opérateurs développés par l'utilisateur dans l'interface
  • La possibilité de lier des macros à des boutons dans l'interface pour un accès immédiat
  • L'appel des fonctions de traitement et d'affichage d'images (disponibles sous forme de DLLs) depuis un programme autonome écrit en C++
  • L'utilisation des composants ActiveX d''Aphelion dans des environnements de développement tels que Visual Basic, Delphi ou Java. Douze composants ActiveX pour le traitement des images, la gestion des images et des Objectsets, l'affichage des images sont disponibles dans le module de base du logiciel.

Régions d'intérêt

Aphelion offre la possibilité à l'utilisateur de définir une ou plusieurs régions d'intérêt (ROIs) dans une image. L'utilisation de régions d'intérêt permet d'accélérer la vitesse de traitement en limitant l'utilisation de l'opérateur de traitement à une région d'intérêt quelconque (rectangulaire, polygonale ou dessin à main levée). Un ou plusieurs objets appartenant à un même ensemble d'objets (Objectset Aphelion) peuvent également être convertis en ROI. Enfin, une ROI peut être contrôlée dans une macro d'Aphelion.

ROIs on the Road image

Environnement de macro-commandes

Finie la corvée d'apprentissage d'un langage de macro-commandes spécifique ! En effet, un langage macro compatible Visual Basic est proposé en standard dans le logiciel. Chaque opérateur de traitement est disponible depuis le langage macro, ainsi que les objets visuels classiques comme les boîtes de dialogue et les formulaires. Un interpréteur, un debogueur et un enregistreur automatique sont intégrés dans le langage.

Exemple de Macro

Exportation des mesures

Toutes les mesures globales et individuelles calculées dans Aphelion sont exportables, en un clic de souris, vers Microsoft Excel ou tout autre logiciel compatible Windows. Il est possible d'exporter une collection entière d'objets avec leurs attributs associés ou bien uniquement une sélection de colonnes, lignes ou cellules du tableau de mesures. Il est également possible d'exporter des histogrammes dans Excel. Ainsi, les utilisateurs d'Aphelion peuvent utiliser les outils avancés du logiciel pour effectuer des mesures statistiques sur les données ou bien exporter ces mêmes données vers un logiciel tierce partie comme Microsoft Excel ou Access.

Support Temps réel

La plupart des opérateurs de type point-à-point ou transformation élémentaire de voisinage ont été implémentés sur l'architecture MMX afin d'améliorer de manière drastique le temps d'exécution de ces opérateurs. Il est ainsi possible d'atteindre des temps de traitement inférieurs à la cadence vidéo. Cela permet donc, dans la plupart des cas, de s'affranchir de l'utilisation de cartes supplémentaires de traitement temps réel dans le cadre d'applications demandant des traitements sur les images provenant de la caméra.

Liste des opérateurs optimisés pour le jeu d'instructions du MMX:

  • Addition entre 2 images
  • Soustraction de 2 images
  • Multiplication de 2 images
  • Minimum entre 2 images
  • Maximum entre 2 images
  • Seuillage
  • Convolution
  • Erosion
  • Dilatation
  • Ouverture
  • Fermeture
  • Chapeau Haut de Forme sur les blancs
  • Chapeau Haut de Forme sur les noirs
  • Filtre alterné séquentiel
  • Filtre automédian

Limitations à l'utilisation du MMX :

  • La largeur de l'image doit être un multiple de 8 pixels.
  • L'image doit être 8 bits non signée.
  • Pour la multiplication, l'image résultat doit être 16 bits non signée.
  • Pour la convolution, l'image résultat doit être 16 bits signée.
  • Pour les opérations morphologiques, seuls les éléments structurants rectangulaires sont supportés.

Temps de calcul pour des images 512x512, 8 bits sur un Pentium III 500MHz :

Opérateur Temps (en ms)
Addition6.2
Soustraction6.2
Multiplication6.9
Minimum6.8
Maximum6.8
Seuillage19.1
Convolution 3x326.8
Erosion par un carré 3x37.2
Erosion par un carré 15x1551
Dilatation par un carré 3x3 7.2
Dilatation par un carré 15x1551
Ouverture par un carré 3x337
Ouverture par un carré 15x15130

Acquisition d'images avec une caméra

Aphelion permet aux utilisateurs d'interfacer le logiciel avec des cartes spécialisées d'acquisition et de numérisation, en utilisant des pilotes spécifiques. Les images provenant de la caméra, monochromes ou couleur, sont visualisées dans l'interface graphique, avec une vitesse de rafraîchissement proche du temps réel (la vitesse dépend de la carte utilisée). Il est possible de contrôler le gain, l'offset et les autres paramètres physiques liés à la carte d'acquisition d'images. Un Kit de portage optionnel est disponible sur demande afin d'interfacer des cartes non prévues en standard dans le logiciel (liste de cartes supportées).

Modules optionnels

Le logiciel Aphelion peut être enrichi d'un ensemble de modules optionnels afin de répondre à des besoins très particuliers. Par exemple, les utilisateurs de microscopes optiques pourront utiliser avantageusement un module qui permet de contrôler les moteurs pas-à-pas d'une platine motorisée selon les trois axes X, Y et Z. Le module Recognition Toolkit, développé par Recognition Science Inc., offre des outils de reconnaissance de formes basés sur l'analyse par composantes principales et la classification d'objets selon leurs attributs. Et VisionTutor est un didacticiel qui permet d'apprendre les techniques liées au traitement d'images à travers un cours interactif comprenant une partie théorique et des travaux pratiques sous forme de macro-commandes Aphelion.

Toute une gamme de modules optionnels est disponible et décrite en détail ailleurs dans le site.