省型旧形国電の残影を求めて

戦前型旧形国電および鉄道と変褪色フィルム写真を中心とした写真補正編集の話題を扱います。他のサイトでは得られない、筆者独自開発の写真補正ツールや補正技法についても情報提供しています。写真補正技法への質問はコメント欄へどうぞ

ImageJ / Python プログラミング Tips: 指定した画像をアクティブウィンドウに設定する

 ImageJWM.getActiveWindow()で複数の画像を開いているときに、現在アクティブなウィンドウの画像を ImagePlus画像として取得するには、下記のように行います。

from ij import IJ, ImagePlus
imp = IJ.getImage()

 

この他 WindowManagerを使うとアクティブウィンドウや画像を取得するメソッドがあります。

from ij import WindowManager as WM

WM.getActiveWindow()
WM.getCurrentImage()
WM.getCurrentWindow()

 

 逆に、複数の画像を開いているとき、特定の画像 (ImagePlus) をアクティブウィンドウに設定するにはどうしたらよいでしょうか?これは下記のように設定します。

from ij import IJ, ImagePlus

[この間、imp1, imp2を読み込むコード]

imp1.show()
imp2.show()
IJ.selectWindow(imp1.getTitle())

 selectWindowsは引数としてImagePlusではなく、ウィンドウタイトルを取りますが、ImagePlusのgetTitleメソッドでタイトルを取得し、それを引数として入れることでウィンドウを選択します。上のコードでは、imp1をいったん表示して、次にimp2を表示していますが、その時点でアクティブウィンドウはimp2に移ります。それを、IJ.selectWindow(imp1.getTitle()) で imp1にアクティブウィンドウを戻しているのです。