MATLABで医療CT画像三次元化のサンプルを動かしてパソコンを検討した

MATLABで医療CT画像三次元化のサンプルを動かしてパソコンを検討した

MRI

「今使っているパソコンのスペックで、MATLABでCT画像の三次元化プログラミングは 問題なくできるだろうか?」

ここではMATLABのCT画像三次元化のサンプルを動かして、 どんなスペックのパソコンが必要かをチェックしています。

仕事でMATLABを使った3次元画像のプログラミングをすることになり、 新しいパソコンが必要かどうかを調査するのが目的です。

ちなみに、私が持っているパソコンのスペックはこんな感じです。

  • CPU:Core i5 1.6GHz
  • メモリ:8GB
  • グラフィックス:Intel UHD Graphics620
  • ストレージ:SSD 500B

じっさい私が会社でMATLABを使う目的が、 「CT画像の3次元構築アプリの開発」でして、かなり念入りに確認していきました。 それではいきましょう。

目次

どんなサンプルを動かしてみた?

今回動かしてみた三次元画像処理のサンプルは、 MathWorks公式サイトにある「三次元胸部スキャンからの肺のセグメント化」になります。

「三次元胸部スキャンからの肺のセグメント化」・ MathWorks

「三次元胸部スキャンからの肺のセグメント化」のプログラムを動かすためには、 Image Processing Toolbox Image Dataというサンプルデータも あわせてインストールする必要があります。

「Image Processing Toolbox Image Data」サンプルデータ・ MathWorks

また「Image processing Toolbox」が必須になります。 持っていない方はトライアルライセンスで試してみるのもいいかもしれません。

さて、このサンプルを簡単に説明すると 複数枚の人のCT画像データから「肺」を特定して、 三次元化して可視化するというプログラムです。

まずはMATLAB付属のVolumeViewerを使って3次元構築しています。 512x512ピクセルの胸部のCT画像データ318枚を読み込みます。

CT肺画像

ここから「動的輪郭手法」という方法を使って 肺をあぶり出していきます。 このあぶり出す作業を「セグメンテーション」とか「セグメント化」と呼んでいます。

読み込んだCT画像データから、肺以外の骨や臓器をマスクします。 余計な情報を削いでいくわけですね。

このマスクを作るために、 imageSegmenterというセグメントのためのMATLABツールを使って、 マスクのパラメーターを調査していきます。

調査したパラメーターをコードとして書いて、 マスクを作っていきます。

で、作ったマスクからセグメンテーションをして、 肺をあぶり出します。

それをVolumeViewerで3次元で可視化させます。

CT3d

セグメンテーションして三次元構築後に VolumeViewerで表示するとこんな感じになります。

三次元化された肺の部分は、マウスでドラッグすると 好きな角度から見ることができます。 3DCGソフトで見るような感じですね。

パソコンはストレスなく動いたか?

さて、このアプリケーションを動かした時に パソコンの動作はどうだったか?というと、 VolumeViewerの三次元表示が少し重たい感じがしました。

マウスで視点を変えてみると、 スムーズには表示されずにカクカクと動く感じです。

512x512ピクセルの胸部のCT画像データ318枚を読み込むときは スムーズに動作していましたが、 三次元表示がストレスを感じてしまうくらい重たい動作でした。

そして、セグメンテーションは最も時間がかかる処理なのですが、 これが約5分くらいかかります。

一瞬、エラーかと思って一時停止とかしてしまいましたが、 パソコンは一生懸命動いていました。 5分待ち続けたら肺が3次元表示されました。

メモリもかなりひっ迫していました。 セグメンテーション処理をしているときは7.5GBくらいまで使っていました。 メモリ8GBだとかなりキツイですね。

ちなみに骨の三次元可視化もできるのですが、 こちらもやっぱり表示がかなり重いです。

CT3d

ろっ骨を三次元表示していますが、 マウスで三次元の視点を変えるたびにカクカク動きます。

つまり、結論としては 「CT画像の三次元可視化は専用グラフィックスが必須」ということがわかりました。 また、「メモリも最低でも16GBは必要」ということもわかりました。 「セグメンテーションをするのにも高性能なCPUが必須」ということもわかりました。

私のおすすめは、ワークステーションクラスのパソコンですね。 スペックとしてはこんな感じがおすすめです。

  • CPU:XenoまたはCorei7
  • メモリ:16GB以上
  • グラフィックス:NVIDIA GeForce

やはり医療画像を扱うプログラムは、 ハイスペックパソコンが必須ですね。

まとめ

はい、というわけで今回のまとめです。

MATLABの公式サイトには、 CT画像から三次元化構築をするサンプルがあるので、 パソコンを検討しているならば一度試してみるのがいい。

画像データから再構築した三次元の肺を表示したところ、 Intelの内臓グラフィックスでは表示が遅くて使い物にならなかった。

三次元表示はNVIDIAなどの専用グラフィックスが必須。 演算処理が必要なセグメンテーションも長時間かかったので、 CPUも高性能なものが必須。

大量の画像を扱うので、 メモリもできるだけ多く搭載する必要がある。

最後に・・・

医療画像を扱えるような おすすめのMATLABパソコンも紹介しています。

パソコンを検討している方は、 よろしければのぞいてみてください。

厳選!おすすめMATLABパソコン10選

関連記事

MATLABの入門サンプルを動かしてパソコンを検討した

MATLABでディープラーニングのサンプルを動かしてパソコンを検討した

MATLABで動画ファイルから顔検出するサンプルを動かしてパソコンを検討した

MATLABでWEBカメラから顔検出するサンプルを動かしてパソコンを検討した

MATLABの最適化計算をしてどんなパソコンがいいかを検討した

Copyright (C) MATLABパソコンのおすすめスペック. All Rights Reserved.