CTから腫瘍と臓器を3D構築して、手術のイメージを掴むことを目的にしています。前回の記事の続きです。
前回の記事では、3D Slicerを使って副腎腫瘍・腎臓・大動脈・大静脈・骨のSTLファイルを書き出しました。今回は、Blenderを使って、仕上げをします。Blenderは、バージョン2.90を使用しています。
目次
- 3D Slicerを使って、3Dを作成(前回の記事)
1-1. Segment Editorで、PaintとGrow from seedsを使って臓器と腫瘍の形を選択し3D化
1-2. Scissors、Smoothing3Dを微修正
1-3. Segmentationで、STLファイルを書出 - Blenderを使って、3Dを仕上げ (今回の記事)
2-1. STLファイルを読込
2-2. 色付け
2-3. レンダリング
2-4. (おまけ)オペ室の背景をつける
2-1 STLファイルをBlenderで読込。
ファイル→インポート→STLを選択します。

Background以外を選択。スケールは、0.1にする。前方は「xが前方」、「Yが上」を選択。スケールを忘れると、どでかい造形が生まれてしまいます。

インポートしても何も変わらない?いや遠くのほうに、います。
Blender基本操作:
・マウスホイールを押したままのドラッグで、視点を回転
・Shiftを押しながらマウスホイールドラッグで、視点の平行移動
・オブジェクトを選択し、Gを押すことで移動。G押してX、G押してY、 G押してZを押すことで、軸に合わせた移動
・オブジェクトを選択し、Rを押すことで、回転
手前の正方形は、選択してXを押すことで消すことができます。消しましょう。

左クリックドラッグをすることで出てくる四角を使って、犬が入るように選択してください。そして、Gを押すことで移動できます。G押してX、G押してY、 G押してZを押すことで、軸に合わせた移動ができます。そして、Rを押すことで、回転できます。

Gと軸移動を駆使して真ん中に持ってきたところ。

Rを使って、回転させたところ。RのあとXを押して軸固定して回転してます。

2-2 色付け
何も選択していない状態で、画面右側のRender En…(Engine) と書かれているところを、Eeveeからcyclesに変更してください。cyclesのほうが、画質がいいです。

腎臓に色を付けましょう。左腎を選択します。そして、画面右側の毬みたいなやつを押して、新規を押します。腎臓の表面に、素材みたいなものを追加できました。

ベースカ(ラー)の右側の〇を押して、赤色にします。

左右の腎臓で色が違うとおかしいので、同じ色にしましょう。下の画像のように、Material.002の右側にある下↓を押して、マテリアルをコピーを押してください。

反対側の右腎を選択→毬を選択→新規を押す。さきほど同じように、↓を押して、今度は「マテリアルを貼り付け」をおしてください。すると、左腎の色と同じになります。

次に骨に色を付けてみましょう。骨をクリックして選択してください。右の毬のマークを押して、新規を押してください。骨は反射しないので、粗さというところを少し数値をあげてください。マットになります。

こんな感じで、血管と腫瘍にも色をつけてください。
さっきから色付けやってるけど、全然色がつかない!?安心してください、ついてますよ。確認してみましょう。まず、画面を2画面にしましょう。下の〇で囲んだところをクリックして左側にドラッグすると、2画面になります。

すると、以下のような画面になります。左の画面で、Zを押して、レンダーというのを選択しましょう。レンダーというのが、色付けした結果の画面と思ってください。この画面を開くと、パソコンの処理が重くなります。

このままだと、かすかに腎臓しか見えないほど暗いです。光がありませんので、ライトを追加しましょう。

Shift + A を押すと、以下のメニューがでてきます。ライト→サンを追加してください。

サンの位置が良くないので、サンを選択してGを押して、移動させてください。Gを押したあとにZを押すことで、Z軸移動ができます。

1つのサンだけでは暗かったので、もう1つ追加します。

影を落とす地面がないので、地面を追加します。Shift + Aをおして、メッシュ→Planeを押します。

Planeを追加した後、Sを押して、地平線の彼方まで拡大してください。すると、以下のように影が落ちます。

2-3 レンダリング
ついに、仕上げに向かいます。写真1枚を仕上げたいです。でもまだカメラがどこを撮影するのか決めていません。このままレンダリングすると、何も映らないか、どこか予想外なところが映ります。アングルを決めていきましょう。下の画像の右側、映画の映写器のようなやつをおしてください。

そうしたら、わけわからないところが映りました。右上の〇を付けたところ、左矢印を押しましょう。

ビューというタブをクリックして、Camera to Viewをチェックしてください。これで、視点がカメラのファインダーから覗いた映像になります。

マウスホイールのドラッグと、Shift押しながらのマウスホイールのドラッグで、お気に入りの視点を見つけて下さい。さきほど端っこからだした右側のやつが大きくて邪魔という場合は、パネルの左端をドラッグして、右に持っていくと小さくなります。下の図は、小さくしていっている図です。

視点をいい感じの場所に持ってきました!

左上のレンダーというところから、Reder Imageを選択してください。

しばらくレンダリングに時間がかかりますが、以下のような画像ができます。

他の視点でもパシャリ。副腎腫瘍が静脈・動脈に巻き付いているのがよくわかります。

写真を保存する場合には、左上の画像を押して、保存を押します。

2-4. (おまけ)オペ室の背景をつける
せっかくだから、3Dをオペ台に乗せたい!そのためには、背景画像が必要になります。Blenderの背景画像は、HDRIというファイルです。以下のHDRI HavenというサイトからフリーのHDRI素材がダウンロードできます。hospitalと検索するとオペ室がでてきますのでダウンロードしてみましょう。今回は8Kを使っています。ここのサイトは、ほぼ全部が著作権フリー(正確にはCC0という規格)です。
背景に、HDRIを設定しましょう。
何も選択していない状態で、右側の地球マークを押します。ノードを使用を押します。

カラーの右の〇を押すと、左側にパネルが出てきます。そこから、環境テクスチャを選択します。

開くを押して、さっきダウンロードしたHDRIファイルを開きます。

左側をみてください。急に病院内に移動しました。ただ、病院の床が見えていません。さっき、Planeで床を作ってしまったからです。Planeを消してしまえばいいでしょうか。ただ、HDRIには床がないので、Planeを消してしまうと影がつきません。どうしたらよいでしょうか。

Planeを選択して、□のマークを押して、可視性というところを開いて、シャドウキャ(シャドウキャッチャー)にチェックを入れて下さい。そうすると、Planeは影だけは表示して、本体は非表示の状態になります。

シャドウキャッチャーが表示されない場合は、だいたいRender EngineがEeveeのままになっています。Cyclesに変更してください。

あとは、マウスホイールのドラッグと、Shift押しながらのマウスホイールのドラッグで、Goodな視点を見つけて下さい。これなかなか、大変です。どうしても思い通りにならないときは、犬の体を回転したり、カメラ自体を移動させたりして、調整してください。

良い視点にうまく調整できたら、レンダリングしましょう!

最後に今回の3D作成方法の注意点
3Dの画像で注意しなければならないのが、腫瘍境界が不正確という課題です。CTだと腫瘍の境界があいまいなところがありますが、3Dを構築するにあたって境界が半ば自動的・強制的にに選択されます。そのため、3Dでは微細な浸潤などは見逃されてしまう可能性があります。また、当作成方法では3Dに再現性がないのも大きな欠点です。