3D ビューワ¶
3D ビューワは DICOM 画像スタックから 3D ボリュームを再構成し、 OpenGL 3.3 を使ったリアルタイムレンダリングで表示します。 メッシュ(サーフェスモデル)の表示・編集にも対応しています。

GPU 要件
3D ビューワには OpenGL 3.3 Core Profile 対応の GPU が必要です。 仮想マシンや古い GPU では起動しない場合があります。
起動方法¶
- メインスクリーンでシリーズを右クリック → 3D ビューワで開く
- 2D ビューワのメニュー → 3D ビューワ
画面構成¶
| エリア | 説明 |
|---|---|
| OpenGL キャンバス | 3D 画像を表示するメインビューポート |
| コントロールパネル | スライダー・チェックボックス・テーブル(右側) |
| Scene Objects テーブル | ROI グループとメッシュを統合管理するリスト |
| Stats 詳細エリア | 選択オブジェクトの形状統計を表示 |
| 計測エリア | 距離・3D ライン計測の操作パネル |
| メニューバー | ファイル・表示・編集 |
カメラ操作¶
| 操作 | 動作 |
|---|---|
| 左ドラッグ | 回転(オービット) |
| 右ドラッグ | 平行移動(パン) |
| マウスホイール | ズームイン / ズームアウト |
| 中クリックドラッグ | 平行移動 |
| R | 視点をリセット |
ボリューム表示¶
ボリュームレンダリング¶
DICOM スタックをそのままボリュームとして表示します。 CT 値(HU)に基づいて透明度・色が自動設定されます。

不透明度・輝度の調整¶
右パネルの Opacity スライダーと Brightness スライダーで調整します。
Cinematic Rendering¶
モンテカルロ・パストレーシングを使って光の散乱・セルフシャドウ・物理ベース反射を再現する 高品質なボリュームレンダリングモードです。 Rendering Mode で「Cinematic Rendering」を選ぶと有効になります。
プログレッシブ蓄積
カメラやパラメータが静止している間、フレームごとにサンプルが加算され ノイズが自動的に減少します。スライダーを動かすと蓄積がリセットされます。
ライト設定¶
| スライダー | 範囲 | 説明 |
|---|---|---|
| Light Azimuth | 0〜360° | 光源の水平方向の角度。0 = 正面、90 = 右、180 = 背面 |
| Light Elevation | −90〜90° | 光源の仰角。0 = 水平照射、90 = 真上から照射 |
| Light Intensity | 0〜4.0 | 光源の強さ。大きいほど明るく陰影が強くなる |
| Ambient Intensity | 0〜1.0 | 環境光の強さ。増やすと影の中も明るくなる |
| Shadow Softness | 0〜30° | 影の柔らかさ(光源の見かけ上の半角度)。0 = 点光源(硬い影)、大きいほどソフトな影 |
| Exposure | 0.1〜4.0 | トーンマッピング前の輝度スケール。全体が明るすぎ・暗すぎる場合に調整する |
| Samples / Frame | 1〜16 | 1 フレームあたりのサンプル数。多いほど高品質だが描画が重くなる |
マテリアル設定(Material)¶
組織境界の見た目(マット感・光沢・クリアコート)を物理ベースマテリアル(PBR)で制御します。 光があたった境界面を Cook-Torrance GGX BRDF でシェーディングします。
| スライダー | 範囲 | 説明 |
|---|---|---|
| Roughness | 0〜100 | 表面の粗さ。0 = 完全な鏡面(ツヤツヤ)、100 = 完全拡散(マット)。骨は 70〜90、皮膚は 20〜40 が目安 |
| Specular | 0〜100 | 非金属素材の基本反射率(F0)の強さ。Roughness が低いほど効果が大きくなる |
| Clearcoat | 0〜100 | クリアコート層の強さ。基材の上に薄い透明コートを重ね、皮膚・膜のような濡れ感・光沢を表現する |
| Clearcoat Roughness | 0〜100 | クリアコート層の粗さ。0 に近いほど鋭いハイライト。既定値 5 が皮膚・骨として自然 |
| Surface Sensitivity | 1〜100 | サーフェス検出の感度。不透明度グラディエントがこの値以上の点に BRDF を適用する。推奨: 10〜20 |
Surface Sensitivity の目安¶
値が大きい(50〜): ほぼ HG ボリューム散乱のまま → Roughness / Specular の変化が出にくい
値が小さい(10〜20): 組織境界に BRDF が適用される ← 通常はここから始める
値が極小 (1〜5): 内部もBRDF化して不自然になる
推奨プリセット¶
| 用途 | Roughness | Specular | Clearcoat | Clearcoat Roughness | Surface Sensitivity |
|---|---|---|---|---|---|
| 骨(マット) | 75 | 40 | 0 | 5 | 15 |
| 軟部組織 | 55 | 50 | 10 | 5 | 12 |
| 皮膚(ツヤ感) | 30 | 60 | 40 | 5 | 10 |
3D 裁断(クリッピング)¶
3D バウンディングボックスで表示範囲を直方体に切り出し、 ボックス内部のみをレンダリングする機能です。 ボリュームレンダリング (VR) / MIP / Ortho Slices / Cinematic Rendering の すべての表示モードで利用できます。

