2016-12-24 3 views
0

Ich habe this post which uses the IJ.runMacro() Methode gefunden, aber ich bin verwirrt, was der "Clown (14K)" bezieht sich auf, und ich möchte ein Makro verwenden, das ich selbst gemacht habe, nicht ein Download von der Website von imageJ.Run ImageJ Makro aus meiner eigenen Java-Anwendung

Mein Makro ist gerade dies für jetzt:

run("Non-local Means Denoising", "sigma=5 smoothing_factor=1"); 

und das funktioniert in ImageJ, wenn ich die Batch-Prozessor verwenden. (Non-Local Means Denoising is an ImageJ Plugin)

Meine beiden Fragen sind diese:

  • Wie rufe ich ein Makro, das ich die IJ.runMacro Verfahren hergestellt (oder alternativ)?

  • Wie gebe ich an, welches Bild die runMacro-Methode beeinflusst?

Vielen Dank für Ihre Zeit.

+0

Clown (14K) bezieht sich auf ein Beispielbild, das mit ImageJ geliefert wird. https://imagej.nih.gov/ij/docs/properties.html – Piglet

+0

@Piglet ah, vielen Dank für die Verknüpfung. Würdest du zufällig wissen, wie ich das Bild festlegen soll, auf dem ich das Makro ausführen möchte? Ich habe versucht, "Clown (14K)" durch mein Bildverzeichnis zu ersetzen, aber das ist definitiv nicht korrekt., Weil es mir eine "Unbekannter Befehl" Fehlermeldung gibt. – Nexion21

+0

Bitte lesen Sie https://imagej.nih.gov/ij/docs/macro_reference_guide.pdf Suche öffnen – Piglet

Antwort

0

Schließlich fand ich die Antwort auf meine Frage here

Die Codezeile, die es zu lösen gelandet war:

System.setProperty("plugins.dir", "C:\\Users\\Speedy Octopus\\Downloads\\ij150-win-java8\\ImageJ\\plugins"); 

So ist die gesamte Testklasse wie folgt aussieht jetzt:

import ij.IJ; 
import ij.ImagePlus; 
import ij.io.FileSaver; 
import ij.plugin.PlugIn; 


public class Test implements PlugIn { 

public static void main(String[] args) { 

    Test test = new Test(); 
    test.run("Denoise.ijm"); 

} 

@Override 
public void run(String arg0) { 
    String directory = "C:\\Users\\Speedy Octopus\\Desktop\\10Cover Shots\\10.JPG"; 

    ImagePlus imp = IJ.openImage(directory); 
    FileSaver fileSaver = new FileSaver(imp); 

    System.setProperty("plugins.dir", "C:\\Users\\Speedy Octopus\\Downloads\\ij150-win-java8\\ImageJ\\plugins"); 
    IJ.run(imp, "Non-local Means Denoising", "sigma=5 smoothing_factor=1"); 
    fileSaver.saveAsJpeg("C:\\Users\\Speedy Octopus\\Desktop\\10Cover Shots\\10edited.JPG"); 
} 
} 
Verwandte Themen