Modélisation avec VTK



Documents pareils
Initiation à la librairie graphique VTK

Introduction à la Visualisation Scientifique

Installation et compilation de gnurbs sous Windows

Opérations de base sur ImageJ

LUT QU EST-CE QUE C EST? Version 1.0 Mars 2010

Fonctions de deux variables. Mai 2011

La visio-conférence holographique : Pourquoi? Comment?

Rapport de stage Lien entre les librairies C++ ITK et ILR. KOMBAS Sofiane

UP 588/13 5WG AB13

TP Blender n 2 : Importation d un modèle SketchUp et animation

Analyse de la vidéo. Chapitre La modélisation pour le suivi d objet. 10 mars Chapitre La modélisation d objet 1 / 57

Master IMA - UMPC Paris 6 RDMM - Année Fiche de TP

Traitement bas-niveau

Géométrie discrète Chapitre V

Déploiement d une architecture Hadoop pour analyse de flux. françois-xavier.andreu@renater.fr

Notice d utilisation EDF R&D 12/12/2012

µrv : Realité Virtuelle

Institut Supérieure Aux Etudes Technologiques De Nabeul. Département Informatique

Hiver 2013 IMN 259. Introduction à l analyse d images. Par Pierre-Marc Jodoin

CR 30-Xm. Unité de numérisation CR 30-Xm

ISTIA INNOVATION. 62, Ave ND du Lac F Angers

ROK SOLUTION. Solution Collaborative Unifiée de modélisation, gestion, contrôle, et partage de l organisation et du savoir

Visualisation Scientifique 3D

Les Entrepôts de Données

Autodesk AutoCAD 2015 : la conception détail par détail

RIE LE RENDU THEO. 2 e trim ÉTAPE DE FINITION BOÎTE DE DIALOGUE. remarques

Working with Kinect. Intelligence Ambiante. Tomás DÍAZ TRONCOSO Arturo GARCÍA TOVAR Daoud MAROUAN LMTIUI

HMI target Visu / PLC HMI. Pour réaliser une interface homme machine avec PLC control

Optimiser les s marketing Les points essentiels

Fonctions de plusieurs variables

Pilot4IT Tableaux de Bord Agréger et consolider l ensemble de vos indicateurs dans un même portail.

Méthodologie de conceptualisation BI

L analyse d images regroupe plusieurs disciplines que l on classe en deux catégories :

Calibrage du moniteur avec Monitor Profiler de Little CMS

Extraction d informations stratégiques par Analyse en Composantes Principales

Synthèse d'images I. Venceslas BIRI IGM Université de Marne La

GE Healthcare. Senographe Crystal Un choix aussi clair qu un cristal

Vision industrielle et télédétection - Détection d ellipses. Guillaume Martinez 17 décembre 2007

Outils pour les réseaux de neurones et contenu du CD-Rom

G.P. DNS02 Septembre Réfraction...1 I.Préliminaires...1 II.Première partie...1 III.Deuxième partie...3. Réfraction

MAIDESC - KO 21 Novembre 2013 Etienne Wey Alexandre Boilley

Contrôle Non Destructif : Implantation d'algorithmes sur GPU et multi-coeurs. Gilles Rougeron CEA/LIST Département Imagerie Simulation et Contrôle

Cours d Analyse. Fonctions de plusieurs variables

Introduction à NetCDF

Hercules Monte-escalier pour escalier avec des courbes

Monitoring continu et gestion optimale des performances énergétiques des bâtiments

Stage Ingénieur en développement logiciel/modélisation 3D

TP Bases de données réparties

TP : Gestion d une image au format PGM

Cartographie mobile implantée au service de police de la ville de Québec

Sage 100 CRM Guide de l Import Plus avec Talend Version 8. Mise à jour : 2015 version 8

Solutions informatiques

05/09/2015. M Ponctualité : CM TD TP & Projet Æ En cas d absence : récupérer!!! 3 05/09/2015

et de suivi de la corpulence des enfants

ES Enterprise Solutions

Reconstruction de bâtiments en 3D à partir de nuages de points LIDAR

Organiser vos données - Big Data. Patrick Millart Senior Sales Consultant

SECURINETS CLUB DE LA SECURITE INFORMATIQUE INSAT. SECURIDAY 2012 Pro Edition [Investigation :Digital Forensics]

MODELISATION UN ATELIER DE MODELISATION «RATIONAL ROSE»

Aficio MP2001SP MP2501SP

DG-ADAJ: Une plateforme Desktop Grid

Scratch : programmation objet facile pour tous

Le traitement du 5ème concours A.I.P. pour l objet SH2-155 de Franck JOBARD

BIRT (Business Intelligence and Reporting Tools)

INTRODUCTION À LA SPECTROSCOPIE