使い方¶
- 右パネルの 3D Clipping にある Edit Clip Box チェックボックスを ON にする
- キャンバス上にバウンディングボックスが表示される (境界面は半透明、辺は白で描画されます)
- ボックスをマウスで操作して、表示したい領域を指定する
- ボックスを狭めると、その内部だけがレンダリングされる (最大まで広げると全体表示と同じになります)
マウス操作¶
| 操作 | 動作 |
|---|---|
| 面をドラッグ | その面を動かして裁断領域をリサイズする |
| Shift + ドラッグ | ボックス全体を平行移動する |
| ボックスの外をドラッグ | 通常どおりカメラを回転する |
操作中の面は強調表示(ハイライト)されます。
裁断はチェックを外しても維持されます
Edit Clip Box チェックボックスは、バウンディングボックスの 表示と編集の切り替え のみを行います。 一度設定した裁断領域は、チェックを外しても、 また別の表示モードに切り替えても そのまま適用され続けます。
裁断を解除して全体表示に戻すには、Reset Clip Box ボタンを クリックして領域を立方体全体に戻してください。
| ボタン / チェックボックス | 動作 |
|---|---|
| Edit Clip Box | バウンディングボックスの表示・編集の ON / OFF |
| Reset Clip Box | 裁断領域を立方体全体(裁断なし)に戻す |
Scene Objects テーブル¶
ROI グループとメッシュを 一つのテーブルで統合管理 します。 コントロールパネルの Scene Objects セクションに表示されます。
テーブルの列構成¶
| 列 | 内容 | 操作 |
|---|---|---|
| (チェックボックス) | 表示 / 非表示 | クリックで切り替え |
| Name | オブジェクト名 | 選択はこの列をクリック |
| Type | ROI または Mesh |
— |
| ■(カラーチップ) | 表示色 | クリックでカラーピッカーが開く |
オブジェクトの選択¶
テーブルの行をクリックするだけで選択状態になります。 選択したオブジェクトは Generate Mesh from ROI や Export Mesh to STL、 Compute Stats などの操作対象になります。
テーブルへの自動追加
- ROI: DICOM 読み込み時・ROI 描画時に自動でリストアップされます。
- Mesh: メッシュファイルを開いたとき・ROI からメッシュ生成したときに追加されます。
形状統計(Stats)¶
選択したオブジェクトのサーフェス面積・体積・主軸径を計算します。 処理はバックグラウンドスレッドで行われるため、計算中も操作を継続できます。
計算できる統計値¶
| 統計項目 | 単位 | 説明 |
|---|---|---|
| Surface Area | mm² / cm² | 三角形面積の総和(サーフェスモデルベース) |
| Volume | mm³ / mL | 符号付き四面体分解(発散定理)による体積 |
| Long Diameter | mm | PCA 主軸(第1主成分)方向の最大長径 |
| Mid Diameter | mm | PCA 主軸(第2主成分)方向の中間径 |
| Short Diameter | mm | PCA 主軸(第3主成分)方向の最小短径 |
ROI の Stats
ROI タイプを選択して Stats を計算すると、内部で一時的にマーチングキューブスを実行して サーフェスを生成してから計算します。3D メッシュが表示されなくても計算可能です。
使い方¶
- Scene Objects テーブルで計算したい行を選択する
- Compute Stats ボタンをクリックする
- 計算完了後、テーブル下の Stats 詳細エリアに結果が表示される
=== tumor_mesh ===
Surface Area: 1 234.5 mm² (12.35 cm²)
Volume: 4 567.8 mm³ (4.57 mL)
Long Diameter: 45.20 mm
Mid Diameter: 38.10 mm
Short Diameter: 29.60 mm
CSV エクスポート¶
Export CSV ボタンをクリックすると、テーブル内のすべての Stats を CSV 形式で保存します。
Name,Type,Surface Area (mm2),Volume (mm3),Long Diameter (mm),Mid Diameter (mm),Short Diameter (mm)
Group: 001,ROI,1234.50,4567.80,45.20,38.10,29.60
tumor_mesh,Mesh,2345.60,7890.00,34.50,28.10,21.30
3D 計測¶
メッシュ表面上に点を打って 距離 や 折れ線長 を計測します。 コントロールパネルの Measurements セクションで操作します。
計測はメッシュ表面上のみ
クリックはメッシュ(サーフェスモデル)がある場所にのみヒットします。 ボリュームのみ表示している場合は計測できません。
計測モード¶
| モード | 説明 |
|---|---|
| None | 計測なし(デフォルト)。左クリックはカメラ回転に使われる |
| Distance | 2 点間の直線距離を計測する |
| 3D Line | 複数点を結んだ折れ線(ポリライン)の合計長を計測する |
Distance(2点間距離)の使い方¶
- Distance ラジオボタンを選択する
- メッシュ表面の 1 点目をクリックする → 白い点が表示される
- 2 点目をクリックする → 黄色のラインと距離ラベルが表示される
- 3 点目をクリックすると自動的にリセットして新しい計測が始まる
3D Line(折れ線計測)の使い方¶
- 3D Line ラジオボタンを選択する
- メッシュ表面を順番にクリックして点を追加する
- 各セグメントの長さと合計長が計測エリアに表示される
計測の操作ボタン¶
| ボタン | 動作 |
|---|---|
| Clear | 計測点をすべて消去する |
| Undo | 最後に打った点を 1 つ取り消す |
| Redo | 取り消した操作をやり直す |
計測点は 3D 空間に表示
計測中はキャンバス上に白いドット(点)と黄色のライン、 各セグメント中点の距離ラベルが重畳表示されます。 計測モードを None に切り替えるかウィンドウを閉じると消えます。
メッシュ(サーフェスモデル)¶
外部メッシュファイルの読み込み¶
メニュー → File → Open Mesh (OBJ/STL)... から STL / OBJ 形式のメッシュファイルを読み込めます。
読み込まれたメッシュは Scene Objects テーブル に Mesh タイプとして追加されます。
ROI からメッシュを生成(マーチングキューブ)¶
3D 空間に描画した ROI グループからサーフェスメッシュを生成します。
- Scene Objects テーブルで生成したい ROI 行を選択する
- Generate Mesh from Roi ボタンをクリックする
- マーチングキューブスがバックグラウンドで実行される(ボタンが「Generating...」に変わる)
- 完了するとメッシュが 3D 表示され、テーブルに
Meshタイプとして追加される
ROI の色が引き継がれます
生成されたメッシュは、元の ROI グループの表示色が自動的に適用されます。

メッシュのエクスポート(STL)¶
- Scene Objects テーブルでエクスポートしたい Mesh 行を選択する
- Export Mesh to STL... ボタンをクリックする
- 保存先とファイル名を指定して保存する(バイナリ STL 形式)
ROI 3D¶
3D 空間上に ROI(関心領域)を配置します。
球形 ROI (Sphere ROI)¶
- ツールバーの Sphere ROI ツールを選択する
- キャンバス上でクリックして中心位置を指定する
- ドラッグして半径を設定する

自由形状 ROI (FreeForm ROI 3D)¶
ポリゴンを使って 3D 空間上で任意形状の ROI を定義します。
ガントリチルト補正¶
CT スキャン時のガントリ(テーブル)チルトによる画像の傾きを補正します。

メニュー → Tools → Gantry Tilt Correction から起動します。
座標軸ギズモ¶
画面の隅に X / Y / Z 軸の方向を示すギズモが表示されます。

| 色 | 軸 |
|---|---|
| 赤 | X 軸(左右) |
| 緑 | Y 軸(前後) |
| 青 | Z 軸(上下) |