Frage

Ich möchte ImageJ verwenden einige Verarbeitung von mehreren tausend Bildern zu tun.

Gibt es eine Möglichkeit, eine allgemeine ImageJ Plugin zu nehmen und es zu Hunderten von Bildern automatisch anwenden?

Zum Beispiel, sagen, ich mag, dass meine tausend Bilder nehmen und eine polare Transformation zu jedem ---

anwenden

Eine polare Transformation Plugin für ImageJ hier gefunden werden kann:

http://rsbweb.nih.gov/ij/plugins/polar -transformer.html

Great! Sagen wir es verwenden. Von:

http://albert.rierol.net /imagej_programming_tutorials.html#How%20to%20automate%20an%20ImageJ%20dialog

Ich finde, dass ich ein Plugin unter Verwendung der folgenden anwenden kann:

(defn x-polar 
  [imageP]
  (let [thread (Thread/currentThread)
        options ""]
    (.setName thread "Run$_polar-transform")
    (Macro/setOptions thread options)
    (IJ/runPlugIn imageP "Polar_Transformer" "")))

Das ist gut, weil es den Dialog unterdrückt, die sonst für jedes Bild auftauchen würden. Aber läuft das bringt immer ein Fenster das transformierte Bild enthält, wenn das, was ich will einfach ist das transformierte Bild zurück.

Die dümmste Art und Weise zu tun, was ich will, ist nur in der Nähe der Fenster, die das Bild kommen und zurück, die es wurde angezeigt wird.

das tut, was ich will, aber ist absolut zurückgeblieben:

(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)))

Ich bin fehlt offensichtlich etwas darüber, wie ImageJ Plugins in einem Programmier Kontext zu verwenden. Kennt jemand den richtigen Weg, dies zu tun?

Danke, --Robert McIntyre

War es hilfreich?

Lösung

Leider ist es sehr häufig für ImageJ Plugins ohne programmatische Verwendung im Sinn geschrieben werden, und es ist nicht wirklich eine elegante Art der Fortbewegung, dass ohne den Code des Plug-ins zu ändern. (Du hast bereits entdeckt, dass es unbefriedigend Möglichkeiten, um es :)) Also, in Ihrer Position würde ich nur den Code in Polar_Transformer.java auf folgende Weise ändern:

http://gist.github.com/452826

... das ist vage entlang der vorgeschlagenen Linien in der Fidschi PlugIn Entwurf Richtlinien , während immer noch minimale Änderungen an den ursprünglichen Code nur, um zu versuchen. Dann können Sie einfach das Objekt PlugIn erstellen und Call exec(...) sie auf, die Optionen liefern Sie wollen. (Ich habe wirklich nicht, dass Patch getestet, aber Sie bekommen die Idee.)

ich hoffe, das ist eine Hilfe - ich sehe, dass Ihre Frage vor einiger Zeit war, obwohl, also denke ich, Sie in der Zwischenzeit eine andere Abhilfe gefunden haben

.
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top