Projet Matlab/Octave : segmentation d'un ballon de couleur dans une image couleur et insertion d'un logo

Architecture générale des interfaces graphiques. IHM: Fondements des Interfaces Graphiques. Applications. Outils de construction d interfaces

Orthopantomograph OP100 D Orthoceph OC100 D. Imagerie dentaire

Etablissement de cartes de vent sur le pourtour méditerranéen par simulation numérique

Rencontre des personnes-ressources en déficience motrice et organique RÉCIT MST - RÉCIT Adaptation scolaire Pierre Couillard

Construction de 2 classes en remplacement de 2 bâtiments modulaires à l'école primaire

CABLECAM de HYMATOM. Figure 1 : Schéma du système câblecam et détail du moufle vu de dessus.

Intelligence Inventive & Mapping des réseaux de Recherche. Expernova & Active Innovation Management GFII 5 Mars 2015

Les applications webmapping en opensource. 1 Christophe Adriaensen

Comparatif entre Matrox RT.X2 et Adobe Premiere Pro CS3 (logiciel seul)

Visual Paradigm Contraintes inter-associations

Sujet 1 : Diagnostique du Syndrome de l apnée du sommeil par des techniques d analyse discriminante.

1 Définition. 2 Systèmes matériels et solides. 3 Les actions mécaniques. Le système matériel : Il peut être un ensemble.un sous-ensemble..

Analyse de performance, monitoring

PX8048 Convertisseur audio/vidéo VHS vers USB

DE L ALGORITHME AU PROGRAMME INTRO AU LANGAGE C 51

Les technologies du Big Data

Utiliser le logiciel Photofiltre Sommaire

Le nouveau visage de la Dataviz dans MicroStrategy 10

Sillage Météo. Notion de sillage

pythonocc: une plateforme de développement agile d applications CAO.

LIDAR LAUSANNE Nouvelles données altimétriques sur l agglomération lausannoise par technologie laser aéroporté et ses produits dérivés

Projet de Traitement du Signal Segmentation d images SAR

CAISSE ENREGISTREUSE ELECTRONIQUE SE-G1

