JP2019114034A - コンピュータプログラム、画像処理装置、画像処理方法及びボクセルデータ - Google Patents

コンピュータプログラム、画像処理装置、画像処理方法及びボクセルデータ Download PDF

Info

Publication number
JP2019114034A
JP2019114034A JP2017246755A JP2017246755A JP2019114034A JP 2019114034 A JP2019114034 A JP 2019114034A JP 2017246755 A JP2017246755 A JP 2017246755A JP 2017246755 A JP2017246755 A JP 2017246755A JP 2019114034 A JP2019114034 A JP 2019114034A
Authority
JP
Japan
Prior art keywords
voxel
image
voxels
opacity
texture
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2017246755A
Other languages
English (en)
Inventor
茂出木 敏雄
Toshio Modegi
敏雄 茂出木
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Dai Nippon Printing Co Ltd
Original Assignee
Dai Nippon Printing Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Dai Nippon Printing Co Ltd filed Critical Dai Nippon Printing Co Ltd
Priority to JP2017246755A priority Critical patent/JP2019114034A/ja
Publication of JP2019114034A publication Critical patent/JP2019114034A/ja
Priority to JP2022040503A priority patent/JP7283603B2/ja
Pending legal-status Critical Current

Links

Landscapes

  • Apparatus For Radiation Diagnosis (AREA)
  • Nuclear Medicine (AREA)
  • Image Generation (AREA)

Abstract

【課題】待ち時間を抑制して高速にレンダリング画像を生成するコンピュータプログラムを提供する。【解決手段】コンピュータに、z軸方向に沿って所定間隔で撮像された複数のxy平面画像の画像データを取得する処理と、複数のxy平面画像それぞれの各画素に対応し、RGB値及び不透明度が定められたボクセルで構成される3Dテクスチャ画像を生成する処理と、3Dテクスチャ画像に対して所定の変換を行って変換後3Dテクスチャ画像を生成する処理と、3次元空間のXY座標面上の四角形をZ軸方向に並べた積層四角形を設定する処理と、所定の視点からZ軸方向に平行な視線上の四角形のXY座標に対応する変換後3Dテクスチャ画像のボクセルのRGB値を当該ボクセルの不透明度に基づいて視点から遠い四角形の順にアルファブレンディングして得られたRGB値を、視線が投影面と交差する画素の画素値としてレンダリング画像を生成する処理とを実行させる。【選択図】図9

Description

