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

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

ImageJ / Python Tips: ImageCalculatorの使用

 ImageJのImageCalculatorは、2つの画像の間で演算を行う機能です。この機能も、当然ながらマクロで記録することができ、そのマクロを再生して動かすことが可能ですが、Python (Jython) を使って IJ.runでそのマクロを書き換えるとうまく動きません。おそらく、Jythonにおいては、IJ.runで動かせるのはアクティブなウィンドウ一つだけのようで、2つウィンドウを使うImageCalculatorはうまく動かせないようです。

 これに関しては、IJ.runを使うのではなくpluginライブラリを使うことにしました。

from ij import plugin →pluginライブラリ使用の宣言

----------------------
ic = plugin.ImageCalculator() →ImageCalcuratorのインスタンス
imp0 = ic.run("Add create", imp1, imp2) 
    → 画像 imp1とimp2を加算してimp0に代入する
    "Add create" というところに Imagecalcurator で使うコマンドを記述

ImageCalcuratorのコマンドとしては、

Add createのほかに
Subtract create, Multiply create, (以下、create省略) Divede, AND, OR, XOR, Min, Max, Average,  Defference, Copy, Transparent-zero
があり得ます。

あるいは、インスタンス化しない場合は

from ij.plugin import ImageCalculator
----------------------------
imp0 = ImageCalculator().run("Subtract create stack", imp1, imp2)

これでも可です。

--------

※お断り
 当記事は、ImageJ - Fijiディストリビューションの記事執筆時点での最新バージョンを前提とした記事です。ImageJのオリジナルバージョンだと、環境設定をご自分で整備しない限り、同様に動作しない可能性があります。