Rendu et Eclairage. La Cambre AlICe ( Note technique 3DS MAX décembre 2007 Denis Derycke

UTILISATION DE GT-Suite EN THERMIQUE MOTEUR Exemple d utilisation

TUTORIEL CartoDB 11/03/15

Smart Energy & Power Quality Solutions. La solution Cloud pour votre gestion d Energie

Rendu temps réel de mer et de nuages

Cycle de vie du logiciel. Unified Modeling Language UML. UML: définition. Développement Logiciel. Salima Hassas. Unified Modeling Language

FAA : Fonctions Automatiques de l Application. Les fonctions automatiques incluses dans vos applications développées avec

Calcul Scientifique avec 3

Nouveautés Ignition v7.7

Université des Sciences et Technologies de Lille 1 UFR Informatique. Projet scientifique de Master 2 Image, Vision, Interaction.

W4 - Workflow La base des applications agiles

Transcription:

Modélisation avec VTK Odyssée Merveille et Hugues Talbot 8 octobre 2014

Sommaire 1 Introduction 2 Isosurface 3 Rendu Volumique Modélisation avec VTK 2 / 25

1 Introduction 2 Isosurface 3 Rendu Volumique Modélisation avec VTK 3 / 25

VTK VTK (Visualisation Toolkit) est une librairie open-source créée par Kitware permettant la visualisation de données 2D/3D. Elle est écrite en C++ mais s interface aisément avec Tck/Tk, Java et Python. Modélisation avec VTK 4 / 25

Première Scène avec Vtk 1 i m p o r t v t k 3 c y l i n d e r = v t k. v t k C y l i n d e r S o u r c e ( ) #Source 5 mapper = v t k. vtkpolydatamapper ( ) # Mapper mapper. S e t I n p u t ( c y l i n d e r. GetOutput ( ) ) 7 a c t o r = v t k. v t k A c t o r ( ) # Actor a c t o r. SetMapper ( mapper ) 9 r e n = v t k. v t k R e n d e r e r ( ) # R e n d e r e r 11 r e n. AddActor ( a c t o r ) renwin = v t k. vtkrenderwindow ( ) # RendererWindow 13 renwin. AddRenderer ( r e n ) 15 i r e n = v t k. v t k R e n d e r W i n d o w I n t e r a c t o r ( ) # I n t e r a c t o r i r e n. SetRenderWindow ( renwin ) 17 i r e n. I n i t i a l i z e ( ) 19 renwin. Render ( ) i r e n. S t a r t ( ) 21 d e l renwin, i r e n Modélisation avec VTK 5 / 25

Première Scène avec Vtk Exemple d options : # C y l i n d e r 2 c y l i n d e r. S e t C e n t e r ( i n t, i n t, i n t ) c y l i n d e r. S e t R a d i u s ( f l o a t ) 4 c y l i n d e r. S e t H e i g h t ( f l o a t ) c y l i n d e r. S e t R e s o l u t i o n ( i n t ) 6 # Actor 8 a c t o r. G e t P r o p e r t y ( ). S e t C o l o r ( i n t, i n t, i n t ) # RGB v a l u e s Modélisation avec VTK 6 / 25

Première Scène avec Vtk Au lieu d utiliser un interactor, on peut créer une animation automatique : 1 f o r i i n r a n g e ( 9 0 ) : time. s l e e p ( 0. 0 3 ) 3 renwin. Render ( ) r e n. GetActiveCamera ( ). E l e v a t i o n ( 1 ) Modélisation avec VTK 7 / 25

1 Introduction 2 Isosurface 3 Rendu Volumique Modélisation avec VTK 8 / 25

Principe Isosurface Analogue en 3D d une courbe de niveau en 2D. C est l ensemble des points de l image dont le niveau de gris est constant. Modélisation avec VTK 9 / 25

Marching Cubes Intérêt Permet de construire une surface triangulée à partir d un champ scalaire discret. Isosurface à 100 : Modélisation avec VTK 10 / 25

Exemple d isosurface Modélisation avec VTK 11 / 25

Code VTK 1 i m p o r t v t k 3 # L e c t u r e des images r e a d e r=v t k. v t k S t r u c t u r e d P o i n t s R e a d e r ( ) 5 r e a d e r. SetFileName ( " chemin_vers_donnees /mummy. 1 2 8. v t k " ) 7 # C r e a t i o n de l i s o s u r f a c e contour_bone=v t k. v t k C o n t o u r F i l t e r ( ) 9 contour_bone. S e t I n p u t ( r e a d e r. GetOutput ( ) ) contour_ bone. SetNumberOfContours ( 1 ) 11 contour_bone. S e t V a l u e ( 0, 1 1 0 ) 13 # Look Up Table lut_bone=v t k. vtklookuptable ( ) 15 lut_bone. SetNumberOfColors ( 2 5 6 ) lut_bone. SetTableRange ( 0, 2 5 5 ) 17 lut_bone. SetHueRange ( 0. 0, 0. 5 ) # T e i n t e de l a c o u l e u r lut_bone. S e t S a t u r a t i o n R a n g e ( 0. 5, 1 ) # I n t e n s i t e de l a c o u l e u r 19 lut_bone. SetValueRange ( 0. 5, 1. 0 ) # B r i l l a n c e de l a c o u l e u r lut_bone. SetAlphaRange ( 1, 1 ) # T r a n s p a r e n c e Modélisation avec VTK 12 / 25

Code VTK # C r e a t i o n du Mapper e t A c t e u r 2 mapper_bone=v t k. vtkpolydatamapper ( ) mapper_bone. S e t I n p u t ( contour_bone. GetOutput ( ) ) 4 mapper_bone. SetLookupTable ( lut_ bone ) 6 actor_bone=v t k. v t k A c t o r ( ) actor_ bone. SetMapper ( mapper_bone ) 8 # C r e a t i o n du R e n d e r e r e t RenderWindow 10 r e n=v t k. v t k R e n d e r e r ( ) r e n. AddActor ( actor_bone ) 12 r e n. SetBackground ( 1, 1, 1 ) renwin=v t k. vtkrenderwindow ( ) 14 renwin. AddRenderer ( r e n ) renwin. S e t S i z e ( 5 1 2, 5 1 2 ) 16 # R e n d e r e r i n t e r a c t i f 18 i r e n=v t k. v t k R e n d e r W i n d o w I n t e r a c t o r ( ) i r e n. SetRenderWindow ( renwin ) 20 i r e n. S t a r t ( ) Modélisation avec VTK 13 / 25

1 Introduction 2 Isosurface 3 Rendu Volumique Modélisation avec VTK 14 / 25

Principe Contrairement au rendu surfacique qui visualise une partie du volume, le rendu volumique permet d afficher le contenu d une image dense en 3 dimensions. Modélisation avec VTK 15 / 25

Rendu volumique par Lancer de Rayons simplifié Problèmes : Définir un niveau de gris associé à chaque rayon r : V(r) Représenter visuellement le pixel p associé à chaque rayon r (Couleur, Opacité) Modélisation avec VTK 16 / 25

Rendu volumique par Lancer de Rayons A chaque rayon r est associé le niveau de gris V(r). Exemples de fonctions V(r) : Maximum Intensity Projection (MIP) : V (r) = max I(s) p Composite : V (r) = s r s r I(s)ds Modélisation avec VTK 17 / 25

Fonctions de transfert Association d une couleur C(p) et d une opacité O(p) à chaque niveau de gris V(r) afin de représenter p sur l image 2D. Fonctions de transfert Fonction de transfert d opacité : O(p) = Ft op (V (r)) Fonction de transfert de couleur : C(p) = Ft c (V (r)) Modélisation avec VTK 18 / 25

Exemple de fonctions de transfert Fonction de transfert d opacité : Fonction de transfert de couleur : Modélisation avec VTK 19 / 25

Exemple de rendus Rendu par MIP : Rendu Composite : Modélisation avec VTK 20 / 25

Code VTK i m p o r t v t k 2 # L e c t u r e de l image 4 r e a d e r=v t k. v t k S t r u c t u r e d P o i n t s R e a d e r ( ) r e a d e r. SetFileName ( " chemin_vers_donnees /mummy. 1 2 8. v t k " ) 6 # Type de rendu 8 MIPFunction=v t k. vtkvolumeraycastmipfunction ( ) 10 # Mapper volumemapper=v t k. vtkvolumeraycastmapper ( ) 12 volumemapper. S e t I n p u t ( r e a d e r. GetOutput ( ) ) volumemapper. SetVolumeRayCastFunction ( MIPFunction ) 14 # Ac teu r 16 volume=v t k. vtkvolume ( ) volume. SetMapper ( volumemapper ) Modélisation avec VTK 21 / 25

Code VTK 1 # F o n c t i o n de t r a n s f e r t d o p a c i t e du g r a d i e n t g r a d i e n t T r a n s f e r F u n c t i o n=v t k. v t k P i e c e w i s e F u n c t i o n ( ) 3 g r a d i e n t T r a n s f e r F u n c t i o n. AddPoint ( 0, 0 ) g r a d i e n t T r a n s f e r F u n c t i o n. AddPoint ( 2 0, 1 ) 5 g r a d i e n t T r a n s f e r F u n c t i o n. AddPoint ( 2 5 5, 1 ) 7 # F o n c t i o n de t r a n s f e r t d o p a c i t e o p a c i t y T r a n s f e r F u n c t i o n=v t k. v t k P i e c e w i s e F u n c t i o n ( ) 9 o p a c i t y T r a n s f e r F u n c t i o n. AddPoint ( 0, 0 ) o p a c i t y T r a n s f e r F u n c t i o n. AddPoint ( 2 5 5, 1 ) 11 # F o n c t i o n de t r a n s f e r t de c o u l e u r 13 c o l o r T r a n s f e r F u n c t i o n=v t k. v t k C o l o r T r a n s f e r F u n c t i o n ( ) c o l o r T r a n s f e r F u n c t i o n. AddRGBPoint ( 7 5. 0, 1, 0, 0 ) 15 c o l o r T r a n s f e r F u n c t i o n. AddRGBPoint ( 2 5 5. 0, 0, 0, 1 ) Modélisation avec VTK 22 / 25

Code VTK v o l u m e P r o p e r t y=v t k. v t k V o l u m e P r o p e r t y ( ) 2 v o l u m e P r o p e r t y. S e t S c a l a r O p a c i t y ( o p a c i t y T r a n s f e r F u n c t i o n ) v o l u m e P r o p e r t y. S e t C o l o r ( c o l o r T r a n s f e r F u n c t i o n ) 4 v o l u m e P r o p e r t y. S e t G r a d i e n t O p a c i t y ( g r a d i e n t T r a n s f e r F u n c t i o n ) volume. S e t P r o p e r t y ( v o l u m e P r o p e r t y ) 6 8 # R e n d e r e r e t R e n d e r e r Window r e n=v t k. v t k R e n d e r e r ( ) 10 r e n. AddViewProp ( volume ) r e n. SetBackground ( 1, 1, 1 ) 12 renwin=v t k. vtkrenderwindow ( ) 14 renwin. AddRenderer ( r e n ) renwin. S e t S i z e ( 5 1 2, 5 1 2 ) Modélisation avec VTK 23 / 25

Ajout de l opacité du gradient Modélisation avec VTK 24 / 25

Code VTK 1 i m p o r t v t k 3 # L e c t u r e de l image r e a d e r=v t k. v t k S t r u c t u r e d P o i n t s R e a d e r ( ) 5 r e a d e r. SetFileName ( " chemin_vers_donnees /mummy. 1 2 8. v t k " ) 7 # Type de rendu MIPFunction=v t k. vtkvolumeraycastmipfunction ( ) 9 # Mapper 11 volumemapper=v t k. vtkvolumeraycastmapper ( ) volumemapper. S e t I n p u t ( r e a d e r. GetOutput ( ) ) 13 volumemapper. SetVolumeRayCastFunction ( MIPFunction ) 15 # Ac teu r volume=v t k. vtkvolume ( ) 17 volume. SetMapper ( volumemapper ) Modélisation avec VTK 25 / 25