FindMaximaを使う
[Process -> FindMaxima]を使うと、画面上の輝点などを一瞬で検出してくれるため、輝点追跡をする際の初期パラメータを与えるためなどに重宝する。Pluginから当然利用することが可能。MaximumFinderクラス
FindMaximaを使うには、MaximumFinderクラスを利用する。import ij.plugin.filter.MaximumFinder;
import java.awt.Polygon;
...
ImageProcessor ip = imp.getProcessor();
double tol = 10;
MaximumFinder mf = new MaximumFinder();
Polygon mp = mf.getMaxima(ip, tol, true);
...
- まず、
MaximumFidner
オブジェクトを作成する。 - 輝点の検出には、
MaximumFinder
のメソッドgetMaxima(ImageProcessor ip, double tolerance, boolean excludeOnEdges)
を使う。ip
で現在開いている画像のImageProcessorを渡す。tolerance
は輝点を検出する際の閾値を決める。excludeOnEdges
は、画面のエッジ上の輝点を検出するかどうか決める。 - 検出された輝点の位置情報を、
java.awt.Polygon
型として返す。
- 格納される順番は、輝度値が高い順番となる
- 輝点の座標情報には以下のようにアクセスすればよい
int ind = 0;
double x = mp.xpoints[ind];
doulbe y = mp.ypoints[ind];
Polgon
のメンバ変数であるxpoints, ypoints
を使えば、座標データに直接アクセスすることが可能である。これを利用すれば、輝点の自動検出や輝点のトラッキングなどに応用することが可能となる。以上
0 件のコメント:
コメントを投稿