Public static void main
Eclipseでmavenを使ってjarファイルのpluginを作る場合、動作確認はjarファイルをImageJのpluginsフォルダに移して実行、ということが多い。作ってはImageJを立ち上げなおして、というのは結構面倒臭い。そこで、public static void main(String args[])を作っておけば、EclipseのRunからJava applicationとして簡単にテストすることができる。
ijをインスタンスしなくても、ImageJのクラスは普通に使えるので、特にplugin filterを作る場合などに便利。
import java.net.URI;
import java.net.URISyntaxException;
import ij.IJ;
import ij.ImagePlus;
import ij.plugin.filter.PlugInFilter;
import ij.process.ImageProcessor;
public class Hoge implements PlugInFilter {
@Override
public int setup(String arg, ImagePlus imp) {
// TODO Auto-generated method stub
return DOES_ALL;
}
@Override
public void run(ImageProcessor ip) {
// TODO Auto-generated method stub
}
public static void main(String[] args) {
// TODO Auto-generated method stub
URI img;
try {
img = ClassLoader.getSystemResource("test.tif").toURI();
ImagePlus imp = IJ.openImage(img.getPath());
Hoge hogehoge = new Hoge();
hogehoge.setup("", imp);
hogehoge.run(imp.getProcessor());
} catch (URISyntaxException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
Hogeのオブジェクトを作り、setupでImagePlusを、runでImageProcessorを送ることができる。
Resourceフォルダへのアクセス
テスト用の画像データは、resourceフォルダに入れておく。resourceフォルダに入れたファイルは、以下のようにしてアドレスを取り出す。URI img = ClassLoader.getSystemResource("test.tif").toURI();
ImagePlus imp = IJ.openImage(img.getPath());
これで開発はかなり楽になる。
0 件のコメント:
コメントを投稿