(57)【要約】      （修正有）【課題】モアレを抑制することができるコンピュータプログラム、画像処理装置、画像処理方法を提供する。【解決手段】ｚ方向に沿って所定間隔で撮像された複数のｘｙ平面画像の画像データを取得する処理と、複数のｘｙ平面画像それぞれの任意の注目画素及び当該注目画素の近傍画素の画素値に基づいて、複数のｘｙ平面画像を平滑化し、ＲＧＢ値及び不透明度が定められ、平滑化した複数のｘｙ平面画像それぞれの各画素に対応するボクセルで構成される３次元ボクセル画像を生成し、前記３次元ボクセル画像に対して所定の座標変換を行って変換後ボクセル画像を生成し、所定の視点から仮想光線を変換後ボクセル画像に向かって照射したときに、視線上のボクセル毎に該ボクセルのＲＧＢ値及び不透明度並びに仮想光線の透過強度の積により累積輝度値を累積加算した値に基づいて算出されるＲＧＢ値を、視線が投影面と交差する画素の画素値をレンダリングする。【選択図】図１３
2019114033.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータに、レイキャスティング法を用いたボリュームレンダリング処理を実行させるためのコンピュータプログラムであって、
コンピュータに、
ｚ方向に沿って所定間隔で撮像された複数のｘｙ平面画像の画像データを取得する処理と、
前記複数のｘｙ平面画像それぞれの任意の注目画素及び該注目画素の近傍画素の画素値に基づいて、前記複数のｘｙ平面画像を平滑化する処理と、
ＲＧＢ値及び不透明度が定められ、平滑化した前記複数のｘｙ平面画像それぞれの各画素に対応するボクセルで構成される３次元ボクセル画像を生成する処理と、
前記３次元ボクセル画像に対して所定の座標変換を行って変換後ボクセル画像を生成する処理と、
所定の視点から仮想光線を前記変換後ボクセル画像に向かって照射したときに、視線上のボクセル毎に該ボクセルのＲＧＢ値及び不透明度並びに前記仮想光線の透過強度の積により累積輝度値を累積加算した値に基づいて算出されるＲＧＢ値を、前記視線が投影面と交差する画素の画素値としてレンダリング画像を生成する処理と
を実行させるコンピュータプログラム。
【請求項２】
コンピュータに、
前記複数のｘｙ平面画像それぞれの一のｘｙ平面画像上の任意の注目画素及び該注目画素の前記一のｘｙ平面画像での近傍画素の画素値に基づいて、前記一のｘｙ平面画像を平滑化する処理を実行させる請求項１に記載のコンピュータプログラム。
【請求項３】
コンピュータに、
前記変換後ボクセル画像のボクセルのｘｙｚ座標に対して前記所定の座標変換の逆変換を行って前記ボクセルのｘｙｚ座標の実数値を算出する処理と、
算出したボクセルのｘｙｚ座標の実数値の近傍の整数値をｘｙｚ座標とする複数のボクセルを特定する処理と、
特定した複数のボクセルのＲＧＢ値及び不透明度に基づいて前記変換後ボクセル画像のボクセルのＲＧＢ値及び不透明度を算出する処理と
を実行させる請求項１又は請求項２に記載のコンピュータプログラム。
【請求項４】
コンピュータに、
前記ボクセルのｘｙｚ座標の実数値に所定範囲内の乱数を加算する処理と、
乱数を加算したｘｙｚ座標の実数値の近傍の整数値をｘｙｚ座標とする複数のボクセルを特定する処理と
を実行させる請求項３に記載のコンピュータプログラム。
【請求項５】
コンピュータに、
前記ボクセルのｘｙｚ座標の実数値と、該実数値の近傍の整数値との差分を特定する処理と、
前記特定した複数のボクセルのＲＧＢ値及び不透明度に前記特定した差分に基づく重み付け係数を乗算して前記変換後ボクセル画像のボクセルのＲＧＢ値及び不透明度を算出する処理と
を実行させる請求項３又は請求項４に記載のコンピュータプログラム。
【請求項６】
コンピュータに、
ボリュームレンダリング処理の対象領域を画定するｘｙｚ座標を設定する処理と、
設定したｘｙｚ座標に所定範囲内の乱数を加算する処理と、
前記変換後ボクセル画像のボクセルのｘｙｚ座標が、乱数を加算したｘｙｚ座標で画定される対象領域内にある場合、前記特定した複数のボクセルのＲＧＢ値及び不透明度に基づいて前記変換後ボクセル画像のボクセルのＲＧＢ値及び不透明度を算出する処理と
を実行させる請求項３から請求項５のいずれか一項に記載のコンピュータプログラム。
【請求項７】
コンピュータに、
前記変換後ボクセル画像のｘｙ座標毎に、前記変換後ボクセル画像のボクセルの不透明度が所定値より大きい前記視線上の最小値及び最大値を特定する処理と、
前記視線上の前記最小値と最大値との範囲内でボクセル毎に該ボクセルのＲＧＢ値及び不透明度並びに前記仮想光線の透過強度の積を累積加算した値を、前記視線が投影面と交差する画素の画素値としてレンダリング画像を生成する処理と
を実行させる請求項１から請求項６のいずれか一項に記載のコンピュータプログラム。
【請求項８】
コンピュータに、
前記視線上のボクセルが前記最小値と最大値との範囲外である場合、前記視線が投影面と交差する画素に所定の画素値を付与してレンダリング画像を生成する処理を実行させる請求項７に記載のコンピュータプログラム。
【請求項９】
コンピュータに、
前記複数のｘｙ平面画像のうちの所定のｘｙ平面画像の画素の最小値及び最大値を特定する処理と、
特定した最大値よりも小さい上限値及び特定した最小値よりも大きい下限値を算出する処理と、
前記複数のｘｙ平面画像の各画素の画素値を前記上限値及び下限値の範囲内に圧縮する処理と、
圧縮した前記複数のｘｙ平面画像それぞれの任意の注目画素及び該注目画素の近傍画素の画素値に基づいて、前記複数のｘｙ平面画像を平滑化する処理と
を実行させる請求項１から請求項８のいずれか一項に記載のコンピュータプログラム。
【請求項１０】
コンピュータに、
画素値に対応付けてＲＧＢ値及び不透明度が定義されたカラーマップデータを取得する処理と、
前記平滑化した複数のｘｙ平面画像それぞれの各画素の画素値に対応する前記カラーマップデータのＲＧＢ値及び不透明度を対応付けてＲＧＢ値及び不透明度を設定して、３次元ボクセル画像を生成する処理と
を実行させる請求項１から請求項９のいずれか一項に記載のコンピュータプログラム。
【請求項１１】
コンピュータに、
ｘｙｚ軸の回転角、ｘｙｚ軸方向のオフセット値、ｘｙｚ軸方向の拡大又は縮小倍率、ｚ軸方向の変倍率、注視点から視点までの距離を含む前記所定の座標変換のパラメータを取得する処理と、
前記生成した３次元ボクセル画像に対して、取得したパタメータを用いた前記所定の座標変換を行って変換後ボクセル画像を生成する処理と
を実行させる請求項１から請求項１０のいずれか一項に記載のコンピュータプログラム。
【請求項１２】
コンピュータに、
前記変換後ボクセル画像のボクセルの不透明度に関する勾配ベクトルを算出する処理と、
算出した勾配ベクトル、所定の光源ベクトルに基づいて前記ボクセルの陰影値を算出する処理と、
前記ボクセルの不透明度に基づいて前記ボクセルの陰影値を補正する処理と、
所定の視点から仮想光線を前記変換後ボクセル画像に向かって照射したときに、視線上のボクセル毎に該ボクセルのＲＧＢ値、不透明度及び補正した陰影値並びに前記仮想光線の透過強度の積を累積加算した値を、前記視線が投影面と交差する画素の画素値としてレンダリング画像を生成する処理と
を実行させる請求項１から請求項１０のいずれか一項に記載のコンピュータプログラム。
【請求項１３】
コンピュータに、
前記変換後ボクセル画像の注目ボクセルの不透明度と、該注目ボクセルの近傍に位置する複数の近傍ボクセルそれぞれの不透明度との差分を算出する処理と、
前記注目ボクセルと前記近傍ボクセルとの距離並びに前記注目ボクセル及び前記近傍ボクセルそれぞれの不透明度の差分に基づいて前記注目ボクセルの勾配ベクトルを算出する処理と
を実行させる請求項１２に記載のコンピュータプログラム。
【請求項１４】
レイキャスティング法を用いたボリュームレンダリング処理を行う画像処理装置であって、
ｚ方向に沿って所定間隔で撮像された複数のｘｙ平面画像の画像データを取得する取得部と、
前記複数のｘｙ平面画像それぞれの任意の注目画素及び該注目画素の近傍画素の画素値に基づいて、前記複数のｘｙ平面画像を平滑化する平滑化部と、
ＲＧＢ値及び不透明度が定められ、前記平滑化部で平滑化した前記複数のｘｙ平面画像それぞれの各画素に対応するボクセルで構成される３次元ボクセル画像を生成するボクセル画像生成部と、
前記ボクセル画像生成部で生成した３次元ボクセル画像に対して所定の座標変換を行って変換後ボクセル画像を生成する変換後ボクセル画像生成部と、
所定の視点から仮想光線を前記変換後ボクセル画像に向かって照射したときに、視線上のボクセル毎に該ボクセルのＲＧＢ値及び不透明度並びに前記仮想光線の透過強度の積により累積輝度値を累積加算した値に基づいて算出されるＲＧＢ値を、前記視線が投影面と交差する画素の画素値としてレンダリング画像を生成するレンダリング画像生成部と
を備える画像処理装置。
【請求項１５】
レイキャスティング法を用いたボリュームレンダリング処理を行う画像処理装置による画像処理方法であって、
ｚ方向に沿って所定間隔で撮像された複数のｘｙ平面画像の画像データを取得し、
前記複数のｘｙ平面画像それぞれの任意の注目画素及び該注目画素の近傍画素の画素値に基づいて、前記複数のｘｙ平面画像を平滑化し、
ＲＧＢ値及び不透明度が定められ、平滑化された前記複数のｘｙ平面画像それぞれの各画素に対応するボクセルで構成される３次元ボクセル画像を生成し、
生成された３次元ボクセル画像に対して所定の座標変換を行って変換後ボクセル画像を生成し、
所定の視点から仮想光線を前記変換後ボクセル画像に向かって照射したときに、視線上のボクセル毎に該ボクセルのＲＧＢ値及び不透明度並びに前記仮想光線の透過強度の積により累積輝度値を累積加算した値に基づいて算出されるＲＧＢ値を、前記視線が投影面と交差する画素の画素値としてレンダリング画像を生成する画像処理方法。
【請求項１６】
３次元ボクセル画像のデータであって、
ｚ方向に沿って所定間隔で撮像された複数のｘｙ平面画像のそれぞれの各画素に対応するボクセルのボクセルデータであって、
前記複数のｘｙ平面画像それぞれの任意の注目画素及び該注目画素の近傍画素の画素値に基づいて、前記複数のｘｙ平面画像が平滑化されたデータ構造を有し、
ＲＧＢ値及び不透明度が定められ、平滑化した前記複数のｘｙ平面画像それぞれの各画素に対応するボクセルで構成される３次元ボクセル画像を生成する処理を実行するのに用いられる３次元ボクセル画像のデータ。
【請求項１７】
３次元ボクセル画像のデータであって、
ｚ方向に沿って所定間隔で撮像された複数のｘｙ平面画像のそれぞれの各画素に対応するボクセルのボクセルデータに対し所定の座標変換を施したデータであって、
前記座標変換後のボクセルのｘｙｚ座標に対して前記所定の座標変換の逆変換を行って前記ボクセルのｘｙｚ座標の実数値が算出され、
算出されたボクセルのｘｙｚ座標の実数値の近傍の整数値をｘｙｚ座標とする複数のボクセルが特定され、
特定された複数のボクセルのＲＧＢ値及び不透明度に基づいて前記座標変換後のボクセルのＲＧＢ値及び不透明度が算出されたデータ構造を有し、
所定の視点から仮想光線を前記所定の座標変換後の３次元ボクセル画像に向かって照射したときに、視線上のボクセル毎に前記座標変換後のボクセルのＲＧＢ値及び不透明度並びに前記仮想光線の透過強度の積により累積輝度値を累積加算した値に基づいて算出されるＲＧＢ値を、前記視線が投影面と交差する画素の画素値としてレンダリング画像を生成する処理を実行するのに用いられる３次元ボクセル画像のデータ。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、コンピュータプログラム、画像処理装置、画像処理方法及び３次元ボクセル画像のデータに関する。
【背景技術】
【０００２】
医療分野においては、ＣＴ（Computed Tomography）、ＭＲＩ（Magnetic Resonance Imaging）、ＰＥＴ（Positron Emission Tomography）などの医用画像診断機器により所定のスライス間隔で連続的に撮影され、ＤＩＣＯＭ（Digital Imaging and COmmunications in Medicine）形式で保管された２次元のスライス画像に基づいて、臓器等の観察対象物を３次元的に可視化して画像診断支援、手術又は治療支援に役立てるための技術が開発されている。
【０００３】
観察対象物の内部組織を３次元画像表示する代表的な手法としてボリュームレンダリング手法が知られている。特許文献１には、ボリュームレンダリング手法の一つとして、レイキャスティング処理が開示されている。レイキャスティング処理は、複数のスライス画像を積層して３次元ボクセル空間を構築し、３次元ボクセル空間に対して任意の視点方向からレイ（仮想光線）を照射し、視点方向と直交する投影面（スクリーン）に、投影結果をピクセル値として得るものである。具体的には、視点方向が３次元座標軸のＺ軸と平行になるように座標変換を施し、座標変換後の３次元ボクセル空間に対して、Ｚ軸方向にレイを照射し、ＸＹ平面上の投影面（スクリーン）に、投影結果をピクセル値として算出するものである。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開平１１−１７５７４３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
この座標変換は一般に実数演算で行われるが、座標変換後の座標値はボクセル座標という離散的な値に整数化され、この過程で丸め誤差が累積し、周期的なパターンが生成される。この周期的なパターンは単一のスライス画像では肉眼では認識できない微弱なものであるが、本願のように複数のスライス画像が積層された画像を合成しようとすると、たとえ各スライス画像が座標変換によりずれていても、パターンの周期性の位相条件を満たせば干渉縞が生成され、肉眼的に顕著なモアレとして認識される。また、複数のスライス画像に類似した不規則なパターンが存在すると、積層されたスライス画像で構成される３次元ボクセル空間に対して座標変換を施した場合、各不規則なパターンが回転によりずれて重なり連結することにより規則性のある顕著なパターンが現れ、観察対象物の３次元画像にモアレとして認識される。このようなモアレが発生すると、画質が低下し、病変部が判別しにくくなり、あるいはモアレを誤って病変部と判別する可能性が生じる。
【０００６】
本開示は、斯かる事情に鑑みてなされたものであり、モアレを抑制することができるコンピュータプログラム、画像処理装置、画像処理方法及び３次元ボクセルの画像データを明らかにする。
【課題を解決するための手段】
【０００７】
本願は上記課題を解決する手段を複数含んでいるが、その一例を挙げるならば、コンピュータプログラムは、コンピュータに、レイキャスティング法を用いたボリュームレンダリング処理を実行させるためのコンピュータプログラムであって、コンピュータに、ｚ方向に沿って所定間隔で撮像された複数のｘｙ平面画像の画像データを取得する処理と、前記複数のｘｙ平面画像それぞれの任意の注目画素及び該注目画素の近傍画素の画素値に基づいて、前記複数のｘｙ平面画像を平滑化する処理と、ＲＧＢ値及び不透明度が定められ、平滑化した前記複数のｘｙ平面画像それぞれの各画素に対応するボクセルで構成される３次元ボクセル画像を生成する処理と、前記３次元ボクセル画像に対して所定の座標変換を行って変換後ボクセル画像を生成する処理と、所定の視点から仮想光線を前記変換後ボクセル画像に向かって照射したときに、視線上のボクセル毎に該ボクセルのＲＧＢ値及び不透明度並びに前記仮想光線の透過強度の積により累積輝度値を累積加算した値に基づいて算出されるＲＧＢ値を、前記視線が投影面と交差する画素の画素値としてレンダリング画像を生成する処理とを実行させる。
【発明の効果】
【０００８】
本開示によれば、モアレを抑制することができる。
【図面の簡単な説明】
【０００９】
【図１】本実施の形態の画像処理装置としてのレイキャスティング装置の構成の一例を示すブロック図である。
【図２】ＤＩＣＯＭ形式の断層画像の一例を示す模式図である。
【図３】本実施の形態のカラーマップデータの第１例を示す説明図である。
【図４】本実施の形態のカラーマップデータの第２例を示す説明図である。
【図５】本実施の形態のレイキャスティング装置による階調圧縮処理の一例を示す説明図である。
【図６】本実施の形態のレイキャスティング装置による平滑化処理の一例を示す説明図である。
【図７】本実施の形態のボクセル構造体の一例を示す模式図である。
【図８】本実施の形態のレイキャスティング装置による座標変換処理の一例を示す説明図である。
【図９】本実施の形態のレイキャスティング装置による探索制御マスクデータ生成処理の一例を示す説明図である。
【図１０】本実施の形態のレイキャスティング装置による平行投影の場合のレイキャスティング処理の一例を示す説明図である。
【図１１】本実施の形態のレイキャスティング装置による透視投影の場合のレイキャスティング処理の一例を示す説明図である。
【図１２】本実施の形態のレイキャスティング装置によるレイキャスティング処理の手順の一例を示すフローチャートである。
【図１３】本実施の形態のレイキャスティング装置によるレイキャスティング処理の手順の一例を示すフローチャートである。
【図１４】本実施の形態のレイキャスティング装置による座標変換処理の手順の一例を示すフローチャートである。
【図１５】本実施の形態のレイキャスティング装置による座標変換処理の手順の一例を示すフローチャートである。
【図１６】本実施の形態のレイキャスティング装置による補間処理の一例を示す模式図である。
【図１７】本実施の形態のレイキャスティング装置によるレイキャスティング処理の手順の一例を示すフローチャートである。
【図１８】本実施の形態のレイキャスティング装置によるレイキャスティング処理の手順の一例を示すフローチャートである。
【図１９】本実施の形態の画像処理部の構成の他の例を示すブロック図である。
【図２０】曲線状のモアレが発生する様子の一例を示す模式図である。
【図２１】本実施の形態のレイキャスティング装置によるモアレ対策結果の第１例を示す説明図である。
【図２２】本実施の形態のレイキャスティング装置によるモアレ対策結果の第２例を示す説明図である。
【図２３】ストライプ・格子状のモアレが発生する様子の一例を示す模式図である。
【図２４】座標変換時の丸め誤差の発生の様子の一例を示す説明図である。
【図２５】本実施の形態のレイキャスティング装置による丸め誤差分散の様子の一例を示す説明図である。
【図２６】本実施の形態のレイキャスティング装置によるモアレ対策結果の第３例を示す説明図である。
【図２７】本実施の形態のレイキャスティング装置によるモアレ対策結果の第４例を示す説明図である。
【図２８】本実施の形態のレイキャスティング装置によるモアレ対策結果の第５例を示す説明図である。
【図２９】本実施の形態のレイキャスティング装置によるモアレ対策結果の第６例を示す説明図である。
【発明を実施するための形態】
【００１０】
以下、本開示の実施の形態を図面に基づいて説明する。図１は本実施の形態の画像処理装置としてのレイキャスティング装置１００の構成の一例を示すブロック図である。本実施の形態のレイキャスティング装置１００は、入力部１０、記憶部１１、出力部１２、画像処理部２０などを備える。画像処理部２０は、階調圧縮処理部２１、平滑化処理部２２、ボクセル構造体生成部２３、座標変換処理部２４、レイキャスティング処理部２５、探索制御マスク生成部２６、座標値算出部２７、乱数発生部２８、補間処理部２９、ＲＯＩ（Region of Interest）クリッピング処理部３０などを備える。
【００１１】
入力部１０は、取得部としての機能を有し、ｚ方向に沿って所定間隔で撮像された複数のｘｙ平面画像の画像データを取得する。より具体的には、入力部１０は、観察対象物（例えば、臓器、脳、骨、血管などを内部に含む人体・動物の様々な部位）に対して所定の間隔で断層撮影された複数の２次元の断層画像のＤＩＣＯＭ（Digital Imaging and COmmunications in Medicine）形式の画像データを取得する。
【００１２】
図２はＤＩＣＯＭ形式の断層画像の一例を示す模式図である。図２に示すようにｘｙｚ軸を設定した場合、ｘｙ平面画像であるスライス画像（２次元の断層画像）が、ｚ方向に沿って複数並んでいる。Ｓｘはｘ軸方向の画素数であり、Ｓｙはｙ軸方向の画素数であり、Ｓｚはスライス画像の枚数である。なお、Ｓｚはｚ軸方向の画素数を表す。Ｒｘｙはｘ方向及びｙ方向の解像度であり、画素の間隔の逆数、すなわち単位距離あたりの画素数を示す。ｘ方向とｙ方向の解像度は等しいが、異なっていてもよい。Ｒｚはｚ方向の解像度であり、隣り合うスライス画像の間隔の逆数、すなわち単位距離あたりのスライス数を表す。各スライス画像の座標（ｘ，ｙ，ｚ）での画素値をＤｏ（ｘ，ｙ，ｚ）で現す。Ｄｏ（ｘ，ｙ，ｚ）は、−３２７６８以上、３２７６７以下の値を取り得る。画素値Ｄｏ（ｘ，ｙ，ｚ）は、例えば、ＣＴ画像の場合、水が０を示し、水よりも密度の高い組織（例えば、骨など）は正値となり、水よりも密度の低い組織（例えば、脂肪組織など）は負値となる。スライス画像の座標（ｘ，ｙ，ｚ）において、ｘ座標は０以上、Ｓｘ−１以下の値をとり、ｙ座標は０以上、Ｓｙ−１以下の値をとり、ｚ座標は０以上、Ｓｚ−１以下の値をとる。
【００１３】
また、入力部１０は、画素値に対応付けてＲＧＢ値及び不透明度が定義されたカラーマップデータを取得する。
【００１４】
図３は本実施の形態のカラーマップデータの第１例を示す説明図である。第１例のカラーマップデータをＣｍａｐ（ｖ，ｃ）で示す。変数ｖは、Ｄｏ（ｘ，ｙ，ｚ）の画素値を示し、Ｄｏ（ｘ，ｙ，ｚ）の範囲と同様に、−３２７６８以上、３２７６７以下の範囲内の数値を表す。変数ｃは、０、１、２、３の値を含み、ｃ＝０は、ＲＧＢのＲ値を示し、ｃ＝１はＧ値を示し、ｃ＝２はＢ値を示す。ｃ＝３は不透明度αを示す。Ｃｍａｐ（ｖ，ｃ）は、０以上、２５５以下の数値を取り得る。図３に示すように、カラーマップデータは、スライス画像の画素値Ｄｏ（ｘ，ｙ，ｚ）とＲＧＢ値及び不透明度αとの関係を定義するものである。例えば、画素値Ｄｏ（ｘ，ｙ，ｚ）が３２７６７の場合、Ｒ値はＲ（３２７６７）となり、Ｇ値はＧ（３２７６７）となり、Ｂ値はＢ（３２７６７）となり、不透明度はα（３２７６７）となる。ここで、Ｒ（３２７６７）、Ｇ（３２７６７）、Ｂ（３２７６７）、及びα（３２７６７）は、画素値３２７６７に対応していることを便宜上示すものであり、実際には適切な数値となる。また、カラーマップデータは、−３２７６８から３２７６７までの全ての画素値に対して定義する必要はなく、ＣＴ画像の場合、通常は−２０４８から２０４８の範囲をとるように調整されるため、−３２７６８から−２０４８の範囲、および２０４８から３２７６７の範囲のＲＧＢ値及び不透明度は全て０に設定するようにしてもよい。
【００１５】
図４は本実施の形態のカラーマップデータの第２例を示す説明図である。第２例のカラーマップデータをＣｍａｐ８（ｖ，ｃ）で示す。後述するように、ＤＩＣＯＭ画像を、例えば、１６ビットから８ビットへ階調圧縮した場合、画素値を、−３２７６８以上、３２７６７以下の範囲から、０以上、２５５以下の範囲とすることができる。Ｃｍａｐ８（ｖ，ｃ）の変数ｖは、０以上、２５５以下の範囲内の数値となる。変数ｃは第１例と同様である。
【００１６】
カラーマップデータＣｍａｐ（ｖ，ｃ）、Ｃｍａｐ８（ｖ，ｃ）を用いることにより、例えば、人体の部位毎に異なる色を付すだけでなく、部位ごとに不透明度を設定することができ、手前に位置する臓器を透明にして奥に隠れている臓器を描出するなど、観察対象を認識しやすくすることができる。
【００１７】
また、入力部１０は、ｘｙｚ軸の回転角、ｘｙｚ軸方向のオフセット値、ｘｙｚ軸方向の拡大又は縮小倍率、ｚ軸方向の変倍率、注視点から視点までの距離を含む座標変換のパラメータ、及びｘｙｚ方向のＲＯＩ（Region of Interest：関心領域）の値を取得する。座標変換のパラメータ、ＲＯＩ値の詳細は後述する。
【００１８】
記憶部１１は、入力部１０で取得したデータ、画像処理部２０での処理結果などを記憶することができる。なお、カラーマップデータ、座標変換パラメータ、ＲＯＩ値などを予め記憶部１１に記憶する構成でもよい。
【００１９】
出力部１２は、画像処理部２０での処理結果、例えば、レイキャスティング処理部２５で生成したレンダリング画像の画像データを表示装置（不図示）に出力する。
【００２０】
階調圧縮処理部２１は、ＤＩＣＯＭ形式の断層画像を、例えば、８ビットの階調圧縮断層画像にする。
【００２１】
図５は本実施の形態のレイキャスティング装置１００による階調圧縮処理の一例を示す説明図である。階調圧縮処理部２１は、複数のスライス画像のうちの所定のスライス画像の画素の最小値及び最大値を特定する。例えば、１からＳｚまでのスライス画像のうち、Ｓｚ／２番目の中間のスライス画像における全ての画素の最小値Ｄｍｉｎ及び最大値Ｄｍａｘを特定することができる。なお、所定のスライス画像としては、本来は全てのスライス画像における全ての画素の最小値及び最大値を特定する方法が正確である。しかし、その場合は、一旦全ての大容量の１６ビットのＤＩＣＯＭ形式の断層画像をメモリに保持する必要が生じ、階調圧縮効果が半減する。また、この最小値Ｄｍｉｎ及び最大値Ｄｍａｘは階調圧縮のパラメータに使用するだけで、８ビットの階調圧縮断層画像の精度には直接影響しない。そこで、単一のスライス画像の画素の最小値及び最大値を用いて、おおまかに特定する方法をとる。ただし、先頭のスライス画像では被写体が適切に映っていない場合が多いため、中間のスライス画像だけで最小値Ｄｍｉｎ及び最大値Ｄｍａｘを特定する方法をとる。これにより、大容量の１６ビットのＤＩＣＯＭ形式の断層画像をメモリに保持することなく８ビットの階調圧縮断層画像だけをメモリに直接構築することができる。
【００２２】
８ビットの階調圧縮断層画像Ｄ８（ｘ，ｙ，ｚ）は、Ｄ８（ｘ，ｙ，ｚ）＝（Ｄｏ（ｘ，ｙ，ｚ）−Ｌｍｉｎ）・２５５／（Ｌｍａｘ−Ｌｍｉｎ）という式により生成することができる。ただし、Ｄ８（ｘ，ｙ，ｚ）＞２５５の場合は、Ｄ８（ｘ，ｙ，ｚ）＝２５５とし、Ｄ８（ｘ，ｙ，ｚ）＜０の場合は、Ｄ８（ｘ，ｙ，ｚ）＝０とする。ここで、Ｌｍｉｎ＝（Ｄｍａｘ−Ｄｍｉｎ）・γ＋Ｄｍｉｎ、Ｌｍａｘ＝（Ｄｍａｘ−Ｄｍｉｎ）・（１−γ）＋Ｄｍｉｎである。γは階調圧縮画像のコントラスト調整幅で、０に近いほどコントラストは増大するが輝度は小さくなる。通常は、γ＝０．１に設定する。レンダリング像の輝度コントラストは、例えば、カラーマップデータなどの種々の設定で調整することができるので、γは固定値でよい。また、０≦Ｄ８（ｘ，ｙ，ｚ）≦２５５、０≦ｘ≦Ｓｘ−１、０≦ｙ≦Ｓｙ−１、０≦ｚ≦Ｓｚ−１である。また、ｘｙ方向の解像度はＲｘｙ、ｚ方向の解像度はＲｚである。
【００２３】
なお、８ビットの階調圧縮断層画像Ｄ８（ｘ，ｙ，ｚ）に対しては、図４に示すカラーマップＣｍａｐ８（ｖ，ｃ）を適用することができる。
【００２４】
上述のように、階調圧縮処理部２１は、複数のｘｙ平面画像のうちの所定のｘｙ平面画像の画素の最小値Ｄｍｉｎ及び最大値Ｄｍａｘを特定し、特定した最大値よりも小さい上限値Ｌｍａｘ及び特定した最小値よりも大きい下限値Ｌｍｉｎを算出する。階調圧縮処理部２１は、複数のｘｙ平面画像の各画素の画素値の上限値Ｌｍａｘ及び下限値Ｌｍｉｎの範囲内を圧縮する。すなわち、階調圧縮処理部２１は、上限値Ｌｍａｘ及び下限値Ｌｍｉｎの範囲を、例えば、２５６段階に圧縮し、上限値Ｌｍａｘ以上は２５５にし、下限値Ｌｍｉｎ以下は０にする。
【００２５】
平滑化処理部２２は、平滑化部としての機能を有し、複数のｘｙ平面画像それぞれの任意の注目画素及び当該注目画素の近傍画素の画素値に基づいて、複数のｘｙ平面画像を平滑化する。ｘｙ平面画像は、ＤＩＣＯＭ画像Ｄｏ（ｘ，ｙ，ｚ）でもよく、階調圧縮処理部２１により階調圧縮された階調圧縮断層画像Ｄ８（ｘ，ｙ，ｚ）でもよい。
【００２６】
図６は本実施の形態のレイキャスティング装置１００による平滑化処理の一例を示す説明図である。図６の例では、階調圧縮断層画像Ｄ８（ｘ，ｙ，ｚ）を図示しているが、ＤＩＣＯＭ画像Ｄｏ（ｘ，ｙ，ｚ）でもよい。図６は、一のスライス画像の注目画素Ｄ８（ｘ，ｙ，ｚ）と当該注目画素の近傍に存在する８個の近傍画素Ｄ８（ｘ−１，ｙ−１，ｚ）、Ｄ８（ｘ，ｙ−１，ｚ）、Ｄ８（ｘ＋１，ｙ−１，ｚ）、Ｄ８（ｘ−１，ｙ，ｚ）、Ｄ８（ｘ＋１，ｙ，ｚ）、Ｄ８（ｘ−１，ｙ＋１，ｚ）、Ｄ８（ｘ，ｙ＋１，ｚ）、Ｄ８（ｘ＋１，ｙ＋１，ｚ）を示す。ｘｙｚ座標の平滑化された画像をＤ（ｘ，ｙ，ｚ）とすると、Ｄ（ｘ，ｙ，ｚ）は、注目画素を含む近傍画素の画素値の平均値となる。
【００２７】
すなわち、より具体的には、平滑化処理部２２は、複数のｘｙ平面画像それぞれの一のｘｙ平面画像上の任意の注目画素及び当該注目画素の一のｘｙ平面画像での近傍画素の画素値に基づいて、一のｘｙ平面画像を平滑化する。
【００２８】
階調圧縮断層画像Ｄ８（ｘ，ｙ，ｚ）、あるいはＤＩＣＯＭ画像Ｄｏ（ｘ，ｙ，ｚ）のｘｙ面での８近傍平均値で異方性（ｚ方向を除くという意味）平滑処理を行うことにより、複数のスライス画像に知覚可能な不規則なパターンが回転によりずれて重なり連結することにより発生するモアレを抑制することができる。
【００２９】
ボクセル構造体生成部２３は、ボクセル画像生成部としての機能を有し、ＲＧＢ値及び不透明度αが定められ、平滑化した複数のｘｙ平面画像それぞれの各画素に対応するボクセルで構成される３次元ボクセル画像を生成する。より具体的には、ボクセル構造体生成部２３は、平滑化した複数のｘｙ平面画像それぞれの各画素の画素値に対応するカラーマップデータのＲＧＢ値及び不透明度を対応付けてＲＧＢ値及び不透明度αを設定し、３次元ボクセル画像を生成する。以下、３次元ボクセル画像をボクセル構造体とも称する。
【００３０】
図７は本実施の形態のボクセル構造体の一例を示す模式図である。図７Ａは、後述の座標変換前のボクセル構造体を示し、図７Ｂは、座標変換後のボクセル構造体を示す。まず、座標変換前のボクセル構造体について説明する。ボクセル構造体は、ＲＧＢ値及び不透明度αの要素で構成されるベクトル値が３次元的に詰まったボリュームデータを格子状に離散化して配置したボクセルの集合である。一つのボクセルには、例えば、平滑化された画像Ｄ（ｘ，ｙ，ｚ）の一つの画素が対応する。座標変換前のボクセル構造体をＶ（ｘ，ｙ，ｚ，ｃ）で表すと、Ｖ（ｘ，ｙ，ｚ，ｃ）＝Ｃｍａｐ８（Ｄ（ｘ，ｙ，ｚ）、ｃ）で表すことができる。ここで、０≦ｘ≦Ｓｘ−１、０≦ｙ≦Ｓｙ−１、０≦ｚ≦Ｓｚ−１、０≦ｃ≦３である。上述の式が意味するところは、平滑化された画像Ｄ（ｘ，ｙ，ｚ）の画素値にカラーマップＣｍａｐ８（ｖ，ｃ）を適用してボクセル構造体Ｖ（ｘ，ｙ，ｚ，ｃ）を生成するということである。
【００３１】
本実施の形態の３次元ボクセル画像のデータは、ｚ方向に沿って所定間隔で撮像された複数のｘｙ平面画像のそれぞれの各画素に対応するボクセルで構成され、ボクセルデータは、複数のｘｙ平面画像それぞれの任意の注目画素及び該注目画素の近傍画素の画素値に基づいて、複数のｘｙ平面画像が平滑化され、カラーマップデータに対応付けてＲＧＢ値及び不透明度が定められたものである。別言すれば、３次元ボクセル画像のデータは、ｚ方向に沿って所定間隔で撮像された複数のｘｙ平面画像のそれぞれの各画素に対応するボクセルのボクセルデータであって、複数のｘｙ平面画像それぞれの任意の注目画素及び当該注目画素の近傍画素の画素値に基づいて、複数のｘｙ平面画像が平滑化されたデータ構造を有し、ＲＧＢ値及び不透明度が定められ、平滑化した複数のｘｙ平面画像それぞれの各画素に対応するボクセルで構成される３次元ボクセル画像を生成する処理を実行するのに用いられる。
【００３２】
座標変換処理部２４は、変換後ボクセル画像生成部としての機能を有し、生成した３次元ボクセル画像に対して、入力部１０で取得した座標変換パラメータを用いて所定の座標変換を行って変換後ボクセル画像を生成する。すなわち、座標変換処理部２４は、ボクセル構造体Ｖ（ｘ，ｙ，ｚ，ｃ）に対して、所定の座標変換処理を施して、変換後のボクセル構造体を生成する。変換後のボクセル構造体をＶ′（ｘ，ｙ，ｚ′，ｃ）と表す。変換後のボクセル構造体Ｖ′（ｘ，ｙ，ｚ′，ｃ）は、Ｖ′（ｘ，ｙ，ｚ′，ｃ）＝Ｍａｔｒｉｘ（４×４）・Ｖ（ｘ，ｙ，ｚ，ｃ）で表すことができる。ここで、０≦ｘ≦Ｓｘ−１、０≦ｙ≦Ｓｙ−１、０≦ｚ′≦Ｓｚ′−１、０≦ｃ≦３である。なお、ｚ′は、ｚ軸に対して解像度をｘｙ軸と一致させるような補正を施したもので、ｚ′＝ｚ・Ｒｘｙ／Ｒｚ、Ｓｚ′＝Ｓｚ・Ｒｘｙ／Ｒｚである。Ｍａｔｒｉｘ（４×４）は、座標変換を施すための変換行列であり、具体的な変換式は後述する。
【００３３】
図７Ａに示すように、レンダリング像が生成される投影面の向きと、ボクセル構造体Ｖ（ｘ，ｙ，ｚ，ｃ）のｚ軸方向が一致していないと、後述のレイキャスティング処理が複雑になる。そこで、図７Ｂに示すように、ボクセル構造体Ｖ（ｘ，ｙ，ｚ，ｃ）のｘｙｚ軸を回転させて、例えば、座標変換後のｚ′軸が投影面に対して垂直方向にすることにより、レイキャスティング処理を簡単にすることができる。
【００３４】
図８は本実施の形態のレイキャスティング装置１００による座標変換処理の一例を示す説明図である。図８に示すように、変換後のボクセル構造体Ｖ′（ｘ，ｙ，ｚ′，ｃ）は、変換前のボクセル構造体をＶ（ｘ，ｙ，ｚ，ｃ）に対して、ＲＯＩによるクリッピングを行い、関心領域を設定し、その後座標変換を行うことにより求めることができる。ＲＯＩによるクリッピングでは、ｘ軸方向のＲＯＩとして、Ｘｓ−Ｘｅを設定し、ｙ軸方向のＲＯＩとして、Ｙｓ−Ｙｅを設定し、ｚ軸方向のＲＯＩとして、Ｚｓ−Ｚｅを設定する。ここで、０≦Ｘｓ＜Ｘｅ≦Ｓｘ−１、０≦Ｙｓ＜Ｙｅ≦Ｓｙ−１、０≦Ｚｓ＜Ｚｅ≦Ｓｚ−１である。
【００３５】
座標変換は、例えば、スケーリング、ｚ方向変倍処理、オフセット、回転、透視変換の順番で行うことができるが、４×４の変換行列で定義可能な範囲であれば、各処理の順番は、図８の例に限定されない。なお、後述の逆変換における各処理の順番は、座標変換での各処理の順番と逆の順番とし、前記変換行列の逆行列を施すことになる。
【００３６】
スケーリングは、例えば、ＲＯＩ処理によって関心領域以外の領域が除外された場合に、関心領域を拡大する処理である。スケーリングでは、ｘｙｚ軸方向で同一の拡大縮小倍率Ｓｃａｌｅを用いる。
【００３７】
ｚ方向変倍処理は、ｚ方向の画素の物理的な間隔をｘｙ方向の画素の物理的な間隔に合わせるための処理である。ｚ方向変倍処理では、ｚ方向変倍率Ｓｃｚ（＝Ｒｘｙ／Ｒｚ）を用いる。
【００３８】
オフセットは、ｘ軸方向、ｙ軸方向、ｚ軸方向に平行移動させるための処理である。オフセットでは、ｘ軸方向のオフセットＸｏｆｆ、ｙ軸方向のオフセットＹｏｆｆ、ｚ軸方向のオフセットＺｏｆｆを用いる。
【００３９】
回転は、ｘ軸回り、ｙ軸回り、ｚ軸回りに回転させるための処理である。回転では、ｘ軸中心の回転角Ｒｘ、ｙ軸中心の回転角Ｒｙ、ｚ軸中心の回転角Ｒｚ（角度の単位は全てラジアン）を用いる。
【００４０】
透視変換は、いわゆる内視鏡モードで画像を表示させるための処理である。透視変換では、注視点（原点、なお、オフセットがある場合、オフセット後の原点）からｚ軸方向の視点までの距離Ｄｉｓｔを用いる。なお、平行投影の場合には、Ｄｉｓｔ＝０と設定する。
【００４１】
上述のクリッピング、座標変換により、変換後のボクセル構造体Ｖ′（ｘ，ｙ，ｚ′，ｃ）の値が決定される。なお、スケーリング、ｚ方向変倍処理、オフセット、回転、透視変換の各処理は、変換行列Ｍａｔｒｉｘ（４×４）に纏めることができる。
【００４２】
探索制御マスク生成部２６は、変換後ボクセル構造体Ｖ′（ｘ，ｙ，ｚ′，ｃ）のｘｙ座標毎に、変換後ボクセル構造体Ｖ′（ｘ，ｙ，ｚ′，ｃ）のボクセルの不透明度αが０（透明）でない視線上の最小値及び最大値を特定する。
【００４３】
図９は本実施の形態のレイキャスティング装置１００による探索制御マスクデータ生成処理の一例を示す説明図である。図９では、変換後のボクセル構造体Ｖ′（ｘ，ｙ，ｚ′，ｃ）をｘｚ′平面から見た場合を示す。投影面はｘｙ平面となる。探索制御マスク生成部２６は、探索制御マスクデータＭ（ｘ，ｙ，ｓ）を生成する。ここで、ｓ＝０又は１である。
【００４４】
図９に示すように、２次元座標（ｘ，ｙ）毎に、ｚ軸方向に探索対象とする有効なボクセルの範囲を設定する。有効なボクセルとは、不透明度αが０でない値を有するボクセルである。不透明度αが０とは、透明であるということであり、レンダリング像において当該ボクセルは計算対象から外され表示されない。
【００４５】
０≦ｘ≦Ｓｘ−１、０≦ｙ≦Ｓｙ−１の座標（ｘ，ｙ）毎に、ｚ′＝０からｚ′＝Ｓｚ′−１に向かってｚ′を一つずつ増やして、最初にＶ′（ｘ，ｙ，ｚ１，３）＞０を満たすｚ１を探索する。また、同じ座標（ｘ，ｙ）について、ｚ′＝Ｓｚ′−１からｚ′＝０に向かってｚ′を一つずつ減らして、最初にＶ′（ｘ，ｙ，ｚ２，３）＞０を満たすｚ２を探索する。すなわち、ｚ′が、少なくともｚ１とｚ２では、Ｖ′（ｘ，ｙ，ｚ′，３）＞０を満たし、ボクセルの不透明度αは０でないが、ｚ′がｚ１とｚ２の間では、Ｖ′（ｘ，ｙ，ｚ′，３）＝０となることもある。即ち、ｚ１は有効なボクセルが存在するｚ′の最小値であり、ｚ２は最大値となる。探索制御マスクデータＭ（ｘ，ｙ，ｓ）は、Ｍ（ｘ，ｙ，０）＝ｚ１となり、Ｍ（ｘ，ｙ，１）＝ｚ２となる。
【００４６】
なお、ｚ１＝ｚ２、あるいは、ｚ１、ｚ２が見つからない場合、Ｍ（ｘ，ｙ，０）＝Ｍ（ｘ，ｙ，１）＝−１とする。
【００４７】
探索制御マスクデータＭ（ｘ，ｙ，ｓ）を生成することにより、有効でないボクセルを除外して、後続のレイキャスティング処理を行うことができるので、レイキャスティング処理の負荷を軽減することができ、ボリュームレンダリング処理を高速化することができる。
【００４８】
レイキャスティング処理部２５は、レンダリング画像生成部としての機能を有し、所定の視点から所定の透過強度を有する仮想光線を変換後のボクセル構造体Ｖ′（ｘ，ｙ，ｚ′，ｃ）に向かってｚ′方向に照射したときに、ｚ′軸上のボクセル毎に当該ボクセルの不透明度αに基づく仮想光線の吸収・減衰度を考慮しながらボクセル通過後の強度を算出し、透過強度が所定の下限以下になる最深点のボクセルを決定する。そして、最深点のボクセルより視点方向に仮想光線が通過した各ボクセルを逆に辿りながら、各ボクセルのＲＧＢ値及び不透明度αを基にＲＧＢ値を累積加算した値を、当該視線が投影面と交差する画素の画素値としてレンダリング画像を生成する。仮想光線を変換後のボクセル構造体Ｖ′（ｘ，ｙ，ｚ′，ｃ）に向かってｚ′方向に照射し、最深点のボクセルを決定する過程で、各ボクセルのＲＧＢ値及び不透明度α並びに仮想光線の透過強度の積を累積加算することにより、投影面と交差する画素の画素値を同時に算出する方法もとれる。本願では後者の方法に基づいて以下説明する。
【００４９】
図１０は本実施の形態のレイキャスティング装置１００による平行投影の場合のレイキャスティング処理の一例を示す説明図である。図１０では、変換後のボクセル構造体Ｖ′（ｘ，ｙ，ｚ′，ｃ）を３次元的にボクセルデータが詰まった立方体として図示している。変換後のボクセル構造体Ｖ′（ｘ，ｙ，ｚ′，ｃ）のｘｙ軸に平行な投影面（レンダリング像）が、変換後のボクセル構造体Ｖ′（ｘ，ｙ，ｚ′，ｃ）から所要距離だけ離隔して配置されているとする。図１０のように、視点が無限遠点に位置する場合が一般的に使用される平行投影で（本来はＤｉｓｔ＝∞であるが、本願ではＤｉｓｔ＝０と設定）、視点からボクセル構造体内部に向かう全ての視線がｚ′軸と平行になる。レイキャスティング処理（ボリュームレンダリング）では、不透明度αに基づいて半透明表示（αブレンディング）を行うことによって、変換後のボクセル構造体Ｖ′（ｘ，ｙ，ｚ′，ｃ）の内部を可視化する。すなわち、可視化は、変換後のボクセル構造体Ｖ′（ｘ，ｙ，ｚ′，ｃ）のボクセルが有するボクセル値（ＲＧＢ値及び不透明度α）によって実現される。
【００５０】
図１１は本実施の形態のレイキャスティング装置１００による透視投影の場合のレイキャスティング処理の一例を示す説明図である。図１１のように視点が投影面に比較的接近している場合（本願ではＤｉｓｔ＞０）が透視投影で、内視鏡表示の際は、投影面や視点がボクセル構造体Ｖ′（ｘ，ｙ，ｚ′，ｃ）の内部に没入することもある。図１０の場合と同様に、レイキャスティング処理（ボリュームレンダリング）では、不透明度αに基づいて半透明表示（αブレンディング）を行うことによって、変換後のボクセル構造体Ｖ′（ｘ，ｙ，ｚ′，ｃ）の内部を可視化する。すなわち、可視化は、変換後のボクセル構造体Ｖ′（ｘ，ｙ，ｚ′，ｃ）のボクセルが有するボクセル値（ＲＧＢ値及び不透明度α）によって実現される。
【００５１】
図１０及び図１１に示すように、視点から視線を変換後のボクセル構造体Ｖ′（ｘ，ｙ，ｚ′，ｃ）の内部に伸ばし、視線上にあるサンプリング点（ボクセル）において当該ボクセルのＲＧＢ値と不透明度αに基づいてＲＧＢ輝度値を視線に沿って累積計算し、累積計算した値を、当該視線が投影面と交差する位置のピクセル（画素の画素値）としてレンダリング像を生成する。この際に、前述の探索制御マスクＭ（ｘ，ｙ，０）とＭ（ｘ，ｙ，１）との間のｚ′について累積計算を行う。なお、レイキャスティング処理の詳細は後述する。
【００５２】
次に、本実施の形態のレイキャスティング装置１００の動作について説明する。
【００５３】
図１２及び図１３は本実施の形態のレイキャスティング装置１００によるレイキャスティング処理の手順の一例を示すフローチャートである。以下では、便宜上、処理の主体を画像処理部２０として説明する。画像処理部２０は、ＤＩＣＯＭ画像の画像データを取得し（Ｓ１１）、カラーマップデータを取得する（Ｓ１２）。なお、カラーマップデータは、図３、図４で例示したものである。
【００５４】
画像処理部２０は、座標変換パラメータを取得し（Ｓ１３）、ｘｙｚ方向のＲＯＩ値を取得する（Ｓ１４）。なお、座標変換パラメータ、ＲＯＩ値は、図８で例示したものである。画像処理部２０は、ＤＩＣＯＭ画像の階調圧縮処理を行い（Ｓ１５）、階調圧縮断層画像Ｄ８に対してカラーマップ定義を行う（Ｓ１６）。カラーマップ定義は、階調圧縮断層画像Ｄ８の画素値に対して、ＲＧＢ値及び不透明度αを定義する。なお、ステップＳ１５の処理は必須ではなく、ステップＳ１５の処理を実施しない場合には、ＤＩＣＯＭ画像に対してカラーマップ定義を行えばよい。ただし、カラーマップはＣＴ画像の場合、見たい部位ごとに汎用的に定義することが可能で、与えられたＤＩＣＯＭ画像に依存して定義されるものではないため、ステップＳ１６の処理を省略し、あらかじめ定義されたカラーマップを流用することもできる。
【００５５】
画像処理部２０は、階調圧縮断層画像Ｄ８の平滑化処理を行い（Ｓ１７）、ボクセル構造体Ｖ（ｘ，ｙ，ｚ，ｃ）を生成する（Ｓ１８）。画像処理部２０は、ボクセル構造体Ｖ（ｘ，ｙ，ｚ，ｃ）に対して座標変換処理を行い（Ｓ１９）、変換後ボクセル構造体Ｖ′（ｘ，ｙ，ｚ′，ｃ）を生成する（Ｓ２０）。なお、座標変換処理の詳細は後述する。
【００５６】
画像処理部２０は、探索制御マスクデータＭ（ｘ，ｙ，ｓ）を生成し（Ｓ２１）、レイキャスティング処理を行い（Ｓ２２）、レンダリング画像Ｉｍａｇｅ（ｘ，ｙ，ｃ）を生成し（Ｓ２３）、処理を終了する。ここで、０≦Ｉｍａｇｅ（ｘ，ｙ，ｃ）≦２５５、ｃ＝０（Ｒ）、ｃ＝１（Ｇ）、ｃ＝２（Ｂ）である。なお、レイキャスティング処理の詳細は後述する。
【００５７】
図１４及び図１５は本実施の形態のレイキャスティング装置１００による座標変換処理の手順の一例を示すフローチャートである。画像処理部２０は、変換前のボクセル構造体Ｖ（ｘ，ｙ，ｚ，ｃ）に変換行列Ｍａｔｒｉｘ（４×４）を乗算して変換後のボクセル構造体Ｖ′（ｘ，ｙ，ｚ′，ｃ）を生成する（Ｓ１０１）。すなわち、Ｖ′（ｘ，ｙ，ｚ′，ｃ）＝Ｍａｔｒｉｘ（４×４）・Ｖ（ｘ，ｙ，ｚ，ｃ）となる。ここで、変換前のボクセル構造体Ｖ（ｘ，ｙ，ｚ，ｃ）の座標値（ｘ，ｙ，ｚ）、及び変換後のボクセル構造体Ｖ′（ｘ，ｙ，ｚ′，ｃ）の座標値（ｘ，ｙ，ｚ′）は整数値である。そこで、変換後のボクセル構造体Ｖ′（ｘ，ｙ，ｚ′，ｃ）の座標値（ｘ，ｙ，ｚ′）（整数値）に対応する変換前のボクセル構造体Ｖ（ｘ，ｙ，ｚ，ｃ）の実数の座標値（ｘｒ，ｙｒ，ｚｒ）を以下のようにして算出する。
【００５８】
画像処理部２０は、変換後のボクセル構造体Ｖ′（ｘ，ｙ，ｚ′，ｃ）の座標値（ｘ，ｙ，ｚ′）（整数値）を実数値（ｘｘ，ｙｙ，ｚｚ）に変換する（Ｓ１０２）。整数値（ｘ，ｙ，ｚ′）から実数値（ｘｘ，ｙｙ，ｚｚ）の変換は、式（１）、（２）及び（３）により行うことができる。
【００５９】
【数１】
2019114033.tif 000003
【００６０】
画像処理部２０は、座標値を実数値に変換したボクセル構造体Ｖ′（ｘｘ，ｙｙ，ｚｚ，ｃ）に変換行列Ｍａｔｒｉｘ（４×４）の逆行列を乗算して変換前のボクセル構造体Ｖ（ｘ，ｙ，ｚ，ｃ）に対応する座標値の実数値（ｘｒ，ｙｒ，ｚｒ）を算出する（Ｓ１０３）。
【００６１】
ステップＳ１０２、Ｓ１０３の処理は、座標値算出部２７が行うことができる。すなわち、座標値算出部２７は、変換後ボクセル構造体のボクセルのｘｙｚ座標に対して所定の座標変換の逆変換を行って当該ボクセルのｘｙｚ座標の実数値を算出する。なお、ステップＳ１０３の処理は、以下のようにして行うことができる。
【００６２】
まず、透視変換の距離Ｄｉｓｔ＞０の場合、式（４）、（５）、（６）のように透視変換を行い、変換後の（ｘｘ′，ｙｙ′，ｚｚ′）を（ｘｘ，ｙｙ，ｚｚ）とする。
【００６３】
【数２】
2019114033.tif 000004
【００６４】
なお、式（４）、（５）、（６）の意味は、距離Ｄｉｓｔが小さいほど、近くが拡大され、遠くが縮小される、いわゆる遠近感が強調され、距離Ｄｉｓｔが大きいほど遠近感がなくなり、距離Ｄｉｓｔが∞に設定された状態（本願ではＤｉｓｔ＝０に設定）が平行投影である。
【００６５】
次に、ｚ軸中心の回転、ｙ軸中心の回転、ｘ軸中心の回転の順（座標変換での順番と逆の順番）に逆方向の回転を順次行う。すなわち、式（７）、（８）による回転を行い、（ｘｘ′，ｙｙ′）を（ｘｘ，ｙｙ）に置換する。次に、式（９）、（１０）による回転を行い、（ｚｚ′，ｘｘ′）を（ｚｚ，ｘｘ）に置換する。そして、式（１１）、（１２）による回転を行い、（ｙｙ′，ｚｚ′）を（ｙｙ，ｚｚ）に置換する。
【００６６】
スケーリング、ｚ方向変倍処理、オフセット（ｘｙｚ方向同時）を同時に行い、式（１３）、（１４）、（１５）により、変換前のボクセル構造体Ｖ（ｘ，ｙ，ｚ，ｃ）に対応する座標値の実数値（ｘｒ，ｙｒ，ｚｒ）を得る。
【００６７】
画像処理部２０は、算出した実数値（ｘｒ，ｙｒ，ｚｒ）に乱数を加算して座標値を更新する（Ｓ１０４）。これは、前述の座標変換の過程で丸め誤差が累積し、周期的なパターンが生成されることにより発生するモアレを抑制するためであり、乱数を加算することにより、パターンの周期性が崩れモアレ発生を抑制できる。なお、算出した実数値（ｘｒ，ｙｒ，ｚｒ）に乱数を加算して座標値を更新する処理は必須ではない。
【００６８】
より具体的には、乱数発生部２８は、所定範囲内の乱数、例えば、０から３２７６７までの乱数Ｒｎｄを発生する。補間処理部２９は、ボクセルのｘｙｚ座標の実数値に所定範囲内の乱数を加算する。すなわち、式（１６）、（１７）、（１８）により、実数値の座標（ｘｒ，ｙｒ，ｚｒ）に対して、例えば、−０．５から＋０．５の範囲の乱数を加算して更新した座標値（ｘｒ′，ｙｒ′，ｚｒ′）を得る。更新した座標値（ｘｒ′，ｙｒ′，ｚｒ′）を（ｘｒ，ｙｒ，ｚｒ）とする。
【００６９】
【数３】
2019114033.tif 000005
【００７０】
画像処理部２０は、更新した座標値（ｘｒ，ｙｒ，ｚｒ）を整数値（ｘｉ，ｙｉ，ｚｉ）と小数点以下の端数（ｗｘ，ｗｙ，ｗｚ）に分解する（Ｓ１０５）。より具体的には、補間処理部２９は、ボクセルのｘｙｚ座標の実数値と、当該実数値の小数点以下を切り捨てた整数値との差分（端数）を特定する。すなわち、更新した座標値（ｘｒ，ｙｒ，ｚｒ）を式（１９）、（２０）、（２１）のように分解する。ここで、０≦ｗｘ、ｗｙ、ｗｚ≦１とする。
【００７１】
【数４】
2019114033.tif 000006
【００７２】
画像処理部２０は、ＲＯＩ値に乱数を加算してクリッピング領域を更新する（Ｓ１０６）。
【００７３】
より具体的には、ＲＯＩクリッピング処理部３０は、ボリュームレンダリング処理の対象領域を画定するｘｙｚ座標を設定する。乱数発生部２８は、所定範囲内の乱数、例えば、０から３２７６７までの乱数Ｒｎｄを発生する。ＲＯＩクリッピング処理部３０は、設定したｘｙｚ座標に所定範囲内の乱数を加算する。すなわち、式（２２）、（２３）、（２４）、（２５）、（２６）、（２７）により、ＲＯＩの６つの座標値Ｘｓ、Ｘｅ、Ｙｓ、Ｙｅ、Ｚｓ、Ｚｅに対して、例えば、−０．１から＋１．１の範囲の乱数を加算して更新したＲＯＩの６つの座標値Ｘｓ′、Ｘｅ′、Ｙｓ′、Ｙｅ′、Ｚｓ′、Ｚｅ′を得る。
【００７４】
【数５】
2019114033.tif 000007
【００７５】
なお、Ｘｓ′＜０の場合には、Ｘｓ′＝０とし、Ｘｅ′＞Ｓｘ−１の場合には、Ｘｅ′＝Ｓｘ−１とする。Ｙｓ′＜０の場合には、Ｙｓ′＝０とし、Ｙｅ′＞Ｓｙ−１の場合には、Ｙｅ′＝Ｓｙ−１とする。また、Ｚｓ′＜０の場合には、Ｚｓ′＝０とし、Ｚｅ′＞Ｓｚ−１の場合には、Ｚｅ′＝Ｓｚ−１とする。
【００７６】
画像処理部２０は、変換前のボクセル構造体Ｖ（ｘ，ｙ，ｚ，ｃ）に対応する座標値の整数値（ｘｉ，ｙｉ，ｚｉ）が、更新したクリッピング領域内にあるか否かを判定する（Ｓ１０７）。ここで、条件１として、ｘｉ＜Ｘｓ′またはｘｉ＞Ｘｅ′またはｙｉ＜Ｙｓ′またはｙｉ＞Ｙｅ′またはｚｉ＜Ｚｓ′またはｚｉ＞Ｚｅ′の場合には、座標値の整数値（ｘｉ，ｙｉ，ｚｉ）が、更新したクリッピング領域内にないと判定（Ｓ１０７でＮＯ）、画像処理部２０は、ボクセル値を削除し（Ｓ１０８）、後述のステップＳ１１３の処理を行う。より具体的には、画像処理部２０は、変換後のボクセル構造体Ｖ′（ｘ，ｙ，ｚ′，ｃ）＝０とする。すなわち、ＲＧＢ値及び不透明度αを０とする。
【００７７】
座標値の整数値（ｘｉ，ｙｉ，ｚｉ）が、更新したクリッピング領域内にある場合（Ｓ１０７でＹＥＳ）、すなわち前述の条件１を充足しない場合、画像処理部２０は、変換前のボクセル構造体に対応する座標値の整数値（ｘｉ＋１，ｙｉ＋１，ｚｉ＋１）が更新したクリッピング領域内にあるか否かを判定する（Ｓ１０９）。条件２として、ｘｉ＋１＞Ｘｅ′またはｙｉ＋１＞Ｙｅ′またはｚi＋１＞Ｚｅ′の場合には、座標値の整数値（ｘｉ＋１，ｙｉ＋１，ｚｉ＋１）のいずれかが、更新したクリッピング領域内にないと判定し（Ｓ１０９でＮＯ）、画像処理部２０は、補間せずに（Ｓ１１０）、後述のステップＳ１１３の処理を行う。ここで、補間しないとは、変換後のボクセル構造体Ｖ′（ｘ，ｙ，ｚ′，ｃ）＝Ｖ（ｘｉ，ｙｉ，ｚｉ，ｃ）とし、座標値の整数値（ｘｉ，ｙｉ，ｚｉ）をそのまま採用することである。
【００７８】
座標値の整数値（ｘｉ＋１，ｙｉ＋１，ｚｉ＋１）が更新したクリッピング領域内にある場合（Ｓ１０９でＹＥＳ）、すなわち、座標値の整数値（ｘｉ，ｙｉ，ｚｉ）および（ｘｉ＋１，ｙｉ＋１，ｚｉ＋１）が、更新したクリッピング領域内にある場合、画像処理部２０は、座標値の整数値（ｘｉ，ｙｉ，ｚｉ）及び座標値の整数値（ｘｉ，ｙｉ，ｚｉ）に１を加算した８組の整数値を座標値とする変換前のボクセル構造体のボクセル値に重み付け係数を乗算し、重み付け係数を乗算したボクセル値を加算してボクセル値を補間し（Ｓ１１１）、補間したボクセル値を変換後のボクセル構造体Ｖ′（ｘ，ｙ，ｚ′，ｃ）のボクセル値とし（Ｓ１１２）、後述のステップＳ１１３の処理を行う。これにより、変換後のボクセル構造体Ｖ′（ｘ，ｙ，ｚ′，ｃ）の値を得る。
【００７９】
すなわち、補間処理部２９は、算出したボクセルのｘｙｚ座標の実数値の近傍の整数値をｘｙｚ座標とする複数のボクセルを特定し、特定した複数のボクセルのＲＧＢ値及び不透明度に基づいて変換後ボクセル構造体のボクセルのＲＧＢ値及び不透明度を算出する。また、補間処理部２９は、乱数を加算したｘｙｚ座標の実数値の近傍の整数値をｘｙｚ座標とする複数のボクセルを特定することもできる。
【００８０】
補間処理部２９は、特定した複数のボクセルのＲＧＢ値及び不透明度に、特定した座標値の実数値と近傍の整数値との差分（端数）に基づく重み付け係数を乗算して変換後ボクセル構造体のボクセルのＲＧＢ値及び不透明度を算出する。また、補間処理部２９は、変換後ボクセル構造体のボクセルのｘｙｚ座標が、乱数を加算したｘｙｚ座標で画定される対象領域内にある場合、特定した複数のボクセルのＲＧＢ値及び不透明度に基づいて変換後ボクセル構造体のボクセルのＲＧＢ値及び不透明度を算出することもできる。
【００８１】
ステップＳ１１１、Ｓ１１２の処理は、式（２８）で表すことができる。
【００８２】
【数６】
2019114033.tif 000008
【００８３】
図１６は本実施の形態のレイキャスティング装置１００による補間処理の一例を示す模式図である。図１６において、座標（ｘｒ，ｙｒ，ｚｒ）は、変換前のボクセル構造体Ｖ（ｘ，ｙ，ｚ，ｃ）に対応する実数値の座標（ｘｒ，ｙｒ，ｚｒ）に所定範囲内の乱数を加算して、ゆらぎを与えることによって更新された実数値の座標値である。図１６では、実数値（ｘｒ，ｙｒ，ｚｒ）が、整数値（ｘｉ，ｙｉ，ｚｉ）と端数（ｗｘ，ｗｙ，ｗｚ）とに分解されていることが分かる。そして、座標値（ｘｒ，ｙｒ，ｚｒ）の周りには、８組の整数値（ｘｉ，ｙｉ，ｚｉ）、（ｘｉ＋１，ｙｉ，ｚｉ）、（ｘｉ，ｙｉ＋１，ｚｉ）、（ｘｉ＋１，ｙｉ＋１，ｚｉ）、（ｘｉ，ｙｉ，ｚｉ＋１）、（ｘｉ＋１，ｙｉ，ｚｉ＋１）、（ｘｉ，ｙｉ＋１，ｚｉ＋１）、（ｘｉ＋１，ｙｉ＋１，ｚｉ＋１）が存在している。
【００８４】
式（２８）、図１６から分かるように、ボクセル値の補間は、実数値の座標値と整数値の座標値との端数が小さいほど、当該整数値の座標値におけるボクセル構造体のボクセル値に大きな重き付け係数が乗算される。
【００８５】
画像処理部２０は、すべてのボクセル構造体Ｖ′（ｘ，ｙ，ｚ′，ｃ）のボクセル値を決定したか否かを判定し（Ｓ１１３）、すべてのボクセル構造体Ｖ′（ｘ，ｙ，ｚ′，ｃ）のボクセル値を決定していない場合（Ｓ１１３でＮＯ）、ステップＳ１０５以降の処理を続け、すべてのボクセル構造体Ｖ′（ｘ，ｙ，ｚ′，ｃ）のボクセル値を決定した場合（Ｓ１１３でＹＥＳ）、処理を終了する。
【００８６】
本実施の形態の３次元ボクセル画像のデータは、ｚ方向に沿って所定間隔で撮像された複数のｘｙ平面画像のそれぞれの各画素に対応するボクセルのボクセルデータを含む構造を有し、ボクセルデータは、所定の座標変換を施したデータであって、当該座標変換後のボクセルのｘｙｚ座標に対して当該所定の座標変換の逆変換を行ってボクセルのｘｙｚ座標の実数値が算出され、算出されたボクセルのｘｙｚ座標の実数値の近傍の整数値をｘｙｚ座標とする複数のボクセルが特定され、特定された複数のボクセルのＲＧＢ値及び不透明度に基づいて当該所定の座標変換後のボクセルのＲＧＢ値及び不透明度が算出されたデータであり、所定の視点から仮想光線を所定の座標変換後の３次元ボクセル画像に向かって照射したときに、視線上のボクセル毎に座標変換後のボクセルのＲＧＢ値及び不透明度並びに仮想光線の透過強度の積により累積輝度値を累積加算した値に基づいて算出されるＲＧＢ値を、視線が投影面と交差する画素の画素値としてレンダリング画像を生成する処理を実行するのに用いられる。
【００８７】
図１７及び図１８は本実施の形態のレイキャスティング装置１００によるレイキャスティング処理の手順の一例を示すフローチャートである。画像処理部２０は、色計算のための光源Ｌｉｇｈｔ（ｃ）を設定する（Ｓ１２１）。ここで、０≦Ｌｉｇｈｔ（ｃ）≦２５５、ｃ＝０（Ｒ）、１（Ｇ）、２（Ｂ）である。画像処理部２０は、仮想光線の透過強度Ｔｒａｎｓ＝１．０に設定し、累積輝度値Ｅｎｅｒｇｙ（ｃ）＝０．０に設定する（Ｓ１２２）。
【００８８】
画像処理部２０は、ｚ′＝Ｍ（ｘ，ｙ，１）とする（Ｓ１２３）。すなわち、ｚ′の値を探索制御マスクデータの最大値ｚ２に設定する。画像処理部２０は、ｚ′の値が０より小さいか否かを判定し（Ｓ１２４）、ｚ′＜０でない場合（Ｓ１２４でＮＯ）、不透明度α＝Ｖ′（ｘ，ｙ，ｚ′，３）／２５５とする（Ｓ１２５）。当該式により、不透明度αは、０≦α≦１となる。ｚ′＜０である場合（Ｓ１２４でＹＥＳ）、画像処理部２０は、後述のステップＳ１３５の処理を行う。画像処理部２０は、不透明度αが０であるか否かを判定し（Ｓ１２６）、不透明度α＝０の場合（Ｓ１２６でＹＥＳ）、後述のステップＳ１３３の処理を行う。
【００８９】
不透明度αが０でない場合（Ｓ１２６でＮＯ）、すなわち、不透明度α＞０の場合、画像処理部２０は、陰影処理の有無を判定する（Ｓ１２７）。陰影処理がある場合（Ｓ１２７でＹＥＳ）、画像処理部２０は、陰影Ｓｈａｄｅ計算処理を行い（Ｓ１２８）、後述のステップＳ１３０の処理を行う。陰影Ｓｈａｄｅ計算は、例えば、以下のようにして行うことができる。
【００９０】
光源ベクトル（Ｌｘ，Ｌｙ，Ｌｚ）を例えば、（Ｌｘ，Ｌｙ，Ｌｚ）＝（０．５７７３５，０．５７７３５，０．５７７３５）の如く、平行光源で単位ベクトルとして指定することができる。また、環境光成分をＡｂとする。ここで、０≦Ａｂ≦１である。例えば、Ａｂ＝０．２とすることができる。
【００９１】
レイキャスティング処理部２５は、変換後ボクセル構造体の注目ボクセルの不透明度と、注目ボクセルの近傍に位置する複数の近傍ボクセルそれぞれの不透明度との差分を算出する。レイキャスティング処理部２５は、注目ボクセルと近傍ボクセルとの論理的な距離並びに注目ボクセル及び近傍ボクセルそれぞれの不透明度の差分に基づいて注目ボクセルの勾配ベクトルを算出する。
【００９２】
０≦ｘ≦Ｓｘ−１、０≦ｙ≦Ｓｙ−１、０≦ｚ′≦Ｓｚ′−１の範囲のボクセル（ｘ，ｙ，ｚ′）の勾配ベクトル（Ｇｘ，Ｇｙ，Ｇｚ）は、式（２９）、（３０）、（３１）で算出することができる。
【００９３】
【数７】
2019114033.tif 000009
【００９４】
なお、ｘ＝０またはｘ＝Ｓｘ−１またはｙ＝０またはｙ＝Ｓｙ−１またはｚ′＝０またはｚ′＝Ｓｚ′−１（すなわち、境界部のボクセル）の場合、ボクセル（ｘ＋ｉ，ｙ＋ｊ，ｚ′＋ｋ）は存在しない場合があるので、その場合はＶ′（ｘ＋ｉ，ｙ＋ｊ，ｚ′＋ｋ，３）＝０とする。
【００９５】
レイキャスティング処理部２５は、算出した勾配ベクトル、所定の光源ベクトルに基づいてボクセルの陰影値Ｓｈａｄｅを算出する。Ｇ＝｛Ｇｘ2 ＋Ｇｙ2 ＋Ｇｚ2 ｝1/2 とする（Ｇｘの２乗とＧｙの２乗とＧｚの２乗との和の平方根をＧとする）。Ｇ≧１の場合、陰影値Ｓｈａｄｅは、拡散反射成分を算出する場合、式（３２）で与えられる。なお、視線を変えると、勾配ベクトルも追従して変化するので、視線ベクトルを考慮した鏡面反射成分を算出して加えることもできる。
【００９６】
レイキャスティング処理部２５は、ボクセルの不透明度αに基づいて当該ボクセルの輝度値Ｓｈａｄｅを補正することができる。例えば、陰影値Ｓｈａｄｅは、当該ボクセルの不透明度αを乗算して補正することができる。すなわち、陰影値Ｓｈａｄｅは、式（３３）により算出することができる。Ｇ＜１の場合、陰影値Ｓｈａｄｅ＝０とする。
【００９７】
陰影処理がない場合（Ｓ１２７でＮＯ）、画像処理部２０は、Ｓｈａｄｅ＝αとする（Ｓ１２９）。画像処理部２０は、累積輝度値の更新を行う（Ｓ１３０）。すなわち、Ｅｎｅｒｇｙ（ｃ）＝Ｅｎｅｒｇｙ（ｃ）＋Ｔｒａｎｓ・α・Ｓｈａｄｅ・Ｖ′（ｘ，ｙ，ｚ′，ｃ）／２５５という式により０≦ｃ≦２の３成分の累積輝度値の更新を行う。画像処理部２０は、透過強度の更新を行う（Ｓ１３１）。すなわち、Ｔｒａｎｓ＝Ｔｒａｎｓ・（１−α）という式に依り透過強度の更新を行う。
【００９８】
画像処理部２０は、不透明度α＝１．０であるか否か、または透過強度Ｔｒａｎｓ＜所定値であるか否を判定する（Ｓ１３２）。ここで、所定値は、０又は０に近い値（例えば、０．００１など）であればよい。不透明度α＝１．０でなく、かつ透過強度Ｔｒａｎｓ＜所定値でない場合（Ｓ１３２でＮＯ）、画像処理部２０は、ｚ′＝ｚ′−１とし（Ｓ１３３）、ｚ′の値がＭ（ｘ，ｙ，０）より小さいか否かを判定する（Ｓ１３４）。ｚ′＜Ｍ（ｘ，ｙ，０）である場合（Ｓ１３４でＹＥＳ）、画像処理部２０は、２次元座標（ｘ，ｙ）におけるＲＧＢ値を決定する（Ｓ１３５）。投影面の２次元座標（ｘ，ｙ）におけるＲＧＢ値は、Ｉｍａｇｅ（ｘ，ｙ，ｃ）＝ｋ・Ｅｎｅｒｇｙ（ｃ）・Ｌｉｇｈｔ（ｃ）で計算することができる。ここで、ｋは強度倍率であり、ＲＧＢ値を補正することができる。ｋの値は、例えば、１．０とすることができるが、これに限定されない。Ｌｉｇｈｔ（ｃ）は光源のＲＧＢ値である。
【００９９】
不透明度α＝１．０であるか、又は透過強度Ｔｒａｎｓ＜所定値である場合（Ｓ１３２でＹＥＳ）、画像処理部２０は、ステップＳ１３３、Ｓ１３４の処理を行うことなく、ステップＳ１３５の処理を行う。また、ｚ′＜Ｍ（ｘ，ｙ，０）でない場合（Ｓ１３４でＮＯ）、画像処理部２０は、ステップＳ１２５以降の処理を行う。
【０１００】
画像処理部２０は、すべての２次元座標のＲＧＢ値が決定されたか否かを判定し（Ｓ１３６）、すべての２次元座標のＲＧＢ値が決定されていない場合（Ｓ１３６でＮＯ）、ステップＳ１２２以降の処理を行う。すべての２次元座標のＲＧＢ値が決定された場合（Ｓ１３６でＹＥＳ）、画像処理部２０は、処理を終了する。
【０１０１】
上述のように、レイキャスティング処理部２５は、視線上の最小値ｚ１と最大値ｚ２との範囲内でボクセル毎に当該ボクセルのＲＧＢ値（Ｖ′（ｘ，ｙ，ｚ′，ｃ））不透明度α（Ｖ′（ｘ，ｙ，ｚ′，３））並びに当該ボクセルにおいて算出した陰影値Ｓｈａｄｅと、仮想光線の透過強度Ｔｒａｎｓの積により累積輝度値Ｅｎｅｒｇｙ（ｃ）を累積加算（更新）した値に基づいて算出されるＲＧＢ値を、視線が投影面と交差する画素の画素値としてレンダリング画像を生成することができる。
【０１０２】
レイキャスティング処理部２５は、視線上のボクセルが最小値ｚ１と最大値ｚ２との範囲外である場合、最小値ｚ１と最大値ｚ２とが同一値である場合、あるいは最小値ｚ１又は最大値ｚ２が見つからない場合、視線が投影面と交差する画素に所定の画素値を付与してレンダリング画像を生成することができる。所定の画素値は、レイキャスティング処理を行うことなく付与できるものであればよく、例えば、背景色（Ｒｂ，Ｇｂ，Ｂｂ）とすることができる。これにより、レイキャスティング処理に係る負荷を軽減することができる。具体的には、Ｓ１３４の式に背景色の成分を加え、Ｂａｃｋ（０）＝Ｒｂ，Ｂａｃｋ（１）＝Ｇｂ，Ｂａｃｋ（２）＝Ｂｂとすると、Ｉｍａｇｅ（ｘ，ｙ，ｃ）＝Ｋ・Ｅｎｅｒｇｙ（ｃ）・Ｌｉｇｈｔ（ｃ）＋Ｂａｃｋ（ｃ）とすればよい。
【０１０３】
また、レイキャスティング処理部２５は、陰影計算を行う場合、所定の視点から仮想光線を変換後ボクセル構造体に向かって照射したときに、仮想光源と同一方向の平行光源を設定して計算することもできる。その場合は、光源ベクトル（Ｌｘ，Ｌｙ，Ｌｚ）を（Ｌｘ，Ｌｙ，Ｌｚ）＝（０，０，１）に設定して、同様に数式（３２）を実行すればよい。そして、視線上のボクセル毎に当該ボクセルのＲＧＢ値（Ｖ′（ｘ，ｙ，ｚ′，ｃ））、不透明度α（Ｖ′（ｘ，ｙ，ｚ′，３））及び当該ボクセルにおいて算出した陰影値Ｓｈａｄｅに不透明度αを乗算して補正した陰影値｛Ｓｈａｄｅ・Ｖ′（ｘ，ｙ，ｚ′，３）／２５５｝並びに仮想光線の透過強度Ｔｒａｎｓ（ｃ）の積により累積輝度値Ｅｎｅｒｇｙ（ｃ）を累積加算（更新）した値に基づいて算出されるＲＧＢ値を、視線が投影面と交差する画素の画素値としてレンダリング画像を生成することができる。
【０１０４】
図１９は本実施の形態の画像処理部２０の構成の他の例を示すブロック図である。図１９に示すように、画像処理部２０は、ＣＰＵ２０１、ＲＯＭ２０２、ＲＡＭ２０３、記録媒体読取部２０４などで構成することができる。記録媒体１に記録されたコンピュータプログラムを記録媒体読取部２０４で読み取ってＲＡＭ２０３に格納することができる。ＲＡＭ２０３に格納されたコンピュータプログラムをＣＰＵ２０１で実行させることにより、画像処理部２０は、階調圧縮処理部２１、平滑化処理部２２、ボクセル構造体生成部２３、座標変換処理部２４、レイキャスティング処理部２５、探索制御マスク生成部２６、座標値算出部２７、乱数発生部２８、補間処理部２９、ＲＯＩクリッピング処理部３０で行う処理を実行することができる。なお、ＣＰＵ２０１は、プロセッサ、プロセッサデバイス、プロセッシングユニットなどの総称とし、１又は複数で構成することができる。また、コンピュータプログラムは、記録媒体読取部２０４で読み取る構成に代えて、インターネットなどのネットワークを介してダウンロードすることもできる。
【０１０５】
次に、モアレの発生パターンについて説明する。ボリュームレンダリング像においてモアレが発生する理由は、断層画像を積層合成する点にある。モアレのタイプとしては、第１のタイプとして、曲線状のパターンがある。また、第２のパターンとして、ストライプ・格子状のパターンがある。なお、曲線状のパターン、ストライプ・格子状のパターンは厳密に分離されるものではなく、ボリュームレンダリング像では、両者が複合的に混ざって存在する。以下では、説明の便宜上、分けて説明する。まず、第１の曲線状のパターンについて説明する。
【０１０６】
図２０は曲線状のモアレが発生する様子の一例を示す模式図である。発生原因は、断層画像（スライス画像）に元々自然に存在する知覚可能な規則性をもたないパターンである。このようなパターンをもつ複数の断層画像を座標変換（ｘｙｚ軸回りの回転）することにより、各断層画像に存在する前述の規則性をもたないパターンがずれて合成されることにより、これらのパターンが線状に連結し、結果として、ボリュームレンダリング像に曲線状の縞模様が形成され、知覚可能なモアレとして認識される。
【０１０７】
図２１は本実施の形態のレイキャスティング装置１００によるモアレ対策結果の第１例を示す説明図である。図２１Ａは、比較例であり本実施の形態のモアレ対策を実施していない場合を示す。図２１Ｂは、本実施の形態のレイキャスティング装置１００の平滑化処理部２２により、各断層画像に対して図６で説明したような２Ｄ空間（ｘｙ平面）で平滑化処理を行った場合を示す。図２１Ａでは曲線状の縞模様が発生しているが、図２１Ｂでは、縞模様が消えていることが分かる。
【０１０８】
図２２は本実施の形態のレイキャスティング装置１００によるモアレ対策結果の第２例を示す説明図である。図２２Ａは、比較例であり本実施の形態のモアレ対策を実施していない場合を示す。図２２Ｂは、本実施の形態のレイキャスティング装置１００により、座標変換時の補間処理を施した場合を示す。座標変換時の補間処理は、前述の図１５におけるステップＳ１１１、Ｓ１１２などの処理を含む。図２２Ａでは曲線状の縞模様が発生しているが、図２２Ｂでは、縞模様が消えていることが分かる。
【０１０９】
次に、モアレの第２のパターンであるストライプ・格子状のパターンについて説明する。
【０１１０】
図２３はストライプ・格子状のモアレが発生する様子の一例を示す模式図である。ストライプ・格子状のパターンの特徴は、第１のパターンと異なり、モアレ発生源は、断層画像そのものにはなく、レイキャスティング処理の過程で計算により発生した人工的パターンにある。各断層画像を座標変換（ｘｙｚ軸回りの回転）することにより、座標変換という実数演算の過程で端数を切り捨てて整数化し、整数値のｘｙｚ座標で変換前のボクセル値を参照する過程で、丸め誤差の累積により周期的なパターンが発生し、座標変換後の断層画像に加わる。個々の断層画像に加わった周期的パターンは知覚できないレベルの微弱なものであるが、複数の断層画像がレイキャスティング処理により重なり、重なる時のズレ幅が各周期的パターンの位相条件を満たせば、互いに強めあって、いわゆる干渉縞が発生し、ストライプ・格子状のモアレとして知覚可能なレベルになる。
【０１１１】
図２４は座標変換時の丸め誤差の発生の様子の一例を示す説明図である。図２４では、便宜上、ボクセルを２次元で表している。座標変換前のボクセルを、横方向をｘ軸方向、縦方向をｚ軸方向として、Ｖ１１、Ｖ１２、…、Ｖ４９で表す。ｚ軸中心に回転させる座標変換によって、参照するｘ座標値は、実数値のｘ座標の整数化に伴う丸め誤差が累積する。例えば、算出された実数のｘ座標値は、左から右に向かって、１．３、２．６、３．９、５．２、６．５、７．８とする。
【０１１２】
例えば、算出された実数のｘ座標値が、１．３の場合、座標変換後のボクセルは、Ｖ１１×０．７＋Ｖ１２×０．３により、座標変換前のＶ１１及びＶ１２を参照し、０．３という端数に基づく重みを乗算しながら補間されて求めることができる。また、算出された実数のｘ座標値が、２．６の場合、座標変換後のボクセルは、Ｖ１２×０．４＋Ｖ１３×０．６により、座標変換前のＶ１２及びＶ１３を参照し、０．６という端数に基づく重みを乗算しながら補間されて求めることができる。また、算出された実数のｘ座標値が、３．９の場合、座標変換後のボクセルは、座標変換前のＶ１３×０．１＋Ｖ１４×０．９により、Ｖ１３及びＶ１４を参照し、０．９という端数に基づく重みを乗算しながら補間されて求めることができる。また、算出された実数のｘ座標値が、５．２の場合、座標変換後のボクセルは、Ｖ１５×０．８＋Ｖ１６×０．２により、座標変換前のＶ１５及びＶ１６を参照し、０．２いう端数に基づく重みを乗算しながら補間されて求めることができる。
【０１１３】
このように、座標変換後の左から４番目のボクセルは、座標変換前のボクセルＶ１４とＶ１５とで補間されず、Ｖ１５とＶ１６とで補間され、座標変換後の左から３番目のボクセルと４番目のボクセルとの間では、ボクセル値に段差が生じる。ただし、この段差はＶ１１からＶ１９で形成される単一の層（断層画像）では知覚可能なレベルではない。しかし、図２４に示されるように、同様な段差がＶ２１からＶ４９で形成される３つの層にも同一の箇所で発生すると、結果として、ｚ軸方向に沿ってストライプ・格子状のモアレとして知覚可能になる。
【０１１４】
前述の問題に対する対策として丸め誤差にゆらぎを与える方法を提案する。図２５は本実施の形態のレイキャスティング装置１００による丸め誤差分散の様子の一例を示す説明図である。丸め誤差分散は、前述の図１４におけるステップＳ１０４の処理、あるいは、図１５におけるステップＳ１０６の処理を含む。図２５に示すように、座標変換前のボクセルは図２４の例と同一である。参照するｘ座標値は、乱数によってボクセルの座標値にゆらぎを付加し、あるいは乱数によってボクセルの座標値及びＲＯＩ設定座標にゆらぎを付加しているので、参照するｘ座標値は、ｚ座標値毎に異なる。例えば、上から２番目のｘ座標値は、左から右に向かって、２．１、３．２、４．９、６．１、７．１、８．０となっている。また、上から３番目のｘ座標値は、左から右に向かって、１．２、２．４、３．５、４．８、５．９、６．９となっている。また、上から４番目のｘ座標値は、左から右に向かって、２．３、３．１、４．４、５．９、６．５、７．８となっている。そうすると、１層目と２層目では図２３と同様に左から３番目と４番目のボクセルの間に段差が残っているが、３層目と４層目では段差が消失し、これらが重なると、ｚ軸方向に沿って発生していたストライプ・格子状のモアレが知覚できなくなる。
【０１１５】
上述のように、本実施の形態によれば、実数値の座標値を整数化した際に生じる丸め誤差が分散（実際には、ｘｙｚ方向に分散）し、周期的なムラが解消するので、座標変換後のボクセル値にストライプ又は格子状の差が発生しないので、ストライプ・格子状のモアレが低減される。
【０１１６】
図２６は本実施の形態のレイキャスティング装置１００によるモアレ対策結果の第３例を示す説明図である。図２６Ａは、比較例であり本実施の形態のモアレ対策を実施していない場合を示す。図２６Ｂは、本実施の形態のレイキャスティング装置１００により、ボクセルの実数の座標値に乱数によりゆらぎを与えた場合を示す。ボクセルの実数の座標値に乱数によりゆらぎを与える処理は、前述の図１４におけるステップＳ１０４などの処理、式（１６）〜（１８）による計算などを含む。図２６Ａでは、座標変換処理で算出される実数の座標値を整数化する際の丸め誤差により格子状の縞模様が発生しているが、図２６Ｂでは、縞模様が消えていることが分かる。
【０１１７】
図２７は本実施の形態のレイキャスティング装置１００によるモアレ対策結果の第４例を示す説明図である。図２７Ａは、比較例であり本実施の形態のモアレ対策を実施していない場合を示す。図２７Ｂは、本実施の形態のレイキャスティング装置１００により、ボクセルの実数の座標値に乱数によりゆらぎを与えた場合を示す。ボクセルの実数の座標値に乱数によりゆらぎを与える処理は、前述の図１４におけるステップＳ１０４などの処理、式（１６）〜（１８）による計算などを含む。図２７Ａでは、座標変換処理で算出される実数の座標値を整数化する際の丸め誤差により格子状の縞模様が発生しているが、図２７Ｂでは、縞模様が消えていることが分かる。
【０１１８】
図２８は本実施の形態のレイキャスティング装置１００によるモアレ対策結果の第５例を示す説明図である。図２８Ａは、比較例であり本実施の形態のモアレ対策を実施していない場合を示す。図２８Ｂは、本実施の形態のレイキャスティング装置１００により、ＲＯＩクリッピング処理時にクリッピング座標値に乱数によりゆらぎを与えた場合を示す。クリッピング座標値に乱数によりゆらぎを与える処理は、前述の図１５におけるステップＳ１０６などの処理、式（２２）〜（２７）による計算などを含む。図２８Ａでは、ＲＯＩクリッピング切断面に座標変換に伴う座標値を整数化する際の丸め誤差により縦の縞模様が発生しているが、図２８Ｂでは、縞模様が消えていることが分かる。
【０１１９】
図２９は本実施の形態のレイキャスティング装置１００によるモアレ対策結果の第６例を示す説明図である。図２９Ａは、比較例であり本実施の形態のモアレ対策を実施していない場合を示す。図２９Ｂは、本実施の形態のレイキャスティング装置１００により、不透明度αを用いて陰影値を補正する処理を行った場合を示す。不透明度αを用いて陰影値を補正する処理は、前述の図１７におけるステップＳ１２８などの処理、式（３３）による計算などを含む。図２９Ａでは、陰影の明暗コントラストが不十分なため、格子状の縞模様が発生しモアレが知覚できているが、図２９Ｂでは、算出される陰影値Ｓｈａｄｅに不透明度αを乗算することにより、縞模様が消えていることが分かる。
【０１２０】
上述のように、本実施の形態によれば、レンダリング像の画質劣化を抑えながら、各種のモアレ（曲線状のモアレ、ストライプ又は格子状のモアレ）の発生を抑制することができる。
【０１２１】
本実施の形態のコンピュータプログラムは、コンピュータに、レイキャスティング法を用いたボリュームレンダリング処理を実行させるためのコンピュータプログラムであって、コンピュータに、ｚ方向に沿って所定間隔で撮像された複数のｘｙ平面画像の画像データを取得する処理と、前記複数のｘｙ平面画像それぞれの任意の注目画素及び該注目画素の近傍画素の画素値に基づいて、前記複数のｘｙ平面画像を平滑化する処理と、ＲＧＢ値及び不透明度が定められ、平滑化した前記複数のｘｙ平面画像それぞれの各画素に対応するボクセルで構成される３次元ボクセル画像を生成する処理と、前記３次元ボクセル画像に対して所定の座標変換を行って変換後ボクセル画像を生成する処理と、所定の視点から仮想光線を前記変換後ボクセル画像に向かって照射したときに、視線上のボクセル毎に該ボクセルのＲＧＢ値及び不透明度並びに前記仮想光線の透過強度の積により累積輝度値を累積加算した値に基づいて算出されるＲＧＢ値を、前記視線が投影面と交差する画素の画素値としてレンダリング画像を生成する処理とを実行させる。
【０１２２】
本実施の形態のコンピュータプログラムは、コンピュータに、前記複数のｘｙ平面画像それぞれの一のｘｙ平面画像上の任意の注目画素及び該注目画素の前記一のｘｙ平面画像での近傍画素の画素値に基づいて、前記一のｘｙ平面画像を平滑化する処理を実行させる。
【０１２３】
本実施の形態のコンピュータプログラムは、コンピュータに、前記変換後ボクセル画像のボクセルのｘｙｚ座標に対して前記所定の座標変換の逆変換を行って前記ボクセルのｘｙｚ座標の実数値を算出する処理と、算出したボクセルのｘｙｚ座標の実数値の近傍の整数値をｘｙｚ座標とする複数のボクセルを特定する処理と、特定した複数のボクセルのＲＧＢ値及び不透明度に基づいて前記変換後ボクセル画像のボクセルのＲＧＢ値及び不透明度を算出する処理とを実行させる。
【０１２４】
本実施の形態のコンピュータプログラムは、コンピュータに、前記ボクセルのｘｙｚ座標の実数値に所定範囲内の乱数を加算する処理と、乱数を加算したｘｙｚ座標の実数値の近傍の整数値をｘｙｚ座標とする複数のボクセルを特定する処理とを実行させる。
【０１２５】
本実施の形態のコンピュータプログラムは、コンピュータに、前記ボクセルのｘｙｚ座標の実数値と、該実数値の近傍の整数値との差分を特定する処理と、前記特定した複数のボクセルのＲＧＢ値及び不透明度に前記特定した差分に基づく重み付け係数を乗算して前記変換後ボクセル画像のボクセルのＲＧＢ値及び不透明度を算出する処理とを実行させる。
【０１２６】
本実施の形態のコンピュータプログラムは、コンピュータに、ボリュームレンダリング処理の対象領域を画定するｘｙｚ座標を設定する処理と、設定したｘｙｚ座標に所定範囲内の乱数を加算する処理と、前記変換後ボクセル画像のボクセルのｘｙｚ座標が、乱数を加算したｘｙｚ座標で画定される対象領域内にある場合、前記特定した複数のボクセルのＲＧＢ値及び不透明度に基づいて前記変換後ボクセル画像のボクセルのＲＧＢ値及び不透明度を算出する処理とを実行させる。
【０１２７】
本実施の形態のコンピュータプログラムは、コンピュータに、前記変換後ボクセル画像のｘｙ座標毎に、前記変換後ボクセル画像のボクセルの不透明度が所定値より大きい前記視線上の最小値及び最大値を特定する処理と、前記視線上の前記最小値と最大値との範囲内でボクセル毎に該ボクセルのＲＧＢ値及び不透明度並びに前記仮想光線の透過強度の積を累積加算した値を、前記視線が投影面と交差する画素の画素値としてレンダリング画像を生成する処理とを実行させる。
【０１２８】
本実施の形態のコンピュータプログラムは、コンピュータに、前記視線上のボクセルが前記最小値と最大値との範囲外である場合、前記視線が投影面と交差する画素に所定の画素値を付与してレンダリング画像を生成する処理を実行させる。
【０１２９】
本実施の形態のコンピュータプログラムは、コンピュータに、前記複数のｘｙ平面画像のうちの所定のｘｙ平面画像の画素の最小値及び最大値を特定する処理と、特定した最大値よりも小さい上限値及び特定した最小値よりも大きい下限値を算出する処理と、前記複数のｘｙ平面画像の各画素の画素値を前記上限値及び下限値の範囲内に圧縮する処理と、圧縮した前記複数のｘｙ平面画像それぞれの任意の注目画素及び該注目画素の近傍画素の画素値に基づいて、前記複数のｘｙ平面画像を平滑化する処理とを実行させる。
【０１３０】
本実施の形態のコンピュータプログラムは、コンピュータに、画素値に対応付けてＲＧＢ値及び不透明度が定義されたカラーマップデータを取得する処理と、前記平滑化した複数のｘｙ平面画像それぞれの各画素の画素値に対応する前記カラーマップデータのＲＧＢ値及び不透明度を対応付けてＲＧＢ値及び不透明度を設定して、３次元ボクセル画像を生成する処理とを実行させる。
【０１３１】
本実施の形態のコンピュータプログラムは、コンピュータに、ｘｙｚ軸の回転角、ｘｙｚ軸方向のオフセット値、ｘｙｚ軸方向の拡大又は縮小倍率、ｚ軸方向の変倍率、注視点から視点までの距離を含む前記所定の座標変換のパラメータを取得する処理と、前記生成した３次元ボクセル画像に対して、取得したパタメータを用いた前記所定の座標変換を行って変換後ボクセル画像を生成する処理とを実行させる。
【０１３２】
本実施の形態のコンピュータプログラムは、コンピュータに、前記変換後ボクセル画像のボクセルの不透明度に関する勾配ベクトルを算出する処理と、算出した勾配ベクトル、所定の光源ベクトルに基づいて前記ボクセルの陰影値を算出する処理と、前記ボクセルの不透明度に基づいて前記ボクセルの陰影値を補正する処理と、所定の視点から仮想光線を前記変換後ボクセル画像に向かって照射したときに、視線上のボクセル毎に該ボクセルのＲＧＢ値、不透明度及び補正した陰影値並びに前記仮想光線の透過強度の積を累積加算した値を、前記視線が投影面と交差する画素の画素値としてレンダリング画像を生成する処理とを実行させる。
【０１３３】
本実施の形態のコンピュータプログラムは、コンピュータに、前記変換後ボクセル画像の注目ボクセルの不透明度と、該注目ボクセルの近傍に位置する複数の近傍ボクセルそれぞれの不透明度との差分を算出する処理と、前記注目ボクセルと前記近傍ボクセルとの距離並びに前記注目ボクセル及び前記近傍ボクセルそれぞれの不透明度の差分に基づいて前記注目ボクセルの勾配ベクトルを算出する処理とを実行させる。
【０１３４】
本実施の形態の画像処理装置は、レイキャスティング法を用いたボリュームレンダリング処理を行う画像処理装置であって、ｚ方向に沿って所定間隔で撮像された複数のｘｙ平面画像の画像データを取得する取得部と、前記複数のｘｙ平面画像それぞれの任意の注目画素及び該注目画素の近傍画素の画素値に基づいて、前記複数のｘｙ平面画像を平滑化する平滑化部と、ＲＧＢ値及び不透明度が定められ、前記平滑化部で平滑化した前記複数のｘｙ平面画像それぞれの各画素に対応するボクセルで構成される３次元ボクセル画像を生成するボクセル画像生成部と、前記ボクセル画像生成部で生成した３次元ボクセル画像に対して所定の座標変換を行って変換後ボクセル画像を生成する変換後ボクセル画像生成部と、所定の視点から仮想光線を前記変換後ボクセル画像に向かって照射したときに、視線上のボクセル毎に該ボクセルのＲＧＢ値及び不透明度並びに前記仮想光線の透過強度の積により累積輝度値を累積加算した値に基づいて算出されるＲＧＢ値を、前記視線が投影面と交差する画素の画素値としてレンダリング画像を生成するレンダリング画像生成部とを備える。
【０１３５】
本実施の形態の画像処理方法は、レイキャスティング法を用いたボリュームレンダリング処理を行う画像処理装置による画像処理方法であって、ｚ方向に沿って所定間隔で撮像された複数のｘｙ平面画像の画像データを取得し、前記複数のｘｙ平面画像それぞれの任意の注目画素及び該注目画素の近傍画素の画素値に基づいて、前記複数のｘｙ平面画像を平滑化し、ＲＧＢ値及び不透明度が定められ、平滑化された前記複数のｘｙ平面画像それぞれの各画素に対応するボクセルで構成される３次元ボクセル画像を生成し、生成された３次元ボクセル画像に対して所定の座標変換を行って変換後ボクセル画像を生成し、所定の視点から仮想光線を前記変換後ボクセル画像に向かって照射したときに、視線上のボクセル毎に該ボクセルのＲＧＢ値及び不透明度並びに前記仮想光線の透過強度の積により累積輝度値を累積加算した値に基づいて算出されるＲＧＢ値を、前記視線が投影面と交差する画素の画素値としてレンダリング画像を生成する。
【０１３６】
本実施の形態の画像データは、３次元ボクセル画像のデータであって、ｚ方向に沿って所定間隔で撮像された複数のｘｙ平面画像のそれぞれの各画素に対応するボクセルのボクセルデータであって、前記複数のｘｙ平面画像それぞれの任意の注目画素及び該注目画素の近傍画素の画素値に基づいて、前記複数のｘｙ平面画像が平滑化されたデータ構造を有し、ＲＧＢ値及び不透明度が定められ、平滑化した前記複数のｘｙ平面画像それぞれの各画素に対応するボクセルで構成される３次元ボクセル画像を生成する処理を実行するのに用いられる。
【０１３７】
本実施の形態の画像データは、３次元ボクセル画像のデータであって、ｚ方向に沿って所定間隔で撮像された複数のｘｙ平面画像のそれぞれの各画素に対応するボクセルのボクセルデータに対し所定の座標変換を施したデータであって、前記座標変換後のボクセルのｘｙｚ座標に対して前記所定の座標変換の逆変換を行って前記ボクセルのｘｙｚ座標の実数値が算出され、算出されたボクセルのｘｙｚ座標の実数値の近傍の整数値をｘｙｚ座標とする複数のボクセルが特定され、特定された複数のボクセルのＲＧＢ値及び不透明度に基づいて前記座標変換後のボクセルのＲＧＢ値及び不透明度が算出されたデータ構造を有し、所定の視点から仮想光線を前記所定の座標変換後の３次元ボクセル画像に向かって照射したときに、視線上のボクセル毎に前記座標変換後のボクセルのＲＧＢ値及び不透明度並びに前記仮想光線の透過強度の積により累積輝度値を累積加算した値に基づいて算出されるＲＧＢ値を、前記視線が投影面と交差する画素の画素値としてレンダリング画像を生成する処理を実行するのに用いられる。
【符号の説明】
【０１３８】
１０  入力部
１１  記憶部
１２  出力部
２０  画像処理部
２１  階調圧縮処理部
２２  平滑化処理部
２３  ボクセル構造体生成部
２４  座標変換処理部
２５  レイキャスティング処理部
２６  探索制御マスク生成部
２７  座標値算出部
２８  乱数発生部
２９  補間処理部
３０  ＲＯＩクリッピング処理部
１００  レイキャスティング装置
２０１  ＣＰＵ
２０２  ＲＯＭ
２０３  ＲＡＭ
２０４  記録媒体読取部
【図１】
2019114033.tif 000010
【図２】
2019114033.tif 000011
【図３】
2019114033.tif 000012
【図４】
2019114033.tif 000013
【図５】
2019114033.tif 000014
【図６】
2019114033.tif 000015
【図７】
2019114033.tif 000016
【図８】
2019114033.tif 000017
【図９】
2019114033.tif 000018
【図１０】
2019114033.tif 000019
【図１１】
2019114033.tif 000020
【図１２】
2019114033.tif 000021
【図１３】
2019114033.tif 000022
【図１４】
2019114033.tif 000023
【図１５】
2019114033.tif 000024
【図１６】
2019114033.tif 000025
【図１７】
2019114033.tif 000026
【図１８】
2019114033.tif 000027
【図１９】
2019114033.tif 000028
【図２０】
2019114033.tif 000029
【図２１】
2019114033.tif 000030
【図２２】
2019114033.tif 000031
【図２３】
2019114033.tif 000032
【図２４】
2019114033.tif 000033
【図２５】
2019114033.tif 000034
【図２６】
2019114033.tif 000035
【図２７】
2019114033.tif 000036
【図２８】
2019114033.tif 000037
【図２９】
2019114033.tif 000038