本開示は、コンピュータプログラム、画像処理装置、画像処理方法及びボクセルデータに関する。
医療分野においては、CT(Computed Tomography)、MRI(Magnetic Resonance Imaging)、PET(Positron Emission Tomography)などの医用画像診断機器により所定のスライス間隔で連続的に撮影され、DICOM(Digital Imaging and COmmunications in Medicine)形式で保管された2次元の断層画像に基づいて、臓器等の観察対象物を3次元的に可視化して画像診断支援、手術又は治療支援に役立てるための技術が開発されている。
観察対象物の内部組織を3次元画像表示する代表的な手法としてボリュームレンダリング手法が知られている。特許文献1には、ボリュームレンダリング手法の一つとして、レイキャスティング処理が開示されている。レイキャスティング処理は、複数の断層画像を積層して3次元ボクセル空間を構築し、3次元ボクセル空間に対して任意の視点方向からレイ(仮想光線)を照射し、視線上にあるサンプリング点において色及び輝度値を視線に沿って累積計算するものである。
特開平11−175743号公報 特許第4710252号公報
しかし、レイキャスティング処理では、レンダリング画像のピクセル毎に、視線上のサンプリング点において色及び輝度値の累積計算を繰り返すため、処理時間が比較的長くなり、対話形式の表示が制限される。例えば、画像が表示されるまで、数秒の待ち時間が生じる。そのため、アングル変更など対話操作を行っている間は画像を間引いて計算して不明瞭な画像をリアルタイムに表示させ、アングル等の表示条件が確定した段階でフル解像度で計算し直して鮮明な画像を再表示させる、プログレッシブレンダリング(特許文献2)という手法が用いられる。ただ、このプログレッシブレンダリングを用いた場合でも明瞭な画像表示に要する処理時間が短縮されるわけでなく、例えば、仮想内視鏡(大腸や気管内に物理的に内視鏡や気管支鏡を挿入せず、CT撮影だけで内視鏡と同等な映像を3D−CGで人工的に生成する方法)や心臓の3Dボリューム動画表示(例えば、マルチスライス4D−CT装置で胸部を動画的にCTスキャンして映像化する方法)などで要求される動画的なボリュームレンダリング像を生成することが困難である。
本開示は、斯かる事情に鑑みてなされたものであり、待ち時間を抑制して高速にレンダリング画像を生成することができるコンピュータプログラム、画像処理装置、画像処理方法及びボクセルデータを明らかにする。
本願は上記課題を解決する手段を複数含んでいるが、その一例を挙げるならば、コンピュータプログラムは、コンピュータに、z軸方向に沿って所定間隔で撮像された複数のxy平面画像の画像データを取得する処理と、前記複数のxy平面画像それぞれの各画素に対応し、RGB値及び不透明度が定められたボクセルで構成される3Dテクスチャ画像を生成する処理と、前記3Dテクスチャ画像に対して所定の変換を行って変換後3Dテクスチャ画像を生成する処理と、3次元空間のXY座標面上の四角形をZ軸方向に並べた積層四角形を設定する処理と、所定の視点からZ軸方向に平行な視線上の前記四角形のXY座標に対応する前記変換後3Dテクスチャ画像のボクセルのRGB値を前記ボクセルの不透明度に基づいて前記視点から遠い四角形の順にアルファブレンディングして得られたRGB値を、前記視線が投影面と交差する画素の画素値としてレンダリング画像を生成する処理とを実行させる。
本開示によれば、待ち時間を抑制して高速にレンダリング画像を生成することができる。
本実施の形態の画像処理装置としての3Dテクスチャマッピング装置の構成の一例を示すブロック図である。 DICOM形式の断層画像の一例を示す模式図である。 本実施の形態のカラーマップデータの第1例を示す説明図である。 本実施の形態のカラーマップデータの第2例を示す説明図である。 本実施の形態の3Dテクスチャマッピング装置による階調圧縮処理の一例を示す説明図である。 本実施の形態の3Dテクスチャマッピング装置による平滑化処理の一例を示す説明図である。 本実施の形態の3Dテクスチャマッピング装置による3Dテクスチャマッピングの概念を示す模式図である。 本実施の形態の3Dテクスチャマッピング装置による3Dテクスチャマッピング処理の手順の一例を示すフローチャートである。 本実施の形態の3Dテクスチャマッピング装置による3Dテクスチャマッピング処理の手順の一例を示すフローチャートである。 本実施の形態の3Dテクスチャマッピング装置による投影画面設定の一例を示す説明図である。 本実施の形態の3Dテクスチャマッピング装置による3Dテクスチャマップ登録処理の手順の一例を示すフローチャートである。 3Dテクスチャマッピングの一例を示す模式図である。 本実施の形態の3Dテクスチャマッピング装置によるレンダリング処理の手順の一例を示すフローチャートである。 3Dテクスチャマッピングとの対応付け方法の一例を示す説明図である。 本実施の形態の画像処理部の構成の他の例を示すブロック図である。 曲線状のモアレが発生する様子の一例を示す模式図である。 本実施の形態の3Dテクスチャマッピング装置によるモアレ対策結果の第1例を示す説明図である。 ストライプ・格子状のモアレが発生する様子の一例を示す模式図である。 座標変換時の丸め誤差の発生の様子の一例を示す説明図である。 本実施の形態の3Dテクスチャマッピング装置による丸め誤差分散の様子の一例を示す説明図である。 本実施の形態の3Dテクスチャマッピング装置によるモアレ対策結果の第2例を示す説明図である。 本実施の形態の3Dテクスチャマッピング装置によるモアレ対策結果の第3例を示す説明図である。 本実施の形態の3Dテクスチャマッピング装置によるモアレ対策結果の第4例を示す説明図である。 3Dテクスチャマッピング動作の問題の一例を示す説明図である。 本実施の形態の3Dテクスチャマッピング装置によるモアレ対策結果の第5例を示す説明図である。 本実施の形態の3Dテクスチャマッピング装置によるモアレ対策結果の第6例を示す説明図である。
以下、本開示の実施の形態を図面に基づいて説明する。図1は本実施の形態の画像処理装置としての3Dテクスチャマッピング装置100の構成の一例を示すブロック図である。本実施の形態の3Dテクスチャマッピング装置100は、入力部10、記憶部11、出力部12、画像処理部20などを備える。画像処理部20は、階調圧縮処理部21、平滑化処理部22、ボクセル構造体生成部23、変換処理部24、レンダリング処理部25、3Dテクスチャ画像生成部26、積層四角形設定部27、乱数発生部28、補正処理部29、ROI(Region of Interest)クリッピング処理部30などを備える。
入力部10は、取得部としての機能を有し、z軸方向に沿って所定間隔で撮像された複数のxy平面画像の画像データを取得する。より具体的には、入力部10は、観察対象物(例えば、臓器、脳、骨、血管などを内部に含む人体・動物の様々な部位)に対して所定の間隔で断層撮影された複数の2次元の断層画像のDICOM(Digital Imaging and COmmunications in Medicine)形式の画像データを取得する。
図2はDICOM形式の断層画像の一例を示す模式図である。図2に示すようにxyz軸を設定した場合、xy平面画像である2次元の断層画像が、z軸方向に沿って複数並んでいる。Sxはx軸方向の画素数であり、Syはy軸方向の画素数であり、Szは断層画像の枚数である。なお、Szはz軸方向の画素数を表す。Rxyはx方向及びy方向の解像度であり、画素の間隔の逆数、すなわち単位距離あたりの画素数を示す。x軸方向とy軸方向の解像度は等しいが、異なっていてもよい。Rzはz軸方向の解像度であり、隣り合う断層画像の間隔の逆数(単位距離あたりの画像数を表す。各断層画像の座標(x,y,z)での画素値をDo(x,y,z)で現す。Do(x,y,z)は、−32768以上、32767以下の値を取り得る。画素値Do(x,y,z)は、例えば、CT画像の場合、水が0を示し、水よりも密度の高い組織(例えば、骨など)は正値となり、水よりも密度の低い組織(例えば、脂肪組織など)は負値となる。断層画像の座標(x,y,z)において、x座標は0以上、Sx−1以下の値をとり、y座標は0以上、Sy−1以下の値をとり、z座標は0以上、Sz−1以下の値をとる。
また、入力部10は、画素値に対応付けてRGB値及び不透明度が定義されたカラーマップデータを取得する。
図3は本実施の形態のカラーマップデータの第1例を示す説明図である。第1例のカラーマップデータをCmap(v,c)で示す。変数vは、Do(x,y,z)の画素値を示し、Do(x,y,z)の範囲と同様に、−32768以上、32767以下の範囲内の数値を表す。変数cは、0、1、2、3の値を含み、c=0は、RGBのR値を示し、c=1はG値を示し、c=2はB値を示す。c=3は不透明度αを示す。Cmap(v,c)は、0以上、255以下の数値を取り得る。図3に示すように、カラーマップデータは、スライス画像の画素値Do(x,y,z)とRGB値及び不透明度αとの関係を定義するものである。例えば、画素値Do(x,y,z)が32767の場合、R値はR(32767)となり、G値はG(32767)となり、B値はB(32767)となり、不透明度はα(32767)となる。ここで、R(32767)、G(32767)、B(32767)、及びα(32767)は、画素値32767に対応していることを便宜上示すものであり、実際には適切な数値となる。また、カラーマップデータは、−32768から32767までの全ての画素値に対して定義する必要はなく、CT画像の場合、通常は−2048から2048の範囲をとるように調整されるため、−32768から−2048の範囲、および2048から32767の範囲のRGB値及び不透明度は全て0に設定するようにしてもよい。
図4は本実施の形態のカラーマップデータの第2例を示す説明図である。第2例のカラーマップデータをCmap8(v,c)で示す。後述するように、DICOM画像を、例えば、16ビットから8ビットへ階調圧縮した場合、画素値を、−32768以上、32767以下の範囲から、0以上、255以下の範囲とすることができる。Cmap8(v,c)の変数vは、0以上、255以下の範囲内の数値となる。変数cは第1例と同様である。
カラーマップデータCmap(v,c)、Cmap8(v,c)を用いることにより、例えば、人体の部位毎に異なる色を付すだけでなく、部位ごとに不透明度を設定することができ、手前に位置する臓器を透明にして奥に隠れている臓器を描出するなど、観察対象を認識しやすくすることができる。
また、入力部10は、x軸中心の回転角、y軸中心の回転角、z軸中心の回転角、xyz軸方向のオフセット値、xyz軸方向の拡大又は縮小倍率、z軸方向の変倍率、及び注視点から視点までの距離を含む座標変換のパラメータ、xyz方向のROI(Region of Interest:関心領域)の値、並びに透視変換パラメータなどを取得する。座標変換のパラメータ、ROI値、透視変換パラメータの詳細は後述する。
記憶部11は、入力部10で取得したデータ、画像処理部20での処理結果などを記憶することができる。なお、カラーマップデータ、座標変換パラメータ、ROI値、透視変換パラメータなどを予め記憶部11に記憶する構成でもよい。
出力部12は、画像処理部20での処理結果、例えば、レンダリング処理部25で生成したレンダリング画像の画像データを表示装置(不図示)に出力する。
階調圧縮処理部21は、DICOM形式の断層画像を、例えば、8ビットの階調圧縮断層画像にする。
図5は本実施の形態の3Dテクスチャマッピング装置100による階調圧縮処理の一例を示す説明図である。階調圧縮処理部21は、複数の断層画像のうちの所定の断層画像の画素の最小値及び最大値を特定する。例えば、1からSzまでの断層画像のうち、Sz/2番目の中間の断層画像における全ての画素の最小値Dmin及び最大値Dmaxを特定することができる。なお、所定のスライス画像としては、本来は全てのスライス画像における全ての画素の最小値及び最大値を特定する方法が正確である。しかし、その場合は、一旦全ての大容量の16ビットのDICOM形式の断層画像をメモリに保持する必要が生じ、階調圧縮効果が半減する。また、この最小値Dmin及び最大値Dmaxは階調圧縮のパラメータに使用するだけで、8ビットの階調圧縮断層画像の精度には直接影響しない。そこで、単一のスライス画像の画素の最小値及び最大値を用いて、おおまかに特定する方法をとる。ただし、先頭のスライス画像では被写体が適切に映っていない場合が多いため、中間のスライス画像だけで最小値Dmin及び最大値Dmaxを特定する方法をとる。これにより、大容量の16ビットのDICOM形式の断層画像をメモリに保持することなく8ビットの階調圧縮断層画像だけをメモリに直接構築することができる。
8ビットの階調圧縮断層画像D8(x,y,z)は、D8(x,y,z)=(Do(x,y,z)−Lmin)・255/(Lmax−Lmin)という式により生成することができる。ただし、D8(x,y,z)>255の場合は、D8(x,y,z)=255とし、D8(x,y,z)<0の場合は、D8(x,y,z)=0とする。ここで、Lmin=(Dmax−Dmin)・γ+Dmin、Lmax=(Dmax−Dmin)・(1−γ)+Dminである。γは階調圧縮画像のコントラスト調整幅で、0に近いほどコントラストは増大するが輝度は小さくなる。通常は、γ=0.1に設定する。レンダリング像の輝度コントラストは、例えば、カラーマップデータなどの種々の設定で調整することができるので、γは固定値でよい。また、0≦D8(x,y,z)≦255、0≦x≦Sx−1、0≦y≦Sy−1、0≦z≦Sz−1である。また、xy方向の解像度はRxy、z方向の解像度はRzである。
なお、8ビットの階調圧縮断層画像D8(x,y,z)に対しては、図4に示すカラーマップCmap8(v,c)を適用することができる。
上述のように、階調圧縮処理部21は、複数のxy平面画像のうちの所定のxy平面画像の画素の最小値Dmin及び最大値Dmaxを特定し、特定した最大値よりも小さい上限値Lmax及び特定した最小値よりも大きい下限値Lminを算出する。階調圧縮処理部21は、複数のxy平面画像の各画素の画素値の上限値Lmax及び下限値Lminの範囲内を圧縮する。すなわち、階調圧縮処理部21は、上限値Lmax及び下限値Lminの範囲を、例えば、256段階に圧縮し、上限値Lmax以上は255にし、下限値Lmin以下は0にする。
平滑化処理部22は、複数のxy平面画像それぞれの任意の注目画素及び当該注目画素の近傍画素の画素値に基づいて、複数のxy平面画像を平滑化する。xy平面画像は、DICOM画像Do(x,y,z)でもよく、階調圧縮処理部21により階調圧縮された階調圧縮断層画像D8(x,y,z)でもよい。
図6は本実施の形態の3Dテクスチャマッピング装置100による平滑化処理の一例を示す説明図である。図6の例では、階調圧縮断層画像D8(x,y,z)を図示しているが、DICOM画像Do(x,y,z)でもよい。図6は、一の断層画像の注目画素D8(x,y,z)と当該注目画素の近傍に存在する8個の近傍画素D8(x−1,y−1,z)、D8(x,y−1,z)、D8(x+1,y−1,z)、D8(x−1,y,z)、D8(x+1,y,z)、D8(x−1,y+1,z)、D8(x,y+1,z)、D8(x+1,y+1,z)を示す。xyz座標の平滑化された画像をD(x,y,z)とすると、D(x,y,z)は、注目画素を含む近傍画素の画素値の平均値となる。
すなわち、より具体的には、平滑化処理部22は、複数のxy平面画像それぞれの一のxy平面画像上の任意の注目画素及び当該注目画素の一のxy平面画像での近傍画素の画素値に基づいて、一のxy平面画像を平滑化する。
階調圧縮断層画像D8(x,y,z)、あるいはDICOM画像Do(x,y,z)のxy面での8近傍平均値で異方性(z方向を除くという意味)平滑処理を行うことにより、複数の断層画像に元々自然に存在する知覚可能な規則性をもたないパターンが回転によりずれ、線状に連結することにより発生するモアレを抑制することができる。
ボクセル構造体生成部23は、各ボクセルに対してRGB値及び不透明度αが定められ、平滑化した複数のxy平面画像それぞれの各画素に対応するボクセルで構成されるボクセル構造体を生成する。より具体的には、ボクセル構造体生成部23は、平滑化した複数のxy平面画像それぞれの各画素の画素値に対応するカラーマップデータのRGB値及び不透明度を対応付けてRGB値及び不透明度αを設定し、ボクセル構造体を生成する。すなわち、ボクセル構造体は、ボクセルが3次元的に詰まった構成(ボリュームとも称する)をなし、各ボクセルは、ボクセル値(RGB値及び不透明度α)を有する。
ボクセル構造体をV(x,y,z,c)で表す。ここで、0≦V(x,y,z,c)≦255、c=0(R)、1(G)、2(B)、3(α)、0≦x≦Sx−1、0≦y≦Sy−1、0≦z≦Sz−1である。
3Dテクスチャ画像生成部26は、複数のxy平面画像それぞれの各画素に対応し、RGB値及び不透明度が定められたボクセルで構成される3Dテクスチャ画像を生成する。3Dテクスチャ画像のデータは、3Dテクスチャマップとも称し、データの実体はボクセル構造体と同一である。3Dテクスチャ画像生成部26は、ボクセル構造体のボリュームをグラフィックAPI(例えば、OpenGL)の3Dテクスチャマップとして登録する。より具体的には、ボクセル構造体のボリュームは、CPUのメインメモリからGPUのビデオメモリにグラフィックAPIを介して転送され、グラフィックAPIのテクスチャ形式に変換されてビデオメモリに保持される。本願では以降、説明の便宜上グラフィックAPIとしてOpenGLを対象に処理の内容を説明するが、これに限定されない。
3DテクスチャマップをTex(xt,yt,zt,c)で表す。ここで、0≦Tex(xt,yt,zt,c)≦255、c=0(R)、1(G)、2(B)、3(α)、0≦xt≦Sx−1、0≦yt≦Sy−1、0≦zt≦Sz−1である。
なお、ボクセル構造体の座標系をOpenGLのワールド座標系で定義し、XYZ座標(−1≦x≦1、−1≦y≦1、−1≦z≦1)で表し、3Dテクスチャマップの座標系をテクスチャ座標系で定義し、OpenGLではテクスチャ座標系をSTR座標(0≦s≦1、0≦t≦1、0≦r≦1)で表す習慣がある。座標sは座標xに対応し、座標tは座標yに対応し、座標rは座標zに対応する。本実施の形態では、便宜上、ワールド座標系のXYZをXYZ座標と表し、テクスクチャ座標系のSTR座標をxyz座標と表す。
積層四角形設定部27は、ワールド座標系において、XY座標面で定義される複数の四角形をZ軸方向に所定の間隔だけずらして並べた積層四角形を設定する。積層四角形は各々が3次元空間上の4つの頂点で定義された四角形である。
変換処理部24は、変換後3Dテクスチャ画像生成部としての機能を有し、テクスチャ座標系に定義された複数のスライス画像で構成される3Dテクスチャ画像に対してテクスチャ座標系において所定の変換を行って変換後3Dテクスチャ画像を生成する。所定の変換は、透視変換処理、座標変換処理などを含む。
図7は本実施の形態の3Dテクスチャマッピング装置100による3Dテクスチャマッピングの概念を示す模式図である。図7Aは積層四角形に対して座標変換前の3Dテクスチャマップをマッピングした状態を示し、図7Bは積層四角形に対して座標変換後の3Dテクスチャマップをマッピングした状態を示す。ワールド座標(X,Y,Z)において、XY座標面上の四角形がZ軸方向に沿って複数配置されている。視点は、図7において、投影面(レンダリング像が生成される面)より上側(すなわち、Z軸の正方向)に存在する。ワールド座標系に定義した積層四角形は固定であるため、個々の四角形は、視線に対して常に垂直である。図7中、積層四角形の内部に図示した楕円形状は、マッピングされた3Dテクスチャマップ(ボクセルデータ)を示す。3Dテクスチャマップは、テクスチャ座標系において適宜所定の変換が行われるが、ワールド座標系とテクスチャ座標系との対応関係(マッピング)は固定であるため、3Dテクスチャマップの変換後に積層四角形にマッピングされている3Dテクスチャマップの内容は自動的に変更される。
図7Aに示すように、3Dテクスチャマッピングでは、ボクセルデータをテクスチャ座標系に3Dテクスチャマップとして定義し、3Dテクスチャマップをワールド座標系に定義された積層四角形の各四角形に貼り付ける。すなわち、四角形に3Dテクスチャマップの各断面(スライス)をマッピングすることにより、3Dテクスチャマップを視線に対して垂直な断面の集まりとして再構成する。
図7Bに示すように、視点の変更は、ワールド座標(X,Y,Z)に定義された積層四角形およびワールド座標系とテクスチャ座標系との対応関係を初期のまま動かさずに、四角形に貼り付けた3Dテクスチャマップをテクスチャ座標系で回転させる。これにより、個々の四角形の4頂点と3Dテクスチャマップの座標位置(図7では、xyz座標で表す)が回転により変更され、視点を変更した画像を得ることができる。
レンダリング処理部25は、所定の視点からZ軸方向に平行な視線上の四角形のXY座標に対応する変換後3Dテクスチャ画像のボクセルのRGB値を視点から遠い四角形の順に当該ボクセルのアルファ値を基にアルファブレンディングして得られたRGB値を、視線が投影面と交差する画素の画素値としてレンダリング画像を生成する。この場合、レンダリング処理部25は、レンダリング画像のXY座標と視線方向に交差する四角形の交差座標(XYZ座標)を算出し、算出した交差座標と対応する変換後3Dテクスチャ画像のxyz座標を算出し、算出したxyz座標に対応するボクセルのRGB値及び不透明度に基づいてアルファブレンディングする。すなわち、3Dテクスチャマップが貼り付けられた四角形を、視点から遠い順にアルファブレンディングすることでボリュームレンダリングを行う。これらの手順をOpenGLなどのグラフィックAPIを用いて指示することで、GPUの機能を利用した高速処理が可能となる。GPUの機能を利用することにより、待ち時間を抑制して高速にレンダリング画像を生成することができる。本実施の形態であれば、汎用コンピュータに装着されたビデオカードに搭載されたGPUであっても、0.1秒以内でレンダリング処理が可能であり、対話形式で(あるいはインタラクティブ性を確保して)レンダリング画像をリアルタイムに表示させることができる。
上述のように、本実施の形態のボクセル構造体のボクセルデータは、z軸方向に沿って所定間隔で撮像された複数のxy平面画像のそれぞれの各画素に対応し、RGB値及び不透明度が定められたボクセルで構成されるボクセル構造体のボクセルデータを含む構造を有し、ボクセル構造体のボクセルで構成される3Dテクスチャ画像に対して所定の変換を行って変換後3Dテクスチャ画像を生成する処理と、3次元空間のXY座標面上の四角形をZ軸方向に並べた積層四角形を設定する処理と、所定の視点からZ軸方向に平行な視線上の四角形のXY座標に対応する変換後3Dテクスチャ画像のボクセルのRGB値を視点から遠い四角形の順に当該ボクセルのアルファ値を基にアルファブレンディングして得られたRGB値を、視線が投影面と交差する画素の画素値としてレンダリング画像を生成する処理とを実行するのに用いられる。
本実施の形態では、3Dテクスチャマッピング法を用いるが、一般的な2Dテクスチャマッピング法の場合には、以下のような課題がある。すなわち、2Dテクスチャマッピング法では、ボクセルデータを構成する各スライスの輪郭形状をワールド座標系において四角形で表現するところは本願と同様であるが、2次元のテクスチャ座標系においてボクセルデータを構成する各スライスの画像を複数の2Dテクスチャマップとして定義する点で異なる(本実施の形態では、全スライスの画像を3次元のテクスチャ座標系において単一の3Dテクスチャマップとして定義している)。そして、各四角形に対応するいずれかの2Dテクスチャマップを各四角形に貼り付ける(本実施の形態では、各四角形の4頂点に対応する3Dテクスチャマップ内の4つの座標を対応付けて貼り付けている)。2Dテクスチャマップは2次元のテクスチャ座標系において定義されているため、回転は2次元的にしか行えない。そのため、ワールド座標系において、積層した四角形を3次元的に回転させる方法をとらざるを得ない。そうすると、回転角度により奥行関係が崩れ、あるいは2Dテクスチャマップが反転し、積層した四角形をY軸中心に90度回転させると、四角形(厚みが0)は描画されず、レンダリング像は真っ黒になる。
また、スライスと視線とのなす角度が小さくなるにつれて投影面積が小さくなり、サンプリングされるデータの数が減少し、ボリュームレンダリングの意義が失われ、実用的なレンダリング像を得ることができない場合がある。即ち、回転角度により、ワールド座標系の積層四角形とテクスチャ座標系の2Dテクスチャマップとの対応関係を補正しないと、適切なレンダリング像を得ることができない。
本実施の形態によれば、上述のような課題を解決することができる。
次に、本実施の形態の3Dテクスチャマッピング装置100の動作について説明する。
図8及び図9は本実施の形態の3Dテクスチャマッピング装置100による3Dテクスチャマッピング処理の手順の一例を示すフローチャートである。以下では、便宜上、処理の主体を画像処理部20として説明する。画像処理部20は、DICOM画像の画像データを取得し(S11)、カラーマップデータを取得する(S12)。なお、カラーマップデータは、図3、図4で例示したものである。
画像処理部20は、変換パラメータを取得し(S13)、xyz方向のROI値を取得する(S14)。なお、変換パラメータは、座標変換パラメータ及び透視変換パラメータなどを含む。変換パラメータの詳細は後述する。画像処理部20は、DICOM画像の階調圧縮処理を行い(S15)、階調圧縮断層画像D8に対してカラーマップ定義を行う(S16)。カラーマップ定義は、階調圧縮断層画像D8の画素値に対して、RGB値及び不透明度αを定義する。なお、ステップS15の処理は必須ではなく、ステップS15の処理を実施しない場合には、DICOM画像に対してカラーマップ定義を行えばよい。ただし、カラーマップはCT画像の場合、見たい部位ごとに汎用的に定義することが可能で、与えられたDICOM画像に依存して定義されるものではないため、ステップS16の処理を省略し、あらかじめ定義されたカラーマップを流用することもできる。
画像処理部20は、階調圧縮断層画像D8の平滑化処理を行い(S17)、ボクセル構造体V(x,y,z,c)を生成する(S18)。画像処理部20は、ボクセルの陰影値を算出する(S19)。ただし、ステップS19の処理は、必須ではなく、ステップS19の処理を実施しない場合には、ステップS21の処理に進めばよい。
ボクセルの陰影値の算出は、以下のようにすることができる。すなわち、補正処理部29は、ボクセル構造体のボクセルの不透明度に関する勾配ベクトルを算出し、算出した勾配ベクトル及び所定の光源ベクトルに基づいてボクセルの陰影値を算出する。
より具体的には、補正処理部29は、ボクセル構造体のボクセルの不透明度と、当該ボクセルの近傍に位置する複数の近傍ボクセルそれぞれの不透明度との差分を算出する。補正処理部29は、ボクセルと近傍ボクセルとの距離並びにボクセル及び近傍ボクセルそれぞれの不透明度の差分に基づいてボクセルの勾配ベクトルを算出する。この場合、近傍ボクセルとの距離を用いるにあたり、XY方向とZ方向の解像度が異なることを考慮し、補正処理部29は、勾配ベクトルのz軸方向の成分をz軸方向の変倍率Rxy/Rzで補正することが必要である。
光源ベクトル(Lx,Ly,Lz)は、例えば、(Lx,Ly,Lz)=(0.57735,0.57735,0.57735)の如く、平行光源で単位ベクトルとして指定する。また、環境光成分をAbとする。ここで、0≦Ab≦1である。例えば、Ab=0.2とする。
0≦x≦Sx−1、0≦y≦Sy−1、0≦z≦Sz−1の範囲のボクセル(x,y,z)の勾配ベクトル(Gx,Gy,Gz)は、式(1)、(2)、(3)で算出することができる。本実施の形態では、26近傍のボクセル値と中央のボクセルのボクセル値との差分により高精度に勾配ベクトルを算出することができる。勾配ベクトルを算出する際に、ボクセルは座標変換前でz方向変倍処理が行われていないため、xy方向とz方向とでは解像度が異なる点に留意し、勾配ベクトルのz方向成分Gzの変倍補正(Rxy/Rzの乗算)を行う。
G={Gx2 +Gy2 +Gz2 1/2 とする(Gxの2乗とGyの2乗とGzの2乗との和の平方根をGとする)。G≧1の場合、陰影値S(x,y,z)は、拡散反射成分のみ算出し、式(4)で与えられる。これにより、視線ベクトルを変更してボクセルを回転させると、立体感を表現することができる。なお、視線を変えても、座標の回転処理を行う前であり、勾配ベクトルは変化しないので、鏡面反射成分は加えない。
G<1の場合、あるいは、x=0またはx=Sx−1またはy=0またはy=Sy−1またはz=0またはz=Sz−1(すなわち、境界部のボクセル)の場合、陰影値S(x,y,z)としてやや明るい固定値、例えば、0.8を与える。
すなわち、補正処理部29は、勾配ベクトルを算出することができないボクセルに所定の比較的明るい(例えば、取り得る最大値の50%以上、陰影値の最大値が1.0の場合は0.5以上の明るい)陰影値を付与することができる。ここで、取り得る最大値とは、理論上あり得る最大値である。これにより、ストライプ・格子状のモアレの発生を抑制することができる。
画像処理部20は、ボクセルのRGB値を補正する(S20)。具体的は、補正処理部29は、算出した陰影値に基づいてボクセルのRGB値を補正する。陰影計算後のボクセルをV′(x,y,z,c)で表すと、ボクセルのRGB値の補正は、0≦c≦2の範囲で式(5)を適用することにより行うことができる。
上述のように、本実施の形態のボクセル構造体のボクセルデータは、ボクセル構造体のボクセルデータであって、z軸方向に沿って所定間隔で撮像された複数のxy平面画像のそれぞれの各画素に対応し、RGB値及び不透明度が定められたボクセルで構成されるボクセル構造体のボクセルデータであり、当該ボクセルのRGB値が、当該ボクセル構造体のボクセル不透明度に関する勾配ベクトル及び所定の光源ベクトルから算出される当該ボクセルの陰影値に基づき補正された、ボクセル構造体のデータ構造を有し、不透明度及び補正したRGB値が定められたボクセルで構成される3Dテクスチャ画像を生成する処理と、3次元空間のXY座標面上の四角形をZ軸方向に並べた積層四角形を設定する処理と、所定の視点からZ軸方向に平行な視線上の四角形のXY座標に対応する3Dテクスチャ画像のボクセルのRGB値を前記ボクセルの不透明度に基づいて視点から遠い四角形の順にアルファブレンディングして得られたRGB値を、視線が投影面と交差する画素の画素値としてレンダリング画像を生成する処理とを実行するのに用いられる。
OpenGLを用いた3Dテクスチャマッピング法では、ハードウエアレンダリングにおいて、ボクセルの勾配ベクトル、陰影計算に係る処理はサポートされていないため、陰影値として常にα値が与えられている。しかし、本実施の形態では、疑似的に陰影計算を行うことができる。すなわち、陰影計算を正確に行うためには、ボクセルの座標変換後に行う必要があるが、座標変換はハードウエアレンダリングで一緒に行われるため、座標変換前にハードウエアレンダリングに投入するボクセルデータに予め陰影計算結果を組み込むことにより、疑似的に陰影が付与されたレンダリング像を得ることができる。
画像処理部20は、陰影計算後のボクセル構造体を3Dテクスチャマップとして登録する(S21)。なお、3Dテクスチャマップへの登録処理の詳細は後述する。画像処理部20は、投影画面を設定する(S22)。
図10は本実施の形態の3Dテクスチャマッピング装置100による投影画面設定の一例を示す説明図である。変換処理部24は、レンダリング画像のスクリーンサイズ(縦横画素数、縦横アスペクト比率)を設定する。変換処理部24は、平行投影(通常の外観レンダリング)又は透視投影(内視鏡モード)のいずれかを設定する。そして、変換処理部24は、透視投影が設定された場合、透視投影パラメータを設定する。透視投影パラメータは、例えば、カメラの視野角度(焦点距離)、視点位置(視点と注視点で構成され、前者は目の位置で後者は見ている対象物上の位置で、双方ともZ軸上に設定される。一般に、注視点はワールド座標系の原点に固定)、クリッピング位置(視点からのZ軸上の距離、近方及び遠方の2箇所)などを含む。なお、クリッピング位置は、近方だけでもよい。図10に示すように、平行投影の場合には、視点からの視線は全てZ軸に平行となり、視点は仮想的に左方向に無限遠に離れた位置にあることを想定しているため、Z軸方向に定義されている全ての積層四角形がレンダリング対象になる。一方、透視投影の場合には、視点からの視野角度に応じて、視線が広がり、レンダリング対象も近方クリッピングによって制限されている。
画像処理部20は、レンダリング処理を行い(S23)、フレームメモリ上にレンダリング画像を生成し(S24)、処理を終了する。なお、レンダリング処理の詳細は後述する。
図11は本実施の形態の3Dテクスチャマッピング装置100による3Dテクスチャマップ登録処理の手順の一例を示すフローチャートである。画像処理部20は、ROI値に乱数を加算して、クリッピング領域を更新する(S101)。
具体的には、ROIクリッピング処理部30は、ボリュームレンダリング処理の対象領域を画定するxyz座標を設定する。乱数発生部28は、所定範囲内の乱数、例えば、0から32767までの乱数Rndを発生する。ROIクリッピング処理部30は、設定したxyz座標に所定範囲内の乱数を加算する。すなわち、式(6)、(7)、(8)、(9)、(10)、(11)により、ROIの6つの座標値Xs、Xe、Ys、Ye、Zs、Zeに対して、例えば、−0.1から+1.1の範囲で乱数を発生させて、3DテクスチャマップTex(xt,yt,zt,c)に一つのボクセルを転送する都度、新規に発生させた乱数を加算して更新したROIの6つの座標値Xs′、Xe′、Ys′、Ye′、Zs′、Ze′を得る。
なお、Xs′<0の場合には、Xs′=0とし、Xe′>Sx−1の場合には、Xe′=Sx−1とする。Ys′<0の場合には、Ys′=0とし、Ye′>Sy−1の場合には、Ye′=Sy−1とする。また、Zs′<0の場合には、Zs′=0とし、Ze′>Sz−1の場合には、Ze′=Sz−1とする。
画像処理部20は、3Dテクスチャマップの座標値に乱数を加算して転送元のボクセルの座標値を決定する(S102)。
具体的には、3Dテクスチャ画像生成部26は、3Dテクスチャマップのボクセルのxyz座標に所定範囲内の乱数を加算し、乱数を加算したxyz座標の実数値の近傍の整数値をxyz座標とするボクセル構造体のボクセルを特定することにより、転送元のボクセルの座標値を決定する。
例えば、3DテクスチャマップTex(xt,yt,zt,c)に一つのボクセルV(x,y,z,c)又は陰影計算後のボクセルV′(x,y,z,c)を転送するにあたり、所定範囲、例えば、−0.1から+1.1の範囲で乱数を発生させて、転送先の3DテクスチャマップTex(xt,yt,zt,c)に対応する転送元のボクセルの座標値(xt,yt,zt)に乱数を加算し、転送元のボクセルの座標値(x,y,z)を決定する。転送元のボクセルの座標値(x,y,z)は、式(12)、(13)、(14)で求めることができる。
画像処理部20は、決定した座標値のボクセルを3Dテクスチャマップに転送する(S103)。ただし、x<Xs′またはx>Xe′またはy<Ys′またはy>Ye′またはz<Zs′またはz>Ze′の場合、3DテクスチャマップTex(xt,yt,zt,c)に0を転送する(0≦c≦3)。
すなわち、3Dテクスチャ画像生成部26は、ボクセル構造体の転送元のボクセルのxyz座標が、乱数を加算して更新したクリッピング領域外にある場合、ボクセルのRGB値及び不透明度を所定値に設定する。例えば、RGB=0、不透明度α=0とする。
上述のように、本実施の形態のボクセル構造体のボクセルデータは、視線上の四角形のXY座標に対応する3Dテクスチャ画像のxyz座標を算出する処理と、算出したxyz座標が変換後3Dテクスチャ画像の範囲外である場合、算出したxyz座標に対応するボクセルのRGB値及び不透明度に所定値を付与する処理とを実行するのに用いられる。
また、x<Xs′またはx>Xe′またはy<Ys′またはy>Ye′またはz<Zs′またはz>Ze′の場合以外では、3DテクスチャマップTex(xt,yt,zt)にボクセルV(x,y,z,c)又は陰影計算後のボクセルV′(x,y,z,c)を転送する。
すなわち、3Dテクスチャ画像生成部26は、乱数を加算して更新したボクセル構造体の転送元のボクセルのxyz座標が、乱数を加算して更新したクリッピング領域内にある場合、当該ボクセルのボクセル値を転送して3Dテクスチャマップを生成する。
画像処理部20は、すべてのボクセルを転送したか否かを判定し(S104)、すべてのボクセルを転送していない場合(S104でNO)、ステップS101以降の処理を続け、すべてのボクセルを転送した場合(S104でYES)、処理を終了する。これにより、3Dテクスチャ画像を生成することができる。
図12は3Dテクスチャマッピングの一例を示す模式図である。図12において、ワールド座標を(X,Y,Z)とし、テクスチャ座標を(S,T,R)とする。テクスチャ座標は、0から1までの範囲に正規化され、0≦S、T、R≦1となる。ワールド座標(X,Y,Z)の原点に対応するテクスチャ座標は(0.5,0.5,0.5)となる。
3Dテクスチャマッピングでは、2Dテクスチャマッピングと異なり、ユーザが定義した積層四角形の内部だけでなく、積層四角形間の空間やワールド座標系内における積層四角形外の空間にも3Dテクスチャマップが貼られる。そうすると、図12に示すように、テクスチャ座標の下限(0,0,0)を逸脱した座標(−0.1,−0.1,r)に位置する3Dテクスチャマップが貼られる場合がある。また、同様に、テクスチャ座標の上限(1,1,1)を逸脱した座標(1.1,1.1,r)に位置する3Dテクスチャマップが貼られる場合もある。このように定義されたテクスチャ座標を逸脱した座標においては、初期設定としてR=G=B=α=0の値が貼られる。そうすると、3Dテクスチャマップの回転に伴って、3Dテクスチャマップが貼られた積層四角形の各四角形の内部(α>0)と外部(α=0)との境界において、階段状の周期的なパターンが発生し、これらが積層することにより、ストライプ・格子状のモアレが発生する場合がある。
補正処理部29は、四角形のXYZ座標に対応する変換後の3Dテクスチャマップのxyz座標がテクスチャ座標空間を逸脱している場合、3Dテクスチャマップのxyz座標に対応するボクセルのRGB値に所定値(例えば、取り得る最大値の50%以上の明るいグレーの値、RGB値の最大値が各々255の場合は、R=G=B>128)を付与し、当該ボクセルの不透明度に0を付与する。ここで、取り得る最大値とは、理論上あり得る最大値である。これにより、ストライプ・格子状のモアレの発生を抑制することができる。
図13は本実施の形態の3Dテクスチャマッピング装置100によるレンダリング処理の手順の一例を示すフローチャートである。画像処理部20は、3Dテクスチャマップに対するスケーリング及びz方向変倍処理を行い(S111)、3Dテクスチャマップに対する回転処理を行う(S112)。
画像処理部20は、3Dテクスチャマップに対するオフセット処理を行い(S113)、複数の四角形で構成される積層四角形を設定する(S114)。画像処理部20は、積層四角形を構成する各四角形と3Dテクスチャマップとの対応付けを行う(S115)。
図14は3Dテクスチャマッピングとの対応付け方法の一例を示す説明図である。図14Aに示すように、DICOM断層画像をRGBα形式に変換し、グラフィックAPIを介して3Dテクスチャマップとして登録する。そして、図14Bに示すように、積層四角形を定義し、3Dテクスチャマッピングを行う。この場合、ワールド座標系における各四角形の4頂点の3次元ワールド座標とテクスチャ座標系における3Dテクスチャマップの3次元テクスチャ座標とを対応付ける。図14に示すように、(−1,−1,z)、(−1,1,z)、(1,−1,z)、(1,1,z)の4頂点で構成される四角形に対して、ワールド座標の(−1,−1,z)は、テクスチャ座標(0,0,r)に対応付けられている。
また、3Dテクスチャマッピングを設定する場合、積層四角形設定部27は、複数のxy平面画像の数と同数の四角形をZ軸方向に並べた積層四角形を設定する。
積層四角形における四角形の数は任意に設定することができるが、四角形の数と断層画像の枚数とが一致しない場合、Z軸方向に補間処理が働き、座標変換による座標値の丸め誤差が累積し、ストライプ・格子状のモアレが発生する。
そこで、積層四角形における四角形の数、3Dテクスチャマップに登録する2D断層画像の枚数を同一にする。この場合、2D断層画像の枚数を元のDICOM形式の断層画像の枚数と同一にすることができる。3Dボクセル構造体を構築する際、XYZ3次元の解像度を統一させた方が、後処理がしやすくなるため、2D断層画像のスライス間を補間して元のDICOM形式の断層画像の枚数よりも増やす処理が一般的に行われるが、本実施の形態の方が、モアレを抑制する観点から、より好ましい。
画像処理部20は、積層四角形に3Dテクスチャマップを貼り付けながらスキャンコンバージョンを行い、視点から遠い四角形の順にアルファブレンディング処理を行い(S116)、処理を終了する。
より具体的には、あらかじめレンダリング画像のRGB値は全て背景色(例えば、R=G=B=0)で初期化しておく。レンダリング処理部25は、視点から最も遠い四角形に3Dテクスチャマップを貼り付け、図10で定義したレンダリング画像に平行投影または透視投影を行い、投影された四角形のワールド座標系におけるXYZ座標の(−1,−1,−1)からX軸方向及びY軸方向に、投影されたレンダリング画像における画素間隔に対応する間隔u(レンダリング画像の1画素に対応するワールド座標の間隔をuとする。例えばu=0.002)でスキャンコンバージョンを行う。スキャンコンバージョンされた、各ワールド座標(−1+iu,−1+ju,−1)(i,jはレンダリング画像の座標値で、例えば0≦i,j≦511の整数)において、各々対応するテクスチャ座標(2iu,2ju,0)を算出し、算出したテクスチャ座標に基づいて3Dテクスチャマップを参照しRGB値及び不透明度を取得して、対応するレンダリング画像の座標(i,j)に既に記録されているRGB値とアルファブレンディング処理を行い、対応するレンダリング画像の座標(i,j)のRGB値を更新する。このようにして、視点から最も遠い単一の四角形についてアルファブレンディング処理が終了すると、Z座標をv(四角形がZ軸方向に配置されているワールド座標の間隔をvとする。例えば、v=2/Sz)だけ増やし、視点方向に次に近い四角形(−1+iu,−1+ju,−1+v)について同様の処理を繰り返してレンダリング画像を更新する。全ての四角形についてスキャンコンバージョンしてワールド座標(−1+iu,−1+ju,−1+kv)(kは四角形の番号で、0≦k≦Sz−1の整数)に対してアルファブレンディングの処理が終了するとレンダリング画像が完成する。
アルファブレンディング処理は、式(15)、(16)、(17)を用いることができる。
ここで、R′、G′、B′は、投影面において更新されるレンダリング画像のRGB値である。R、G、Bは、四角形のワールド座標(−1+iu,−1+ju,−1+kv)に対応する3Dテクスチャマップのボクセル(2iu,2ju,2kv)におけるRGB値であり、重ねる色の値に相当する。αも、四角形のワールド座標(−1+iu,−1+ju,−1+kv)に対応する3Dテクスチャマップのボクセル(2iu,2ju,2kv)におけるα値であり、重ねる割合を制御する。また、Rb、Gb、Bbは、ワールド座標(−1+iu,−1+ju,−1+kv)に対応するレンダリング画像の座標(i,j)に既に記録されているRGB値であり、当該四角形に対して視点と反対側に1つ前に位置する四角形に対して式(15)、(16)、(17)に基づいて算出されたR′、G′、B′の値に一致し、視点から最も遠い四角形に対して算出する場合は背景色(例えば、Rb=Gb=Bb=0)が与えられる。
図15は本実施の形態の画像処理部20の構成の他の例を示すブロック図である。図15に示すように、画像処理部20は、CPU201、ROM202、RAM203、GPU204、ビデオメモリ205、記録媒体読取部206などで構成することができる。記録媒体1に記録されたコンピュータプログラムを記録媒体読取部206で読み取ってRAM203に格納することができる。RAM203に格納されたコンピュータプログラムをCPU201で実行させることにより、階調圧縮処理部21、平滑化処理部22、ボクセル構造体生成部23、変換処理部24、レンダリング処理部25、3Dテクスチャ画像生成部26、積層四角形設定部27、乱数発生部28、補正処理部29、ROIクリッピング処理部30で行う処理を実行することができる。なお、CPU201は、セントラル・プロセッシングユニットで、通常は複数のコア(プロセッサ)で構成されてRAM203と連携して動作するのに対し、GPU204は、グラフィックス・プロセッシングユニットで、多くのグラフィックス処理に特化したプロセッサで構成されてビデオメモリ205と連携して動作する。また、コンピュータプログラムは、記録媒体読取部206で読み取る構成に代えて、インターネットなどのネットワークを介してダウンロードすることもできる。
また、CPU201は、GPU204に対してレンダリング処理などの命令を出力する。GPU204は、命令を解釈し、レンダリング処理などの所要の処理を実行する。GPU204のプログラミングには、一般にグラフィクスAPI(例えば、OpenGLなど)を用いることができる。例えば、コンピュータプログラムは、CPU201に、変換処理、レンダリング処理を実行するための指令をGPU204に出力する処理を実行させることができる。
次に、モアレの発生パターンについて説明する。ボリュームレンダリング像においてモアレが発生する理由は、断層画像を積層合成する点にある。モアレのタイプとしては、第1のタイプとして、曲線状のパターンがある。また、第2のパターンとして、ストライプ・格子状のパターンがある。なお、曲線状のパターン、ストライプ・格子状のパターンは厳密に分離されるものではなく、ボリュームレンダリング像では、両者が複合的に混ざって存在する。以下では、説明の便宜上、分けて説明する。まず、第1の曲線状のパターンについて説明する。
図16は曲線状のモアレが発生する様子の一例を示す模式図である。発生原因は、断層画像(スライス画像)に元々自然に存在する知覚可能な規則性をもたないパターンである。このようなパターンをもつ複数の断層画像を座標変換(xyz軸回りの回転)することにより、各断層画像に存在する前述の規則性をもたないパターンがずれて合成されることにより、これらのパターンが線状に連結し、結果として、ボリュームレンダリング像に曲線状の縞模様が形成され、知覚可能なモアレとして認識される。
図17は本実施の形態の3Dテクスチャマッピング装置100によるモアレ対策結果の第1例を示す説明図である。図17Aは、比較例であり本実施の形態のモアレ対策を実施していない場合を示す。図17Bは、本実施の形態の3Dテクスチャマッピング装置100の平滑化処理部22により、各断層画像に対して図6で説明したような2D空間(xy平面)で平滑化処理を行った場合を示す。図17Aでは曲線状の縞模様が発生しているが、図17Bでは、縞模様が消えていることが分かる。
次に、モアレの第2のパターンであるストライプ・格子状のパターンについて説明する。
図18はストライプ・格子状のモアレが発生する様子の一例を示す模式図である。ストライプ・格子状のパターンの特徴は、第1のパターンと異なり、モアレ発生源は、断層画像そのものにはなく、3Dテクスチャマッピング処理の過程で計算により発生した人工的パターンにある。3Dテクスチャマップの各断層画像を座標変換(xyz軸回りの回転)することにより、座標変換という実数演算の過程で端数を切り捨てて整数化し、整数値のxyz座標で変換前のボクセル値を参照する過程で、丸め誤差の累積により周期的なパターンが発生し、座標変換後の3Dテクスチャマップの断層画像に加わる。個々の断層画像に加わった周期的パターンは知覚できないレベルの微弱なものであるが、複数の断層画像がアルファブレンディング処理により重なり、重なる時のズレ幅が各周期的パターンの位相条件を満たせば、互いに強めあって、いわゆる干渉縞が発生し、ストライプ・格子状のモアレとして知覚可能なレベルになる。
図19は座標変換時の丸め誤差の発生の様子の一例を示す説明図である。図19では、便宜上、ボクセルを2次元で表している。座標変換前のボクセルを、横方向をx軸方向、縦方向をz軸方向として、V11、V12、…、V49で表す。z軸中心に回転させる座標変換によって、参照するx座標値は、実数値のx座標の整数化に伴う丸め誤差が累積する。例えば、算出された実数のx座標値は、左から右に向かって、1.3、2.6、3.9、5.2、6.5、7.8とする。
例えば、算出された実数のx座標値が、1.3の場合、座標変換後のボクセルは、V11×0.7+V12×0.3により、座標変換前のV11及びV12を参照し、0.3という端数に基づく重みを乗算しながら補間されて求めることができる。また、算出された実数のx座標値が、2.6の場合、座標変換後のボクセルは、V12×0.4+V13×0.6により、座標変換前のV12及びV13を参照し、0.6という端数に基づく重みを乗算しながら補間されて求めることができる。また、算出された実数のx座標値が、3.9の場合、座標変換後のボクセルは、座標変換前のV13×0.1+V14×0.9により、V13及びV14を参照し、0.9という端数に基づく重みを乗算しながら補間されて求めることができる。また、算出された実数のx座標値が、5.2の場合、座標変換後のボクセルは、V15×0.8+V16×0.2により、座標変換前のV15及びV16を参照し、0.2いう端数に基づく重みを乗算しながら補間されて求めることができる。
このように、座標変換後の左から4番目のボクセルは、座標変換前のボクセルV14とV15とで補間されず、V15とV16とで補間され、座標変換後の左から3番目のボクセルと4番目のボクセルとの間では、ボクセル値に段差が生じる。ただし、この段差はV11からV19で形成される単一の層(断層画像)では知覚可能なレベルではない。しかし、図19に示されるように、同様な段差がV21からV49で形成される3つの層にも同一の箇所で発生すると、結果として、z軸方向に沿ってストライプ・格子状のモアレとして知覚可能になる。
前述の問題に対する対策として丸め誤差にゆらぎを与える方法を提案する。図20は本実施の形態の3Dテクスチャマッピング装置100による丸め誤差分散の様子の一例を示す説明図である。丸め誤差分散は、前述の図11におけるステップS101、S102、S103の処理及び図12に例示した構成、あるいは図13におけるステップS115の処理及び図14に例示した構成により行うことができる。図20に示すように、座標変換前のボクセルは図19の例と同一である。参照するx座標値は、乱数によってボクセルの座標値にゆらぎを付加し、あるいは乱数によってボクセルの座標値及びROI設定座標にゆらぎを付加しているので、参照するx座標値は、z座標値毎に異なる。例えば、上から2番目のx座標値は、左から右に向かって、2.1、3.2、4.9、6.1、7.1、8.0となっている。また、上から3番目のx座標値は、左から右に向かって、1.2、2.4、3.5、4.8、5.9、6.9となっている。また、上から4番目のx座標値は、左から右に向かって、2.3、3.1、4.4、5.9、6.5、7.8となっている。そうすると、1層目と2層目では図19と同様に左から3番目と4番目のボクセルの間に段差が残っているが、3層目と4層目では段差が消失し、これらが重なると、z軸方向に沿って発生していたストライプ・格子状のモアレが知覚できなくなる。
上述のように、本実施の形態によれば、実数値の座標値を整数化した際に生じる丸め誤差が分散(実際には、xyz方向に分散)し、周期的なムラが解消するので、座標変換後のボクセル値にストライプ又は格子状の差が発生しないので、ストライプ・格子状のモアレが低減される。
図21は本実施の形態の3Dテクスチャマッピング装置100によるモアレ対策結果の第2例を示す説明図である。図21Aは、比較例であり本実施の形態のモアレ対策を実施していない場合を示す。図21Bは、本実施の形態の3Dテクスチャマッピング装置100により、3Dテクスチャマップを構築する際、図11のステップS102の処理に基づいて座標値に乱数でゆらぎを与えた場合を示す。図21Aでは斜め縞模様が発生しているが、図21Bでは縞模様が消えていることが分かる。
図22は本実施の形態の3Dテクスチャマッピング装置100によるモアレ対策結果の第3例を示す説明図である。図22Aは、比較例であり本実施の形態のモアレ対策を実施していない場合を示す。図22Bは、本実施の形態の3Dテクスチャマッピング装置100により、ROIクリッピング処理時に図11のステップS101の処理に基づいてクリッピング座標値に乱数でゆらぎを与えた場合を示す。図22Aではクリップ面全体に縞模様が発生しているが、図22Bでは縞模様が消えていることが分かる。
図23は本実施の形態の3Dテクスチャマッピング装置100によるモアレ対策結果の第4例を示す説明図である。図23Aは、比較例であり本実施の形態のモアレ対策を実施していない場合を示す。図23Bは、本実施の形態の3Dテクスチャマッピング装置100により、図12の説明に基づいて図1の補正処理部29が、テクスチャ座標系外の画素値のボータ色を一律に、R=G=B=255、α=0にした場合を示す。図23Aでは縞模様が発生しているが、図23Bでは縞模様が消えていることが分かる。
図24は3Dテクスチャマッピング動作の問題の一例を示す説明図である。図24Aは初期位置を示し、図24Bは回転操作した場合を示す。図24は3Dテクスチャマッピングの動作検証のため、テクスチャ座標系を逸脱した場合に、不透明度にあえてα>0の値を設定し反対側に折り返してリピートさせてマッピングするモードに設定したものである。通常の使用形態では積層四角形の外側は、α=0に設定しているため表示されないが、定義した積層四角形の上下左右前後にも3Dテクスチャが貼られており、像の周辺に仮想的な窓ガラスが存在することになり、モアレ発生の要因になると推定される。
図25は本実施の形態の3Dテクスチャマッピング装置100によるモアレ対策結果の第5例を示す説明図である。図25Aは、比較例であり本実施の形態のモアレ対策を実施していない場合を示す。図25Bは、本実施の形態の3Dテクスチャマッピング装置100により、図1の補正処理部29が画像のエッジ部のボクセルに高輝度の陰影値を与えた場合を示す。図25Aではエッジ部に縞模様が発生しているが、図25Bでは縞模様が消えていることが分かる。
図26は本実施の形態の3Dテクスチャマッピング装置100によるモアレ対策結果の第6例を示す説明図である。図26Aは、比較例であり本実施の形態のモアレ対策を実施していない場合を示す。図26Bは、本実施の形態の3Dテクスチャマッピング装置100により、図1の積層四角形設定部27が断層画像の枚数、テクスチャ枚数、積層四角形の四角形の数を同一にした場合を示す。図26Aでは縞模様が発生しているが、図26Bでは縞模様が消えていることが分かる。
上述のように、本実施の形態によれば、待ち時間を抑制して高速にレンダリング画像を生成することができる。また、レンダリング像の画質劣化を抑えながら、各種のモアレ(曲線状のモアレ、ストライプ・格子状のモアレ)の発生を抑制することができる。
本実施の形態のコンピュータプログラムは、コンピュータに、z軸方向に沿って所定間隔で撮像された複数のxy平面画像の画像データを取得する処理と、前記複数のxy平面画像それぞれの各画素に対応し、RGB値及び不透明度が定められたボクセルで構成される3Dテクスチャ画像を生成する処理と、前記3Dテクスチャ画像に対して所定の変換を行って変換後3Dテクスチャ画像を生成する処理と、3次元空間のXY座標面上の四角形をZ軸方向に並べた積層四角形を設定する処理と、所定の視点からZ軸方向に平行な視線上の前記四角形のXY座標に対応する前記変換後3Dテクスチャ画像のボクセルのRGB値を前記ボクセルの不透明度に基づいて前記視点から遠い四角形の順にアルファブレンディングして得られたRGB値を、前記視線が投影面と交差する画素の画素値としてレンダリング画像を生成する処理と
を実行させる。
本実施の形態のコンピュータプログラムは、コンピュータに、前記複数のxy平面画像それぞれの各画素に対応し、RGB値及び不透明度が定められたボクセルで構成されるボクセル構造体を生成する処理と、生成したボクセル構造体のボクセルで構成される3Dテクスチャ画像を生成する処理とを実行させる。
本実施の形態のコンピュータプログラムは、コンピュータに、前記3Dテクスチャ画像のボクセルのxyz座標に所定範囲内の乱数を加算する処理と、乱数を加算したxyz座標の実数値の近傍の整数値をxyz座標とする前記ボクセル構造体のボクセルを特定する処理と、特定したボクセルで構成される3Dテクスチャ画像を生成する処理とを実行させる。
本実施の形態のコンピュータプログラムは、コンピュータに、前記複数のxy平面画像の数と同数の前記四角形をZ軸方向に並べた積層四角形を設定する処理を実行させる。
本実施の形態のコンピュータプログラムは、コンピュータに、前記視線上の前記四角形のXY座標に対応する前記3Dテクスチャ画像のxyz座標を算出する処理と、算出したxyz座標に対応する前記変換後3Dテクスチャ画像のxyz座標に対応するボクセルのRGB値及び不透明度に基づいてアルファブレンディングする処理とを実行させる。
本実施の形態のコンピュータプログラムは、コンピュータに、算出したxyz座標が前記変換後3Dテクスチャ画像の範囲外である場合、算出したxyz座標に対応するボクセルのRGB値の各々に取り得る最大値の50%以上の明るい所定値を付与し、前記ボクセルの不透明度に0を付与する処理を実行させる。
本実施の形態のコンピュータプログラムは、コンピュータに、前記ボクセル構造体のボクセルの不透明度に関する勾配ベクトルを算出する処理と、算出した勾配ベクトル及び所定の光源ベクトルに基づいて前記ボクセルの陰影値を算出する処理と、算出した陰影値に基づいて前記ボクセルのRGB値を補正する処理と、不透明度及び補正したRGB値が定められたボクセルで構成される3Dテクスチャ画像を生成する処理とを実行させる。
本実施の形態のコンピュータプログラムは、コンピュータに、前記ボクセル構造体のボクセルの不透明度と、該ボクセルの近傍に位置する複数の近傍ボクセルそれぞれの不透明度との差分を算出する処理と、前記ボクセルと前記近傍ボクセルとの距離並びに前記ボクセル及び前記近傍ボクセルそれぞれの不透明度の差分に基づいて前記ボクセルの勾配ベクトルを算出する処理とを実行させる。
本実施の形態のコンピュータプログラムは、コンピュータに、前記勾配ベクトルのz軸方向の成分を所定の変倍率で補正する処理を実行させる。
本実施の形態のコンピュータプログラムは、コンピュータに、前記勾配ベクトルを算出することができないボクセルに取り得る最大値の50%以上の明るい陰影値を付与する処理を実行させる。
本実施の形態のコンピュータプログラムは、コンピュータに、前記複数のxy平面画像それぞれの一のxy平面画像上の任意の注目画素及び該注目画素の前記一のxy平面画像での近傍画素の画素値に基づいて、前記一のxy平面画像を平滑化する処理と、平滑化した前記複数のxy平面画像それぞれの各画素に対応し、RGB値及び不透明度が定められたボクセルで構成される3Dテクスチャ画像を生成する処理とを実行させる。
本実施の形態のコンピュータプログラムは、コンピュータに、前記複数のxy平面画像のうちの所定のxy平面画像の画素の最小値及び最大値を特定する処理と、特定した最大値よりも小さい上限値及び特定した最小値よりも大きい下限値を算出する処理と、前記複数のxy平面画像の各画素の画素値を前記上限値及び下限値の範囲内に圧縮する処理と、圧縮した前記複数のxy平面画像それぞれの任意の注目画素及び該注目画素の近傍画素の画素値に基づいて、前記複数のxy平面画像を平滑化する処理とを実行させる。
本実施の形態のコンピュータプログラムは、コンピュータに、画素値に対応付けてRGB値及び不透明度が定義されたカラーマップデータを取得する処理と、前記平滑化した複数のxy平面画像それぞれの各画素に対応するボクセルのRGB値及び不透明度に前記カラーマップデータのRGB値及び不透明度を対応付けて3Dテクスチャ画像を生成する処理とを実行させる。
本実施の形態のコンピュータプログラムは、コンピュータに、x軸中心、y軸中心及びz軸中心の回転角、視野角度、視点位置、クリッピング位置、xyz軸方向のオフセット値、xyz軸方向の拡大又は縮小倍率、z軸方向の変倍率を含む前記所定の変換のパラメータを取得する処理と、前記3Dテクスチャ画像に対して、取得したパタメータを用いた所定の変換を行って変換後3Dテクスチャ画像を生成する処理とを実行させる。
本実施の形態のコンピュータプログラムは、コンピュータに、ボリュームレンダリング処理の対象領域を画定するxyz座標を設定する処理と、設定したxyz座標に所定範囲内の乱数を加算する処理と、生成したボクセル構造体のボクセルのxyz座標が、乱数を加算したxyz座標で画定される対象領域内にある場合、前記ボクセルで構成される3Dテクスチャ画像を生成する処理とを実行させる。
本実施の形態のコンピュータプログラムは、コンピュータに、生成したボクセル構造体のボクセルのxyz座標が、乱数を加算したxyz座標で画定される対象領域外にある場合、前記ボクセルのRGB値及び不透明度を所定値に設定する処理とを実行させる。
本実施の形態のコンピュータプログラムは、コンピュータに、前記変換後3Dテクスチャ画像を生成する処理及び前記レンダリング画像を生成する処理を実行するための指令をGPUに出力する処理を実行させる。
本実施の形態の画像処理装置は、3Dテクスチャマッピング法を用いたボリュームレンダリング処理を行う画像処理装置であって、z軸方向に沿って所定間隔で撮像された複数のxy平面画像の画像データを取得する取得部と、前記複数のxy平面画像それぞれの各画素に対応し、RGB値及び不透明度が定められたボクセルで構成される3Dテクスチャ画像を生成する3Dテクスチャ画像生成部と、前記3Dテクスチャ画像に対して所定の変換を行って変換後3Dテクスチャ画像を生成する変換後3Dテクスチャ画像生成部と、3次元空間のXY座標面上の四角形をZ軸方向に並べた積層四角形を設定する積層四角形設定部と、所定の視点からZ軸方向に平行な視線上の前記四角形のXY座標に対応する前記変換後3Dテクスチャ画像のボクセルのRGB値を前記ボクセルの不透明度に基づいて前記視点から遠い四角形の順にアルファブレンディングして得られたRGB値を、前記視線が投影面と交差する画素の画素値としてレンダリング画像を生成するレンダリング画像生成部とを備える。
本実施の形態の画像処理方法は、3Dテクスチャマッピング法を用いたボリュームレンダリング処理を行う画像処理装置による画像処理方法であって、z軸方向に沿って所定間隔で撮像された複数のxy平面画像の画像データを取得し、前記複数のxy平面画像それぞれの各画素に対応し、RGB値及び不透明度が定められたボクセルで構成される3Dテクスチャ画像を生成し、前記3Dテクスチャ画像に対して所定の変換を行って変換後3Dテクスチャ画像を生成し、3次元空間のXY座標面上の四角形をZ軸方向に並べた積層四角形を設定し、所定の視点からZ軸方向に平行な視線上の前記四角形のXY座標に対応する前記変換後3Dテクスチャ画像のボクセルのRGB値を前記ボクセルの不透明度に基づいて前記視点から遠い四角形の順にアルファブレンディングして得られたRGB値を、前記視線が投影面と交差する画素の画素値としてレンダリング画像を生成する。
本実施の形態のボクセルデータは、ボクセル構造体のボクセルデータであって、z軸方向に沿って所定間隔で撮像された複数のxy平面画像のそれぞれの各画素に対応し、RGB値及び不透明度が定められたボクセルで構成されるボクセル構造体のボクセルデータを含む構造を有し、前記ボクセル構造体のボクセルで構成される3Dテクスチャ画像に対して所定の変換を行って変換後3Dテクスチャ画像を生成する処理と、3次元空間のXY座標面上の四角形をZ軸方向に並べた積層四角形を設定する処理と、所定の視点からZ軸方向に平行な視線上の前記四角形のXY座標に対応する前記変換後3Dテクスチャ画像のボクセルのRGB値を前記ボクセルの不透明度に基づいて前記視点から遠い四角形の順にアルファブレンディングして得られたRGB値を、前記視線が投影面と交差する画素の画素値としてレンダリング画像を生成する処理とを実行するのに用いられる。
本実施の形態のボクセルデータは、ボクセル構造体のボクセルデータであって、z軸方向に沿って所定間隔で撮像された複数のxy平面画像のそれぞれの各画素に対応し、RGB値及び不透明度が定められたボクセルで構成されるボクセル構造体のボクセルデータであり、前記ボクセルのRGB値が、前記ボクセル構造体のボクセル不透明度に関する勾配ベクトル及び所定の光源ベクトルから算出される前記ボクセルの陰影値に基づき補正された、ボクセル構造体のデータ構造を有し、不透明度及び補正したRGB値が定められたボクセルで構成される3Dテクスチャ画像を生成する処理と、3次元空間のXY座標面上の四角形をZ軸方向に並べた積層四角形を設定する処理と、所定の視点からZ軸方向に平行な視線上の前記四角形のXY座標に対応する前記3Dテクスチャ画像のボクセルのRGB値を前記ボクセルの不透明度に基づいて前記視点から遠い四角形の順にアルファブレンディングして得られたRGB値を、前記視線が投影面と交差する画素の画素値としてレンダリング画像を生成する処理とを実行するのに用いられる。
本実施の形態のボクセルデータは、前記視線上の前記四角形のXY座標に対応する前記3Dテクスチャ画像のxyz座標を算出する処理と、算出したxyz座標が前記変換後3Dテクスチャ画像の範囲外である場合、算出したxyz座標に対応するボクセルのRGB値及び不透明度に所定値を付与する処理とを実行するのに用いられる。
10 入力部
11 記憶部
12 出力部
20 画像処理部
21 階調圧縮処理部
22 平滑化処理部
23 ボクセル構造体生成部
24 変換処理部
25 レンダリング処理部
26 3Dテクスチャ画像生成部
27 積層四角形設定部
28 乱数発生部
29 補正処理部
30 ROIクリッピング処理部
100 3Dテクスチャマッピング装置
201 CPU
202 ROM
203 RAM
204 GPU
205 ビデオメモリ
206 記録媒体読取部

Claims (22)

  1. コンピュータに、
    z軸方向に沿って所定間隔で撮像された複数のxy平面画像の画像データを取得する処理と、
    前記複数のxy平面画像それぞれの各画素に対応し、RGB値及び不透明度が定められたボクセルで構成される3Dテクスチャ画像を生成する処理と、
    前記3Dテクスチャ画像に対して所定の変換を行って変換後3Dテクスチャ画像を生成する処理と、
    3次元空間のXY座標面上の四角形をZ軸方向に並べた積層四角形を設定する処理と、
    所定の視点からZ軸方向に平行な視線上の前記四角形のXY座標に対応する前記変換後3Dテクスチャ画像のボクセルのRGB値を前記ボクセルの不透明度に基づいて前記視点から遠い四角形の順にアルファブレンディングして得られたRGB値を、前記視線が投影面と交差する画素の画素値としてレンダリング画像を生成する処理と
    を実行させるコンピュータプログラム。
  2. コンピュータに、
    前記複数のxy平面画像それぞれの各画素に対応し、RGB値及び不透明度が定められたボクセルで構成されるボクセル構造体を生成する処理と、
    生成したボクセル構造体のボクセルで構成される3Dテクスチャ画像を生成する処理と
    を実行させる請求項1に記載のコンピュータプログラム。
  3. コンピュータに、
    前記3Dテクスチャ画像のボクセルのxyz座標に所定範囲内の乱数を加算する処理と、
    乱数を加算したxyz座標の実数値の近傍の整数値をxyz座標とする前記ボクセル構造体のボクセルを特定する処理と、
    特定したボクセルで構成される3Dテクスチャ画像を生成する処理と
    を実行させる請求項2に記載のコンピュータプログラム。
  4. コンピュータに、
    前記複数のxy平面画像の数と同数の前記四角形をZ軸方向に並べた積層四角形を設定する処理を実行させる請求項1から請求項3のいずれか一項に記載のコンピュータプログラム。
  5. コンピュータに、
    前記視線上の前記四角形のXY座標に対応する前記3Dテクスチャ画像のxyz座標を算出する処理と、
    算出したxyz座標に対応する前記変換後3Dテクスチャ画像のxyz座標に対応するボクセルのRGB値及び不透明度に基づいてアルファブレンディングする処理と
    を実行させる請求項1から請求項4のいずれか一項に記載のコンピュータプログラム。
  6. コンピュータに、
    算出したxyz座標が前記変換後3Dテクスチャ画像の範囲外である場合、算出したxyz座標に対応するボクセルのRGB値の各々に取り得る最大値の50%以上の明るい所定値を付与し、前記ボクセルの不透明度に0を付与する処理を実行させる請求項5に記載のコンピュータプログラム。
  7. コンピュータに、
    前記ボクセル構造体のボクセルの不透明度に関する勾配ベクトルを算出する処理と、
    算出した勾配ベクトル及び所定の光源ベクトルに基づいて前記ボクセルの陰影値を算出する処理と、
    算出した陰影値に基づいて前記ボクセルのRGB値を補正する処理と、
    不透明度及び補正したRGB値が定められたボクセルで構成される3Dテクスチャ画像を生成する処理と
    を実行させる請求項2に記載のコンピュータプログラム。
  8. コンピュータに、
    前記ボクセル構造体のボクセルの不透明度と、該ボクセルの近傍に位置する複数の近傍ボクセルそれぞれの不透明度との差分を算出する処理と、
    前記ボクセルと前記近傍ボクセルとの距離並びに前記ボクセル及び前記近傍ボクセルそれぞれの不透明度の差分に基づいて前記ボクセルの勾配ベクトルを算出する処理と
    を実行させる請求項7に記載のコンピュータプログラム。
  9. コンピュータに、
    前記勾配ベクトルのz軸方向の成分を所定の変倍率で補正する処理を実行させる請求項7又は請求項8に記載のコンピュータプログラム。
  10. コンピュータに、
    前記勾配ベクトルを算出することができないボクセルに取り得る最大値の50%以上の明るい陰影値を付与する処理を実行させる請求項7から請求項9のいずれか一項に記載のコンピュータプログラム。
  11. コンピュータに、
    前記複数のxy平面画像それぞれの一のxy平面画像上の任意の注目画素及び該注目画素の前記一のxy平面画像での近傍画素の画素値に基づいて、前記一のxy平面画像を平滑化する処理と、
    平滑化した前記複数のxy平面画像それぞれの各画素に対応し、RGB値及び不透明度が定められたボクセルで構成される3Dテクスチャ画像を生成する処理と
    を実行させる請求項1から請求項10のいずれか一項に記載のコンピュータプログラム。
  12. コンピュータに、
    前記複数のxy平面画像のうちの所定のxy平面画像の画素の最小値及び最大値を特定する処理と、
    特定した最大値よりも小さい上限値及び特定した最小値よりも大きい下限値を算出する処理と、
    前記複数のxy平面画像の各画素の画素値を前記上限値及び下限値の範囲内に圧縮する処理と、
    圧縮した前記複数のxy平面画像それぞれの任意の注目画素及び該注目画素の近傍画素の画素値に基づいて、前記複数のxy平面画像を平滑化する処理と
    を実行させる請求項11に記載のコンピュータプログラム。
  13. コンピュータに、
    画素値に対応付けてRGB値及び不透明度が定義されたカラーマップデータを取得する処理と、
    前記平滑化した複数のxy平面画像それぞれの各画素に対応するボクセルのRGB値及び不透明度に前記カラーマップデータのRGB値及び不透明度を対応付けて3Dテクスチャ画像を生成する処理と
    を実行させる請求項11又は請求項12に記載のコンピュータプログラム。
  14. コンピュータに、
    x軸中心、y軸中心及びz軸中心の回転角、視野角度、視点位置、クリッピング位置、xyz軸方向のオフセット値、xyz軸方向の拡大又は縮小倍率、z軸方向の変倍率を含む前記所定の変換のパラメータを取得する処理と、
    前記3Dテクスチャ画像に対して、取得したパタメータを用いた所定の変換を行って変換後3Dテクスチャ画像を生成する処理と
    を実行させる請求項1から請求項13のいずれか一項に記載のコンピュータプログラム。
  15. コンピュータに、
    ボリュームレンダリング処理の対象領域を画定するxyz座標を設定する処理と、
    設定したxyz座標に所定範囲内の乱数を加算する処理と、
    生成したボクセル構造体のボクセルのxyz座標が、乱数を加算したxyz座標で画定される対象領域内にある場合、前記ボクセルで構成される3Dテクスチャ画像を生成する処理と
    を実行させる請求項2に記載のコンピュータプログラム。
  16. コンピュータに、
    生成したボクセル構造体のボクセルのxyz座標が、乱数を加算したxyz座標で画定される対象領域外にある場合、前記ボクセルのRGB値及び不透明度を所定値に設定する処理と
    を実行させる請求項15に記載のコンピュータプログラム。
  17. コンピュータに、
    前記変換後3Dテクスチャ画像を生成する処理及び前記レンダリング画像を生成する処理を実行するための指令をGPUに出力する処理を実行させる請求項1から請求項16のいずれか一項に記載のコンピュータプログラム。
  18. 3Dテクスチャマッピング法を用いたボリュームレンダリング処理を行う画像処理装置であって、
    z軸方向に沿って所定間隔で撮像された複数のxy平面画像の画像データを取得する取得部と、
    前記複数のxy平面画像それぞれの各画素に対応し、RGB値及び不透明度が定められたボクセルで構成される3Dテクスチャ画像を生成する3Dテクスチャ画像生成部と、
    前記3Dテクスチャ画像に対して所定の変換を行って変換後3Dテクスチャ画像を生成する変換後3Dテクスチャ画像生成部と、
    3次元空間のXY座標面上の四角形をZ軸方向に並べた積層四角形を設定する積層四角形設定部と、
    所定の視点からZ軸方向に平行な視線上の前記四角形のXY座標に対応する前記変換後3Dテクスチャ画像のボクセルのRGB値を前記ボクセルの不透明度に基づいて前記視点から遠い四角形の順にアルファブレンディングして得られたRGB値を、前記視線が投影面と交差する画素の画素値としてレンダリング画像を生成するレンダリング画像生成部と
    を備える画像処理装置。
  19. 3Dテクスチャマッピング法を用いたボリュームレンダリング処理を行う画像処理装置による画像処理方法であって、
    z軸方向に沿って所定間隔で撮像された複数のxy平面画像の画像データを取得し、
    前記複数のxy平面画像それぞれの各画素に対応し、RGB値及び不透明度が定められたボクセルで構成される3Dテクスチャ画像を生成し、
    前記3Dテクスチャ画像に対して所定の変換を行って変換後3Dテクスチャ画像を生成し、
    3次元空間のXY座標面上の四角形をZ軸方向に並べた積層四角形を設定し、
    所定の視点からZ軸方向に平行な視線上の前記四角形のXY座標に対応する前記変換後3Dテクスチャ画像のボクセルのRGB値を前記ボクセルの不透明度に基づいて前記視点から遠い四角形の順にアルファブレンディングして得られたRGB値を、前記視線が投影面と交差する画素の画素値としてレンダリング画像を生成する画像処理方法。
  20. ボクセル構造体のボクセルデータであって、
    z軸方向に沿って所定間隔で撮像された複数のxy平面画像のそれぞれの各画素に対応し、RGB値及び不透明度が定められたボクセルで構成されるボクセル構造体のボクセルデータを含む構造を有し、
    前記ボクセル構造体のボクセルで構成される3Dテクスチャ画像に対して所定の変換を行って変換後3Dテクスチャ画像を生成する処理と、
    3次元空間のXY座標面上の四角形をZ軸方向に並べた積層四角形を設定する処理と、
    所定の視点からZ軸方向に平行な視線上の前記四角形のXY座標に対応する前記変換後3Dテクスチャ画像のボクセルのRGB値を前記ボクセルの不透明度に基づいて前記視点から遠い四角形の順にアルファブレンディングして得られたRGB値を、前記視線が投影面と交差する画素の画素値としてレンダリング画像を生成する処理と
    を実行するのに用いられるボクセルデータ。
  21. ボクセル構造体のボクセルデータであって、
    z軸方向に沿って所定間隔で撮像された複数のxy平面画像のそれぞれの各画素に対応し、RGB値及び不透明度が定められたボクセルで構成されるボクセル構造体のボクセルデータであり、
    前記ボクセルのRGB値が、前記ボクセル構造体のボクセル不透明度に関する勾配ベクトル及び所定の光源ベクトルから算出される前記ボクセルの陰影値に基づき補正された、ボクセル構造体のデータ構造を有し、
    不透明度及び補正したRGB値が定められたボクセルで構成される3Dテクスチャ画像を生成する処理と、
    3次元空間のXY座標面上の四角形をZ軸方向に並べた積層四角形を設定する処理と、
    所定の視点からZ軸方向に平行な視線上の前記四角形のXY座標に対応する前記3Dテクスチャ画像のボクセルのRGB値を前記ボクセルの不透明度に基づいて前記視点から遠い四角形の順にアルファブレンディングして得られたRGB値を、前記視線が投影面と交差する画素の画素値としてレンダリング画像を生成する処理と
    を実行するのに用いられるボクセルデータ。
  22. 前記視線上の前記四角形のXY座標に対応する前記3Dテクスチャ画像のxyz座標を算出する処理と、
    算出したxyz座標が前記変換後3Dテクスチャ画像の範囲外である場合、算出したxyz座標に対応するボクセルのRGB値及び不透明度に所定値を付与する処理と
    を実行するのに用いられる請求項20に記載のボクセルデータ。

JP2017246755A 2017-12-22 2017-12-22 コンピュータプログラム、画像処理装置、画像処理方法及びボクセルデータ Pending JP2019114034A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2017246755A JP2019114034A (ja) 2017-12-22 2017-12-22 コンピュータプログラム、画像処理装置、画像処理方法及びボクセルデータ
JP2022040503A JP7283603B2 (ja) 2017-12-22 2022-03-15 コンピュータプログラム、画像処理装置及び画像処理方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2017246755A JP2019114034A (ja) 2017-12-22 2017-12-22 コンピュータプログラム、画像処理装置、画像処理方法及びボクセルデータ

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2022040503A Division JP7283603B2 (ja) 2017-12-22 2022-03-15 コンピュータプログラム、画像処理装置及び画像処理方法

Publications (1)

Publication Number Publication Date
JP2019114034A true JP2019114034A (ja) 2019-07-11

Family

ID=67222671

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017246755A Pending JP2019114034A (ja) 2017-12-22 2017-12-22 コンピュータプログラム、画像処理装置、画像処理方法及びボクセルデータ

Country Status (1)

Country Link
JP (1) JP2019114034A (ja)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001319220A (ja) * 2000-05-03 2001-11-16 Ge Medical Systems Global Technology Co Llc 医療画像データ・ボリュームからの関係のある画像データの抽出
JP2003263651A (ja) * 2002-03-12 2003-09-19 Inst Of Physical & Chemical Res ボリュームレンダリング方法とそのプログラム
JP2008259698A (ja) * 2007-04-12 2008-10-30 Fujifilm Corp 画像処理方法および装置並びにプログラム
JP2013191030A (ja) * 2012-03-14 2013-09-26 Fujifilm Corp 画像生成装置、方法及びプログラム

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001319220A (ja) * 2000-05-03 2001-11-16 Ge Medical Systems Global Technology Co Llc 医療画像データ・ボリュームからの関係のある画像データの抽出
JP2003263651A (ja) * 2002-03-12 2003-09-19 Inst Of Physical & Chemical Res ボリュームレンダリング方法とそのプログラム
JP2008259698A (ja) * 2007-04-12 2008-10-30 Fujifilm Corp 画像処理方法および装置並びにプログラム
JP2013191030A (ja) * 2012-03-14 2013-09-26 Fujifilm Corp 画像生成装置、方法及びプログラム

Similar Documents

Publication Publication Date Title
US7505037B2 (en) Direct volume rendering of 4D deformable volume images
Wang et al. Real-time computer-generated integral imaging and 3D image calibration for augmented reality surgical navigation
JP4213135B2 (ja) 展開画像投影方法、展開画像投影プログラム、展開画像投影装置
US20050116957A1 (en) Dynamic crop box determination for optimized display of a tube-like structure in endoscopic view ("crop box")
US20060103670A1 (en) Image processing method and computer readable medium for image processing
US20110082667A1 (en) System and method for view-dependent anatomic surface visualization
JP5194138B2 (ja) 画像診断支援装置およびその動作方法、並びに画像診断支援プログラム
US9836891B2 (en) Shape data generation method and apparatus
JP4122314B2 (ja) 投影画像処理方法、投影画像処理プログラム、投影画像処理装置
CN115131487A (zh) 医学影像处理方法、系统、计算机设备、存储介质
JP7013849B2 (ja) コンピュータプログラム、画像処理装置及び画像処理方法
JP7003635B2 (ja) コンピュータプログラム、画像処理装置及び画像処理方法
JP6418344B1 (ja) コンピュータプログラム、画像処理装置及び画像処理方法
JP7283603B2 (ja) コンピュータプログラム、画像処理装置及び画像処理方法
JP7155670B2 (ja) 医用画像処理装置、医用画像処理方法、プログラム、及びデータ作成方法
JP2019114034A (ja) コンピュータプログラム、画像処理装置、画像処理方法及びボクセルデータ
JP7131080B2 (ja) ボリュームレンダリング装置
JP7180123B2 (ja) 医用画像処理装置、医用画像処理方法、プログラム、及びデータ作成方法
JP7223312B2 (ja) ボリュームレンダリング装置
JP6436258B1 (ja) コンピュータプログラム、画像処理装置及び画像処理方法
JP2018121857A (ja) 医用画像処理装置、医用画像処理方法、及び医用画像処理プログラム
JP7095409B2 (ja) 医用画像処理装置、医用画像処理方法、プログラム、及びmpr像生成方法
JP5245811B2 (ja) ボクセル配列可視化装置
JP7206617B2 (ja) 断層画像表示用カラーマップの最適化装置およびボリュームレンダリング装置
JP4292645B2 (ja) 3次元データの合成方法及び装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20201026

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20210818

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20210921

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20211026

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20211221