「ボリュームレンダリング」の版間の差分

imported>Administrator
16行目: 16行目:
[[レイキャスティング]]は「[[ゲーム]]の当たり判定」などのにも使われる汎用的な[[アルゴリズム]]であり、ボリュームレンダリングだけのアルゴリズムではない。これを明確にするために「ボリュームレイキャスティング」と呼ばれることも多い。
[[レイキャスティング]]は「[[ゲーム]]の当たり判定」などのにも使われる汎用的な[[アルゴリズム]]であり、ボリュームレンダリングだけのアルゴリズムではない。これを明確にするために「ボリュームレイキャスティング」と呼ばれることも多い。


[[レイキャスティング]]は「[[ボクセル]]」と呼ばれる3次元の[[ビットマップ]]のような[[データ]]([[配列]])からデータを抽出する処理をいう。
[[レイキャスティング]]は「[[ボクセル]]」と呼ばれる3次元の[[ビットマップ]]のような[[データ]]([[配列]])からデータを抽出する処理をいう。まず視点位置と描画対象ピクセルのベクトル(レイを伸ばす角度、方向)を求める。これが「レイ」であり、このレイをまっすぐ伸ばし、ボクセルを貫通した位置にあるデータが抽出対象となる。


この[[レイキャスティング]]で得られた[[データ]]([[配列]])をもとに、[[最大値]]や[[最小値]]、[[平均値]]、[[中央値]]、単純に[[加算]]など、様々な方法により加工することで最終的な映像(1つの[[ピクセル]])を取得する。
この[[レイキャスティング]]で得られた[[データ]]([[配列]])をもとに、[[最大値]]や[[最小値]]、[[平均値]]、[[中央値]]、単純に[[加算]]など、様々な方法により加工することで最終的な映像(1つの[[ピクセル]])を取得する。この加工方法が重要であり「加工方法≒アルゴリズム名」となっている。


これをひたすら繰り返す。
* MIP (Maximum Intensity Projection) = 最大値
* MinIP (Minimum Intensity Projection) = 最小値
* RaySum (Ray Summation) = 単純加算、CT値などは相対値なので足し合わせると勝手に平均値になる
* Surface Rendering = 特定範囲の値、かつ最初に出現したもの
* Volume Rendering = 特定範囲の値、かつ不透明度マップを掛けたもの
 
これをひたすら繰り返す。すると最終的に1枚の画像になる。
[[ファイル:Volume-raycasting.png|なし|サムネイル|640x640ピクセル]]
[[ファイル:Volume-raycasting.png|なし|サムネイル|640x640ピクセル]]