PythonでImageJをインタラクティブに操作したり,プラグインをPythonで書いたりできると素敵だろうなと思い,JythonをWindowsマシンに導入し,ImageJから使ってみた.試した環境はWindows XP,SunのJVM 1.5.0_01-b08,ImageJ 1.37f.
方法やダウンロードすべきファイルへのリンクは http://www.pensament.net/java/other_plugins.html#interpreter にあった.また, http://marcora.caltech.edu/jython_imagej_howto.htm はWindows環境向けに手順が丁寧に書かれている. Jythonの導入 http://www.jython.org/Project/index.html から jython_21.class をもってきて,コマンドプロンプトから起動. > java -cp . jython-21 これでGUIインストーラが動く.全部導入しても10MB程度. 以降は導入したディレクトリで, > jython (.bat) でJythonインタプリタが動く. >>> import java.awt.Point 等ができることを確認. ImageJにclasspath追加 ImageJ起動時のclasspathにjython.jarを加える.つまりjavaの-cpオプションに追加.Windowsで最近のImageJではC:\Program Files\ImageJ\ImageJ.cfg中の-cp後にC:\OPT\jython-2.1\jython.jarなどと追加. 便利なImageJ/Jythonプラグイン導入 http://www.pensament.net/java/Jython.zip をImageJ/plugins/Jythonに展開.このディレクトリに置いた*.pyファイルは,ImageJメニューのPlugins - Jython - Refresh Jython Listによって,同メニュー階層中に登録され,プラグインとして実行可能になる. また, ImageJ/macros/StartupMacros.txt に macro "AutoRun" { run("Refresh Jython List"); } と加えることで,ImageJ起動時に*.pyファイルのメニュー登録は自動的に行なわれるようになる.なお,このStartupMacros.txtはautoexec.batのような使われ方をする特別扱いのマクロファイルで,ImageJのツールバー設定なども行なっている. Jythonは遅い印象だったが,インタプリタから簡単な文字列やリストの処理をするだけではとくに問題を感じなかった.そこで1024*1024の8bpsグレイスケール画像に対して,getPixelValue()とputPixelValue()を使った画素単位の反転処理を行なったところ,Java版が0.5秒以下なのに対し,Jython版では10秒以上を要した.やはり画像自体の処理は苦しそうだ.遅くてもいいメタなレベルの処理や,その場限りのマクロ書き(ImageJメニューのPlugins - Jython - Jython interpreterが便利そうだ)には向いていると思う. JNI経由でImageJ/CPythonの方が実行速度は数倍良さそうだが,ImageJのクラス群を簡単にCPythonから利用できるようにする仕組みが思い浮かばない.ImageJは開発が活発なので手書きでインタフェイスを作るのは避けたい.JavaのことだからC/C++とのインタフェイスの自動生成ツールなどは多いにありそうだが,未調査. ただ,「プラグイン」と呼んでいるものには,基本機能を組み合わせたマクロ的なものと,新たな画像処理アルゴリズムを提供する下請け的なもの,という両方の方向性がImageJではあるようなので,前者はJython等で密に結合させ,後者は簡素なインタフェイスを介して別プロセスとして動かす,という使い分けをするのが現実的かもしれない.
by edogawadai_bio
| 2006-07-26 04:28
| img
|
カテゴリ
以前の記事
2009年 11月 2009年 04月 2009年 01月 2008年 12月 2008年 11月 2008年 09月 2008年 07月 2008年 05月 2008年 04月 2008年 03月 2007年 11月 2007年 09月 2007年 08月 2007年 07月 2007年 06月 2007年 04月 2007年 01月 2006年 12月 2006年 11月 2006年 10月 2006年 09月 2006年 08月 2006年 07月 2006年 05月 2006年 03月 2006年 02月 2006年 01月 2005年 12月 フォロー中のブログ
リンク
検索
その他のジャンル
ファン
記事ランキング
ブログジャンル
画像一覧
|
ファン申請 |
||