最近は二光子顕微鏡やlattice顕微鏡などで3次元データがきれいに撮れるようになってきました。解析する機会も多いです。
3Dデータ解析の有名なツールとしてImarisがありますが、高価な有料のソフトウェアです。
ImageJ Pluginには3D Viewerもありますが、あまり機能が充実していません。
そこでVaa3Dというソフトを見つけました。名前は「3D Visualization-Assisted Analysis」の意味です。
オープンソースで、特に神経科学研究向けのソフトウェアです。
開発者ホームページ:https://alleninstitute.org/what-we-do/brain-science/research/products-tools/vaa3d/
githubのwiki:https://github.com/Vaa3D/Vaa3D_Wiki/wiki/Vaa3D-Wiki
論文:https://www.nature.com/articles/nprot.2014.011
日本語の参考記事:http://www.brain.rcast.u-tokyo.ac.jp/wp/nebula/graphics/vaa3d
#インストール・使い方
インストールはホームページからBinary releaseをダウンロードして解凍するだけです。中のvaa3d_msvc.exeによってGUIが起動します。
後は画像をドラックアンドドロップすれば開くことができ、[See in 3D]ボタンで3次元表示ができます。
留意することとしては、Vaa3Dは日本語パスには対応していないという点です。
C:などからフルパスですべて英語のディレクトリの中に入れましょう。
そうしないとエラーになります。(例えば、「ドキュメント」や「デスクトップ」などの日本語のフォルダに入れているデータは開こうとするとエラーになります。)
また、3D表示では、PCのグラフィック処理に負荷をかけます。GPUの使用が望ましいです。
以下に主な機能を紹介します。
##Viewerとしての機能
MIPやmIP、Alphaで投影処理を変えると見え方が違います。
Volume Cutで断面をみることができます。
他にも様々な設定があります。
##Virtual Fingerによるマーカー機能
3D表示上に右クリックし、「1(2) right-click to define a marker」で3次元内にマーカーをつけることができます。(2クリックの方が2方向から定義できるため、正確につけられる。)
他にも「1-right stroke...」で一筆書きができたり、「Series of right click.....」で点をつないだ線を描くこともできました。
例:マーカー(赤)と線(青)(適当な場所をマーキングしました)
##メッシュ作成機能
「Surf/Object」タブの「Load/Save Surf」ボタンでメッシュを作成することができ、画像とは別のデータとして保存できます。
##4次元解析
時系列を含めた4次元のデータを見るには、一つのフォルダに連番で3次元のスタック画像ファイルを入れることですることができます。
この連番のスタック画像の作成方法を記します。
まずImageJ(Fiji)で4次元画像を開き、xyztのハイパースタック状態にしましょう。(複数のchannelがある場合は、RGB画像に変換する)
ImageJのマクロで以下のようなコマンドを実行します。
filename = "<開いている画像の名前>";
outputdir = getDirectory("output_folder");
setBatchMode(true);
selectWindow(filename);
Stack.getDimensions(width, height, channels, depth, frame);
for (i=1; i<=frame; i++) {
selectWindow(filename);
run("Duplicate...", "title=" + filename + "-" + i + ".tif duplicate frames=" + i);
saveAs("Tiff", outputdir + "/" + filename + "-" + i);
close();
}
setBatchMode(false)
これを実行するとまずフォルダ選択のGUIが開き、選択したフォルダにフレーム順に連番がついたファイルが保存されます。
連番スタック画像が作成出来たら、Vaa3Dの[Import general image series to an image stack..]で連番スタック画像のどれかを選択して開き、次のGUIで出てくる最後の項目を「Pack images in `Channel' dimension」にしましょう。
これで4次元画像として開くことができました。
(RGB画像を読み込ませた場合は5次元ということになります。)
#終わりに
Vaa3Dにはまだたくさんの機能があり、全て把握しきれていません。
また自分でプラグインを作成して、機能を追加することも可能のようです。(言語はC++)
ここまでの機能があってオープンソースというのが驚きです。
医療分野ではMDCTやMRIで3次元データが取得可能であり、解析ソフトは3D Slicer( https://www.slicer.org/ )が便利そうです。また別記事にする予定です。