生物屋さんのためのゼロからのプログラミング

―忘れないための覚書 (たま~に更新)―

EclipseでImageJのPlugin作成 -下準備編 ver.2-

前回書いた「EclipseでImageJのPlugin作成 -下準備編-」では、うまくいかない部分があったので、
他の方法でアプローチすることにした。

今回用いたのは、下記の3つのサイトの合わせ技。
The ImageJ Eclipse Howto [ImageJ Documentation Wiki]
Re - ImageJで学ぶ!: 第41回 ImageJのソースコード分解(Eclipseを用いたImageJソースコードのコンパイル)で学ぶ!
Re - ImageJで学ぶ!: 第42回 ImageJのソースコード分解(Eclipseを用いたImageJのプラグイン実行方法)で学ぶ!


下準備として、下記のImageJのサイトからImageJの最新のソースコードをダウンロードする。
ImageJ
zipファイルを展開すると、sourceフォルダーが現れるので、適当なディレクトリに保存。


次に、Eclipseを立ち上げ、Java プロジェクトを作成する。
f:id:Aki-Miya:20171230135832p:plain

Java プロジェクトを選び、”次へ” をクリック。
プロジェクト名: "IJ" (適当につける)を入力、そして、下の様にチェックを入れ、”次へ” をクリック。
f:id:Aki-Miya:20171230140200p:plain

”ソース” タブを選んで、下の ”詳細” 枠内の ”追加ソースのリンク” をクリックし、
上記で保存しておいたImageJの ”source” フォルダを指定し、”次へ” をクリック。
f:id:Aki-Miya:20171230140341p:plain

f:id:Aki-Miya:20171230140351p:plain

 
・組み込みパターンの右の ”追加” をクリックして、
 ” IJ_Props.txt ”
 ” ij/ ”
 を記入する。

・除外パターンの右の ”追加” をクリックして、
 ” images/ ”
 ” macros/ ”
 ” plugins/ ”
 を記入し、”完了” をクリック 
f:id:Aki-Miya:20171230140522p:plain

f:id:Aki-Miya:20171230140538p:plain


次に、Eclipseを立ち上げて、Java プロジェクトを新規作成。
f:id:Aki-Miya:20171230140748p:plain
 
Java プロジェクトを選び、”次へ” をクリック
プロジェクト名: "TESTPlugin_" (適当につける。但し、”_”を何処かに必ず入れる)を入力、下の様にチェックを入れ、”次へ” をクリック。 
f:id:Aki-Miya:20171230140832p:plain

 
”プロジェクト” タブを選んで、 右の ”追加” をクリックし、
上記で作成した ”IJ” プロジェクトを追加し、”完了” をクリック。 
f:id:Aki-Miya:20171230141015p:plain
これで、Pluginを作る環境が整った。


では、実際にPluginを作成する。
上記で作成した、TESTPlugin_プロジェクトに下記の新規クラス (TESTPlugin_java) を作成する。
f:id:Aki-Miya:20171230141140p:plain

f:id:Aki-Miya:20171230142023p:plain

import ij.IJ;
import ij.plugin.PlugIn;

public class TESTPlugin_ implements PlugIn{ 
	public void run (String arg) {
		IJ.error("Hello World");
	}
}

これはただ”Hello World”と表記されたウインドウを出すだけのplugin。

次に、TESTPlugin_プロジェクト内にビルド.xmlというファイルを下記のように作る。
f:id:Aki-Miya:20171230142045p:plain

f:id:Aki-Miya:20171230142125p:plain 
作成したファイルに下記をコピペ。(今回は特に何も変えなくてもいい)

<project name="TESTPlugin_" default="" basedir=".">
    <description>
        TESTPlugin_ build file
    </description>
  <property name="src" location="src" />
  <property name="build" location="bin" />
  <property name="dist"  location="dist" />
 
	 <property name="pluginsDir"  location="$basedir/../../IJ/plugins/" />
 
  <property name="user.name" value="Aki" />
<target name="main" depends="compress" description="Main target">
	<echo>
		Building the .jar file.
	</echo>
</target>
 <target name="compress" depends="" description="generate the distribution">
 	<jar jarfile="TESTPlugin_.jar">
 		<fileset dir="." includes="plugins.config" />
		<fileset dir="${build}" includes="**/*.*" />
 		<manifest>
 		 	 	      <attribute name="Built-By" value="${user.name}"/>
 		</manifest>
 	</jar>
    <copy file="TESTPlugin_.jar" toDir="${pluginsDir}" />
  </target>
</project>


次に、 
”パッケージエクスプローラー” 内のTESTPlugin_プロジェクトを右クリックし、”プロパティ” をクリックすると下のようなウインドウが開くので、”ビルダー” を選択。右の”新規” をクリック。
f:id:Aki-Miya:20171230142234p:plain

”Ant_builder” を選択。
f:id:Aki-Miya:20171230142247p:plain

”メイン” タブで、”Browse Workspace” をクリックし、
”TESTPlugin_プロジェクト” から先ほど作成した”build.xml” を選択。
f:id:Aki-Miya:20171230142313p:plain

”ターゲット” タブで、”「クリーン」の後:” と ”自動ビルド” の ”ターゲットの設定” をクリックし、
f:id:Aki-Miya:20171230142342p:plain

そこに現れる ”main” と ”compress” を選択し、適用、OKを押す。
f:id:Aki-Miya:20171230142401p:plain

これにより、”「クリーン」の後:” と ”自動ビルド” の ウインドウに ”main” と ”compress” が現れる。
f:id:Aki-Miya:20171230142419p:plain


Eclipseの ”実行” を選択し、”デバッグの構成” をクリック。
f:id:Aki-Miya:20171230142543p:plain

新規 ”Java アプリケーション” を作成。
f:id:Aki-Miya:20171230142601p:plain

f:id:Aki-Miya:20171230142844p:plain

プロジェクト名に ”IJ” を選択し、メインクラスに ”ImageJ” を選択する。
f:id:Aki-Miya:20171230142933p:plain

”ソース” タブを選択し、”ソース・ルックアップ・パス” の右の ”追加” をクリックし、”Java プロジェクト” を選ぶ。
f:id:Aki-Miya:20171230143028p:plain

TESTPlugin_プロジェクトを選択し、”デバッグ” をクリック。
f:id:Aki-Miya:20171230143114p:plain
 

すると、
f:id:Aki-Miya:20171229140443j:plain
上のように、ImageJのPlugin内に作成した ”TESTPlugin_” が表示される。

これをクリックすると、
f:id:Aki-Miya:20171229140556j:plain
のように、”Hello Word” が表示できた。

これで、EclipseからImageJのPluginが作成できることを確かめられた。