documentation technique sur le logiciel digiect
Transcription
documentation technique sur le logiciel digiect
DOCUMENTATION TECHNIQUE SUR LE LOGICIEL DIGIECT DigiECT v2.7.3 RevA Mai 2011 Historique des révisions Révision A Date MAI 2011 Modifications Création Pour toute question technique, veuillez contacter Digisens Digisens SA 17, allée du lac d’Aiguebelette BP278-Savoie Technolac 73375 LE BOURGET DU LAC Cedex France Tél. : +33 (0)4 79 65 89 17 Fax : +33 (0)4 79 25 08 99 Email : [email protected] Informations générales Copyright ©DIGISENS S.A. 2011. Tous droits réservés. La reproduction, le transfert, la distribution et le stockage d'une partie ou de tout le contenu de ce document sous quelque forme que ce soit sans la permission écrite préalable de DIGISENS sont interdits. Tous les autres produits et noms de compagnies mentionnés dans ce document peuvent être des marques déposées ou des noms de marque de leurs détenteurs respectifs. Les logiciels et les plans présents dans ce document sont la propriété de leurs détendeurs respectifs. DIGISENS se réserve le droit d'effectuer des modifications et des améliorations sur tous les produits décrits dans ce document sans notification préalable. L'utilisateur doit s’assurer périodiquement, par des méthodes comparatives appropriées, de la conformité de ses logiciels. A défaut, la responsabilité de DIGISENS ne pourra être engagée. Dans aucune circonstance, DIGISENS ne peut être tenu pour responsable de pertes de données, de pertes financières ou de tout autre dommage spécial, accidentel, consécutif ou indirect de quelque manière que ce soit. Table des matières 1 2 PRESENTATION GENERALE DE DIGIECT ......................... 1 1.1 Introduction ................................................................. 1 1.2 Configuration minimale requise ................................... 2 1.3 Installation ................................................................... 2 1.4 Système de protection ................................................. 2 1.5 Fenêtre de diagnostic .................................................. 3 LA VISUALISATION VOLUMIQUE : MODULE DIGIOBS ..... 5 2.1 Présentation de l’interface par défaut .......................... 5 2.2 Gestion des Préférences ............................................. 5 2.2.1 Onglet Computation ................................................. 7 2.2.2 Onglet Interface ....................................................... 8 2.2.3 Onglet Graphics ..................................................... 11 2.3 Chargement d’un volume .......................................... 12 2.4 Visualisation des volumes 3D .................................... 13 2.4.1 Visualisation multi-vues ......................................... 13 2.4.2 Visualisation d’une tranche de volume ................... 14 2.4.3 Les paramètres de visualisation ............................. 15 2.4.4 La palette de couleurs............................................ 18 2.5 2.5.1 2.6 2.6.1 La manipulation du volume........................................ 21 Manipulation d’affichage ........................................ 21 Gestion des données ................................................ 23 Sauvegarde et export de volumes ......................... 23 2.6.2 L’export de coupes ................................................ 24 2.6.3 L’export de films..................................................... 26 2.6.4 Les copies d’écran ................................................. 27 3 RECONSTRUCTION TOMOGRAPHIQUE : MODULE DIGIR3D ..................................................................................... 29 3.1 Introduction ............................................................... 29 3.2 Chargement des données ......................................... 29 3.2.1 Chargement des images ........................................ 30 3.2.2 Gestion des angles d’acquisition ............................ 31 3.2.3 Information dimensionnelle sur les projections ....... 32 3.3 Recalage des images ................................................ 33 3.3.1 Option « Use » ....................................................... 34 3.3.2 Pre-Alignement ...................................................... 35 3.3.3 Recherche des marqueurs (SEEDS) ..................... 41 3.3.4 Appariement des marqueurs (TRACKING) ............ 48 3.3.5 Estimation de la géométrie .................................... 51 3.4 Définition du volume 3D ............................................ 54 3.4.1 Fichier de sortie ..................................................... 54 3.4.2 Dimensions du volume........................................... 55 3.4.3 Région d’intérêt...................................................... 56 3.4.4 Résolution.............................................................. 57 3.5 Définition des paramètres de la reconstruction .......... 57 3.5.1 Algorithme de Reconstruction ................................ 58 3.5.2 Pre Processing Des Projections............................. 61 3.5.3 Régularisation ........................................................ 63 3.5.4 Preview et Reconstruction ..................................... 64 3.5.5 Sauvegarde et lecture ............................................ 64 4 IMPORT DE COUPES TOMOGRAPHIQUE: PLUGIN DIGISIM ...................................................................................... 66 5 4.1 Présentation générale de DigiSIM ............................. 66 4.2 Fonctionnalités de DigiSIM ........................................ 66 ANALYSE DE PLANS DE COUPE : PLUGIN DIGICUT ..... 70 5.1 Présentation générale de DigiCUT ............................ 70 5.2 Paramètres relatifs à l’image ..................................... 71 5.2.1 Résolution.............................................................. 71 5.2.2 Contraste ............................................................... 71 5.2.3 Déplacement dans l’image ..................................... 71 5.2.4 Autres fonctionnalités............................................. 72 6 VISUALISATION ET EXTRACTION SURFACIQUE : PLUGIN DIGISRF ..................................................................................... 85 6.1 Présentation générale de DigiSRF ............................ 85 6.2 Fonctionnalités de DigiSRF ....................................... 85 6.2.1 Gestionnaire de surfaces ....................................... 85 6.2.2 Opérations par surface .......................................... 86 6.2.3 Visualisation simultanée de plusieurs surfaces ...... 94 7 ACCELERATION GPU DE LA RECONSTRUCTION TOMOGRAPHIQUE : PLUGIN SNAPCT ................................... 98 7.1 Activation SnapCT et choix des cartes ...................... 98 7.2 Configuration matérielle et évolution ......................... 99 8 AUTOMATISATION DES TACHES DE RECONSTRUCTION : BATCH MODE ..................................... 101 8.1 Présentation générale ............................................. 101 8.2 Fonctionnement du batch mode .............................. 101 1 Présentation générale de DigiECT 1.1 Introduction DigiECT est un logiciel de la société Digisens permettant : • Le recalage des données • la reconstruction 3D suivant divers géométries d’acquisition, • la visualisation volumique et surfacique, • la manipulation d’un plan de coupe 3D, • l’analyse de niveau de densité, • la mesure. Il se compose de 2 modules de base et de plugins de traitement. Ses 2 modules sont : DigiOBS : logiciel de visualisation et traitements 3D DigiR3D : logiciel de recalage et de reconstruction DigiECT Ses plugins sont : CUT SRF SIM SnapCT Batch Mode : Analyse de plan de coupe + mesures : Extraction et visualisation surfacique : Importation de coupes : Module d’accélération sur processeur graphique (GPU) : Module de réalisation de macros par ligne de commande Les modules et plugins sont rassemblés dans une même interface basée sur le module DigiOBS. 1 1.2 Configuration minimale requise Configuration optimale recommandée pour un ordinateur de bureau : • Carte mère double slot PCI express x16 • Processeur Intel Dual Core • 32Gbits DDR2 RAM minimum • Windows XP / Windows 7 64bits • Disques durs SAS montés en RAID0 • Carte graphique NVIDIA Quadro pour l'affichage/Tesla pour le calcul Pour une configuration performante et optimisée, veuillez contacter les services techniques de Digisens. 1.3 Installation L’installation de DigiECT se fait par l’exécution du fichier d’installation DigiECT_X_XX_X.exe (où X_XX_X correspond au numéro de version de l’installeur). Une fois l’installeur exécuté, laissez vous guider par l’assistant d’installation. Pour tout problème d’installation ou de lancement de l’application, veuillez contacter le support technique Digisens. 1.4 Système de protection La suite logicielle DigiECT est protégée par un dongle USB couplé à un fichier de licence fournis par Digisens. Le dongle doit être inséré avant l’exécution de DigiECT et doit le rester durant son exécution sous peine de fermeture de l’application. L’installation de la clé s’effectue lors de la première exécution, il suffit de confirmer celle-ci en cliquant sur Suivant lorsque le dialogue Windows « Assistant matériel détecté » apparaît. Une fois l’installation terminée, il faut cliquer sur Terminer. Une bulle d’information apparaît au niveau de la barre du menu Démarrer de Windows avec le message « Votre matériel est installé et prêt à l’emploi ». 2 Le fichier LicenseFile.key fourni Files\Digisens\DigiECT 2.7.3 x64\bin doit être copié sous C:\Program 1.5 Fenêtre de diagnostic Lors du démarrage de l’application, si la configuration graphique n’est pas adaptée, une fenêtre de diagnostic apparaît (Figure 1.1). Elle indique la référence de la carte graphique, la version d’OpenGL présente et les extensions OpenGL nécessaires trouvées et non trouvées. A la première exécution du logiciel, vous avez la possibilité de désactiver cette fenêtre d’information aux prochains démarrages. En cas de problème, ces informations sont à fournir au support technique. Figure 1.1.1 : Fenêtre de diagnostic 3 4 2 La visualisation volumique : Module DigiOBS La visualisation volumique d’un modèle 3D tel que celui rencontré en tomographie est réalisée par l’affichage de voxels (extension 3D des pixels). Chaque voxel affiché contient sa propre information de niveau de gris souvent assimilée à la densité de l’objet. La résolution maximale d’affichage dépend de la capacité de l’ordinateur utilisé. Nous parlerons ici d’une résolution standard de 512x512x512 voxels. 2.1 Présentation de l’interface par défaut DigiECT se présente sous la forme d’une fenêtre principale (Figure 2.1) constituée d’une zone de visualisation 3D, d’un menu et d’une barre d’outils. Les barres d’outils comportent les raccourcis vers les principales fonctionnalités et les dialogues de paramétrage. 2.2 Gestion des Préférences Au premier lancement de DigiECT, la fenêtre des préférences s’affiche. Il est nécessaire de cliquer sur OK pour valider l’utilisation du GPU (Figure 2.3). L’utilisateur avancé a la possibilité de paramétrer son environnement et un certain nombre d’autres paramètres via les préférences de DigiOBS. Pour se faire, il faut ouvrir la fenêtre de préférences qui se trouve dans le menu [File Preferences] (Figure 2.2). La fenêtre de préférences propose 3 onglets : • Computation : paramètres pour la reconstruction tomographique; • Interface : paramètres de couleurs de l’interface utilisateur, gestion des fenêtres et configuration de la multivue ; • Graphics : paramètres d’affichage ; 5 Gestion des Entrées / Sorties Gestion de la visualisation Icônes des plugins View Cube Zone de Visualisation Figure 2.1 : Fenêtre Principale de DigiECT Figure 2.2 : Ouverture de la fenêtre de préférences 6 2.2.1 Onglet Computation Cet onglet possède les options utilisées par DigiR3D Reconstruction et ART Reconstruction) (Figure 2.3). (GPU Figure 2.3 : Onglet Computation de la fenêtre préférences L’option GPU Reconstruction permet d’utiliser SnapCT. Ce plugin est développé plus en détails au chapitre 9 de ce manuel. Il est également possible de sélectionner la (les) carte(s) graphique(s) utilisée(s) pour le recalage et la reconstruction. 7 2.2.2 Onglet Interface DigiECT propose une option de mesure informative dans son pluginDigiR3D et dans DigiCUT. Il est possible d’exprimer les mesures en mm, nm, µm (système international d’unités). Il est nécessaire de redémarrer DigiECT afin que ce changement soit pris en compte dans tous les plugins. L’utilisateur peut par le biais de cette interface (Figure 2.4) changer les couleurs de fond de DigiOBS.. Il peut soit utiliser une couleur unie en mettant la même couleur dans Background color up et Background color down, soit créer des dégradés. La couleur Selected color correspond à la couleur des éléments sélectionnés dans la grille 3D et Outline color à la couleur des limites physiques du volume 3D visualisé. L’utilisateur peut aussi changer la taille des icones en la choisissant dans Icon size parmi 4 formats. L’option Textured permet de choisir une image de fond (au format jpg, bmp ou png) dans la partie de visualisation du volume. Cette image de fond remplace les couleurs Color Up et Color Down. Le champ Multi-view configuration permet de paramétrer l’affichage multi-vues qui sera décrit au chapitre 2.4. 4. La première coche permet d’activer par défaut aut au lancement de DigiOBS une fenêtre de travail découpée en 4. La coche Display plane names permet de changer les noms des vues de coupes. Par défaut ces noms sont Front, Side et Top. Draw lines in single view permet de tracer les bords des plans intersectant sectant la vue active dans la visualisation. 8 Figure 2.4 : Onglet Interface de la fenêtre préférences Enfin la coche Automatically dock window at startup permet d’intégrer les fenêtres d’analyse à la fenêtre principale de DigiECT comme le montre la figure 2.5. Les fenêtres dockables s’appliquent aux plugins d’analyse DigiR3D, DigiCUT, DigiSRF et l’histogramme d’affichage. Par défaut, ces fenêtres sont dockées. Pour retrouver un affichage libre des fenêtres, l’utilisateur peut soit décocher la coche Automatically dock window at startup des préférences, soit cliquer avec le bouton gauche de la souris sur le bandeau de la fenêtre et tout en maintenant le bouton enfoncé glisser le fenêtre au milieu de la fenêtre principale de DigiOBS. Pour docker une fenêtre il suffit de double cliquer sur la barre supérieure de la fenêtre ou de la glisser sur le bord de la fenêtre principale. 9 Figure 2.5 Image du haut : fenêtre dockée à l’interface. Image du bas : fenêtre d’histogramme non dockée à l’interface. 10 2.2.3 Onglet Graphics DigiECT permet de changer certaines propretés d’affichage (Figure 2.7). Figure 2.6 : Onglet Graphics de la fenêtre préférences Les actions de chacune des coches sont les suivantes : • FAILSAFE opaque volume : permet d’invalider toutes les options openGL. Le rendu final est très pauvre. Il est cependant compatible quel que soit la carte graphique. • volume render : permet de visualiser une tranche du volume. • Fragment Program, shared texture and palette extension, palette texture extension, pixel map, color table, color matrix, texture 3D: mode d’affichage de plus en plus lent et de moins en moins performant. • Force max texture size to: les cartes graphiques actuelles savent gérer jusqu’à 1024 suivant le modèle de carte. 11 2.3 Chargement d’un volume Cette action est possible soit en utilisant la commande Open Volume du menu [File], soit en faisant glisser un fichier *.vol. Faire glisser un fichier consiste à cliquer sur le bouton gauche de la souris sur le fichier depuis l’explorateur, maintenir le bouton enfoncé puis glisser la souris dans la fenêtre de l’application, et relâcher le bouton (Figure 2.7). Le fichier volumique chargé voit son nom apparaître dans le titre de la fenêtre (Figure 2.8). Pour manipuler le volume, seuls la souris et le clavier sont nécessaires. ATTENTION : Pour une utilisation optimale du navigateur, il est fortement recommandé d’utiliser une souris avec une molette. Figure 2.7 : Ouvrir un fichier volumique 12 2.4 Visualisation des volumes 3D 2.4.1 Visualisation multi-vues DigiOBS propose l’affichage simultané de la vue 3D de l’objet et de 3 plans de coupes. Six modes d’affichage sont disponibles via le menu [Window] ou via le bouton Switch Mode • Vue 3D • Vue 3x1 • Vue 2x2 • Vue Side • Vue Top • Vue Front . Ces modes sont : Le bouton Switch mode permet quant à lui de changer les modes un par un. La figure 2.9 donne l’exemple de la visualisation 3x1. 13 Figure 2.8 : Gestion de la fenêtre principale en mode 3x1 fenêtres 2.4.2 Visualisation d’une tranche de volume Ce mode de visualisation permet de n’afficher qu’une tranche du volume. Il n’est utilisable que si Volume Render est activé (Cf. menu préférences). Pour activer ce mode, il suffit de cliquer sur l’icône Lorsque le mode est actif, l’icône devient jaune . . La figure 2.9 montre que le choix de l’épaisseur est fixé par le biais du paramètre Thickness an bas de l’interface utilisateur. L’unité de l’épaisseur de la coupe est celle choisie dans les préférences. 14 Activation du mode Epaisseur de la tranche Figure 2.9 : Affichage d’une tranche de volume Note : Ce mode peut dans certains cas ne pas être compatible avec d’autres modules du logiciel. Dans ce cas, l’icône apparait grisée . 2.4.3 Les paramètres de visualisation Pour visualiser un volume, il est nécessaire de sélectionner la plage de valeurs de densité qui seront affichées. Il est possible que la visualisation d’un volume ne soit pas optimale du fait d’un mauvais réglage d’histogramme (Figure 2.10). Dans un tel cas, il 15 vous faut cliquer sur l’icône « Volume Appearance » de la barre d’outil afin d’ouvrir la fenêtre de paramétrage de l’affichage. Le diagramme représenté est l’histogramme de densité de l’objet. Il indique en abscisse, les valeurs de densité présentes dans le volume, et en ordonnée, le nombre de voxels (éléments composant le volume) possédant ces densités. Pour modifier la plage de densité, il suffit de déplacer les limites minimum et maximum autour de la zone symbolisant l’objet (soit déplaçant les ‘hard grip’ dans le diagramme soit en modifiant les valeurs min et max indiquées sous le diagramme) – voir Figure 2.11. Il s’agit de la deuxième plus grande zone, la plus grande symbolisant le pic du bruit dans les données. Afin d’affiner cette zone, on peut zoomer entre les bornes min et max en sélectionnant l’option « Show display range » (Figure 2.12). L’apparence du volume est mise à jour en cliquant sur le bouton « Apply » car elle nécessite le recalcule de l’histogramme. Figure 2.10 : Mauvaise plage de densité 16 Figure 2.11 Fenêtre de paramétrage : choix de la zone de densité à afficher Figure 2.12 : Zoom sur la plage de densité 17 Un menu contextuel sur la fenêtre de l’histogramme permet d’exporter les données au format Excel (Clic droit sur la zone histogramme puis sélection de Export data…). 2.4.4 La palette de couleurs Le paramétrage des couleurs s’effectue avec la palette située sous le profil de densité dans la fenêtre Volume Display Parameters (Figure 2.13). Il existe 5 palettes prédéfinies (Panel table presets). Les palettes de couleurs peuvent être enregistrées et chargées via les boutons Load et Save. La figure 2.14 illustre le résultat. Figure 2.13 : Couleurs d’affichage prédéfinies Il est possible d’ajouter des points de contrôle nommés grips entre lesquels sont effectués des dégradés. Pour insérer un grip, il faut faire un clic droit de la souris à un endroit donné dans la palette (figure 2.15), puis sélectionner la commande ajouter du menu qui apparaît. Pour choisir la couleur affectée à ce grip, il faut faire un double clic gauche sur le grip, puis sélectionner une couleur de la palette (Figure 2.16). Le grip peut être déplacé en faisant in click gauche sur la souris et en maintenant la touche alt enfoncée. Le réglage de la transparence se fait directement via le petit rond où le triangle identifiant le grip, en maintenant la touche Ctrl et le bouton gauche de la souris enfoncés. Un déplacement vertical vers le haut augmente l’opacité, un déplacement vertical vers le bas augmente la transparence. La mise à jour de l’affichage se fait automatiquement. Le bouton Apply permet de valider la palette et les bornes min/max sélectionnées sur l’histogramme. Il déclenche la mise à jour des données dans la fenêtre de visualisation 3D. 18 Figure 2.14 Visualisation de la pièce 3D avec les couleurs d’affichages prédéfinies : Table Grey, Table Heat, Table Rainbow et Table Blue Red. 19 Figure 2.15 : Profil de densité 20 Figure 2.16 : Palette de couleurs 2.5 La manipulation du volume 2.5.1 Manipulation d’affichage Utilisation de la souris : Il est possible de naviguer autour de l’objet volumique à l’aide de la souris (Figure 2.17). Il existe deux modes de déplacement: un mode pour déplacer le volume et un mode pour déplacer le plan de coupe. On peut basculer de l’un à l’autre de ces modes via le bouton « Mouse control mode » de la barre d’outils ou via une pression sur la barre d’espace du clavier. L’icône «volume 3D» devient en mode «plan de coupes» . Le déplacement du plan de coupe s’effectue en manipulant la souris de la même manière que pour le déplacement du volume. Un exemple de plan de coupe est illustré sur la figure 2.18. Le bouton gauche de la souris permet de tourner le plan de coupe, le bouton droit permet de translater dans le plan, et la molette permet de 21 translater perpendiculairement au plan. Des raccourcis clavier sont aussi disponibles et regroupés figure 2.19. Figure 2.17 Utilisation de la souris pour la manipulation des volumes 3D Figure 2.18 Utilisation du plan de coupe 22 Figure 2.19 : Détail des touches du clavier actives 2.6 Gestion des données 2.6.1 Sauvegarde et export de volumes La sauvegarde des volumes se fait par le biais du menu Save Volume du menu [File].. Elle peut être activée directement par l’icône . La sauvegarde se fait sur les bases du volume affichée (dimensions, résolution, LUT d’affichage…). Les formats disponibles sont so le format des volumes de DigiECT v2. Pour sauvegarder les volumes dans une autre configuration de dimensions ou de format, l’utilisateur doit utiliser le menu Export volume du menu [File]. Ce menu permet d’exporter le volume affiché en modifiant un certain ce nombre de ses paramètres : 23 • Dimensions du volume (Figure 2.20) : En cochant « resize », il est possible de choisir les dimensions finales du volume de sortie. Figure 2.20 : Modification des dimensions du volume 2.6.2 L’export de coupes Les fichiers contenant le descriptif d’un volume disposent de l’extension *.vol. Le module DigiOBS permet de visualiser un tel volume en 3D et également d’extraire une série de coupes dans différents formats de fichier image (bmp, tif et jpeg). Afin de ne pas perdre en résolution et ainsi pouvoir faire une analyse sur des images de qualité, il est recommandé d’exporter les coupes dans un format 16 bits tel que le tif. L’export de coupes peut se faire suivant les 3 axes définis par le repère objet. 24 Figure 2.21 Dialogue d’extraction de coupes Il faut sélectionner dans le menu [File Export Volume]. Puis cocher Export Slices (Figure 2.21). Pour réaliser une extraction de coupes, il faut spécifier dans le champ Basename un répertoire de destination et une racine pour le nom des images extraites. Si on choisit c:\objet\coupes\coupes_, on obtiendra dans le répertoire c:\objet\coupes, une série d’images nommées coupes_0001.bmp, coupes_002.bmp, etc. Il faut également spécifier la direction des coupes (X, Y, Z ou un plan spécifique) et si l’on désire ou non une compression individuelle des images. Dans le répertoire d’export concerné, le programme enregistre automatiquement un fichier *.html rassemblant dans un tableau l’ensemble des données concernant le volume et les coupes tomographiques. Voici ci-dessous un exemple de contenu généré lors de l’export de 1024 coupes 1024x1024 pixels dans la direction de l’axe X. 25 X axis export number of slices 1024 slices image resolution 1024 x 1024 pixels image size 2 cm x 2 cm pixel size 19.53 µm x 19.53 µm Volume information Resolution 1024 x 1024 x 1024 voxels Size width 20 mm , height 20 mm , depth 10 mm Voxel size 19.53 x 19.53 x 19.53 µm Expanded space required (memory) 4.1 GB Compressed space required (disk) 1.6 GB Disk-storage in 17 subgrid(s) - basename - slices per sub-grid Display range [ 0 : 0.95 ] C: /Reconstruction/Object.vol [ 65 65 65 65 65 65 65 65 65 65 65 65 65 65 65 65 60 ] Il est possible de réaliser une vidéo permettant d’afficher les coupes les une à la suite des autres. Pour ce faire, il suffit de cocher la case Create movies for the selected slices. 2.6.3 L’export de films La commande [Window Export Movie] permet d’exporter un film de la zone de visualisation 3D, soit au format AVI (coche « save images » non cochée) soit sous la forme d’une série d’images (Figure 2.22). Il suffit de spécifier le nom du fichier AVI ou la base du nom des images dans le champ correspondant. Il faut ensuite cliquer sur le bouton « Record » pour déclencher l’enregistrement puis sur le bouton « Stop » pour l’arrêter. Une nouvelle fenêtre propose un choix de codec de compression disponible dans la base de registre de votre ordinateur. Le 26 film ainsi produit est le rendu de la zone 3D et de tous les événements qui l’ont influé pendant la durée de l’enregistrement. Cette fonction est aussi activable via le bouton . Figure 2.22 Dialogue d’exportation de films Important : Il est possible d’effacer le tracé bleu dans la zone de visualisation 3D (symbolisant le volume englobant) ou de l’afficher par une pression sur la touche ‘c’. Il est possible de créer une animation haute résolution de l’objet affiché. Le principe est simple : la fonction vous permet de calculer une trajectoire de caméra autour et dans l’objet à partir de quelques positions discrètes de la caméra. Pour construire la trajectoire, il faut utiliser les touches suivantes : • Alt+F1 : sauvegarde de la position de la caméra en cours (un message apparait dans la bas gauche de la fenêtre disant “Position 1 saved”) • Alt+F1 appuyé deux fois de suite : effacement de la trajectoire • F1 : permet de lancer l’animation ou de l’arrêter 2.6.4 Les copies d’écran La commande [Window Export Image] permet de réaliser une copie d’cran de l’affichage en cours. Une fois le mode activé, il suffit de choisir le répertoire, le nom du fichier de sauvegarde ainsi que le format du fichier (jpg, png, ppm, bmp). Cette fonction est aussi activable via le bouton . 27 28 3 Reconstruction tomographique : Module DigiR3D 3.1 Introduction DigiR3D est le module de recalage des projections et de reconstruction tomographique de la suite logicielle DigiECT. Il comporte 4 parties, représentées par 4 onglets verticaux distincts : • Définition des Projections • Recalage des Projections • Définition de la reconstruction 3d • Reconstruction Les commandes de DigiR3D sont accessibles dans le menu [Tools 3D Reconstruction Parameters...] ou la barre d’outils (figure 3.1) Figure 3.1 : L’icône R3D Configuration de la barre d’outils 3.2 Chargement des données Ce premier onglet permet de récupérer les informations en vue du traitement des données (Figure 3.2). 29 Figure 3.2 : Fichiers d’entrée 3.2.1 Chargement des images Le champ Image files (Figure 3.3) indique le répertoire où se trouvent les projections (que l’on peut également sélectionner via l’explorateur en cliquant sur le bouton champ texte Image files). immédiatement à droite du Les formats des images supportés sont : DM3, MRC, RAW, TIF. 30 Figure 3.3: Chargement des images Une fois les images chargées, il est nécessaire de préciser au logiciel si les images représentent des objets blancs sur fond noir (cliquer sur White objects on Black background), ou noirs sur fond blanc (cliquer alors sur Black objects on white background). 3.2.2 Gestion des angles d’acquisition La partie Angles permet de choisir le mode de récupération des angles d’acquisition (Figure 3.4). Figure 3.4 : Gestion des angles d’acquisition Le mode Linear génère des angles équirépartis dont le premier angle de la séquence est défini par Start et dont l’incrément est défini par Increment. Le mode Saxton génère des angles suivant le mode d'acquisition Saxton. Le paramètre utile est Increment. Le mode From file indique le répertoire où se trouve le fichier d’angles généré par le logiciel d’acquisition. On sélectionne le fichier via 31 l’explorateur en cliquant sur le bouton champ texte. immédiatement à droite du Les formats des fichiers d’angles supportés sont txt et angles. Le mode From Cal est sélectionné lors du chargement du fichier calibration. Le fichier calibration contient toutes les informations nécessaires à la reconstruction dont l’information sur les angles. 3.2.3 Information dimensionnelle sur les projections La résolution des projections, c'est-à-dire leur taille en pixel est immédiatement connue après leur chargement (Figure 3.5). L’utilisateur doit définir la taille du pixel image (champs Pixel Size) ou les dimensions du champ de vue (paramètre Image Size). Les valeurs de Pixel Size mettent à jour automatiquement les valeurs de Image Size et inversement (Figure 3.5). Note: Une erreur d'échelle ou de taille de pixel pourrait induire des erreurs de recalage ou de reconstruction. Figure 3.5: Information dimensionnelle sur les projections 32 3.3 Recalage des images Pour faire une bonne reconstruction, il est nécessaire de recaler les images. Ce recalage se fait en quatre étapes représentées par quatre toolboxes différentes (Figure 3.6). L’ordre des étapes est très important afin d’optimiser au mieux le recalage. Il est possible de lancer chaque étape indépendamment les unes des autres. Toutefois, le calcul lancé par le bouton « Compute » de l’onglet Geometry est plus rapide car plus optimisé. Figure 3.6: Recalage des images 33 3.3.1 Option « Use » Il est possible de ne pas prendre en compte une ou plusieurs projections pour le recalage. Choisir une projection à l’aide du slider et décocher l’option « use » (figure 3.7). Cette manipulation est à réaliser autant de fois que l’on souhaite indiquer une projection comme non utilisée. A partir de 4 projections choisies, un warning apparaitra (figure 3.8) mais n’empêchera pas le fonctionnement de DigiECT. Figure 3.7 : option “use” 34 Figure 3.8 : warning N.B. : toutes les projections pour lesquelles l’option « use » est décochée ne seront pas utilisées ni pour le recalage ni pour la reconstruction. 3.3.2 Pre-Alignement Un premier alignement au pixel près par Cross corrélation peut être réalisé par le bouton Pre-align. (Figure 3.9). Les shifts de chaque image seront alors connus avec une précision au pixel. Figure 3.9: Pre-alignement 35 3.3.2.1 Mode Expert Différents filtres permettant d’améliorer la qualité des images pour le recalage sont disponibles en mode expert (Figure 3.10) : - Binning permet de réduire la taille des images et ainsi de recaler plus rapidement. Le paramètre utile est le ratio de binning. - Median Filter est très utile pour éliminer les pixels chauds sur TOUTE l’image. - Smooth Filter réduit le bruit dans les images mais ajoute un flou sur les images corrigées. Le paramètre utile est la taille du noyau de filtrage. - Geometric Filter supprime le bruit tout en préservant les détails dans les projections. Le paramètre utile est le nombre d’itération de filtrage. Plus on aura d’itérations, plus on lissera les images. La figure 3.11 présente les différents filtrages. N.B : un Binning top important peut engendrer une perte de précision sur le recalage. N.B : les filtres sont directement appliqués sur l’image. Figure 3.10 : Mode expert 36 Figure 3.11 : L’image (a) a été filtrée par un filtre median en (b), par un filtre smooth de ratio 5 en (c) et par un filtre Geometric (paramètre égal à 20) en (d). A la fin du pré-alignement, il est possible d’afficher les images résultantes en cochant l’option « aligned ». Le slider permet de passer d’une image à l’autre. (Figure 3.12) 37 Figure 3.12 : Résultat du pre alignement 3.3.2.2 Recalage Manuel Suivant les données, il peut arriver que ce premier recalage ne soit pas optimum (par exemple dans le cas d’un saut important). Il est alors possible d’ajuster le résultat avec l’option « Manual » qui consiste à recaler ce qui se trouve autour de l’axe. La première projection servant de référence. En cochant « Manual », l’image en cours et l’image précédente se superposent. Elles sont différenciées par 2 Couleurs. Cette superposition laisse apparaitre le décalage entre les deux images (Figure 3.13). 38 Le but est de modifier les paramètres X et Y pour faire coïncider des portions d'objet se trouvant autour de l’axe et de n’avoir qu’une couleur dans cette zone (Figure 3.14). L’offset ainsi défini est reporté sur toute la séquence des projections. Figure 3.13 : Superposition de l’image courante et de l’image précédente laissant apparaitre le décalage 39 Figure 3.14 : Après modification des paramètres X et Y, le décalage autour de l’axe de rotation entre les deux images n’existe plus. Le slider permet de passer à l’image suivante et de régler si nécessaire les paramètres X et Y. Une fois le recalage manuel effectué, il est nécessaire de décocher l’option « manual » N.B. : Cette option ne peut être cochée que dans le cas où le pré alignement vient d’être effectué et si l’option « aligned » est cochée (Figure 3.12). 40 Le bouton « Reset to defaults» permet de remettre les paramètres de l’onglet Pre-Processing à leurs valeurs par défaut. 3.3.3 Recherche des marqueurs (SEEDS) Cette seconde étape permet de rechercher les marqueurs. Les marqueurs sont des points permettant l'estimation de la géométrie d'acquisition. Pour les identifier, plusieurs paramètres doivent être renseignés (Figure 3.15). Figure 3.15: Recherche des marqueurs 3.3.3.1 Région d’intérêt sur les images Une zone, dans laquelle sera appliquée la recherche, peut être délimitée (Figure 3.16). Cette région d’intérêt permet de gérer les zones d’exclusion lorsqu’il y a par exemple un défaut sur les projections où quand il n'y a pas d'information pertinente pour le recalage. 41 Figure 3.16: Région d’intérêt sur les images La région d’intérêt est déterminée par ses coins gauche (Left), droit (Right), haut (Top) et bas (Bottom) (Figure 3.17). Sa position peut être directement définie à l’aide de la souris. N.B : il est important de faire défiler les projections à l’aide du slider afin de s’assurer que la région d’intérêt est correcte. Left, Top Right, Bottom 3.17 : Définition de la Région d'intérêt 42 3.3.3.2 Détection des marqueurs La détection se fait sur l’ensemble de l’image (Whole Whole image) image ou sur une grille (grid ) composée de carrés de même dimension (Figure ( 3.18). Ce dernier cas permet de répartir les marqueurs de façon homogène. homogène Figure 3.18 : Représentation d’une grille de résolution 5 43 Dans le cas d’une détection sur l’ensemble de l’image (whole image), le nombre de marqueurs par image (seeds per image) doit être précisé (Figure 3.19). N.B : Si une région d’intérêt est présente, la détection Grid ou Whole Image, se fait dans cette région d’intérêt. Figure 3.19: Détection des marqueurs Le patch est utilisé par la détection pour permettre l’appariement des marqueurs par rapport aux images suivantes. Il définit le voisinage de pixels autour du marqueur. Cette zone représente généralement 1.5 fois la taille du marqueur (Figure 3.20). L’outil mesure disponible via le menu contextuel droit permet de mesurer les marqueurs et d’en déduire la dimension du patch (Patches Size) (Figure 3.21 et Figure 3.22). Cet outil est définit plus en détail au chapitre « 5.2.4.2 Mesure mode » 44 Marqueur Patch Figure 3.20 : Représentation d’un Patch Figure 3.21 : activation du mode mesure par clic droit et Measure mode. mode 45 Figure 3.22 : La valeur du paramètre Patches Size est défini par : 3.82 (mesure obtenue) x 1.5 = 5.7 NB : l’outil mesure n’est pas disponible lorsque l’onglet « Seeds » est activé. Pour l’utiliser, il faut donc activer un autre onglet et penser à désactiver ce mode une fois la mesure effectuée. L’option « edge detection » permet d’éviter les objets denses. Le bouton « Find Seeds » permet de rechercher les marqueurs et de faire le pré alignement si celui-ci n’a pas été effectué dans l’étape « pre processing ». 46 3.3.3.3 Résultat de la détection Le résultat de cette recherche est affichée sur les images lorsque l’option « show results » est cochée (Figure 3.23). N.B : L’option « Show Results » ne peut être cochée que si l’option « aligned » est elle-même sélectionnée. Figure 3.23 : Résultat de la recherche des marqueurs dans une ROI «Show results » permet d’afficher les marqueurs trouvés. La valeur grisée n’a aucune action sur l’affichage. 47 N.B : Après la recherche des marqueurs, il est possible que la valeur du paramètre « Patches Size » ait été réajustée pour avoir une taille entière de pixels. Le bouton « Reset to defaults» permet de remettre les paramètres de l’onglet Seeds à leurs valeurs par défaut. 3.3.4 Appariement des marqueurs (TRACKING) Cette troisième étape du recalage permet de créer des chaines. Ces chaines lient les marqueurs entre eux d’une image à l’autre (Figure 3.24). A l’issu de ce traitement, seuls les marqueurs associés à une chaine seront affichés. Figure 3.24: Appariement des marqueurs Les marqueurs ne sont pas recherchés dans toute l’image mais dans un certain rayon autour de sa position précédente (Search Radius). Cette recherche tient compte de l’alignement préliminaire. 48 La valeur de ce paramètre est définie par le plus grand décalage entre deux images qui se suivent. Les projections ayant été pré alignées dans un premier temps. L’unité du paramètre Search Radius est définie par l’utilisateur dans les préférences. Le score de corrélation minimum pour le suivi d’un marqueur (Minimal cross correlation score) doit être compris entre 0 et 1. Plus ce score est bas, plus le recalage sera permissif. Après le tracking, l’activation des options Aligned et Show Results permet de visualiser la prise en compte du score de corrélation (figure 3.25). Si le score de corrélation est élevé, donc moins permissif, les trajectoires seront plus courtes. Le bouton « Proceed » permet de créer les chaines. Toutefois, les étapes « pre processing » et « seeds » sont également effectuées si ce n’est pas déjà le cas. Le résultat de cette étape est visible sur les images si l’option « show results» est cochée. 49 Figure 3.25 : visualisation des trajectoires N.B : Le score à droite de « show trajectoires affichées sur l’image. results » est le nombre de Le bouton « Reset to defaults» permet de remettre les paramètres de l’onglet Tracking à leurs valeurs par défaut. 50 3.3.5 Estimation de la géométrie La dernière étape est le calcul de la géométrie d’acquisition. (Figure 3.26). Figure 3.26: Estimation de la géométrie Le bouton Compute calcule la géométrie. Le résultat du recalage est visible lorsque les options « aligned » et « show results » sont cochées. L’option « aligned » permet d’afficher les images recalées ainsi que l’axe de rotation projeté. Cet axe n’est estimé qu’à cette étape. Si l’axe n’est pas correctement positionné, il est possible de lui appliquer un offset en translation via le paramètre « Axis Offset » (Figure 3.27). Cette nouvelle position de l’axe est également prise en compte lors de la reconstruction. L’option « show results » permet d’afficher sur les images les trajectoires des seeds, c'est-à-dire les chaines qui lient les marqueurs entre eux d’une image à l’autre (Figure 3.28). Le score de Show Results permet d’afficher toutes ou quelques unes des trajectoires 51 Le recalage est considéré correct lorsque les trajectoires sont perpendiculaires à l’axe et parallèles entre elles et lorsqu’elles sont nombreuses. A l’issue du recalage, il est conseillé d’enregistrer le fichier calibration. Figure 3.27 : Un offset de 50 nm (b) est appliqué à l’axe (a) 52 Figure 3.28 : Résultats du recalage 53 3.4 Définition du volume 3D Une fois le recalage des images effectué, il faut définir la résolution et les dimensions du volume à reconstruire (Figure 3.29). Figure 3.29: Définition du volume 3D 3.4.1 Fichier de sortie Le format de sortie est choisi dans la liste Output format. Le champ Output File (Figure 3.29) permet de préciser le nom du fichier contenant les données de reconstruction et le répertoire dans lequel elles seront stockées (on peut également le sélectionner via l’explorateur en cliquant sur le bouton champ texte Output file). immédiatement à droite du 54 3.4.2 Dimensions du volume Les dimensions du volume (dans dans l’unité choisie par l’utilisateur) l’utilisateur peuvent être automatiquement définies par le bouton Reset Grid (Figure 3.30).. Elles peuvent être également définies manuellement pour ne reconstruire qu’une zone choisie. Figure 3.30: Dimensions du volume 55 3.4.3 Région d’intérêt Afin de reconstruire une région d’intérêt dans son volume (Figure 3.31), l’utilisateur peut soit renseigner les dimensions de la région d’intérêt via l’interface de DigiR3D, soit utiliser la visualisation multivues décrite au chapitre 2.4 et définir sa région d’intérêt en utilisant la souris. Dans ce dernier cas, il faut cocher la case Define ROI for reconstruction. Figure 3.31 : Définition de la Région d'intérêt de reconstruction Les segments de couleur délimitant les frontières des plans de coupes changent pour laisser la place à des fenêtres ajustables. Il suffit alors de modifier les dimensions des rectangles en maintenant le bouton gauche de la souris enfoncé sur les frontières et en glissant le pointeur. La fenêtre DigiR3D définissant le volume se met alors à jour. Pour affiner la définition de la région d’intérêt, il est possible de faire un zoom en appuyant sur le bouton ctrl du clavier et en utilisant la molette de la souris. Le retour en zoom initial se fait en appuyant sur le bouton ctrl du clavier et en double cliquant sur le bouton gauche de la souris. 56 NB : Afin d’éviter les artéfacts de reconstruction, la région d’intérêt n’est possible que dans la direction Z. 3.4.4 Résolution La résolution du volume sur chacune des dimensions est indiquée (figure 3.32). Ainsi les voxels reconstruits n’ont pas forcément une taille identique sur les trois axes. Figure 3.32: Résolution du volume L’utilisateur peut aussi fixer directement la résolution de sa reconstruction soit en cliquant sur les boutons correspondant à une valeur de résolution prédéfinie, soit en choisissant Other qui lui permet de mettre une valeur quelconque de résolution. Une fois la résolution choisie, les dimensions en voxels de l’objet sont mises à jour. 3.5 Définition des paramètres de la reconstruction L’algorithme et les paramètres de reconstruction sont choisis dans le quatrième onglet Reconstruction (Figure 3.33). 57 Figure 3.33: Définition des paramètres de la reconstruction 3.5.1 Algorithme de Reconstruction Les algorithmes itératifs implémentés dans les produits Digisens sont basés sur l’algorithme ART (Algebraic Reconstruction Technique), qui est une méthode algébrique utilisée en reconstruction de données tomographiques. 58 L’algorithme implémente la formule de mise à jour : M i (Ri − M i v k ) t v k +1 = v k + λ MiMi t Dans cette formule, vk est le volume estimé en cours, Mi est la matrice de projection du volume sur le plan du capteur de l’image Ri et λ le facteur de convergence. On interprète cette formule de la façon suivante : on rétro-projette sur le volume l’erreur entre les mesures et la projection du volume estimé. • La mise à jour du volume se fait en moyennant les corrections d’un groupe de projections (subset). Si ce groupe contient une seule projection, on parle alors d’algorithme SART, s’il contient toutes les projections on parle de SIRT. L'OSSART est une variante, consistant grossièrement à lancer plusieurs SIRT dont le nombre de projections prises en compte est définit par le ratio entre le nombre total de projections et le subset. • Le nombre d’itérations doit être choisi judicieusement : les basses fréquences étant reconstruites en premier lieu, il est parfois nécessaire d’augmenter le nombre d’itérations afin de reconstruire les détails d’un objet. • Le paramètre de convergence (convergence speed) est à choisir dans l’intervalle • ]0,2[ , il pondère la correction appliquée au volume courant. Il peut être choisi manuellement ou automatiquement en fonction de la taille de subset (mode Auto). La régularisation applique une minimisation (filtrage SNN ou minimisation ICM avec un critère total variation) durant la reconstruction, permettant l’introduction d’un a priori sur le volume et une convergence plus rapide. L’effet de la régularisation est pondéré par le facteur lambda ∈ ]0,1] Par rapport aux algorithmes analytiques, les algorithmes itératifs : • Sont plus robustes au bruit • Présentent moins d’artefacts d’angle de vue limité • Sont moins rapides (nécessité d’itérer) 59 • Nécessitent de stocker le volume entier en mémoire En pratique, un algorithme SIRT privilégiera un bon rapport signal sur bruit (SNR) au détriment de la résolution alors que le SART fera l'inverse. L'OSSART se situera entre ces deux algorithmes. La reconstruction itérative est donc un compromis entre résolution et SNR. L’activation du mode ART se fait dans les préférences, disponible uniquement en reconstruction GPU. La reconstruction multi-GPU est possible si le volume peut être stocké sur l’ensemble des GPU. Le cas particulier de la géométrie parallèle avec un axe de rotation dans le plan du capteur (tomographie électronique par exemple) permet d’utiliser le multi-GPU sans restrictions. Trois méthodes de reconstruction sont disponibles dans la liste Method (figure 3.34): - SART - SIRT - OS-SART Figure 3.34: Algorithme de reconstruction Si la méthode OS-SART est choisie, l’utilisateur définit la valeur du paramètre Projections Subset. Il est possible de changer les valeurs des paramètres Iteration et Convergence Speed. Si la valeur du paramètre Convergence Speed est 0, alors le logiciel affiche Auto. Le nombre d’itérations ainsi que la valeur du paramètre Convergence Speed permettent d’avoir une convergence optimale quelque soit la méthode choisie (Figure 3.35). 60 Figure 3.35 : Algorithme itératif 3.5.2 Pre Processing Des Projections L’utilisateur le désirant pourra appliquer sur ses images différents filtres permettant d’améliorer la qualité des images. Ces filtres s’appliquent sur les projections (Figure 3.36) : - Median Filter élimine les pixels singuliers sur TOUTE l’image. Le paramètre de réglage est la taille du noyau. Gaussian Filter floute l’image. Le paramètre utile est la taille du noyau de filtrage. Edge Preserving Denoising Filter supprime le bruit tout en préservant les détails dans les projections. Le paramètre utile est le nombre d’itération de filtrage. 61 Figure 3.36 : Pre Processing des projections 3.5.2.1 Filtre médian Le filtre médian (Median filter en anglais) s’applique dans l’espace image. Il est très utilisé en réduction du bruit dans les images. Ce filtre est très connu pour ses performances dans la suppression du bruit grenaille. Il est très utile pour éliminer les pixels en défaut (toujours saturés ou toujours éteints) ou dont le comportement est singulier. En effet, ces pixels ont tendances à générer des artefacts en anneaux (ring artefacts). Le filtrage médian consiste à remplacer chaque pixel par la valeur médiane d’une suite de valeurs composée des valeurs des pixels voisins. Le nombre de pixels de son voisinage est défini par défaut à une valeur de 1 pixels de part et d’autre du pixel à corriger (noyau de filtrage 3x3). Le choix de la taille du voisinage est réglage. 3.5.2.2 Filtre gaussien Le filtre gaussien (Gaussian filter en anglais) s’applique dans l’espace image. Il est très utilisé en réduction du bruit dans les images. Le principe de ce filtre est de moyenner le pixel avec son voisinage. Les pondérations appliquées à chaque voisin tiennent compte de la distance au pixel à traiter puisque plus on s’éloigne de celui-ci, plus la pondération et faible. Ce filtre enlève le bruit, mais ajoute un flou à l’image corrigée. 62 Le nombre de pixels constituant le voisinage est défini par défaut à une valeur de 1 pixels de part et d’autre du pixel à corriger (noyau de filtrage 3x3). Le choix de la taille du voisinage est réglage. 3.5.2.3 Lissage préservant les discontinuités Afin de palier aux défauts du filtre gaussien, un filtre lissant préservant les discontinuités dans les images a été implémenté. Ce filtre est recommandé si les projections doivent être filtrées tout en préservant le maximum de détails. Ce filtre est un filtre itératif. Le seul paramètre réglable en mode expert est le nombre d’itération. Plus on aura d’itérations, plus on lissera les images. 3.5.3 Régularisation L'utilisateur expert peut introduire de la régularisation dans le processus de reconstruction afin d'augmenter le rapport signal sur bruit et de faire ressortir les interfaces des objets reconstruits (Figure 3.37). Figure 3.37 : Régularisation Le paramètre Strength utilisé est un facteur de pondération correspondant à la proportion de régularisation par rapport à la reconstruction. Idéalement si la valeur est 100%, on accorde autant de poids à la régularisation qu'aux données, 50% 2 fois plus d'importance aux données qu'à la régularisation... 63 3.5.4 Preview et Reconstruction Le bouton Preview lance l’exécution de la preview. Elle permet de reconstruire un volume 256 x 256 x 256 voxels avec toutes les projections. Une fois tous les paramètres renseignés, l’utilisateur clique sur Reconstruction pour lancer la reconstruction finale. 3.5.5 Sauvegarde et lecture Les boutons permettent respectivement de lire et écrire l’ensemble des paramètres de reconstruction dans un fichier de calibrage au format propriétaire dont l’extension est .cal. Une fois le fichier chargé, il est nécessaire de préciser au logiciel si les images représentent des objets blancs sur fond noir (cliquer sur White objects on Black background dans l’onglet Input) (cf. 3.2 Chargement des données ). 64 65 4 Import de coupes tomographique: Plugin DigiSIM Comme tous les plugins de la suite logicielle DigiECT, celui-ci est protégé par une clé logicielle. 4.1 Présentation générale de DigiSIM Ce plugin permet d’importer des coupes tomographiques existantes, de paramétrer les tailles et résolutions correspondantes, et de « compiler » les coupes pour une visualisation 3D volumique. Lorsque DigiSIM est chargé par DigiECT, l’icône plugins. apparait dans la barre d’icône des 4.2 Fonctionnalités de DigiSIM Pour lancer le plugin DigiSIM, il suffit de lancer la commande du menu [File Import Slices…] ou de cliquer sur l’icône apparaître le dialogue d’importation. pour faire La zone Input slices permet de spécifier les fichiers de coupes : le bouton affiche un dialogue pour sélectionner un des fichiers de coupes. La liste des fichiers de coupe s’affiche alors dans la zone de saisie à gauche de ce bouton et une fenêtre affiche la première image de cette liste. Il est dès lors possible de faire défiler les coupes via le curseur (Figure 4.1). Il est possible de sélectionner une zone dans les images en spécifiant umin, umax, vmin et vmax, et un ensemble particulier de coupes en spécifiant wmin and wmax. Input resolution permet enfin de renseigner la résolution des images en entrée. 66 Curseur de défilement de coupes Figure 4.1: Dialogue d’importation de coupes 67 La zone Contrast permet de modifier le niveau de noir et le niveau de blanc (labels black et white) ou inverser les images via le bouton the Invert. La zone Output volume permet de spécifier le nom du fichier de sortie. Pour écraser un volume existant, il suffit de sélectionner son fichier header header.vol. Le bouton affiche un dialogue pour choisir l’emplacement du volume et son nom. Le point min, le point max, et le centre du volume peuvent être modifiés éventuellement avec les dimensions réelles de la pile d’image. On peut également spécifier la résolution du volume (par défaut 256x256x256) et la taille d’un voxel en mm. Les boutons Quick scale permettent de paramétrer un volume plus rapidement soit en pleine résolution, soit en plus basse qualité. L’import se fait en cliquant sur “Proceed…”. Dès que le calcul est terminé, un fichier volumique *.vol est généré dans le répertoire présélectionné. Il est possible, à partir de ce nouveau fichier volumique, d’utiliser l’ensemble des autres plugins de traitement 3D, et d’exporter les coupes 2D dans d’autres directions. Note: le nom des coupes à importer doit compter le numéro de la coupe. Ce numéro doit être écrit sur le même nombre de digits pour toutes les images. Par exemple, si la dernière image est nommée slice_532.tif, les premières images doivent s’appeler slice_0000.tif, slice_0001.tif… 68 69 5 Analyse de plans de coupe : Plugin DigiCUT Comme tous les plugins de la suite logicielle DigiECT, celui-ci est protégé par une clé logicielle. 5.1 Présentation générale de DigiCUT La commande Cutting plane Analyser (icône dans la barre de boutons des plugins ou [Tools Cutting plane analyser] dans le menu) permet de visualiser et analyser un plan de coupe 2D (Error! Reference source not found.). Figure 5.1 : Dialogue d’analyse de plan de coupe 70 5.2 Paramètres relatifs à l’image Les paramètres relatifs à l’image de coupe sont situés en dessous de celle –ci. 5.2.1 Résolution La zone Resolution rassemble les éléments « image size » et « pixel size » qui permettent de fixer la taille en pixel de l’image et la résolution des pixels en millimètre. 5.2.2 Contraste La zone Contrast est composée des boutons white / black / gamma qui permettent de modifier respectivement les niveaux de blanc et de noir, et le gamma. Le bouton volume contrast défini le contraste de l’image avec les valeurs Min/Max de l’histogramme du volume. 5.2.3 Déplacement dans l’image La zone Zoom est composée de 9 boutons : Bouton ‘Fit’ : Fixe la taille de l’image à la taille de la fenêtre Bouton ‘1:1’ : Fixe la taille à l’échelle 1:1 (1 pixel image correspond à 1 pixel écran) Bouton ‘.’ : Centrer l’image dans la fenêtre 4 flèches : Déplacer l’image dans la fenêtre Boutons ‘+/-‘ : Zoom +/71 Il est également possible de zoomer sur un rectangle précis en maintenant la touche shift appuyée puis en cliquant sur le bouton gauche de la souris, en déplaçant, puis relâchant le bouton. 5.2.4 Autres fonctionnalités Le bouton help ouvre la fenêtre d’aide pour les différentes commandes ainsi que les raccourcis. Le bouton Save image permet de sauver l’image courante. Le bouton close ferme la fenêtre. Un clic droit sur l’image de la coupe permet de faire apparaître un menu contextuel. Le menu propose les commandes suivantes : Help Save image Level curve mode Mesure mode : Affiche la fenêtre d’aide : Enregistre l’image : Active le mode d’examen des profils de densité : Active le mode de mesure 5.2.4.1 Level curve mode Lors de l’analyse d’un profil de densité, la ligne analysée est marquée par une ligne verte (Error! Reference source not found.. Le clic gauche de la souris permet de la déplacer. Il est possible de basculer l’analyse avec une ligne horizontale ou une ligne verticale en cochant ou non l’intitulé vertical dans le menu contextuel. Les données peuvent être exportées au format Excel avec la commande Export curve data dans le menu contextuel. 72 Figure 5.2 : Exemple d’analyse de profil de densité 73 5.2.4.2 Mesure mode L’activation se fait en cliquant droit et en sélectionnant Measure Mode. L’activation provoque l’apparition d’une barre de boutons offrant de multiples types de mesures (figure 5.3) .Ce menu se retrouve aussi en faisant un clic droit (figure 5.3). Figure 5.3 : Les différents modes de mesures 74 Note importante : cet outil propose à l’utilisateur des outils de mesure informative, c'est-à-dire qu’il ne prétend pas à donner une mesure aussi précise que ne le ferait un logiciel de métrologie. La précision attendue ici sera liée à la position du clic de souris et à la résolution de l’image. On n’aura donc une précision au pixel, d’où la notion de mesure informative. Note : A tous moments il est possible d’affiner la position des points mesurés. 5.2.4.2.1 Rappel sur le référentiel de mesure L’utilisateur trouvera toutes les informations sur la mise en référence dans le chapitre 2.5.2. 5.2.4.2.2 Mesure d’un point Pour placer un point de mesure, il faut : • • Sélectionner le mode point Cliquer avec le bouton gauche de la souris sur le pixel souhaité Les informations affichées sont : • La position X,Y,Z du point dans le référentiel de mesure • Le niveau de gris associé au pixel 75 Figure 5.4 : Mesure de points 5.2.4.2.3 Mesure d’un segment Pour mesurer un segment, deux méthodes sont disponibles : • Méthode 1 : o Sélectionner le mode segment Le mode assistant est invalide Cliquer avec le bouton gauche de la souris sur le pixel « origine » o Cliquer avec le bouton gauche de la souris sur le pixel « extrémité » Les extrémités du segment sont représentées par un petit carré. o o 76 • Méthode 2 : o Sélectionner le mode segment o o Sélectionner le mode assistant Cliquer grossièrement avec le bouton gauche de la souris au voisinage du pixel « origine » Cliquer grossièrement avec le bouton gauche de la souris au voisinage du pixel « extrémité » o Le mode assistant propose un outil de détection de contours le long du profil définit par le segment dessiné par l’utilisateur. Les extrémités du segment s’ajustent alors au plus près du contour de l’objet affinant ainsi la mesure. Les extrémités du segment sont représentées par une petite barre verticale Les informations affichées sont : • La longueur du segment 77 Figure 5.5 : Mesure de longueur de segment 5.2.4.2.4 Mesure d’un angle Pour placer une mesure d’angle, il faut : • • • Sélectionner le mode angle Cliquer avec le bouton gauche de la souris sur le premier point définissant la mesure d’angle Cliquer avec le bouton gauche de la souris sur le second point définissant la mesure d’angle 78 • Cliquer avec le bouton gauche de la souris sur le troisième point définissant la mesure d’angle Les informations affichées sont : • La valeur de l’angle formé par la droite définie par le premier/second point et la droite définie par le second/troisième point Figure 5.6 : Mesure d’angle 79 5.2.4.2.5 Mesure d’un cercle Pour mesurer un cercle, deux méthodes sont disponibles : • Méthode 1 : o Sélectionner le mode cercle o o Le mode assistant est invalide Cliquer avec le bouton gauche de la souris sur le pixel correspondant au centre du cercle Cliquer avec le bouton gauche de la souris sur le pixel correspondant à l’extrémité du rayon du cercle o Les informations affichées sont : • Le diamètre • La position du centre dans le référentiel de mesure • Le périmètre • La surface du disque délimité par le cercle • Méthode 2 : o Sélectionner le mode segment o Le mode assistant est sélectionné (il est possible de le désactiver) Cliquer avec le bouton gauche sur 10 points sur la pourtour circulaire de l’entité à mesurer Au dixième point le cercle est affiné et passe au plus près du contour de l’objet o o Les informations affichées sont : • Le diamètre • La position du centre dans le référentiel de mesure • Le périmètre • La surface du disque délimité par le cercle 80 Figure 5.7 : Mesure de cercles 5.2.4.2.6 Mesure de profil le long d’un segment Pour mesurer un profil le long d’un segment, il faut : • Sélectionner le mode mesure de segment • • Sélectionner l’édition de profile Mesurer le segment 81 La figure suivante illustre l’affichage du profile Figure 5.8 : Mesure de profile 5.2.4.2.7 Autres fonctionnalités L’édition des propriétés de la mesure se fait en cliquant avec le bouton droit sur le point de mesure concerné et sélectionner Propriétés. Le dialogue représenté sur la Figure 5.9 apparaît. On peut modifier la couleur de la mesure (Color), la taille du texte (Text Size), le nombre de décimales (Decimals), la largeur des traits de mesure (Width). 82 Le clic droit sur la mesure permet aussi de supprimer la mesure sélectionnée. Figure 5.9 : Exemple de mesure 83 84 6 Visualisation et extraction surfacique : Plugin DigiSRF Comme tous les plugins de la suite logicielle DigiECT, celui-ci est protégé par une clé logicielle. 6.1 Présentation générale de DigiSRF SRF est le plugin d’extraction de surfaces de la suite logicielle DigiECT. SRF calcule une surface correspondant à une densité donnée à partir d’un volume issu d’une reconstruction par tomographie. Ce plugin se présente sous la forme d’un dialogue accessible via le menu [Tools -> Surfaces] ou par le biais du bouton . 6.2 Fonctionnalités de DigiSRF 6.2.1 Gestionnaire de surfaces Le dialogue principal de SRF (Error! Reference source not found.) permet de créer, d’optimiser et de supprimer des surfaces. Le bouton New ouvre un nouvel onglet regroupant toutes les propriétés de la surface (Figure 6.1). Par défaut, les nouvelles surfaces sont vides (se reporter à « 6.2.2 Opérations par surface », pour la création et les réglages d’une surface). Le bouton Delete détruit la surface sélectionnée et ferme l’onglet. 85 Figure 6.1 : Dialogue principal du plugin SRF 6.2.2 Opérations par surface Chaque surface créée correspond un onglet (Figure 6.1). Par défaut, les surfaces sont appelées « surface i ». Les paramètres essentiels pour définir une surface sont le choix d’une valeur de densité (iso-value), les post traitements appliqués sur la surface (Post Processing) et les propriétés d’affichage (Display properties). Certains calculs de surface vont générer des objets contenants plusieurs dizaines voire centaines de millions de triangles. Le nombre de triangles est dépendant de l’iso valeur choisie (fonction de la surface choisie), de la complexité de la pièce et de la résolution des triangles. Afin de pouvoir 86 générer des surfaces de dimensions raisonnables, le logiciel proposera un pas de subsampling, c'est-à-dire un paramètre permettant de grossir la dimension du triangle élémentaire pour réduire les dimensions du maillage. Ce paramètre est bien sûr informatif (mais fortement conseillé car la mémoire nécessaire au calcul du maillage pourrait dépasser la taille de la RAM disponible entrainant un crash de l’application) et l’utilisateur peut modifier ce paramètre. Le bouton Compute calcule la surface correspondante. 6.2.2.1 Calcul d’une surface Sur l’exemple de la figure 6.2, les densités utiles sont comprises entre 0. 0.000439 et 0.002589. Figure 6.2 : Visualisation volumique 87 Pour extraire une surface de ce volume, il faut : 1. créer une nouvelle surface (bouton New) 2. dans cet onglet (appelé par défaut surface 1), indiquer la valeur de densité (iso-value à 0.000477 dans notre exemple) 3. cliquer sur le bouton Compute pour générer la surface. Le bouton Estimate aide à la définition de l’iso valeur. Le résultat de cette estimation se trouve dans la console ( Window Console ). Ainsi on obtient dans la vue 3D une surface. Par défaut, la surface et le volume sont superposés. L’option Hide permet de cacher le volume. La ligne d’information à droite du nom de la surface nous indique le nombre de triangles obtenus : 201 876 triangles dans notre cas. Le nom de la surface est éditable à tout moment. 88 Figure 6.3 : Extraction d'une surface du crâne avec pour densité 0.200930 6.2.2.2 Post traitements Des post traitements (Post Processing) tels que le lissage et/ou la décimation peuvent être appliqués sur la surface extraite (Figure 6.4 : Post Processing) 89 Figure 6.4 : Menu de Post Processing 90 6.2.2.2.1 Smoothing Deux paramètres permettent à l’utilisateur de régler le lissage (smoothing smoothing) : Region Size et Sharp edge Impact. Le lissage permet de réarranger les triangles du maillage définissant la surface. Region Size est la taille de la fenêtre dans laquelle les triangles vont être réarrangés par rapport à leurs voisins. Sharp edge Impact permet de conserver, suivant sa valeur, les arêtes vives de la surface. Chaque appui sur le bouton Apply applique les paramètres de lissage. lissage Il est donc possible d’appliquer ces réglages de façon itéative. 6.2.2.2.2 Decimation La décimation permet de réduire le nombre de triangles soit en indiquant le nombre de triangles désirés soit en indiquant un pourcentage de triangles par rapport à ceux déjà obtenus. Le bouton Apply applique la décimation à la surface extraite. extrai Les deux post traitements peuvent être appliqués simultanément. Le bouton reset processing permet de revenir à la surface initiale. 91 6.2.2.2.3 Optimisation Les optimisations des maillages sont au nombre de trois : • Foldings Angle Threshold : permet de supprimer suppr les facettes voisines dont l’angle entre leur normal est supérieur ou égal à l’angle définit en paramètre. Cette option permet par exemple de supprimer des replis dans les maillages • Small Volume Threshold : cette option permet de supprimer des maillages es délimitant des volumes inférieurs ou égaux à la valeur entrée en paramètre • Remeshing : Cette option permet de regénérer un maillage dont les triangles tendent vers des triangles équilatéraux. Cette option a une durée fonction du nombre de triangles générés. géné Une estimation du temps de traitement est fournie. 6.2.2.3 Propriétés d’affichage (Display Display Properties) Properties Les propriétés d’affichage permettent de paramétrer la couleur externe (Color) ( et interne (Internal Internal Color) Color des triangles, la transparence de la surface (Opacity), ( l’affichage en mode fil de fer (wireframe), ( la prise en compte de plan de coupe (Enable Clip). ). (Figure 7.5) 7.5 Note : la prise en compte du plan de coupe est propre à chaque surface. 92 Figure 6.5 : Affichage en mode fil de fer et application d’une couleur externe 93 6.2.2.4 Paramètres avancés (Advanced Parameters) Les paramètres avancés permettent de choisir un algorithme d’extraction de surfaces. DigiSRF en propose deux : le Dual Contouring ou le Hierarchical. L’approche Hierarchical est une optimisation du Dual Contouring. Il peut, suivant les cas, diminuer le nombre de triangles. 6.2.3 Visualisation simultanée de plusieurs surfaces Il est possible de calculer plusieurs surfaces sur un même volume. Sur l’exemple présenté dans ce chapitre, calculons une deuxième surface (avec une densité de 0.001368 dans notre exemple, figure 6.6). Figure 6.6 : Extraction de la deuxième surface Il est possible de visualiser les surfaces simultanément en jouant sur les transparences et/ou la prise en compte du plan de coupe (Figure 6.7). 94 6.2.3.1 Enregistrer et recharger Chaque onglet lié à une surface dispose de deux boutons Load… et Save… qui permettent d’enregistrer et recharger des surfaces calculées. Les formats possibles à la fois pour le chargement et l’écriture sont : 1. format interne d’extension .surf 2. OBJ Wavefront d’extension .obj Les formats d’export (uniquement disponible en écriture) sont 1. nuage de points d’extension .points 2. STL (format ascii) d’extension .stl 3. OBJ Wavefront d’extension .obj 4. format interne d’extension .surf Note : le format « nuage de points » est un fichier contenant une ligne par point de la surface. Chaque ligne contient les trois coordonnées x,y,z des points, au format flottant standard, séparés par un espace. 95 Figure 6.7 : Visualisation des deux surfaces 96 97 7 Accélération GPU de la reconstruction tomographique : Plugin SnapCT SnapCT est un plugin permettant de lancer la reconstruction tomographique sur le ou les processeurs des cartes graphique (GPU). Comme tous les plugins de la suite logicielle DigiECT, celui-ci est protégé par une clé logicielle. 7.1 Activation SnapCT et choix des cartes SnapCT est toujours activé dans DigiECT. Cependant dans le cas de reconstruction multi-GPU, il est conseillé de ne pas utiliser la carte dédiée à l’affichage pour le calcul. Pour se faire, il faut ouvrir la fenêtre de préférences qui se trouve dans le menu [File Preferences] (Cf chapitre 2 sur DigiObs) et sélectionner l’onglet GPU. La coche Manual Selection of GPU(s) permet d’utiliser la ou les cartes sélectionnées lors de la reconstruction. Figure 7.1 : Onglet GPU de la fenêtre préférences 98 7.2 Configuration matérielle et évolution SnapCT se base sur l’environnement de développement CUDA développé par la compagnie NVIDIA. Cette fonctionnalité n’est offerte que pour les modèles de carte graphique de la série G80 et suivantes. Les développements logiciels de la compagnie Digisens assure un suivi des performances couplé à celui des cartes graphiques. Ainsi, l’utilisateur ayant choisit cette option s’assurera d’une augmentation périodique de ses performances de reconstruction, sous condition d’avoir souscrit à la maintenance du logiciel. Pour des raisons d’optimisation des durées de reconstruction, SnapCT peux avoir besoin de stocker des données temporaires. Par défaut, ces données sont sur stockées dans le répertoire temporaire de la session de l’utilisateur (ie "C:\Documents and Settings \Administrator \Local Settings\Temp" pour la session Administrator. Ce répertoire est adressé par le système via une variable d’environnement appelée TMP. Toujours dans un souci d’optimisation, le disque sur lequel sont stockées ces données temporaires doit être très performant en lecture et en écriture. Il peut s’avérer être très important de dissocier physiquement les disques dur. Pour une configuration optimale, contacter le service technique de Digisens. Compte tenu de l’espace disque nécessaire pour stocker les données temporaires, il est recommandé si nécessaire de faire pointer cette variable sur une zone de la partition disque faiblement occupée. Pour ce faire, il faut définir ou redéfinir cette variable d’environnement pour quelle pointe sur le bon répertoire de la bonne partition. Pour mener à bien cette procédure, vous devrez vous référer à la documentation de votre système d’exploitation ou contracter Digisens. 99 100 8 Automatisation des tâches de reconstruction : Batch Mode Comme tous les plugins de la suite logicielle DigiECT, celui-ci est protégé par une clé logicielle. 8.1 Présentation générale DigiECT offre à l’utilisateur la possibilité de réaliser un ensemble de tâche de façon automatique et non supervisée. Le batch mode consiste à écrire un petit script de commande demandant l’exécution de tâches élémentaires tel que la reconstruction, l’affichage, ou bien d’autres fonctions. 8.2 Fonctionnement du batch mode Pour accéder au batch mode, il suffit de lancer la commande du menu [Window Script] représenté par l’icône . La fenêtre de la figure 8.1 apparait. La liste des fonctions de base s’obtient en tapant help dans la fenêtre de script puis en cliquant su le bouton Go. Figure 8.1 : Fenêtre script 101 La figure 8.2 présente un exemple de script permettant de : • Charger un fichier de calibration • Demander une reconstruction avec interpolation des voxels • Fixer la résolution finale à 256x256x256 • Lancer la reconstruction via DigiR3D • Afficher le volume dans DigiObs L’exécution se fait en cliquant sur le bouton Go. Figure 8.2 : Exemple de programme script 102