DuckCorp

DuckCorp Dico

(RFC 2229 compliant dictionary server)

Found one definition

  1.                 From fr.wikipedia.org:
                    

    {{Infobox Logiciel

    | logo = | nom = VTK | image = Vortexje-results-in-paraview.png | légende = Capture d'écran de ParaView, fondé sur la bibliothèque VTK. | développeur = Kitware Inc. | date de première version = 1994 | langage de programmation = C++, CMake, Python | environnement = Multi-Plateforme | type = Bibliothèque de Visualisation scientifique | licence = BSD | site web = www.vtk.org (see http://www.vtk.org/)

    }}

    vignette

    vignette

    VTK (pour _[en]_ en anglais) est une bibliothèque logicielle libre sous licence BSD de classes C++ pour la visualisation scientifique de données 3D et le traitement d'images. Elle s'interface facilement avec les langages Python et Java. Elle a été développée à partir de 1993 au Centre de Recherche du groupe General Electric et utilisée en premier dans le domaine médical. Par la suite ses développeurs (Will Schroeder et Ken Martin) ont fondé la société Kitware Inc. aux États-Unis pour assurer le support commercial et continuer le développement de ce produit.

    ** Caractéristiques

    VTK supporte l'import et l'export de données depuis les formats VTK (format de fichier), mais peut aussi lire de nombreux formats issus de solveurs numériques comme OpenFOAM ou Ansys Fluent.

    VTK est une bibliothèque multiplateforme, et peut être compilée pour MacOS, Windows, Linux, mais aussi Android et WebAssembly.

    Le rendu graphique de VTK repose sur le standard OpenGL avec un support expérimental pour ANARI[1] et WebGPU[2]. Du rendu réaliste par lancer de rayon est aussi possible via l'intégration de la librairie open source Ospray (see https://www.ospray.org/) , ainsi que du rendu physique réaliste (PBR).

    Les algorithmes intégrés dans VTK proposent une version parallèle, pour une utilisation avec des données massives dans un contexte de calcul haute performance.

    ** Architecture

    VTK est construit autour d'une architecture composée de modules. Ces différents modules peuvent être activés ou non au moment de la compilation en utilisant CMake. Les classes VTK définissant des algorithmes sont appelés "filtres" et peuvent produire, transformer ou exporter des données.

    Le modèle de données de VTK est prévu pour être flexible et supporte de nombreux types de maillages, en deux et trois dimensions: les maillages structurés, uniformes et rectilignes, mais aussi non structurés, qui définissent les coordonnées des points, ainsi que leur connectivité, formant ainsi des cellules. VTK supporte aussi l'exécution de filtres sur des données définies par raffinement de maillage adaptatif (AMR), basé sur des patches ou des arbres (HyperTreeGrid), mais aussi les cellules d'ordre élevé via le modèle vtkCellGrid[3].

    L'utilisateur de VTK définit un pipeline composés de filtres successifs, le premier étant généralement une source standard ou un lecteur de fichier, et le dernier étant une action d'écriture ou de rendu. L'évaluation de ce pipeline suit un modèle d'exécution paresseuse séquentielle : les filtres en amont du pipeline ne sont évalués que lorsqu'un filtre en aval demande un résultat.

    Les modèles de données et l'exécution des pipelines VTK sont prévus pour être distribuables entre plusieurs processeurs ou ordinateurs grâce à l'utilisation de MPI.

    Au delà de l'interface de programmation C++, VTK fournit également une couche interprétée en Python, Java et .NET (via la bibliothèque propriétaire ActiViz).

    ** Domaines d'utilisation

    VTK est à la base de plusieurs logiciels de visualisation scientifique libres tels que ParaView et VisIt. La bibliothèque PyVista fournit une API de haut niveau au dessus de VTK pour les utilisateurs de Python.

    VTK est aussi utilisé dans une variété de domaines scientifiques, parmi lesquels figurent:

    - Analyse d'image [4] - Imagerie médicale - Mécanique des fluides - Finance - Acoustique - Mécanique - Éléments finis - Géophysique - Stéréolythographie - Biologie Moléculaire - Reconstructions de volumes

    ** Exemples

    Création d'une sphère bleue avec la bibliothèque VTK Python.<syntaxhighlight lang="python3" line="1"> from vtkmodules.vtkFiltersSources import vtkSphereSource from vtkmodules.vtkRenderingCore import (

    vtkPolyDataMapper, vtkActor, vtkRenderWindow, vtkRenderer, vtkRenderWindowInteractor,

    ) import vtkmodules.vtkRenderingOpenGL2 import vtkmodules.vtkInteractionStyle

    1. Instanciation de l'objet sphère sphere = vtkSphereSource() sphere.SetRadius(2.0) sphere.SetThetaResolution(16) sphere.SetPhiResolution(16)

    1. Création du mapper, l'interface entre la donnée et le rendu mapper = vtkPolyDataMapper() mapper.SetInputConnection(sphere.GetOutputPort())

    1. Instanciation d'un acteur actor = vtkActor() actor.SetMapper(mapper) actor.GetProperty().SetColor(0, 0.3, 1)

    1. Création de la sceène de rendu et ajout de l'objet sphere sur fond noir renderer = vtkRenderer() renderer.AddActor(actor) renderer.SetBackground(0, 0, 0)

    1. Création de la fenêtre de rendu ren_win = vtkRenderWindow() ren_win.AddRenderer(renderer)

    1. Instanciation de l'interacteur iren = vtkRenderWindowInteractor() iren.SetRenderWindow(ren_win)

    1. Lancement du rendu de l'image ren_win.Render() iren.Start()

    </syntaxhighlight>

    ** Bibliographie

    - [en] W.J. Schroeder, L.S. Avila, W. Hoffman, _Visualizing with VTK: A tutorial_ , IEEE Transaction on Computer Graphics and Applications, 2000, 20(5), [20-27] . see https://web.archive.org/web/20060901103015/http://www.ics.psu.edu/fallnotes/vtk_tutorial.pdf - [en] Carsten Zerbst, _Scientific visualization with VTK and Tcl_ , Linux Magazine issue 16, 2002, [60-63] . see http://www.linux-magazine.com/issue/16/Tcl_VTK_library.pdf - [en] Drew McCormack, _Developing Visualization Applications with Cocoa and VTK_ , part1, part2, 2003 see http://www.macdevcenter.com/pub/a/mac/2003/02/11/dev_osx.html see http://www.macdevcenter.com/pub/a/mac/2003/03/25/dev_osx.html

    ** Références

    [Références]

    ** Livres

    - [en] Will Schroeder, Ken Martin, Bill Lorensen, _The Visualization Toolkit, An Object-Oriented Approach To 3D Graphics_ , 4th edition, Kitware Inc. publishers, [1-930934-19-X] - [en] _The Visualization Toolkit User's Guide_ , Kitware Inc. publishers, [1-930934-18-1]

    ** Liens internes

    - Recalage d'images - Insight Segmentation and Registration Toolkit ( ITK ) - Visible Human Project - ParaView

    ** Liens externes

    - [en] Site officiel see http://www.vtk.org/ - [en] Wiki see http://www.vtk.org/Wiki/VTK - [en] Paraview see http://www.paraview.org/ - [en] ITK see http://www.itk.org/ - [en] VTKit see http://www.bioengineering-research.com/software/vtkit - [en] VTKBlog see http://vtkblog.blogspot.com/ - [en] VTK Journal see http://www.midasjournal.org/?journal=35 - [fr] Visualiser des surfaces paramétriques avec VTK et Tcl-Tk see http://wfr.tcl-lang.org/2039 [logiciels libres]

    Catégorie:Logiciel libre sous licence BSD Catégorie:Logiciel scientifique