Je veux utiliser ImageJ pour traiter quelques milliers d'images.Comment faire un traitement d'image par lots avec ImageJ en Java ou clojure?
Existe-t-il un moyen de prendre n'importe quel plugin imageJ et de l'appliquer automatiquement à des centaines d'images?
Par exemple, que je veux prendre mes images mille et appliquer une transformation polaire à chaque ---
se trouve un plug-in de transformation polaire pour ImageJ ici:
http://rsbweb.nih.gov/ij/plugins/polar-transformer.html
Grande ! Utilisons-le. De:
Je trouve que je peux appliquer un plug-in en utilisant les éléments suivants:
(defn x-polar
[imageP]
(let [thread (Thread/currentThread)
options ""]
(.setName thread "Run$_polar-transform")
(Macro/setOptions thread options)
(IJ/runPlugIn imageP "Polar_Transformer" "")))
Ce qui est bon, car il supprime la boîte de dialogue qui autrement apparaître pour chaque image. Mais lancer ceci fait toujours apparaître une fenêtre contenant l'image transformée, alors que ce que je veux c'est simplement retourner l'image transformée.
La façon la plus stupide de faire ce que je veux est de simplement fermer la fenêtre qui apparaît et de retourner l'image qu'elle affichait.
Est-ce que ce que je veux, mais est absolument retardé:
(defn x-polar
[imageP]
(let [thread (Thread/currentThread)
options ""]
(.setName thread "Run$_polar-transform")
(Macro/setOptions thread options)
(IJ/runPlugIn imageP "Polar_Transformer" "")
(let [return-image (IJ/getImage)]
(.hide return-image)
return-image)))
Je manque évidemment quelque chose sur la façon d'utiliser des plugins imagej dans un contexte de programmation. Est-ce que quelqu'un sait la bonne façon de faire cela?
Merci, --Robert McIntyre
C'est très utile et une excellente explication. J'ai mis ce projet de côté et j'y retournerai bientôt, donc la réponse est toujours pertinente. Merci! –