Nature Methods誌を読んでいたら興味深いツールを見つけました。「Deep-Z」というツールです。
カメラは焦点があり、焦点以外の面にあるものはぼやけて写ります。
顕微鏡も同じで、特に蛍光顕微鏡ではよく見られます。(ぼやけることを回避するために、共焦点顕微鏡や LightSheet顕微鏡が開発されていますが。)
Deep-Zでは、このぼやけを逆に利用し、Deep Learningを適応することで、焦点を自在に変えたものを仮想的に作りだすようです。
方法としてはGANを用いることでリアルに近いものを生成しています。
1枚の蛍光画像から、Z方向に上下10枚ずつの画像を生成することができるようです。
つまり2次元の画像から、3次元のスタック画像を作りだします。
論文:https://www.nature.com/articles/s41592-019-0622-5
GitHubページ:https://github.com/puppy101puppy/Deep-Z
英語記事:https://protocolsmethods.springernature.com/users/47824-aydogan-ozcan/posts/55017-a-virtual-journey-within-a-fluorescent-sample-3d-digital-refocusing-of-fluorescence-images-using-deep-learning
動かしてみる
コードは、Fijiのpluginとしてコンパイルされたものが公開されています。
インストールはpluginフォルダに入れるだけのため、非常に簡単です。
モデル、デモ画像は開発者が公開しているものを利用することが出来ます。(http://bit.ly/deep-z)
線虫のデモ画像です。これを入力とします。
かなりぼやけています。
画像は1024×1024のみ対応のため、サイズが異なるときはimageJの[Canvas Size]機能で調整しましょう。
使用するときは画像のパスを指定して読み込んで使うため、ストレージのどこかに保存しておきましょう。
動かすには[Process]タブの[Deep-Z Digital Propagation Network]をクリックします。
ここで、モデルのフォルダのパスと画像のパスを指定し、[OK]で開始です。
*オプションを[Generate Stack]にしておくと、スタック画像を生成してくれます。
開始するとまず、マスク画像が現れます。おそらく一定以上の輝度値がある領域のみを処理するようです。
一枚当たり十数秒の時間で生成されました。
ぼやけていた画像の焦点があって、体部の中の粒子がきれいに見えるようになりました。
生成された画像はかなりリアルです。
感想
デモ画像を適用してみて、焦点がピッタリの画像が生成されて驚きました。
やはりGANはリアルな画像を作り出すのに長けているのではないでしょうか。
使い方としては、例えば画像をとった後で「もっと焦点を変えて撮影すればよかった」となることがあります。
そういった場合はこのソフトを使うことで、画像を有効利用することが出来るのではないでしょうか。
自分の画像でトレーニングしてモデルを作ることはまだできないようですが、出来るようになればさらに使いやすくなると思います。