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にアクティブウィンドウを戻しているのです。