Bonjour à tous,
Je dois faire un matching de deux images d'artères cérébrales, pour cela je souhaite utiliser le plugin blockmatching_-2.1.1 de Stephan Saalfeld.
Je veux appeler ce plugin dans un projet Eclipse en Java. Comme je ne souhaite pas afficher les fenêtres, j'ai choisi d'appeler le plugin dans une macro IJM en batch mode :
J'appelle cette macro avec la méthode runMacroFile en Java.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 setBatchMode(true); options = getArgument; run("Extract Block Matching Correspondences", options+" layer_scale=1 search_radius=50 block_radius=50 resolution=24 minimal_pmcc_r=0.10 maximal_curvature_ratio=1000 maximal_second_best_r/best_r=1 use_local_smoothness_filter approximate_local_transformation=Affine local_region_sigma=65 maximal_local_displacement=12 maximal_local_displacement=3 export"); setBatchMode(false);
Les autres librairies référencées dans le projet sont :
- ij-1.49v.jar
- image_edge.jar
- Volume_Viewer-2.01.1.jar
- mpicbg-1.0.1.jar
- mpicbg_-1.0.1.jar
Le projet ne trouve pas la classe ij.plugin.BlockMatching_ExtractPoinRoi.
J'obtiens l'erreur :
J'appelle pourtant deux autres plugins de la même façon, par l'intermédiaire d'une macro, et cela fonctionne très bien.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 Plugin or class not found: "ij.plugin.BlockMatching_ExtractPoinRoi" (java.lang.ClassNotFoundException: ij.plugin.BlockMatching_ExtractPoinRoi)
La classe est présente dans le jar, dans le package mpicbg.ij.plugin.
Le jar est dans un dossier "lib" et je passe en argument au projet "-Dplugins.dir=/Users/fiorinelli/workspace/strokeDetection/lib".
J'ai également référencé le plugin comme librairie du projet, il est donc présent dans le build path.
J'ai essayé la commande "Extract SIFT Correspondences" à la place de "Extract Block Matching Correspondences", et cela fonctionne parfaitement. Quand j'exécute la même commande directement dans Fiji, sur les mêmes images, cela fonctionne aussi. J'ai essayé d'enlever la répétition de l'argument "maximal_local_displacement" dans la macro mais cela ne change rien, j'obtiens la même erreur.
Je suppose que c'est une erreur de configuration de mon projet dans Eclipse mais je ne vois pas d'où cela vient.
Si quelqu'un peut m'éclairer, merci beaucoup.
Eva
Partager