(57)【要約】      （修正有）【課題】３次元再構成像において被写体の向きを容易に把握する３次元再構成像表示装置、表示方法、プログラム及び画像生成方法を提供する。【解決手段】複数の断層画像をＸＹＺの座標軸が既定されたボクセル空間に配置して構成される３次元ボクセルに基づいて３次元再構成像を生成し表示する３次元再構成像表示装置であって、３次元ボクセルを所定の方向から見た画像である３次元再構成像を生成する３次元再構成像生成手段と、ＸＹＺの座標軸が既定されたボクセル空間に、ボクセル空間における少なくとも上下左右前後を規定する３次元オブジェクトである方向規定オブジェクトを配置し設定するオブジェクト設定手段と、方向規定オブジェクトを所定の方向と同一の方向から見た画像である方向規定画像を生成する方向規定画像生成手段と、３次元再構成像に方向規定画像を合成し表示する合成表示手段と、を備える。【選択図】図１４
2020101988.tif 000002
【特許請求の範囲】
【請求項１】
複数の断層画像をＸＹＺの座標軸が既定されたボクセル空間に配置して構成される３次元ボクセルに基づいて３次元再構成像を生成し表示する３次元再構成像表示装置であって、
前記３次元ボクセルを所定の方向から見た画像である３次元再構成像を生成する３次元再構成像生成手段と、
前記ＸＹＺの座標軸が既定されたボクセル空間に、当該ボクセル空間における少なくとも上下左右前後を規定する３次元オブジェクトである方向規定オブジェクトを配置し設定するオブジェクト設定手段と、
前記方向規定オブジェクトを前記所定の方向と同一の方向から見た画像である方向規定画像を生成する方向規定画像生成手段と、
前記３次元再構成像に前記方向規定画像を合成し表示する合成表示手段と、
を備える３次元再構成像表示装置。
【請求項２】
前記方向規定オブジェクトは直方体である、請求項１に記載の３次元再構成像表示装置。
【請求項３】
前記直方体の各面には、互いに異なる表示情報が設定される、請求項２に記載の３次元再構成像表示装置。
【請求項４】
前記表示情報は、上下非対称、左右非対称、または上下左右非対称の表示情報である、請求項３に記載の３次元再構成像表示装置。
【請求項５】
前記表示情報は、各面に対応した文字情報および／または色情報である、請求項３または請求項４に記載の３次元再構成像表示装置。
【請求項６】
前記表示情報は、上下左右前後が前記各面に対応するように設定されている頭部のイラストである、請求項３または請求項４に記載の３次元再構成像表示装置。
【請求項７】
前記直方体の３次元方向のサイズの比率は、前記３次元ボクセルの３次元方向のサイズの比率に応じて設定される、請求項２から請求項６のいずれかに記載の３次元再構成像表示装置。
【請求項８】
前記方向規定オブジェクトは、少なくとも上下左右前後が視認可能な生物、キャラクター、または車両のオブジェクトである、請求項１に記載の３次元再構成像表示装置。
【請求項９】
前記合成表示手段は、前記３次元再構成像に、前記方向規定画像のうち前記方向規定オブジェクトが投影された画像領域のみを合成する、請求項１から請求項８のいずれかに記載の３次元再構成像表示装置。
【請求項１０】
前記断層画像に、当該断層画像の横方向と縦方向が３次元空間のどの方向に対応するかを示す横方向ベクトルと縦方向ベクトル、および当該断層画像の撮影位置の情報が付与されている場合、
前記断層画像の横方向の各画素を前記横方向ベクトルに基づいて前記ボクセル空間のＸＹＺ軸方向いずれかの座標軸方向１の方向に所定の間隔Ｗｘｙで配置し、
前記断層画像の縦方向の各画素を前記縦方向ベクトルに基づいて前記ボクセル空間のＸＹＺ軸方向いずれかの座標軸方向２の方向に所定の間隔Ｗｘｙで配置し、
前記断層画像の撮影方向の各画素を前記撮影位置から算出される撮影方向を示すスキャン方向ベクトルに基づいて前記ボクセル空間のＸＹＺのいずれかの座標軸方向３の方向に所定の間隔Ｗｚで配置するように、前記３次元ボクセルを作成するボクセル作成手段、を更に備える、
請求項１から請求項９のいずれかに記載の３次元再構成像表示装置。
【請求項１１】
前記断層画像に、当該断層画像のファイル名に示される順位と異なるスライス順位が付与されている場合、
前記ボクセル作成手段は、前記断層画像を前記ボクセル空間の前記座標軸方向３の方向に配置する際、前記スライス順位の順番に基づいて配置する、
請求項１０に記載の３次元再構成像表示装置。
【請求項１２】
前記ボクセル作成手段は、２つの前記断層画像を抽出し、スライス順位が後方の前記断層画像の撮影位置から、スライス順位が前方の前記断層画像の撮影位置を減算することで、前記スキャン方向ベクトルを算出する、請求項１０または請求項１１に記載の３次元再構成像表示装置。
【請求項１３】
前記ボクセル作成手段は、前記スキャン方向ベクトルのノルムを前記２つの前記断層画像のスライス順位の差分の絶対値で除算した値を前記間隔Ｗｚとする、請求項１２に記載の３次元再構成像表示装置。
【請求項１４】
前記ボクセル作成手段は、前記横方向ベクトルのＸＹＺ３成分の中で絶対値が最大の値をもつ座標成分１の方向を前記座標軸方向１に設定し、前記縦方向ベクトルのＸＹＺ３成分の中で絶対値が最大の値をもつ座標成分２の方向を前記座標軸方向２に設定し、前記スキャン方向ベクトルのＸＹＺ３成分の中で絶対値が最大の値をもつ座標成分３の方向を前記座標軸方向３に設定する、
請求項１０から請求項１３のいずれかに記載の３次元再構成像表示装置。
【請求項１５】
前記ボクセル作成手段は、前記座標成分１と前記座標成分２と前記座標成分３の積が正値になる場合、警告表示を行う、
請求項１４に記載の３次元再構成像表示装置。
【請求項１６】
前記３次元再構成像生成手段は、前記３次元再構成像の各画素に対してレイキャスティング処理を実行し、前記３次元再構成像としてボリュームレンダリング画像またはＭＩＰ画像を生成する、
請求項１から請求項１５に記載の３次元再構成像表示装置。
【請求項１７】
前記３次元再構成像の表示中に、当該３次元再構成像に対する表示変更イベントが発生すると、
前記前記３次元再構成像手段は、当該３次元再構成像の一部の画素に対して前記レイキャスティング処理を実行する、
請求項１６に記載の３次元再構成像表示装置。
【請求項１８】
前記３次元再構成像生成手段は、前記３次元再構成像として、ＭＰＲ画像を生成する、
請求項１０から請求項１５のいずれかに記載の３次元再構成像表示装置。
【請求項１９】
複数の断層画像をＸＹＺの座標軸が既定されたボクセル空間に配置して構成される３次元ボクセルに基づいて３次元再構成像を生成し表示する３次元再構成像表示方法であって、
コンピュータが、
前記３次元ボクセルを所定の方向から見た画像である３次元再構成像を生成する３次元再構成像生成ステップと、
前記ＸＹＺの座標軸が既定されたボクセル空間に、当該ボクセル空間における少なくとも上下左右前後を規定する３次元オブジェクトである方向規定オブジェクトを配置し設定するオブジェクト設定ステップと、
前記方向規定オブジェクトを前記所定の方向と同一の方向から見た画像である方向規定画像を生成する方向規定画像生成ステップと、
前記３次元再構成像に前記方向規定画像を合成し表示する合成表示ステップと、
を実行する３次元再構成像表示方法。
【請求項２０】
コンピュータを、複数の断層画像をＸＹＺの座標軸が既定されたボクセル空間に配置して構成される３次元ボクセルに基づいて３次元再構成像を生成し表示する３次元再構成像表示装置として機能させるプログラムであって、
前記コンピュータを、
前記３次元ボクセルを所定の方向から見た画像である３次元再構成像を生成する３次元再構成像生成手段、
前記ＸＹＺの座標軸が既定されたボクセル空間に、当該ボクセル空間における少なくとも上下左右前後を規定する３次元オブジェクトである方向規定オブジェクトを配置し設定するオブジェクト設定手段、
前記方向規定オブジェクトを前記所定の方向と同一の方向から見た画像である方向規定画像を生成する方向規定画像生成手段、
前記３次元再構成像に前記方向規定画像を合成し表示する合成表示手段、
として機能させるプログラム。
【請求項２１】
複数の断層画像をＸＹＺの座標軸が既定されたボクセル空間に配置して構成される３次元ボクセルを所定の方向から見た画像である３次元再構成像に合成される、当該３次元再構成像の表示方向を示すための画像を生成する画像生成方法であって、
コンピュータが、
前記ＸＹＺの座標軸が既定されたボクセル空間に、当該ボクセル空間における少なくとも上下左右前後を規定する３次元オブジェクトである方向規定オブジェクトを配置し設定するオブジェクト設定ステップと、
前記方向規定オブジェクトを前記所定の方向と同一の方向から見た画像である方向規定画像を生成する方向規定画像生成ステップと、
を実行する画像生成方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、３次元再構成像表示装置、３次元再構成像表示方法、プログラム、及び画像生成方法に関する。
【背景技術】
【０００２】
医用画像診断において、Ｘ線ＣＴ（Computed 
Tomography）装置やＭＲＩ（Magnetic  Resonance 
Imaging）から得られる断層画像群（３次元のボリュームデータ）から、被検体についての３次元情報が反映されたボリュームレンダリング画像、ＭＩＰ（Maximum Intensity Projection）画像、ＭＰＲ（Multi-Planar
Reconstruction）画像などの３次元再構成像を生成・描画する技術が普及している。
【０００３】
３次元再構成像では任意の方向から被写体を詳細に観察できるため、診断精度の向上につながる一方、読影者等が被写体の向きを誤って判断してしまうと、重大な医療過誤に繋がる虞もある。例えば、被写体の表裏を誤って判断すると、左右の臓器を取り違えて診断・医療行為等を行ってしまう危険性がある。このため、３次元再構成像を表示するだけでなく、被写体の向きを認識しやすくするような補助表示を行うことが望ましい。例えば、特許文献１や特許文献２では３次元再構成像とともに座標軸を表示することが開示されており、特許文献３では３次元再構成像とともに視点位置と視線方向（視線ベクトル）を表示することが開示されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００２−１０１４２８号公報
【特許文献２】特許第４１３０４５７号公報
【特許文献３】特許第４２７２４１５号
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、特許文献１〜３のように被写体の方向を座標軸や視線ベクトルで提示する方法では、可視化されている３次元再構成像が被写体のどの方向に対応するかを直感的に把握しずらい、という問題があった。
【０００６】
本開示は、上記した解題に鑑みてなされたものであり、３次元再構成像において被写体の向きを容易に把握することが可能な、３次元再構成像表示装置等を提供することを目的とする。
【課題を解決するための手段】
【０００７】
本開示の一実施形態によると、複数の断層画像をＸＹＺの座標軸が既定されたボクセル空間に配置して構成される３次元ボクセルに基づいて３次元再構成像を生成し表示する３次元再構成像表示装置であって、前記３次元ボクセルを所定の方向から見た画像である３次元再構成像を生成する３次元再構成像生成手段と、前記ＸＹＺの座標軸が既定されたボクセル空間に、当該ボクセル空間における少なくとも上下左右前後を規定する３次元オブジェクトである方向規定オブジェクトを配置し設定するオブジェクト設定手段と、前記方向規定オブジェクトを前記所定の方向と同一の方向から見た画像である方向規定画像を生成する方向規定画像生成手段と、前記３次元再構成像に前記方向規定画像を合成し表示する合成表示手段と、を備える３次元再構成像表示装置が提供される。
【０００８】
また本開示の一実施形態によると、複数の断層画像をＸＹＺの座標軸が既定されたボクセル空間に配置して構成される３次元ボクセルに基づいて３次元再構成像を生成し表示する３次元再構成像表示方法であって、コンピュータが、前記３次元ボクセルを所定の方向から見た画像である３次元再構成像を生成する３次元再構成像生成ステップと、前記ＸＹＺの座標軸が既定されたボクセル空間に、当該ボクセル空間における少なくとも上下左右前後を規定する３次元オブジェクトである方向規定オブジェクトを配置し設定するオブジェクト設定ステップと、前記方向規定オブジェクトを前記所定の方向と同一の方向から見た画像である方向規定画像を生成する方向規定画像生成ステップと、前記３次元再構成像に前記方向規定画像を合成し表示する合成表示ステップと、を実行する３次元再構成像表示方法が提供される。
【０００９】
また本開示の一実施形態によると、コンピュータを、複数の断層画像をＸＹＺの座標軸が既定されたボクセル空間に配置して構成される３次元ボクセルに基づいて３次元再構成像を生成し表示する３次元再構成像表示装置として機能させるプログラムであって、前記コンピュータを、前記３次元ボクセルを所定の方向から見た画像である３次元再構成像を生成する３次元再構成像生成手段、前記ＸＹＺの座標軸が既定されたボクセル空間に、当該ボクセル空間における少なくとも上下左右前後を規定する３次元オブジェクトである方向規定オブジェクトを配置し設定するオブジェクト設定手段、前記方向規定オブジェクトを前記所定の方向と同一の方向から見た画像である方向規定画像を生成する方向規定画像生成手段、前記３次元再構成像に前記方向規定画像を合成し表示する合成表示手段、として機能させるプログラムが提供される。
【００１０】
また本開示の一実施形態によると、複数の断層画像をＸＹＺの座標軸が既定されたボクセル空間に配置して構成される３次元ボクセルを所定の方向から見た画像である３次元再構成像に合成される、当該３次元再構成像の表示方向を示すための画像を生成する画像生成方法であって、コンピュータが、前記ＸＹＺの座標軸が既定されたボクセル空間に、当該ボクセル空間における少なくとも上下左右前後を規定する３次元オブジェクトである方向規定オブジェクトを配置し設定するオブジェクト設定ステップと、前記方向規定オブジェクトを前記所定の方向と同一の方向から見た画像である方向規定画像を生成する方向規定画像生成ステップと、を実行する画像生成方法が提供される。
【発明の効果】
【００１１】
本開示によれば、３次元再構成像において被写体の向きを容易に把握することができる。
【図面の簡単な説明】
【００１２】
【図１】３次元再構成像生成処理の概要を示す図
【図２】３次元再構成像表示装置１のハードウェア構成を示す図
【図３】断層画像群Ｄｏ（３次元ボクセル）を示す図
【図４】クリッピング領域ＲＯＩを示す図
【図５】マスクデータＭａｓｋを示す図
【図６】ボリュームレンダリング画像を生成する場合における、有効ボクセル領域Ｖｒを示す図
【図７】ＭＩＰ画像を生成する場合における、有効ボクセル領域Ｖｒを示す図
【図８】方向規定オブジェクトＤｏｂｊの例を示す図
【図９】方向規定オブジェクトＤｏｂｊの例を示す図
【図１０】方向規定オブジェクトＤｏｂｊの例を示す図
【図１１】方向規定オブジェクトＤｏｂｊの例を示す図
【図１２】方向規定画像Ｉｍａｇｅｃの例を示す図
【図１３】方向規定画像Ｉｍａｇｅｃをレンダリング画像Ｉｍａｇｅに合成して表示する処理の概要を示す図
【図１４】３次元再構成像表示装置１の動作の流れを示すフローチャート
【図１５】プログレッシブレンダリングの処理の流れを示すフローチャート
【図１６】方向規定オブジェクトＤｏｂｊと視線ベクトルとの交点を算出する様子を示す図
【図１７】ボリュームレンダリング画像を生成する処理の流れを示すフローチャート
【図１８】レイキャスティング処理の流れを示すフローチャート
【図１９】有効ボクセル領域Ｖｒと視線ベクトルとの交点を算出する様子を示す図
【図２０】有効ボクセル領域Ｖｒと視線ベクトルとの交点を算出する様子を示す図
【図２１】起点座標探索処理を示すフローチャート
【図２２】ＭＩＰ画像を生成する処理の全体の流れを示すフローチャート
【図２３】レイキャスティング処理を示すフローチャート
【図２４】起点座標探索処理を示すフローチャート
【図２５】ＭＰＲ像（体軸断面、冠状断面、矢状断面）について説明する図
【図２６】（ａ）標準ＣＴ画像の断層画像群Ｄｏのデータの並び方向（収納方向）を示す図、（ｂ）Ｚ軸が反転した場合の断層画像群Ｄｏのデータの並び方向（収納方向）を示す図
【図２７】３次元再構成像表示装置１の動作の流れを示すフローチャート
【図２８】断層画像群Ｄｏのデータの並び方向の補正を行う処理を示すフローチャート
【図２９】ファイル番号順に並べた断層画像群Ｄｏを示す図
【図３０】断層画像群Ｄｏがスライス順位Ｉｎｓ（ｚ）に基づいて並び替えられる様子を示す図
【図３１】スライス順位Ｉｎｓ（ｚ）に基づいて並び替えた後の断層画像群Ｄｏを示す図
【図３２】警告表示の例を示す図
【図３３】（ａ）方向補正前のレンダリング画像を示す図、（ｂ）方向補正後のレンダリング画像を示す図
【図３４】断層画像群Ｄｏのデータの並び方向を補正（座標軸の入れ替え）する例を示す図
【図３５】横方向ベクトルＨ・縦方向ベクトルＶ（ＩｍａｇｅＯｒｉｅｎｔａｔｉｏｎ）とスキャン方向ベクトルのパターンに応じた、補正後の画像サイズ、補正後の変倍率、座標系の関係を表す図
【発明を実施するための形態】
【００１３】
以下図面に基づいて、本開示の実施の形態を詳細に説明する。
【００１４】
（１．再構成像生成処理の概要）
図１は、３次元再構成像表示装置１が実行する再構成像生成処理の概要を示す図である。図に示すように、３次元再構成像表示装置１は、複数の断層画像（図の例では、５１２×５１２ピクセルの３７０枚の胸部ＣＴ画像）に基づいてレンダリング処理等の再構成像生成処理を実行し、所定の視点から被検体を観察したボリュームレンダリング画像、ＭＩＰ（Maximum Intensity Projection）画像、ＭＰＲ（Multi-Planar
Reconstruction）画像などの３次元再構成像を生成する。
【００１５】
（２．３次元再構成像表示装置１のハードウェア構成）
図２は、本実施の形態における３次元再構成像表示装置１のハードウェア構成を示すブロック図である。図２に示すように、３次元再構成像表示装置１は、制御部１１、記憶部１２、メディア入出力部１３、通信制御部１４、入力部１５、表示部１６、周辺機器Ｉ／Ｆ部１７等が、バス１８を介して接続される汎用のコンピュータで実現される。但し、これに限ることなく、用途、目的に応じて様々な構成を採ることが可能である。
【００１６】
制御部１１は、単一プロセッサ、或いはマルチコアＣＰＵで構成されるプロセッサ又はプロセッサが複数個で構成されるマルチプロセッサ（以降、いずれも単に「ＣＰＵ」と表記し、ＣＰＵが有するコアをＣＰＵコアと表記する）、ＲＯＭ（Read Only Memory）、ＲＡＭ（Random Access Memory）、フレームメモリ(Frame Memory)等によって構成される。ＣＰＵは、記憶部１２、ＲＯＭ、記録媒体等に格納されるレンダリングプログラムをＲＡＭ、フレームメモリ上のワークメモリ領域に呼び出して実行し、バス１８を介して接続された各装置を駆動制御し、３次元再構成像表示装置１が行う後述する処理を実現する。なお、本開示では、複数のＣＰＵコアを用いた処理を後述するが、複数のＣＰＵコアは物理的に複数のＣＰＵコアだけでなく、論理的に複数のＣＰＵコアも含まれる。
【００１７】
ＲＯＭは、不揮発性メモリであり、コンピュータのブートプログラムやＢＩＯＳ等のプログラム、データ等を恒久的に保持している。ＲＡＭ、フレームメモリは、揮発性メモリであり、記憶部１２、ＲＯＭ、記録媒体等からロードしたプログラム、データ等を一時的に保持するとともに、制御部１１が各種処理を行う為に使用するワークエリアを備える。
【００１８】
記憶部１２は、ＨＤＤ（Hard Disk Drive）等であり、制御部１１が実行するプログラム、プログラム実行に必要なデータ、ＯＳ（Operating System）等が格納される。プログラムに関しては、ＯＳに相当する制御プログラムや、後述する処理をコンピュータに実行させるためのアプリケーションプログラムが格納されている。これらの各プログラムコードは、制御部１１により必要に応じて読み出されてＲＡＭ、フレームメモリに移され、ＣＰＵに読み出されて各種の手段として実行される。
【００１９】
メディア入出力部１３（ドライブ装置）は、データの入出力を行い、例えば、ＣＤドライブ（−ＲＯＭ、−Ｒ、−ＲＷ等）、ＤＶＤドライブ（−ＲＯＭ、−Ｒ、−ＲＷ等）等のメディア入出力装置を有する。通信制御部１４は、通信制御装置、通信ポート等を有し、コンピュータとネットワーク間の通信を媒介する通信インタフェースであり、ネットワークを介して、他のコンピュータ間との通信制御を行う。ネットワークは、有線、無線を問わない。
【００２０】
入力部１５は、データの入力を行い、例えば、キーボード、マウス等のポインティングデバイス、テンキー等の入力装置を有する。入力部１５を介して、コンピュータに対して、操作指示、動作指示、データ入力等を行うことができる。
表示部１６は、液晶パネル等のディスプレイ装置、ディスプレイ装置と連携してコンピュータのビデオ機能を実現するための論理回路等（ビデオアダプタ等）を有する。なお、入力部１５及び表示部１６は、タッチパネルディスプレイのように、一体となっていてもよい。
【００２１】
周辺機器Ｉ／Ｆ（Interface）部１７は、コンピュータに周辺機器を接続させるためのポートであり、周辺機器Ｉ／Ｆ部１７を介してコンピュータは周辺機器とのデータの送受信を行う。周辺機器Ｉ／Ｆ部１７は、ＵＳＢ（Universal Serial Bus）やＩＥＥＥ１３９４やＲＳ−２３２Ｃ等によって構成されており、通常複数の周辺機器Ｉ／Ｆを有する。周辺機器との接続形態は有線、無線を問わない。バス１８は、各装置間の制御信号、データ信号等の授受を媒介する経路である。
【００２２】
（３．データ内容）
＜断層画像群Ｄｏ＞
断層画像群Ｄｏは、被検体（人体）を所定の間隔で連続的に撮影した複数の断層画像（例えばＣＴ画像やＭＲI画像）である。各断層画像はＤＩＣＯＭ形式の２次元の画像データである。ＤＩＣＯＭ形式は、１ファイルにヘッダ部と画像データ部を含む医療画像で一般的に用いられる画像フォーマットであり、画像撮影時のパラメータや診断情報を保存しておくことができる。
【００２３】
１つの断層画像は、例えば、５１２×５１２ピクセルの画像である。断層画像の各画素には、信号値ｖが付与されており、ＣＴ画像の場合、信号値ｖはＣＴ値である。本実施の形態では、信号値ｖ（ＣＴ値）は１６ビット（−３２７６８≦ｖ≦３２７６７）のデータとする（但し、信号値ｖのビット数は特に限定されない）。
【００２４】
断層画像群Ｄｏは、２次元データである断層画像を積層したものであり、図３に示すように、ＸＹＺの座標軸で規定されるボクセル空間Ｒに暫定的に配置可能なボクセルデータ（３次元ボクセル）として表現可能である。例えば、断層画像群Ｄｏ（３次元ボクセル）は、以下のように定義される。
【００２５】
（式１）
−３２７６８≦Ｄｏ（ｘ、ｙ、ｚ）≦３２７６７
０≦ｘ≦Ｓｘ−１、０≦ｙ≦Ｓｙ−１、０≦ｚ≦Ｓｚ−１
解像度：Ｒｘｙ、解像度Ｒｚ
【００２６】
（式１）において、Ｓｘは断層画像の横方向（図３の例ではＸ軸方向に暫定的に対応させているが被写体のＸ軸方向とは限らない）の画素数（ボクセル数）、Ｓｙは断層画像の縦方向（図３の例ではＹ軸方向に暫定的に対応させているが被写体のＹ軸方向とは限らない）の画素数（ボクセル数）、Ｓｚはスライス枚数（ボクセル数）を表し、スキャン方向（図３の例では暫定的にＺ軸方向に対応させているが被写体のＺ軸方向とは限らない）に所定の間隔で配置される。Ｒｘｙは横方向及び縦方向の断層画像の解像度であり、横方向と縦方向の解像度は通常同一で（ＤＩＣＯＭ規格上は異なった解像度を指定できるが、異なった解像度でスキャンするモダリティは現存しない）、画素の間隔（Ｗｘｙ）の逆数、すなわち単位距離あたりの画素数を示す。ただし、ＲｘｙはＸＹ平面上の解像度と暫定的に定義しているが、被写体のＸＹ平面上の解像度とは限らない。Ｒｚはスライスの解像度であり、断層画像のスライス間隔（Ｗｚ）（例えば、０．５ｍｍや１ｍｍ）の逆数、すなわち単位距離あたりのスライス枚数を表し、ＲｚはＺ方向の解像度と暫定的に定義しているが、被写体のＺ方向の解像度とは限らない。
【００２７】
（式１）で示される断層画像群に対して、後述する方向補正を実行し、被写体のＸＹＺ座標系に変換した結果を（式１−２）に示す。Ｓｘ‘、Ｓｙ’、Ｓｚ‘は（式１）のＳｘ、Ｓｙ、Ｓｚのいずれかの値である。Ｓｃｘ、Ｓｃｙ、Ｓｃｚのいずれか１つは（式１）のＲｘｙ／Ｒｚの値をもち、残りの２つは１の値をもつ。以下の説明のＳｘ、Ｓｙ、Ｓｚは、（式１−２）に変換されたＳｘ‘、Ｓｙ’、Ｓｚ‘を指すものとする。
（式１−２）
−３２７６８≦Ｄｏ（ｘ、ｙ、ｚ）≦３２７６７
０≦ｘ≦Ｓｘ‘−１、０≦ｙ≦Ｓｙ’−１、０≦ｚ≦Ｓｚ‘−１
Ｘ軸方向変倍率：Ｓｃｘ、Ｙ軸方向変倍率：Ｓｃｙ、Ｚ軸方向変倍率：Ｓｃｚ
【００２８】
後述するように（図１４のステップＳ２参照）、断層画像群Ｄｏの信号値は、必要に応じて８ビットに階調圧縮される場合がある。８ビットに階調圧縮された断層画像群Ｄｏ（ｘ、ｙ、ｚ）は以下のように定義される。
【００２９】
（式２）
０≦Ｄｏ（ｘ、ｙ、ｚ）≦２５５      
０≦ｘ≦Ｓｘ−１、０≦ｙ≦Ｓｙ−１、０≦ｚ≦Ｓｚ−１
Ｘ軸方向変倍率：Ｓｃｘ、Ｙ軸方向変倍率：Ｓｃｙ、Ｚ軸方向変倍率：Ｓｃｚ
【００３０】
＜カラーマップＣｍａｐ＞
カラーマップＣｍａｐは、信号値ｖと色値（具体的にはＲＧＢ値）及び不透明度(α値)との対応関係を定義するものであり、信号値ｖを２４ビットの色（ＲＧＢ値）及び８ビットの不透明度（α値）に変換する関数（実体的には２次元のデータテーブル）として表現可能である。例えば、１６ビットの断層画像群Ｄｏ（（式１）参照）に適用されるカラーマップＣｍａｐは次のように定義される。
【００３１】
（式３）
０≦Ｃｍａｐ（ｖ、ｎ）≦２５５
−３２７６８≦ｖ≦３２７６７
ｎ＝０（Ｒ）、１（Ｇ）、２（Ｂ）、３（α）
【００３２】
また、８ビットの断層画像群Ｄｏ（（式２）参照）に適用されるカラーマップＣｍａｐ（ｖ、ｎ）は次のように定義される。
【００３３】
（式４）
０≦Ｃｍａｐ（ｖ、ｎ）≦２５５
０≦ｖ≦２５５
ｎ＝０（Ｒ）、１（Ｇ）、２（Ｂ）、３（α）
【００３４】
（式３）、（式４）に示すカラーマップＣｍａｐ（ｖ、ｎ）（０≦ｎ≦３）のうち、特にカラーマップＣｍａｐ（ｖ、ｎ）（０≦ｎ≦２）は、信号値ｖを色値（ＲＧＢ値）に変換する関数に相当する。
【００３５】
また、（式３）、（式４）に示すカラーマップＣｍａｐ（ｖ、ｎ）（０≦ｎ≦３）のうち、特にカラーマップＣｍａｐ（ｖ、３）は、信号値ｖを不透明度に変換する関数に相当し、一般的に「オパシティカーブ」と呼ばれる。
【００３６】
カラーマップＣｍａｐ（ｖ、３）（オパシティカーブ）は、例えば、通常組織（１６ビットの信号値ｖ＝０〜１２０程度）の不透明度が２５５に設定（不透明度＝２５５は不透明（光がすべて反射）であることを示す）され、骨領域（１６ビットの信号値ｖ＝１０００前後）の不透明度が１〜２５４の中間値に設定（不透明度＝１〜２５４は半透明（入射光の一部が反射され、その他は透過）であることを示す）され、その他の組織等の部位を不透明度が０に設定（不透明度＝０は透明（入射光の全てが透過）であることを示す）される。
【００３７】
＜補正テーブルＳα＞
補正テーブルＳαは、断層画像群Ｄｏの各画素（ｘ、ｙ、ｚ）に対応する不透明度の補正倍率を格納するデータテーブルであり、以下のように定義される。補正テーブルＳαによって、カラーマップＣｍａｐ（ｖ、３）（オパシティカーブ）で規定される信号値に応じた不透明度を各画素毎に調整することができる。
【００３８】
（式５）
０≦Ｓα（ｘ、ｙ、ｚ）≦１
０≦ｘ≦Ｓｘ−１、０≦ｙ≦Ｓｙ−１、０≦ｚ≦Ｓｚ−１
【００３９】
＜クリッピング領域ＲＯＩ＞
クリッピング領域ＲＯＩ（Region of Interest）は、断層画像群Ｄｏにおける関心領域であり、図４に示すように、クリッピング領域ＲＯＩは直方体で設定される。クリッピング領域ＲＯＩは、以下のように、Ｘ軸方向ＲＯＩ、Ｙ軸方向ＲＯＩ、Ｚ軸方向ＲＯＩによって定義される。
【００４０】
（式６）
Ｘ軸方向ＲＯＩ：Ｘｓ−Ｘｅ
Ｙ軸方向ＲＯＩ：Ｙｓ−Ｙｅ
Ｚ軸方向ＲＯＩ：Ｚｓ−Ｚｅ
尚、クリッピング領域を設定しない場合は、Ｘｓ＝０、Ｘｅ＝Ｓｘ−１、Ｙｓ＝０、Ｙｅ＝Ｓｙ−１、Ｚｓ＝０、Ｚｅ＝Ｓｚ−１となる。
【００４１】
＜マスクデータＭａｓｋ＞
マスクデータＭａｓｋは、断層画像群Ｄｏの各画素（ｘ、ｙ、ｚ）の可視／不可視の情報を保持する３次元データであり、以下のように定義される。
【００４２】
（式７）
Ｍａｓｋ（ｘ、ｙ、ｚ）＝  ０（不可視）または１（可視）
０≦ｘ≦Ｓｘ−１、０≦ｙ≦Ｓｙ−１、０≦ｚ≦Ｓｚ−１
Ｘ軸方向変倍率：Ｓｃｘ、Ｙ軸方向変倍率：Ｓｃｙ、Ｚ軸方向変倍率：Ｓｃｚ
【００４３】
例えば、図５に示すように、断層画像群Ｄｏに円柱のマスク領域を設定し、マスク領域内を可視化対象とする場合、円柱内部の画素に対応するマスクデータＭａｓｋ（ｘ、ｙ、ｚ）には「１」が設定され、円柱外部の画素に対応するマスクデータＭａｓｋ（ｘ、ｙ、ｚ）には「０」が設定される。なお、マスク領域外を可視化対象としてもよい。この場合、円柱内部の画素に対応するマスクデータＭａｓｋ（ｘ、ｙ、ｚ）には「０」が設定され、円柱外部の画素に対応するマスクデータＭａｓｋ（ｘ、ｙ、ｚ）には「１」が設定される。
【００４４】
＜有効ボクセル領域Ｖｒ＞
有効ボクセル領域Ｖｒは、ボクセル値が描画対象のボクセルを規定するように予め定められた条件を満たすボクセル（以下、「有効ボクセル」と表記する場合がある）を全て含み、かつ有効ボクセルに外接する直方体領域であり、以下のように、Ｘ軸方向ＲＯＩ、Ｙ軸方向ＲＯＩ、Ｚ軸方向ＲＯＩによって定義される。ここで「ボクセル値」とは、各ボクセルに対応づけられる数値情報であり、モダリティで測定された信号値（例えばＣＴ撮影の場合はＣＴ値）や、信号値をカラーマップＣｍａｐに通して得られる不透明度や色値、などを含む。
【００４５】
（式８）
Ｘ軸方向ＲＯＩ：Ｘｉｓ−Ｘｉｅ
Ｙ軸方向ＲＯＩ：Ｙｉｓ−Ｙｉｅ
Ｚ軸方向ＲＯＩ：Ｚｉｓ−Ｚｉｅ
【００４６】
有効ボクセル領域Ｖｒを定義することによって、ボリュームレンダリング画像やＭＩＰ画像を生成する処理（レイキャスティング処理）が、有効ボクセル領域Ｖｒ内のボクセルのみを参照して実行されるため、計算負荷を大幅に抑えることができ、境界が直方体のためレイキャスティング処理における起点座標を直線（仮想光線）との交点に基づいて迅速に探索できる。
【００４７】
具体的には、ボリュームレンダリング画像を生成する場合には、図６に示すように、不透明度が０でない値（α＞０）をもつボクセル（不透明ボクセル）を有効ボクセルとし、有効ボクセルを全て含み、かつ有効ボクセルに外接する直方体を有効ボクセル領域Ｖｒとする。
【００４８】
また、ＭＩＰ画像を生成する場合には、図７に示すように、信号値が所定の閾値以上（例えば、空気でない信号値以上）であるボクセルを有効ボクセルとし、有効ボクセルを全て含み、かつ有効ボクセルに外接する直方体を有効ボクセル領域Ｖｒとする。ボリュームレンダリング画像を生成する場合、ＭＩＰ画像を生成する場合を問わず、クリッピング領域ＲＯＩが定義されている場合は有効ボクセル領域Ｖｒはクリッピング領域ＲＯＩの範囲内に定義され、マスクデータＭａｓｋ（ｘ、ｙ、ｚ）が定義されている場合にはマスクデータＭａｓｋ（ｘ、ｙ、ｚ）が「０」の有効ボクセルは無効として有効ボクセル領域Ｖｒを設定する。
【００４９】
＜ボリュームレンダリング画像ＩｍａｇｅＶＲ＞
ボリュームレンダリング画像ＩｍａｇｅＶＲは、レイキャスティング法に基づいてボリュームレンダリング画像を生成する処理（図１７参照）によって得られるフルカラー（２４ビット）の３次元再構成像（Ｓｉｚｅ×Ｓｉｚｅの画像）であり、以下のように定義される。
【００５０】
（式９）
０≦ＩｍａｇｅＶＲ（ｘ、ｙ、ｎ）≦２５５
０≦ｘ≦Ｓｉｚｅ−１、０≦ｙ≦Ｓｉｚｅ−１
ｎ＝０（Ｒ）、１（Ｇ）、２（Ｂ）
【００５１】
＜ＭＩＰ画像ＩｍａｇｅＭＩＰ＞
ＭＩＰ画像ＩｍａｇｅＭＩＰは、レイキャスティング法に基づいてＭＩＰ画像を生成する処理（図２２参照）によって得られるモノクロ（１６ビットまたは８ビット）の３次元再構成像（Ｓｉｚｅ×Ｓｉｚｅの画像）であり、以下のように定義される。ＭＩＰ画像ＩｍａｇｅＭＩＰを生成する段階では、階調は元のＤＩＣＯＭ画像の信号値のままモノクロ（１６ビット）で計算する方法が一般的であり、ＩｍａｇｅＭＩＰ（ｘ、ｙ）は−３２７６８≦ＩｍａｇｅＭＩＰ（ｘ、ｙ）≦３２７６７の値をもつ場合があるが、表示される段階では以下のようにモノクロ（８ビット）に変換される。
【００５２】
（式１０）
０≦ＩｍａｇｅＭＩＰ（ｘ、ｙ）≦２５５
０≦ｘ≦Ｓｉｚｅ−１、０≦ｙ≦Ｓｉｚｅ−１
【００５３】
以下、ボリュームレンダリング画像ＩｍａｇｅＶＲとＭＩＰ画像ＩｍａｇｅＭＩＰを総称してレンダリング画像Ｉｍａｇｅと表記する場合がある。
【００５４】
（４．レンダリング画像の方向表示）
本開示では、被写体の向きを容易に認識できるよう、以下のように、レンダリング画像Ｉｍａｇｅ（ボリュームレンダリング画像ＩｍａｇｅＶＲ、ＭＩＰ画像ＩｍａｇｅＭＩＰ）に対して方向表示を行う。
【００５５】
（４−１．方向規定オブジェクトＤｏｂｊの設定）
まず、３次元再構成像表示装置１は、断層画像群Ｄｏ（３次元ボクセル）が配置されるボクセル空間Ｒに、当該ボクセル空間Ｒの少なくとも上下左右前後を規定する３次元のオブジェクト（以下、「方向規定オブジェクトＤｏｂｊ」と表記）を配置し設定する。
【００５６】
図８は、方向規定オブジェクトＤｏｂｊの例を示す。図（左）の方向規定オブジェクトＤｏｂｊは、ボクセル空間Ｒに配置された直方体のオブジェクト（図の例では、Ｅｄｇｅ×Ｅｄｇｅ×Ｅｄｇｅの立方体のオブジェクト）である。また、図（右）に示すように、直方体の各面（６面）には、ボクセル空間Ｒの上下左右前後を識別する表示情報（図のテクスチャＴｅｘ）が設定される。図のテクスチャとしてはフルカラー版（ボリュームレンダリング画像向け）とモノクロ版（ＭＩＰ画像向け）の２種類を用意している。文字の色は全て黒色（ＲＧＢ色（０、０、０）または（グレー：０））に統一している。ただし、方向規定オブジェクトＤｏｂｊを基に生成される方向規定画像Ｉｍａｇｅｃのサイズがレンダリング画像に比べ顕著に小さいため文字が潰れて判読しにくくなる問題が生じる。そこで、２５６段階のグレースケール階調をもつ文字フォントを採用し、文字の内部（グレー：２５５）は黒色とし、文字の境界部（グレー：２５４以下）は各テクスチャの背景色との透かし合成させ、文字の輪郭部にアンチエリアシング処理を施して判読しやすいようにしている。
【００５７】
例えば、図の例では、方向規定オブジェクトＤｏｂｊの面Ｆａｃｅ０には、「右」（Ｒｉｇｈｔ）を示す文字フォント「Ｒ」に対し文字の背景をＲＧＢ色（２５５、０、０）（赤）またはグレー（２５５）で塗りつぶした表示情報（テクスチャ）が設定される。面Ｆａｃｅ１には、「左」（Ｌｅｆｔ）を示す文字フォント「Ｌ」に対し文字の背景をＲＧＢ色（２５５、２５５、０）（黄色）またはグレー（２４３）で塗りつぶした表示情報（テクスチャ）が設定される。面Ｆａｃｅ２には、「前」（正面）（Ａｎｔｅｒｉｏｒ）を示す文字フォント「Ａ」に対し文字の背景をＲＧＢ色（０、２５５、０）（緑）またはグレー（２３１）で塗りつぶした表示情報（テクスチャ）が設定される。
【００５８】
面Ｆａｃｅ３には、「後」（背面）（Ｐｏｓｔｅｒｉｏｒ）を示す文字フォント「Ｐ」に対し文字の背景をＲＧＢ色（０、２５５、２５５）（シアン）またはグレー（２１９）で塗りつぶした表示情報（テクスチャ）が設定される。面Ｆａｃｅ４には、「上」（Ｈｅａｄ）を示す文字フォント「Ｈ」に対し文字の背景をＲＧＢ色（０、０、２５５）（青）またはグレー（２０７）で塗りつぶした表示情報（テクスチャ）が設定される。面Ｆａｃｅ５には、「下」（Ｆｏｏｔ）を示す文字フォント「Ｆ」に対し文字の背景をＲＧＢ色（２５５、０、２５５）（マゼンタ）またはグレー（１９５）で塗りつぶした表示情報（テクスチャ）が設定される。
【００５９】
なお、各面に設定される文字フォントは、上下非対称、左右非対称、または上下左右非対称の文字フォントを用いてもよい。例えば、図８の面Ｆａｃｅ４に設定される文字フォント「Ｈ」は上下左右対称であるため、これを小文字の「ｈ」としたり、書体を変えることで、上下左右非対称の文字フォントとしてもよい。非対称の文字フォントを用いることにより、各面における２次元方向を容易に把握できるようになる。
【００６０】
また、各面に設定される表示情報（テクスチャ）は、互いに異なる表示情報であればよく、図８のような文字と色の組み合わせでなくてもよい。例えば、図９に示すように、直方体の各面の表示情報として、頭部の各方向のイラストを設定してもよい。頭部のイラストを設定することで、被検体が人体等の生物である場合に、被検体の方向を容易に把握できるようになる。
【００６１】
また、方向規定オブジェクトＤｏｂｊのサイズは、図８のように立方体に限定されず、任意に設定可能である。例えば、方向規定オブジェクトＤｏｂｊのサイズを、断層画像群Ｄｏから構成される３次元ボクセル（直方体ボクセル）の３次元方向のサイズの比率に応じて設定してもよい。例えば、図１０に示すように、３次元ボクセルのＸ軸方向のボクセル数がＳｘ、Ｙ軸方向のボクセル数がＳｙ、Ｚ軸方向のボクセル数がＳｚ、Ｘ軸方向変倍率がＳｃｘ、Ｙ軸方向変倍率がＳｃｙ、Ｚ軸方向変倍率がＳｃｚの場合、方向規定オブジェクトＤｏｂｊ（直方体）のＸ軸方向の長さをａ・Ｓｘ・Ｓｃｘ、Ｙ軸方向の長さをａ・Ｓｙ・Ｓｃｙ、Ｚ軸方向の長さをａ・Ｓｚ・Ｓｃｚと設定することで（０＜ａ＜１）、方向規定オブジェクトＤｏｂｊを３次元ボクセル（直方体ボクセル）と相似の形状とすることができる。
【００６２】
また、方向規定オブジェクトＤｏｂｊは、ボクセル空間Ｒの上下左右前後を区別できる３次元オブジェクトであれば、どのような態様のものでもよい。すなわち、方向規定オブジェクトＤｏｂｊは、当該方向規定オブジェクトＤｏｂｊをボクセル空間Ｒの上下左右前後の各６方向から観察した際、互いに異なる表示態様となっていればよい。例えば、図１１のように、方向規定オブジェクトＤｏｂｊとして、車の３次元オブジェクトを設定してもよい。このほか、動物・植物などの生物、小説・漫画・映画・アニメ・ゲームなどのフィクションに登場する人物や動物のキャラクター、など任意の対象を方向規定オブジェクトＤｏｂｊとして設定可能である。
【００６３】
（４−２．方向規定画像Ｉｍａｇｅｃの生成）
次に、３次元再構成像表示装置１は、上記した方向規定オブジェクトＤｏｂｊを２次元の投影面にレンダリングしたＳｉｚｅｃ×Ｓｉｚｅｃの画像（以下、「方向規定画像Ｉｍａｇｅｃ」と表記）を生成する。方向規定画像Ｉｍａｇｅｃは、以下のように定義される。
【００６４】
（式１１）
０≦Ｉｍａｇｅｃ（ｘ、ｙ、ｎ）≦２５５
０≦ｘ≦Ｓｉｚｅｃ−１、０≦ｙ≦Ｓｉｚｅｃ−１
ｎ＝０（Ｒ）、１（Ｇ）、２（Ｂ）
【００６５】
図１２は、方向規定画像Ｉｍａｇｅｃの例を示す。図１２の方向規定画像Ｉｍａｇｅｃは、図８の方向規定オブジェクトＤｏｂｊを２次元の投影面にレンダリングした画像である。図に示すように、Ｓｉｚｅｃ×Ｓｉｚｅｃの画像領域内に方向規定オブジェクトＤｏｂｊが表示情報（テクスチャＴｅｘ）とともにレンダリングされる。Ｉｍａｇｅｃ１は方向規定オブジェクトＤｏｂｊがレンダリングされた画像領域であり、Ｉｍａｇｅｃ２はそれ以外の背景領域である。
【００６６】
（４−３．方向規定画像Ｉｍａｇｅｃの合成）
そして、３次元再構成像表示装置１は、被写体の方向を容易に把握できるよう、上記した方向規定画像Ｉｍａｇｅｃをレンダリング画像Ｉｍａｇｅ（ボリュームレンダリング画像ＩｍａｇｅＶＲ、ＭＩＰ画像ＩｍａｇｅＭＩＰ）に合成して表示する。
【００６７】
図１３は、方向規定画像Ｉｍａｇｅｃをレンダリング画像Ｉｍａｇｅに合成して表示する処理の概要を示す図である。図に示すように、３次元再構成像表示装置１は、断層画像群Ｄｏ（３次元ボクセル）を投影面Ｐ１に投影し、断層画像群Ｄｏ（３次元ボクセル）を所定の方向から見たレンダリング画像Ｉｍａｇｅ（図の例では、ボリュームレンダリング画像ＩｍａｇｅＶＲ）を生成するとともに、方向規定オブジェクトＤｏｂｊを投影面Ｐ２（投影面Ｐ１と３次元的に同一方向の平面）に投影し、断層画像群Ｄｏ（３次元ボクセル）と同一の方向から方向規定オブジェクトＤｏｂｊを見た方向規定画像Ｉｍａｇｅｃを生成する。そして、図に示すように、生成した方向規定画像Ｉｍａｇｅｃをレンダリング画像Ｉｍａｇｅの一部（例えば画像端）に合成して表示する。これにより、レンダリング画像において方向規定画像Ｉｍａｇｅｃが表示され、被写体の方向を容易に確認することができるようになる。
【００６８】
（５．３次元再構成像表示装置１の動作）
図１４のフローチャートを参照しながら、３次元再構成像表示装置１の全体の動作について説明する。
【００６９】
まず、３次元再構成像表示装置１の制御部１１は、レンダリング対象である断層画像群Ｄｏ（（式１）参照）を読込み入力する（図１４のステップＳ１）。
【００７０】
続いて、制御部１１は、必要に応じて、断層画像群Ｄｏに対して階調圧縮処理を施す（図１４のステップＳ２）。階調圧縮処理については後述する（「８．階調圧縮処理」参照）。
【００７１】
以下、生成する３次元再構成像（ボリュームレンダリング画像／ＭＩＰ画像／ＭＰＲ画像）に応じて処理が分岐する。
【００７２】
まず、ボリュームレンダリング画像ＩｍａｇｅＶＲを生成する場合には（図１４のステップＳ３；ボリュームレンダリング）、制御部１１は、ボリュームレンダリング画像ＩｍａｇｅＶＲを生成する処理（図１４のステップＳ７）において参照する各種データを取得する。具体的には、制御部１１は、クリッピング領域ＲＯＩ（（式６）参照）、マスクデータＭａｓｋ（（式７）参照）、補正テーブルＳα（（式５）参照）、およびカラーマップＣｍａｐ（（式３）参照）等を取得する（図１４のステップＳ４）。
【００７３】
続いて、制御部１１は、有効ボクセル領域Ｖｒを算出する（図１４のステップＳ５）。具体的には、図６に示すように、制御部１１は、不透明度が０でない値（α＞０）をもつボクセル（不透明ボクセル）を有効ボクセルとし、これらの有効ボクセルを全て含み、かつ有効ボクセルに外接する直方体を有効ボクセル領域Ｖｒとして算出する。クリッピング領域ＲＯＩやマスクデータＭａｓｋが設定されている場合は、制御部１１は、クリッピングＲＯＩやマスクデータＭａｓｋにより規定された描画範囲内において、不透明度が０でない値（α＞０）をもつボクセル（不透明ボクセル）を有効ボクセルとし、これらの有効ボクセルを全て含み、かつ有効ボクセルに外接する直方体を有効ボクセル領域Ｖｒとして算出する。
【００７４】
続いて、制御部１１は、ボクセル空間Ｒに、ボクセル空間Ｒの上下左右前後を規定する方向規定オブジェクトＤｏｂｊを配置し設定する（図１４のステップＳ６）。
【００７５】
続いて、制御部１１は、方向規定オブジェクトＤｏｂｊに基づいて、方向規定画像Ｉｍａｇｅｃを生成する（図１４のステップＳ７）。方向規定画像Ｉｍａｇｅｃを生成する具体的な処理については後述する（「７．方向規定画像Ｉｍａｇｅｃの生成・合成処理」参照）。
【００７６】
続いて、制御部１１は、断層画像群Ｄｏ（３次元ボクセル）に基づいて、ボリュームレンダリング画像ＩｍａｇｅＶＲを生成する（図１４のステップＳ８）。ボリュームレンダリング画像ＩｍａｇｅＶＲを生成する処理については後述する（「９．ボリュームレンダリング画像の生成処理」参照）。
【００７７】
そして、制御部１１は、ステップＳ８において生成したボリュームレンダリング画像ＩｍａｇｅＶＲに、ステップＳ７において生成した方向規定画像Ｉｍａｇｅｃを合成し、表示部１６に表示する（図１４のステップＳ９）。方向規定画像Ｉｍａｇｅｃを合成する処理については後述する（「７．方向規定画像Ｉｍａｇｅｃの生成・合成処理」）。
【００７８】
一方、ＭＩＰ画像ＩｍａｇｅＭＩＰを生成する場合には（図１４のステップＳ３；ＭＩＰ）、制御部１１は、ＭＩＰ画像ＩｍａｇｅＭＩＰする処理（図１４のステップＳ１４）において参照する各種データを取得する。具体的には、制御部１１は、クリッピング領域ＲＯＩ（（式６）参照）、マスクデータＭａｓｋ（（式７）参照）、補正テーブルＳα（（式５）参照）を取得する（図１４のステップＳ１０）。
【００７９】
続いて、制御部１１は、有効ボクセル領域Ｖｒを算出する（図１４のステップＳ１１）。具体的には、ＭＩＰ画像ＩｍａｇｅＭＩＰを生成する場合には、図７に示すように、制御部１１は、信号値が所定の閾値以上（例えば、空気でない信号値以上）であるボクセルを有効ボクセルとし、これらの有効ボクセルを全て含み、かつ有効ボクセルに外接する直方体を有効ボクセル領域Ｖｒとして算出する。クリッピング領域ＲＯＩやマスクデータＭａｓｋが設定されている場合は、制御部１１は、クリッピングＲＯＩやマスクデータＭａｓｋにより規定された描画範囲内において、信号値が所定の閾値以上（例えば、空気でない信号値以上）であるボクセルを有効ボクセルとし、これらの有効ボクセルを全て含み、かつ有効ボクセルに外接する直方体を有効ボクセル領域Ｖｒとして算出する。
【００８０】
続いて、制御部１１は、ボクセル空間Ｒに、ボクセル空間Ｒの上下左右前後を規定する方向規定オブジェクトＤｏｂｊを配置し設定する（図１４のステップＳ１２）。
【００８１】
続いて、制御部１１は、方向規定オブジェクトＤｏｂｊに基づいて、方向規定画像Ｉｍａｇｅｃを生成する（図４のステップＳ１３）。方向規定画像Ｉｍａｇｅｃを生成する処理については後述する（「７．方向規定画像Ｉｍａｇｅｃの生成・合成処理」参照）。
【００８２】
続いて、制御部１１は、断層画像群Ｄｏ（３次元ボクセル）に基づいて、ＭＩＰ画像ＩｍａｇｅＭＩＰを生成する（図１４のステップＳ１４）。ＭＩＰ画像ＩｍａｇｅＭＩＰを生成する処理については後述する（「１０．ＭＩＰ画像の生成処理」参照）。
【００８３】
そして、制御部１１は、ステップＳ１４において生成したＭＩＰ画像ＩｍａｇｅＭＩＰに、ステップＳ１３において生成した方向規定画像Ｉｍａｇｅｃを合成し、表示部１６に表示する（図１４のステップＳ１５）。方向規定画像Ｉｍａｇｅｃを合成する処理については後述する（「７．方向規定画像Ｉｍａｇｅｃの生成・合成処理」）。
【００８４】
一方、ＭＰＲ画像ＩｍａｇｅＭＰＲを生成する場合には（図１４のステップＳ３；ＭＰＲ）、例えば、制御部１１はＹ平面に平行な体軸断面（アキシャル（Ａｘｉａｌ）断面）、ＸＺ平面に平行な冠状断面（コロナル（Ｃｏｒｏｎａｌ）断面）、ＺＹ平面に平行な矢状断面（サジタル（Ｓａｇｉｔｔａｌ）断面）のＭＰＲ像ＩｍａｇｅＭＰＲを生成して表示する（図１４のステップＳ１６）。また、ＸＹＺ空間を斜めに切断した斜断面（オブリーク（Ｏｂｌｉｑｕｅ）断面）のＭＰＲ像を生成しても良い。ＭＰＲ画像を生成する処理については後述する（「１１．ＭＰＲ画像の生成処理」参照）。
【００８５】
ＭＰＲ画像ＩｍａｇｅＭＰＲにおいては３方向の各画像の方向が固定で自明なため、図１４のステップＳ３では、方向規定画像Ｉｍａｇｅｃを表示する処理を行っていないが、行うようにしても良い。特に斜断面（オブリーク（Ｏｂｌｉｑｕｅ）断面）を指定すると、ＭＰＲ画像ＩｍａｇｅＭＰＲの３方向が全て変化するため、３方向の各画像に対してＭＩＰ画像ＩｍａｇｅＭＩＰと同様に方向規定画像Ｉｍａｇｅｃを合成することが望まれる。通常の直交ＭＰＲ画像の場合、体軸断面（アキシャル（Ａｘｉａｌ）断面）のＭＰＲ画像に対しては図８の立方体をＺ軸方向に投影しＦａｃｅ５（Ｆ）のみが正面に表示されるように方向規定画像Ｉｍａｇｅｃを生成し、冠状断面（コロナル（Ｃｏｒｏｎａｌ）断面）のＭＰＲ画像に対しては図８の立方体を−Ｙ軸方向に投影しＦａｃｅ２（Ａ）のみが正面に表示されるように方向規定画像Ｉｍａｇｅｃを生成し、矢状断面（サジタル（Ｓａｇｉｔｔａｌ）断面）のＭＰＲ画像のＭＰＲ画像に対しては図８の立方体をＸ軸中心に９０度回転させて−Ｘ軸方向に投影しＦａｃｅ０（Ｒ）のみが正面に時計方向に９０度回転されて表示（図８の「Ｒ」のように寝かせた状態）されるように方向規定画像Ｉｍａｇｅｃを生成し、各々ＭＰＲ画像ＩｍａｇｅＭＰＲに対して合成するようにすれば良い。斜断面（オブリーク（Ｏｂｌｉｑｕｅ）断面）の指示がなされた場合は、ＭＩＰ画像ＩｍａｇｅＭＩＰと同様に図８の立方体に対して指定された回転行列に基づき３次元空間で回転を施した上で、Ｚ軸方向に投影した方向規定画像Ｉｍａｇｅｃ、―Ｙ軸方向に投影した方向規定画像Ｉｍａｇｅｃ、およびＸ軸中心に９０度回転させて―Ｘ軸方向に投影した方向規定画像Ｉｍａｇｅｃを各々生成し、各々ＭＰＲ画像ＩｍａｇｅＭＰＲに対して合成するようにすれば良い。（ＭＩＰ画像ＩｍａｇｅＭＩＰに対してはＺ軸方向に投影した方向規定画像Ｉｍａｇｅｃのみ生成すれば良い）。この場合は、各方向のＭＰＲ画像において、方向規定画像Ｉｍａｇｅｃは図１２のように立方体が傾いて表示される。
【００８６】
（６．プログレッシブレンダリング）
【００８７】
なお、図１４のステップＳ９またはステップＳ１５においてレンダリング画像Ｉｍａｇｅ（ボリュームレンダリング画像ＩｍａｇｅＶＲまたはＭＩＰ画像ＩｍａｇｅＭＩＰ）を表示したあと、ユーザ操作によってレンダリング画像Ｉｍａｇｅに対する表示変更操作（カラーマップＣｍａｐの変更操作やアングル変更操作など）が行われると、制御部１１は、再度レンダリング処理を実行し、レンダリング画像Ｉｍａｇｅ（ボリュームレンダリング画像ＩｍａｇｅＶＲまたはＭＩＰ画像ＩｍａｇｅＭＩＰ）を生成・表示する。この場合、以下のようにプログレッシブレンダリングを行うようにしてもよい。
【００８８】
具体的には、図１５に示すように、表示中のレンダリング画像Ｉｍａｇｅ（ボリュームレンダリング画像ＩｍａｇｅＶＲまたはＭＩＰ画像ＩｍａｇｅＭＩＰ）に対して表示変更イベント（例えば、マウスボタンを押した状態でのドラッグ操作）が発生すると（図１５のステップＳ１７１）、制御部１１は、方向規定画像Ｉｍａｇｅｃを生成するとともに（図１５のステップＳ１７２）、レンダリング画像Ｉｍａｇｅの画素の一部に対して（画素を間引いて）レンダリング処理（図１４のステップＳ７またはステップＳ１２と同様の処理）を実行し、レンダリング画像Ｉｍａｇｅを生成する（図１５のステップＳ１７３）。例えば、制御部１１は、レンダリング画像Ｉｍａｇｅの画素の３／４を間引き、間引き後（解像度を１／４に落とした後）のレンダリング画像Ｉｍａｇｅに対してレンダリング処理（低解像度レンダリング処理）を実行する。そして、制御部１１は、方向規定画像Ｉｍａｇｅｃを、解像度を落としたレンダリング画像Ｉｍａｇｅに合成し表示する（図１５のステップＳ１７４）。
【００８９】
制御部１１は、表示変更イベントの発生を所定時間待ち（図１５のステップＳ７５）、所定時間内に表示変更イベントが再度発生すると、ステップＳ１７２に戻り、方向規定画像Ｉｍａｇｅｃを生成するとともに、レンダリング画像Ｉｍａｇｅの画素の一部に対して（解像度を落とした）レンダリング処理（低解像度レンダリング処理）を再度実行し、方向規定画像Ｉｍａｇｅｃが合成されたレンダリング画像Ｉｍａｇｅを生成・表示する（図１５のステップＳ１７２〜ステップＳ１７４）。
【００９０】
一方、所定時間内に表示変更イベントが発生しない場合（タイムアウト）または表示確定イベントが発生した場合（例えば、マウスボタンをリリースした状態）、ユーザによる表示変更操作が確定（終了）したものとし、制御部１１は、レンダリング画像Ｉｍａｇｅの全画素に対して通常のレンダリング処理（高解像度レンダリング処理）（図１４のステップＳ７またはステップＳ１２の処理）を実行し、レンダリング画像Ｉｍａｇｅを生成する（図１５のステップＳ１７６）。そして、方向規定画像Ｉｍａｇｅｃを高解像度のレンダリング画像Ｉｍａｇｅに合成し表示する（図１５のステップＳ１７７）。
【００９１】
以上のように、表示変更イベント発生中は画像の解像度を落としたレンダリング処理を実行することで、方向規定画像Ｉｍａｇｅｃが合成されたレンダリング画像Ｉｍａｇｅをユーザ操作に追従させながら高速に表示させることができ、表示変更イベント終了後には全画素データに対して高解像度のレンダリング処理を実行することができる。なお、表示変更イベント中でも方向規定画像Ｉｍａｇｅｃの解像度は落とさないため、方向規定画像Ｉｍａｇｅｃの視認性が落ちることはない。
【００９２】
（７．方向規定画像Ｉｍａｇｅｃの生成・合成処理）
（７−１．方向規定画像Ｉｍａｇｅｃの生成処理）
図１４のステップＳ６またはステップＳ１１において実行される、方向規定オブジェクトＤｏｂｊに基づいて方向規定画像Ｉｍａｇｅｃを生成する処理について説明する。方向規定オブジェクトＤｏｂｊは、図８に示す立方体オブジェクトとする。
【００９３】
方向規定オブジェクトＤｏｂｊ（立方体）は、図１６に示すように、ボクセル座標系にｘ＝０、ｘ＝Ｅｄｇｅ−１、ｙ＝０、ｙ＝Ｅｄｇｅ−１、ｚ＝０、ｚ＝Ｅｄｇｅ−１の６平面（一辺の長さがＥｄｇｅ）で定義される。例えば、Ｅｄｇｅ＝３２などに設定される。
【００９４】
まず、制御部１１は、以下（１）〜（３）に示すように、方向規定オブジェクトＤｏｂｊを投影したＳｉｚｅｃ×Ｓｉｚｅｃ（Ｓｉｚｅｃ＞Ｅｄｇｅ、例えばＳｉｚｅｃ＝５６）の方向規定画像Ｉｍａｇｅｃ（ｘ、ｙ、ｎ）（０≦Ｉｍａｇｅｃ（ｘ、ｙ、ｚ）≦２５５、０≦ｘ≦Ｓｉｚｅｃ−１、０≦ｙ≦Ｓｉｚｅｃ−１、ｎ＝０（Ｒ）、１（Ｇ）、２（Ｂ））の算出対象画素（ｘ、ｙ）に対して、視点座標系において、ｚ＝Ｚｏ（＝Ｓｉｚｅｃ−１）からｚ＝０の範囲で、視点ｚ＝Ｚｏに最も近い方向規定オブジェクトＤｏｂｊ（立方体）の面Ｆａｃｅと面上での交点を算出する。
【００９５】
（１）視線ベクトル（仮想光線ベクトル）の算出
制御部１１は、視点座標系における視点座標（ｘ、ｙ、Ｚｏ）および下限座標（ｘ、ｙ、０）に対して各々座標変換を行い、ボクセル座標系における実数値の視点座標（ｘ１、ｙ１、ｚ１）および下限座標（ｘ２、ｙ２、ｚ２）を求め、視線ベクトル（ｖｘ、ｖｙ、ｖｚ）の各要素を次のように算出する。
【００９６】
ｖｘ＝ｘ２−ｘ１
ｖｙ＝ｙ２−ｙ１
ｖｚ＝ｚ２−ｚ１
【００９７】
なお座標変換は、ボリュームレンダリング画像およびＭＩＰ画像を生成する処理（図１４のステップＳ８およびステップＳ１４）で使用する３×３の回転逆行列を用いた回転処理のみにより行い、Ｚ方向変倍を含むスケーリングやオフセット処理は行わない。
【００９８】
制御部１１は、視点座標系の座標値（ｘ、ｙ、ｚ）（整数値）を以下のように実数値（ｘｘ、ｙｙ、ｚｚ）に変換する。視点座標系はＳｉｚｅｃ×Ｓｉｚｅｃ×Ｓｉｚｅｃの直方体で、ボクセル座標系に定義されるＥｄｇｅ×Ｅｄｇｅ×Ｅｄｇｅの方向規定オブジェクトＤｏｂｊとは独立して定義される。
【００９９】
ｘｘ＝ｘ−Ｓｉｚｅｃ／２
ｙｙ＝ｙ−Ｓｉｚｅｃ／２
ｚｚ＝ｚ−Ｓｉｚｅｃ／２
【０１００】
続いて、制御部１１は、以下のように、ボリュームレンダリング画像およびＭＩＰ画像を生成する処理（図１４のステップＳ８およびステップＳ１４）で使用する回転パラメータ行列Ｒ（３×３の回転逆行列）を用いて回転処理を行う。
【０１０１】
ｘｘ’＝Ｒ１１・ｘｘ＋Ｒ１２・ｙｙ＋Ｒ１３・ｚｚ
ｙｙ’＝Ｒ２１・ｙｙ＋Ｒ２２・ｙｙ＋Ｒ２３・ｚｚ
ｚｚ’＝Ｒ３１・ｘｘ＋Ｒ３２・ｙｙ＋Ｒ３３・ｚｚ
【０１０２】
そして、制御部１１は、以下のように、ボクセル座標系の座標値（ｘｒ、ｙｒ、ｚｒ）（実数値）を得る。
【０１０３】
ｘｒ＝ｘｘ’＋Ｅｄｇｅ／２
ｙｒ＝ｙｙ’＋Ｅｄｇｅ／２
ｚｒ＝ｚｚ’＋Ｅｄｇｅ／２
【０１０４】
（２）視線ベクトルと方向規定オブジェクトＤｏｂｊ（立方体）との交点算出
制御部１１は、ｔｘ＝ｔｙ＝ｔｚ＝１０と初期化し、
１）｜ｖｘ｜≧１の場合、ｔｘ１＝−ｘ１／ｖｘ、ｔｘ２＝（Ｅｄｇｅ−１−ｘ１）／ｖｘを算出し、いずれか小さい方をｔｘに設定する。
２）｜ｖｙ｜≧１の場合、ｔｙ１＝−ｙ１／ｖｙ、ｔｙ２＝（Ｅｄｇｅ−１−ｙ１）／ｖｙを算出し、いずれか小さい方をｔｙに設定する。
３）｜ｖｚ｜≧１の場合、ｔｚ１＝−ｚ１／ｖｚ、ｔｚ２＝（Ｅｄｇｅ−１−ｚ１）／ｖｚを算出し、いずれか小さい方をｔｚに設定する。
【０１０５】
（３）視点に最も近い面Ｆａｃｅと面上での交点（ｃｕ、ｃｖ）の算出
制御部１１は、視点座標系における交点座標をＺｃ＝−１、視点に最も近い面をＦａｃｅ＝−１、面上での交点を（ｃｕ、ｃｖ）＝（−１、−１）と初期化し、
１）０≦ｔｘ≦１の場合
Ｙ＝ｖｙ・ｔｘ＋ｙ１、Ｚ＝ｖｚ・ｔｘ＋ｚ１を算出する。
０≦Ｙ≦Ｅｄｇｅ−１かつ０≦Ｚ≦Ｅｄｇｅ−１ならば、ｚ＝Ｚｏ・（１−ｔｘ）を算出し、ｚ＞ＺｃならばＺｃ＝ｚに置換するとともに、ｔｘ＝ｔｘ２ならばＦａｃｅ＝１、ｔｘ＝ｔｘ１ならばＦａｃｅ＝０、面上での交点座標を（ｃｕ、ｃｖ）＝（Ｙ、Ｚ）とする。
２）０≦ｔｙ≦１の場合
Ｘ＝ｖｘ・ｔｙ＋ｘ１、Ｚ＝ｖｚ・ｔｙ＋ｚ１を算出する。
０≦Ｘ≦Ｅｄｇｅ−１かつ０≦Ｚ≦Ｅｄｇｅ−１ならばｚ＝Ｚｏ・（１−ｔｙ）を算出し、ｚ＞ＺｃならばＺｃ＝ｚに置換するとともに、ｔｙ＝ｔｙ２ならばＦａｃｅ＝３、ｔｙ＝ｔｙ１ならばＦａｃｅ＝２、面上での交点座標を（ｃｕ、ｃｖ）＝（Ｘ、Ｚ）とする。
３）０≦ｔｚ≦１の場合
Ｘ＝ｖｘ・ｔｚ＋ｘ１、Ｙ＝ｖｙ・ｔｚ＋ｙ１を算出する。
０≦Ｘ≦Ｅｄｇｅ−１かつ０≦Ｙ≦Ｅｄｇｅ−１ならばｚ＝Ｚｏ・（１−ｔｚ）を算出し、ｚ＞ＺｃならばＺｃ＝ｚに置換するとともに、ｔｚ＝ｔｚ２ならばＦａｃｅ＝５、ｔｚ＝ｔｚ１ならばＦａｃｅ＝４、面上での交点座標を（ｃｕ、ｃｖ）＝（Ｘ、Ｙ）とする。
【０１０６】
以上の処理により、方向規定画像Ｉｍａｇｅｃの各画素（ｘ、ｙ）に対して、視点に最も近い方向規定オブジェクトＤｏｂｊ（立方体）の面Ｆａｃｅと面上での交点が算出される。図１６の例では、方向規定画像Ｉｍａｇｅｃのある画素について、視点に最も近い面として面Ｆａｃｅ２が算出され、面上での交点（ｃｕ、ｃｖ）が算出されている。
【０１０７】
（４）方向規定画像Ｉｍａｇｅｃ（ｘ、ｙ、ｎ）の対象画素（ｘ、ｙ）の色算出
そして、制御部１１は、以下のように、算出した面Ｆａｃｅと面上での交点（ｃｕ、ｃｖ）に基づいて方向規定画像Ｉｍａｇｅｃ（ｘ、ｙ、ｎ）（０≦ｎ≦２）の各画素（ｘ、ｙ）に割り当てる画素値を算出し、方向規定画像Ｉｍａｇｅｃを生成する。
【０１０８】
ここで、図１６（右図）に示すように、各面に設定する表示情報（テクスチャＴｅｘ）として、Ｅｄｇｅ×Ｅｄｇｅのサイズで２５６階調の６文字分のグレースケール文字フォントＦｏｎｔ（Ｆｉｄ、ｘ、ｙ）（０≦Ｆｏｎｔ（Ｆｉｄ、ｘ、ｙ）≦２５５、０≦Ｆｉｄ≦５、０≦ｘ≦Ｅｄｇｅ−１、０≦ｙ≦Ｅｄｇｅ−１）、および各文字の背景色Ｆｃｏｌ（Ｆｉｄ、ｎ）（０≦Ｆｃｏｌ（Ｆｉｄ、ｎ）≦２５５、０≦Ｆｉｄ≦５、ｎ＝０（Ｒ）、１（Ｇ）、２（Ｂ））があらかじめ定義されているものとする。なお、ＭＩＰ画像を生成する場合には、各文字の色はモノクロ色（ｎ＝０のみ使用）とする。
【０１０９】
（ａ）面ＦａｃｅがＦａｃｅ≧０の場合（面との交点が存在する場合）
制御部１１は、以下のように、方向規定画像Ｉｍａｇｅｃに表示情報（テクスチャＴｅｘ）をマッピングする。
【０１１０】
Ｉｍａｇｅｃ（ｘ、ｙ、ｎ）＝Ｆｏｎｔ（Ｆａｃｅ、ｃｕ、ｃｖ）・Ｆｃｏｌ（Ｆａｃｅ、ｎ）／２５５＋１
なお書き込んだ画素値は、１≦Ｉｍａｇｅｃ（ｘ、ｙ、ｎ）≦２５５（０≦ｎ≦２）に制限する。
【０１１１】
例えば図１６において、算出された面ＦａｃｅがＦａｃｅ２の場合、２５６階調のグレーススケール文字フォント「Ａ」Ｆｏｎｔ（２、ｃｕ、ｃｖ）と背景色を、カラーの場合はＦｃｏｌ（２、０）＝０、Ｆｃｏｌ（２、１）＝２５５、Ｆｃｏｌ（２、２）＝０、（緑色）、モノクロの場合はＦｃｏｌ（２、０）＝２３１とした表示情報（テクスチャＴｅｘ）が、方向規定画像Ｉｍａｇｅｃ中の面Ｆａｃｅ２にマッピングされる。
【０１１２】
（ｂ）Ｆａｃｅ＝−１の場合（面との交点が存在しない場合（背景））
制御部１１は、以下のように、所定の背景色を割り当てる。
【０１１３】
Ｉｍａｇｅｃ（ｘ、ｙ、ｎ）＝０（０≦ｎ≦２）
【０１１４】
以上のようにして、制御部１１は、方向規定画像Ｉｍａｇｅｃを生成する。図１２に示すように、生成された方向規定画像Ｉｍａｇｅｃのうち、表示情報（テクスチャＴｅｘ）がマッピングされた画像領域がＩｍａｇｅｃ１（Ｆａｃｅ≧０の画像領域）に相当し、表示情報（テクスチャＴｅｘ）がマッピングされない画像領域（背景）がＩｍａｇｅｃ２（Ｆａｃｅ＝−１の画像領域）に相当する。
【０１１５】
（７−２．方向規定画像Ｉｍａｇｅｃの合成処理）
図１４のステップＳ９またはステップＳ１５において実行される、レンダリング画像Ｉｍａｇｅ（ボリュームレンダリング画像ＩｍａｇｅＶＲ、ＭＩＰ画像ＩｍａｇｅＭＩＰ）に、方向規定画像Ｉｍａｇｅｃを合成する処理について説明する。
【０１１６】
制御部１１は、以下のように、ステップＳ７またはステップＳ１３において生成した方向規定画像Ｉｍａｇｅｃのうち、１≦Ｉｍａｇｅｃ（ｘ、ｙ、ｎ）≦２５５を満たす画像領域（図１２の画像領域Ｉｍａｇｅｃ１）を、ステップＳ８、ステップＳ１４において生成した既生成のレンダリング画像Ｉｍａｇｅ（ボリュームレンダリング画像ＩｍａｇｅＶＲ、ＭＩＰ画像ＩｍａｇｅＭＩＰ）の画素に上書きする（合成する）。
【０１１７】
Ｉｍａｇｅ（ｘ、ｙ、ｎ）＝Ｉｍａｇｅｃ（ｘ、ｙ、ｎ）（０≦ｎ≦２）
【０１１８】
なお、方向規定画像ＩｍａｇｅｃのうちＩｍａｇｅｃ（ｘ、ｙ、ｎ）＝０を満たす画像領域（図１２の画像領域Ｉｍａｇｅｃ２）は、レンダリング画像Ｉｍａｇｅに上書き（合成）されないため、レンダリング画像Ｉｍａｇｅ（ボリュームレンダリング画像Ｉｍａｇｅ、ＭＩＰ画像ＩｍａｇｅＭＩＰ）の画素がそのまま表示される。
【０１１９】
（８．階調圧縮処理）
図１４のステップＳ２において実行される断層画像群Ｄｏの階調圧縮処理について説明する。
制御部１１は、以下のようにして、１６ビットの断層画像群Ｄｏ（（式１）参照）を８ビットの断層画像群Ｄｏ（（式２）参照）に階調圧縮する。
【０１２０】
（１）断層画像群ＤｏのＳｚ／２番目の中間スライスＤｏ（ｚ／２）における全ての画素の最小値Ｄｍｉｎ、最大値Ｄｍａｘを算出する。なおＤｍｉｎとＤｍａｘは全てのスライスより最小値と最大値を求める方法をとっても良いが、本実施の形態のように中間スライスだけで決定する方法をとることで、大容量の１６ビットの断層画像群Ｄｏをメモリ上に保持する必要がなくなる。
（２）下限値Ｌｍｉｎ＝（Ｄｍａｘ−Ｄｍｉｎ）・γ＋Ｄｍｉｎ、上限値Ｌｍａｘ＝（Ｄｍａｘ−Ｄｍｉｎ）・（１−γ）＋Ｄｍｉｎを設定する。ここで、γは階調圧縮画像のコントラスト調整幅で、０に近いほどコントラストが増大する（但し、輝度が小さくなる）。通常はγ＝０．１に設定する。
【０１２１】
（３）断層画像群Ｄｏを以下の計算式で８ビットの断層画像群Ｄｏ（（式２）参照）に変換する（下限値Ｌｍｉｎ〜上限値Ｌｍａｘの範囲で２５６段階に圧縮する）。
Ｄｏ（ｘ、ｙ、ｚ）
＝（Ｄｏ（ｘ、ｙ、ｚ）−Ｌｍｉｎ）・２５５／（Ｌｍａｘ−Ｌｍｉｎ）
但し、Ｄｏ（ｘ、ｙ、ｚ）＞２５５の場合はＤｏ（ｘ、ｙ、ｚ）＝２５５、Ｄｏ（ｘ、ｙ、ｚ）＜０の場合はＤｏ（ｘ、ｙ、ｚ）＝０に飽和させる。
【０１２２】
このように階調圧縮をすることで、断層画像群を保持するためのメモリ容量を半分に抑えることができる。たとえ信号値の階調が１６ビットあっても、カラーマップＣｍａｐにより、変換される色値（ＲＧＢ値）及び不透明度（α値）の階調はディスプレイの階調に合わせて８ビットに制限されるため、階調圧縮に伴う画質劣化は殆ど生じない。
【０１２３】
（９．ボリュームレンダリング画像の生成処理）
図１４のステップＳ８において実行される、ボリュームレンダリング画像を生成する処理について説明する。
図１７は、ボリュームレンダリング画像を生成する処理の流れを示すフローチャートである。
【０１２４】
まず、制御部１１は、座標変換パラメータを設定する（図１７のステップＳ３１）。本開示では、後述するレイキャスティング処理（図１７のステップＳ３３、図１８）で、視点座標系の各３次元座標毎にボクセルを参照するため、逐次座標変換を行う方法をとる。そのため、制御部１１は、以下のように、各座標変換処理に共通する座標変換パラメータを事前に設定・算出しておく。
【０１２５】
＜座標変換パラメータ＞
回転パラメータ行列Ｒ：
Ｒ＝［Ｒ１１  Ｒ１２  Ｒ１３；
Ｒ２１  Ｒ２２  Ｒ２３；
Ｒ３１  Ｒ３２  Ｒ３３］
（ボクセル座標系から視点座標系への座標変換を行うための３×３の行列の逆行列、ＧＵＩ側はボクセル座標系から視点座標系への座標変換を指示するが、レンダリング側は視点座標系からボクセル座標系に座標変換を行う。）
ＸＹＺ軸方向のオフセット：
Ｘｏｆｆ、Ｙｏｆｆ、Ｚｏｆｆ（２次元画面上で指定するため、通常Ｚｏｆｆ＝０）
クリッピング領域：
Ｘ軸方向ＲＯＩ：Ｘｓ−Ｘｅ
Ｙ軸方向ＲＯＩ：Ｙｓ−Ｙｅ
Ｚ軸方向ＲＯＩ：Ｚｓ−Ｚｅ
有効ボクセル領域（外接直方体領域）：
Ｘ軸方向ＲＯＩ：Ｘｉｓ−Ｘｉｅ
Ｙ軸方向ＲＯＩ：Ｙｉｓ−Ｙｉｅ
Ｚ軸方向ＲＯＩ：Ｚｉｓ―Ｚｉｅ
拡大縮小倍率Ｓｃａｌｅ（ＸＹＺ軸方向で同一）
Ｘ軸方向変倍率：Ｓｃｘ、Ｙ軸方向変倍率：Ｓｃｙ、Ｚ軸方向変倍率Ｓｃｚ
座標変換サブサンプル・オフセット：Ｘ軸方向ｄｘ、Ｙ軸方向ｄｙ、Ｚ軸方向ｄｚ
生成するボリュームレンダリング画像のサイズ：Ｓｉｚｅ（ＸＹ軸方向で同一）
仮想光線のサブサンプリング倍率：Ｓｒａｙ（通常は１で、値が１より大きいと粗くなり、１未満だと高精細になる。ボリュームレンダリング画像を生成する場合はＳｒａｙ＝１、ＭＩＰ画像を生成する場合はＳｒａｙ＝２などに設定する。）
【０１２６】
制御部１１は、上記した回転パラメータ行列Ｒに対して、初期値として単位行列を設定する。すなわち、Ｒ１１＝１、Ｒ１２＝０、Ｒ１３＝０、Ｒ２１＝０、Ｒ２２＝１、Ｒ２３＝０、Ｒ３１＝０、Ｒ３２＝０、Ｒ３３＝１と設定する。
そして、ＧＵＩの指示に従い、Ｘ軸中心回転Ｒｘ、Ｙ軸中心回転Ｒｙ、Ｚ軸中心回転Ｒｚ（角度単位：ラジアン）のいずれかを逐次指定し、以下のように、各々回転行列Ａを生成して回転パラメータ行列Ｒに右から乗算して、回転パラメータ行列Ｒを更新する。これにより、ＧＵＩの指示により生成されるボクセル座標系から視点座標系への回転行列の逆行列が算出される。
【０１２７】
回転行列Ａを
Ａ＝［Ａ１１  Ａ１２  Ａ１３；
Ａ２１  Ａ２２  Ａ２３；
Ａ３１  Ａ３２  Ａ３３］
とすると、
Ｘ軸中心回転Ｒｘの場合の回転行列Ａの各要素は、
Ａ１１＝１、Ａ１２＝０、Ａ１３＝０
Ａ２１＝０、Ａ２２＝ｃｏｓＲｘ、Ａ２３＝ｓｉｎＲｘ
Ａ３１＝０、Ａ３２＝ｓｉｎＲｘ、Ａ３３＝ｃｏｓＲｘ
Ｙ軸中心回転Ｒｙの場合の回転行列Ａの各要素は、
Ａ１１＝ｃｏｓＲｙ、Ａ１２＝０、Ａ１３＝ｓｉｎＲｙ
Ａ２１＝０、Ａ２２＝１、Ａ２３＝０
Ａ３１＝−ｓｉｎＲｙ、Ａ３２＝０、Ａ３３＝ｃｏｓＲｙ
Ｚ軸中心回転Ｒｚの場合の回転行列Ａの各要素は、
Ａ１１＝ｃｏｓＲｚ、Ａ１２＝ｓｉｎＲｚ、Ａ１３＝０
Ａ２１＝−ｓｉｎＲｚ、Ａ２２＝ｃｏｓＲｚ、Ａ２３＝０
Ａ３１＝０、Ａ３２＝０、Ａ３３＝１
となる。
回転パラメータ行列Ｒは、Ｒ←Ｒ×Ａと更新される。
【０１２８】
以上で定義された座標変換パラメータに基づく座標変換処理は、レイキャスティング処理（図１７のステップＳ３３、図１８）の各処理の中で逐次実行される。
【０１２９】
続いて、制御部１１は、処理回数ｌ＝０、サブサンプル・オフセット値をｄｘ＝ｄｙ＝ｄｚ＝０に初期化する（図１７のステップＳ３２）。
そして、制御部１１は、レイキャスティング処理（各座標（ｘ、ｙ）毎に色値を算出する処理）を実行する（図１７のステップＳ３３）。
【０１３０】
図１８のフローチャートを参照して、このレイキャスティング処理について説明する。
制御部１１は、まず、生成する２４ビット（ＲＧＢ）のボリュームレンダリング画像ＩｍａｇｅＶＲ（ｘ、ｙ、ｎ）の初期値を全て０に設定する（ＩｍａｇｅＶＲ（ｘ、ｙ、ｎ）＝０、ｎ＝０（Ｒ）、１（Ｇ）、２（Ｂ））。そして、サブサンプル回数Ｌとして、各２次元座標（ｘ、ｙ）（０≦ｘ≦Ｓｉｚｅ−１、０≦ｙ≦Ｓｉｚｅ−１）に対して、以下の処理を実行する。
【０１３１】
制御部１１は、背景色ｂｇ（ｎ）（ｎ＝０（Ｒ）、１（Ｇ）、２（Ｂ）、０≦ｂｇ（ｎ）≦２５５）を設定し、ｘ＝０、ｙ＝０とする（図１８のステップＳ５１）。
【０１３２】
続いて、制御部１１は、仮想光強度Ｔｒａｎｓ＝１．０、累積輝度値Ｅｎｅｒｇｙ（ｎ）＝０．０（０≦ｎ≦２）に初期化する（図１８のステップＳ５２）。
【０１３３】
続いて、制御部１１は、有効ボクセル領域Ｖｒと仮想光線との交点のＺ座標（Ｚｃ）を算出する（図１８のステップＳ５３）。有効ボクセル領域Ｖｒと仮想光線との交点のＺ座標（Ｚｃ）を算出する処理については後述する（「９−１．交点算出処理」参照）。
【０１３４】
続いて、制御部１１は、ＺｓｔをＺｓｔ＝Ｚｃに設定し（図１８のステップＳ５４）、Ｚｓｔから先頭の有効ボクセル（不透明ボクセル）のＺ座標ｚ（仮想光線の照射を開始する起点座標）を探索する（図１８のステップＳ５５）。すなわち、ステップＳ５３において算出された交点から視線方向に向かってレイキャスティング計算を開始する起点座標を探索する。起点座標ｚを探索する処理については後述する（「９−２．起点座標探索処理」参照）。
【０１３５】
ｚ＜０の場合、ステップＳ６１へ移行する。
【０１３６】
一方、ｚ≧０の場合、制御部１１は、３次元座標（ｘ、ｙ、ｚ）を座標変換してボクセルα値（Ｖα）を取得し、Ａｌｐｈａ＝Ｖα／２５５を求める（図１８のステップＳ５６）。座標変換を行い、ボクセルα値（Ｖα）を取得する処理については後述する（「９−４．ボクセルα値、ＲＧＢ値の取得（補間あり）」参照）。
【０１３７】
ステップＳ５６において算出したＡｌｐｈａがＡｌｐｈａ＝０かつｚ＝０の場合、Ｚｓｔ＝ｚ−１としたうえで（ステップＳ５６）、ステップＳ５５に戻り、不透明ボクセルのＺ座標ｚを再度探索する。
【０１３８】
一方、ステップＳ５６において算出したＡｌｐｈａがＡｌｐｈａ＜０（有効ボクセル領域Ｖｒを通過）、またはＡｌｐｈａ＝０かつｚ＝０の場合、ステップＳ６１へ移行し、画素（ｘ、ｙ）におけるＲＧＢ画素値を決定する。これにより、有効ボクセル領域Ｖｒを逸脱（通過）している場合（Ａｌｐｈａ＜０）は、その先に描画対象のボクセルは存在しないため、レイキャスティング処理を早期に打ち切り、冗長な処理を省略する。
【０１３９】
一方、ステップＳ５６において算出したＡｌｐｈａがＡｌｐｈａ＞０の場合、制御部１１は、３次元座標（ｘ、ｙ、ｚ）を座標変換してボクセルＲＧＢ値Ｖｃ（ｎ）を取得する（図１８のステップＳ５８）。座標変換を行い、ボクセルＲＧＢ値（Ｖｃ（ｎ））を取得する処理については後述する（「９−４．ボクセルα値、ＲＧＢ値の取得（補間あり）」参照）。
【０１４０】
続いて、制御部１１は、仮想光線サブサンプルに基づくα値を、
Ａｌｐｈａ’＝１−（１−Ａｌｐｈａ）１／Ｓｒａｙ
と補正し、
累積輝度を、
Ｅｎｅｒｇｙ（ｎ）＝Ｅｎｅｒｇｙ（ｎ）＋Ｔｒａｎｓ／Ａｌｐｈａ・Ｖｃ（ｎ）／２５５
透過光強度を、
Ｔｒａｎｓ＝Ｔｒａｎｓ・（１．０−Ａｌｐｈａ）
と更新する（図１８のステップＳ５９）。
【０１４１】
Ｔｒａｎｓ＜０．００１の場合、ステップＳ６１へ移行し、画素（ｘ、ｙ）におけるＲＧＢ画素値を決定する。Ｔｒａｎｓ≧０．００１の場合、制御部１１は、ｚ＝ｚ−１に更新し（図１８のステップＳ６０）、ｚ≧０の場合、ステップＳ５６に戻り、ｚ＜０の場合、ステップＳ６１へ移行し、画素（ｘ、ｙ）におけるＲＧＢ画素値を決定する。
【０１４２】
ステップＳ６１において、制御部１１は、画素（ｘ、ｙ）におけるＲＧＢ画素値を次のように決定する。
【０１４３】
ＩｍａｇｅＶＲ（ｘ、ｙ、ｎ）＝ＩｍａｇｅＶＲ（ｘ、ｙ、ｎ）＋ｋ・Ｅｎｅｒｇｙ（ｎ）・Ｌｉｇｈｔ（ｎ）／Ｌ
ここで、ｋは強度倍率であり、初期値はｋ＝１．０に設定されている。
【０１４４】
続いて、制御部１１は、ｘ←ｘ＋１に更新し（図１８のステップＳ６２）、ｘ＜Ｓｉｚｅの場合、ステップＳ５２に戻り、次の画素ｘのＲＧＢ値を決定する処理（ステップＳ５２〜Ｓ６１）を実行する。ｘ≧Ｓｉｚｅの場合、ｙ←ｙ＋１に更新し（図１８のステップＳ６３）、ｙ≦Ｓｉｚｅの場合、ｘ＝０としたうえで、ステップＳ５２に戻り、ｙ行目の画素（ｘ、ｙ）のＲＧＢ値を決定する処理（ステップＳ５２〜Ｓ６１）を繰り返す。ｙ＞Ｓｉｚｅの場合、制御部１１は、処理を終了する。
すなわち、全画素のＲＧＢ値が算出されるまで（ステップＳ６２；ｘ≧Ｓｉｚｅ、かつ、ステップＳ６３；ｙ＞Ｓｉｚｅ）、ステップＳ５２〜Ｓ６１の処理を繰り返す。
【０１４５】
図１７のフローチャートに戻る。
制御部１１は、処理回数をｌ←ｌ＋１に更新し、サブサンプル・オフセット値をｄｘ←ｄｘ＋１／Ｌ、ｄｙ←ｄｙ＋１／Ｌ、ｄｚ←ｄｚ＋１／Ｌに更新する（図１７のステップＳ３４）。制御部１１は、処理回数ｌがｌ＞Ｌ−１を満たすまで（ステップＳ３４；ｌ＞Ｌ−１）、ステップＳ３３のレイキャスティング処理を繰り返す。レイキャスティング処理が終了すると、制御部１１は、ボリュームレンダリング画像ＩｍａｇｅＶＲを出力する（図１７のステップＳ３５）。
【０１４６】
（９−１．交点算出処理）
図１８のステップＳ５３において実行される有効ボクセル領域Ｖｒと仮想光線との交点のＺ座標（Ｚｃ）を算出する処理について説明する。
【０１４７】
制御部１１は、以下の処理手順で、レイキャスティング処理の算出対象画素（ｘ、ｙ）に対して、視点座標系において、ｚ＝Ｚｏ（＝Ｓｉｚｅ／Ｓｒａｙ−１）からｚ＝０の範囲で、視点ｚ＝Ｚｏに最も近い有効ボクセル領域Ｖｒ（［Ｘｉｓ、Ｘｉｅ］、［Ｙｉｓ、Ｙｉｅ］、［Ｚｉｓ、Ｚｉｅ］）との交点Ｚｃを算出する。
【０１４８】
（１）視線ベクトル（仮想光線ベクトル）の算出
制御部１１は、図１９に示すように、視点座標系における視点座標（ｘ、ｙ、Ｚｏ）および下限座標（ｘ、ｙ、０）に対して各々座標変換を行い、ボクセル座標系における視点座標（ｘ１、ｙ１、ｚ１）および下限座標（ｘ２、ｙ２、ｚ２）を求め、視線ベクトル（ｖｘ、ｖｙ、ｖｚ）の各要素を次のように算出する。
【０１４９】
ｖｘ＝ｘ２−ｘ１
ｖｙ＝ｙ２−ｙ１
ｖｚ＝ｚ２−ｚ１
【０１５０】
（２）視線ベクトルと有効ボクセル領域Ｖｒとの交点の算出
制御部１１は、ｔｘ＝ｔｙ＝ｔｚ＝１０と初期化し、
１）｜ｖｘ｜≧１の場合、ｔｘ１＝（Ｘｉｓ−ｘ１）／ｖｘ、ｔｘ２＝（Ｘｉｅ−ｘ１）／ｖｘを算出し、いずれか小さい方をｔｘに設定する。
２）｜ｖｙ｜≧１の場合、ｔｙ１＝（Ｙｉｓ−ｙ１）／ｖｙ、ｔｙ２＝（Ｙｉｅ−ｙ１）／ｖｙを算出し、いずれか小さい方をｔｙに設定する。
３）｜ｖｚ｜≧１の場合、ｔｚ１＝（Ｚｉｓ−ｚ１）／ｖｚ、ｔｚ２＝（Ｚｉｅ−ｚ１）／ｖｚを算出し、いずれか小さい方をｔｚに設定する。
【０１５１】
これにより、図１９（右図）に示すように、ボクセル座標系における交点座標が求まる。具体的には、交点座標は（ｖｘ・ｔ＋ｘ１，ｖｙ・ｔ＋ｙ１，ｖｚ・ｔ＋ｚ１）で与えられ（ｔは（２）で算出されたｔｘ、ｔｙ、ｔｚのいずれかの値）、図１９の例ではｚ＝Ｚｉｓおよびｚ＝Ｚｉｅの２面に交点が存在し、ｚ＝Ｚｉｅにおける交点座標は（ｖｘ・ｔｚ＋ｘ１，ｖｙ・ｔｚ＋ｙ１，ｖｚ・ｔｚ＋ｚ１）と算出できる。交点座標は、視線ベクトルと有効ボクセル領域Ｖｒ（直方体）を構成する６面との交点（通常、交点は２点以上存在する）のうち、視点に最も近い交点である。
【０１５２】
（３）視点座標系における交点Ｚｃの決定
制御部１１は、視点座標系における交点座標ＺｃをＺｃ＝−１と初期化し、
１）ｔｘ≦１の場合
Ｙ＝ｖｙ・ｔｘ＋ｙ１、Ｚ＝ｖｚ・ｔｘ＋ｚ１を算出する。
Ｙｉｓ≦Ｙ≦ＹｉｅかつＺｉｓ≦Ｚ≦Ｚｉｅの場合（ボクセル座標系における交点が有効ボクセル領域Ｖｒ内に存在する場合）、対応する視点座標系における交点Ｚ２＝Ｚｏ・（１−ｔｘ）を算出し、Ｚ２＞ＺｃならばＺｃ＝Ｚ２に置換する。
２）ｔｙ≦１の場合
Ｘ＝ｖｘ・ｔｙ＋ｘ１、Ｚ＝ｖｚ・ｔｙ＋ｚ１を算出する。
Ｘｉｓ≦Ｘ≦ＸｉｅかつＺｉｓ≦Ｚ≦Ｚｉｅの場合（ボクセル座標系における交点が有効ボクセル領域Ｖｒ内に存在する場合）、対応する視点座標系における交点Ｚ２＝Ｚｏ・（１−ｔｙ）を算出し、Ｚ２＞ＺｃならばＺｃ＝Ｚ２に置換する。
３）ｔｚ≦１の場合
Ｘ＝ｖｘ・ｔｚ＋ｘ１、Ｙ＝ｖｙ・ｔｚ＋ｙ１を算出する。
Ｘｉｓ≦Ｘ≦ＸｉｅかつＹｉｓ≦Ｙ≦Ｙｉｅの場合（ボクセル座標系における交点が有効ボクセル領域Ｖｒ内に存在する場合）、対応する視点座標系における交点Ｚ２＝Ｚｏ・（１−ｔｚ）を算出し、Ｚ２＞ＺｃならばＺｃ＝Ｚ２に置換する。
【０１５３】
これにより、図１９（左図）に示すように、視点座標系における視点に最も近い交点座標（ｘ、ｙ、Ｚｃ）が求まる。
【０１５４】
（４）視点より手前に算出される交点の補正
ｔｘ、ｔｙ、ｔｚは負値をとる場合があり、その場合は交点が視点より手前になる。制御部１１は、Ｚｃ＞Ｚｏの場合、Ｚｃ＝Ｚｏに補正する。すなわち、図２０のように、視点座標系における交点座標が視点より手前（不可視領域）に算出された場合、当該交点座標を視点位置に補正する。
【０１５５】
（９−２．起点座標探索処理）
図２１のフローチャートを参照して、図１８のステップＳ５５において実行される、起点座標ｚを探索する処理について説明する。
【０１５６】
まず、制御部１１は、ｚをｚ＝Ｚｓｔ（＝交点座標Ｚｃ）に初期化し、探索対象画素（ｘ、ｙ）を入力する（図２１のステップＳ８１）。続いて、制御部１１は、３次元座標（ｘ、ｙ、ｚ）に対して座標変換を行い、ボクセルのα値を取得する（図２１のステップＳ８２）。座標変換を行い、ボクセルのα値を取得する処理は後述する（「９−３．ボクセルα値を取得（補間なし）」参照）。
【０１５７】
ステップＳ８２において取得したボクセルのα値がα＝０の場合（ボクセルが透明の場合）、制御部１１は、ｚ←ｚ−ｍ（例えばｍ＝４）に更新する（図２１のステップＳ８３）。ｍは探索時のＺ軸方向のスキップ幅であり、ｍが大きいほど高速に探索できるが、スキップ幅が大きすぎると起点座標の探索精度が悪化する場合がある。
【０１５８】
ステップＳ８３において更新したｚがｚ＜０の場合（ボクセル空間外の場合）、制御部１１は、ｚ＝−１（起点座標が存在しないことを示す値）を返し（図２１のステップＳ８４）、処理を終了する。ｚ≧０の場合、制御部１１は、ステップＳ８２に戻る。
【０１５９】
ステップＳ８２において取得したボクセルのα値がα＜０の場合（有効ボクセル領域Ｖｒを通過した場合）は、制御部１１は、ｚ＝−１（起点座標が存在しないことを示す値）を返し（図２１のステップＳ８４）、処理を終了する。
【０１６０】
ステップＳ８２において取得したボクセルのα値がα＞０の場合（ボクセルが不透明の場合）、以下のように、Ｚ軸の＋方向（視線逆方向）に戻って正確な起点座標を探索する。
【０１６１】
制御部１１は、まず、ｉをｉ＝０に初期化し（図２１のステップＳ８５）、ｉ←ｉ＋１に更新する（図２１のステップＳ８６）。
【０１６２】
ｉ≧ｍまたはｚ＋ｉ≧Ｚｓｔの場合、制御部１１は、ｚ＝ｚ＋ｉ−１を返し（図２１のステップＳ８８）、処理を終了する。
【０１６３】
ｉ＜ｍかつｚ＋ｉ＜Ｚｓｔの場合、３次元座標（ｘ、ｙ、ｚ＋ｉ）に対して座標変換を行い、ボクセルのα値を取得する（図２１のステップＳ８７）。座標変換を行い、ボクセルのα値を取得する処理は後述する（「９−３．ボクセルα値を取得（補間なし）」参照）。
【０１６４】
ステップＳ８７において取得したボクセルのα値がα＝０の場合（ボクセルが透明の場合）、制御部１１は、ｚ＝ｚ＋ｉ−１を返し（図２１のステップＳ８８）、処理を終了する。
【０１６５】
ステップＳ９７において取得したボクセルのα値がα＞０の場合（ボクセルが不透明の場合）、ステップＳ８６に戻り、ステップＳ８６〜Ｓ８７の処理を繰り返す。
【０１６６】
以上のように、先頭の不透明ボクセルのＺ座標ｚ（仮想光線の照射を開始する起点座標）を所定のステップ幅で探索することで（ステップＳ８２、Ｓ８３）、起点座標を高速に特定できる。また、不透明ボクセルが探索された場合、当該ボクセルの位置とステップ幅だけ視線逆方向（Ｚ軸の＋方向）に戻った位置との間に存在する可能性がある不透明ボクセルを再探索することで（ステップＳ８６〜Ｓ８７）、起点座標を正確に特定することができる。
【０１６７】
（９−３．ボクセルα値を取得（補間なし））
起点座標探索処理（図２１）のステップＳ８２およびステップＳ８７において実行される、座標変換を行いボクセルのα値を取得する処理について説明する。
【０１６８】
（９−３−１．座標変換（実数の座標値を取得））
まず座標変換について説明する。
座標変換は、視点座標系をボクセル座標系に変換する処理であり、ＧＵＩ側の変換処理とは逆になる。ＧＵＩ側では関心領域ＲＯＩによるクリッピング、スケーリング、Ｚ軸方向変倍処理、オフセット（ＸＹＺ軸方向同時）、回転、透視変換の順に行うものと仮定し、制御部１１は、与えられた視点座標系の３次元座標値（ｘ、ｙ、ｚ）（整数値）に対応するボクセルの実数の座標値（ｘｒ、ｙｒ、ｚｒ）を以下のように算出する。
【０１６９】
制御部１１は、視点座標系の座標値（ｘ、ｙ、ｚ）（整数値）を次のように実数値（ｘｘ、ｙｙ、ｚｚ）に変換する。視点座標系はＳｉｚｅ（Ｘ軸方向のサイズ）×Ｓｉｚｅ（Ｙ軸方向のサイズ）×Ｓｉｚｅ／Ｓｒａｙ（Ｚ軸方向のサイズ）の直方体で、Ｓｘ×Ｓｙ×Ｓｚの断層画像群Ｄｏとは独立して定義される。通常Ｓｘ＝Ｓｙ＝５１２であればＳｉｚｅ＝５１２となる。視点座標系のＺ軸方向は仮想光線サブサンプル１／Ｓｒａｙ倍に伸縮されていることを考慮して、はじめに以下のようにオフセット処理（ＸＹＺ軸方向同時）を行う。
【０１７０】
ｘｘ＝ｘ−Ｓｉｚｅ／２＋ｄｘ＋Ｘｏｆｆ
ｙｙ＝ｙ−Ｓｉｚｅ／２＋ｄｙ＋Ｙｏｆｆ
ｚｚ＝ｚ・Ｓｒａｙ−Ｓｉｚｅ／２＋ｄｚ＋Ｚｏｆｆ
【０１７１】
続いて、制御部１１は、以下のように、回転パラメータ行列Ｒを用いて回転処理を行う。
【０１７２】
ｘｘ’＝Ｒ１１・ｘｘ＋Ｒ１２・ｙｙ＋Ｒ１３・ｚｚ
ｙｙ’＝Ｒ２１・ｘｘ＋Ｒ２２・ｙｙ＋Ｒ２３・ｚｚ
ｚｚ’＝Ｒ３１・ｘｘ＋Ｒ３２・ｙｙ＋Ｒ３３・ｚｚ
回転処理後の（ｘｘ’、ｙｙ’、ｚｚ’）を（ｘｘ、ｙｙ、ｚｚ）とする。
【０１７３】
制御部１１は、スケーリング、ＸＹＺ軸方向変倍処理を同時に行い、以下のように、ボクセルの座標値（ｘｒ、ｙｒ、ｚｒ）（実数値）を取得する。
【０１７４】
ｘｒ＝ｘｘ／Ｓｃａｌｅ／Ｓｃｘ＋Ｓｘ／２
ｙｒ＝ｙｙ／Ｓｃａｌｅ／Ｓｃｙ＋Ｓｙ／２
ｚｒ＝ｚｚ／Ｓｃａｌｅ／Ｓｃｚ＋Ｓｚ／２
【０１７５】
（９−３−２．座標変換（整数の座標値に変換））
続いて、制御部１１は、算出したボクセルの座標値（ｘｒ、ｙｒ、ｚｒ）（実数値）に対して、各値に０．５を加算して、以下のように、小数点以下を切り捨て整数化した座標値を（ｘｉ、ｙｉ、ｚｉ）（四捨五入した整数値）を求める。
【０１７６】
ｘｉ＝ＩＮＴ［ｘｒ＋０．５］
ｙｉ＝ＩＮＴ［ｙｒ＋０．５］
ｚｉ＝ＩＮＴ［ｚｒ＋０．５］
【０１７７】
（９−３−３．ボクセルα値を取得）
そして、制御部１１は、有効ボクセル領域Ｖｒ、マスクデータＭａｓｋ、または補正テーブルＳαが定義されている場合、これらを考慮して、以下のようにボクセルα値を取得する。
【０１７８】
１）ｘｉ＜Ｘｉｓ、ｘｉ＞Ｘｉｅ、ｙｉ＜Ｙｉｓ、ｙｉ＞Ｙｉｅ、ｚｉ＜Ｚｉｓ、又はｚｉ＞Ｚｉｅのいずれかを満たす場合（有効ボクセル領域Ｖｒ外の場合）
α＝−１
２）上記１）を満たさない場合
α＝Ｃｍａｐ（Ｄｏ（ｘｉ、ｙｉ、ｚｉ）、３）・Ｍａｓｋ（ｘｉ、ｙｉ、ｚｉ）・Ｓα（ｘｉ、ｙｉ、ｚｉ）
【０１７９】
（９−４．ボクセルα値、ＲＧＢ値の取得（補間あり））
図１８のステップＳ５６、Ｓ５８において実行される、３次元座標値（ｘ、ｙ、ｚ）に対して座標変換を行い、ボクセルα値（Ｖα）、ボクセルＲＧＢ値を取得する処理について説明する。
【０１８０】
（９−４−１．座標変換）
まず、前記した（９−３−１．座標変換（実数の座標値を取得））と同様の方法で、３次元座標値（ｘ、ｙ、ｚ）に対応するボクセルの実数の座標値（ｘｒ、ｙｒ、ｚｒ）を算出する。
【０１８１】
続いて、制御部１１は、算出したボクセルの座標値（ｘｒ、ｙｒ、ｚｒ）（実数値）に対して、小数点以下を切り捨て整数化した座標値を（ｘｉ、ｙｉ、ｚｉ）（整数値）とし、切り捨てた小数点以下の端数を（ｗｘ、ｗｙ、ｗｚ）（０≦ｗｘ、ｗｙ、ｗｚ＜１）とする（すなわち、ｘｒ＝ｘｉ＋ｗｘ、ｙｒ＝ｙｉ＋ｗｙ、ｚｒ＝ｚｉ＋ｗｚ）。
【０１８２】
（９−４−２．ボクセル信号値の抽出）
そして、制御部１１は、有効ボクセル領域Ｖｒを考慮して、視点座標系の３次元座標値（ｘ、ｙ、ｚ）（整数値）に対応するボクセルの信号値を断層画像群Ｄｏに基づいて以下のように抽出する。
【０１８３】
１）ｘｉ＜Ｘｉｓ、ｘｉ＞Ｘｉｅ、ｙｉ＜Ｙｉｓ、ｙｉ＞Ｙｉｅ、ｚｉ＜Ｚｉｓ、又はｚｉ＞Ｚｉｅのいずれかを満たす場合（有効ボクセル領域Ｖｒ外）
Ｄ０００＝−３２７６９（無効の値）
２）上記１）の条件を満たさない場合において、ｘｉ＋１＞Ｘｉｅ、ｙｉ＋１＞Ｙｉｅ、又はｚｉ＋１＞Ｚｉｅのいずれかを満たす場合（補間しない）
Ｄ０００＝Ｄｏ（ｘｉ、ｙｉ、ｚｉ）
【０１８４】
３）上記１）２）の条件を満たさない場合（８近傍ボクセルの信号値を抽出）
Ｄ０００＝Ｄｏ（ｘｉ、ｙｉ、ｚｉ）
Ｄ１００＝Ｄｏ（ｘｉ＋１、ｙｉ、ｚｉ）
Ｄ０１０＝Ｄｏ（ｘｉ、ｙｉ＋１、ｚｉ）
Ｄ１１０＝Ｄｏ（ｘｉ＋１、ｙｉ＋１、ｚｉ）
Ｄ００１＝Ｄｏ（ｘｉ、ｙｉ、ｚｉ＋１）
Ｄ１０１＝Ｄｏ（ｘｉ＋１、ｙｉ、ｚｉ＋１）
Ｄ０１１＝Ｄｏ（ｘｉ、ｙｉ＋１、ｚｉ＋１）
Ｄ１１１＝Ｄｏ（ｘｉ＋１、ｙｉ＋１、ｚｉ＋１）
【０１８５】
ここで、マスクデータＭａｓｋ、補正テーブルＳαが定義されている場合は、制御部１１は、抽出した補間対象ボクセルの信号値に対応するα値スケールＳ０００〜Ｓ１１１（０≦Ｓ０００、・・・、Ｓ１１１≦１）を以下のように設定する。なお、マスクデータＭａｓｋ、補正テーブルＳαを使用しない場合は、Ｓ０００＝Ｓ１００＝Ｓ０１０＝Ｓ１１０＝Ｓ００１＝Ｓ１０１＝Ｓ０１１＝Ｓ１１１＝１とする。
【０１８６】
１）１）ｘｉ＜Ｘｉｓ、ｘｉ＞Ｘｉｅ、ｙｉ＜Ｙｉｓ、ｙｉ＞Ｙｉｅ、ｚｉ＜Ｚｉｓ、又はｚｉ＞Ｚｉｅのいずれかを満たす場合（有効ボクセル領域Ｖｒ外）
Ｓ０００＝０
２）上記１）の条件を満たさない場合において、ｘｉ＋１＞Ｘｉｅ、ｙｉ＋１＞Ｙｉｅ、又はｚｉ＋１＞Ｚｉｅのいずれかを満たす場合（補間しない）
Ｓ０００＝Ｍａｓｋ（ｘｉ、ｙｉ、ｚｉ）・Ｓα（ｘｉ、ｙｉ、ｚｉ）
【０１８７】
３）上記１）２）の条件を満たさない場合（８近傍ボクセルの信号値を抽出）
Ｓ０００＝Ｍａｓｋ（ｘｉ、ｙｉ、ｚｉ）・Ｓα（ｘｉ、ｙｉ、ｚｉ）
Ｓ１００＝Ｍａｓｋ（ｘｉ＋１、ｙｉ、ｚｉ）・Ｓα（ｘｉ＋１、ｙｉ、ｚｉ）
Ｓ０１０＝Ｍａｓｋ（ｘｉ、ｙｉ＋１、ｚｉ）・Ｓα（ｘｉ、ｙｉ＋１、ｚｉ）
Ｓ１１０＝Ｍａｓｋ（ｘｉ＋１、ｙｉ＋１、ｚｉ）・Ｓα（ｘｉ＋１、ｙｉ＋１、ｚｉ）
Ｓ００１＝Ｍａｓｋ（ｘｉ、ｙｉ、ｚｉ＋１）・Ｓα（ｘｉ、ｙｉ、ｚｉ＋１）
Ｓ１０１＝Ｍａｓｋ（ｘｉ＋１、ｙｉ、ｚｉ＋１）・Ｓα（ｘｉ＋１、ｙｉ、ｚｉ＋１）
Ｓ０１１＝Ｍａｓｋ（ｘｉ、ｙｉ＋１、ｚｉ＋１）・Ｓα（ｘｉ、ｙｉ＋１、ｚｉ＋１）
Ｓ１１１＝Ｍａｓｋ（ｘｉ＋１、ｙｉ＋１、ｚｉ＋１）・Ｓα（ｘｉ＋１、ｙｉ＋１、ｚｉ＋１）
【０１８８】
（９−４−３．ボクセルα値の取得）
そして、制御部１１は、抽出した補間対象ボクセルの信号値に基づいて、視点座標系の３次元座標値（ｘ、ｙ、ｚ）（整数値）に対応するボクセルのα値Ｖαを以下のように決定する。
【０１８９】
１）ｘｉ＜Ｘｉｓ、ｘｉ＞Ｘｉｅ、ｙｉ＜Ｙｉｓ、ｙｉ＞Ｙｉｅ、ｚｉ＜Ｚｉｓ、又はｚｉ＞Ｚｉｅのいずれかを満たす場合（有効ボクセル領域Ｖｒ外）
Ｖα＝−１
２）上記１）の条件を満たさず、ｘｉ＝Ｘｉｓ、ｘｉ＝Ｘｉｅ、ｙｉ＝Ｙｉｓ、ｙｉ＝Ｙｉｅ、ｚｉ＝Ｚｉｓ、又はｚｉ＝Ｚｉｅのいずれかを満たす場合（有効ボクセル領域Ｖｒの境界面）
Ｖα＝０
【０１９０】
３）上記１）２）の条件を満たさず、ｘｉ＋１＞Ｘｉｅ、ｙｉ＋１＞Ｙｉｅ、又はｚｉ＋１＞Ｚｉｅのいずれかを満たす場合（補間しない）
Ｖα＝Ｃｍａｐ（Ｄ０００、３）・Ｓ０００
【０１９１】
４）上記１）２）３）の条件を満たさない場合（補間する）
Ｖα＝（１−ｗｚ）（１−ｗｙ）（１−ｗｘ）・Ｃｍａｐ（Ｄ０００、３）・Ｓ０００＋（１−ｗｚ）（１−ｗｙ）・ｗｘ・Ｃｍａｐ（Ｄ１００、３）・Ｓ１００＋（１−ｗｚ）・ｗｙ・（１−ｗｘ）・Ｃｍａｐ（Ｄ０１０、３）・Ｓ０１０＋（１−ｗｚ）・ｗｙ・ｗｘ・Ｃｍａｐ（Ｄ１１０、３）・Ｓ１１０＋ｗｚ・（１−ｗｙ）（１−ｗｘ）・Ｃｍａｐ（Ｄ００１、３）・Ｓ００１＋ｗｚ・（１−ｗｙ）・ｗｘ・Ｃｍａｐ（Ｄ１０１、３）・Ｓ１０１＋ｗｚ・ｗｙ・（１−ｗｘ）・Ｃｍａｐ（Ｄ０１１、３）・Ｓ０１１＋ｗｚ・ｗｙ・ｗｘ・Ｃｍａｐ（Ｄ１１１、３）・Ｓ１１１
【０１９２】
（９−４−４．ボクセルＲＧＢ値の取得）
また、制御部１１は、抽出した補間対象ボクセルの信号値に基づいて、視点座標系の３次元座標値（ｘ、ｙ、ｚ）（整数値）に対応するボクセルのＲＧＢ値（Ｖｃ（ｎ））（０≦ｎ≦２）を以下のように決定する。なお、ＲＧＢ値を取得する場合には、Ｓ０００、Ｓ１００、・・・、Ｓ１１１を乗算するマスク処理を行わない。これにより、マスク境界面でのモアレの発生を抑制する。
【０１９３】
１）ｘｉ＜Ｘｉｓ、ｘｉ＞Ｘｉｅ、ｙｉ＜Ｙｉｓ、ｙｉ＞Ｙｉｅ、ｚｉ＜Ｚｉｓ、又はｚｉ＞Ｚｉｅのいずれかを満たす場合（有効ボクセル領域Ｖｒ外）
Ｖｃ（ｎ）＝０  （０≦ｎ≦２）
２）上記１）の条件を満たさず、ｘｉ＋１＞Ｘｉｅ、ｙｉ＋１＞Ｙｉｅ、又はｚｉ＋１＞Ｚｉｅのいずれかを満たす場合（補間しない）
Ｖｃ（ｎ）＝Ｃｍａｐ（Ｄ０００、ｎ）  （０≦ｎ≦２）
【０１９４】
３）上記１）２）の条件を満たさない場合（補間する）
Ｖｃ（ｎ）＝（１−ｗｚ）（１−ｗｙ）（１−ｗｘ）・Ｃｍａｐ（Ｄ０００、ｎ）＋（１−ｗｚ）（１−ｗｙ）・ｗｘ・Ｃｍａｐ（Ｄ１００、ｎ）＋（１−ｗｚ）・ｗｙ・（１−ｗｘ）・Ｃｍａｐ（Ｄ０１０、ｎ）＋（１−ｗｚ）・ｗｙ・ｗｘ・Ｃｍａｐ（Ｄ１１０、ｎ）＋ｗｚ・（１−ｗｙ）（１−ｗｘ）・Ｃｍａｐ（Ｄ００１、ｎ）＋ｗｚ・（１−ｗｙ）・ｗｘ・Ｃｍａｐ（Ｄ１０１、ｎ）＋ｗｚ・ｗｙ・（１−ｗｘ）・Ｃｍａｐ（Ｄ０１１、ｎ）＋ｗｚ・ｗｙ・ｗｘ・Ｃｍａｐ（Ｄ１１１、ｎ）  （０≦ｎ≦２）
【０１９５】
（９−５．陰影計算）
制御部１１は、必要に応じて、次のように陰影計算を行ってもよい。
まず、光源ベクトル（Ｌｘ、Ｌｙ、Ｌｚ）（単位ベクトル）を設定する。例えば、（Ｌｘ、Ｌｙ、Ｌｚ）＝（０．５７７３５、０．５７７３５、０．５７７３５）と設定する。また、環境光成分Ａｂ（０≦Ａｂ≦１、例えばＡｂ＝０．２）を設定する。
【０１９６】
続いて、制御部１１は、次のように、座標変換により算出された３次元座標（ｘｉ、ｙｉ、ｚｉ）における６近傍ボクセルの不透明度Ｖ１００、Ｖ２００、Ｖ０１０、Ｖ０２０、Ｖ００１、Ｖ００２を取得する。但し、ｘｉ＋１＞ＸｉｅのときＶ１００＝０、ｘｉ−１＜ＸｉｓのときＶ２００＝０、ｙｉ＋１＞ＹｉｅのときＶ０１０＝０、ｙｉ−１＜ＹｉｓのときＶ０２０＝０、ｚｉ＋１＜ＺｉｓのときＶ００１＝０、ｚｉ−１＜ＺｉｓのときＶ００２＝０とする。すなわち、隣接するボクセルがクリッピング範囲の場合は不透明度を０として扱う。
【０１９７】
Ｖ１００＝Ｃｍａｐ（Ｄｏ（ｘｉ＋１、ｙｉ、ｚｉ）、３）・Ｍａｓｋ（ｘｉ＋１、ｙｉ、ｚｉ）・Ｓα（ｘｉ＋１、ｙｉ、ｚｉ）
Ｖ２００＝Ｃｍａｐ（Ｄｏ（ｘｉ−１、ｙｉ、ｚｉ）、３）・Ｍａｓｋ（ｘｉ−１、ｙｉ、ｚｉ）・Ｓα（ｘｉ−１、ｙｉ、ｚｉ）
Ｖ０１０＝Ｃｍａｐ（Ｄｏ（ｘｉ、ｙｉ＋１、ｚｉ）、３）・Ｍａｓｋ（ｘｉ、ｙｉ＋１、ｚｉ）・Ｓα（ｘｉ、ｙｉ＋１、ｚｉ）
Ｖ０２０＝Ｃｍａｐ（Ｄｏ（ｘｉ、ｙｉ−１、ｚｉ）、３）・Ｍａｓｋ（ｘｉ、ｙｉ−１、ｚｉ）・Ｓα（ｘｉ、ｙｉ−１、ｚｉ）
Ｖ００１＝Ｃｍａｐ（Ｄｏ（ｘｉ、ｙｉ、ｚｉ＋１）、３）・Ｍａｓｋ（ｘｉ、ｙｉ、ｚｉ＋１）・Ｓα（ｘｉ、ｙｉ、ｚｉ＋１）
Ｖ００２＝Ｃｍａｐ（Ｄｏ（ｘｉ、ｙｉ、ｚｉ−１）、３）・Ｍａｓｋ（ｘｉ、ｙｉ、ｚｉ−１）・Ｓα（ｘｉ、ｙｉ、ｚｉ−１）
【０１９８】
上記のように、各不透明度の要素にＭａｓｋ（ｘｉ＋１、ｙｉ、ｚｉ）・Ｓα（ｘｉ＋１、ｙｉ、ｚｉ）を乗算すると、カット面の反射に豊かな陰影が付くがモアレが生じやすい。その場合、Ｖ１００＝Ｃｍａｐ（Ｄｏ（ｘｉ＋１、ｙｉ、ｚｉ）、３）のようにＭａｓｋ（ｘｉ＋１、ｙｉ、ｚｉ）・Ｓα（ｘｉ＋１、ｙｉ、ｚｉ）の項を乗算しなければモアレを抑圧できるが、カット面の光沢が無くなりザラザラになる弊害がある。
【０１９９】
続いて、制御部１１は、座標変換により算出された３次元座標（ｘｉ、ｙｉ、ｚｉ）における勾配ベクトル（Ｇｘ、Ｇｙ、Ｇｚ）を、以下の式で算出する。
【０２００】
Ｇｘ＝（Ｖ１００−Ｖ２００）・Ｓｃｘ
Ｇｙ＝（Ｖ０１０−Ｖ０２０）・Ｓｃｙ
Ｇｚ＝（Ｖ００１−Ｖ００２）・Ｓｃｚ
Ｇ＝｛Ｇｘ２＋Ｇｙ２＋Ｇｚ２｝１／２
【０２０１】
続いて、Ｇ≧１の場合、制御部１１は、輝度値（陰影値）Ｓ（０≦Ｓ≦１）は、拡散反射成分を算出し、
Ｓ＝（１−Ａｂ）｜Ｇｘ・Ｌｘ＋Ｇｙ・Ｌｙ＋Ｇｚ・Ｌｚ｜／Ｇ＋Ａｂ
を与える。Ｇ＜１の場合（αが変化しない場合）、制御部１１は、輝度値（陰影値）Ｓとして、Ｓ＝０を与える。
【０２０２】
そして、制御部１１は、
Ｖｃ’（ｎ）＝Ｓ・Ｖｃ（ｎ）
とし、算出されたＲＧＢ値Ｖｃ（ｎ）（０≦ｎ≦２）の成分を改変する。
【０２０３】
（１０．ＭＩＰ画像の生成処理）
図１４のステップＳ１４において実行される、ＭＩＰ画像を生成する処理を説明する。
図２２は、ＭＩＰ画像を生成する処理の流れを示すフローチャートである。
【０２０４】
まず、制御部１１は、座標変換パラメータを設定する（図２２のステップＳ１０１）。座標変換パラメータの設定は、前記した図１７のステップＳ３１と同様である。
【０２０５】
続いて、制御部１１は、レイキャスティング処理（各座標（ｘ、ｙ）毎に代表信号値を算出する処理）を実行する（図２２のステップＳ１０２）。
【０２０６】
図２３のフローチャートを参照して、このレイキャスティング処理について説明する。生成するＭＩＰ画像ＩｍａｇｅＭＩＰ（ｘ、ｙ）は断層画像群Ｄｏの階調に基づいてモノクロ８ビットまたは１６ビットの値をもつが、図１４のステップＳ２に示される断層画像群Ｄｏに対する階調圧縮処理を施さない場合が多く、その場合はモノクロ１６ビットになる。以下、モノクロ（１６ビット）のＭＩＰ画像ＩｍａｇｅＭＩＰ（ｘ、ｙ）を生成する場合について説明する。
【０２０７】
制御部１１は、まず、生成するモノクロ（１６ビット）のＭＩＰ画像ＩｍａｇｅＭＩＰ（ｘ、ｙ）の初期値を全て０に設定する（ＩｍａｇｅＭＩＰ（ｘ、ｙ）＝０）。また、代表信号値算出モードｍｏｄｅ（０：ＭＩＰ、１：ＭｉｎＩＰ、２：ＲａｙＳｕｍ）を設定し、各２次元座標（ｘ、ｙ）（０≦ｘ≦Ｓｉｚｅ−１、０≦ｙ≦Ｓｉｚｅ−１）に対して、以下の処理を実行する。
【０２０８】
制御部１１は、ｘ＝０、ｙ＝０と設定し（図２３のステップＳ１２１）、有効ボクセル領域Ｖｒと仮想光線との交点のＺ座標（Ｚｃ）を算出する（図２３のステップＳ１２２）。交点のＺ座標を算出する処理は、前記した図１８のステップＳ５３の処理と同様である（「９−１．交点算出処理」参照）。
【０２０９】
続いて、制御部１１は、代表信号値算出モードｍｏｄｅに応じて、代表信号値Ｖｍとカウンタｃｎｔを以下のように初期化し、Ｚｓｔ＝Ｚｃとする（図２３のステップＳ１２３）。
【０２１０】
ｍｏｄｅ＝０（ＭＩＰ）：Ｖｍ＝−３２７６８（最小値を設定）
ｍｏｄｅ＝１（ＭｉｎＩＰ）：Ｖｍ＝３２７６７（最大値を設定）
ｍｏｄｅ＝２（ＲａｙＳｕｍ）：Ｖｍ＝０、ｃｎｔ＝０
【０２１１】
続いて、制御部１１は、Ｚｓｔから後続する先頭の有効ボクセル（信号値が所定の閾値以上のボクセル）のＺ座標ｚ（起点座標）を探索する（図２３のステップＳ１２４）。すなわち、ステップＳ１２２において算出された交点から視線方向に向かってレイキャスティング計算を開始する起点座標を探索する。起点座標を探索する処理については後述する（「１０−１．起点座標探索処理」、図２４参照）。
【０２１２】
ｚ＜０の場合、ステップＳ１２９へ移行する。
【０２１３】
一方、ｚ≧０の場合、制御部１１は、３次元座標（ｘ、ｙ、ｚ）を座標変換してボクセル信号値Ｖｓを取得する（図２３のステップＳ１２５）。座標変換を行い、ボクセル信号値Ｖｓを取得する処理については後述する（「１０−３．ボクセル信号値Ｖｓを取得（補間あり）」参照）。
【０２１４】
ステップＳ１２５において取得したボクセル信号値ＶｓがＶｓ＝−３２７６９の場合（有効ボクセル領域Ｖｒを通過した場合）、ステップＳ１２９へ移行する。これにより、有効ボクセル領域Ｖｒを通過している場合（Ｖｓ＝−３２７６９）は、その先に描画対象のボクセルは存在しないため、レイキャスティング処理を早期に打ち切り、冗長な処理を省略する。
【０２１５】
ステップＳ１２５において取得したボクセル信号値ＶｓがＶｓ＜−３２７６９の場合（無効値の場合）、Ｚｓｔ＝ｚ−１としたうえで（図２３のステップＳ１２６）、ステップＳ１２４に戻り、起点座標を再度探索する。
【０２１６】
ステップＳ１２５において取得したボクセル信号値ＶｓがＶｓ≧−３２７６８の場合（有効値の場合）、制御部１１は、代表信号値算出モードｍｏｄｅに応じて、以下のように代表信号値Ｖｍを算出する（図２３のステップＳ１２７）。
【０２１７】
ｍｏｄｅ＝０（ＭＩＰ  ｍｏｄｅ）：
Ｖｓ＞ＶｍならばＶｍ＝Ｖｓ
ｍｏｄｅ＝１（ＭｉｎＩＰ  ｍｏｄｅ）：
Ｖｓ＜ＶｍならばＶｍ＝Ｖｓ
ｍｏｄｅ＝２（ＲａｙＳｕｍ  ｍｏｄｅ）：
Ｖｍ←Ｖｍ＋Ｖｓ、ｃｎｔ←ｃｎｔ＋１
【０２１８】
ｚ＝ｚ−１に更新し（図２３のステップＳ１２８）、ｚ≧０の場合、ステップＳ１２５に戻り、ｚ＜０の場合、ステップＳ１２９へ移行する。
【０２１９】
ステップ１２９において、ｍｏｄｅ＝０、１の場合（図２３のステップＳ１２９；ｍｏｄｅ＜２）には、制御部１１は、ステップＳ１２７で得られた代表信号値Ｖｍを画素値として記録する（ＩｍａｇｅＭＩＰ（ｘ、ｙ）＝Ｖｍ、図２３のステップＳ１３１）。一方、ｍｏｄｅ＝２（ＲａｙＳｕｍ  ｍｏｄｅ）の場合（図２３のステップＳ１２９；ｍｏｄｅ＝２）には、制御部１１は、Ｖｍ←Ｖｍ／ｃｎｔのように信号値の平均を計算したうえで（図２３のステップＳ１３０）、代表信号値Ｖｍを画素値として記録する（ＩｍａｇｅＭＩＰ（ｘ、ｙ）＝Ｖｍ、図２３のステップＳ１３１）。
【０２２０】
続いて、制御部１１は、ｘ←ｘ＋１に更新し（図２３のステップＳ１３２）、ｘ＜Ｓｉｚｅの場合、ステップＳ１２２に戻り、次の画素ｘの代表信号値Ｖｍを求める処理（ステップＳ１２２〜Ｓ１３１）を実行する。ｘ≧Ｓｉｚｅの場合、ｙ←ｙ＋１に更新し（図２３のステップＳ１３３）、ｙ≦Ｓｉｚｅの場合、ｘ＝０としたうえで、ステップＳ１２２に戻り、ｙ行目の画素（ｘ、ｙ）の代表信号値Ｖｍを求める処理（ステップＳ１２２〜Ｓ１３１）を繰り返す。ｙ＞Ｓｉｚｅの場合、制御部１１は、処理を終了する。
すなわち、画素領域の全画素の代表信号値Ｖｍが得られるまで（ステップＳ１３２；ｘ≧Ｓｉｚｅ、かつ、ステップＳ１３３；ｙ＞Ｓｉｚｅ）、ステップＳ１２２〜Ｓ１３１の処理を繰り返す。
【０２２１】
図２２のフローチャートに戻る。
制御部１１は、ステップＳ１０２において生成したＭＩＰ画像ＩｍａｇｅＭＩＰを出力する（図２２のステップＳ１０３）。
【０２２２】
（１０−１．起点座標探索処理）
図２４のフローチャートを参照して、図２３のステップＳ１２４において実行される、起点座標を探索する処理について説明する。
【０２２３】
まず、制御部１１は、ｚをｚ＝Ｚｓｔと初期化し、探索対象画素（ｘ、ｙ）を入力する（図２４のステップＳ１５１）。続いて、制御部１１は、３次元座標（ｘ、ｙ、ｚ）に対して座標変換を行い、ボクセル信号値Ｖｓを取得する（図２５のステップＳ１５２）。座標変換を行い、ボクセル信号値Ｖｓを取得する処理は後述する（「１０−２．ボクセル信号値Ｖｓを取得（補間なし）」参照）。
【０２２４】
ステップＳ１５２において取得したボクセル信号値ＶｓがＶｓ＝−３２７６９の場合（有効ボクセル領域Ｖrを通過した場合）、制御部１１は、ｚ＝−１（起点座標が存在しないことを示す値）を返し（図２４のステップＳ１５４）、処理を終了する。
【０２２５】
一方、ステップＳ１５２において取得したボクセル信号値Ｖｓ＜−３２７６９の場合（無効値の場合）は、制御部１１は、ｚ←ｚ−１に更新する（図２４のステップＳ１５３）。
【０２２６】
ステップＳ１５３において更新したｚがｚ＜０の場合（ボクセル空間外の場合）、制御部１１は、ｚ＝−１（起点座標が存在しないことを示す値）を返し（図２４のステップＳ１５４）、処理を終了する。ｚ≧０の場合、制御部１１は、ステップＳ１５２に戻る。
【０２２７】
一方、ステップＳ１５２において取得したボクセル信号値ＶｓがＶｓ≧−３２７６８の場合（有効ボクセルの場合）、制御部１１は、ｚを起点座標として出力する。
【０２２８】
（１０−２．ボクセル信号値Ｖｓを取得（補間なし））
起点座標探索処理（図２４）のステップＳ１５２において実行される、座標変換を行いボクセル信号値Ｖｓを取得する処理について説明する。
【０２２９】
（１０−２−１．座標変換）
まず、前記した（９−３−１．座標変換（実数の座標値を取得））および（９−３−２．座標変換（整数の座標値に変換））と同様の方法で、３次元座標値（ｘ、ｙ、ｚ）に対応するボクセルの整数の座標値（ｘｉ、ｙｉ、ｚｉ）を算出する。
【０２３０】
（１０−２−２．ボクセル信号値Ｖｓを取得）
そして、制御部１１は、有効ボクセル領域Ｖｒ、マスクデータＭａｓｋが定義されている場合、これらを考慮して、以下のようにボクセル信号値Ｖｓを取得する。
【０２３１】
１）ｘｉ＜Ｘｉｓ、ｘｉ＞Ｘｉｅ、ｙｉ＜Ｙｉｓ、ｙｉ＞Ｙｉｅ、ｚｉ＜Ｚｉｓ、又はｚｉ＞Ｚｉｅのいずれかを満たす場合（有効ボクセル領域Ｖｒ外の場合）
Ｖｓ＝−３２７６９
２）上記１）を満たさず、Ｍａｓｋ（ｘ、ｙ、ｚ）＝０の場合（無効値）
Ｖｓ＝−９９９９９
３）上記１）２）を満たさない場合（有効値）
Ｖｓ＝Ｄｏ（ｘｉ、ｙｉ、ｚｉ）
【０２３２】
（１０−３．ボクセル信号値Ｖｓの取得（補間あり））
（１０−３−１．座標変換）
まず、前記した（９−３−１．座標変換（実数の座標値を取得））と同様の方法で、３次元座標値（ｘ、ｙ、ｚ）に対応するボクセルの実数の座標値（ｘｒ、ｙｒ、ｚｒ）を算出する。
【０２３３】
（１０−３−２．ボクセル信号値の抽出）
続いて、前記した（９−４−２．ボクセル信号値の抽出）と同様の方法で（不透明度の値を扱わないため、補正テーブルＳαは使用しない）、補間対象のボクセル信号値Ｄ０００、Ｄ１００、Ｄ０１０、Ｄ００１、Ｄ１０１、Ｄ０１１、Ｄ１１１を抽出し、各ボクセルに対応するマスクデータＭａｓｋの値（０または１）としてＳ０００、Ｓ１００、Ｓ０１０、Ｓ１１０、Ｓ００１、Ｓ１０１、Ｓ０１１、Ｓ１１１を設定する。
【０２３４】
（１０−３−３．ボクセル信号値Ｖｓの取得）
そして、制御部１１は、抽出した補間対象ボクセルの信号値に基づいて、視点座標系の３次元座標値（ｘ、ｙ、ｚ）（整数値）に対応するボクセル信号値Ｖｓを以下のように決定する。
【０２３５】
１）ｘｉ＜Ｘｉｓ、ｘｉ＞Ｘｉｅ、ｙｉ＜Ｙｉｓ、ｙｉ＞Ｙｉｅ、ｚｉ＜Ｚｉｓ、又はｚｉ＞Ｚｉｅのいずれかを満たす場合（有効ボクセル領域Ｖｒ外）
Ｖｓ＝−３２７６９
２）上記１）の条件を満たさず、Ｓ０００＝０の場合（無効値）
Ｖｓ＝−９９９９９
３）上記１）２）を満たさない場合において、
ｘｉ＋１＞Ｘｉｅ、ｙｉ＋１＞Ｙｉｅ、またはｚｉ＋１＞Ｚｉｅのいずれかを満たすか、或いはＳ０００、Ｓ１００、Ｓ０１０、Ｓ１１０、Ｓ００１、Ｓ１０１、Ｓ０１１、Ｓ１１１のいずれかが０の場合（補間しない）
Ｖｓ＝Ｄ０００
【０２３６】
４）上記１）２）３）の条件を満たさない場合（補間する）
Ｖｓ＝（１−ｗｚ）（１−ｗｙ）（１−ｗｘ）・Ｄ０００＋（１−ｗｚ）（１−ｗｙ）・ｗｘ・Ｄ１００＋（１−ｗｚ）・ｗｙ・（１−ｗｘ）・Ｄ０１０＋（１−ｗｚ）・ｗｙ・ｗｘ・Ｄ１１０＋ｗｚ・（１−ｗｙ）（１−ｗｘ）・Ｄ００１＋ｗｚ・（１−ｗｙ）・ｗｘ・Ｄ１００＋ｗｚ・ｗｙ・（１−ｗｘ）・Ｄ０１１＋ｗｚ・ｗｙ・ｗｘ・Ｄ１１１
【０２３７】
以上、モノクロ（１６ビット）のＭＩＰ画像ＩｍａｇｅＭＩＰ（ｘ、ｙ）を生成する場合について説明したが、制御部１１は、生成されたＭＩＰ画像ＩｍａｇｅＭＩＰ（ｘ、ｙ）を８ビットに変換したうえで、前述の方法により生成したモノクロ形式の方向規定画像Ｉｍａｇｅｃを合成し表示する。具体的には、ＤＩＣＯＭ規格のＷｉｎｄｏｗ  Ｗｉｄｔｈ（ウィンドウ幅：ＷＷ）、Ｗｉｎｄｏｗ  Ｌｅｖｅｌ（ウィンドウレベル：ＷＬ）を設定し、上限値Ｌｍａｘ＝ＷＬ＋ＷＷ／２、下限値Ｌｍｉｎ＝ＷＬ−ＷＷ／２に変換し、以下のようにＭＩＰ画像ＩｍａｇｅＭＩＰ（ｘ、ｙ）を８ビットに変換する。
【０２３８】
ＩｍａｇｅＭＩＰ‘（ｘ、ｙ）＝（ＩｍａｇｅＭＩＰ（ｘ、ｙ）−Ｌｍｉｎ）・２５５／（Ｌｍａｘ−Ｌｍｉｎ）
ＩｍａｇｅＭＩＰ‘（ｘ、ｙ）＜０の場合、ＩｍａｇｅＭＩＰ‘（ｘ、ｙ）＝０とする。
ＩｍａｇｅＭＩＰ‘（ｘ、ｙ）＞２５５の場合、ＩｍａｇｅＭＩＰ‘（ｘ、ｙ）とする。
【０２３９】
（１１．ＭＰＲ画像の生成処理）
図１４のステップＳ１６において実行される、ＭＰＲ画像を生成し表示する処理について説明する。
【０２４０】
断層画像群Ｄｏの信号値が１６ビットの場合（（式１）参照）には、制御部１１は、断層画像群Ｄｏを８ビットに変換したうえで、ＭＰＲ像を生成し表示する。具体的には、断層画像群Ｄｏ（−３２７６８≦Ｄｏ（ｘ、ｙ、ｚ）≦３２７６７、０≦ｘ≦Ｓｘ−１、０≦ｙ≦Ｓｙ−１、０≦ｚ≦Ｓｚ−１；３方向の変倍率（Ｓｃｘ、Ｓｃｙ、Ｓｃｚ））に対して、ＤＩＣＯＭ規格のＷｉｎｄｏｗ  Ｗｉｄｔｈ（ウィンドウ幅：ＷＷ）、Ｗｉｎｄｏｗ  Ｌｅｖｅｌ（ウィンドウレベル：ＷＬ）を設定し、上限値Ｌｍａｘ＝ＷＬ＋ＷＷ／２、下限値Ｌｍｉｎ＝ＷＬ−ＷＷ／２に変換し、以下のように断層画像群Ｄｏを８ビットに変換する。
【０２４１】
Ｄｏ（ｘ、ｙ、ｚ）＝（Ｄｏ（ｘ、ｙ、ｚ）−Ｌｍｉｎ）・２５５／（Ｌｍａｘ−Ｌｍｉｎ）
Ｄｏ（ｘ、ｙ、ｚ）＜０の場合、Ｄｏ（ｘ、ｙ、ｚ）＝０とする。
Ｄｏ（ｘ、ｙ、ｚ）＞２５５の場合、Ｄｏ（ｘ、ｙ、ｚ）＝２５５とする。
【０２４２】
そして、制御部１１は、８ビットの断層画像群Ｄｏに基づいて、任意断面の画像を生成し表示する。例えば、図２５に示すように、ＸＹ平面に平行な体軸断面（アキシャル（Ａｘｉａｌ）断面）の場合、指定されたスライス位置ｚにおけるＸＹ平面上のボクセルに対して（Ｓｃｘ、Ｓｃｙ）変倍を加えながら各画素（ｘ、ｙ）を取得して２次元画像を再構成する。ＸＺ平面に平行な冠状断面（コロナル（Ｃｏｒｏｎａｌ）断面）の場合、指定されたスライス位置ｙにおけるＸＺ平面上のボクセルに対して（Ｓｃｘ、Ｓｃｚ）変倍を加えながら各画素（ｘ、ｚ）を取得して２次元画像を再構成する。ＺＹ平面に平行な矢状断面（サジタル（Ｓａｇｉｔｔａｌ）断面）の場合、指定されたスライス位置ｘにおけるＺＹ平面上のボクセルに対して（Ｓｃｚ、Ｓｃｙ）変倍を加えながら各画素（ｚ、ｙ）を取得して２次元画像を再構成する。このようにして３方向のＭＰＲ像を生成する。
【０２４３】
また、ＸＹＺ空間を斜めに切断した斜断面（オブリーク（Ｏｂｌｉｑｕｅ）断面）のＭＰＲ像を生成する場合は、３方向のＭＰＲ像のいずれかを２次元上で回転させながら３次元空間における回転を指示し、生成される回転行列に基づいて前記８ビットの断層画像群Ｄｏに対して３次元空間で回転を加えた上で、各２次元画像の再構成を行う。更に、スラブ厚を指定して体軸断面（アキシャル（Ａｘｉａｌ）断面）のＭＰＲ像を生成する場合は、指定されたスライス位置ｚの近傍で指定された厚み（スライス枚数）だけスライス位置を微小に移動させて、ＸＹ平面上のボクセルに対して（Ｓｃｘ、Ｓｃｙ）変倍を加えながら各画素（ｘ、ｙ）を複数通り取得して、各画素が複数個の信号値の代表信号値で構成される２次元画像を再構成する。複数個の信号値から代表信号値を算出する方法として、前述のＭＩＰ像を生成する場合と同様に、最大値（ＭＩＰ）、最小値（ＭｉｎＩＰ）、平均値（ＲａｙＳｕｍ）のいずれかを設定できる。
【０２４４】
以上、本実施の形態について説明した。本実施の形態によれば、ボクセル空間Ｒの上下左右前後を規定する方向規定オブジェクトＤｏｂｊに基づいて方向規定画像Ｉｍａｇｅｃを生成し、この方向規定画像Ｉｍａｇｅｃを３次元再構成像（例えばボリュームレンダリング画像ＩｍａｇｅＶＲやＭＩＰ画像ＩｍａｇｅＭＩＰ）に合成し表示する。これにより、３次元再構成像において被写体の向きを容易に把握することができるようになる。
【０２４５】
［断層画像群の方向補正の具体的な実施の形態］
（式１）で示されるＤＩＣＯＭ形式で収納されている断層画像群に対して、（式１−２）に示す被写体のＸＹＺ座標系になるように、必要に応じて断層画像群Ｄｏ（３次元ボクセル）のデータの並び方向を補正する方法について以下述べる。
【０２４６】
図２６（ａ）は、Ｘ線ＣＴ撮影における断層画像群Ｄｏの標準的なデータの並び方向（収納方向）を示す。図に示すように、標準的なＣＴ画像の場合、足（Ｆ）から頭（Ｈ）の方向に見たアキシャル像（左右逆転）が、頭（Ｈ）から足（Ｆ）の方向（図の「収納方向」）に収納される。この場合、ボクセル座標系は、図２６（ａ）のような右手座標系で表される。しかし、例えば撮影方向（スキャン方向）を逆転した場合などには、図２６（ｂ）に示すように、Ｚ軸のデータの並び方向（収納方向）が逆転してしまい、Ｚ軸が反転してしまうことがある（左手座標系となる）。この場合、図２６（ａ）の標準的な座標系に基づいて３次元再構成像を生成すると、３次元再構成像が左右反転してしまう。
【０２４７】
またＭＲＩの場合は、サジタル方向や斜め方向など読影がしやすい方向で断層撮影を行うことができ、この場合にも、断層画像群Ｄｏのデータの並び方向が標準的なＣＴ画像のデータの並び方向とは異なったものとなり、図２６（ａ）の標準的な座標系（右手座標系）に基づいて３次元再構成像を生成すると、正面方向のアングルを指示してもレンダリング画像が斜め方向を向いたり、レンダリング画像が左右反転してしまう場合がある。
【０２４８】
このように、断層画像群Ｄｏのデータの並び方向によっては、左右の臓器が逆転して映像化されてしまう虞がある。しかしながら、３次元再構成像の外観だけでは被写体の表示が誤っていることに気付きにくい。例えば、頭部はほとんど左右対称なため、左右の眼、耳、歯が逆に映像化されても不自然さを感じず、そのまま誤って読影し、健康なほうの臓器を治療してしまう医療事故につながる可能性がある。
【０２４９】
そこで、ＤＩＣＯＭ形式で収納されている断層画像群Ｄｏに対して、各断層画像に付与されているＤＩＣＯＭタグより断層画像の横方向ベクトル・縦方向ベクトルと、断層画像間のスキャン方向ベクトル（２つの断層画像におけるＩｍａｇｅＰｏｓｉｔｉｏｎ情報の差分）を抽出し、これら抽出した情報に基づいて、断層画像群Ｄｏのデータの並び方向が標準的なＣＴ画像のデータの並び方向となるように座標軸の入れ替えや座標軸を反転させる補正（以下、「方向補正」と呼ぶ）をし、３次元ボクセルを作成する。これにより、臓器が逆転して映像化されることなどを防止する。ＭＲＩ画像（主にＭＲＡ）では斜め方向にスキャンされる場合があり、その場合は３次元空間上で回転処理を施さないと標準的なＣＴ画像のデータの並び方向に補正することはできない。しかし、回転処理を伴う補正を加えると、３次元再構成像が劣化する可能性があるため、本願実施形態の方向補正では、医療過誤の原因になる左右反転だけは引き起こさないように、座標軸の入れ替えや座標軸を反転させる補正に限定する。
【０２５０】
図２７は、３次元再構成像表示装置１の全体の流れを示すフローチャートである。これは、図１４の構成におけるステップＳ２の後段に、断層画像群Ｄｏの方向補正を行う処理（ステップＳ２ａ）が加えたものである。
【０２５１】
図２８は、ステップＳ２ａにおいて実行される、断層画像群Ｄｏの方向補正を行う処理を示すフローチャートである。
まず、制御部１１は、撮影データ等が格納されたフォルダ内から、断層画像群Ｄｏ（ＤＩＣＯＭファイル）の総数（スライス数Ｓｚ）を取得する（図２８のステップＳ２０１）。具体的には、制御部１１は、フォルダ内のＤＩＣＯＭファイルを判別することで取得する（フォルダ内にはＤＩＣＯＭファイル以外にも種々のデータが通常格納されている）。例えば、制御部１１は、ファイル名や拡張子に基づいてフィルタをかけ、ＤＩＣＯＭファイルを判別する。ただし、ＤＩＣＯＭファイルの拡張子“．ｄｃｍ”がない場合があるため、制御部１１は、フォルダ内の各ファイルの先頭８バイトを読み込み、５〜８バイト目が“Ｄ”、“Ｉ”、“Ｃ”、“Ｍ”という４文字であるファイルをＤＩＣＯＭファイルとして判別することが望ましい。
【０２５２】
続いて、制御部１１は、代表的な断層画像（ＤＩＣＯＭファイル）を１つ読み込み（例えば中央に位置するファイルを読み込み）、以下のタグ情報および画像データを取得する（図２８のステップＳ２０２）。
【０２５３】
［タグ情報］
（１）Ｒｏｗｓ（行）、Ｃｏｌｕｍｎｓ（縦）：画像の縦横方向のサイズＳｘ、Ｓｙ
（２）ＰｉｘｅｌＳｐａｃｉｎｇ（画素間隔、単位ｍｍ）：画像の縦横方向の解像度Ｒｘｙ＝１．０／（画素間隔）
（３）ＲｅｓｃａｌｅＩｎｔｅｒｃｅｐｔ、ＲｅｓｃａｌｅＳｌｏｐｅ：信号値の算出係数
（４）ＩｍａｇｅＯｒｉｅｎｔａｔｉｏｎ：横方向ベクトルＨ（Ｘｈ、Ｙｈ、Ｚｈ）、縦方向ベクトルＶ（Ｘｖ、Ｙｖ、Ｚｖ）
横方向ベクトルとは、画像の横方向が３次元空間のどの方向に対応するかを示すベクトルであり、縦方向ベクトルとは、画像の縦方向が３次元空間のどの方向に対応するかを示すベクトルである。
【０２５４】
［画像データ］
（５）ＰｉｘｅｌＤａｔａ：Ｓｘ×Ｓｙサイズの１６ビットの画像データ
・ＪＰＥＧロスレスなど圧縮形式の場合は、非圧縮形式に復号化
・ＲｅｓｃａｌｅＩｎｔｅｒｃｅｐｔ、ＲｅｓｃａｌｅＳｌｏｐｅの指定がある場合は、以下のように、各画素値をＲｅｓｃａｌｅ変換
（１６ビット信号値）＝ＲｅｓｃａｌｅＳｌｏｐｅ・（ソースの１６ビット画素値）＋ＲｅｓｃａｌｅＩｎｔｅｒｃｅｐｔ
（６）信号値の最大値Ｄｍａｘと最小値Ｄｍｉｎ（８ビット階調圧縮処理を行う場合）
【０２５５】
ここで、断層画像（ＤＩＣＯＭファイル）のファイル名には、ファイル保存時にファイル番号が自動付番されるが、ファイル番号の順番とスライスの並び順（スライス順位）は必ずしも整合していない。
図２９は、ファイル番号順に並べた断層画像群Ｄｏ（頭部ＣＴ画像）の例を示す。図に示すように、断層画像の並び順が順不同であり、スライス順位どおりに並んでいないことが分かる。このため、断層画像群Ｄｏをファイル番号順にデータ格納（積層）すると、正しい再構成結果が得られない。
【０２５６】
そこで、制御部１１は、断層画像群Ｄｏの方向補正を行う前に、断層画像（ＤＩＣＯＭファイル）のタグ情報に基づいて、断層画像群Ｄｏが正しい並び順（スライスの並び順）となるように並び替え（スライスソート）を行う。
【０２５７】
まず、制御部１１は、フォルダ内から全ての断層画像（ＤＩＣＯＭファイル）をファイル番号（ファイル保存時にファイル名に自動付番される）の順番に順次読み込み、以下に示すように、各断層画像（ＤＩＣＯＭファイル）のタグ情報（ＩｎｓｔａｎｃｅＮｕｍｎｅｒ（スライス順位）、ＩｍａｇｅＰｏｓｉｔｉｏｎ（スライス位置））、および画像データ（ＰｉｘｅｌＤａｔａ）を配列に順次格納していく（図２８のステップＳ２０３）。
【０２５８】
［タグ情報］
（１）ＩｎｓｔａｎｃｅＮｕｍｂｅｒ（スライス順位）を取得し、Ｓｚサイズの１次元配列Ｉｎｓ（ｚ）（値は１〜Ｓｚの整数値、ｚはファイル番号）に順次格納
（２）ＩｍａｇｅＰｏｓｉｔｉｏｎ（スライス位置の３次元座標（単位ｍｍ））を取得し、Ｓｚサイズの１次元配列Ｐｏｓ（ｄ、ｚ）（ｄ＝０（Ｘ）、１（Ｙ）、２（Ｚ）、値は３次元の実数座標値、ｚはファイル番号）に順次格納
【０２５９】
［画像データ］
（３）ＰｉｘｅｌＤａｔａ（Ｓｘ×Ｓｙサイズの１６ビットの画像データ）を取得し、ＤＩＣＯＭファイル番号ｚの順にＳｘ×Ｓｙ×Ｓｚサイズの３次元配列Ｄｏ（ｘ、ｙ、ｚ）に順次格納
・ＪＰＥＧロスレスなど圧縮形式の場合は、非圧縮形式に復号化したうえで格納
・ＲｅｓｃａｌｅＩｎｔｅｒｃｅｐｔ、ＲｅｓｃａｌｅＳｌｏｐｅの指定がある場合は、以下のように、各画素値をＲｅｓｃａｌｅ変換したうえで格納
（１６ビット信号値）＝ＲｅｓｃａｌｅＳｌｏｐｅ・（ソースの１６ビット画素値）＋ＲｅｓｃａｌｅＩｎｔｅｒｃｅｐｔ
・８ビット階調圧縮処理を行う場合は、信号値を１６→８ビットに変換したうえで格納
【０２６０】
続いて、制御部１１は、以下に示すように、１次元配列Ｐｏｓ（ｚ）（スライス位置）および３次元配列Ｄｏ（ｘ、ｙ、ｚ）（断層画像群）をスライス順位Ｉｎｓ（ｚ）に基づいて並び替え（スライスソート）をする（図２８のステップＳ２０４）。
【０２６１】
（１）１次元配列Ｐｏｓ（ｚ）（スライス位置）をスライス順位Ｉｎｓ（ｚ）（１≦Ｉｎｓ（ｚ）≦Ｓｚ）に基づき並び替え
０≦ｚ≦Ｓｚ−１に対して、
Ｐｏｓ’（ｄ、Ｉｎｓ（ｚ）−１）＝Ｐｏｓ（ｄ、ｚ）（０≦ｄ≦２）
【０２６２】
（２）３次元配列Ｄｏ（ｘ、ｙ、ｚ）のＺ方向のスライス画像をスライス順位Ｉｎｓ（ｚ）（１≦Ｉｎｓ（ｚ）≦Ｓｚ）に基づき並び替え
０≦ｚ≦Ｓｚ−１に対して、
Ｄｏ’（ｘ、ｙ、Ｉｎｓ（ｚ）−１）＝Ｄｏ（ｘ、ｙ、ｚ）（０≦ｘ≦Ｓｘ−１、０≦ｙ≦Ｓｙ−１）
【０２６３】
以上により、図３０に示すように、断層画像群Ｄｏ（ＤＩＣＯＭファイル）が、スライス順位Ｉｎｓ（ｚ）に基づいて、正しい順序に並び替えられる。
図３１は、図２９の断層画像群Ｄｏをスライス順位Ｉｎｓ（ｚ）に基づいて並び替えた断層画像群Ｄｏを示す。図に示すように、断層画像群Ｄｏが正しいスライス順位に従って並んでいることが分かる。
【０２６４】
そして、制御部１１は、以降の処理により、断層画像群Ｄｏの方向補正を行う。
まず、制御部１１は、以下のように、スキャン方向ベクトルおよびＺ方向解像度を算出する（図２８のステップＳ２０５）。
【０２６５】
（１）２箇所のスライスｚ１、ｚ２（ｚ１＜ｚ２、例．ｚ１＝０、ｚ２＝１）における並び替え後の１次元配列Ｐｏｓ（ｄ、ｚ）の差分ベクトルＺｄｉｒ（ｄ）＝Ｐｏｓ（ｄ、ｚ２）−Ｐｏｓ（ｄ、ｚ１）をスキャン方向ベクトルとして算出する。ここで、Ｚｄｉｒ（ｄ）の３成分の中で絶対値が最大となる方向をｄｍ（０≦ｄｍ≦２、０：Ｘ，１：Ｙ，２：Ｚ）とする。
【０２６６】
（２）Ｚ軸方向解像度をＲｚ＝（ｚ２−ｚ１）／｜Ｚｄｉｒ（ｄ）｜により算出し、Ｚ軸方向変倍率をＳｃｚ＝Ｒｘｙ／Ｒｚとする。｜Ｚｄｉｒ（ｄ）｜は、３次元ベクトルＺｄｉｒ（ｄ）のノルムとする。
また、Ｘ軸方向変倍率Ｓｃｘ、Ｙ軸方向変倍率Ｓｃｙも定義し、Ｓｃｘ＝Ｓｃｙ＝１．０とする。
【０２６７】
そして、制御部１１は、ステップＳ２０２で取得した横方向ベクトルＨ、縦方向ベクトルＶ（ＩｍａｇｅＯｒｉｅｎｔａｔｉｏｎ）と、ステップＳ２０５で算出したスキャン方向ベクトルＺｄｉｒに基づいて、３次元再構成像が逆転して映像化される危険性を判断し、危険性がある場合には警告表示を行う（図２８のステップＳ２０６）
【０２６８】
具体的には、制御部１１は、横方向ベクトルＨ、縦方向ベクトルＶ、およびスキャン方向ベクトルＺｄｉｒの各々３つの成分の中で絶対値が最大である座標値を抽出し、抽出した３つの座標値の中でＸＹＺ成分のいずれか２つ以上重複するものがあるかを確認する。（１）重複するものがある場合は、方向補正は実行できないため、生成される３次元再構成像に問題が発生する場合がある旨を警告表示する。（２）重複するものが無く、横方向ベクトルＨの最大の座標値がＸ座標の正値で、縦方向ベクトルＶの最大の座標値がＹ座標の正値で、スキャン方向ベクトルＺｄｉｒの最大の座標値がＺ座標の負値である場合は、標準ＣＴ画像の形式であるため、方向補正が不要である旨を表示する。（３）重複するものが無く、抽出した３つの座標値の積が「負」の場合は、３次元再構成像が逆転して表示される危険性は無いが、方向補正を実行することが推奨されるため、方向補正を行うか否かをユーザに照会する。（４）重複するものが無く、抽出した３つの座標値の積が「正」の場合は、３次元再構成像が逆転して表示される危険性があると判断し、警告表示を行い、断層画像群Ｄｏの方向補正（被写体の方向補正）を行うことをユーザに促す(図２８のステップＳ２０６)。
【０２６９】
図３２は、警告表示の例を示す図である。図の３次元再構成像は、横方向ベクトルＨ（１、０、０）、縦方向ベクトルＶ（０、１、０）、スキャン方向ベクトルＺｄｉｒ＝（０、０、正値）の場合（すなわち、各ベクトルから抽出される各成分の積が「正」の場合）のボリュームレンダリング画像であり、左右が逆転して映像化されている。この場合、図に示すように、画面上に「映像が反転して表示されている可能性があります。映像の方向を補正しますか？」などのメッセージ３２０を表示することで、警告表示を行い、断層画像群Ｄｏの方向補正を促す。
【０２７０】
続いて、制御部１１は、ステップＳ２０２で取得した横方向ベクトルＨ、縦方向ベクトルＶと、ステップＳ２０５で算出したスキャン方向ベクトルＺｄｉｒに基づいて、Ｓｘ×Ｓｙ×Ｓｚサイズの３次元配列Ｄｏ（ｘ、ｙ、ｚ）のデータの並び方向の補正（座標軸の反転や座標軸の入れ替え）を行う（図２８のステップＳ２０７)。
【０２７１】
例えば、図３２に示すように、横方向ベクトルＨ（１、０、０）、縦方向ベクトルＶ（０、１、０）、かつスキャン方向ベクトルＺｄｉｒ＝（０、０、正値）の場合（各ベクトルから抽出される各成分の積が「正」の場合）、Ｚ軸が反転しているため、制御部１１は、Ｄｏ（ｘ、ｙ、ｚ）のＺ軸方向のデータの並び順を逆転（座標軸を反転）させ、断層画像群のデータの並び方向を標準的なＣＴ画像のデータの並び方向（図２６（ａ）参照）となるように補正する。これにより、図３３に示すように、映像の反転表示（図３３（ａ）参照）が解消され、被写体が正しい方向で表示（図３３（ｂ）参照）されるようになる。
【０２７２】
また、図３４のように、横方向ベクトルＨ（０、１、０）、縦方向ベクトルＶ（０、０、−１）かつスキャン方向ベクトルＺｄｉｒ＝（正値、０、０）の場合（座標軸の反転はないが、座標軸が標準ＣＴ形式の座標系に従っていない場合）、制御部１１は、Ｄｏ’（ｚ、ｘ、ｙ）＝Ｄｏ（ｘ、ｙ、ｚ）のように座標軸の入れ替えを行い、断層画像群のデータの並び方向を標準的なＣＴ画像のデータの並び方向（図２６（ａ）参照）となるように補正する。併せて、制御部１１は、Ｓｘ’＝Ｓｚ、Ｓｙ’＝Ｓｘ、Ｓｚ’＝Ｓｙ、Ｓｃｘ’＝Ｓｃｚ、Ｓｃｙ’＝１．０、Ｓｃｚ’＝１．０と更新する。すなわち、３次元配列Ｄｏ（ｘ、ｙ、ｚ）の並び替えに伴い、Ｓｘ、Ｓｙ、Ｓｚ、Ｓｃｘ、Ｓｃｙ、Ｓｃｚの各パラメータも入れ替え更新が行われる。
【０２７３】
なお、横方向ベクトルＨ（１、０、０）、縦方向ベクトルＶ（０、１、０）かつスキャン方向ベクトルＺｄｉｒ＝（０、０、負値）の場合は、図２６（ａ）の標準的ＣＴ形式の座標系となっているため、並び替えは行わない。
【０２７４】
図３５は、横方向ベクトルＨ・縦方向ベクトルＶ（ＩｍａｇｅＯｒｉｅｎｔａｔｉｏｎ）とスキャン方向ベクトルのパターンに応じた、補正後の画像サイズ、補正後の変倍率、座標系の関係を表す図である。１番目が標準的なＣＴ画像における横方向ベクトルＨ・縦方向ベクトルＶ（ＩｍａｇｅＯｒｉｅｎｔａｔｉｏｎ）とスキャン方向ベクトルのパターンである。２番目は、各ベクトルから抽出される各成分の積が「正」となるパターンである。このパターンでは、断層画像群Ｄｏの方向補正（座標軸の反転）をしないと、図３２のように３次元再構成像が反転して表示されてしまう。３番目以降のパターンは、標準的なＣＴ画像の座標系とは異なるため、座標軸の入れ替えが行われるが、標準的なＣＴ画像と同様に各ベクトルから抽出される各成分の積が「負」となるため、３次元再構成像の反転は生じない。
【０２７５】
以上、ＤＩＣＯＭ形式の断層画像群に対する方向補正の具体的な実施の形態について説明した。本実施の形態によれば、断層画像群Ｄｏに対して、各断層画像に付与されているＤＩＣＯＭタグより断層画像の横方向ベクトルＨと縦方向ベクトルＶと断層画像間のスキャン方向ベクトルＺｄｉｒを抽出し、これら抽出した情報に基づいて、断層画像群Ｄｏのデータの並び方向を標準的なＣＴ画像のデータの並び方向となるように方向補正（座標軸の入れ替えや座標軸の反転）を行う。これにより、臓器が逆転して映像化されることなどを防止し、被写体を正しい方向で表示することができる。また、被写体の方向を明示する方向規定画像Ｉｍａｇｅｃを併せて表示されることにより、方向補正が適切に実行されているかを容易に把握することができる。
【０２７６】
以上、添付図面を参照しながら、本開示に係る好適な実施形態について説明したが、本開示はかかる例に限定されない。当業者であれば、本願で開示した技術的思想の範疇内において、各種の変更例又は修正例に想到し得ることは明らかであり、それらについても当然に本開示の技術的範囲に属するものと了解される。
【符号の説明】
【０２７７】
１：              ３次元再構成像表示装置
Ｄｏ：            断層画像群
Ｒ：              ボクセル空間
Ｃｍａｐ：        カラーマップ
Ｓα：            補正テーブル
ＲＯＩ：          クリッピング領域
Ｍａｓｋ：        マスクデータ
Ｖｒ：            有効ボクセル領域
Ｉｍａｇｅ：      レンダリング画像
ＩｍａｇｅＶＲ：  ボリュームレンダリング画像
ＩｍａｇｅＭＩＰ：ＭＩＰ画像
Ｄｏｂｊ：        方向規定オブジェクト
Ｉｍａｇｅｃ：    方向規定画像
Ｈ：              横方向ベクトル
Ｖ：              縦方向ベクトル
Ｚｄｉｒ：        スキャン方向ベクトル
Ｉｎｓ：          スライス順位
【図１】
2020101988.tif 000003
【図２】
2020101988.tif 000004
【図３】
2020101988.tif 000005
【図４】
2020101988.tif 000006
【図５】
2020101988.tif 000007
【図６】
2020101988.tif 000008
【図７】
2020101988.tif 000009
【図８】
2020101988.tif 000010
【図９】
2020101988.tif 000011
【図１０】
2020101988.tif 000012
【図１１】
2020101988.tif 000013
【図１２】
2020101988.tif 000014
【図１３】
2020101988.tif 000015
【図１４】
2020101988.tif 000016
【図１５】
2020101988.tif 000017
【図１６】
2020101988.tif 000018
【図１７】
2020101988.tif 000019
【図１８】
2020101988.tif 000020
【図１９】
2020101988.tif 000021
【図２０】
2020101988.tif 000022
【図２１】
2020101988.tif 000023
【図２２】
2020101988.tif 000024
【図２３】
2020101988.tif 000025
【図２４】
2020101988.tif 000026
【図２５】
2020101988.tif 000027
【図２６】
2020101988.tif 000028
【図２７】
2020101988.tif 000029
【図２８】
2020101988.tif 000030
【図２９】
2020101988.tif 000031
【図３０】
2020101988.tif 000032
【図３１】
2020101988.tif 000033
【図３２】
2020101988.tif 000034
【図３３】
2020101988.tif 000035
【図３４】
2020101988.tif 000036
【図３５】
2020101988.tif 000037