3次元画像を扱ってみた

医療系の3次元画像サンプルを動かしてパソコンを検討した

MATLABのサンプルを動かしてみた

MRI

医療系の画像データを扱う業務もありまして、 MATLABでプログラミングをする予定です。

それもあって、 実際にMRIやCTの3次元画像を表示するサンプルを動かしてみて、 今のパソコンで動くのかどうかを調査してみました。

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

会社の今の業務で使っているパソコンで ちゃんと動くのかを確認してみます。

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

ちなみにこのサンプルは、 Image processing Toolboxを使っています。

あと、サンプルデータ(Image Processing Toolbox Image Data)も必要なので、 それもインストールする必要があります。

「Image Processing Toolbox Image Data」・ MathWorks

どんな処理をしているか?

512x512ピクセルの胸部のCTデータ、318枚から MATLAB付属のVolumeViewerを使って3次元構築しています。

CT肺画像

このCTデータから、動的輪郭手法という手段を使って、 肺をあぶり出そうというプログラムです。

ひとつの塊を見つけるので、 セグメンテーションとか、セグメント化とか言われています。

読み込んだ画像データから、肺以外の骨や臓器をマスクします。

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

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

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

それをvolumeViewerで3次元で可視化するというサンプルでした。

パソコンは問題なく動いたか?

CT画像の読み込みは問題ないですが、 volumeViewerでの3次元表示が少し重い感じです。

CT3d

3次元の可視化はやはり、 NVIDIAなどのグラフィックスが必要なのだと感じています。

メモリもかなりひっ迫しています。 7.5GBくらいまで使っていました。 メモリ8GBだとかなりキツイ。

そして、一番問題なのは、セグメンテーションです。

セグメンテーションだけで、5分くらい実行していました。

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

CT3d

CPUもCorei7やXeonなどのハイスペックなものがあると、 ストレスが減るかと感じています。

ちなみに、3次元化された肺も かなり重くて、このパソコンでは実運用に耐えられないことが、 はっきりとわかりました。

まとめ

医療系のCT画像から3次元化したものを可視化するには、 NVIDIAなどのグラフィックスが必須です。

メモリ量も8GBだと使い切るリスクがあるため、 枚数の多い画像データを扱う場合は、16GB以上は必要です。

セグメント化にはCPUパワーが必要なので、 Corei7やi9、XeonなどのハイスペックのCPUがお勧めかと感じています。

やっぱり医療系の画像を扱うには、 相当ハイスペックなパソコンが必要だということが 痛いほどわかりました。

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