LeafAreaという R から ImageJ を動かして葉面積を測定できるべんりパッケージがあるんですが,Fiji だとうまく動きません. というのは,ImageJ と Fiji ではフォルダ構造とかファイル名とかが異なるからです.
LeafArea package が想定しているフォルダ構造は
ImageJ\ ImageJ\ij.jar ImageJ\jre\bin\java.exe
となっており,これが Fiji.app(no JRE) の場合だと
Fiji.app\ Fiji.app\jars\ij-1.51g.jar
という感じになっています.
java.exe
の場所は,JRE 付きのものをインストールした場合は
Fiji.app\java\win64\jdk1.8.0_66\jre\bin\java.exe
という感じになっており,JREなしをインストールした場合は システムのjavaを使うので,
"C:\Program Files\Java\jre1.8.0_112\bin\java.exe"
という感じになります(バージョンとかによって違う).
なので,これを合わせてあげればよいので,シンボリックリンクを張ります.
管理者コマンドプロンプトを立ち上げて,Fiji.app
まで移動
cd path\to\Fiji.app
そして, no JRE の人は,
mklink /D jre "C:\Program Files\Java\jre1.8.0_112" mklink ij.jar .\jars\ij-1.51g.jar
JRE 付きの人は,
mklink /D jre .\java\win64\jdk1.8.0_66\jre mklink ij.jar .\jars\ij-1.51g.jar
とやってシンボリックリンクを張ります. 動かすときは,
library(LeafArea) ex.dir <- eximg() list.files(ex.dir) run.ij(path.imagej = "path/to/Fiji.app", set.directory = ex.dir)
でpath.imagej
でFiji.app のあるとこを指定すれば動きます.
実は昔一度fork して動かしたんですが,こっちの方が楽ですね.