ImageJ 学習:プラグイン開発手順?

2016-10-23 :  PCクリニック
Python、C言語、Perl、化学業界、硝子業界、グルコサミン、Firefox
ImageJ のプラグインは、Java 言語。
他に、スクリプトもあって、JavaScript、Python が使える。

ここにきて、やっと(欲しかった)ドキュメントを見つけた。
これ:「ImageJ API

<紙>としては、
未だ Java は、修行の身なので、
同じく修行の身ではあるが、
先ずは、JavaScript で作り、
それを、Java に変換する。


頑張って、1つ作ってみた。

偶数x偶数サイズの、
256階調画像を、
ImageJ で表示しておいて、
 これを、
サイズ半分x半分にし、
白黒反転して、
表示させる。


先ずは、JavaScript で:
// ----- k_JavaScript.js -----
var imp1 = IJ.getImage();
var ip1 = imp1.getProcessor();
var xx = ip1.getWidth();
var yy = ip1.getHeight();

x2=xx/2; y2=yy/2
var imp2 = IJ.createImage( "out", "8-bit", x2, y2, 1 );
var ip2 = imp2.getProcessor();
imp2.show();
for( var y=0; y<yy; y+=2 ){
for( var x=0; x<xx; x+=2 ){
var v = ip1.getf( x, y );
ip2.setf( x/2, y/2, 255-v );
}
}
imp2.updateAndDraw();
このファイルを、どこかに作る。
ImageJ で、対象の画像を読み込み、表示する。

k_JavaScript.js ファイルを、
ImageJ に、ドラッグ&ドロップして、
Ctrl + J で実行。

出来た。


次に、これを Java で書き直した。
// ----- k_Java.java -----
import ij.*;
import ij.gui.*;
import ij.plugin.PlugIn;
import ij.process.*;
import java.awt.*;

public class k_Java implements PlugIn{
public void run( String arg ){
// ------------- 以上は、或る意味、おまじない???

ImagePlus imp1 = IJ.getImage(); // var → ImagePlus
ImageProcessor ip1 = imp1.getProcessor(); // var → ImageProcessor
int xx = ip1.getWidth(); // var → int
int yy = ip1.getHeight();

int x2=xx/2; int y2=yy/2;
ImagePlus imp2 = IJ.createImage( "out", "8-bit", x2, y2, 1 );
ImageProcessor ip2 = imp2.getProcessor();
imp2.show();

for( int y=0; y<yy; y+=2 ){
for( int x=0; x<xx; x+=2 ){
int v = (int)ip1.getf( x, y ); // cast も必要
ip2.setf( x/2, y/2, 255-v );
}
}
imp2.updateAndDraw();

// ------------- 以下は、最初の部分に対応するもの
}
}
と云うことになる?

この k_Java.java ファイルを、
“ImageJ”の“/plugins/_kami/”フォルダに入れる。

そうして、
「Plugins」→「Compile and Run...」で、
“k_Java.class”を作って実行。

OKだ。


JavaScript から、java への書き換えは、・・・・・

1.最初(と最後)の必須部分(固定?)を追加。
  ( 忘れると、コンパイルエラーになる )

2.型宣言( var ) を適切なモノに換える。
  ( これも、コンパイルエラーになる )

3.代入文では変数の型を合わせる cast 追加。
  ( 忘れると、コンパイルエラーになる )

今回は、ここまで学習。


本日はここまで。


ImageJ 学習は続く。


見ていただいた序でとは厚かましい限りですが、
お帰りに投票して頂けるとなお嬉しいです。 ⇒ blogram投票ボタン


160924
関連記事

コメントの投稿

管理者にだけ表示を許可する

おきてがみ/blogram
blogram投票ボタン



おきてがみ

最新記事
カレンダー
02 | 2017/03 | 03
- - - 1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31 -
月別アーカイブ
カテゴリ
最新コメント
検索フォーム
リンク
プロフィール

<紙>

Author:<紙>
ようこそ。
「パソコンヲタクの雑記帳」
もろもろなことを綴っています。
パソコン ヲタクってねくら?
画像は kami でなく kani です。

カウンター(fc2、i2i) /Google Analytics


i2i(from 2010-08-24)
Total =
Today  =  
Yesterday=
アンチエイジング

Google Analytics
ブックマーク