| View previous topic :: View next topic |
| Author |
Message |
Yves Collenot
Joined: 01 Feb 2006 Posts: 3 Location: Montpellier
|
Posted: Wed May 17, 2006 1:14 pm Post subject: Appel de fonctions Visilog sous Amira Quantification |
|
|
Bonjour,
Nous avons acheté le developer pack d'Amira qui nous permet d'écrire nos propres DLLs.
Existe-t-il un moyen d'appeler les fonctions compilées de Visilog depuis ces DLLs ?
ex. effectuer un hole_fill Visilog sur une image binaire produite sous Amira puis manipuler le résultat dans notre code Amira.
Si non, quelle autre solution avons-nous ?
Y-a-t-il du code exemple qui illustrerait la méthode ?
Merci par avance,
Bonne journée,
Yves. |
|
| Back to top |
|
 |
Noesis Administrateur - Site Admin

Joined: 30 Jan 2006 Posts: 169 Location: Gif Sur Yvette - Crolles
|
Posted: Wed May 17, 2006 1:38 pm Post subject: Plusieurs possibilités |
|
|
Les appels aux fonctions Visilog doivent être fait à partir du code interprété. C'est à dire en TCL dans des objets scripts (Script object)
Il existe toutefois plusieurs façons de contourner cette limitation.
Pour accéder directement aux fonctions IP, il faut directement appeler la librairie IpPro51.dll à la façon d'un plugin C de Visilog SDK.
A l'aide de l'API windows GetProcAddress on peut récupérer le pointeur vers la fonction désirée.
(ce qui nécessite de passer des nf en argument)
Tout ceci sous condition qu'un module Visilog soit déjà chargé dans Amira
Les fonctions Ip sont documentées dans le fichier Proguide.pdf
L'autre solution est d'attaquer directement la librairie C++ AccessVisilib.dll qui exporte aussi les fonctions IP mais en utilisant les nom d'image (c'est une couche au dessus de Ippro51)
Enfin il est aussi possible de lancer directement des commandes. Il suffit de récupérer l'API VisilogExecuteCmd de AmiraVisilog.dll et lui passer en argument la chaine de caractères identique à celle utilisée en TCL
Par exemple :
| Code: | | VisilogExecuteCmd("cmd=closing input=ImaObj param=3 output=ImaMask"); |
Voila qui devrait permettre de faire pas mal de choses |
|
| Back to top |
|
 |
Mercury
Joined: 18 May 2006 Posts: 1 Location: Bordeaux
|
Posted: Thu May 18, 2006 11:08 am Post subject: Appel vers l'interpreteur à partir du C++ |
|
|
Bonjour
En complément, il est effectivement possible d'appeler l'interpreteur à partir des DLL d'Amira dev à l'aide du module HxInterpreter
Le module HxInterpreter fournit des méthodes d'évaluation de commandes TCL (telles que eval, evalf).
| Code: | | theInterpreter->eval(command_string,...) |
Cette ligne permet d'éxecuter la commande TCL définie en 1er paramètre. |
|
| Back to top |
|
 |
|