IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Développement 2D, 3D et Jeux Discussion :

[VTK] vtk et tcl


Sujet :

Développement 2D, 3D et Jeux

  1. #1
    Membre régulier
    Inscrit en
    Avril 2007
    Messages
    143
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 143
    Points : 102
    Points
    102
    Par défaut [VTK] vtk et tcl
    Bonjour,

    je cherche a faire de la visualisation et traitement d'images medicales en 2d et 3d (exemple : visualisation d'un volume, definition d'un plan de coupe dans ce volume et affochage de cette coupe).

    J'ai pense que ceci pourrait etre aise avec la librairie vtk. Qu'en pensez-vous?

    C'est la premiere fois que j'utilise vtk, et tres vite je vois apparaitre la mention du langage Tcl. Je ne comprend pas trop, dans quel cas doit-on utiliser Tcl? Est-ce indispensable si on veut faire interagir l'utilisateur avec l'image? Dans ce cas, on doit ecrire tous nos fonctions sous forme de script Tcl? Ou bien on peut faire communiquer des scripts Tcl avec des fonctions c++ implementees de maniere classique?

    Merci

    ps pour les moderateurs : dsl je ne savais pas si je devais poster ceci dans le forum C++, Tcl/Tk, traitement d'image ou encore forum 2D, 3D. Libre a vous de deplacer ce sujet dans la partie qui vous semble la plus adequate..
    Matlab version R2006b et R2007a, sous Linux ou Windows

  2. #2
    Membre expérimenté

    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2006
    Messages
    450
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Avril 2006
    Messages : 450
    Points : 1 630
    Points
    1 630
    Par défaut
    VTK est codé en C++ mais peut être utilisé dans les langages Tcl, python et java (je ne crois pas en avoir oublié). Tu n'es pas obligé d'utiliser le Tcl, ni aucun des langages cités, à toi de choisir . Et oui je pense que vtk est adapté pour ta problématique.
    Je ne réponds à aucune question par MP, posez vos questions sur le forum adéquat.
    Profils : G+ - LinkedIn

  3. #3
    Membre régulier
    Inscrit en
    Avril 2007
    Messages
    143
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 143
    Points : 102
    Points
    102
    Par défaut
    Merci pour ta reponse. Mais vtk ne suffit plus dans certains cas non? Tcl est tres souvent utilise avec vtk, est-ce que c'est juste pour l'utilisation d'interface? Je ne vois pas exactement a partir de quand vtk ne suffit plus.
    Par exemple la visualisation d'une image peut se faire simplement par vtk, vrai?
    maintenant l'interaction avec l'image :
    interaction avec la souris, il me semble que vtk suffit pour les interactions basiques.
    si on veut definir par exemple sur cette imageune ligne pour couper l'image, vtk suffit-il?
    Matlab version R2006b et R2007a, sous Linux ou Windows

  4. #4
    Membre expérimenté

    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2006
    Messages
    450
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Avril 2006
    Messages : 450
    Points : 1 630
    Points
    1 630
    Par défaut
    A toi de voir. VTK implémente son rendu différemment suivant les langages. Sous java par exemple vtkCanvas hérite de la classe Canvas de la librairie graphique java awt donc tu peux faire tout ce que permet VTK au niveau interaction (ce qui en général suffit...) plus ce que permet la librairie awt plus ce que tu veux coder toi-même (rien ne t'empêche de créer de nouvelles interactions en mixant un peu les deux ou en partant de rien).

    VTK permet beaucoup d'interaction avec la scène 3D et propose des widgets prédéfinis. Par exemple pour ton cas, tu devrais utiliser la classe vtkLineWidget (vois la doc officielle) qui permet de définir et de manipuler une ligne dans ta scène 3D et ensuite récupérer ses informations et faire une coupe de l'image avec un algorithme de découpe de l'image fourni par VTK. VTK fait en général tout ce que tu veux faire (surtout dans ton cas, c'est limite spécialisé pour ça) et souvent le plus dur est de trouver quelle classe parmis les 700 tu dois utiliser et quel algorithme/filtre ou quelle suite de filtre va te donner le résultat voulu ^^. Pour ça pas de miracle, tu explores un peu les classes, dans ton cas cherche des mots clefs genre cut, clip et regarde toutes les classes contenant ce mot clef et regarde si l'une d'entre elle est utile pour te faire la coupe de l'image.

    Sinon si tu ne trouves pas une fois la ligne donnée par l'utilisateur, tu peux toujours faire la découpe à la main. Vois peut-être du côté de vtkClipDataSet qui permet de couper un DataSet au moyen d'une fonction définie par toi (à toi de voir comment définir ta fonction avec ta ligne), à mon avis il y a plusieurs solutions à ton problème et celle-ci n'est sûrement pas la plus simple. Mais tu veux faire quoi exactement ? Couper l'image c'est-à-dire ? C'est une image 3D et tu veux couper un plan dedans ? Il y a des exemples de ce genre de chose qui sont déjà faits, vtkCutter est je pense la solution pour cela (mais je n'ai jamais personnellement ce genre de chose donc je risque de me tromper). A toi de chercher maintenant :p.
    Je ne réponds à aucune question par MP, posez vos questions sur le forum adéquat.
    Profils : G+ - LinkedIn

  5. #5
    Membre régulier
    Inscrit en
    Avril 2007
    Messages
    143
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 143
    Points : 102
    Points
    102
    Par défaut
    merci pour toutes ces pistes.
    Je debut dans vtk, donc j'ai encore beaucoup de choses a lire et de fonctions a tester avant de pouvoir l'utiliser comme je le souhaite.

    En fait j'ai des donnees 3d, ou si je prefere j'ai l'isosurface de l'objet qui m'interesse. On me demande de realiser des coupes 2d de cet objet 3d a differents angles de vue (voir automatiser ce processus et recuperer toutes les vue a differents angles), de pouvoir les visualiser et les sauvegarder.
    Donc je vais essayer plusieurs version :
    j'aimerai par exemple faire une fonction ou je passe en parametre l'orientation du plan de coup (la normale a ce plan), un point par lequel passe ce plan, et cette fonction renverrai la slice correspondante.
    Ou plus sophistiquee, que l'utilisateur definisse lui-meme ce plan de coupe en le dessinant sur la visualisation 3d.

    J'ai deja reperee quelques fonctions qui pourraient peut-etre m'aider : vtkpxObliqueImageSlice, vtkImagePlane widget, ou peut-etre simplement faire des enchainements de rotation, translation, mais je doute que ca suffisent.

    Je vais me replonger dans la doc. Merci
    Matlab version R2006b et R2007a, sous Linux ou Windows

Discussions similaires

  1. [VTK] simplifier maillage
    Par ancrou dans le forum Traitement d'images
    Réponses: 2
    Dernier message: 30/01/2009, 17h46
  2. VTK et SGL avec C++ pour manipuler le format VRML ( maillage 3D et Texture)
    Par wafa_b dans le forum Développement 2D, 3D et Jeux
    Réponses: 22
    Dernier message: 19/01/2009, 17h30
  3. Changer la couleur d'un pixel avec VTK
    Par Romuuuuu dans le forum C++
    Réponses: 1
    Dernier message: 23/04/2008, 11h08
  4. Quoi de mieux que VTK?
    Par velkouby dans le forum Développement 2D, 3D et Jeux
    Réponses: 0
    Dernier message: 24/01/2008, 13h38
  5. recherche pour Vtk - c++/visual studio
    Par sbitsch dans le forum C++
    Réponses: 0
    Dernier message: 28/12/2007, 14h06

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo