Introduction | Macro | Shortcuts | Utilities | New... | Edit | Compile and Run |
プラグインとマクロはImageJの能力を拡張する読み込み可能なコードモジュールです。プラグインはJavaプログラミング言語で書かれ,.classファイルにコンパイルされます。マクロはImageJのJavaのようなマクロ言語で記述されます。そしてそれは.txtファイルで保存されます。プラグインはより早く作業し,より柔軟性に富んでいます。しかし,マクロは記述やデバッグ(間違い探し)は簡単です。プラグインフォルダ内のその名称がはっきりしたプラグインとマクロは,このメニューの下部にリストされます。プラグインフォルダのサブフォルダ内にあるプラグインとマクロはサブメニューにリストされます。プラグインやマクロにキーボードショートカットを割り当てる場合は,Shortcuts/Create Shortcutを使います。
コマンドの順列を記録して,それをマクロに変換したい場合はRecordコマンドを使用します。新しいマクロやプラグインを作成するためには,Newコマンドを使用します。また,既にあるファイルを編集するためにはEditコマンドを使用します。100プラグイン以上が,そして,80マクロ以上が,ImageJのWebサイトから利用できます。プラグイン作成者のためのチュートリアルは,http://mtd.fh-hagenberg.at/depot/imaging/imagej/で提供されています。マクロについての情報はImageJWebサイト上で提供されています。
ImageJの大半のコマンドは,プラグインとして導入されています。しかし,これら内蔵プラグインはij.jarファイルに位置していて,プラグインフォルダではありません。ij.jarファイルには,ImageJがメニューに内蔵プラグインをインストールするのに使用する,プロパティファイル(IJ Props.txt)も含まれています。JARファイル(Java ARchive)は,ZIPファイルと同じような形式なので,ユーザーは,ij.jarファイルを見るためにZIPユーティリティーを使用できます。
ユーザーは,内蔵プラグインをプラグインフォルダにソースコピーすることで,ユーザープラグインに変換できます。そして,(コピーしたソースに)ファイル名とクラス名をはっきりと明示し,パッケージ宣言文をインポート宣言文に変更します。例として,ROI Managerをユーザープラグインに変更してみます。
これで,次回ImageJを起動したとき,プラグインメニューの中に新しいRoi Managerがあることでしょう。
"plugins.dir"プロパティは,プラグインディレクトリの親の位置を決めます。このプロパティは,コマンドラインからか,ImageJを始めるJavaプログラムを含むところから,セットされます。例えば,もし,コマンドで,ImageJを起動するのなら,
java -Dplugins.dir=/Users/wayne -cp ij.jar ij.ImageJ
/Applications/ImageJ にあるプラグインフォルダを探すでしょう。このプロパティはImageJを開始するプログラム内でもセットできます。
System.getProperties().setProperty("plugins.dir", "/users/wayne");
new ImageJ(null);
このサブメニューは,Plugins/Macros/Installによって追加されたマクロコマンドと同様にマクロのインストール,起動,記録に関するコマンドが含まれています。マクロフォルダ内にある"StartupMacros.txt"と名付けられたファイルに含まれているマクロはImageJが起動するときにこのサブメニューに自動的に追加されます。
このサブメニューの最後にあるファイルに含まれている1またはそれ以上のマクロを追加します。マクロのセットをインストールするために,そして同時にそれらマクロファイルのソースコードを見るために,File/OpenとエディターのMacros/Install Macrosコマンドを使ってマクロファイルを開きます。ImageJ/macros/StartupMacros.txtファイル内のマクロはImageJを起動したときに自動的にインストールされます。
ImageJエディターを開かずにマクロを呼び出して,起動します。マクロを起動するためにそして同時にそのソースコードを見るためには,File/Openでファイルを開き,エディターのFile/Run Macroコマンドを使います。
class="column"ImageJのコマンドレコーダーを開きます。マクロを作成するために,レコーダーを開いて,一つかそれ以上のImageJのコマンドを使用します。そして,"Create"をクリックします。レコーダーがオープンする時,ユーザーが使用した各メニューコマンドは一つのマクロのラン()ファンクションコールとして作成されます。ラン()ファンクションは一行か二行の引数を含みます。一つは,コマンドの名前です。オプションとして二つ目の引数はダイアログボックスパラメーターを含みます。
長方形,楕円型,線選択枠を作成すると,レコーダーはmakeRectangle(),makeOval(),makeLine()というファンクションコールを作成します。Image/Adjust/Threshold窓にある"Auto"や"Set"をクリックすると,setThreshold()というコールを作成します。そして,"Reset"をクリックすれば,resetThreshold()というコールを作成します。windowメニューから画像を選択すると,selectWindow()コールを作成します。 Image/Color/Color Picker窓でクリックすれば,setForegroundColor()とsetBackgroundColor()というコールを作成します。
このサブメニューはキーボードショートカットやプラグインのインストールやアンインストールのためのコマンドを含んでいます。
ImageJのメニューコマンドにキーボードショートカットを割り当てます。そして,ショートカットサブメニューにあるショートカットをリストします。
ポップメニューからコマンドを選択し,テキストフィールドにショートカットを入力します。ショートカットは大文字か小文字,もしくは"F1"〜"F12"までのキーにしてください。すでに使用しているショートカットのリストを得るためにPlugins/Utilities/List Shortcutsを使います。
ユーザー特異的サブメニューにプラグインをインストールします。showAbout()メソッドを持つプラグインはHelp/About Pluginsサブメニューに自動的に追加されます。
プラグインを選択するために第1のポップアップメニューを使います。そして,どこにインストールするか選ぶために第2のサブメニューを選びます。コマンドは既にあるImageJのコマンドとは異ならなければなりません。ショートカット(オプション)は1文字か,"F1"〜"F12"のキーにしなければなりません。引数(オプション)はプラグインのランメソッドをパスするような文字列です。
Create/Shortcutsによって加えられたショートカットサブメニューのコマンドを除きます。また,Install Pluginによって加えられたコマンドやプラグインメニューでインストールされた,プラグインを除きます。メニューはImageJを再起動するまで更新されません。
このコマンドは階層構造をしたImageJコマンドを含む窓を開きます。ImageJと一致するコマンド(又はプラグイン)を開始するためには葉ノード(?)をクリックしてください。フォルダ内の構造を展開したり折りたたんだりするためには,樹形図の分枝ノード(フォルダの部分)をダブルクリックしてください。樹形図の分枝ノード(フォルダの部分)をクリックしてドラッグすると,そのフォルダの中の階層を含む子窓が別のウィンドウに表示されます。子ウィンドウ内の"Show Parent"をクリックすると,親窓が再度開かれます。コントロールパネルは,Cezar M. Tigaretによる貢献です。
ImageJのメモリ利用状況の連続的な最新のグラフを表示します。それは目盛のリーク(漏出)を検出するのに役立ちます。理想的には,いくつかの画像を開き,それらを操作し,閉じることができるはずです,そして,そのときのメモリ使用量は,開始したときと同じ程度のはずです。ImageJのステータスバーをクリックすると,強制的に,Javaの"ごみ集めソフト"が起動します。そしてそれは,使用されていないメモリを開拓するのを助けるかもしれません。altキーを押しながら,メモリモニターを起動すると,フレームグラバー(frame grabber:フレーム強奪)プラグインがどのように働いているかをシミュレートする640x860ピクセルの窓が開きます。
RGB画像を写す画面をコピーします,そしてその画像を新しい窓に表示します。[ctrl]+[shift]+[g](各キーを同時に)を押すと,もし,ダイアログがImageJのジェネリックダイアログクラスを元にしているなら,方法ダイアログボックスがアクティブな間に画面をキャプチャーします。Java1.3かそれ以降とImageJ 1.32eかそれ以降が必要です。
ImageJがサポートする3種類のタイプのうちの1つの形式に対したプロトタイプ(Javaソースコードとして)を含む新規テキストファイルを開きます。
PlugIns:画像を作成したりキャプチャーしたり,開いたりする。プラグインインターフェースを実行する。プロトタイプは"Hello!world!"とImageJの窓に表示する。他の例はhttp://rsb.info.nih.gov/ij/plugins/steps.htmlにStepMakerプラグインがあります。
PlugInFilter:アクティブな画像に処理をします。PlugInFilterのインターフェースを実行します。プロトタイプはアクティブな画像を2回ひっくり返します。他のサンプルはhttp://rsb.info.nih.gov/ij/plugins/inverter.htmlImage Inverterプラグインがあります。
PlugInFrame:ボタンやスライダーのようなコントロールを含む非画像窓を表示します。PlugInFrameクラスを拡張します。プロトタイプはテキスト領域を含む窓を開きます。他の例はhttp://rsb.info.nih.gov/ij/plugins/ip-demo.htmlIPデモプラグインがあります。
テキスト窓は,FileとEditという二つのメニューからなるコマンドによって作成されます。FileメニューにあるCompile and Runはプラグインをコンパイルして起動するために使います。EditメニューはCut/Copy/Pasteを含みません。しかし,この機能のためのキーボードショートカットは使用できます。プラグインのために選んだ名前に少なくとも一つはアンダーラインが含まれなければならないことに注意してください。
加工,コンパイルとランの許可のあるテキスト窓を開きます。Compile and Runコマンドのように,それはImageJがjavacコンパイラを含むJavaバーチャルマシン上で起動することが必要です。
プラグインをコンパイルして,実行します。ImageJはjavacコンパイラを含むJavaバーチャルマシン上で起動することが要求されます。javacはJavaランタイム付きのバンドル版ImageJ(windowsとLinuxバージョン)に含まれています。MacOSX javaにも含まれています。SunのJava2SDK(Software Development Kit) for windows,Linux,Solarisのユーザーは,ImageJを起動するコマンドラインにtool.jarを追加しなければなりません。マッキントシュユーザーはアップル社のJavaSDKをインストールしなければなりません。
ここに,Java2SDK(akaJDK)を使ったImageJを起動するためのwindowsコマンドラインの例を示します。
java -mx100m -cp ij.jar;C:\jdk1.4\lib\tools.jar ij.ImageJ
Java2SDKはC:\jdk1.4にインストールされているとみなしてください。Unixシステムではコマンドはいくつかは次のように見えるでしょう。
java -mx100m -cp ij.jar:\usr\local\jdk1.4\lib\tools.jar ij.ImageJ
-mx100オプションは,特にImageJが100MBまでRAMを使用することを決めるためのものです。仮想メモリが酷いことになるのを避けるために,この値が利用可能なRAMの2/3以上にセットしないように気を配ってください。(例えば,258MB のマシンで,-mx170mのオプションを付けるなど。)
windowsでは,ImageJを起動するためにJava2を使ったダブルクリック式のショートカットを作成することができます。
javaw -mx100m -cp ij.jar;C:\jdk1.4\lib\tools.jar ij.ImageJ
"javaw"はDOS窓を除くJavaアプリケーションを起動するためのjavaコマンドのバリエーションです。
09/12/03 加筆修正