京橋のバイオインフォマティシャンの日常

南国のビーチパラソルの下で、Rプログラムを打ってる日常を求めて、、Daily Life of Bioinformatician in Kyobashi of Osaka

バーチャルスライドスキャナー画像(.ndpi)からオリジナルTIFFイメージを取り出す際のTips〜ギガバイトイメージの画像解析入門〜

はじめに

今回、バーチャルスライドスキャナー画像(.ndpi)の取り扱い方を取り上げる。

.ndpiという画像フォーマットは、浜松ホトニクス社が提供するHamamatsu formatの1つである。

NDPIファイルは「独自メタデータを持つシングルファイルTIFF-likeな形式」であり、一般的によく使われるTIFFとかPNGと比べて、なかなか扱いにくい形式である。

また、TIFF-like形式というのは実際、Compress TIFF 形式で格納されていて、ImageJではその形式に対応したプラグインを導入する必要がある。

NDPIToolsのセットアップ

NDPITools HPから、ndpi2tiff、ndpisplit、ImageJ pluginsをダウンロードして、セットアップしてみる*1

まず、Mac版wgetのセットアップは、以前の記事を参考のこと。

skume.hatenablog.com

また、Fiji/ImageJについては以下のURLでダウンロード・インストールしておく。

https://imagej.net/Fiji.html#Downloadsimagej.net

以下、MacOSX版とLINUX版でのセットアップについて概説する。

#MacOSX版
#Pkg installerのダウンロード
wget https://www.imnc.in2p3.fr/pagesperso/deroulers/software/ndpitools/download/ndpitools-1.8/macosx/ndpitools-1.8.pkg

#インストール
open ndpitools-1.8.pkg
rm -rf ndpitools-1.8.pkg
#あるいは
#ndpitools-1.8.pkgをダブルクリックして、インストールする。

#パスの確認
which ndpi2tiff
#/usr/local/bin/ndpi2tiff

which ndpisplit
#/usr/local/bin/ndpisplit 

#ImageJ pluginsのインストール
wget https://www.imnc.in2p3.fr/pagesperso/deroulers/software/ndpitools/download/ndpitools-1.7.2/NDPITools_.jar

#.jarファイルをFiji/ImageJのプラグインフォルダに移動させる
mv ./NDPITools_.jar /Applications/Fiji.app/plugins

一応、Linux版のセットアップについてもふれておく。

#Linux版のセットアップ
#ndpi2tiff
wget https://www.imnc.in2p3.fr/pagesperso/deroulers/software/ndpitools/download/ndpitools-1.8/lin64/ndpi2tiff
chmod a+x ndpi2tiff
sudo mv ndpi2tiff /usr/local/bin

#ndpisplit
wget https://www.imnc.in2p3.fr/pagesperso/deroulers/software/ndpitools/download/ndpitools-1.8/lin64/ndpisplit
chmod a+x ndpisplit
sudo mv ndpisplit /usr/local/bin

# プラグインの設定
wget https://www.imnc.in2p3.fr/pagesperso/deroulers/software/ndpitools/download/ndpitools-1.7.2/NDPITools_.jar
#Fiji/ImageJのプラグインフォルダに移動させる

NDPIテストファイルのダウンロード

次に、テストデータ(CMU-1.ndpi)をダウンロードして、実行例を概説する。

#フォルダ作成
mkdir test01

#フォルダ内に移動
cd test01

#テストデータのダウンロード
wget http://openslide.cs.cmu.edu/download/openslide-testdata/Hamamatsu/CMU-1.ndpi

ndpisplitコマンドを用いたNDPIファイルの展開

ndpisplitを使って、CMU-1.ndpiからオリジナルTIFFイメージを抽出する。

#(デフォルト: 全部出力、JPEG圧縮TIFFファイル出力)
ndpisplit CMU-1.ndpi

#メモリ4000MB制限、JPEG出力、x1.25の抽出、ログ出力`-K`
ndpisplit -m4000j75 -x1.25 -K CMU-1.ndpi

#メモリ4000MB制限、非圧縮出力、x5の抽出、ログ出力`-K`
ndpisplit -m4000n -x5 -K CMU-1.ndpi

Fiji/ImageJでのCompress TIFFのインポート&エクスポート

FijiでCompress TIFFを読み込むには、Pluginsメニュー > NDPITools > Open TIFF ...を選択して、出力したTIFFファイルを選択する。

CMU-1.ndpiイメージはこんな感じの画像。

次に、PNGファイルとしてエクスポートしてみる。

エクスポートしたい画像のウインドを選択した後に、Fileメニュー > Save As > PNG ...を選択して、画像を保存する。

ImageJマクロでの実行

(今後、作成予定)

まとめ

バーチャルスライド画像からのTIFF画像抽出をまとめてみた。

ただ、バーチャルスライド画像は数百MGとか1GB以上の画像データが多く、 あまりスペックが低いラップトップで扱うと、 PCがトブ時があるのでご注意あれ。

また今後、この画像解析についても扱っていきたい。

ImageJ & 画像解析に関する入門書

以下に、ImageJ関連の図書を列挙しておきます。

補足

Fiji/ImageJのPluginsを使った画像抽出

どうもPCに負荷がかかりそうなので、非推奨ではあるけども、 Fiji/ImageJのPluginsでも画像抽出は可能である。

Fiji PluginsでCompress TIFFを読み込むには、Pluginsメニュー > NDPITools > Custom extract to TIFF ...を選択して、NDPIファイルをを選択する。

非圧縮TIFF出力の設定は以下の通りである。

でOKを押すと、同フォルダ内にTIFFファイルが出力されるので、 その画像をFiji/ImageJのツールバーにドロップすれば、画像が開くはず。

もしJPEG圧縮TIFFファイルで出力した場合には、FijiでCompress TIFFを読み込むには、Pluginsメニュー > NDPITools > Open TIFF ...を選択して、出力したTIFFファイルを選択して開く。

参考資料

NDPITools

https://www.imnc.in2p3.fr/pagesperso/deroulers/software/ndpitools/www.imnc.in2p3.fr

OpenSlide - Hamamatsu format

openslide.org

ndpisplit リファレンス

https://www.imnc.in2p3.fr/pagesperso/deroulers/software/ndpitools/ndpisplit.htmlwww.imnc.in2p3.fr

Deroulers et al., Analyzing huge pathology images with open source software, Diagnostic Pathology 8:92 (2013).

diagnosticpathology.biomedcentral.com

*1:ndpi2tiffについては、用途的にもあまり使わないと思われる。