JP6436258B1 - Computer program, image processing apparatus, and image processing method - Google Patents
Computer program, image processing apparatus, and image processing method Download PDFInfo
- Publication number
- JP6436258B1 JP6436258B1 JP2018060844A JP2018060844A JP6436258B1 JP 6436258 B1 JP6436258 B1 JP 6436258B1 JP 2018060844 A JP2018060844 A JP 2018060844A JP 2018060844 A JP2018060844 A JP 2018060844A JP 6436258 B1 JP6436258 B1 JP 6436258B1
- Authority
- JP
- Japan
- Prior art keywords
- voxel
- opacity
- value
- image
- voxels
- 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.)
- Active
Links
- 238000012545 processing Methods 0.000 title claims abstract description 240
- 238000004590 computer program Methods 0.000 title claims abstract description 52
- 238000003672 processing method Methods 0.000 title claims abstract description 6
- 238000000034 method Methods 0.000 claims abstract description 228
- 230000008569 process Effects 0.000 claims abstract description 189
- 238000009877 rendering Methods 0.000 claims abstract description 101
- 238000006243 chemical reaction Methods 0.000 claims description 70
- 239000000872 buffer Substances 0.000 claims description 60
- 238000002910 structure generation Methods 0.000 claims description 32
- 230000009466 transformation Effects 0.000 claims description 25
- 238000012937 correction Methods 0.000 claims description 18
- 238000002156 mixing Methods 0.000 claims description 15
- 230000005540 biological transmission Effects 0.000 claims description 5
- 230000009467 reduction Effects 0.000 claims description 3
- 230000001186 cumulative effect Effects 0.000 claims description 2
- 229960001716 benzalkonium Drugs 0.000 claims 1
- CYDRXTMLKJDRQH-UHFFFAOYSA-N benzododecinium Chemical compound CCCCCCCCCCCC[N+](C)(C)CC1=CC=CC=C1 CYDRXTMLKJDRQH-UHFFFAOYSA-N 0.000 claims 1
- 230000000007 visual effect Effects 0.000 claims 1
- 238000009499 grossing Methods 0.000 description 94
- 238000013507 mapping Methods 0.000 description 51
- 238000005266 casting Methods 0.000 description 49
- 238000010586 diagram Methods 0.000 description 38
- 238000004364 calculation method Methods 0.000 description 32
- 238000007906 compression Methods 0.000 description 19
- 230000006835 compression Effects 0.000 description 18
- 230000015654 memory Effects 0.000 description 15
- 230000000052 comparative effect Effects 0.000 description 14
- 239000008186 active pharmaceutical agent Substances 0.000 description 7
- 238000012935 Averaging Methods 0.000 description 6
- 230000008859 change Effects 0.000 description 6
- 238000002591 computed tomography Methods 0.000 description 6
- 230000006870 function Effects 0.000 description 6
- 239000011159 matrix material Substances 0.000 description 6
- 210000000056 organ Anatomy 0.000 description 6
- 230000007423 decrease Effects 0.000 description 3
- 210000004072 lung Anatomy 0.000 description 3
- 210000001519 tissue Anatomy 0.000 description 3
- XLYOFNOQVPJJNP-UHFFFAOYSA-N water Substances O XLYOFNOQVPJJNP-UHFFFAOYSA-N 0.000 description 3
- 210000000988 bone and bone Anatomy 0.000 description 2
- 238000004422 calculation algorithm Methods 0.000 description 2
- 239000003086 colorant Substances 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 229940079593 drug Drugs 0.000 description 2
- 239000003814 drug Substances 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 239000000284 extract Substances 0.000 description 2
- 238000003384 imaging method Methods 0.000 description 2
- 230000001678 irradiating effect Effects 0.000 description 2
- 230000003902 lesion Effects 0.000 description 2
- 238000002595 magnetic resonance imaging Methods 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 238000002600 positron emission tomography Methods 0.000 description 2
- 238000005070 sampling Methods 0.000 description 2
- 238000012800 visualization Methods 0.000 description 2
- KNMAVSAGTYIFJF-UHFFFAOYSA-N 1-[2-[(2-hydroxy-3-phenoxypropyl)amino]ethylamino]-3-phenoxypropan-2-ol;dihydrochloride Chemical compound Cl.Cl.C=1C=CC=CC=1OCC(O)CNCCNCC(O)COC1=CC=CC=C1 KNMAVSAGTYIFJF-UHFFFAOYSA-N 0.000 description 1
- 241001465754 Metazoa Species 0.000 description 1
- 210000001015 abdomen Anatomy 0.000 description 1
- 238000010521 absorption reaction Methods 0.000 description 1
- 210000000577 adipose tissue Anatomy 0.000 description 1
- 210000004204 blood vessel Anatomy 0.000 description 1
- 210000004556 brain Anatomy 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 238000003745 diagnosis Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000012805 post-processing Methods 0.000 description 1
- 239000000126 substance Substances 0.000 description 1
- 238000001356 surgical procedure Methods 0.000 description 1
- 230000003936 working memory Effects 0.000 description 1
Landscapes
- Apparatus For Radiation Diagnosis (AREA)
- Measuring And Recording Apparatus For Diagnosis (AREA)
- Image Processing (AREA)
- Image Generation (AREA)
Abstract
【課題】モアレを抑制することができるコンピュータプログラム、画像処理装置、画像処理方法及びボクセルデータを提供する。
【解決手段】コンピュータプログラムは、コンピュータに、z軸方向に沿って所定間隔で撮像された複数のxy平面画像の画像データを取得する処理と、xy平面画像の画素の値に対してRGB値及び不透明度が定められ、複数のxy平面画像それぞれの各画素に対応するRGB値及び不透明度を有するボクセルで構成される暫定ボクセル構造体を生成する処理と、暫定ボクセル構造体のボクセルに対して、ボクセルの近傍に位置する近傍ボクセルの不透明度に基づいて、ボクセルの不透明度を補正してボクセル構造体を生成する処理と、ボクセル構造体に対してボリュームレンダリング処理を行ってレンダリング画像を生成する処理とを実行させる。
【選択図】図13A computer program, an image processing apparatus, an image processing method, and voxel data capable of suppressing moire are provided.
A computer program causes a computer to acquire image data of a plurality of xy plane images captured at predetermined intervals along the z-axis direction, and to calculate RGB values and pixel values for the pixel values of the xy plane image. A process for generating a provisional voxel structure composed of voxels having RGB values and opacity corresponding to each pixel of each of a plurality of xy plane images, and a voxel of the provisional voxel structure. Processing to generate a voxel structure by correcting the opacity of voxels based on the opacity of neighboring voxels located in the vicinity of the voxel, and processing to generate a rendering image by performing volume rendering processing on the voxel structure And execute.
[Selection] Figure 13
Description
本開示は、コンピュータプログラム、画像処理装置及び画像処理方法に関する。 The present disclosure relates to a computer program, an image processing apparatus and an image processing how.
医療分野においては、CT(Computed Tomography)、MRI(Magnetic Resonance Imaging)、PET(Positron Emission Tomography)などの医用画像診断機器により所定のスライス間隔で連続的に撮影され、DICOM(Digital Imaging and COmmunications in Medicine)形式で保管された2次元の断層画像に基づいて、臓器等の観察対象物を3次元的に可視化して画像診断支援、手術又は治療支援に役立てるための技術が開発されている。 In the medical field, images are taken continuously at a predetermined slice interval by a medical image diagnostic device such as CT (Computed Tomography), MRI (Magnetic Resonance Imaging), PET (Positron Emission Tomography), and DICOM (Digital Imaging and Communication in Medicine). ) Based on a two-dimensional tomographic image stored in the form, a technique for visualizing an observation object such as an organ three-dimensionally and using it for image diagnosis support, surgery, or treatment support has been developed.
観察対象物の内部組織を3次元画像表示する代表的な手法として、物体の3次元デジタルデータ(ボリュームデータ)から3次元構造のイメージを描画するボリュームレンダリング手法が知られている。ボリュームレンダリング手法としては、レイキャスティング及びテクスチャベースのレンダリングが知られている。 As a typical technique for displaying a three-dimensional image of the internal tissue of an observation object, a volume rendering technique for drawing an image having a three-dimensional structure from three-dimensional digital data (volume data) of an object is known. As volume rendering methods, ray casting and texture-based rendering are known.
特許文献1には、複数の断層画像を積層して3次元ボクセル空間を構築し、3次元ボクセル空間に対して任意の視点方向からレイ(仮想光線)を照射し、視線上にあるサンプリング点において色及び輝度値を視線に沿って累積計算するレイキャスティングが開示されている。具体的には、視点方向が3次元座標軸のZ軸と平行になるように座標変換を施し、座標変換後の3次元ボクセル空間に対して、Z軸方向にレイを照射し、XY平面上の投影面(スクリーン)に、投影結果をピクセル値として算出するものである。 In Patent Document 1, a three-dimensional voxel space is constructed by stacking a plurality of tomographic images, a ray (virtual ray) is irradiated from an arbitrary viewpoint direction to the three-dimensional voxel space, and at a sampling point on the line of sight Ray casting is disclosed in which color and luminance values are cumulatively calculated along the line of sight. Specifically, coordinate transformation is performed so that the viewpoint direction is parallel to the Z-axis of the three-dimensional coordinate axis, and a ray is irradiated in the Z-axis direction to the three-dimensional voxel space after the coordinate transformation. The projection result is calculated as a pixel value on the projection surface (screen).
また、特許文献2には、テクスチャマッピング機能とアルファブレンディング機能を用いてボリュームデータ全体をスライスデータの積み重ねで表現することにより、グラフィックスハードウェアのポリゴン表示機能を利用するテクスチャベースのレンダリングが開示されている。 Patent Document 2 discloses texture-based rendering that uses the polygon display function of graphics hardware by expressing the entire volume data as a stack of slice data using the texture mapping function and the alpha blending function. ing.
また、特許文献3には、ボリュームデータのボクセル値とRGB色及び不透明度(オパシティ)との関係をユーザが定義した変換テーブル(カラーマップとも称する)をボリュームレンダリングに適用することにより、特定の臓器または病変部位を任意の色で着色すること、あるいは手前の臓器を透明にして隠れている臓器や病変部位を抽出して描画することができる技術が開示されている。 In Patent Document 3, a conversion table (also referred to as a color map) in which a relationship between a voxel value of volume data, RGB color, and opacity (opacity) is defined by a user is applied to volume rendering. Alternatively, a technique is disclosed in which a lesion site is colored with an arbitrary color, or an organ or a lesion site that is hidden with a transparent organ in front is extracted and drawn.
断層画像には、元々自然に存在する知覚可能な規則性をもたないパターンが存在する。複数の断層画像を特許文献1及び特許文献2に開示された座標変換(xyz軸回りの回転)することにより、断層画像に存在する前述のようなパターンがずれて合成されることにより、これらのパターンが線状に連結し、結果として、ボリュームレンダリング像に曲線状の縞模様が形成され、モアレとなる。そこで、ボリュームデータの各座標値に対応するボクセル値を平均化することによりボリュームデータのボクセル値が連続的に変化するようなスムージング処理が考えられるが、カラーマップを適用すると、スムージング処理により算出される新たなボクセル値に基づいて変換されるRGB色及び不透明度により、RGB色及び不透明度の変化が不連続になり、意図しない曲線状の縞模様や斑点状の色ずれなどのモアレが生じる。 In a tomographic image, there is a pattern that does not have perceptible regularity that exists naturally. By performing coordinate transformation (rotation around the xyz axis) disclosed in Patent Document 1 and Patent Document 2 for a plurality of tomographic images, the above-described patterns existing in the tomographic image are shifted and synthesized. The patterns are connected in a line, and as a result, a curved stripe pattern is formed in the volume rendering image, resulting in moire. Therefore, smoothing processing can be considered in which the voxel values of the volume data change continuously by averaging the voxel values corresponding to each coordinate value of the volume data. However, if a color map is applied, it is calculated by the smoothing processing. With the RGB color and opacity converted based on the new voxel value, the change in RGB color and opacity becomes discontinuous, and moire such as an unintended curved striped pattern or a spot-like color shift occurs.
本開示は、斯かる事情に鑑みてなされたものであり、モアレを抑制することができるコンピュータプログラム、画像処理装置及び画像処理方法を明らかにする。 The present disclosure has been made in view of such circumstances, reveal a computer program it is possible to suppress moire, image processing apparatus and how the.
本願は上記課題を解決する手段を複数含んでいるが、その一例を挙げるならば、コンピュータプログラムは、コンピュータに、z軸方向に沿って所定間隔で撮像された複数のxy平面画像の画像データを取得する処理と、所定範囲の数値とRGB値及び不透明度との関係を対応付けたカラーマップに基づいて、前記複数のxy平面画像それぞれの各画素の値に対応するRGB値及び不透明度を有するボクセルで構成される暫定ボクセル構造体を生成する処理と、前記暫定ボクセル構造体のボクセルに対して、該ボクセルの近傍に位置する近傍ボクセルの不透明度に基づいて、前記ボクセルの不透明度を補正してボクセル構造体を生成する処理と、前記ボクセル構造体に対してボリュームレンダリング処理を行ってレンダリング画像を生成する処理とを実行させる。 The present application includes a plurality of means for solving the above-mentioned problem. To give an example, the computer program stores image data of a plurality of xy plane images captured at predetermined intervals along the z-axis direction. Based on a color map that associates the relationship between the value to be acquired, the numerical value in the predetermined range, the RGB value, and the opacity, the RGB value and the opacity corresponding to the value of each pixel of each of the plurality of xy planar images. Processing to generate a provisional voxel structure composed of voxels, and for the voxels of the provisional voxel structure, the opacity of the voxels is corrected based on the opacity of neighboring voxels located in the vicinity of the voxel. Processing to generate a voxel structure, and volume rendering processing is performed on the voxel structure to generate a rendering image. To execute and management.
本開示によれば、モアレを抑制することができる。 According to the present disclosure, moire can be suppressed.
(第1実施形態)
以下、本開示の実施の形態を図面に基づいて説明する。図1は本実施の形態の画像処理装置としての3Dテクスチャマッピング装置100の構成の一例を示すブロック図である。本実施の形態の3Dテクスチャマッピング装置100は、入力部10、記憶部11、出力部12、画像処理部20などを備える。画像処理部20は、階調圧縮処理部21、暫定ボクセル構造体生成部22、ボクセル構造体生成部23、変換処理部24、レンダリング処理部25、3Dテクスチャ画像生成部26、積層四角形設定部27、色補間部28、ROI(Region of Interest)クリッピング処理部29などを備える。
(First embodiment)
Hereinafter, embodiments of the present disclosure will be described with reference to the drawings. FIG. 1 is a block diagram illustrating an example of a configuration of a 3D texture mapping apparatus 100 as an image processing apparatus according to the present embodiment. The 3D texture mapping apparatus 100 according to the present embodiment includes an input unit 10, a storage unit 11, an output unit 12, an image processing unit 20, and the like. The image processing unit 20 includes a gradation compression processing unit 21, a provisional voxel structure generation unit 22, a voxel structure generation unit 23, a conversion processing unit 24, a rendering processing unit 25, a 3D texture image generation unit 26, and a layered rectangle setting unit 27. A color interpolation unit 28, a ROI (Region of Interest) clipping processing unit 29, and the like.
入力部10は、取得部としての機能を有し、z軸方向に沿って所定間隔で撮像された複数のxy平面画像の画像データを取得する。より具体的には、入力部10は、観察対象物(例えば、臓器、脳、骨、血管などを内部に含む人体・動物の様々な部位)に対して所定の間隔で断層撮影された複数の2次元の断層画像のDICOM(Digital Imaging and COmmunications in Medicine)形式の画像データを取得する。 The input unit 10 has a function as an acquisition unit, and acquires image data of a plurality of xy plane images captured at predetermined intervals along the z-axis direction. More specifically, the input unit 10 includes a plurality of tomographic images taken at predetermined intervals with respect to an observation target (for example, various parts of a human body or animal including an organ, brain, bone, blood vessel, or the like). Obtain image data in DICOM (Digital Imaging and Communication in Medicine) format of a two-dimensional tomographic image.
図2はDICOM形式の断層画像の一例を示す模式図である。図2に示すようにxyz軸を設定した場合、xy平面画像である2次元の断層画像が、z軸方向に沿って複数並んでいる。Sxはx軸方向の画素数であり、Syはy軸方向の画素数であり、Szは断層画像の枚数である。なお、3次元ボクセル空間では、SxとSyは各々x軸方向とy軸方向のボクセル数を表し、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以下の値をとる。 FIG. 2 is a schematic diagram showing an example of a tomographic image in DICOM format. When the xyz axis is set as shown in FIG. 2, a plurality of two-dimensional tomographic images that are xy plane images are arranged along the z-axis direction. Sx is the number of pixels in the x-axis direction, Sy is the number of pixels in the y-axis direction, and Sz is the number of tomographic images. In the three-dimensional voxel space, Sx and Sy represent the number of voxels in the x-axis direction and the y-axis direction, respectively, and Sz corresponds to the number of voxels in the z-axis direction. Rxy is the resolution in the x and y directions, and indicates the reciprocal of the pixel interval, that is, the number of pixels per unit distance. The resolutions in the x-axis direction and the y-axis direction are the same, but they may be different. Rz is the resolution in the z-axis direction and represents the reciprocal of the interval between adjacent tomographic images, that is, the number of images per unit distance. The pixel value at the coordinates (x, y, z) of each tomographic image is represented by Do (x, y, z). Do (x, y, z) can take a value of −32768 or more and 32767 or less. For example, in the case of a CT image, the pixel value Do (x, y, z) indicates that water is 0, a tissue having a higher density than water (for example, a bone) has a positive value, and a tissue having a lower density than water. (For example, adipose tissue) has a negative value. In the coordinates (x, y, z) of the voxel image, the x coordinate takes a value of 0 or more and Sx−1 or less, the y coordinate takes a value of 0 or more and Sy−1 or less, the z coordinate takes a value of 0 or more, Sz It takes a value less than -1.
また、入力部10は、画素値に対応付けてRGB値及び不透明度が定義されたカラーマップデータを取得する。 Further, the input unit 10 acquires color map data in which RGB values and opacity are defined in association with pixel values.
図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に設定するようにしてもよい。 FIG. 3 is an explanatory diagram showing a first example of color map data according to the present embodiment. The color map data of the first example is indicated by Cmap (v, c). The variable v indicates a pixel value of Do (x, y, z), and represents a numerical value within a range of −32768 or more and 32767 or less similarly to the range of Do (x, y, z). The variable c includes values of 0, 1, 2, and 3. c = 0 indicates an RGB R value, c = 1 indicates a G value, and c = 2 indicates a B value. c = 3 indicates the opacity α. Cmap (v, c) can take a numerical value of 0 or more and 255 or less. As shown in FIG. 3, the color map data defines the relationship between the pixel value Do (x, y, z) of the slice image, the RGB value, and the opacity α. For example, when the pixel value Do (x, y, z) is 32767, the R value is R (32767), the G value is G (32767), the B value is B (32767), and the opacity is α (32767). ) Here, R (32767), G (32767), B (32767), and α (32767) indicate that they correspond to the pixel value 32767 for convenience, and are actually appropriate numerical values. The color map data does not need to be defined for all pixel values from −32768 to 32767. In the case of a CT image, the color map data is normally adjusted to take a range of −2048 to 2048. The RGB value and opacity in the range from -2048 and in the range from 2048 to 32767 may all be set to zero.
図4は本実施の形態のカラーマップデータの第2例を示す説明図である。第2例のカラーマップデータをCmap8(v,c)で示す。後述するように、DICOM画像を、例えば、16ビットから8ビットへ階調圧縮した場合、画素値を、−32768以上、32767以下の範囲から、0以上、255以下の範囲とすることができる。Cmap8(v,c)の変数vは、0以上、255以下の範囲内の数値となる。変数cは第1例と同様である。 FIG. 4 is an explanatory diagram showing a second example of color map data according to the present embodiment. The color map data of the second example is indicated by Cmap8 (v, c). As will be described later, when a DICOM image is gradation-compressed from, for example, 16 bits to 8 bits, the pixel value can be set in a range from −32768 to 32767, and from 0 to 255. The variable v of Cmap8 (v, c) is a numerical value within the range of 0 or more and 255 or less. The variable c is the same as in the first example.
カラーマップデータCmap(v,c)、Cmap8(v,c)を用いることにより、例えば、人体の部位毎に異なる色を付すだけでなく、部位ごとに不透明度を設定することができ、手前に位置する臓器を透明にして奥に隠れている臓器を描出するなど、観察対象を認識しやすくすることができる。 By using the color map data Cmap (v, c), Cmap 8 (v, c), for example, not only can different colors be given to different parts of the human body, but also opacity can be set for each part. It is possible to make the observation target easier to recognize, for example, by rendering the organ that is located transparent and depicting the organ hidden behind.
また、入力部10は、x軸中心の回転角、y軸中心の回転角、z軸中心の回転角、xyz軸方向のオフセット値、xyz軸方向の拡大又は縮小倍率、z軸方向の変倍率、及び注視点から視点までの距離を含む座標変換のパラメータ、xyz方向のROI(Region of Interest:関心領域)の値、並びに透視変換パラメータなどを取得する。座標変換のパラメータ、ROI値、透視変換パラメータの詳細は後述する。 Further, the input unit 10 includes a rotation angle about the x-axis, a rotation angle about the y-axis, a rotation angle about the z-axis, an offset value in the xyz-axis direction, an enlargement or reduction magnification in the xyz-axis direction, and a scaling factor in the z-axis direction. , And a coordinate conversion parameter including the distance from the gazing point to the viewpoint, a value of ROI (Region of Interest) in the xyz direction, a perspective conversion parameter, and the like. Details of the coordinate transformation parameters, ROI values, and perspective transformation parameters will be described later.
記憶部11は、入力部10で取得したデータ、画像処理部20での処理結果などを記憶することができる。なお、カラーマップデータ、座標変換パラメータ、ROI値、透視変換パラメータなどを予め記憶部11に記憶する構成でもよい。 The storage unit 11 can store data acquired by the input unit 10, processing results by the image processing unit 20, and the like. The storage unit 11 may be configured to store color map data, coordinate conversion parameters, ROI values, perspective conversion parameters, and the like in advance.
出力部12は、画像処理部20での処理結果、例えば、レンダリング処理部25で生成したレンダリング画像の画像データを表示装置(不図示)に出力する。 The output unit 12 outputs a processing result in the image processing unit 20, for example, image data of a rendering image generated by the rendering processing unit 25 to a display device (not shown).
階調圧縮処理部21は、DICOM形式の断層画像を、例えば、8ビットの階調圧縮断層画像にする。 The gradation compression processing unit 21 converts the DICOM format tomographic image into, for example, an 8-bit gradation compressed tomographic image.
図5は本実施の形態の3Dテクスチャマッピング装置100による階調圧縮処理の一例を示す説明図である。階調圧縮処理部21は、複数の断層画像のうちの所定の断層画像の画素の最小値及び最大値を特定する。例えば、1からSzまでの断層画像のうち、Sz/2番目の中間の断層画像における全ての画素の最小値Dmin及び最大値Dmaxを特定することができる。なお、所定のスライス画像としては、本来は全てのスライス画像における全ての画素の最小値及び最大値を特定する方法が正確である。しかし、その場合は、一旦全ての大容量の16ビットのDICOM形式の断層画像をメモリに保持する必要が生じ、階調圧縮効果が半減する。また、この最小値Dmin及び最大値Dmaxは階調圧縮のパラメータに使用するだけで、8ビットの階調圧縮断層画像の精度には直接影響しない。そこで、単一のスライス画像の画素の最小値及び最大値を用いて、おおまかに特定する方法をとる。ただし、先頭のスライス画像では被写体が適切に映っていない場合が多いため、中間のスライス画像だけで最小値Dmin及び最大値Dmaxを特定する方法をとる。これにより、大容量の16ビットのDICOM形式の断層画像をメモリに保持することなく8ビットの階調圧縮断層画像だけをメモリに直接構築することができる。 FIG. 5 is an explanatory diagram showing an example of gradation compression processing by the 3D texture mapping apparatus 100 according to the present embodiment. The gradation compression processing unit 21 specifies the minimum value and the maximum value of pixels of a predetermined tomographic image among a plurality of tomographic images. For example, among the tomographic images from 1 to Sz, the minimum value Dmin and the maximum value Dmax of all the pixels in the Sz / 2-th intermediate tomographic image can be specified. As the predetermined slice image, a method for specifying the minimum value and the maximum value of all the pixels in all the slice images is accurate. However, in that case, it is necessary to once hold all large-capacity 16-bit DICOM format tomographic images in the memory, and the gradation compression effect is halved. The minimum value Dmin and the maximum value Dmax are only used as gradation compression parameters, and do not directly affect the accuracy of the 8-bit gradation compressed tomographic image. Therefore, a method of roughly specifying using the minimum value and the maximum value of the pixels of a single slice image is adopted. However, since there are many cases where the subject is not properly reflected in the first slice image, a method of specifying the minimum value Dmin and the maximum value Dmax using only the intermediate slice image is used. Thus, only an 8-bit gradation compressed tomographic image can be directly constructed in the memory without holding a large-capacity 16-bit DICOM format tomographic image in the memory.
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である。 The 8-bit gradation compressed tomographic image D8 (x, y, z) is expressed by the following equation: D8 (x, y, z) = (Do (x, y, z) −Lmin) · 255 / (Lmax−Lmin). Can be generated. However, when D8 (x, y, z)> 255, D8 (x, y, z) = 255, and when D8 (x, y, z) <0, D8 (x, y, z). = 0. Here, Lmin = (Dmax−Dmin) · γ + Dmin, and Lmax = (Dmax−Dmin) · (1−γ) + Dmin. γ is the contrast adjustment width of the gradation-compressed image. The closer to 0, the greater the contrast but the lower the luminance. Normally, γ = 0.1 is set. Since the luminance contrast of the rendered image can be adjusted by various settings such as color map data, γ may be a fixed value. Also, 0 ≦ D8 (x, y, z) ≦ 255, 0 ≦ x ≦ Sx−1, 0 ≦ y ≦ Sy−1, and 0 ≦ z ≦ Sz−1. The resolution in the xy direction is Rxy, and the resolution in the z direction is Rz.
なお、8ビットの階調圧縮断層画像D8(x,y,z)に対しては、図4に示すカラーマップCmap8(v,c)を適用することができる。 Note that the color map Cmap8 (v, c) shown in FIG. 4 can be applied to the 8-bit gradation compressed tomographic image D8 (x, y, z).
上述のように、階調圧縮処理部21は、複数のxy平面画像のうちの所定のxy平面画像の画素の最小値Dmin及び最大値Dmaxを特定し、特定した最大値よりも小さい上限値Lmax及び特定した最小値よりも大きい下限値Lminを算出する。階調圧縮処理部21は、複数のxy平面画像の各画素の画素値の上限値Lmax及び下限値Lminの範囲内を圧縮する。すなわち、階調圧縮処理部21は、上限値Lmax及び下限値Lminの範囲を、例えば、256段階に圧縮し、上限値Lmax以上は255にし、下限値Lmin以下は0にする。 As described above, the gradation compression processing unit 21 specifies the minimum value Dmin and the maximum value Dmax of the pixels of the predetermined xy plane image among the plurality of xy plane images, and the upper limit value Lmax that is smaller than the specified maximum value. And the lower limit Lmin larger than the specified minimum value is calculated. The gradation compression processing unit 21 compresses the range of the upper limit value Lmax and the lower limit value Lmin of the pixel value of each pixel of the plurality of xy plane images. That is, the gradation compression processing unit 21 compresses the range of the upper limit value Lmax and the lower limit value Lmin in, for example, 256 levels, sets the upper limit value Lmax to 255, and sets the lower limit value Lmin to 0.
画像処理部20は、複数の離散的な数値とRGB値及び不透明度との関係を定義した定義情報に基づいて、所定範囲の連続的な数値(ボクセル値)とRGB値及び不透明度との関係を対応付けたカラーマップを生成する。定義情報は、例えば、ユーザが定義することができる。 Based on the definition information that defines the relationship between a plurality of discrete numerical values, RGB values, and opacity, the image processing unit 20 is a relationship between continuous numerical values (voxel values) in a predetermined range, RGB values, and opacity. Generate a color map that associates. The definition information can be defined by the user, for example.
暫定ボクセル構造体生成部22は、xy平面画像の画素の値に対してRGB値及び不透明度が定められ、複数のxy平面画像それぞれの各画素に対応するRGB値及び不透明度を有するボクセルで構成される暫定ボクセル構造体を生成する。すなわち、暫定ボクセル構造体生成部22は、生成したカラーマップに基づいて、複数のxy平面画像それぞれの各画素の値に対応するRGB値及び不透明度を有するボクセルで構成される暫定ボクセル構造体を生成する。xy平面画像は、DICOM画像Do(x,y,z)でもよく、階調圧縮処理部21により階調圧縮された階調圧縮断層画像D8(x,y,z)でもよい。本明細書では、暫定ボクセル構造体をVo(x,y,z,c)で表す。ここで、0≦Vo(x,y,z,c)≦255,c=0(R),1(G),2(B),3(α)である。 The provisional voxel structure generation unit 22 is configured with voxels in which RGB values and opacity are determined with respect to the pixel values of the xy plane image, and the RGB values and opacity correspond to each pixel of the plurality of xy plane images. A provisional voxel structure is generated. That is, the provisional voxel structure generation unit 22 generates a provisional voxel structure composed of voxels having RGB values and opacity corresponding to the values of the respective pixels of the plurality of xy plane images based on the generated color map. Generate. The xy plane image may be a DICOM image Do (x, y, z) or a gradation compressed tomographic image D8 (x, y, z) compressed by the gradation compression processing unit 21. In this specification, the provisional voxel structure is represented by Vo (x, y, z, c). Here, 0 ≦ Vo (x, y, z, c) ≦ 255, c = 0 (R), 1 (G), 2 (B), 3 (α).
暫定ボクセル構造体は、RGB値及び不透明度の要素で構成されるベクトル値が3次元的に詰まったボリュームデータを格子状に離散化して配置したボクセルの集合である。一つのボクセルには、例えば、DICOM画像Do(x,y,z)の一つの画素が対応する。暫定ボクセル構造体Vo(x,y,z,c)は、Vo(x,y,z,c)=Cmap(Do(x,y,z),c)で表すことができる。ここで、0≦x≦Sx−1、0≦y≦Sy−1、0≦z≦Sz−1、0≦c≦3である。上述の式が意味するところは、DICOM画像Do(x,y,z)の画素値にカラーマップCmap(v,c)を適用して暫定ボクセル構造体Vo(x,y,z,c)を生成するということである。 The provisional voxel structure is a set of voxels in which volume data in which vector values composed of RGB values and opacity elements are three-dimensionally packed are discretized and arranged in a grid pattern. For example, one pixel of the DICOM image Do (x, y, z) corresponds to one voxel. The provisional voxel structure Vo (x, y, z, c) can be expressed as Vo (x, y, z, c) = Cmap (Do (x, y, z), c). Here, 0 ≦ x ≦ Sx−1, 0 ≦ y ≦ Sy−1, 0 ≦ z ≦ Sz−1, and 0 ≦ c ≦ 3. The above equation means that the provisional voxel structure Vo (x, y, z, c) is applied by applying the color map Cmap (v, c) to the pixel values of the DICOM image Do (x, y, z). It is to generate.
また、暫定ボクセル構造体Vo(x,y,z,c)は、階調圧縮処理部21により階調圧縮された階調圧縮断層画像D8(x,y,z)からも生成でき、Vo(x,y,z,c)=Cmap8(D8(x,y,z),c)で表すことができる。この式が意味するところは、階調圧縮断層画像D8(x,y,z)の画素値にカラーマップCmap8(v,c)を適用して暫定ボクセル構造体Vo(x,y,z,c)を生成するということである。 The provisional voxel structure Vo (x, y, z, c) can also be generated from the gradation compressed tomographic image D8 (x, y, z) subjected to gradation compression by the gradation compression processing unit 21, and Vo ( x, y, z, c) = Cmap8 (D8 (x, y, z), c). This expression means that the provisional voxel structure Vo (x, y, z, c) is applied by applying the color map Cmap8 (v, c) to the pixel values of the gradation compressed tomographic image D8 (x, y, z). ) Is generated.
ボクセル構造体生成部23は、暫定ボクセル構造体Vo(x,y,z,c)の各ボクセルに対して、該ボクセルの近傍に位置する近傍ボクセルの不透明度に基づいて、当該ボクセルの不透明度を補正してボクセル構造体を生成する。本明細書では、ボクセル構造体をV(x,y,z,c)で表す。ここで、0≦V(x,y,z,c)≦255,c=0(R),1(G),2(B),3(α)である。本明細書では、暫定ボクセル構造体からボクセル構造体を生成する処理をボクセルのスムージング処理とも称する。なお、ボクセルのスムージング処理には、不透明度のスムージング処理、RGB値及び不透明度のスムージング処理、並びにRGB値のスムージング処理が含まれる。 For each voxel of the provisional voxel structure Vo (x, y, z, c), the voxel structure generation unit 23 determines the opacity of the voxel based on the opacity of the neighboring voxel located in the vicinity of the voxel. To generate a voxel structure. In this specification, the voxel structure is represented by V (x, y, z, c). Here, 0 ≦ V (x, y, z, c) ≦ 255, c = 0 (R), 1 (G), 2 (B), 3 (α). In the present specification, a process for generating a voxel structure from a provisional voxel structure is also referred to as a voxel smoothing process. The voxel smoothing process includes an opacity smoothing process, an RGB value and opacity smoothing process, and an RGB value smoothing process.
次に、ボクセルのスムージング処理について具体的に説明する。スムージング処理は、本明細書で述べるカラーマップを通して作成された暫定ボクセル構造体のRGB値及び不透明度の個々の値に対して行う方法よりも、カラーマップを通す前のDICOM画像や階調圧縮断層画像のボクセル値に対して行う方法の方が効率的である。しかし、後者の方法をとると以下に述べる問題が生じる。 Next, the voxel smoothing process will be specifically described. The smoothing processing is not performed on the RGB values and the individual opacity values of the provisional voxel structure created through the color map described in this specification. The method performed on the voxel values of the image is more efficient. However, taking the latter method causes the following problems.
図6は図3で示したカラーマップの一例を切り出したものである。図6に示すように、カラーマップは、ボクセル値とRGB値及び不透明度との関係が対応付けられている。便宜上、図6では、ボクセル値を、296〜304とし、それぞれのボクセル値に対応してRGB値及びα(不透明度)が決められている。 FIG. 6 shows an example of the color map shown in FIG. As shown in FIG. 6, the color map associates the relationship between voxel values, RGB values, and opacity. For convenience, in FIG. 6, the voxel values are 296 to 304, and the RGB value and α (opacity) are determined corresponding to each voxel value.
図7は比較例として、前述したカラーマップを通す前のDICOM画像のボクセル値に対してスムージング処理を行った一例を示す模式図である。図7に示すように、例えば、x軸方向に並んだ3つのボクセルのボクセル値が、296、298、304であるとする。なお、便宜上、スムージング処理をx軸方向に隣接する3ボクセルの平均として説明するが、実際にはy軸方向およびz軸方向を加味した27ボクセルの平均をとることが望ましい。ボクセル値のスムージングでは、3つのボクセルの中央のボクセルのボクセル値を両隣のボクセルのボクセル値(296、304)で平滑化する。これにより、中央のボクセルのボクセル値は、298から300に変更される。平滑化後のボクセル値(300)に対して図6に例示するカラーマップを適用すると、中央のボクセルのRGBαは、それぞれ0,0,0,80となる。両隣のボクセルのRGBαと比較すると、隣り合うボクセル間でR値、G値およびα値に同一の値が2つ重複して並んだ後に比較的大きな値の変化が生じ、結果として不連続な縞が発生し、モアレとなって現れる。 FIG. 7 is a schematic diagram showing an example in which smoothing processing is performed on the voxel values of the DICOM image before passing through the above-described color map as a comparative example. As shown in FIG. 7, for example, it is assumed that the voxel values of three voxels arranged in the x-axis direction are 296, 298, and 304. For convenience, the smoothing process will be described as an average of three voxels adjacent in the x-axis direction. However, in practice, it is desirable to take an average of 27 voxels including the y-axis direction and the z-axis direction. In the smoothing of the voxel value, the voxel value of the center voxel of the three voxels is smoothed by the voxel values (296, 304) of the voxels on both sides. Thereby, the voxel value of the center voxel is changed from 298 to 300. When the color map illustrated in FIG. 6 is applied to the smoothed voxel value (300), RGBα of the central voxel becomes 0, 0, 0, and 80, respectively. Compared to RGBα of both adjacent voxels, a relatively large value change occurs after two identical values of R value, G value, and α value overlap between adjacent voxels, resulting in discontinuous stripes Appears and appears as moire.
図8は本実施の形態のカラーマップを通して作成された暫定ボクセル構造体の不透明度に対してスムージング処理を行った一例を示す模式図である。図7と同様に、x軸方向に並んだ3つのボクセルのボクセル値が、296、298、304であるとする。図6に例示するカラーマップを適用すると、3つのボクセルのRGBαは、それぞれ(40,0,0,80)、(20,0,0,80)、(0,40,0,150)となる。不透明度のスムージング処理では、3つのボクセルの中央のボクセルの不透明度を両隣のボクセルの不透明度(80、150)で平滑化する。これにより、中央のボクセルの不透明度は、80から115に変更される。不透明度のスムージング処理の前後の不透明度に注目すると、不透明度のスムージング処理により、隣り合うボクセル間の不透明度が滑らかに変化していることが分かる。 FIG. 8 is a schematic diagram showing an example in which the smoothing process is performed on the opacity of the temporary voxel structure created through the color map of the present embodiment. As in FIG. 7, it is assumed that the voxel values of three voxels arranged in the x-axis direction are 296, 298, and 304. When the color map illustrated in FIG. 6 is applied, RGBα of the three voxels are (40, 0, 0, 80), (20, 0, 0, 80), and (0, 40, 0, 150), respectively. . In the opacity smoothing process, the opacity of the center voxel of the three voxels is smoothed by the opacity (80, 150) of the adjacent voxels. This changes the opacity of the central voxel from 80 to 115. Focusing on the opacity before and after the opacity smoothing process, it can be seen that the opacity between adjacent voxels is smoothly changed by the opacity smoothing process.
図9は本実施の形態のカラーマップを通して作成された暫定ボクセル構造体のRGB値及び不透明度に対してスムージング処理を行った一例を示す模式図である。図8と同様に、x軸方向に並んだ3つのボクセルのボクセル値が、296、298、304であるとする。図6に例示するカラーマップを適用すると、3つのボクセルのRGBαは、それぞれ(40,0,0,80)、(20,0,0,80)、(0,40,0,150)となる。RGB値及び不透明度のスムージング処理では、3つのボクセルの中央のボクセルのRGB値及び不透明度を両隣のボクセルのRGB値及び不透明度で平滑化する。これにより、中央のボクセルのG値は0から20に変更され、不透明度は80から115に変更される。RGB値及び不透明度のスムージング処理により、隣り合うボクセル間のRGB値(図9の例ではG値)及び不透明度が滑らかに変化していることが分かる。なお、図示していないが、RGB値のみに対してスムージング処理を行った場合も同様である。また、図7〜図9の例では、便宜上、中央のボクセルに対してx軸方向の2近傍にある近傍ボクセルを用いて説明したが、本実施の形態のボクセルのスムージング処理は2近傍に限定されるものではない。実際には、xyz軸に対して26近傍の近傍ボクセルのRGBαを用いてスムージング処理を行うことが望ましい。 FIG. 9 is a schematic diagram illustrating an example in which smoothing processing is performed on the RGB values and opacity of the provisional voxel structure created through the color map of the present embodiment. As in FIG. 8, it is assumed that the voxel values of three voxels arranged in the x-axis direction are 296, 298, and 304. When the color map illustrated in FIG. 6 is applied, RGBα of the three voxels are (40, 0, 0, 80), (20, 0, 0, 80), and (0, 40, 0, 150), respectively. . In the smoothing process of RGB value and opacity, the RGB value and opacity of the center voxel of the three voxels are smoothed with the RGB value and opacity of the adjacent voxels. As a result, the G value of the central voxel is changed from 0 to 20, and the opacity is changed from 80 to 115. It can be seen that the RGB value (G value in the example of FIG. 9) and opacity between adjacent voxels smoothly change due to the smoothing processing of the RGB value and the opacity. Although not shown, the same applies when the smoothing process is performed only on the RGB values. Further, in the examples of FIGS. 7 to 9, for convenience, the description has been given using the neighboring voxels in the vicinity of 2 in the x-axis direction with respect to the central voxel, but the voxel smoothing processing of the present embodiment is limited to 2 neighborhoods. Is not to be done. Actually, it is desirable to perform the smoothing process using RGBα of 26 neighboring voxels with respect to the xyz axis.
暫定ボクセル構造体の各ボクセルVo(x,y,z,c)に対して、当該ボクセル及び当該ボクセルの近傍に存在する26個の近傍ボクセルである、Vo(x−1,y−1,z−1,c)、Vo(x,y−1,z−1,c)、Vo(x+1,y−1,z−1,c)、Vo(x−1,y,z−1,c)、Vo(x,y,z−1,c)、Vo(x+1,y,z−1,c)、Vo(x−1,y+1,z−1,c)、Vo(x,y+1,z−1,c)、Vo(x+1,y+1,z−1,c)、Vo(x−1,y−1,z,c)、Vo(x,y−1,z,c)、Vo(x+1,y−1,z,c)、Vo(x−1,y,z,c)、Vo(x,y,z,c)、Vo(x+1,y,z,c)、Vo(x−1,y+1,z,c)、Vo(x,y+1,z,c)、Vo(x+1,y+1,z,c)、Vo(x−1,y−1,z+1,c)、Vo(x,y−1,z+1,c)、Vo(x+1,y−1,z+1,c)、Vo(x−1,y,z+1,c)、Vo(x,y,z+1,c)、Vo(x+1,y,z+1,c)、Vo(x−1,y+1,z+1,c)、Vo(x,y+1,z+1,c)、Vo(x+1,y+1,z+1,c)の平均値で0≦c≦3の値を置換する。即ち、ボクセルVo(x,y,z,c)に対して平滑化されたボクセルをV(x,y,z,c)とすると、平滑化されたボクセルV(x,y,z,c)は、式(1)で算出することができる。なお、平滑化はボクセルのスムージング処理と同義である。 For each voxel Vo (x, y, z, c) in the provisional voxel structure, Vo (x-1, y-1, z), which are the voxel and 26 neighboring voxels existing in the vicinity of the voxel. −1, c), Vo (x, y−1, z−1, c), Vo (x + 1, y−1, z−1, c), Vo (x−1, y, z−1, c) , Vo (x, y, z-1, c), Vo (x + 1, y, z-1, c), Vo (x-1, y + 1, z-1, c), Vo (x, y + 1, z-) 1, c), Vo (x + 1, y + 1, z-1, c), Vo (x-1, y-1, z, c), Vo (x, y-1, z, c), Vo (x + 1, c) y-1, z, c), Vo (x-1, y, z, c), Vo (x, y, z, c), Vo (x + 1, y, z, c), Vo (x-1, c) y + 1, z, c), Vo (x, y + 1, z, c), o (x + 1, y + 1, z, c), Vo (x-1, y-1, z + 1, c), Vo (x, y-1, z + 1, c), Vo (x + 1, y-1, z + 1, c) ), Vo (x-1, y, z + 1, c), Vo (x, y, z + 1, c), Vo (x + 1, y, z + 1, c), Vo (x-1, y + 1, z + 1, c), The value of 0 ≦ c ≦ 3 is replaced with the average value of Vo (x, y + 1, z + 1, c) and Vo (x + 1, y + 1, z + 1, c). That is, if a smoothed voxel with respect to the voxel Vo (x, y, z, c) is V (x, y, z, c), the smoothed voxel V (x, y, z, c) is obtained. Can be calculated by equation (1). Smoothing is synonymous with voxel smoothing processing.
式(1)において、RGB値(c=0、1、2)に対しては平滑化を行わず、不透明度(c=3)の値のみを平滑化(不透明度のスムージング処理)することができるが、0≦c≦3の4つの値を平滑化(RGB値及び不透明度のスムージング処理)することもできる。また、RGB値だけを平滑化(RGB値スムージング処理)することもできる。 In Expression (1), smoothing is not performed on the RGB values (c = 0, 1, 2), but only the opacity (c = 3) value is smoothed (opacity smoothing process). However, four values of 0 ≦ c ≦ 3 can be smoothed (RGB value and opacity smoothing process). Further, only RGB values can be smoothed (RGB value smoothing processing).
このようにして、暫定ボクセル構造体の各ボクセルVo(x,y,z,c)に対してxyz方向の26近傍平均値で等方性に平滑化処理を行ってボクセル構造体V(x,y,z,c)を生成することにより、図7で述べたDICOM画像のボクセル値に対してスムージング処理を行った後にカラーマップを通してボクセル構造体を生成する方法をとることにより生じる、隣接ボクセルのRGB値や不透明度の重複や段差に伴って発生するモアレを抑制することができる。なお、本明細書では、ボクセルのスムージング処理を行う前後でのボクセル構造体を区別して表すために、スムージング処理前のボクセル構造体を暫定ボクセル構造体と称している。 In this way, each voxel Vo (x, y, z, c) of the provisional voxel structure is subjected to isotropic smoothing with an average value in the vicinity of 26 in the xyz direction to obtain a voxel structure V (x, By generating y, z, c), a smoothing process is performed on the voxel values of the DICOM image described in FIG. 7, and then a method of generating a voxel structure through the color map is used. It is possible to suppress moiré that occurs due to overlapping of RGB values and opacity, and steps. In this specification, the voxel structure before the smoothing process is referred to as a temporary voxel structure in order to distinguish and represent the voxel structure before and after performing the voxel smoothing process.
上述のように、本実施の形態のボクセル構造体のボクセルデータは、z軸方向に沿って所定間隔で撮像された複数のxy平面画像の画素の値に対してRGB値及び不透明度が定められ、複数のxy平面画像それぞれの各画素に対応するRGB値及び不透明度を有するボクセルで構成されるボクセル構造体のボクセルデータを含む構造を有し、ボクセルデータは、ボクセル構造体のボクセルに対して、ボクセルの近傍に位置する近傍ボクセルの不透明度に基づいて、ボクセルの不透明度が補正されたデータを含み、ボクセル構造体に対してボリュームレンダリング処理を行ってレンダリング画像を生成する処理を実行するのに用いられる。 As described above, in the voxel data of the voxel structure according to the present embodiment, RGB values and opacity are determined with respect to pixel values of a plurality of xy plane images captured at predetermined intervals along the z-axis direction. , Having a structure including voxel data of a voxel structure composed of voxels having RGB values and opacity corresponding to each pixel of a plurality of xy plane images, and the voxel data is in relation to the voxels of the voxel structure Based on the opacity of neighboring voxels located in the vicinity of the voxel, the data including the data in which the opacity of the voxel is corrected is performed, and the volume rendering process is performed on the voxel structure to generate a rendering image. Used for.
また、本実施の形態のボクセル構造体のボクセルデータは、さらに、ボクセル構造体のボクセルに対して、ボクセルの近傍に位置する近傍ボクセルのRGB値に基づいて、ボクセルのRGB値が補正されたデータを含む。 In addition, the voxel data of the voxel structure according to the present embodiment is data obtained by correcting the voxel RGB values based on the RGB values of the neighboring voxels located in the vicinity of the voxel with respect to the voxels of the voxel structure. including.
次に、本実施の形態のボクセルのスムージング処理の高速化方法の一例について説明する。 Next, an example of a method for speeding up the voxel smoothing process according to the present embodiment will be described.
図7において、比較例として挙げたDICOM画像や階調圧縮断層画像のボクセル値に対してスムージング処理を行う場合に比べて、本実施の形態の暫定ボクセル構造体のスムージング処理では計算負荷が大きくなる。例えば、RGBαのすべてに対してスムージング処理を行うと、DICOM画像のボクセル値に対してスムージング処理を行う場合に比べ計算負荷は4倍に増大する。また、OpenGL/GPUを用いる場合でも、スムージング処理はソフトウェアで実行するため、初期レンダリング画像表示の起動まで待時間が長くなる。以下、この点について説明する。 In FIG. 7, compared with the case where the smoothing process is performed on the voxel values of the DICOM image and the gradation compressed tomographic image given as the comparative example, the calculation load increases in the smoothing process of the temporary voxel structure according to the present embodiment. . For example, if the smoothing process is performed on all of RGBα, the calculation load increases four times as compared with the case where the smoothing process is performed on the voxel values of the DICOM image. Even when OpenGL / GPU is used, since the smoothing process is executed by software, the waiting time becomes longer until the initial rendering image display is activated. Hereinafter, this point will be described.
まず、比較例としての、DICOM画像や階調圧縮断層画像のボクセル値に対するスムージング処理の場合について説明する。比較例の16/8ビットのモノクロのボクセルをDo(x,y,z)とすると、スムージング処理後のボクセルのバッファD(x,y,z)を新たに確保して、x=1,…,Sx−2、y=1,…,Sy−2、z=1,…,Sz−2に対して、以下の式のように26近傍ボクセルの平均計算を(Sx−1)×(Sy−1)×(Sz−1)回繰り返す必要がある。 First, the case of smoothing processing for voxel values of a DICOM image or a gradation compressed tomographic image as a comparative example will be described. If the 16 / 8-bit monochrome voxel of the comparative example is Do (x, y, z), a new buffer D (x, y, z) of the smoothed voxel is secured, and x = 1,. , Sx-2, y = 1,..., Sy-2, z = 1,..., Sz-2, the average calculation of 26 neighboring voxels is (Sx-1) × (Sy− 1) It is necessary to repeat x (Sz-1) times.
D(x,y,z)={Σi=-1, 1Σj=-1, 1Σk=-1, 1Do(x+i,y+j,z+k)}/27 D (x, y, z) = {Σ i = −1, 1 Σ j = −1, 1 Σ k = −1, 1 Do (x + i, y + j, z + k)} / 27
次に、本実施の形態の暫定ボクセル構造体のスムージング処理の場合について説明する。カラーマップで変換された後のRGBα形式カラーの32ビットの暫定ボクセル構造体をVo(x,y,z,c)とすると、スムージング処理後のRGBα形式の32ビットのボクセル構造体のバッファV(x,y,z,c)を新たに確保して、x=1,…,Sx−2、y=1,…,Sy−2、z=1,…,Sz−2、c=0,…,3に対して、以下の式のように26近傍ボクセルの平均計算を(Sx−1)×(Sy−1)×(Sz−1)×4回繰り返す必要がある。このように、暫定ボクセル構造体のスムージング処理では、DICOM画像のボクセル値に対する平滑化処理に比べて計算コストが4倍に増加することが分かる。 Next, the case of the smoothing process for the provisional voxel structure according to the present embodiment will be described. Assuming that the 32-bit provisional voxel structure of RGBα format color after conversion by the color map is Vo (x, y, z, c), the buffer V (32-bit voxel structure of RGBα format after smoothing processing ( x, y, z, c) are newly secured, x = 1,..., Sx-2, y = 1,..., Sy-2, z = 1,. , 3, the average calculation of 26 neighboring voxels needs to be repeated (Sx−1) × (Sy−1) × (Sz−1) × 4 times as in the following equation. Thus, it can be seen that the smoothing process of the provisional voxel structure increases the calculation cost four times as compared with the smoothing process for the voxel values of the DICOM image.
V(x,y,z,c)={Σi=-1, 1Σj=-1, 1Σk=-1, 1Vo(x+i,y+j,z+k,c)}/27 V (x, y, z, c) = {Σ i = −1, 1 Σ j = −1, 1 Σ k = −1, 1 Vo (x + i, y + j, z + k, c)} / 27
上述の式は、式(1)を形式的に書き替えたものであり、実質的に式(1)と同じである。以下、作業用のボクセルバッファを使用せず、かつ少ない計算コストでスムージング処理を行う手法について説明する。 The above formula is a formal rewrite of formula (1) and is substantially the same as formula (1). Hereinafter, a method of performing the smoothing process without using a working voxel buffer and at a low calculation cost will be described.
式(1)の26近傍の平均計算は、x軸方向の2近傍の平均計算、y軸方向の2近傍の平均計算、及びz軸方向の2近傍の平均計算に分けることができる。 The average calculation of 26 neighborhoods in Equation (1) can be divided into an average calculation of 2 neighborhoods in the x-axis direction, an average calculation of 2 neighborhoods in the y-axis direction, and an average calculation of 2 neighborhoods in the z-axis direction.
すなわち、ボクセルのスムージング処理前のボクセルVo(x,y,z,c)に対して、式(2)から式(10)に基づいてx軸方向の2近傍の平均計算を行う。 In other words, an average calculation of two neighborhoods in the x-axis direction is performed on the voxel Vo (x, y, z, c) before the voxel smoothing processing based on the equations (2) to (10).
次に、式(2)から式(10)によって更新されたボクセルVo′(x,y,z,c)に対して、式(11)から式(13)に基づいてy軸方向の2近傍の平均計算を行う。 Next, for the voxel Vo ′ (x, y, z, c) updated by Expression (2) to Expression (10), two neighborhoods in the y-axis direction based on Expression (11) to Expression (13) Calculate the average of.
最後に、式(11)から式(13)によって更新されたボクセルVo′′(x,y,z,c)に対して、式(14)に基づいてz軸方向の2近傍の平均計算を行う。これにより、式(1)の26近傍の平均計算を行うことと同一の結果を得ることができる。 Finally, for the voxel Vo ″ (x, y, z, c) updated by Expression (11) to Expression (13), the average calculation of two neighbors in the z-axis direction is performed based on Expression (14). Do. Thereby, the same result as the average calculation of 26 neighborhoods of Formula (1) can be obtained.
上述の手法を暫定ボクセル構造体の全ボクセルに適用すると以下の通りになる。すなわち、RGBα形式の32ビットのボクセルをVo(x,y,z,c)とすると、x=1,…,Sx−2、y=0,…,Sy−1、z=0,…,Sz−1、c=0,…,3に対して、x軸方向に2近傍の平均計算を(Sx−2)×Sy×Sz×4回繰り返し、更新されたボクセルをVo′(x,y,z,c)とすると、Vo′(x,y,z,c)は以下の式のようになる。 When the above-described method is applied to all voxels of the temporary voxel structure, the result is as follows. That is, if a 32-bit voxel in RGBα format is Vo (x, y, z, c), x = 1,..., Sx-2, y = 0,..., Sy-1, z = 0,. −1, c = 0,..., 3, the average calculation of 2 neighborhoods in the x-axis direction is repeated (Sx−2) × Sy × Sz × 4 times, and the updated voxel is Vo ′ (x, y, If z, c), Vo ′ (x, y, z, c) is expressed by the following equation.
Vo′(x,y,z,c)={Σi=-1, 1Vo(x+i,y,z,c)}/3 Vo ′ (x, y, z, c) = {Σ i = −1, 1 Vo (x + i, y, z, c)} / 3
更新されたボクセルVo′(x,y,z,c)を用いて、x=1,…,Sx−2、y=1,…,Sy−2、z=0,…,Sz−1、c=0,…,3に対して、y軸方向に2近傍の平均計算を(Sx−2)×(Sy−2)×Sz×4回繰り返し、更新されたボクセルをVo′′(x,y,z,c)とすると、Vo′′(x,y,z,c)は以下の式のようになる。 Using the updated voxel Vo ′ (x, y, z, c), x = 1,..., Sx-2, y = 1,..., Sy-2, z = 0,. = 0,..., 3, the average calculation of 2 neighborhoods in the y-axis direction is repeated (Sx−2) × (Sy−2) × Sz × 4 times, and the updated voxel is Vo ″ (x, y , Z, c), Vo ″ (x, y, z, c) is expressed by the following equation.
Vo′′(x,y,z,c)={Σj=-1, 1Vo′(x,y+j,z,c)}/3 Vo ″ (x, y, z, c) = {Σ j = −1, 1 Vo ′ (x, y + j, z, c)} / 3
更新されたボクセルVo′′(x,y,z,c)を用いて、x=1,…,Sx−2、y=1,…,Sy−2、z=1,…,Sz−2、c=0,…,3に対して、z軸方向に2近傍の平均計算を(Sx−2)×(Sy−2)×(Sz−2)×4回繰り返し、更新されたボクセルをV(x,y,z,c)とすると、V(x,y,z,c)は以下の式のようになる。 Using the updated voxel Vo ″ (x, y, z, c), x = 1,..., Sx-2, y = 1,..., Sy-2, z = 1,. For c = 0,..., the average calculation of 2 neighborhoods in the z-axis direction is repeated (Sx−2) × (Sy−2) × (Sz−2) × 4 times, and the updated voxel is represented by V ( If x, y, z, c), V (x, y, z, c) is represented by the following equation.
V(x,y,z,c)={Σk=-1, 1Vo′′(x,y,z+k,c)}/3 V (x, y, z, c) = {Σk = −1, 1 Vo ″ (x, y, z + k, c)} / 3
上記最終段で更新されたボクセルV(x,y,z,c)は26近傍の近傍ボクセルで平均化されたスムージング処理結果と同一になる。すなわち、スムージング対象のボクセルと当該ボクセルの26近傍の近傍ボクセルとを合計した27個のボクセルに対する27回のメモリアクセスを伴うボクセル加算演算を(Sx−2)×(Sy−2)×(Sz−2)×4回行う演算を、スムージング対象のボクセルと当該ボクセルの2近傍の近傍ボクセルとを合計した3個のボクセルに対する3回のメモリアクセスを伴うボクセル加算演算で実現することができ、メモリアクセス回数を少なくすることができる。これにより、ボクセルのスムージング処理を高速化することができる。 The voxel V (x, y, z, c) updated in the final stage becomes the same as the smoothing processing result averaged by the neighboring voxels in the vicinity of 26. That is, a voxel addition operation involving 27 memory accesses is performed on 27 voxels obtained by summing the voxels to be smoothed and the neighboring voxels in the vicinity of 26 of the voxel (Sx−2) × (Sy−2) × (Sz−). 2) The operation to be performed four times can be realized by a voxel addition operation involving three memory accesses to three voxels obtained by summing up the voxel to be smoothed and neighboring voxels in the vicinity of the voxel, and memory access The number of times can be reduced. Thereby, the smoothing process of the voxel can be speeded up.
上述のように、ボクセル構造体生成部23は、暫定ボクセル構造体の各ボクセルに対して、当該ボクセルのxyz方向の近傍に位置する26近傍ボクセルの不透明度又はRGB値に基づいて、当該ボクセルの不透明度又はRGB値を補正してボクセル構造体を生成することができる。 As described above, the voxel structure generation unit 23 calculates, for each voxel of the provisional voxel structure, the voxel of the voxel based on the opacity or the RGB value of 26 neighboring voxels located in the vicinity of the voxel in the xyz direction. The voxel structure can be generated by correcting opacity or RGB values.
また、ボクセル構造体生成部23は、暫定ボクセル構造体の各ボクセルに対して、当該ボクセルのxyz方向の3つの軸方向のうちの第1軸方向の近傍に位置する2近傍ボクセルの不透明度又はRGB値に基づいて、当該ボクセルの不透明度又はRGB値を補正して暫定ボクセル構造体を更新する。次に、ボクセル構造体生成部23は、第1軸方向の2近傍ボクセルによってボクセルの不透明度又はRGB値が補正された暫定ボクセル構造体のボクセルに対して、3つの軸方向のうちの第2軸方向の近傍に位置する2近傍ボクセルの不透明度又はRGB値に基づいて、当該ボクセルの不透明度又はRGB値を補正して暫定ボクセル構造体を更新する。次に、ボクセル構造体生成部23は、第2軸方向の2近傍ボクセルによってボクセルの不透明度又はRGB値が補正された暫定ボクセル構造体のボクセルに対して、3つの軸方向のうちの第3軸方向の近傍に位置する2近傍ボクセルの不透明度又はRGB値に基づいて、ボクセルの不透明度又はRGB値を補正してボクセル構造体を生成することができる。 In addition, the voxel structure generation unit 23 determines, for each voxel of the provisional voxel structure, the opacity of two neighboring voxels located in the vicinity of the first axial direction among the three axial directions of the voxel in the xyz direction or Based on the RGB value, the opacity or RGB value of the voxel is corrected and the provisional voxel structure is updated. Next, the voxel structure generation unit 23 applies the second of the three axial directions to the voxel of the temporary voxel structure in which the opacity or RGB value of the voxel is corrected by two neighboring voxels in the first axial direction. Based on the opacity or RGB value of two neighboring voxels located in the vicinity of the axial direction, the opacity or RGB value of the voxel is corrected and the provisional voxel structure is updated. Next, the voxel structure generation unit 23 applies the third of the three axial directions to the voxel of the temporary voxel structure in which the opacity or RGB value of the voxel is corrected by the two neighboring voxels in the second axial direction. A voxel structure can be generated by correcting the opacity or RGB value of a voxel based on the opacity or RGB value of two neighboring voxels located in the axial vicinity.
上述のように、本実施の形態のボクセルデータは、z軸方向に沿って所定間隔で撮像された複数のxy平面画像の画素の値に対してRGB値及び不透明度が定められ、複数のxy平面画像それぞれの各画素に対応するRGB値及び不透明度を有するボクセルで構成される暫定ボクセル構造体のボクセルデータを含む構造を有し、暫定ボクセル構造体のボクセルに対して、ボクセルのxyz方向の3つの軸方向のうちの第1軸方向の近傍に位置する2近傍ボクセルの不透明度又はRGB値に基づいて、ボクセルの不透明度又はRGB値を補正する処理と、第1軸方向の2近傍ボクセルによってボクセルの不透明度又はRGB値が補正された暫定ボクセル構造体のボクセルに対して、3つの軸方向のうちの第2軸方向の近傍に位置する2近傍ボクセルの不透明度又はRGB値に基づいて、ボクセルの不透明度又はRGB値を補正する処理と、第2軸方向の2近傍ボクセルによってボクセルの不透明度又はRGB値が補正された暫定ボクセル構造体のボクセルに対して、3つの軸方向のうちの第3軸方向の近傍に位置する2近傍ボクセルの不透明度又はRGB値に基づいて、ボクセルの不透明度又はRGB値を補正する処理とを実行するのに用いられる。 As described above, in the voxel data of the present embodiment, RGB values and opacity are determined with respect to pixel values of a plurality of xy plane images captured at predetermined intervals along the z-axis direction, and a plurality of xy The voxel data has a structure including voxel data of a provisional voxel structure composed of voxels having RGB values and opacity corresponding to each pixel of the planar image, and the voxel of the provisional voxel structure is in the xyz direction of the voxel. Processing for correcting the opacity or RGB value of a voxel based on the opacity or RGB value of two neighboring voxels located in the vicinity of the first axial direction among the three axial directions, and two neighboring voxels in the first axial direction 2 neighboring voxels located in the vicinity of the second axial direction of the three axial directions with respect to the voxels of the temporary voxel structure whose opacity or RGB value is corrected by Voxel of the provisional voxel structure in which the opacity or RGB value of the voxel is corrected by the process of correcting the opacity or RGB value of the voxel based on the opacity or RGB value of the image and the two neighboring voxels in the second axis direction On the other hand, a process for correcting the opacity or RGB value of a voxel based on the opacity or RGB value of two neighboring voxels located in the vicinity of the third axis direction of the three axial directions is performed. Used.
次に、作業用のボクセルバッファを使用しない手法について説明する。前述のとおり、DICOM画像のボクセル値のスムージング処理(図7に示す比較例)では、3次元26近傍のボクセルの平均化処理を行うために、同一の容量をもつ作業用のボクセルバッファを必要とするのに対し、本実施の形態の暫定ボクセル構造体のスムージング処理では、3回の1次元2近傍の平均化処理に分けることができるので、ボクセル構造体の全ボクセルのデータを格納するための作業用のボクセルバッファが不要となり、1次元2近傍の平均化処理に必要な2ボクセル分のバッファだけでよい。以下、具体的に説明する。 Next, a method that does not use a working voxel buffer will be described. As described above, the smoothing process of the voxel values of the DICOM image (comparative example shown in FIG. 7) requires a voxel buffer for work having the same capacity in order to perform the averaging process of the voxels in the vicinity of the three-dimensional 26. On the other hand, the smoothing process of the provisional voxel structure according to the present embodiment can be divided into three one-dimensional 2-neighbor averaging processes, so that data for all voxels in the voxel structure can be stored. A work voxel buffer is not required, and only a buffer for two voxels necessary for the one-dimensional two-neighbor averaging process is required. This will be specifically described below.
図10は本実施の形態のボクセルのスムージング処理のアルゴリズムの一例を示す模式図である。図10に示すように、2ボクセル分の不透明度又はRGB値を格納できるバッファを第1バッファV1(c)、及び第2バッファV2(c)とする。図10に示すように、本実施の形態のボクセルのスムージング処理は、x軸方向、y軸方向及びz軸方向のスムージング処理(2近傍の平均化処理)に分けることができる。図10の下部には、x軸方向のスムージング処理について詳細を図示し、x軸方向に連続する5ボクセルをVo(x−1,y,z,c)、Vo(x,y,z,c)、Vo(x+1,y,z,c)、Vo(x+2,y,z,c)、Vo(x+3,y,z,c)、…とする。実際には、これらの5ボクセルの前後にx軸方向にボクセルが続いているが、左端のVo(x−1,y,z,c)がx軸方向に先頭のボクセルであるとみなして、以下説明を行う。 FIG. 10 is a schematic diagram showing an example of a voxel smoothing algorithm according to the present embodiment. As shown in FIG. 10, a buffer capable of storing opacity or RGB values for two voxels is defined as a first buffer V1 (c) and a second buffer V2 (c). As shown in FIG. 10, the voxel smoothing processing of the present embodiment can be divided into smoothing processing in the x-axis direction, y-axis direction, and z-axis direction (averaging process in the vicinity of 2). The lower part of FIG. 10 illustrates details of the smoothing process in the x-axis direction, and 5 voxels continuous in the x-axis direction are represented by Vo (x−1, y, z, c), Vo (x, y, z, c). ), Vo (x + 1, y, z, c), Vo (x + 2, y, z, c), Vo (x + 3, y, z, c),. Actually, these voxels are followed by voxels in the x-axis direction, but the leftmost Vo (x-1, y, z, c) is regarded as the first voxel in the x-axis direction, A description will be given below.
Vo(x,y,z,c)の2近傍の平均値が計算されると、Vo(x,y,z,c)の2近傍の平均値は第1バッファV1(c)に格納される。この時、第1バッファV1(c)は空の状態でなくてはならないが、初期状態では空になっている。次に、Vo(x+1,y,z,c)の2近傍の平均値が計算されると、Vo(x+1,y,z,c)の2近傍の平均値も同様に第1バッファV1(c)に格納されるが、この段階では第1バッファV1(c)は空いていない。そのため、第1バッファV1(c)に格納されているVo(x,y,z,c)の2近傍の平均値を第2バッファV2(c)に移動させ、第1バッファV1(c)を空ける。そして、Vo(x+1,y,z,c)の2近傍の平均値が第1バッファV1(c)に格納される。 When the average value of the two neighborhoods of Vo (x, y, z, c) is calculated, the average value of the two neighborhoods of Vo (x, y, z, c) is stored in the first buffer V1 (c). . At this time, the first buffer V1 (c) must be empty, but is empty in the initial state. Next, when the average value of the two neighborhoods of Vo (x + 1, y, z, c) is calculated, the average value of the two neighborhoods of Vo (x + 1, y, z, c) is also the first buffer V1 (c However, the first buffer V1 (c) is not empty at this stage. Therefore, the average value in the vicinity of Vo (x, y, z, c) stored in the first buffer V1 (c) is moved to the second buffer V2 (c), and the first buffer V1 (c) is moved. Free. Then, an average value in the vicinity of Vo (x + 1, y, z, c) is stored in the first buffer V1 (c).
次に、Vo(x+2,y,z,c)の2近傍の平均値が計算されると、Vo(x+2,y,z,c)の2近傍の平均値も同様に第1バッファV1(c)に格納されるが、第1バッファV1(c)は空いていない。そのため、第1バッファV1(c)に格納されているVo(x+1,y,z,c)の2近傍の平均値を第2バッファV2(c)に移動させようとするが、第2バッファV2(c)も空いていない。そこで、第2バッファV2(c)に格納されているVo(x,y,z,c)の2近傍の平均値を、元の暫定ボクセル構造体のボクセルVo(x,y,z,c)に上書し(更新し)、第2バッファV2(c)を空ける。続けて、第1バッファV1(c)に格納されているVo(x+1,y,z,c)の2近傍の平均値を第2バッファV2(c)に移動させ、第1バッファV1(c)を空ける。そして、Vo(x+2,y,z,c)の2近傍の平均値が第1バッファV1(c)に格納される。以上の処理をまとめると、2近傍の平均値を算出するごとに、次の3つの操作を行えばよい。(1)第2バッファV2(c)にデータがある場合は、データを暫定ボクセル構造体の所定のアドレスに転送し上書きする。(2)第1バッファV1(c)にデータがある場合は、第1バッファV1(c)のデータを第2バッファV2(c)に転送する。(3)2近傍の平均値を第1バッファV1(c)に格納する。ただし、処理開始時には(1)(2)は実行されず(3)が最初に実行されるため、本実施形態では、操作の順序を(3)(1)(2)の順に変更して以下説明する。(ア)2近傍の平均値を第1バッファV1(c)に格納する。(イ)第2バッファV2(c)にデータがある場合は、データを暫定ボクセル構造体の所定のアドレスに転送し上書きする。(ウ)第1バッファV1(c)のデータを第2バッファV2(c)に転送する。これら3つの操作を繰り返しながら末端部まで終了すると、第2バッファV2(c)にデータが残るため、第2バッファV2(c)に残ったデータを暫定ボクセル構造体の所定のアドレスに転送し上書きし、一連の処理を終了する。 Next, when the average value of the two neighborhoods of Vo (x + 2, y, z, c) is calculated, the average value of the two neighborhoods of Vo (x + 2, y, z, c) is also the first buffer V1 (c ), But the first buffer V1 (c) is not empty. For this reason, an average value in the vicinity of Vo (x + 1, y, z, c) stored in the first buffer V1 (c) is moved to the second buffer V2 (c), but the second buffer V2 (C) is also not available. Therefore, the average value of two neighbors of Vo (x, y, z, c) stored in the second buffer V2 (c) is used as the voxel Vo (x, y, z, c) of the original provisional voxel structure. Are overwritten (updated) to free the second buffer V2 (c). Subsequently, an average value in the vicinity of Vo (x + 1, y, z, c) stored in the first buffer V1 (c) is moved to the second buffer V2 (c), and the first buffer V1 (c). Free up. Then, an average value of two neighborhoods of Vo (x + 2, y, z, c) is stored in the first buffer V1 (c). To summarize the above processing, the following three operations may be performed every time an average value of two neighborhoods is calculated. (1) If there is data in the second buffer V2 (c), the data is transferred to a predetermined address of the temporary voxel structure and overwritten. (2) When there is data in the first buffer V1 (c), the data in the first buffer V1 (c) is transferred to the second buffer V2 (c). (3) The average value in the vicinity of 2 is stored in the first buffer V1 (c). However, since (1) and (2) are not executed at the start of processing and (3) is executed first, in this embodiment, the order of operations is changed to (3), (1), and (2) in the following order. explain. (A) The average value in the vicinity of 2 is stored in the first buffer V1 (c). (A) If there is data in the second buffer V2 (c), the data is transferred to a predetermined address of the temporary voxel structure and overwritten. (C) The data in the first buffer V1 (c) is transferred to the second buffer V2 (c). When these three operations are repeated until the end is completed, data remains in the second buffer V2 (c), so the data remaining in the second buffer V2 (c) is transferred to a predetermined address of the temporary voxel structure and overwritten. Then, a series of processing ends.
すなわち、y=0,…,Sy−1,z=0,…,Sz−1の各(y,z)に対し、x軸方向にx=1,…,Sx−2に対して、(ア)V1(c)={Vo(x−1,y,z,c)+Vo(x,y,z,c)+Vo(x+1,y,z,c)}/3(c=0,…,3)、(イ)x>1の場合、Vo(x−1,y,z,c)=V2(c)、(ウ)V2(c)=V1(c)(c=0,…,3)という(ア)〜(ウ)の3つの操作を繰り返し、最後に、Vo(Sx−2,y,z,c)=V2(c)とし、ボクセルVo(x,y,z,c)の(y,z)におけるx軸方向の1列(x=1,…,Sx−2)を更新する。 That is, for each of y = 0,..., Sy-1, z = 0,..., Sz-1, (y, z), for x = 1,. ) V1 (c) = {Vo (x-1, y, z, c) + Vo (x, y, z, c) + Vo (x + 1, y, z, c)} / 3 (c = 0,..., 3 ), (B) When x> 1, Vo (x-1, y, z, c) = V2 (c), (c) V2 (c) = V1 (c) (c = 0,..., 3) The above three operations (a) to (c) are repeated. Finally, Vo (Sx−2, y, z, c) = V2 (c) is set, and voxel Vo (x, y, z, c) ( Update one column (x = 1,..., Sx−2) in the x-axis direction in y, z).
次に、更新されたボクセルVo(x,y,z,c)のx=0,…,Sx−1,z=0,…,Sz−1の各(x,z)に対し、y軸方向にy=1,…,Sy−2に対して、(ア)V1(c)={Vo(x,y−1,z,c)+Vo(x,y,z,c)+Vo(x,y+1,z,c)}/3(c=0,…,3)、(イ)y>1の場合、Vo(x,y−1,z,c)=V2(c)、(ウ)V2(c)=V1(c)(c=0,…,3)という(ア)〜(ウ)の3つの操作を繰り返し、最後に、Vo(x,Sy−2,z,c)=V2(c)とし、ボクセルVo(x,y,z,c)の(x,z)におけるy軸方向の1列(y=1,…,Sy−2)を更新する。 Next, in the updated voxel Vo (x, y, z, c), x = 0,..., Sx-1, z = 0,. , Y = 1,..., Sy-2, (a) V1 (c) = {Vo (x, y-1, z, c) + Vo (x, y, z, c) + Vo (x, y + 1) , Z, c)} / 3 (c = 0,..., 3), (b) When y> 1, Vo (x, y-1, z, c) = V2 (c), (c) V2 ( c) = V1 (c) (c = 0,..., 3) (a) to (c) are repeated, and finally, Vo (x, Sy-2, z, c) = V2 (c ) And one column (y = 1,..., Sy−2) in the y-axis direction in (x, z) of voxel Vo (x, y, z, c) is updated.
次に、更新されたボクセルVo(x,y,z,c)のx=0,…,Sx−1,y=0,…,Sy−1の各(x,y)に対し、z軸方向にz=1,…,Sz−2に対して、(ア)V1(c)={Vo(x,y,z−1,c)+Vo(x,y,z,c)+Vo(x,y,z+1,c)}/3(c=0,…,3)、(イ)z>1の場合、Vo(x,y,z−1,c)=V2(c)、(ウ)V2(c)=V1(c)(c=0,…,3)という(ア)〜(ウ)の3つの操作を繰り返し、最後に、Vo(x,y,Sz−2,c)=V2(c)とし、ボクセルVo(x,y,z,c)の(x,y)におけるz軸方向の1列(z=1,…,Sz−2)を更新する。 Next, in the updated voxel Vo (x, y, z, c), x = 0,..., Sx-1, y = 0,. Z = 1,..., Sz-2, (a) V1 (c) = {Vo (x, y, z-1, c) + Vo (x, y, z, c) + Vo (x, y) , Z + 1, c)} / 3 (c = 0,..., 3), (a) When z> 1, Vo (x, y, z-1, c) = V2 (c), (c) V2 ( c) = V1 (c) (c = 0,..., 3) (a) to (c) are repeated, and finally, Vo (x, y, Sz−2, c) = V2 (c ), And updates one column (z = 1,..., Sz−2) in the z-axis direction in (x, y) of voxel Vo (x, y, z, c).
上述のように、ボクセル構造体生成部23は、暫定ボクセル構造体の各ボクセルの2近傍ボクセルによって当該各ボクセルの不透明度又はRGB値を補正した補正値を第1バッファに記憶し、第2バッファに記憶されている暫定ボクセル構造体の当該各ボクセルの直前に処理された直前ボクセルの2近傍ボクセルによって当該直前ボクセルの不透明度又はRGB値を補正した直前補正値により暫定ボクセル構造体の当該直前ボクセルの不透明度又はRGB値を更新し、第1バッファに記憶した補正値を第2バッファに転送する、という3つの操作を繰り返すことにより、暫定ボクセル構造体の各ボクセルのRGB値又は不透明度を更新してボクセル構造体を生成することができる。 As described above, the voxel structure generation unit 23 stores, in the first buffer, the correction value obtained by correcting the opacity or the RGB value of each voxel by using two neighboring voxels of the voxel of the provisional voxel structure. The immediately preceding voxel of the provisional voxel structure is corrected by the immediately preceding correction value obtained by correcting the opacity or RGB value of the immediately preceding voxel by two neighboring voxels of the immediately preceding voxel processed immediately before each of the voxels of the provisional voxel structure stored in The RGB value or opacity of each voxel of the provisional voxel structure is updated by repeating the three operations of updating the opacity or RGB value of the image and transferring the correction value stored in the first buffer to the second buffer. Thus, a voxel structure can be generated.
上述のように、本実施の形態のボクセルデータは、暫定ボクセル構造体の各ボクセルの2近傍ボクセルによって当該各ボクセルの不透明度又はRGB値を補正した補正値を第1バッファに記憶する第1の処理と、第2バッファに記憶されている暫定ボクセル構造体の当該各ボクセルの直前に処理された直前ボクセルの2近傍ボクセルによって当該直前ボクセルの不透明度又はRGB値を補正した直前補正値により暫定ボクセル構造体の当該直前ボクセルの不透明度又はRGB値を更新する第2の処理と、第1バッファに記憶した補正値を第2バッファに転送する第3の処理とを実行するのに用いられる。 As described above, the voxel data according to the present embodiment is stored in the first buffer with a correction value obtained by correcting the opacity or RGB value of each voxel by using two neighboring voxels of each voxel of the provisional voxel structure. Temporary voxel with the previous correction value obtained by correcting the opacity or RGB value of the previous voxel by processing and two neighboring voxels of the previous voxel processed immediately before each voxel of the temporary voxel structure stored in the second buffer This is used to execute a second process for updating the opacity or RGB value of the immediately preceding voxel of the structure and a third process for transferring the correction value stored in the first buffer to the second buffer.
上述のとおり、必要とするバッファを2ボクセル分にすることができ、メモリ容量を大幅に削減することができる。また、1次元2近傍のボクセルの平均化処理に対して2ボクセル分前に算出した2近傍の平均値を元のボクセル構造体に上書きしながら進めることができ、ボクセル構造体の全ボクセル分の作業用メモリを使用せずに高速にスムージング処理を行うことができる。 As described above, the required buffer can be reduced to two voxels, and the memory capacity can be greatly reduced. In addition, the average value of two neighbors calculated two voxels before the one-dimensional two-near voxel averaging process can be advanced while overwriting the original voxel structure, and all voxels of the voxel structure can be processed. Smoothing processing can be performed at high speed without using a working memory.
以下では、ボクセルのスムージング処理が行われた後のボクセル構造体に対する処理について説明する。すなわち、以下では、ボクセル構造体は、ボクセルのスムージング処理が施されているものとする。 In the following, a process for the voxel structure after the voxel smoothing process is performed will be described. That is, in the following, it is assumed that the voxel structure has been subjected to a voxel smoothing process.
ボクセル構造体を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である。 The voxel structure is represented by V (x, y, z, c). Here, 0 ≦ V (x, y, z, c) ≦ 255, c = 0 (R), 1 (G), 2 (B), 3 (α), 0 ≦ x ≦ Sx−1, 0 ≦ It is y <= Sy-1 and 0 <= z <= Sz-1.
また、ボクセル構造体生成部23は、RGB値及び不透明度が所定値であるボクセルを含むボクセル構造体を生成することができる。所定値としては、RGB値がR=G=B=0(すなわち、無色つまり黒色)で、不透明度α=0(すなわち、透明)とするが、これらはボリュームレンダリング像の計算に寄与しないボクセルの値であることを意味し、ボリュームレンダリング像の計算に寄与しない値であれば、R=G=B=0及び不透明度α=0に限定しなくてもよい。 Further, the voxel structure generation unit 23 can generate a voxel structure including voxels whose RGB values and opacity are predetermined values. As the predetermined values, the RGB values are R = G = B = 0 (that is, colorless or black) and the opacity α = 0 (that is, transparent), but these do not contribute to the calculation of the volume rendering image. It means that the value is a value and does not contribute to the calculation of the volume rendering image, it is not necessary to limit to R = G = B = 0 and opacity α = 0.
色補間部28は、ボクセル構造体のRGB値及び不透明度が所定値である対象ボクセルに対して、対象ボクセルの近傍に位置する近傍ボクセルのRGB値に基づいて、色補間して、対象ボクセルのRGB値を補正する。なお、色補間を色補正とも称する。色補間の詳細は後述する。 The color interpolation unit 28 performs color interpolation on the target voxel having the RGB value and the opacity of the voxel structure having predetermined values based on the RGB values of neighboring voxels located in the vicinity of the target voxel, and Correct the RGB values. Note that color interpolation is also referred to as color correction. Details of the color interpolation will be described later.
3Dテクスチャ画像生成部26は、RGB値が色補間されたボクセル構造体のボクセルで構成される3Dテクスチャ画像を生成する。すなわち、3Dテクスチャ画像生成部26は、ボクセル構造体生成部23で生成されたボクセル(RGB値及び不透明度が所定値であるボクセルを含む)に基づいて、3Dテクスチャ画像を生成する。3Dテクスチャ画像のデータは、3Dテクスチャマップとも称し、データの実体はボクセル構造体と同一である。3Dテクスチャ画像生成部26は、ボクセル構造体のボリュームをグラフィックAPI(例えば、OpenGL)の3Dテクスチャマップとして登録する。より具体的には、ボクセル構造体のボリュームは、CPUのメインメモリからGPUのビデオメモリにグラフィックAPIを介して転送され、グラフィックAPIのテクスチャ形式に変換されてビデオメモリに保持される。本願では以降、説明の便宜上グラフィックAPIとしてOpenGLを対象に処理の内容を説明するが、これに限定されない。 The 3D texture image generation unit 26 generates a 3D texture image composed of voxels having a voxel structure in which RGB values are color-interpolated. That is, the 3D texture image generation unit 26 generates a 3D texture image based on the voxels generated by the voxel structure generation unit 23 (including voxels whose RGB values and opacity are predetermined values). The data of the 3D texture image is also called a 3D texture map, and the substance of the data is the same as the voxel structure. The 3D texture image generation unit 26 registers the volume of the voxel structure as a 3D texture map of a graphic API (for example, OpenGL). More specifically, the volume of the voxel structure is transferred from the CPU main memory to the GPU video memory via the graphic API, converted into the graphic API texture format, and held in the video memory. In the present application, the contents of the process will be described below for OpenGL as a graphic API for convenience of explanation, but the present invention is not limited to this.
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である。 A 3D texture map is represented by Tex (xt, yt, zt, c). Here, 0 ≦ Tex (xt, yt, zt, c) ≦ 255, c = 0 (R), 1 (G), 2 (B), 3 (α), 0 ≦ xt ≦ Sx−1, 0 ≦ It is yt <= Sy-1 and 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座標と表す。 Note that the coordinate system of the voxel structure is defined by the OpenGL world coordinate system, expressed by XYZ coordinates (-1 ≦ x ≦ 1, −1 ≦ y ≦ 1, −1 ≦ z ≦ 1), and the coordinates of the 3D texture map. The system is defined by a texture coordinate system, and OpenGL has a custom of representing a texture coordinate system by STR coordinates (0 ≦ s ≦ 1, 0 ≦ t ≦ 1, 0 ≦ r ≦ 1). The coordinate s corresponds to the coordinate x, the coordinate t corresponds to the coordinate y, and the coordinate r corresponds to the coordinate z. In the present embodiment, for convenience, XYZ in the world coordinate system is represented as XYZ coordinates, and STR coordinates in the texture coordinate system are represented as xyz coordinates.
積層四角形設定部27は、ワールド座標系において、XY座標面で定義される複数の四角形をZ軸方向に所定の間隔だけずらして並べた積層四角形を設定する。積層四角形は各々が3次元空間上の4つの頂点で定義された四角形である。 The stacked quadrangle setting unit 27 sets a stacked quadrangle in which a plurality of quadrilaterals defined on the XY coordinate plane are arranged with a predetermined interval in the Z-axis direction in the world coordinate system. A stacked quadrangle is a quadrangle defined by four vertices on a three-dimensional space.
変換処理部24は、テクスチャ座標系に定義された複数のスライス画像で構成される3Dテクスチャ画像に対してテクスチャ座標系において所定の変換を行って変換後3Dテクスチャ画像を生成する。所定の変換は、透視変換処理、座標変換処理などを含む。 The conversion processing unit 24 performs a predetermined conversion in the texture coordinate system on the 3D texture image composed of a plurality of slice images defined in the texture coordinate system, and generates a converted 3D texture image. The predetermined conversion includes a perspective conversion process, a coordinate conversion process, and the like.
図11は本実施の形態の3Dテクスチャマッピング装置100による3Dテクスチャマッピングの概念を示す模式図である。図11Aは積層四角形に対して座標変換前の3Dテクスチャマップをマッピングした状態を示し、図11Bは積層四角形に対して座標変換後の3Dテクスチャマップをマッピングした状態を示す。ワールド座標(X,Y,Z)において、XY座標面上の四角形がZ軸方向に沿って複数配置されている。視点は、図11において、投影面(レンダリング像が生成される面)より上側(すなわち、Z軸の正方向)に存在する。ワールド座標系に定義した積層四角形は固定であるため、個々の四角形は、視線に対して常に垂直である。図11中、積層四角形の内部に図示した楕円形状は、マッピングされた3Dテクスチャマップ(ボクセルデータ)を示す。3Dテクスチャマップは、テクスチャ座標系において適宜所定の変換が行われるが、ワールド座標系とテクスチャ座標系との対応関係(マッピング)は固定であるため、3Dテクスチャマップの変換後に積層四角形にマッピングされている3Dテクスチャマップの内容は自動的に変更される。 FIG. 11 is a schematic diagram showing the concept of 3D texture mapping by the 3D texture mapping apparatus 100 of the present embodiment. FIG. 11A shows a state in which a 3D texture map before coordinate conversion is mapped to the layered quadrangle, and FIG. 11B shows a state in which a 3D texture map after coordinate conversion is mapped to the layered quadrangle. In the world coordinates (X, Y, Z), a plurality of quadrangles on the XY coordinate plane are arranged along the Z-axis direction. In FIG. 11, the viewpoint exists above the projection plane (the plane on which the rendering image is generated) (that is, in the positive direction of the Z axis). Since the stacked rectangle defined in the world coordinate system is fixed, each rectangle is always perpendicular to the line of sight. In FIG. 11, the oval shape illustrated inside the stacked rectangle indicates a mapped 3D texture map (voxel data). The 3D texture map is appropriately converted in the texture coordinate system, but since the correspondence (mapping) between the world coordinate system and the texture coordinate system is fixed, the 3D texture map is mapped to the stacked rectangle after the conversion of the 3D texture map. The content of the existing 3D texture map is automatically changed.
図11Aに示すように、3Dテクスチャマッピングでは、ボクセルデータをテクスチャ座標系に3Dテクスチャマップとして定義し、3Dテクスチャマップをワールド座標系に定義された積層四角形の各四角形に貼り付ける。すなわち、四角形に3Dテクスチャマップの各断面(スライス)をマッピングすることにより、3Dテクスチャマップを視線に対して垂直な断面の集まりとして再構成する。 As shown in FIG. 11A, in 3D texture mapping, voxel data is defined as a 3D texture map in the texture coordinate system, and the 3D texture map is pasted on each quadrangle of the stacked rectangle defined in the world coordinate system. That is, by mapping each cross section (slice) of the 3D texture map to a quadrangle, the 3D texture map is reconstructed as a collection of cross sections perpendicular to the line of sight.
図11Bに示すように、視点の変更は、ワールド座標(X,Y,Z)に定義された積層四角形およびワールド座標系とテクスチャ座標系との対応関係を初期のまま動かさずに、四角形に貼り付けた3Dテクスチャマップをテクスチャ座標系で回転させる。これにより、個々の四角形の4頂点と3Dテクスチャマップの座標位置(図7では、xyz座標で表す)が回転により変更され、視点を変更した画像を得ることができる。 As shown in FIG. 11B, the viewpoint can be changed by pasting the rectangle defined in the world coordinates (X, Y, Z) and the rectangle without changing the correspondence between the world coordinate system and the texture coordinate system. The attached 3D texture map is rotated in the texture coordinate system. As a result, the four vertexes of each quadrangle and the coordinate position of the 3D texture map (represented by xyz coordinates in FIG. 7) are changed by rotation, and an image with a changed viewpoint can be obtained.
レンダリング処理部25は、ボクセル構造体に対してボリュームレンダリング処理を行ってレンダリング画像を生成する。 The rendering processing unit 25 performs a volume rendering process on the voxel structure to generate a rendering image.
具体的には、レンダリング処理部25は、所定の視点からZ軸方向に平行な視線上の四角形のXY座標に対応する変換後3Dテクスチャ画像のボクセルのRGB値を視点から遠い四角形の順に当該ボクセルのアルファ値を基にアルファブレンディングして得られたRGB値を、視線が投影面と交差する画素の画素値としてレンダリング画像を生成する。この場合、レンダリング処理部25は、レンダリング画像のXY座標と視線方向に交差する四角形の交差座標(XYZ座標)を算出し、算出した交差座標と対応する変換後3Dテクスチャ画像のxyz座標を算出し、算出したxyz座標に対応するボクセルのRGB値及び不透明度に基づいてアルファブレンディングする。すなわち、3Dテクスチャマップが貼り付けられた四角形を、視点から遠い順にアルファブレンディングすることでボリュームレンダリングを行う。これらの手順をOpenGLなどのグラフィックAPIを用いて指示することで、GPUの機能を利用した高速処理が可能となる。GPUの機能を利用することにより、待ち時間を抑制して高速にレンダリング画像を生成することができる。本実施の形態であれば、汎用コンピュータに装着されたビデオカードに搭載されたGPUであっても、0.1秒以内でレンダリング処理が可能であり、対話形式で(あるいはインタラクティブ性を確保して)レンダリング画像をリアルタイムに表示させることができる。 Specifically, the rendering processing unit 25 converts the RGB values of voxels of the converted 3D texture image corresponding to the XY coordinates of the rectangle on the line of sight parallel to the Z-axis direction from a predetermined viewpoint in the order of the rectangles farther from the viewpoint. A rendering image is generated by using the RGB value obtained by alpha blending based on the alpha value of the pixel as the pixel value of a pixel whose line of sight intersects the projection plane. In this case, the rendering processing unit 25 calculates the intersection coordinates (XYZ coordinates) of a quadrangle that intersects the XY coordinates of the rendering image in the line-of-sight direction, and calculates the xyz coordinates of the converted 3D texture image corresponding to the calculated intersection coordinates. Then, alpha blending is performed based on the RGB value and opacity of the voxel corresponding to the calculated xyz coordinates. That is, volume rendering is performed by alpha-blending the quadrangle with the 3D texture map pasted in order from the viewpoint. By instructing these procedures using a graphic API such as OpenGL, high-speed processing using a GPU function is possible. By using the GPU function, it is possible to generate a rendering image at high speed while suppressing waiting time. In the present embodiment, even a GPU mounted on a video card mounted on a general-purpose computer can perform rendering processing within 0.1 seconds, and can be interactively (or assured of interactivity). ) The rendered image can be displayed in real time.
本実施の形態では、3Dテクスチャマッピング法を用いるが、一般的な2Dテクスチャマッピング法の場合には、以下のような課題がある。すなわち、2Dテクスチャマッピング法では、ボクセルデータを構成する各スライスの輪郭形状をワールド座標系において四角形で表現するところは本願と同様であるが、2次元のテクスチャ座標系においてボクセルデータを構成する各スライスの画像を複数の2Dテクスチャマップとして定義する点で異なる(本実施の形態では、全スライスの画像を3次元のテクスチャ座標系において単一の3Dテクスチャマップとして定義している)。そして、各四角形に対応するいずれかの2Dテクスチャマップを各四角形に貼り付ける(本実施の形態では、各四角形の4頂点に対応する3Dテクスチャマップ内の4つの座標を対応付けて貼り付けている)。2Dテクスチャマップは2次元のテクスチャ座標系において定義されているため、回転は2次元的にしか行えない。そのため、ワールド座標系において、積層した四角形を3次元的に回転させる方法をとらざるを得ない。そうすると、回転角度により奥行関係が崩れ、あるいは2Dテクスチャマップが反転し、積層した四角形をY軸中心に90度回転させると、四角形(厚みが0)は描画されず、レンダリング像は真っ黒になる。 In the present embodiment, the 3D texture mapping method is used. However, the general 2D texture mapping method has the following problems. That is, in the 2D texture mapping method, the outline shape of each slice constituting the voxel data is represented by a rectangle in the world coordinate system, as in the present application, but each slice constituting the voxel data in the two-dimensional texture coordinate system. Are defined as a plurality of 2D texture maps (in this embodiment, all slice images are defined as a single 3D texture map in a three-dimensional texture coordinate system). Then, any 2D texture map corresponding to each square is pasted on each square (in this embodiment, four coordinates in the 3D texture map corresponding to the four vertices of each square are pasted in association with each other. ). Since the 2D texture map is defined in a two-dimensional texture coordinate system, rotation can be performed only two-dimensionally. For this reason, in the world coordinate system, a method of rotating the stacked rectangles three-dimensionally must be taken. Then, the depth relationship is broken depending on the rotation angle, or the 2D texture map is reversed, and when the stacked rectangle is rotated 90 degrees about the Y axis, the rectangle (thickness is 0) is not drawn and the rendered image becomes black.
また、スライスと視線とのなす角度が小さくなるにつれて投影面積が小さくなり、サンプリングされるデータの数が減少し、ボリュームレンダリングの意義が失われ、実用的なレンダリング像を得ることができない場合がある。即ち、回転角度により、ワールド座標系の積層四角形とテクスチャ座標系の2Dテクスチャマップとの対応関係を補正しないと、適切なレンダリング像を得ることができない。 In addition, as the angle between the slice and the line of sight decreases, the projected area decreases, the number of sampled data decreases, the significance of volume rendering is lost, and a practical rendered image may not be obtained. . That is, an appropriate rendering image cannot be obtained unless the correspondence between the layered rectangle in the world coordinate system and the 2D texture map in the texture coordinate system is corrected by the rotation angle.
本実施の形態によれば、2Dテクスチャマッピング法における課題、あるいはワールド座標を回転する場合に生じる課題を解決することができる。 According to the present embodiment, the problem in the 2D texture mapping method or the problem that occurs when the world coordinates are rotated can be solved.
次に、本実施の形態の3Dテクスチャマッピング装置100の動作について説明する。 Next, the operation of the 3D texture mapping apparatus 100 according to the present embodiment will be described.
図12及び図13は本実施の形態の3Dテクスチャマッピング装置100による3Dテクスチャマッピング処理の手順の一例を示すフローチャートである。以下では、便宜上、処理の主体を画像処理部20として説明する。画像処理部20は、DICOM画像の画像データを取得し(S11)、カラーマップデータを取得する(S12)。なお、カラーマップデータは、図3、図4で例示したものである。 12 and 13 are flowcharts illustrating an example of a 3D texture mapping process performed by the 3D texture mapping apparatus 100 according to the present embodiment. Hereinafter, for the sake of convenience, the subject of processing will be described as the image processing unit 20. The image processing unit 20 acquires image data of the DICOM image (S11), and acquires color map data (S12). The color map data is illustrated in FIGS. 3 and 4.
画像処理部20は、変換パラメータを取得し(S13)、xyz方向のROI値を取得する(S14)。なお、変換パラメータは、座標変換パラメータ及び透視変換パラメータなどを含む。変換パラメータの詳細は後述する。画像処理部20は、DICOM画像の階調圧縮処理を行い(S15)、階調圧縮断層画像D8に対してカラーマップ定義を行う(S16)。カラーマップ定義は、階調圧縮断層画像D8の画素値に対して、RGB値及び不透明度αを定義する。なお、ステップS15の処理は必須ではなく、ステップS15の処理を実施しない場合には、DICOM画像に対してカラーマップ定義を行えばよい。ただし、カラーマップはCT画像の場合、見たい部位ごとに汎用的に定義することが可能で、与えられたDICOM画像に依存して定義されるものではないため、ステップS16の処理を省略し、あらかじめ定義されたカラーマップを流用することもできる。 The image processing unit 20 acquires the conversion parameter (S13), and acquires the ROI value in the xyz direction (S14). The conversion parameter includes a coordinate conversion parameter, a perspective conversion parameter, and the like. Details of the conversion parameters will be described later. The image processing unit 20 performs gradation compression processing of the DICOM image (S15), and performs color map definition for the gradation compressed tomographic image D8 (S16). The color map definition defines RGB values and opacity α for the pixel values of the gradation compressed tomographic image D8. Note that the process of step S15 is not essential, and if the process of step S15 is not performed, color map definition may be performed for the DICOM image. However, in the case of a CT image, a color map can be defined universally for each part to be viewed, and is not defined depending on a given DICOM image. Therefore, the process of step S16 is omitted, A predefined color map can also be used.
画像処理部20は、カラーマップを適用して暫定ボクセル構造体Vo(x,y,z,c)を生成する(S17)。画像処理部20は、暫定ボクセル構造体Vo(x,y,z,c)に対して、ボクセルのスムージング処理を行ってボクセル構造体V(x,y,z,c)を生成する(S18)。画像処理部20は、ROIクリッピング領域外のボクセルの透明化処理を行う(S19)。 The image processing unit 20 generates the provisional voxel structure Vo (x, y, z, c) by applying the color map (S17). The image processing unit 20 performs voxel smoothing processing on the provisional voxel structure Vo (x, y, z, c) to generate the voxel structure V (x, y, z, c) (S18). . The image processing unit 20 performs transparency processing for voxels outside the ROI clipping region (S19).
図14は本実施の形態の3Dテクスチャマッピング装置100によるROIクリッピング領域外のボクセルの透明化処理の一例を示す説明図である。図14は、z番目に位置するxy平面画像の一例を図示している。ROIによるクリッピングでは、x軸方向のROIとして、Xs−Xeを設定し、y軸方向のROIとして、Ys−Yeを設定し、図14には図示されていないが、z軸方向のROIとして、Zs−Zeを設定する。ここで、0≦Xs、Xe≦Sx−1、0≦Ys、Ye≦Sy−1、0≦Zs、Ze≦Sz−1である。すなわち、ROIクリッピング処理部29は、ボリュームレンダリング処理の対象領域を画定するxyz座標を設定する。ボクセル構造体生成部23は、ROIクリッピング領域外のボクセルの透明化処理を行う。 FIG. 14 is an explanatory diagram illustrating an example of the voxel transparency processing outside the ROI clipping region by the 3D texture mapping apparatus 100 according to the present embodiment. FIG. 14 illustrates an example of the xy plane image located at the zth position. In clipping by ROI, Xs-Xe is set as the ROI in the x-axis direction, Ys-Ye is set as the ROI in the y-axis direction. Although not shown in FIG. 14, as ROI in the z-axis direction, Set Zs-Ze. Here, 0 ≦ Xs, Xe ≦ Sx−1, 0 ≦ Ys, Ye ≦ Sy−1, 0 ≦ Zs, Ze ≦ Sz−1. That is, the ROI clipping processing unit 29 sets xyz coordinates that define the target area for volume rendering processing. The voxel structure generation unit 23 performs a transparency process for voxels outside the ROI clipping region.
ボクセルの透明化処理では、x<Xsまたはx>Xeまたはy<Ysまたはy>Yeまたはz<Zsまたはz>Zeの場合、0≦c≦3に対してV(x,y,z,c)=0、すなわち、R=G=B=α=0とする(すなわち、画素の色を無色つまり黒色で、透明にする)。図14の例では、x<Xs、x>Xe、y<Ys、及びy>Yeを充足する座標(x,y)の画素の色を無色(黒色)にし、不透明度をα=0(透明)にする。 In the voxel transparency processing, when x <Xs or x> Xe or y <Ys or y> Ye or z <Zs or z> Ze, V <x, y, z, c ) = 0, that is, R = G = B = α = 0 (that is, the pixel color is colorless, that is, black and transparent). In the example of FIG. 14, the color of the pixel at coordinates (x, y) satisfying x <Xs, x> Xe, y <Ys, and y> Ye is colorless (black), and the opacity is α = 0 (transparent ).
なお、色補間部28は、後述のステップS24において、ROIクリッピング領域外など透明化処理されたボクセルを含む無色・透明なボクセルに対して、対象ボクセルの近傍に位置する近傍ボクセル(不透明ボクセル)のRGB値に基づいて、対象ボクセルのRGB値を色補間する。ただし、透明なボクセルであっても、透明化処理されたものでなく、RGB値のいずれかに1以上の値が設定されている場合(肺野の空気など)は、色補間を行わない。 It should be noted that the color interpolating unit 28 determines a neighboring voxel (opaque voxel) located in the vicinity of the target voxel with respect to a colorless / transparent voxel including a voxel that has been subjected to transparency processing such as outside the ROI clipping region in step S24 described later. Based on the RGB values, color interpolation is performed on the RGB values of the target voxel. However, even if the voxel is transparent, it is not transparentized, and color interpolation is not performed when one or more of RGB values is set (such as lung field air).
上述のように、本実施の形態のボクセル構造体のボクセルデータにおいて、ボクセル構造体は、ボリュームレンダリング処理の対象領域外であって、RGB値及び不透明度が所定値である対象ボクセルに対して、対象ボクセルの近傍に位置する近傍ボクセルのRGB値に基づいて、対象ボクセルのRGB値が色補間されたデータを含む。 As described above, in the voxel data of the voxel structure according to the present embodiment, the voxel structure is outside the target area of the volume rendering process, and the RGB values and the opacity are predetermined values. Based on the RGB values of the neighboring voxels located in the vicinity of the target voxel, the data including the color interpolation of the RGB values of the target voxel is included.
ROIクリッピング切断面に限らず、ボリュームレンダリング処理の対象領域である不透明領域(不透明度が1以上の値をもつようにした領域)とボリュームレンダリング処理の対象領域外である透明領域(不透明度が0の値をもつようにした領域)との境界面がモアレの発生源になる。(詳細は後述するが、座標変換により境界面において階段状のパターンが生成されるためである。)そもそも、断層画像には人体・撮影治具(寝台など)など被写体以外の背景部が存在することが一般的で、背景部は空気で無色・透明であるため、不透明な被写体との境界面が元々存在し、モアレの発生源になり得るため、背景部に対して後述の補正対象領域と一緒に色補間を行う必要がある。 Not only the ROI clipping plane, but an opaque area (area where the opacity has a value of 1 or more) that is the target area of volume rendering processing and a transparent area (opacity is 0) that is outside the target area of volume rendering processing. The boundary surface with the region having the value of) becomes the source of moire. (Details will be described later, but this is because a step-like pattern is generated on the boundary surface by coordinate transformation.) In the first place, the tomographic image has a background portion other than the subject such as a human body and a photographing jig (such as a bed). In general, since the background portion is colorless and transparent with air, a boundary surface with an opaque subject originally exists and can be a source of moire. It is necessary to perform color interpolation together.
ROIクリッピング切断面に限らず、断層画像の最初のスライスまたは/かつ最後のスライスがそのまま不透明領域と透明領域との境界面となり、当該境界面がモアレの発生源になる場合がある。人体の一部である胸部・腹部などに対してCTスキャンされた断層画像の最初のスライスより手前及び最後のスライスの後方には画像データが存在せず、無色・透明な空間としてボリュームレンダリング処理されるため、ROIクリッピング切断面と同様な特質をもつ。即ち、断層画像の最初のスライスと最後のスライスは、必然的に不透明領域と透明領域の境界面となり、モアレ発生源となる。そこで、最初のスライスより手前及び最後のスライスの後方の領域にボクセルを追加して無色・透明にし、後続処理である色補間することにより、併せてモアレの発生を抑制することができる。色補間の詳細は後述する。 Not only the ROI clipping section but also the first slice and / or the last slice of the tomographic image may be the boundary surface between the opaque region and the transparent region as it is, and the boundary surface may be the source of moire. There is no image data before and after the first slice of the tomographic image that is CT-scanned for the chest and abdomen that are part of the human body, and volume rendering processing is performed as a colorless and transparent space. Therefore, it has the same characteristics as the ROI clipping section. That is, the first slice and the last slice of the tomographic image inevitably become a boundary surface between the opaque region and the transparent region, and become a moire generation source. Therefore, the generation of moire can be suppressed at the same time by adding voxels to the area before the first slice and behind the last slice to make it colorless and transparent and performing color interpolation as the subsequent processing. Details of the color interpolation will be described later.
画像処理部20は、z方向の両端に新たにRGB値及び不透明度が所定値とされた(ここでは、無色・透明な)ダミー透明画像を付加し(S20)、ボクセル構造体にダミー透明画像に対応するボクセルを追加する(S21)。ダミー透明画像に対応するボクセルが追加されたボクセル構造体をV(x,y,z,c)と表す。ここで、0≦x≦Sx−1、0≦y≦Sy−1、0≦z≦Sz+1である。 The image processing unit 20 newly adds dummy transparent images with RGB values and opacity set to predetermined values (here, colorless and transparent) at both ends in the z direction (S20), and the dummy transparent image is added to the voxel structure. A voxel corresponding to is added (S21). A voxel structure to which a voxel corresponding to the dummy transparent image is added is represented as V (x, y, z, c). Here, 0 ≦ x ≦ Sx−1, 0 ≦ y ≦ Sy−1, and 0 ≦ z ≦ Sz + 1.
図15は本実施の形態の3Dテクスチャマッピング装置100によるダミー透明画像付加処理の一例を示す説明図である。z軸方向にスライス間隔で並んだ元の断層画像のz軸方向の両端に、全ての画素のRGB値及び不透明度が所定値とされた(ここでは、無色・透明に設定した)ダミー透明画像を追加する。すなわち、ボクセル構造体生成部23は、複数のxy平面画像を間にしてz軸方向の両端に配置されたダミーxy平面画像の各画素に対応し、RGB値及び不透明度が所定値とされたダミーボクセルを付加したボクセル構造体を生成する。具体的には、ボクセル構造体生成部23は、断層画像のz軸方向の両端にダミー透明画像に対応するボクセルを追加する。所定値としては、当該ボクセルがボリュームレンダリング像の生成に寄与しないように、RGB値をR=G=B=0に、不透明度をα=0(すなわち、無色・透明)とすることができるが、ボリュームレンダリング像の生成に寄与しない値であれば、RGB値をR=G=B=0に限定しなくてもよく、不透明度をα=0に限定しなくてもよい。 FIG. 15 is an explanatory diagram showing an example of dummy transparent image addition processing by the 3D texture mapping apparatus 100 of the present embodiment. Dummy transparent images in which the RGB values and opacity of all the pixels are set to predetermined values at both ends in the z-axis direction of the original tomographic image arranged at the slice interval in the z-axis direction (here, set to colorless and transparent) Add That is, the voxel structure generation unit 23 corresponds to each pixel of the dummy xy plane image arranged at both ends in the z-axis direction with a plurality of xy plane images in between, and the RGB value and the opacity are set to predetermined values. Generate a voxel structure with dummy voxels added. Specifically, the voxel structure generator 23 adds voxels corresponding to the dummy transparent image to both ends in the z-axis direction of the tomographic image. As the predetermined values, the RGB value can be set to R = G = B = 0 and the opacity can be set to α = 0 (that is, colorless and transparent) so that the voxel does not contribute to the generation of the volume rendering image. As long as the value does not contribute to the generation of the volume rendering image, the RGB value need not be limited to R = G = B = 0, and the opacity need not be limited to α = 0.
なお、色補間部28は、後述のステップS24において、生成したボクセル構造体のボクセルのRGB値及び不透明度が所定値である対象ボクセルに対して、対象ボクセルの近傍に位置する近傍ボクセルのRGB値に基づいて、対象ボクセルのRGB値を色補間する。ただし、透明なボクセルであっても、RGB値のいずれかに所定値以外の値(ここでは、1以上の値)が設定されている場合(例えば、肺野の空気など)は、色補間を行わない。 Note that the color interpolation unit 28 determines the RGB values of the neighboring voxels located in the vicinity of the target voxel with respect to the target voxel having a predetermined value for the RGB value and opacity of the voxel structure generated in step S24 described later. On the basis of the color interpolation of the RGB values of the target voxel. However, even if it is a transparent voxel, if a value other than a predetermined value (here, a value of 1 or more) is set in any of the RGB values (for example, air in the lung field), color interpolation is performed. Not performed.
上述のように、本実施の形態のボクセル構造体のボクセルデータにおいて、ボクセル構造体は、複数のxy平面画像を間にしてz軸方向の両端に配置されたダミーxy平面画像の各画素に対応し、RGB値及び不透明度が所定値とされたボクセルであるダミーボクセルを含み、ボクセルデータは、ダミーボクセルが付加されたボクセル構造体のRGB値及び不透明度が所定値である対象ボクセルに対して、対象ボクセルの近傍に位置する近傍ボクセルのRGB値に基づいて、対象ボクセルのRGB値が色補間されたデータを含む。 As described above, in the voxel data of the voxel structure according to the present embodiment, the voxel structure corresponds to each pixel of the dummy xy plane image arranged at both ends in the z-axis direction with a plurality of xy plane images in between. And a voxel data including a dummy voxel having a predetermined value for the RGB value and the opacity, and the voxel data for the target voxel having the RGB value and the opacity for the predetermined value. , Including data obtained by color-interpolating the RGB values of the target voxel based on the RGB values of the neighboring voxels located in the vicinity of the target voxel.
ROIクリッピング切断面に限らず、断層画像の周辺部がそのまま不透明領域と透明領域との境界面となり、モアレの発生源になる場合がある。例えば、CTスキャンの倍率設定により、人体の断層面の周辺部が切れた状態で撮像されることがあり、その場合、ROIクリッピングの指示を行わなくても、図14において、x=0、y=0、x=Sx−1、y=Sy−1のいずれかを満たす面は、x<0、y<0、x>Sx−1、y>Sy−1のいずれかの断層画像の外側領域には画像データが存在せず、無色・透明な空間としてボリュームレンダリング処理されるため、ROIクリッピング切断面と同様な特質をもつ。即ち、x=0、y=0、x=Sx−1、y=Sy−1のいずれかを満たす平面は、必然的に不透明領域と透明領域の境界面となり、モアレ発生源となる。そこで、ROIクリッピングの指示の有無を問わず、x=0、y=0、x=Sx−1、y=Sy−1のいずれかを満たす1ボクセル幅の外縁部の全てのボクセルに対して、図14の斜線部と同様に無色・透明にし、後続処理である色補間を併せて行う。即ち、画像処理部20は、階調圧縮断層画像の外縁部(ボーダー部とも称する)の画素に対応するボクセルの透明化処理を行う(S22)。なお、後述のステップS23の処理を行うか否かにかかわらず、ステップS22の処理は実施する。なお、外縁部とは、画像の外側ではなく、画像内の領域であって、画像の縁にあたる部分を意味する。 Not only the ROI clipping section but also the peripheral part of the tomographic image may be the boundary surface between the opaque region and the transparent region as it is and may be a source of moire. For example, depending on the CT scan magnification setting, an image may be captured with the peripheral portion of the tomographic plane of the human body cut off. In this case, x = 0, y in FIG. = 0, x = Sx-1, and y = Sy-1 are the outer regions of the tomographic image of x <0, y <0, x> Sx-1, y> Sy-1 Since no image data exists and volume rendering processing is performed as a colorless and transparent space, it has the same characteristics as the ROI clipping cut surface. That is, a plane satisfying any of x = 0, y = 0, x = Sx-1, and y = Sy-1 inevitably becomes a boundary surface between the opaque region and the transparent region, and becomes a moire generation source. Therefore, for all voxels at the outer edge portion of 1 voxel width satisfying any of x = 0, y = 0, x = Sx-1, and y = Sy-1 regardless of the presence or absence of the ROI clipping instruction, As in the shaded area in FIG. 14, the color is made colorless and transparent, and color interpolation which is subsequent processing is also performed. In other words, the image processing unit 20 performs the voxel transparency processing corresponding to the pixels at the outer edge (also referred to as border) of the gradation compressed tomographic image (S22). Note that the process of step S22 is performed regardless of whether or not the process of step S23 described later is performed. The outer edge means an area in the image, not the outer side of the image, and a portion corresponding to the edge of the image.
図16は本実施の形態の3Dテクスチャマッピング装置100による断層画像の外縁部のボクセルの透明化処理の一例を示す説明図である。z軸方向にスライス間隔で並んだ断層画像それぞれの外縁部の画素に対応するボクセルの色をR=G=B=0(無色)にし、不透明度αを0(透明)にする。すなわち、ボクセル構造体生成部23は、断層画像の外縁部の画素に対応するボクセルを無色・透明にする。ここで、外縁部とは、例えば、断層画像内の領域であって縁から1画素分とすることができる。ボクセル構造体V(x,y,z,c)は、V(x,y,z,c)=0(x=0またはx=Sx−1またはy=0またはy=Sy−1またはz=0またはz=Sz+1、0≦c≦3)となる。すなわち、ボクセル構造体生成部23は、複数のxy平面画像の外縁部の各画素に対応し、RGB値及び不透明度が所定値とされたボクセルを含むボクセル構造体を生成する。具体的には、ボクセル構造体生成部23は、断層画像の外縁部の画素に対応するボクセルを無色・透明にする。なお、外縁部は1画素に限定しなくてもよい。所定値としては、RGB値をR=G=B=0で不透明度α=0(すなわち、画素の色を無色つまり黒色で、透明)とすることができるが、ボリュレームレンダリングに寄与しないボクセルの値であれば、RGB値をR=G=B=0に限定しなくてもよく、不透明度をα=0に限定しなくてもよい。 FIG. 16 is an explanatory diagram showing an example of the voxel transparency processing of the outer edge portion of the tomographic image by the 3D texture mapping apparatus 100 of the present embodiment. The color of the voxel corresponding to the pixel at the outer edge of each tomographic image aligned at the slice interval in the z-axis direction is set to R = G = B = 0 (colorless), and the opacity α is set to 0 (transparent). That is, the voxel structure generation unit 23 makes voxels corresponding to pixels at the outer edge of the tomographic image colorless and transparent. Here, the outer edge portion is, for example, a region in the tomographic image and can be one pixel from the edge. The voxel structure V (x, y, z, c) has V (x, y, z, c) = 0 (x = 0 or x = Sx-1 or y = 0 or y = Sy-1 or z = 0 or z = Sz + 1, 0 ≦ c ≦ 3). That is, the voxel structure generation unit 23 generates a voxel structure including voxels corresponding to each pixel of the outer edge portion of the plurality of xy planar images and having RGB values and opacity values set to predetermined values. Specifically, the voxel structure generation unit 23 makes voxels corresponding to pixels at the outer edge of the tomographic image colorless and transparent. Note that the outer edge portion need not be limited to one pixel. As the predetermined value, the RGB value can be R = G = B = 0 and the opacity α = 0 (that is, the color of the pixel is colorless, that is, black and transparent), but the voxel that does not contribute to the volume rendering can be used. If it is a value, the RGB value may not be limited to R = G = B = 0, and the opacity may not be limited to α = 0.
なお、色補間部28は、後述のステップS24において、断層画像の外縁部の無色・透明な画素に対応するボクセルの対象ボクセルに対して、対象ボクセルの近傍に位置する近傍ボクセルのRGB値に基づいて、対象ボクセルのRGB値を色補間する。ただし、透明なボクセルであっても、RGB値のいずれかに所定値以外の値(ここでは、1以上の値)が設定されている場合(例えば、肺野の空気など)は、色補間を行わない。 Note that, in step S24 described later, the color interpolation unit 28 is based on the RGB values of the neighboring voxels positioned in the vicinity of the target voxel with respect to the target voxel of the voxel corresponding to the colorless and transparent pixel at the outer edge portion of the tomographic image. Thus, the RGB value of the target voxel is color-interpolated. However, even if it is a transparent voxel, if a value other than a predetermined value (here, a value of 1 or more) is set in any of the RGB values (for example, air in the lung field), color interpolation is performed. Not performed.
上述のように、本実施の形態のボクセル構造体のボクセルデータにおいて、ボクセル構造体は、複数のxy平面画像の外縁部の各画素に対応し、RGB値及び不透明度が所定値とされたボクセルを含み、ボクセルデータは、ボクセルを含むボクセル構造体のRGB値及び不透明度が所定値である対象ボクセルに対して、対象ボクセルの近傍に位置する近傍ボクセルのRGB値に基づいて、対象ボクセルのRGB値が色補間されたデータを含む。 As described above, in the voxel data of the voxel structure according to the present embodiment, the voxel structure corresponds to each pixel of the outer edge portion of the plurality of xy plane images, and the voxel in which the RGB value and the opacity are predetermined values. The voxel data includes the RGB values of the target voxel based on the RGB values of the neighboring voxels located in the vicinity of the target voxel with respect to the target voxel having the predetermined RGB value and opacity of the voxel structure including the voxel. Contains data with color interpolated.
画像処理部20は、ボクセルの陰影値を算出する(S23)。ただし、ステップS23の処理は、必須ではなく、ステップS23の処理を実施しない場合には、ステップS24の処理に進めばよい。 The image processing unit 20 calculates the shadow value of the voxel (S23). However, the process of step S23 is not essential, and if the process of step S23 is not performed, the process may proceed to step S24.
ボクセルの陰影値の算出は、以下のようにすることができる。すなわち、ボクセル構造体生成部23は、ボクセル構造体のボクセルの不透明度に関する勾配ベクトルを算出し、算出した勾配ベクトル及び所定の光源ベクトルに基づいてボクセルの陰影値を算出する。 The voxel shadow value can be calculated as follows. That is, the voxel structure generation unit 23 calculates a gradient vector related to the opacity of the voxel of the voxel structure, and calculates a shadow value of the voxel based on the calculated gradient vector and the predetermined light source vector.
より具体的には、ボクセル構造体生成部23は、ボクセル構造体のボクセルの不透明度と、当該ボクセルの近傍に位置する複数の近傍ボクセルそれぞれの不透明度との差分を算出する。ボクセル構造体生成部23は、ボクセルと近傍ボクセルとの距離並びにボクセル及び近傍ボクセルそれぞれの不透明度の差分に基づいてボクセルの勾配ベクトルを算出する。この場合、近傍ボクセルとの距離を用いるにあたり、XY方向とZ方向の解像度が異なることを考慮し、ボクセル構造体生成部23は、勾配ベクトルのz軸方向の成分をz軸方向の変倍率Rxy/Rzで補正することが必要である。 More specifically, the voxel structure generation unit 23 calculates a difference between the opacity of the voxel of the voxel structure and the opacity of each of the plurality of neighboring voxels located in the vicinity of the voxel. The voxel structure generator 23 calculates a voxel gradient vector based on the distance between the voxel and the neighboring voxel and the difference in opacity between the voxel and the neighboring voxel. In this case, considering that the resolution in the XY direction is different from that in the Z direction when using the distance to the neighboring voxel, the voxel structure generation unit 23 converts the z-axis direction component of the gradient vector to the scaling factor Rxy in the z-axis direction. It is necessary to correct with / Rz.
光源ベクトル(Lx,Ly,Lz)は、例えば、(Lx,Ly,Lz)=(0.57735,0.57735,0.57735)の如く、平行光源で単位ベクトルとして指定する。また、環境光成分をAbとする。ここで、0≦Ab≦1である。例えば、Ab=0.2とする。 The light source vector (Lx, Ly, Lz) is specified as a unit vector with a parallel light source, for example, (Lx, Ly, Lz) = (0.57735, 0.57735, 0.57735). The ambient light component is Ab. Here, 0 ≦ Ab ≦ 1. For example, Ab = 0.2.
0≦x≦Sx−2、0≦y≦Sy−2、0≦z≦Szの範囲のボクセル(x,y,z)の勾配ベクトル(Gx,Gy,Gz)は、式(15)、(16)、(17)で算出することができる。本実施の形態では、26近傍のボクセル値と中央のボクセルのボクセル値との差分により高精度に勾配ベクトルを算出することができる。勾配ベクトルを算出する際に、ボクセルは座標変換前でz方向変倍処理が行われていないため、xy方向とz方向とでは解像度が異なる点に留意し、勾配ベクトルのz方向成分Gzの変倍補正(Rxy/Rzの乗算)を行う。 The gradient vector (Gx, Gy, Gz) of the voxel (x, y, z) in the range of 0 ≦ x ≦ Sx−2, 0 ≦ y ≦ Sy−2 and 0 ≦ z ≦ Sz is expressed by the equations (15), ( 16) and (17). In the present embodiment, the gradient vector can be calculated with high accuracy by the difference between the voxel values in the vicinity of 26 and the voxel values of the center voxel. When calculating the gradient vector, since the voxel has not been subjected to z-direction scaling before coordinate conversion, it should be noted that the resolution differs between the xy direction and the z-direction, and the change in the z-direction component Gz of the gradient vector is performed. Double correction (multiplication of Rxy / Rz) is performed.
G={Gx2 +Gy2 +Gz2 }1/2 とする(Gxの2乗とGyの2乗とGzの2乗との和の平方根をGとする)。G≧1の場合、陰影値S(x,y,z)は、拡散反射成分のみ算出し、式(18)で与えられる。これにより、視線ベクトルを変更してボクセルを回転させると、立体感を表現することができる。なお、視線を変えても、座標の回転処理を行う前であり、勾配ベクトルは変化しないので、鏡面反射成分は加えない。ボクセル構造体生成部23は、算出した輝度値に基づいてボクセルのRGB値を補正する。陰影計算後のボクセルをV′(x,y,z,c)で表すと、ボクセルのRGB値の補正は、0≦c≦2の範囲で式(19)を適用することにより行うことができる。 G = {Gx 2 + Gy 2 + Gz 2 } 1/2 (G is the square root of the sum of the square of Gx, the square of Gy, and the square of Gz). When G ≧ 1, the shadow value S (x, y, z) is calculated by only the diffuse reflection component, and is given by the equation (18). Thereby, when the line-of-sight vector is changed and the voxel is rotated, a stereoscopic effect can be expressed. Even if the line of sight is changed, it is before the coordinate rotation process and the gradient vector does not change, so no specular reflection component is added. The voxel structure generator 23 corrects the RGB value of the voxel based on the calculated luminance value. When the voxel after the shadow calculation is represented by V ′ (x, y, z, c), the correction of the RGB value of the voxel can be performed by applying Expression (19) in the range of 0 ≦ c ≦ 2. .
OpenGLを用いた3Dテクスチャマッピング法では、ハードウエアレンダリングにおいて、ボクセルの勾配ベクトル、陰影計算に係る処理はサポートされていないため、陰影値として常にα値が与えられている。しかし、本実施の形態では、疑似的に陰影計算を行うことができる。すなわち、陰影計算を正確に行うためには、ボクセルの座標変換後に行う必要があるが、座標変換はハードウエアレンダリングで一緒に行われるため、座標変換前にハードウエアレンダリングに投入するボクセルデータに予め陰影計算結果を組み込むことにより、疑似的に陰影が付与されたレンダリング像を得ることができる。 In the 3D texture mapping method using OpenGL, processing related to voxel gradient vector and shadow calculation is not supported in hardware rendering, and therefore an α value is always given as a shadow value. However, in the present embodiment, pseudo shadow calculation can be performed. In other words, in order to accurately perform the shadow calculation, it is necessary to perform the voxel coordinate conversion. However, since the coordinate conversion is performed together in hardware rendering, the voxel data to be input to hardware rendering before coordinate conversion is previously stored. By incorporating the shadow calculation result, it is possible to obtain a rendering image with a pseudo shadow.
断層画像の外縁部や背景部のボクセルではG<1となることがあり、その場合、陰影計算を行わずに、一律に無色・透明(R=G=B=α=0)にする。すなわち、陰影計算後のボクセルをV′(x,y,z,c)で表すと、V′(x,y,z,c)=0(c=0,1,2,3)とする。これは、前述のステップS22と同等の処理である。 G <1 may occur in voxels at the outer edge or background of the tomographic image, and in this case, the calculation is uniformly colorless and transparent (R = G = B = α = 0) without performing shadow calculation. That is, when the voxel after the shadow calculation is represented by V ′ (x, y, z, c), V ′ (x, y, z, c) = 0 (c = 0, 1, 2, 3). This is a process equivalent to step S22 described above.
画像処理部20は、透明ボクセルの色補間処理を行う(S24)。なお、色補間処理の詳細は後述する。 The image processing unit 20 performs transparent voxel color interpolation processing (S24). Details of the color interpolation process will be described later.
画像処理部20は、色補間したボクセル構造体を3Dテクスチャマップとして登録し(S25)、投影画面を設定する(S26)。 The image processing unit 20 registers the color-interpolated voxel structure as a 3D texture map (S25), and sets a projection screen (S26).
図17は本実施の形態の3Dテクスチャマッピング装置100による投影画面設定の一例を示す説明図である。変換処理部24は、レンダリング画像のスクリーンサイズ(縦横画素数、縦横アスペクト比率)を設定する。変換処理部24は、平行投影(通常の外観レンダリング)又は透視投影(内視鏡モード)のいずれかを設定する。そして、変換処理部24は、透視投影が設定された場合、透視投影パラメータを設定する。透視投影パラメータは、例えば、カメラの視野角度(焦点距離)、視点位置(視点と注視点で構成され、前者は目の位置で後者は見ている対象物上の位置で、双方ともZ軸上に設定される。一般に、注視点はワールド座標系の原点に固定)、クリッピング位置(視点からのZ軸上の距離、近方及び遠方の2箇所)などを含む。なお、クリッピング位置は、近方だけでもよい。図17に示すように、平行投影の場合には、視点からの視線は全てZ軸に平行となり、視点は仮想的に左方向に無限遠に離れた位置にあることを想定しているため、Z軸方向に定義されている全ての積層四角形がレンダリング対象になる。一方、透視投影の場合には、視点からの視野角度に応じて、視線が広がり、レンダリング対象も近方クリッピングによって制限されている。 FIG. 17 is an explanatory diagram showing an example of a projection screen setting by the 3D texture mapping apparatus 100 according to the present embodiment. The conversion processing unit 24 sets the screen size (number of vertical and horizontal pixels, vertical and horizontal aspect ratio) of the rendered image. The conversion processing unit 24 sets either parallel projection (normal appearance rendering) or perspective projection (endoscopic mode). Then, when the perspective projection is set, the conversion processing unit 24 sets the perspective projection parameter. The perspective projection parameters are, for example, a camera viewing angle (focal length), a viewpoint position (a viewpoint and a gazing point, the former being the position of the eye and the latter being the position on the object being viewed, both on the Z axis. In general, the gazing point is fixed at the origin of the world coordinate system), a clipping position (distance on the Z-axis from the viewpoint, two near and far points), and the like. Note that the clipping position may be only near. As shown in FIG. 17, in the case of parallel projection, it is assumed that the line of sight from the viewpoint is all parallel to the Z axis, and the viewpoint is virtually located at an infinite distance in the left direction. All the stacked rectangles defined in the Z-axis direction are to be rendered. On the other hand, in the case of perspective projection, the line of sight spreads according to the viewing angle from the viewpoint, and the rendering target is also limited by near clipping.
画像処理部20は、レンダリング処理を行い(S27)、フレームメモリ上にレンダリング画像を生成し(S28)、処理を終了する。なお、レンダリング処理の詳細は後述する。 The image processing unit 20 performs rendering processing (S27), generates a rendering image on the frame memory (S28), and ends the processing. Details of the rendering process will be described later.
図18は本実施の形態の3Dテクスチャマッピング装置100による透明ボクセルの色補間処理の手順の一例を示すフローチャートである。画像処理部20は、ボクセル構造体の、0≦x≦Sx−1、0≦y≦Sy−1、0≦z≦Sz+1のすべてのボクセルから無色・透明のボクセルを抽出する(S101)。すなわち、式(20)を満たすボクセルを抽出する。 FIG. 18 is a flowchart illustrating an example of a procedure of transparent voxel color interpolation processing by the 3D texture mapping apparatus 100 according to the present embodiment. The image processing unit 20 extracts colorless and transparent voxels from all voxels of 0 ≦ x ≦ Sx−1, 0 ≦ y ≦ Sy−1, and 0 ≦ z ≦ Sz + 1 in the voxel structure (S101). That is, voxels satisfying the equation (20) are extracted.
画像処理部20は、抽出したボクセルのうち対象ボクセルの近傍ボクセルであって不透明なボクセルを特定する(S102)。対象ボクセルのxyz座標を(x,y,z)とすると、−1≦i≦1、−1≦j≦1、−1≦k≦1の範囲の対象ボクセルの近傍の26近傍ボクセルの中からV(x+i,y+j,z+k,3)>0を満たす不透明ボクセルを特定し、式(21)の定義に従いその個数をCとする。すなわち、ボクセル構造体生成部23は、対象ボクセルに係る近傍ボクセルのうち、不透明度が所定値より大きい近傍ボクセルを特定する。所定値としては、ボリュームレンダリングに寄与しない不透明度α=0(すなわち、透明)とすることができるが、ボリュームレンダリングに寄与しなければ、不透明度をα=0に限定しなくてもよい。 The image processing unit 20 identifies a voxel that is an opaque voxel near the target voxel among the extracted voxels (S102). Assuming that the xyz coordinates of the target voxel are (x, y, z), from 26 neighboring voxels in the vicinity of the target voxel in the range of −1 ≦ i ≦ 1, −1 ≦ j ≦ 1, and −1 ≦ k ≦ 1. An opaque voxel satisfying V (x + i, y + j, z + k, 3)> 0 is specified, and the number thereof is set to C according to the definition of Expression (21). That is, the voxel structure generation unit 23 specifies neighboring voxels having an opacity greater than a predetermined value among neighboring voxels related to the target voxel. The predetermined value may be opacity α = 0 that does not contribute to volume rendering (that is, transparent), but the opacity may not be limited to α = 0 if it does not contribute to volume rendering.
画像処理部20は、C>0であるか即ち不透明ボクセルの有無を判定し(S103)、C>0である場合、即ち不透明ボクセルがある場合(S103でYES)、不透明ボクセルのRGB値の平均値で対象ボクセルのRGB値を更新し(S104)、後述のステップS106の処理を行う。RGB値の平均値をRa、Ga、Baとすると、平均値は式(22)、(23)、(24)によりV(x+i,y+j,z+k,3)>0を満たす不透明ボクセルの各々R値V(x+i,y+j,z+k,0)、G値V(x+i,y+j,z+k,1)、B値V(x+i,y+j,z+k,2)の総和で算出することができる。また、無色・透明の対象ボクセルのRGB値の更新は、式(25)、(26)、(27)により行うことができる。 The image processing unit 20 determines whether C> 0, that is, whether there is an opaque voxel (S103). If C> 0, that is, if there is an opaque voxel (YES in S103), the average of the RGB values of the opaque voxels is determined. The RGB value of the target voxel is updated with the value (S104), and the process of step S106 described later is performed. Assuming that the average value of RGB values is Ra, Ga, Ba, the average value is the R value of each opaque voxel satisfying V (x + i, y + j, z + k, 3)> 0 according to equations (22), (23), and (24). V (x + i, y + j, z + k, 0), G value V (x + i, y + j, z + k, 1), and B value V (x + i, y + j, z + k, 2) can be calculated. In addition, the RGB value of the colorless and transparent target voxel can be updated by the equations (25), (26), and (27).
C=0である場合、即ち不透明ボクセルがない場合(S103でNO)、画像処理部20は、対象ボクセルのRGB値を0(すなわち、Ra=Ga=Ba=0)とし(S105)、抽出した無色・透明のボクセルのすべての対象ボクセルの色補間を終了したか否かを判定する(S106)。すべての対象ボクセルの色補間を終了していない場合(S106でNO)、画像処理部20は、ステップS102以降の処理を続け、すべての対象ボクセルの色補間を終了した場合(S106でYES)、処理を終了する。 When C = 0, that is, when there is no opaque voxel (NO in S103), the image processing unit 20 sets the RGB value of the target voxel to 0 (that is, Ra = Ga = Ba = 0) (S105) and extracts it. It is determined whether or not the color interpolation of all target voxels of colorless and transparent voxels has been completed (S106). When the color interpolation of all target voxels has not been completed (NO in S106), the image processing unit 20 continues the processing from step S102 onward, and when the color interpolation of all target voxels has been completed (YES in S106), The process ends.
色補間処理は、画像処理部20の色補間部28が行う。より具体的には、色補間部28は、特定した近傍ボクセルのRGB値の統計値に基づいて、対象ボクセルのRGB値を色補間する。統計値は、平均値を用いることができるが、平均値に限定しなくてもよく、例えば、中央値などを用いることもできる場合がある。 The color interpolation process is performed by the color interpolation unit 28 of the image processing unit 20. More specifically, the color interpolation unit 28 performs color interpolation on the RGB values of the target voxel based on the statistical values of the RGB values of the specified neighboring voxels. As the statistical value, an average value can be used, but the statistical value is not limited to the average value. For example, a median value may be used.
上述のように、本実施の形態のボクセル構造体のボクセルデータは、対象ボクセルに係る近傍ボクセルのうち、不透明度が所定値より大きい近傍ボクセル(すなわち、不透明度αが1以上のボクセル)のRGB値の統計値に基づいて、対象ボクセルのRGB値が色補間されたデータを含む。 As described above, the voxel data of the voxel structure according to the present embodiment includes RGB of neighboring voxels having an opacity greater than a predetermined value among neighboring voxels related to the target voxel (that is, voxels having an opacity α of 1 or more). Based on the statistical value, RGB data of the target voxel is included in the color interpolated data.
図19は本実施の形態の3Dテクスチャマッピング装置100によるレンダリング処理の手順の一例を示すフローチャートである。画像処理部20は、3Dテクスチャマップに対するスケーリング及びz方向変倍処理を行い(S111)、3Dテクスチャマップに対する回転処理を行う(S112)。 FIG. 19 is a flowchart illustrating an example of a rendering process performed by the 3D texture mapping apparatus 100 according to the present embodiment. The image processing unit 20 performs scaling and z-direction scaling processing on the 3D texture map (S111), and performs rotation processing on the 3D texture map (S112).
画像処理部20は、3Dテクスチャマップに対するオフセット処理を行い(S113)、複数の四角形で構成される積層四角形を設定する(S114)。画像処理部20は、積層四角形を構成する各四角形と3Dテクスチャマップとの対応付けを行う(S115)。 The image processing unit 20 performs offset processing on the 3D texture map (S113), and sets a stacked quadrangle composed of a plurality of quadrangles (S114). The image processing unit 20 associates each quadrangle constituting the stacked quadrangle with the 3D texture map (S115).
図20は3Dテクスチャマッピングとの対応付け方法の一例を示す説明図である。図20Aに示すように、DICOM断層画像をRGBα形式に変換し、グラフィックAPIを介して3Dテクスチャマップとして登録する。そして、図20Bに示すように、積層四角形を定義し、3Dテクスチャマッピングを行う。この場合、ワールド座標系における各四角形の4頂点の3次元ワールド座標とテクスチャ座標系における3Dテクスチャマップの3次元テクスチャ座標とを対応付ける。図20に示すように、(−1,−1,z)、(−1,1,z)、(1,−1,z)、(1,1,z)の4頂点で構成される四角形に対して、ワールド座標の(−1,−1,z)は、テクスチャ座標(0,0,r)に対応付けられている。 FIG. 20 is an explanatory diagram illustrating an example of a method of associating with 3D texture mapping. As shown in FIG. 20A, the DICOM tomographic image is converted into the RGBα format and registered as a 3D texture map via the graphic API. Then, as shown in FIG. 20B, a stacked quadrangle is defined and 3D texture mapping is performed. In this case, the three-dimensional world coordinates of the four vertices of each rectangle in the world coordinate system are associated with the three-dimensional texture coordinates of the 3D texture map in the texture coordinate system. As shown in FIG. 20, a quadrangle composed of four vertices (-1, -1, z), (-1, 1, z), (1, -1, z), and (1, 1, z). On the other hand, the world coordinates (-1, -1, z) are associated with the texture coordinates (0, 0, r).
また、3Dテクスチャマッピングを設定する場合、積層四角形設定部27は、複数のxy平面画像の数及びダミーxy平面画像の数の合計値と同数の四角形をZ軸方向に並べた積層四角形を設定する。 When 3D texture mapping is set, the layered rectangle setting unit 27 sets a layered rectangle in which the same number of rectangles as the total number of the plurality of xy plane images and the number of dummy xy plane images are arranged in the Z-axis direction. .
積層四角形における四角形の数は任意に設定することができるが、四角形の数と断層画像の枚数とが一致しない場合、Z軸方向に補間処理が働き、座標変換による座標値の丸め誤差が累積し、ストライプ・格子状のモアレが発生する。 The number of quadrangles in the layered quadrangle can be arbitrarily set, but when the number of quadrangles and the number of tomographic images do not match, interpolation processing works in the Z-axis direction, and rounding errors of coordinate values due to coordinate transformation accumulate, Striped / lattice moire occurs.
そこで、積層四角形における四角形の数、3Dテクスチャマップに登録する2D断層画像の枚数を元のDICOM形式の断層画像の枚数+2枚(z軸方向に追加したダミー透明画像)にする。3Dボクセル構造体を構築する際、XYZ3次元の解像度を統一させた方が、後処理がしやすくなるため、2D断層画像のスライス間を補間して元のDICOM形式の断層画像の枚数よりも増やす処理が一般的に行われるが、本実施の形態の方が、モアレを抑制する観点から、より好ましい。 Therefore, the number of quadrangles in the layered quadrangle and the number of 2D tomographic images registered in the 3D texture map are set to the number of original tomographic images in DICOM format + 2 (dummy transparent image added in the z-axis direction). When constructing a 3D voxel structure, it is easier to perform post-processing if the XYZ three-dimensional resolution is unified, so that the number of slices in the 2D tomographic image is interpolated to increase the number of tomographic images in the original DICOM format. Although processing is generally performed, the present embodiment is more preferable from the viewpoint of suppressing moire.
画像処理部20は、積層四角形に3Dテクスチャマップを貼り付けながらスキャンコンバージョンを行い、視点から遠い四角形の順にアルファブレンディング処理を行い(S116)、処理を終了する。 The image processing unit 20 performs scan conversion while pasting the 3D texture map on the layered rectangle, performs alpha blending processing in the order of the rectangle far from the viewpoint (S116), and ends the processing.
より具体的には、あらかじめレンダリング画像のRGB値は全て背景色(例えば、R=G=B=0)で初期化しておく。レンダリング処理部25は、視点から最も遠い四角形に3Dテクスチャマップを貼り付け、図17で定義したレンダリング画像に平行投影または透視投影を行い、投影された四角形のワールド座標系における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の整数)に対してアルファブレンディングの処理が終了するとレンダリング画像が完成する。 More specifically, all the RGB values of the rendered image are initialized in advance with a background color (for example, R = G = B = 0). The rendering processing unit 25 pastes the 3D texture map on the quadrilateral farthest from the viewpoint, performs parallel projection or perspective projection on the rendered image defined in FIG. 17, and (-1) of the XYZ coordinates in the world coordinate system of the projected quadrangle. , -1, -1) to the X-axis direction and the Y-axis direction, the interval u corresponding to the pixel interval in the projected rendered image (the interval of world coordinates corresponding to one pixel of the rendered image is u, for example, u. = 0.002), scan conversion is performed. Each world coordinate (−1 + iu, −1 + ju, −1) (i, j is a coordinate value of the rendered image, for example, an integer of 0 ≦ i, j ≦ 511) subjected to scan conversion, and corresponding texture coordinates (2iu) , 2ju, 0), RGB values and opacity are obtained by referring to the 3D texture map based on the calculated texture coordinates, and the RGB already recorded at the coordinates (i, j) of the corresponding rendered image The value and the alpha blending process are performed, and the RGB value of the coordinate (i, j) of the corresponding rendering image is updated. In this way, when the alpha blending process is completed for the single rectangle farthest from the viewpoint, the Z coordinate is v (the interval between world coordinates where the rectangle is arranged in the Z-axis direction is v. For example, v = 2. / Sz) is increased, and the same processing is repeated for the quadrangle (−1 + iu, −1 + ju, −1 + v) closest to the viewpoint direction to update the rendered image. Rendered image when scan conversion is performed for all squares and alpha blending processing is completed for world coordinates (−1 + iu, −1 + ju, −1 + kv) (k is a square number and 0 ≦ k ≦ Sz−1) Is completed.
アルファブレンディング処理は、式(28)、(29)、(30)を用いることができる。 In the alpha blending process, equations (28), (29), and (30) can be used.
ここで、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つ前に位置する四角形に対して式(28)、(29)、(30)に基づいて算出されたR′、G′、B′の値に一致し、視点から最も遠い四角形に対して算出する場合は背景色(例えば、Rb=Gb=Bb=0)が与えられる。 Here, R ′, G ′, and B ′ are RGB values of the rendered image updated on the projection plane. R, G, and B are RGB values in the voxel (2iu, 2ju, 2kv) of the 3D texture map corresponding to the square world coordinates (-1 + iu, -1 + ju, -1 + kv), and correspond to the values of the colors to be superimposed. α is also an α value in the voxel (2iu, 2ju, 2kv) of the 3D texture map corresponding to the rectangular world coordinates (-1 + iu, -1 + ju, -1 + kv), and controls the overlapping ratio. Rb, Gb, and Bb are RGB values that are already recorded at the coordinates (i, j) of the rendered image corresponding to the world coordinates (-1 + iu, -1 + ju, -1 + kv), and the viewpoint with respect to the rectangle Is the farthest from the viewpoint, which matches the values of R ′, G ′, and B ′ calculated based on the equations (28), (29), and (30) with respect to the quadrangle located on the opposite side of When calculating with respect to a square, a background color (for example, Rb = Gb = Bb = 0) is given.
図21は本実施の形態の画像処理部20の構成の他の例を示すブロック図である。図21に示すように、画像処理部20は、CPU201、ROM202、RAM203、GPU204、ビデオメモリ205、記録媒体読取部206などで構成することができる。記録媒体1(例えば、CD−ROM等の光学可読ディスク記憶媒体)に記録されたコンピュータプログラム又はデータを記録媒体読取部206(例えば、光学ディスクドライブ)で読み取ってRAM203に格納することができる。ハードディスク(図示しない)に格納しコンピュータプログラム実行時にRAM203に格納してもよい。記録媒体1やROM202、RAM203、ハードディスク等のコンピュータ可読記憶媒体は、コンピュータで実行および/または処理するための、記録された命令(コンピュータプログラム)および/またはデータをもたらす、任意の非一時的有形記憶媒体を意味する。RAM203に格納されたコンピュータプログラムをCPU201で実行させることにより、階調圧縮処理部21、暫定ボクセル構造体生成部22、ボクセル構造体生成部23、変換処理部24、レンダリング処理部25、3Dテクスチャ画像生成部26、積層四角形設定部27、色補間部28、ROIクリッピング処理部29で行う処理を実行することができる。なお、CPU201は、セントラル・プロセッシングユニットの略称とし、1又は複数のコア(プロセッサ)で構成されてRAM203と連携して動作するのに対し、GPU204は、グラフィックス・プロセッシングユニットで、多くのグラフィックス処理に特化したプロセッサで構成されてビデオメモリ205と連携して動作する。また、コンピュータプログラムは、記録媒体読取部206で読み取る構成に代えて、インターネットなどのネットワークを介して他のコンピュータまたはネットワークデバイス等からダウンロードすることもできる。 FIG. 21 is a block diagram illustrating another example of the configuration of the image processing unit 20 according to the present embodiment. As shown in FIG. 21, the image processing unit 20 can be composed of a CPU 201, a ROM 202, a RAM 203, a GPU 204, a video memory 205, a recording medium reading unit 206, and the like. A computer program or data recorded on the recording medium 1 (for example, an optically readable disk storage medium such as a CD-ROM) can be read by the recording medium reading unit 206 (for example, an optical disk drive) and stored in the RAM 203. It may be stored in a hard disk (not shown) and stored in the RAM 203 when the computer program is executed. Computer-readable storage medium such as recording medium 1, ROM 202, RAM 203, hard disk, etc., any non-transitory tangible storage that provides recorded instructions (computer program) and / or data for execution and / or processing on a computer Means medium. By causing the CPU 201 to execute the computer program stored in the RAM 203, the gradation compression processing unit 21, the provisional voxel structure generation unit 22, the voxel structure generation unit 23, the conversion processing unit 24, the rendering processing unit 25, and the 3D texture image Processing performed by the generation unit 26, the layered rectangle setting unit 27, the color interpolation unit 28, and the ROI clipping processing unit 29 can be executed. Note that the CPU 201 is an abbreviation for a central processing unit, and is configured by one or a plurality of cores (processors) and operates in cooperation with the RAM 203. On the other hand, the GPU 204 is a graphics processing unit, and many graphics. It is composed of a processor specialized for processing and operates in cooperation with the video memory 205. Further, the computer program can be downloaded from another computer or a network device via a network such as the Internet, instead of being read by the recording medium reading unit 206.
また、CPU201は、GPU204に対してレンダリング処理などの命令を出力する。GPU204は、命令を解釈し、レンダリング処理などの所要の処理を実行する。GPU204のプログラミングには、一般にグラフィクスAPI(例えば、OpenGLなど)を用いることができる。例えば、コンピュータプログラムは、CPU201に、変換処理、レンダリング処理を実行するための指令をGPU204に出力する処理を実行させることができる。 Further, the CPU 201 outputs a command such as rendering processing to the GPU 204. The GPU 204 interprets the command and executes necessary processing such as rendering processing. In general, a graphics API (for example, OpenGL) can be used for programming the GPU 204. For example, the computer program can cause the CPU 201 to execute a process of outputting a command for executing the conversion process and the rendering process to the GPU 204.
次に、モアレの発生パターンについて説明する。ボリュームレンダリング像においてモアレが発生する理由は、断層画像を積層合成する点にある。モアレのタイプとしては、曲線状のパターンがある。 Next, a moire generation pattern will be described. The reason why moire occurs in the volume rendering image is that the tomographic images are laminated and synthesized. As a type of moire, there is a curved pattern.
図22は曲線状のモアレが発生する様子の一例を示す模式図である。発生原因は、断層画像(スライス画像)に元々自然に存在する知覚可能な規則性をもたないパターンである。このようなパターンをもつ複数の断層画像を座標変換(xyz軸回りの回転)することにより、各断層画像に存在する前述の規則性をもたないパターンがずれて合成されることにより、これらのパターンが線状に連結し、結果として、ボリュームレンダリング像に曲線状の縞模様が形成され、知覚可能なモアレとして認識される。 FIG. 22 is a schematic diagram illustrating an example of a state in which a curved moire is generated. The cause of the occurrence is a pattern having no perceptible regularity that naturally exists in the tomographic image (slice image). By performing coordinate transformation (rotation around the xyz axis) of a plurality of tomographic images having such a pattern, the aforementioned non-regular patterns present in the respective tomographic images are shifted and synthesized. The patterns are connected in a line, and as a result, a curved striped pattern is formed in the volume rendering image, which is recognized as a perceptible moire.
図23及び図24は本実施の形態の3Dテクスチャマッピング装置100によるモアレ対策結果の第1例を示す説明図である。図23Aは、比較例でありDICOM画像のボクセル値に対してスムージング処理を行った後にカラーマップを適用した場合を示す。図23B、図24A及び図24Bは本実施の形態のカラーマップを適用した後の暫定ボクセル構造体に対してスムージング処理を実施した場合を示し、図23Bはボクセルの不透明度αのみスムージング処理を行った場合を示し、図24AはボクセルのRGB値及び不透明度αのスムージング処理を行った場合を示し、図24BはボクセルのRGB値のみスムージング処理を行った場合を示す。なお、図23及び図24では、3Dテクスチャマッピング法に基づくOpenGL/GPU版で陰影なしでカラーマップを適用し、前述の透明画素の色補間を実施している。 23 and 24 are explanatory diagrams illustrating a first example of a moire countermeasure result by the 3D texture mapping apparatus 100 according to the present embodiment. FIG. 23A is a comparative example and shows a case where a color map is applied after smoothing processing is performed on voxel values of a DICOM image. FIG. 23B, FIG. 24A, and FIG. 24B show the case where the smoothing process is performed on the provisional voxel structure after applying the color map of this embodiment, and FIG. 23B performs the smoothing process only on the opacity α of the voxel. FIG. 24A shows a case where the smoothing process of the voxel RGB value and the opacity α is performed, and FIG. 24B shows a case where only the voxel RGB value is smoothed. In FIG. 23 and FIG. 24, the above-described color interpolation of the transparent pixels is performed by applying a color map without shading in the OpenGL / GPU version based on the 3D texture mapping method.
図23Aに示すように、比較例では曲線状の縞模様が発生している。図23Bでは縞模様が消えていることが分かる。また、図24Aでも縞模様が消えているが、図23Bと対比すると画像が若干ぼけて見える。ただし、ユーザの好みに応じて、図23B又は図24Aのいずれでも用いることができる。また、図24Bでは縞模様が若干残っている。従って、ボクセルのRGB値のみのスムージング処理を行うよりも、不透明度αのみのスムージング、あるいはRGB値及び不透明度αのすべてのスムージング処理を行う方が好ましい。 As shown in FIG. 23A, a curved striped pattern is generated in the comparative example. It can be seen in FIG. 23B that the striped pattern has disappeared. Also, the striped pattern disappears in FIG. 24A, but the image appears slightly blurred as compared with FIG. 23B. However, either FIG. 23B or FIG. 24A can be used depending on the user's preference. In FIG. 24B, some striped patterns remain. Therefore, it is preferable to perform smoothing only for the opacity α or all smoothing processing for the RGB value and the opacity α, rather than performing the smoothing processing only for the RGB values of the voxels.
図25及び図26は本実施の形態の3Dテクスチャマッピング装置100によるモアレ対策結果の第2例を示す説明図である。図25Aは、比較例でありDICOM画像のボクセル値に対してスムージング処理を行った後にカラーマップを適用した場合を示す。図25B、図26A及び図26Bは本実施の形態のカラーマップを適用した後の暫定ボクセル構造体に対してスムージング処理を実施した場合を示し、図25Bはボクセルの不透明度αのみスムージング処理を行った場合を示し、図26AはボクセルのRGB値及び不透明度αのスムージング処理を行った場合を示し、図26BはボクセルのRGB値のみスムージング処理を行った場合を示す。なお、図25及び図26では、3Dテクスチャマッピング法に基づくOpenGL/GPU版で陰影ありでカラーマップを適用し、前述の透明画素の色補間を実施している。 25 and 26 are explanatory diagrams illustrating a second example of the moire countermeasure result by the 3D texture mapping apparatus 100 according to the present embodiment. FIG. 25A is a comparative example and shows a case where a color map is applied after smoothing processing is performed on voxel values of a DICOM image. FIG. 25B, FIG. 26A, and FIG. 26B show the case where the smoothing process is performed on the provisional voxel structure after the color map of the present embodiment is applied, and FIG. 25B performs the smoothing process only on the opacity α of the voxel. FIG. 26A shows a case where the smoothing process of the voxel RGB value and the opacity α is performed, and FIG. 26B shows a case where only the voxel RGB value is smoothed. In FIG. 25 and FIG. 26, a color map is applied with a shadow in the OpenGL / GPU version based on the 3D texture mapping method, and the above-described color interpolation of the transparent pixels is performed.
図25Aに示すように、比較例では曲線状の縞模様が発生している。図25Bでは縞模様が消えていることが分かる。また、図26Aでも縞模様が消えているが、図25Bと対比すると画像が若干ぼけて見える。ただし、ユーザの好みに応じて、図25B又は図26Aのいずれでも用いることができる。また、図26Bでは縞模様が若干残っている。従って、ボクセルのRGB値のみのスムージング処理を行うよりも、不透明度αのみのスムージング、あるいはRGB値及び不透明度αのすべてのスムージング処理を行う方が好ましい。 As shown in FIG. 25A, a curved striped pattern is generated in the comparative example. In FIG. 25B, it can be seen that the striped pattern has disappeared. In addition, the striped pattern disappears in FIG. 26A, but the image appears slightly blurred as compared with FIG. 25B. However, either FIG. 25B or FIG. 26A can be used according to the user's preference. In FIG. 26B, some striped patterns remain. Therefore, it is preferable to perform smoothing only for the opacity α or all smoothing processing for the RGB value and the opacity α, rather than performing the smoothing processing only for the RGB values of the voxels.
(第2実施形態)
前述の第1実施形態では、ボリュームレンダリング手法として3Dテクスチャマッピングの例を説明したが、本実施の形態のボクセルのスムージング処理は、レイキャスティングにも適用することができる。以下、レイキャスティングについて説明する。
(Second Embodiment)
In the first embodiment described above, an example of 3D texture mapping has been described as a volume rendering method. However, the voxel smoothing processing of the present embodiment can also be applied to ray casting. Hereinafter, ray casting will be described.
図27は本実施の形態の画像処理装置としてのレイキャスティング装置120の構成の一例を示すブロック図である。本実施の形態のレイキャスティング装置120は、入力部10、記憶部11、出力部12、画像処理部30などを備える。画像処理部30は、階調圧縮処理部31、暫定ボクセル構造体生成部32、ボクセル構造体生成部33、座標変換処理部34、レイキャスティング処理部35、探索制御マスク生成部36、及びROIクリッピング処理部37などを備える。 FIG. 27 is a block diagram showing an example of the configuration of the ray casting apparatus 120 as the image processing apparatus of the present embodiment. The ray casting apparatus 120 according to the present embodiment includes an input unit 10, a storage unit 11, an output unit 12, an image processing unit 30, and the like. The image processing unit 30 includes a gradation compression processing unit 31, a provisional voxel structure generation unit 32, a voxel structure generation unit 33, a coordinate conversion processing unit 34, a ray casting processing unit 35, a search control mask generation unit 36, and an ROI clipping. A processing unit 37 and the like are provided.
なお、入力部10、記憶部11、出力部12、階調圧縮処理部31、暫定ボクセル構造体生成部32、ボクセル構造体生成部33、及びROIクリッピング処理部37は、第1実施形態の場合と同様であるので、説明は省略する。 The input unit 10, the storage unit 11, the output unit 12, the gradation compression processing unit 31, the provisional voxel structure generation unit 32, the voxel structure generation unit 33, and the ROI clipping processing unit 37 are the same as those in the first embodiment. Since this is the same, the description is omitted.
図28は本実施の形態のレイキャスティング装置120によるボクセル構造体の座標変換の一例を示す模式図である。図28Aは、後述の座標変換前のボクセル構造体を示し、図28Bは、座標変換後のボクセル構造体を示す。まず、座標変換前のボクセル構造体は、ボクセル構造体生成部33によって生成されたボクセル構造体である。ボクセル構造体V(x,y,z,c)は、暫定ボクセル構造体をVo(x,y,z,c)とすると、V(x,y,z,c)={Σi=-1, 1Σj=-1, 1Σk=-1, 1Vo(x+i,y+j,z+k,c)}/27と表すことができる。ここで、0≦x≦Sx−1、0≦y≦Sy−1、0≦z≦Sz−1、0≦c≦3である。以下では、ボクセル構造体V(x,y,z,c)を3次元ボクセル画像とも称する。 FIG. 28 is a schematic diagram showing an example of coordinate conversion of a voxel structure by the ray casting apparatus 120 of the present embodiment. FIG. 28A shows a voxel structure before coordinate conversion described later, and FIG. 28B shows a voxel structure after coordinate conversion. First, the voxel structure before coordinate conversion is a voxel structure generated by the voxel structure generation unit 33. The voxel structure V (x, y, z, c) is V (x, y, z, c) = {Σ i = −1 , where the temporary voxel structure is Vo (x, y, z, c). , 1 Σ j = −1, 1 Σ k = −1, 1 Vo (x + i, y + j, z + k, c)} / 27. Here, 0 ≦ x ≦ Sx−1, 0 ≦ y ≦ Sy−1, 0 ≦ z ≦ Sz−1, and 0 ≦ c ≦ 3. Hereinafter, the voxel structure V (x, y, z, c) is also referred to as a three-dimensional voxel image.
座標変換処理部34は、生成された3次元ボクセル画像に対して、入力部10で取得した座標変換パラメータを用いて所定の座標変換を行って変換後ボクセル画像を生成する。すなわち、座標変換処理部34は、ボクセル構造体V(x,y,z,c)に対して、所定の座標変換処理を施して、変換後のボクセル構造体を生成する。変換後のボクセル構造体をV′(x,y,z′,c)と表す。変換後のボクセル構造体V′(x,y,z′,c)は、V′(x,y,z′,c)=Matrix(4×4)・V(x,y,z,c)で表すことができる。ここで、0≦x≦Sx−1、0≦y≦Sy−1、0≦z′≦Sz′−1、0≦c≦3である。なお、z′は、z軸に対して解像度をxy軸と一致させるような補正を施したもので、z′=z・Rxy/Rz、Sz′=Sz・Rxy/Rzである。Matrix(4×4)は、座標変換を施すための変換行列であり、具体的な変換式は後述する。 The coordinate conversion processing unit 34 performs predetermined coordinate conversion on the generated three-dimensional voxel image using the coordinate conversion parameter acquired by the input unit 10 to generate a converted voxel image. That is, the coordinate conversion processing unit 34 performs a predetermined coordinate conversion process on the voxel structure V (x, y, z, c) to generate a converted voxel structure. The converted voxel structure is represented as V ′ (x, y, z ′, c). The converted voxel structure V ′ (x, y, z ′, c) is V ′ (x, y, z ′, c) = Matrix (4 × 4) · V (x, y, z, c). Can be expressed as Here, 0 ≦ x ≦ Sx−1, 0 ≦ y ≦ Sy−1, 0 ≦ z ′ ≦ Sz′−1, and 0 ≦ c ≦ 3. Note that z ′ is obtained by correcting the z axis so that the resolution matches that of the xy axis, and z ′ = z · Rxy / Rz and Sz ′ = Sz · Rxy / Rz. Matrix (4 × 4) is a transformation matrix for performing coordinate transformation, and a specific transformation formula will be described later.
図28Aに示すように、レンダリング像が生成される投影面の向きと、ボクセル構造体V(x,y,z,c)のz軸方向が一致していないと、後述のレイキャスティング処理が複雑になる。そこで、図28Bに示すように、ボクセル構造体V(x,y,z,c)のxyz軸を回転させて、例えば、座標変換後のz′軸が投影面に対して垂直方向にすることにより、レイキャスティング処理を簡単にすることができる。 As shown in FIG. 28A, if the direction of the projection plane where the rendering image is generated and the z-axis direction of the voxel structure V (x, y, z, c) do not match, the later-described ray casting process is complicated. become. Therefore, as shown in FIG. 28B, the xyz axis of the voxel structure V (x, y, z, c) is rotated so that, for example, the z ′ axis after coordinate transformation is perpendicular to the projection plane. Thus, the ray casting process can be simplified.
図29は本実施の形態のレイキャスティング装置120による座標変換処理の一例を示す説明図である。図29に示すように、変換後のボクセル構造体V′(x,y,z′,c)は、変換前のボクセル構造体をV(x,y,z,c)に対して、ROIによるクリッピングを行い、関心領域を設定し、その後座標変換を行うことにより求めることができる。ROIによるクリッピングでは、x軸方向のROIとして、Xs−Xeを設定し、y軸方向のROIとして、Ys−Yeを設定し、z軸方向のROIとして、Zs−Zeを設定する。ここで、0≦Xs<Xe≦Sx−1、0≦Ys<Ye≦Sy−1、0≦Zs<Ze≦Sz−1である。変換前のボクセル構造体において、関心領域以外のボクセルRGB値および不透明度は全て0であるとみなして、座標変換処理を行う。 FIG. 29 is an explanatory diagram showing an example of coordinate conversion processing by the ray casting apparatus 120 according to the present embodiment. As shown in FIG. 29, the converted voxel structure V ′ (x, y, z ′, c) is obtained by ROI with respect to the voxel structure before conversion with respect to V (x, y, z, c). It can be obtained by performing clipping, setting a region of interest, and then performing coordinate transformation. In clipping by ROI, Xs-Xe is set as the ROI in the x-axis direction, Ys-Ye is set as the ROI in the y-axis direction, and Zs-Ze is set as the ROI in the z-axis direction. Here, 0 ≦ Xs <Xe ≦ Sx−1, 0 ≦ Ys <Ye ≦ Sy−1, and 0 ≦ Zs <Ze ≦ Sz−1. In the voxel structure before conversion, the voxel RGB values and opacity other than the region of interest are all considered to be 0, and coordinate conversion processing is performed.
座標変換は、例えば、スケーリング、z方向変倍処理、オフセット、回転、透視変換の順番で行うことができるが、4×4の変換行列で定義可能な範囲であれば、各処理の順番は、図29の例に限定されない。 For example, coordinate transformation can be performed in the order of scaling, z-direction scaling, offset, rotation, and perspective transformation. If the range can be defined by a 4 × 4 transformation matrix, the order of each processing is as follows: It is not limited to the example of FIG.
スケーリングは、xyz軸方向で同一の拡大縮小倍率Scaleを用いる。 Scaling uses the same scale factor Scale in the xyz-axis direction.
z方向変倍処理は、z方向の画素の物理的な間隔をxy方向の画素の物理的な間隔に合わせるための処理である。z方向変倍処理では、z方向変倍率Scz(=Rxy/Rz)を用いる。 The z-direction scaling process is a process for adjusting the physical interval between pixels in the z direction to the physical interval between pixels in the xy direction. In the z-direction scaling process, z-direction scaling ratio Scz (= Rxy / Rz) is used.
オフセットは、x軸方向、y軸方向、z軸方向に平行移動させるための処理である。オフセットでは、x軸方向のオフセットXoff、y軸方向のオフセットYoff、z軸方向のオフセットZoffを用いる。 The offset is a process for translating in the x-axis direction, the y-axis direction, and the z-axis direction. In the offset, an offset Xoff in the x-axis direction, an offset Yoff in the y-axis direction, and an offset Zoff in the z-axis direction are used.
回転は、x軸回り、y軸回り、z軸回りに回転させるための処理である。回転では、x軸中心の回転角Rx、y軸中心の回転角Ry、z軸中心の回転角Rz(角度の単位は全てラジアン)を用いる。 The rotation is processing for rotating around the x axis, the y axis, and the z axis. In the rotation, a rotation angle Rx about the x axis, a rotation angle Ry about the y axis, and a rotation angle Rz about the z axis (all angle units are radians) are used.
透視変換は、いわゆる内視鏡モードで画像を表示させるための処理である。透視変換では、注視点(原点、なお、オフセットがある場合、オフセット後の原点)からz軸方向の視点までの距離Distを用いる。なお、平行投影の場合には、Dist=0と設定する。 The perspective transformation is a process for displaying an image in a so-called endoscope mode. In perspective transformation, the distance Dist from the gazing point (the origin, or the origin after the offset if there is an offset) to the viewpoint in the z-axis direction is used. In the case of parallel projection, Dist = 0 is set.
上述のクリッピング、座標変換により、変換後のボクセル構造体V′(x,y,z′,c)の値が決定される。なお、スケーリング、z方向変倍処理、オフセット、回転、透視変換の各処理は、変換行列Matrix(4×4)に纏めることができる。 The value of the voxel structure V ′ (x, y, z ′, c) after conversion is determined by the above clipping and coordinate conversion. Note that each process of scaling, z-direction scaling, offset, rotation, and perspective transformation can be summarized in a transformation matrix Matrix (4 × 4).
探索制御マスク生成部36は、変換後ボクセル構造体V′(x,y,z′,c)のxy座標毎に、変換後ボクセル構造体V′(x,y,z′,c)のボクセルの不透明度αが0(透明)でない視線上の最小値及び最大値を特定する。 The search control mask generation unit 36 performs voxel of the converted voxel structure V ′ (x, y, z ′, c) for each xy coordinate of the converted voxel structure V ′ (x, y, z ′, c). The minimum value and the maximum value on the line of sight where the opacity α is not 0 (transparent) are specified.
図30は本実施の形態のレイキャスティング装置120による探索制御マスクデータ生成処理の一例を示す説明図である。図30では、変換後のボクセル構造体V′(x,y,z′,c)をxz′平面から見た場合を示す。投影面はxy平面となる。探索制御マスク生成部36は、探索制御マスクデータM(x,y,s)を生成する。ここで、s=0(有効なボクセルの範囲の開始点)又は1(有効なボクセルの範囲の終了点)である。 FIG. 30 is an explanatory diagram illustrating an example of search control mask data generation processing by the ray casting apparatus 120 according to the present embodiment. FIG. 30 shows a case where the voxel structure V ′ (x, y, z ′, c) after conversion is viewed from the xz ′ plane. The projection plane is an xy plane. The search control mask generation unit 36 generates search control mask data M (x, y, s). Here, s = 0 (the start point of a valid voxel range) or 1 (the end point of a valid voxel range).
図30に示すように、2次元座標(x,y)毎に、z軸方向に探索対象とする有効なボクセルの範囲を設定する。有効なボクセルとは、不透明度αが0でない値を有するボクセルである。不透明度αが0とは、透明であるということであり、レンダリング像において当該ボクセルは計算対象から外され表示されない。 As shown in FIG. 30, for each two-dimensional coordinate (x, y), an effective voxel range to be searched is set in the z-axis direction. An effective voxel is a voxel having an opacity α that is not zero. When the opacity α is 0, the opacity α is transparent, and the voxel is excluded from the calculation target and is not displayed in the rendered image.
0≦x≦Sx−1、0≦y≦Sy−1の座標(x,y)毎に、z′=0からz′=Sz′−1に向かってz′を一つずつ増やして、最初にV′(x,y,z1,3)>0を満たすz1を探索する。また、同じ座標(x,y)について、z′=Sz′−1からz′=0に向かってz′を一つずつ減らして、最初にV′(x,y,z2,3)>0を満たすz2を探索する。すなわち、z′が、少なくともz1とz2では、V′(x,y,z′,3)>0を満たし、ボクセルの不透明度αは0でないが、z′がz1とz2の間では、V′(x,y,z′,3)=0となることもある。即ち、z1は有効なボクセルが存在するz′の最小値であり、z2は最大値となる。探索制御マスクデータM(x,y,s)は、M(x,y,0)=z1となり、M(x,y,1)=z2となる。 For each coordinate (x, y) of 0 ≦ x ≦ Sx−1 and 0 ≦ y ≦ Sy−1, z ′ is incremented by one from z ′ = 0 to z ′ = Sz′-1, Search for z1 satisfying V ′ (x, y, z1, 3)> 0. For the same coordinate (x, y), z ′ is decreased one by one from z ′ = Sz′−1 to z ′ = 0, and V ′ (x, y, z2, 3)> 0 first. Search for z2 that satisfies. That is, when z ′ is at least z1 and z2, V ′ (x, y, z ′, 3)> 0 is satisfied, and the voxel opacity α is not 0, but when z ′ is between z1 and z2, V ′ '(X, y, z', 3) may be zero. That is, z1 is the minimum value of z ′ where there is a valid voxel, and z2 is the maximum value. The search control mask data M (x, y, s) is M (x, y, 0) = z1, and M (x, y, 1) = z2.
なお、z1=z2、あるいは、z1、z2が見つからない場合、M(x,y,0)=M(x,y,1)=−1とする。 If z1 = z2 or z1 and z2 are not found, M (x, y, 0) = M (x, y, 1) = − 1.
探索制御マスクデータM(x,y,s)を生成することにより、有効でないボクセルを除外して、後続のレイキャスティング処理を行うことができるので、レイキャスティング処理の負荷を軽減することができ、ボリュームレンダリング処理を高速化することができる。 By generating the search control mask data M (x, y, s), it is possible to exclude the voxels that are not valid and perform the subsequent ray casting process, thereby reducing the load of the ray casting process. The volume rendering process can be speeded up.
レイキャスティング処理部35は、ボクセル構造体(変換後ボクセル構造体)に対してボリュームレンダリング処理を行ってレンダリング画像を生成する。 The ray casting processing unit 35 performs a volume rendering process on the voxel structure (converted voxel structure) to generate a rendering image.
具体的には、レイキャスティング処理部35は、所定の視点から所定の透過強度を有する仮想光線を変換後のボクセル構造体V′(x,y,z′,c)に向かってz′方向に照射したときに、z′軸上のボクセル毎に当該ボクセルの不透明度αに基づく仮想光線の吸収・減衰度を考慮しながらボクセル通過後の強度を算出し、透過強度が所定の下限以下になる最深点のボクセルを決定する。そして、最深点のボクセルより視点方向に仮想光線が通過した各ボクセルを逆に辿りながら、各ボクセルのRGB値及び不透明度αを基にRGB値を累積加算した値を、当該視線が投影面と交差する画素の画素値としてレンダリング画像を生成する。仮想光線を変換後のボクセル構造体V′(x,y,z′,c)に向かってz′方向に照射し、最深点のボクセルを決定する過程で、各ボクセルのRGB値及び不透明度α並びに仮想光線の透過強度の積を累積加算することにより、投影面と交差する画素の画素値を同時に算出する方法もとれる。本願では後者の方法に基づいて以下説明する。 Specifically, the ray casting processing unit 35 in the z ′ direction toward the voxel structure V ′ (x, y, z ′, c) after conversion of the virtual ray having a predetermined transmission intensity from a predetermined viewpoint. When irradiated, the intensity after passing through the voxel is calculated for each voxel on the z ′ axis while taking into account the absorption / attenuation of the virtual ray based on the opacity α of the voxel, and the transmission intensity falls below a predetermined lower limit. Determine the deepest voxel. Then, while tracing back each voxel through which the virtual ray has passed in the direction of the viewpoint from the voxel at the deepest point, a value obtained by accumulating the RGB values based on the RGB value and opacity α of each voxel is used as the projection plane. A rendering image is generated as pixel values of intersecting pixels. In the process of irradiating a virtual ray toward the voxel structure V ′ (x, y, z ′, c) after conversion in the z ′ direction and determining the deepest voxel, the RGB value and opacity α of each voxel are determined. In addition, a method of simultaneously calculating pixel values of pixels intersecting with the projection plane by accumulatively adding products of transmission intensities of virtual rays. The present application will be described below based on the latter method.
図31は本実施の形態のレイキャスティング装置120による平行投影の場合のレイキャスティング処理の一例を示す説明図である。図31では、変換後のボクセル構造体V′(x,y,z′,c)を3次元的にボクセルデータが詰まった立方体として図示している。変換後のボクセル構造体V′(x,y,z′,c)のxy軸に平行な投影面(レンダリング像)が、変換後のボクセル構造体V′(x,y,z′,c)から所要距離だけ離隔して配置されているとする。図31のように、視点が無限遠点に位置する場合が一般的に使用される平行投影で(本来はDist=∞であるが、本願ではDist=0と設定)、視点からボクセル構造体内部に向かう全ての視線がz′軸と平行になる。レイキャスティング処理(ボリュームレンダリング)では、不透明度αに基づいて半透明表示(αブレンディング)を行うことによって、変換後のボクセル構造体V′(x,y,z′,c)の内部を可視化する。すなわち、可視化は、変換後のボクセル構造体V′(x,y,z′,c)のボクセルが有するボクセル値(RGB値及び不透明度α)によって実現される。 FIG. 31 is an explanatory diagram showing an example of ray casting processing in the case of parallel projection by the ray casting apparatus 120 of the present embodiment. In FIG. 31, the voxel structure V ′ (x, y, z ′, c) after conversion is illustrated as a cube filled with voxel data three-dimensionally. A projection plane (rendered image) parallel to the xy axis of the voxel structure V ′ (x, y, z ′, c) after conversion is converted into a voxel structure V ′ (x, y, z ′, c) after conversion. It is assumed that they are arranged at a required distance from each other. As shown in FIG. 31, the case where the viewpoint is located at an infinite point is a parallel projection that is generally used (originally Dist = ∞, but set to Dist = 0 in this application), and the inside of the voxel structure from the viewpoint. All the lines of sight toward are parallel to the z ′ axis. In the ray casting process (volume rendering), the inside of the voxel structure V ′ (x, y, z ′, c) after conversion is visualized by performing translucent display (α blending) based on the opacity α. . That is, visualization is realized by the voxel values (RGB value and opacity α) of the voxels of the voxel structure V ′ (x, y, z ′, c) after conversion.
図32は本実施の形態のレイキャスティング装置120による透視投影の場合のレイキャスティング処理の一例を示す説明図である。図32のように視点が投影面に比較的接近している場合(本願ではDist>0)が透視投影で、内視鏡表示の際は、投影面や視点がボクセル構造体V′(x,y,z′,c)の内部に没入することもある。図31の場合と同様に、レイキャスティング処理(ボリュームレンダリング)では、不透明度αに基づいて半透明表示(αブレンディング)を行うことによって、変換後のボクセル構造体V′(x,y,z′,c)の内部を可視化する。すなわち、可視化は、変換後のボクセル構造体V′(x,y,z′,c)のボクセルが有するボクセル値(RGB値及び不透明度α)によって実現される。 FIG. 32 is an explanatory diagram showing an example of ray casting processing in the case of perspective projection by the ray casting apparatus 120 of the present embodiment. As shown in FIG. 32, when the viewpoint is relatively close to the projection plane (Dist> 0 in the present application) is perspective projection, the projection plane and viewpoint are voxel structures V ′ (x, It may be immersive inside y, z ', c). As in the case of FIG. 31, in the ray casting process (volume rendering), the voxel structure V ′ (x, y, z ′) after conversion is obtained by performing translucent display (α blending) based on the opacity α. , C) is visualized. That is, visualization is realized by the voxel values (RGB value and opacity α) of the voxels of the voxel structure V ′ (x, y, z ′, c) after conversion.
図31及び図32に示すように、視点から視線を変換後のボクセル構造体V′(x,y,z′,c)の内部に伸ばし、視線上にあるサンプリング点(ボクセル)において当該ボクセルのRGB値と不透明度αに基づいてRGB輝度値を視線に沿って累積計算し、累積計算した値を、当該視線が投影面と交差する位置のピクセル(画素の画素値)としてレンダリング像を生成する。この際に、前述の探索制御マスクM(x,y,0)とM(x,y,1)との間のz′について累積計算を行う。なお、レイキャスティング処理の詳細は後述する。 As shown in FIGS. 31 and 32, the line of sight is extended from the viewpoint to the inside of the converted voxel structure V ′ (x, y, z ′, c), and at the sampling point (voxel) on the line of sight, Based on the RGB value and the opacity α, the RGB luminance value is cumulatively calculated along the line of sight, and a rendering image is generated using the cumulatively calculated value as a pixel (pixel value of the pixel) at a position where the line of sight intersects the projection plane. . At this time, cumulative calculation is performed for z ′ between the above-described search control masks M (x, y, 0) and M (x, y, 1). Details of the ray casting process will be described later.
次に、本実施の形態のレイキャスティング装置120の動作について説明する。 Next, the operation of the ray casting apparatus 120 of the present embodiment will be described.
図33及び図34は本実施の形態のレイキャスティング装置120によるレイキャスティング処理の手順の一例を示すフローチャートである。以下では、便宜上、処理の主体を画像処理部30として説明する。画像処理部30は、DICOM画像の画像データを取得し(S41)、カラーマップデータを取得する(S42)。なお、カラーマップデータは、図3、図4で例示したものである。 33 and 34 are flowcharts showing an example of a procedure of ray casting processing by the ray casting apparatus 120 according to the present embodiment. Hereinafter, for the sake of convenience, the subject of processing will be described as the image processing unit 30. The image processing unit 30 acquires image data of the DICOM image (S41), and acquires color map data (S42). The color map data is illustrated in FIGS. 3 and 4.
画像処理部30は、座標変換パラメータを取得し(S43)、xyz方向のROI値を取得する(S44)。なお、座標変換パラメータ、ROI値は、図29で例示したものである。画像処理部30は、DICOM画像の階調圧縮処理を行い(S45)、階調圧縮断層画像D8に対してカラーマップ定義を行う(S46)。カラーマップ定義は、階調圧縮断層画像D8の画素値に対して、RGB値及び不透明度αを定義する。なお、ステップS45の処理は必須ではなく、ステップS45の処理を実施しない場合には、DICOM画像に対してカラーマップ定義を行えばよい。 The image processing unit 30 acquires coordinate conversion parameters (S43), and acquires an ROI value in the xyz direction (S44). The coordinate conversion parameters and the ROI values are those illustrated in FIG. The image processing unit 30 performs gradation compression processing of the DICOM image (S45), and performs color map definition for the gradation compressed tomographic image D8 (S46). The color map definition defines RGB values and opacity α for the pixel values of the gradation compressed tomographic image D8. Note that the process of step S45 is not essential, and if the process of step S45 is not performed, color map definition may be performed for the DICOM image.
画像処理部30は、カラーマップを適用して暫定ボクセル構造体Vo(x,y,z,c)を生成する(S47)。画像処理部30は、暫定ボクセル構造体Vo(x,y,z,c)に対して、ボクセルのスムージング処理を行ってボクセル構造体V(x,y,z,c)を生成する(S48)。ボクセルのスムージング処理は、不透明度のみのスムージング処理でもよく、RGB値及び不透明度のスムージング処理でもよい。 The image processing unit 30 generates the provisional voxel structure Vo (x, y, z, c) by applying the color map (S47). The image processing unit 30 performs a voxel smoothing process on the provisional voxel structure Vo (x, y, z, c) to generate the voxel structure V (x, y, z, c) (S48). . The voxel smoothing process may be an opacity only smoothing process or an RGB value and opacity smoothing process.
画像処理部30は、陰影計算を行うか否かを判定し(S49)、陰影計算を行う場合(S49でYES)、陰影計算を行い(S50)、後述のステップS51の処理を行う。陰影計算を行わない場合(S49でNO)、画像処理部30は、ボクセル構造体V(x,y,z,c)に対して座標変換処理を行い(S51)、変換後ボクセル構造体V′(x,y,z′,c)を生成する(S52)。 The image processing unit 30 determines whether or not to perform the shadow calculation (S49). When performing the shadow calculation (YES in S49), the image processing unit 30 performs the shadow calculation (S50) and performs the process of step S51 described later. When the shadow calculation is not performed (NO in S49), the image processing unit 30 performs a coordinate conversion process on the voxel structure V (x, y, z, c) (S51), and the converted voxel structure V ′. (X, y, z ', c) is generated (S52).
画像処理部30は、探索制御マスクデータM(x,y,s)を生成し(S53)、レイキャスティング処理を行い(S54)、レンダリング画像Image(x,y,c)を生成し(S55)、処理を終了する。ここで、0≦Image(x,y,c)≦255、c=0(R)、c=1(G)、c=2(B)である。 The image processing unit 30 generates search control mask data M (x, y, s) (S53), performs ray casting processing (S54), and generates a rendering image Image (x, y, c) (S55). The process is terminated. Here, 0 ≦ Image (x, y, c) ≦ 255, c = 0 (R), c = 1 (G), and c = 2 (B).
本実施の形態の画像処理部30は、第1実施形態の画像処理部20と同様に、図21に例示する構成とすることができる。ただし、GPU204及びビデオメモリ205は具備しなくてもよい。 The image processing unit 30 of the present embodiment can be configured as illustrated in FIG. 21, similarly to the image processing unit 20 of the first embodiment. However, the GPU 204 and the video memory 205 may not be provided.
図35及び図36は本実施の形態のレイキャスティング装置120によるモアレ対策結果の第1例を示す説明図である。図35Aは、比較例でありDICOM画像のボクセル値に対してスムージング処理を行った後にカラーマップを適用した場合を示す。図35B、図36A及び図36Bは本実施の形態のカラーマップを適用した後の暫定ボクセル構造体に対してスムージング処理を実施した場合を示し、図35Bはボクセルの不透明度αのみスムージング処理を行った場合を示し、図36AはボクセルのRGB値及び不透明度αのスムージング処理を行った場合を示し、図36BはボクセルのRGB値のみスムージング処理を行った場合を示す。なお、図35及び図36では、レイキャスティング法に基づくCPU版で陰影なしでカラーマップを適用している。 FIG. 35 and FIG. 36 are explanatory diagrams showing a first example of the moire countermeasure result by the ray casting apparatus 120 of the present embodiment. FIG. 35A is a comparative example and shows a case where a color map is applied after smoothing processing is performed on voxel values of a DICOM image. FIG. 35B, FIG. 36A, and FIG. 36B show the case where the smoothing process is performed on the provisional voxel structure after applying the color map of the present embodiment, and FIG. 35B shows the case where the smoothing process is performed only for the opacity α of the voxel. FIG. 36A shows a case where the smoothing process of the voxel RGB value and the opacity α is performed, and FIG. 36B shows a case where only the voxel RGB value is smoothed. In FIGS. 35 and 36, a color map is applied without shading in the CPU version based on the ray casting method.
図35Aに示すように、比較例では斑点状の色ずれが発生している。図35Bでは斑点状の色ずれが消えていることが分かる。また、図36Aでも斑点状の色ずれが消えているが、図35Bと対比すると画像が若干ぼけて見える。ただし、ユーザの好みに応じて、図35B又は図36Aのいずれでも用いることができる。また、図36Bでは斑点状の色ずれが若干残っている。従って、ボクセルのRGB値のみのスムージング処理を行うよりも、不透明度αのみのスムージング、あるいはRGB値及び不透明度αのすべてのスムージング処理を行う方が好ましい。 As shown in FIG. 35A, a spot-like color shift occurs in the comparative example. In FIG. 35B, it can be seen that the spot-like color shift disappears. Also, the spot-like color shift disappears in FIG. 36A, but the image looks slightly blurred as compared with FIG. 35B. However, either FIG. 35B or FIG. 36A can be used according to the user's preference. In FIG. 36B, some spot-like color misregistration remains. Therefore, it is preferable to perform smoothing only for the opacity α or all smoothing processing for the RGB value and the opacity α, rather than performing the smoothing processing only for the RGB values of the voxels.
図37及び図38は本実施の形態のレイキャスティング装置120によるモアレ対策結果の第2例を示す説明図である。図37Aは、比較例でありDICOM画像のボクセル値に対してスムージング処理を行った後にカラーマップを適用した場合を示す。図37B、図38A及び図38Bは本実施の形態のカラーマップを適用した後の暫定ボクセル構造体に対してスムージング処理を実施した場合を示し、図37Bはボクセルの不透明度αのみスムージング処理を行った場合を示し、図38AはボクセルのRGB値及び不透明度αのスムージング処理を行った場合を示し、図38BはボクセルのRGB値のみスムージング処理を行った場合を示す。なお、図37及び図38では、レイキャスティング法に基づくCPU版で陰影ありでカラーマップを適用している。 FIGS. 37 and 38 are explanatory diagrams showing a second example of the moire countermeasure result by the ray casting apparatus 120 of the present embodiment. FIG. 37A is a comparative example and shows a case where a color map is applied after performing a smoothing process on the voxel values of the DICOM image. FIG. 37B, FIG. 38A, and FIG. 38B show the case where the smoothing process is performed on the provisional voxel structure after the color map of the present embodiment is applied, and FIG. 37B performs the smoothing process only on the opacity α of the voxel. FIG. 38A shows a case where the smoothing process of the voxel RGB value and opacity α is performed, and FIG. 38B shows a case where only the voxel RGB value is smoothed. In FIG. 37 and FIG. 38, a color map is applied with shading in the CPU version based on the ray casting method.
図37Aに示すように、比較例では斑点状の色ずれが発生している。図37Bでは斑点状の色ずれが消えていることが分かる。また、図38Aでも斑点状の色ずれが消えているが、図37Bと対比すると画像が若干ぼけて見える。ただし、ユーザの好みに応じて、図37B又は図38Aのいずれでも用いることができる。また、図38Bでは斑点状の色ずれが若干残っている。従って、ボクセルのRGB値のみのスムージング処理を行うよりも、不透明度αのみのスムージング、あるいはRGB値及び不透明度αのすべてのスムージング処理を行う方が好ましい。 As shown in FIG. 37A, a spot-like color shift occurs in the comparative example. In FIG. 37B, it can be seen that the spot-like color shift disappears. Also, the spot-like color shift disappears in FIG. 38A, but the image appears slightly blurred as compared with FIG. 37B. However, either FIG. 37B or FIG. 38A can be used according to the user's preference. In FIG. 38B, some spot-like color misregistration remains. Therefore, it is preferable to perform smoothing only for the opacity α or all smoothing processing for the RGB value and the opacity α, rather than performing the smoothing processing only for the RGB values of the voxels.
上述のように、第1及び第2実施形態によれば、従来と同等なリアルタイム性及び処理速度を維持しながら、カラーマップ適用時のモアレの発生を抑制することができる。 As described above, according to the first and second embodiments, it is possible to suppress the occurrence of moiré when applying a color map while maintaining the same real-time property and processing speed as in the past.
本実施の形態のコンピュータプログラムは、コンピュータに、z軸方向に沿って所定間隔で撮像された複数のxy平面画像の画像データを取得する処理と、前記xy平面画像の画素の値に対してRGB値及び不透明度が定められ、前記複数のxy平面画像それぞれの各画素に対応するRGB値及び不透明度を有するボクセルで構成される暫定ボクセル構造体を生成する処理と、前記暫定ボクセル構造体のボクセルに対して、該ボクセルの近傍に位置する近傍ボクセルの不透明度に基づいて、前記ボクセルの不透明度を補正してボクセル構造体を生成する処理と、前記ボクセル構造体に対してボリュームレンダリング処理を行ってレンダリング画像を生成する処理とを実行させる。 The computer program according to the present embodiment performs a process of acquiring image data of a plurality of xy plane images captured at predetermined intervals along the z-axis direction, and performs RGB processing on pixel values of the xy plane image. Processing for generating a provisional voxel structure composed of voxels having RGB values and opacity corresponding to each pixel of each of the plurality of xy plane images, and a voxel of the provisional voxel structure On the other hand, processing for generating a voxel structure by correcting the opacity of the voxel based on the opacity of neighboring voxels located in the vicinity of the voxel, and performing volume rendering processing on the voxel structure And processing for generating a rendered image.
本実施の形態のコンピュータプログラムは、コンピュータに、前記暫定ボクセル構造体のボクセルに対して、該ボクセルの近傍に位置する近傍ボクセルのRGB値に基づいて、前記ボクセルのRGB値を補正してボクセル構造体を生成する処理と、前記ボクセル構造体に対してボリュームレンダリング処理を行ってレンダリング画像を生成する処理とを実行させる。 The computer program according to the present embodiment corrects the RGB value of the voxel based on the RGB value of the neighboring voxel located in the vicinity of the voxel with respect to the voxel of the provisional voxel structure. A process of generating a body and a process of generating a rendering image by performing volume rendering processing on the voxel structure.
本実施の形態のコンピュータプログラムは、コンピュータに、前記暫定ボクセル構造体のボクセルに対して、該ボクセルのxyz方向の近傍に位置する26近傍ボクセルの不透明度又はRGB値に基づいて、前記ボクセルの不透明度又はRGB値を補正する処理を実行させる。 The computer program according to the present embodiment causes the voxel to be detected based on the opacity or RGB value of 26 neighboring voxels located in the xyz direction of the voxel with respect to the voxels of the provisional voxel structure. A process of correcting the transparency or the RGB value is executed.
本実施の形態のコンピュータプログラムは、コンピュータに、前記暫定ボクセル構造体のボクセルに対して、該ボクセルのxyz方向の3つの軸方向のうちの第1軸方向の近傍に位置する2近傍ボクセルの不透明度又はRGB値に基づいて、前記ボクセルの不透明度又はRGB値を補正する処理と、前記第1軸方向の2近傍ボクセルによってボクセルの不透明度又はRGB値が補正された暫定ボクセル構造体のボクセルに対して、前記3つの軸方向のうちの第2軸方向の近傍に位置する2近傍ボクセルの不透明度又はRGB値に基づいて、前記ボクセルの不透明度又はRGB値を補正する処理と、前記第2軸方向の2近傍ボクセルによってボクセルの不透明度又はRGB値が補正された暫定ボクセル構造体のボクセルに対して、前記3つの軸方向のうちの第3軸方向の近傍に位置する2近傍ボクセルの不透明度又はRGB値に基づいて、前記ボクセルの不透明度又はRGB値を補正する処理とを実行させる。 The computer program according to the present embodiment causes a computer to execute the determination of two neighboring voxels positioned in the vicinity of the first axial direction among the three axial directions of the voxel in the xyz direction with respect to the voxels of the provisional voxel structure. Based on the transparency or RGB value, the processing for correcting the opacity or RGB value of the voxel and the voxel of the provisional voxel structure in which the opacity or RGB value of the voxel is corrected by the two neighboring voxels in the first axis direction On the other hand, the process of correcting the opacity or RGB value of the voxel based on the opacity or RGB value of two neighboring voxels located in the vicinity of the second axial direction of the three axial directions; For the voxels of the temporary voxel structure in which the opacity or RGB value of the voxel is corrected by two neighboring voxels in the axial direction, the three axes Based on the opacity or RGB value of 2 neighboring voxels located in the vicinity of the third axis direction of the direction, to execute a process for correcting the opacity or RGB values of the voxels.
本実施の形態のコンピュータプログラムは、コンピュータに、前記暫定ボクセル構造体の各ボクセルの2近傍ボクセルによって前記各ボクセルの不透明度又はRGB値を補正した補正値を第1バッファに記憶する処理と、第2バッファに記憶されている前記暫定ボクセル構造体の前記各ボクセルの直前に処理された直前ボクセルの2近傍ボクセルによって前記直前ボクセルの不透明度又はRGB値を補正した直前補正値により前記暫定ボクセル構造体の前記直前ボクセルの不透明度又はRGB値を更新する処理と、前記第1バッファに記憶した前記補正値を前記第2バッファに転送する処理とを実行させる。 The computer program according to the present embodiment stores, in the first buffer, a correction value obtained by correcting the opacity or RGB value of each voxel by using two neighboring voxels of each voxel of the provisional voxel structure. The provisional voxel structure according to the immediately preceding correction value obtained by correcting the opacity or RGB value of the immediately preceding voxel by two neighboring voxels of the immediately preceding voxel processed immediately before each voxel of the provisional voxel structure stored in two buffers The process of updating the opacity or RGB value of the immediately preceding voxel and the process of transferring the correction value stored in the first buffer to the second buffer are executed.
本実施の形態のコンピュータプログラムは、コンピュータに、複数の離散的な数値とRGB値及び不透明度との関係を定義した定義情報に基づいて、所定範囲の連続的な数値とRGB値及び不透明度との関係を対応付けたカラーマップを生成する処理と、生成したカラーマップに基づいて、前記複数のxy平面画像それぞれの各画素の値に対応するRGB値及び不透明度を有するボクセルで構成される暫定ボクセル構造体を生成する処理とを実行させる。 The computer program according to the present embodiment allows a computer to determine a continuous range of numerical values, RGB values, and opacity based on definition information that defines a relationship between a plurality of discrete numerical values, RGB values, and opacity. A process for generating a color map in which the relationship is associated, and a provisional image composed of voxels having RGB values and opacity corresponding to the values of each pixel of each of the plurality of xy plane images based on the generated color map And a process for generating a voxel structure.
本実施の形態のコンピュータプログラムは、コンピュータに、前記ボクセル構造体の不透明度が所定値である対象ボクセルに対して、該対象ボクセルの近傍に位置する近傍ボクセルのRGB値に基づいて、前記対象ボクセルのRGB値を補正する処理と、RGB値が補正されたボクセル構造体のボクセルで構成される3Dテクスチャ画像を生成する処理と、前記3Dテクスチャ画像に対して所定の変換を行って変換後3Dテクスチャ画像を生成する処理と、3次元空間のXY座標面上の四角形をZ軸方向に並べた積層四角形を設定する処理と、所定の視点からZ軸方向に平行な視線上の前記四角形のXY座標に対応する前記変換後3Dテクスチャ画像のボクセルのRGB値を前記ボクセルの不透明度に基づいて前記視点から遠い四角形の順にアルファブレンディングして得られたRGB値を、前記視線が投影面と交差する画素の画素値としてレンダリング画像を生成する処理とを実行させる。 The computer program according to the present embodiment causes the computer to execute the target voxel based on the RGB values of neighboring voxels located in the vicinity of the target voxel with respect to the target voxel having the opacity of the voxel structure being a predetermined value. Processing for correcting the RGB value, processing for generating a 3D texture image composed of voxels having a corrected voxel structure, and performing a predetermined conversion on the 3D texture image to convert the 3D texture A process of generating an image, a process of setting a stacked quadrangle in which quadrilaterals on an XY coordinate plane of a three-dimensional space are arranged in the Z-axis direction, and XY coordinates of the quadrangle on a line of sight parallel to the Z-axis direction from a predetermined viewpoint The RGB values of voxels in the converted 3D texture image corresponding to are in the order of rectangles farther from the viewpoint based on the opacity of the voxels. RGB values obtained by Alpha blending, the line of sight to execute a process of generating a rendered image as a pixel value of the pixel intersects the projection plane.
本実施の形態のコンピュータプログラムは、コンピュータに、前記複数のxy平面画像を間にしてz軸方向の両端に配置されたダミーxy平面画像の各画素に対応し、不透明度が前記所定値とされたダミーボクセルを付加したボクセル構造体を生成する処理と、生成したボクセル構造体のボクセルのうち不透明度が前記所定値である対象ボクセルに対して、該対象ボクセルの近傍に位置する近傍ボクセルのRGB値に基づいて、前記対象ボクセルのRGB値を補正する処理とを実行させる。 The computer program according to the present embodiment corresponds to each pixel of the dummy xy plane image arranged at both ends in the z-axis direction with the plurality of xy plane images in between, and the opacity is set to the predetermined value. Processing for generating a voxel structure to which the dummy voxel is added, and RGB of the neighboring voxels located in the vicinity of the target voxel with respect to the target voxel having the opacity of the predetermined value among the voxels of the generated voxel structure And a process of correcting the RGB value of the target voxel based on the value.
本実施の形態のコンピュータプログラムは、コンピュータに、前記複数のxy平面画像の数及び前記ダミーxy平面画像の数の合計値と同数の前記四角形をZ軸方向に並べた積層四角形を設定する処理を実行させる。 The computer program according to the present embodiment performs processing for setting a stacked quadrangle in which the same number of the quadrilaterals as the total number of the plurality of xy plane images and the number of the dummy xy plane images are arranged in the Z-axis direction. Let it run.
本実施の形態のコンピュータプログラムは、コンピュータに、前記複数のxy平面画像の外縁部の各画素に対応し、不透明度が前記所定値とされたボクセルを含むボクセル構造体を生成する処理と、生成したボクセル構造体のボクセルのうち不透明度が前記所定値である対象ボクセルに対して、該対象ボクセルの近傍に位置する近傍ボクセルのRGB値に基づいて、前記対象ボクセルのRGB値を補正する処理とを実行させる。 The computer program according to the present embodiment generates a voxel structure that includes a voxel corresponding to each pixel at the outer edge of the plurality of xy planar images and having an opacity set to the predetermined value, and Processing for correcting the RGB value of the target voxel based on the RGB value of a neighboring voxel located in the vicinity of the target voxel with respect to the target voxel having an opacity of the predetermined value among the voxels of the voxel structure Is executed.
本実施の形態のコンピュータプログラムは、コンピュータに、ボリュームレンダリング処理の対象領域を画定するxyz座標を設定する処理と、前記ボクセル構造体のボクセルのうちxyz座標が前記対象領域外のボクセルに対して、該ボクセルの不透明度に前記所定値を設定する処理と、前記所定値が設定されたボクセル構造体のボクセルのうち不透明度が前記所定値である対象ボクセルに対して、該対象ボクセルの近傍に位置する近傍ボクセルのRGB値に基づいて、前記対象ボクセルのRGB値を補正する処理とを実行させる。 The computer program according to the present embodiment is a computer program for setting xyz coordinates that define a target area for volume rendering processing, and among the voxels of the voxel structure, the xyz coordinates are for voxels outside the target area. A process of setting the predetermined value for the opacity of the voxel and a target voxel having an opacity of the predetermined value among the voxels of the voxel structure in which the predetermined value is set, is positioned in the vicinity of the target voxel And a process of correcting the RGB value of the target voxel based on the RGB value of the neighboring voxel to be executed.
本実施の形態のコンピュータプログラムは、コンピュータに、前記視線上の前記四角形のXY座標に対応する前記3Dテクスチャ画像のxyz座標を算出する処理と、算出したxyz座標に対応する前記変換後3Dテクスチャ画像のxyz座標に対応するボクセルのRGB値及び不透明度に基づいてアルファブレンディングする処理とを実行させる。 The computer program according to the present embodiment causes the computer to calculate the xyz coordinates of the 3D texture image corresponding to the rectangular XY coordinates on the line of sight, and the converted 3D texture image corresponding to the calculated xyz coordinates. And alpha blending based on the RGB value and opacity of the voxel corresponding to the xyz coordinates.
本実施の形態のコンピュータプログラムは、コンピュータに、前記ボクセル構造体のボクセルの不透明度に関する勾配ベクトルを算出する処理と、算出した勾配ベクトル及び所定の光源ベクトルに基づいて前記ボクセルの陰影値を算出する処理と、算出した陰影値に基づいて前記ボクセル構造体のボクセルのRGB値を補正する処理とを実行させる。 The computer program according to the present embodiment causes the computer to calculate a gradient vector related to the opacity of the voxel of the voxel structure, and to calculate the shadow value of the voxel based on the calculated gradient vector and a predetermined light source vector. A process and a process of correcting the RGB value of the voxel of the voxel structure based on the calculated shadow value are executed.
本実施の形態のコンピュータプログラムは、コンピュータに、前記ボクセル構造体のボクセルの不透明度と、該ボクセルの近傍に位置する近傍ボクセルそれぞれの不透明度との差分を算出する処理と、前記ボクセルと前記近傍ボクセルとの距離並びに前記ボクセル及び前記近傍ボクセルそれぞれの不透明度の差分に基づいて前記ボクセルの勾配ベクトルを算出する処理とを実行させる。 The computer program according to the present embodiment causes the computer to calculate a difference between the opacity of the voxel of the voxel structure and the opacity of each neighboring voxel located in the vicinity of the voxel, and the voxel and the neighborhood A process of calculating a gradient vector of the voxel based on a distance from the voxel and a difference in opacity between the voxel and the neighboring voxel is executed.
本実施の形態のコンピュータプログラムは、コンピュータに、前記ボクセル構造体のボクセルの不透明度に関する勾配ベクトルを算出することができないボクセルに対して、該ボクセルの不透明度に前記所定値を設定する処理と、前記所定値が設定されたボクセル構造体のボクセルのうち不透明度が前記所定値である対象ボクセルに対して、該対象ボクセルの近傍に位置する近傍ボクセルのRGB値に基づいて、前記対象ボクセルのRGB値を補正する処理とを実行させる。 The computer program according to the present embodiment, for a voxel that cannot calculate a gradient vector related to the opacity of the voxel of the voxel structure in the computer, sets the predetermined value to the opacity of the voxel; For the target voxel having the predetermined value of opacity among the voxels of the voxel structure in which the predetermined value is set, the RGB of the target voxel is determined based on the RGB values of neighboring voxels located in the vicinity of the target voxel. And a process of correcting the value.
本実施の形態のコンピュータプログラムは、コンピュータに、x軸中心、y軸中心及びz軸中心の回転角、視野角度、視点位置、クリッピング位置、xyz軸方向のオフセット値、xyz軸方向の拡大又は縮小倍率、z軸方向の変倍率を含む前記所定の変換のパラメータを取得する処理と、前記3Dテクスチャ画像に対して、取得したパタメータを用いた所定の変換を行って変換後3Dテクスチャ画像を生成する処理とを実行させる。 The computer program according to the present embodiment causes the computer to rotate the x-axis center, the y-axis center, and the z-axis center, the viewing angle, the viewpoint position, the clipping position, the offset value in the xyz axis direction, and the enlargement or reduction in the xyz axis direction. Processing for acquiring the predetermined conversion parameters including the magnification and the scaling factor in the z-axis direction, and performing predetermined conversion using the acquired parameters on the 3D texture image to generate a converted 3D texture image Process.
本実施の形態のコンピュータプログラムは、コンピュータに、前記変換後3Dテクスチャ画像を生成する処理及び前記レンダリング画像を生成する処理を実行するための指令をGPUに出力する処理を実行させる。 The computer program according to the present embodiment causes a computer to execute a process of generating a post-conversion 3D texture image and a command for executing a process of generating the rendering image to the GPU.
本実施の形態のコンピュータプログラムは、コンピュータに、前記ボクセル構造体に対して所定の座標変換を行ってボクセル画像を生成する処理と、所定の視点から仮想光線を前記ボクセル画像に向かって照射したときに、視線上のボクセル毎に該ボクセルのRGB値及び不透明度並びに前記仮想光線の透過強度の積により累積輝度値を累積加算した値に基づいて算出されるRGB値を、前記視線が投影面と交差する画素の画素値としてレンダリング画像を生成する処理とを実行させる。 The computer program according to the present embodiment performs a process of generating a voxel image by performing predetermined coordinate transformation on the voxel structure and irradiating a virtual ray from a predetermined viewpoint toward the voxel image. In addition, for each voxel on the line of sight, the RGB value calculated based on a value obtained by accumulating the accumulated luminance value by the product of the RGB value and opacity of the voxel and the transmission intensity of the virtual ray, the line of sight is the projection plane. And generating a rendering image as the pixel value of the intersecting pixel.
本実施の形態のコンピュータプログラムは、コンピュータに、前記複数のxy平面画像のうちの所定のxy平面画像の画素の最小値及び最大値を特定する処理と、特定した最大値よりも小さい上限値及び特定した最小値よりも大きい下限値を算出する処理と、前記複数のxy平面画像の各画素の画素値を前記上限値及び下限値の範囲内に圧縮する処理と、圧縮した前記複数のxy平面画像それぞれの各画素に対応するRGB値及び不透明度を有するボクセルで構成される暫定ボクセル構造体を生成する処理とを実行させる。 The computer program according to the present embodiment causes a computer to specify a minimum value and a maximum value of pixels of a predetermined xy plane image among the plurality of xy plane images, an upper limit value smaller than the specified maximum value, and A process of calculating a lower limit value greater than the specified minimum value, a process of compressing pixel values of each pixel of the plurality of xy plane images within the range of the upper limit value and the lower limit value, and the compressed plurality of xy planes And a process of generating a provisional voxel structure composed of voxels having RGB values and opacity corresponding to each pixel of each image.
本実施の形態の画像処理装置は、ボリュームレンダリング処理を行う画像処理装置であって、z軸方向に沿って所定間隔で撮像された複数のxy平面画像の画像データを取得する取得部と、前記xy平面画像の画素の値に対してRGB値及び不透明度が定められ、前記複数のxy平面画像それぞれの各画素に対応するRGB値及び不透明度を有するボクセルで構成される暫定ボクセル構造体を生成する暫定ボクセル構造体生成部と、前記暫定ボクセル構造体のボクセルに対して、該ボクセルの近傍に位置する近傍ボクセルの不透明度に基づいて、前記ボクセルの不透明度を補正してボクセル構造体を生成するボクセル構造体生成部と、前記ボクセル構造体に対してボリュームレンダリング処理を行ってレンダリング画像を生成するレンダリング画像生成部とを備える。 The image processing apparatus according to the present embodiment is an image processing apparatus that performs volume rendering processing, and an acquisition unit that acquires image data of a plurality of xy plane images captured at predetermined intervals along the z-axis direction; RGB values and opacity are defined for the pixel values of the xy plane image, and a provisional voxel structure composed of voxels having RGB values and opacity corresponding to each pixel of the plurality of xy plane images is generated. And generating a voxel structure for the voxel of the temporary voxel structure by correcting the opacity of the voxel based on the opacity of a neighboring voxel located in the vicinity of the voxel A voxel structure generation unit for performing rendering processing for generating a rendering image by performing volume rendering processing on the voxel structure And an image generation unit.
本実施の形態の画像処理方法は、ボリュームレンダリング処理を行う画像処理方法であって、z軸方向に沿って所定間隔で撮像された複数のxy平面画像の画像データを取得し、前記xy平面画像の画素の値に対してRGB値及び不透明度が定められ、前記複数のxy平面画像それぞれの各画素に対応するRGB値及び不透明度を有するボクセルで構成される暫定ボクセル構造体を生成し、前記暫定ボクセル構造体のボクセルに対して、該ボクセルの近傍に位置する近傍ボクセルの不透明度に基づいて、前記ボクセルの不透明度を補正してボクセル構造体を生成し、前記ボクセル構造体に対してボリュームレンダリング処理を行ってレンダリング画像を生成する。 The image processing method according to the present embodiment is an image processing method that performs volume rendering processing, acquires image data of a plurality of xy plane images captured at predetermined intervals along the z-axis direction, and the xy plane image RGB values and opacity are determined with respect to the pixel values of the plurality of xy plane images, and a provisional voxel structure including voxels having RGB values and opacity corresponding to each pixel of the plurality of xy plane images is generated, For the voxel of the temporary voxel structure, the voxel structure is generated by correcting the opacity of the voxel based on the opacity of the neighboring voxel located in the vicinity of the voxel, and the volume for the voxel structure. A rendering process is performed to generate a rendering image.
本実施の形態のボクセルデータは、ボクセル構造体のボクセルデータであって、z軸方向に沿って所定間隔で撮像された複数のxy平面画像の画素の値に対してRGB値及び不透明度が定められ、前記複数のxy平面画像それぞれの各画素に対応するRGB値及び不透明度を有するボクセルで構成されるボクセル構造体のボクセルデータを含む構造を有し、前記ボクセルデータは、前記ボクセル構造体のボクセルに対して、該ボクセルの近傍に位置する近傍ボクセルの不透明度に基づいて、前記ボクセルの不透明度が補正されたデータを含み、前記ボクセル構造体に対してボリュームレンダリング処理を行ってレンダリング画像を生成する処理を実行するのに用いられる。 The voxel data of the present embodiment is voxel data of a voxel structure, and RGB values and opacity are determined with respect to pixel values of a plurality of xy plane images captured at predetermined intervals along the z-axis direction. The voxel structure includes voxel data composed of voxels having RGB values and opacity corresponding to the respective pixels of the plurality of xy plane images, and the voxel data includes the voxel data of the voxel structure. The voxel includes data in which the opacity of the voxel is corrected based on the opacity of a neighboring voxel located in the vicinity of the voxel, and performs a volume rendering process on the voxel structure to generate a rendered image. Used to execute the process to generate.
本実施の形態のボクセルデータにおいて、前記ボクセルデータは、前記ボクセル構造体のボクセルに対して、該ボクセルの近傍に位置する近傍ボクセルのRGB値に基づいて、前記ボクセルのRGB値が補正されたデータを含む。 In the voxel data according to the present embodiment, the voxel data is data obtained by correcting the RGB values of the voxels based on the RGB values of neighboring voxels located in the vicinity of the voxel with respect to the voxels of the voxel structure. including.
本実施の形態のボクセルデータは、ボクセル構造体のボクセルデータであって、z軸方向に沿って所定間隔で撮像された複数のxy平面画像の画素の値に対してRGB値及び不透明度が定められ、前記複数のxy平面画像それぞれの各画素に対応するRGB値及び不透明度を有するボクセルで構成される暫定ボクセル構造体のボクセルデータを含む構造を有し、前記暫定ボクセル構造体のボクセルに対して、該ボクセルのxyz方向の3つの軸方向のうちの第1軸方向の近傍に位置する2近傍ボクセルの不透明度又はRGB値に基づいて、前記ボクセルの不透明度又はRGB値を補正する処理と、前記第1軸方向の2近傍ボクセルによってボクセルの不透明度又はRGB値が補正された暫定ボクセル構造体のボクセルに対して、前記3つの軸方向のうちの第2軸方向の近傍に位置する2近傍ボクセルの不透明度又はRGB値に基づいて、前記ボクセルの不透明度又はRGB値を補正する処理と、前記第2軸方向の2近傍ボクセルによってボクセルの不透明度又はRGB値が補正された暫定ボクセル構造体のボクセルに対して、前記3つの軸方向のうちの第3軸方向の近傍に位置する2近傍ボクセルの不透明度又はRGB値に基づいて、前記ボクセルの不透明度又はRGB値を補正する処理とを実行するのに用いられる。 The voxel data of the present embodiment is voxel data of a voxel structure, and RGB values and opacity are determined with respect to pixel values of a plurality of xy plane images captured at predetermined intervals along the z-axis direction. A voxel data of a provisional voxel structure composed of voxels having RGB values and opacity corresponding to each pixel of each of the plurality of xy plane images, the voxel of the provisional voxel structure A process for correcting the opacity or RGB value of the voxel based on the opacity or RGB value of two neighboring voxels located in the vicinity of the first axial direction of the three axial directions of the voxel in the xyz direction; , The three axes for the voxel of the temporary voxel structure in which the opacity or RGB value of the voxel is corrected by two neighboring voxels in the first axis direction Processing for correcting the opacity or RGB value of the voxel based on the opacity or RGB value of two neighboring voxels located in the vicinity of the second axis direction in the direction, and two neighboring voxels in the second axis direction Based on the opacity or RGB value of two neighboring voxels located in the vicinity of the third axial direction of the three axial directions with respect to the voxel of the provisional voxel structure in which the opacity or RGB value of the voxel is corrected. , And a process for correcting the opacity or RGB value of the voxel.
本実施の形態のボクセルデータは、前記暫定ボクセル構造体の各ボクセルの2近傍ボクセルによって前記各ボクセルの不透明度又はRGB値を補正した補正値を第1バッファに記憶する処理と、第2バッファに記憶されている前記暫定ボクセル構造体の前記各ボクセルの直前に処理された直前ボクセルの2近傍ボクセルによって前記直前ボクセルの不透明度又はRGB値を補正した直前補正値により前記暫定ボクセル構造体の前記直前ボクセルの不透明度又はRGB値を更新する処理と、前記第1バッファに記憶した前記補正値を前記第2バッファに転送する処理とを実行するのに用いられる。 The voxel data of the present embodiment includes a process of storing a correction value obtained by correcting the opacity or RGB value of each voxel with two neighboring voxels of each voxel of the provisional voxel structure in the first buffer, and the second buffer. Immediately before the provisional voxel structure by the immediately preceding correction value obtained by correcting the opacity or RGB value of the immediately preceding voxel by two neighboring voxels of the immediately preceding voxel processed immediately before each voxel of the provisional voxel structure stored. It is used to execute a process of updating the opacity or RGB value of the voxel and a process of transferring the correction value stored in the first buffer to the second buffer.
10 入力部
11 記憶部
12 出力部
20、30 画像処理部
21、31 階調圧縮処理部
22、32 暫定ボクセル構造体生成部
23、33 ボクセル構造体生成部
24 変換処理部
25 レンダリング処理部
26 3Dテクスチャ画像生成部
27 積層四角形設定部
28 色補間部
29、37 ROIクリッピング処理部
34 座標変換処理部
35 レイキャスティング処理部
36 探索制御マスク生成部
100 3Dテクスチャマッピング装置
120 レイキャスティング装置
201 CPU
202 ROM
203 RAM
204 GPU
205 ビデオメモリ
206 記録媒体読取部
DESCRIPTION OF SYMBOLS 10 Input part 11 Storage part 12 Output part 20, 30 Image processing part 21, 31 Gradation compression processing part 22, 32 Temporary voxel structure generation part 23, 33 Voxel structure generation part 24 Conversion processing part 25 Rendering process part 26 3D Texture image generation unit 27 Laminated rectangle setting unit 28 Color interpolation unit 29, 37 ROI clipping processing unit 34 Coordinate transformation processing unit 35 Ray casting processing unit 36 Search control mask generation unit 100 3D texture mapping device 120 Ray casting device 201 CPU
202 ROM
203 RAM
204 GPU
205 Video memory 206 Recording medium reader
Claims (21)
z軸方向に沿って所定間隔で撮像された複数のxy平面画像の画像データを取得する処理と、
所定範囲の数値とRGB値及び不透明度との関係を対応付けたカラーマップに基づいて、前記複数のxy平面画像それぞれの各画素の値に対応するRGB値及び不透明度を有するボクセルで構成される暫定ボクセル構造体を生成する処理と、
前記暫定ボクセル構造体のボクセルに対して、該ボクセルの近傍に位置する近傍ボクセルの不透明度に基づいて、前記ボクセルの不透明度を補正してボクセル構造体を生成する処理と、
前記ボクセル構造体に対してボリュームレンダリング処理を行ってレンダリング画像を生成する処理と
を実行させるコンピュータプログラム。 On the computer,
processing for acquiring image data of a plurality of xy plane images captured at predetermined intervals along the z-axis direction;
Based on a color map that correlates the relationship between a numerical value in a predetermined range, RGB values, and opacity, the voxel having RGB values and opacity corresponding to the values of each pixel of each of the plurality of xy plane images. Processing to generate a provisional voxel structure;
A process for generating a voxel structure by correcting the opacity of the voxel based on the opacity of a neighboring voxel located in the vicinity of the voxel for the voxel of the temporary voxel structure;
A computer program for executing a volume rendering process on the voxel structure to generate a rendered image.
前記暫定ボクセル構造体のボクセルに対して、該ボクセルの近傍に位置する近傍ボクセルのRGB値に基づいて、前記ボクセルのRGB値を補正してボクセル構造体を生成する処理と、
前記ボクセル構造体に対してボリュームレンダリング処理を行ってレンダリング画像を生成する処理と
を実行させる請求項1に記載のコンピュータプログラム。 On the computer,
For the voxels of the temporary voxel structure, based on the RGB values of neighboring voxels located in the vicinity of the voxel, processing to generate a voxel structure by correcting the RGB values of the voxels;
The computer program according to claim 1, wherein a volume rendering process is performed on the voxel structure to generate a rendered image.
前記暫定ボクセル構造体のボクセルに対して、該ボクセルのxyz方向の近傍に位置する26近傍ボクセルの不透明度又はRGB値に基づいて、前記ボクセルの不透明度又はRGB値を補正する処理を実行させる請求項1又は請求項2に記載のコンピュータプログラム。 On the computer,
A process for correcting the opacity or RGB value of the voxel based on the opacity or RGB value of 26 neighboring voxels located in the xyz direction vicinity of the voxel for the voxel of the provisional voxel structure. Item 3. A computer program according to item 1 or 2.
z軸方向に沿って所定間隔で撮像された複数のxy平面画像の画像データを取得する処理と、
前記xy平面画像の画素の値に対してRGB値及び不透明度が定められ、前記複数のxy平面画像それぞれの各画素に対応するRGB値及び不透明度を有するボクセルで構成される暫定ボクセル構造体を生成する処理と、
前記暫定ボクセル構造体のボクセルに対して、該ボクセルの近傍に位置する近傍ボクセルの不透明度に基づいて、前記ボクセルの不透明度を補正してボクセル構造体を生成する処理と、
前記ボクセル構造体に対してボリュームレンダリング処理を行ってレンダリング画像を生成する処理と、
前記暫定ボクセル構造体のボクセルに対して、該ボクセルのxyz方向の3つの軸方向のうちの第1軸方向の近傍に位置する2近傍ボクセルの不透明度又はRGB値に基づいて、前記ボクセルの不透明度又はRGB値を補正する処理と、
前記第1軸方向の2近傍ボクセルによってボクセルの不透明度又はRGB値が補正された暫定ボクセル構造体のボクセルに対して、前記3つの軸方向のうちの第2軸方向の近傍に位置する2近傍ボクセルの不透明度又はRGB値に基づいて、前記ボクセルの不透明度又はRGB値を補正する処理と、
前記第2軸方向の2近傍ボクセルによってボクセルの不透明度又はRGB値が補正された暫定ボクセル構造体のボクセルに対して、前記3つの軸方向のうちの第3軸方向の近傍に位置する2近傍ボクセルの不透明度又はRGB値に基づいて、前記ボクセルの不透明度又はRGB値を補正する処理と
を実行させるコンピュータプログラム。 On the computer,
processing for acquiring image data of a plurality of xy plane images captured at predetermined intervals along the z-axis direction;
A provisional voxel structure composed of voxels having RGB values and opacity corresponding to respective pixels of each of the plurality of xy plane images, wherein RGB values and opacity are determined with respect to the pixel values of the xy plane image. Process to generate,
A process for generating a voxel structure by correcting the opacity of the voxel based on the opacity of a neighboring voxel located in the vicinity of the voxel for the voxel of the temporary voxel structure;
Processing to generate a rendering image by performing volume rendering processing on the voxel structure;
Based on the opacity or RGB value of two neighboring voxels located in the vicinity of the first axial direction of the three axial directions of the voxel in the xyz direction with respect to the voxels of the provisional voxel structure. Processing to correct transparency or RGB values;
Two neighbors located in the vicinity of the second axial direction of the three axial directions with respect to the voxel of the temporary voxel structure in which the opacity or RGB value of the voxel is corrected by the two neighboring voxels in the first axial direction Correcting the voxel opacity or RGB value based on the voxel opacity or RGB value;
Two neighbors located in the vicinity of the third axial direction of the three axial directions with respect to the voxel of the temporary voxel structure in which the opacity or RGB value of the voxel is corrected by the two neighboring voxels in the second axial direction based on the opacity or RGB values of the voxels, Turkey computer program to execute the processing for correcting opacity or RGB values of the voxels.
前記暫定ボクセル構造体の各ボクセルの2近傍ボクセルによって前記各ボクセルの不透明度又はRGB値を補正した補正値を第1バッファに記憶する処理と、
第2バッファに記憶されている前記暫定ボクセル構造体の前記各ボクセルの直前に処理された直前ボクセルの2近傍ボクセルによって前記直前ボクセルの不透明度又はRGB値を補正した直前補正値により前記暫定ボクセル構造体の前記直前ボクセルの不透明度又はRGB値を更新する処理と、
前記第1バッファに記憶した前記補正値を前記第2バッファに転送する処理と
を実行させる請求項4に記載のコンピュータプログラム。 On the computer,
Storing a correction value obtained by correcting the opacity or RGB value of each voxel by two neighboring voxels of each voxel of the provisional voxel structure in the first buffer;
The provisional voxel structure based on the immediately preceding correction value obtained by correcting the opacity or RGB value of the immediately preceding voxel by two neighboring voxels of the immediately preceding voxel processed immediately before each voxel of the provisional voxel structure stored in the second buffer Updating the opacity or RGB value of the previous voxel of the body;
The computer program according to claim 4, wherein the correction value stored in the first buffer is transferred to the second buffer.
z軸方向に沿って所定間隔で撮像された複数のxy平面画像の画像データを取得する処理と、
前記複数のxy平面画像のうちの所定のxy平面画像の画素の最小値及び最大値を特定する処理と、
特定した最大値よりも小さい上限値及び特定した最小値よりも大きい下限値を算出する処理と、
前記複数のxy平面画像の各画素の画素値を前記上限値及び下限値の範囲内に圧縮する処理と、
圧縮した前記複数のxy平面画像それぞれの各画素に対応するRGB値及び不透明度を有するボクセルで構成される暫定ボクセル構造体を生成する処理と、
前記暫定ボクセル構造体のボクセルに対して、該ボクセルの近傍に位置する近傍ボクセルの不透明度に基づいて、前記ボクセルの不透明度を補正してボクセル構造体を生成する処理と、
前記ボクセル構造体に対してボリュームレンダリング処理を行ってレンダリング画像を生成する処理と
を実行させるコンピュータプログラム。 On the computer,
processing for acquiring image data of a plurality of xy plane images captured at predetermined intervals along the z-axis direction;
A process of specifying a minimum value and a maximum value of pixels of a predetermined xy plane image among the plurality of xy plane images;
Processing to calculate an upper limit value smaller than the identified maximum value and a lower limit value greater than the identified minimum value;
Processing of compressing the pixel value of each pixel of the plurality of xy plane images within the range of the upper limit value and the lower limit value;
Generating a provisional voxel structure composed of voxels having RGB values and opacity corresponding to each pixel of each of the plurality of compressed xy planar images ;
A process for generating a voxel structure by correcting the opacity of the voxel based on the opacity of a neighboring voxel located in the vicinity of the voxel for the voxel of the temporary voxel structure;
Turkey computer program by performing volume rendering processing to execute the processing for generating the rendered image to the voxel structures.
前記ボクセル構造体に対して所定の座標変換を行ってボクセル画像を生成する処理と、
所定の視点から仮想光線を前記ボクセル画像に向かって照射したときに、視線上のボクセル毎に該ボクセルのRGB値及び不透明度並びに前記仮想光線の透過強度の積により累積輝度値を累積加算した値に基づいて算出されるRGB値を、前記視線が投影面と交差する画素の画素値としてレンダリング画像を生成する処理と
を実行させる請求項1から請求項6のいずれか一項に記載のコンピュータプログラム。 On the computer,
Processing to perform a predetermined coordinate transformation on the voxel structure to generate a voxel image;
A value obtained by accumulatively adding a cumulative luminance value by the product of the RGB value and opacity of the voxel and the transmission intensity of the virtual ray for each voxel on the line of sight when a virtual ray is irradiated toward the voxel image from a predetermined viewpoint. The computer program according to any one of claims 1 to 6, wherein a process of generating a rendering image using the RGB value calculated based on the image as a pixel value of a pixel whose line of sight intersects a projection plane is executed. .
z軸方向に沿って所定間隔で撮像された複数のxy平面画像の画像データを取得する処理と、
前記xy平面画像の画素の値に対してRGB値及び不透明度が定められ、前記複数のxy平面画像それぞれの各画素に対応するRGB値及び不透明度を有するボクセルで構成される暫定ボクセル構造体を生成する処理と、
前記暫定ボクセル構造体のボクセルに対して、該ボクセルの近傍に位置する近傍ボクセルの不透明度に基づいて、前記ボクセルの不透明度を補正してボクセル構造体を生成する処理と、
前記ボクセル構造体の不透明度が所定値である対象ボクセルに対して、該対象ボクセルの近傍に位置する近傍ボクセルのRGB値に基づいて、前記対象ボクセルのRGB値を補正する処理と、
RGB値が補正されたボクセル構造体のボクセルで構成される3Dテクスチャ画像を生成する処理と、
前記3Dテクスチャ画像に対して所定の変換を行って変換後3Dテクスチャ画像を生成する処理と、
3次元空間のXY座標面上の四角形をZ軸方向に並べた積層四角形を設定する処理と、
所定の視点からZ軸方向に平行な視線上の前記四角形のXY座標に対応する前記変換後3Dテクスチャ画像のボクセルのRGB値を前記ボクセルの不透明度に基づいて前記視点から遠い四角形の順にアルファブレンディングして得られたRGB値を、前記視線が投影面と交差する画素の画素値としてレンダリング画像を生成する処理と
を実行させるコンピュータプログラム。 On the computer,
processing for acquiring image data of a plurality of xy plane images captured at predetermined intervals along the z-axis direction;
A provisional voxel structure composed of voxels having RGB values and opacity corresponding to respective pixels of each of the plurality of xy plane images, wherein RGB values and opacity are determined with respect to the pixel values of the xy plane image. Process to generate,
A process for generating a voxel structure by correcting the opacity of the voxel based on the opacity of a neighboring voxel located in the vicinity of the voxel for the voxel of the temporary voxel structure;
Processing for correcting the RGB value of the target voxel based on the RGB value of a neighboring voxel located in the vicinity of the target voxel for a target voxel in which the opacity of the voxel structure is a predetermined value;
Processing to generate a 3D texture image composed of voxels of a voxel structure with corrected RGB values;
A process of performing a predetermined conversion on the 3D texture image to generate a converted 3D texture image;
A process of setting a stacked quadrangle in which quadrangles on the XY coordinate plane of the three-dimensional space are arranged in the Z-axis direction;
Alpha blending of RGB values of voxels of the converted 3D texture image corresponding to the XY coordinates of the rectangle on the line of sight parallel to the Z-axis direction from a predetermined viewpoint in the order of the rectangles farthest from the viewpoint based on the opacity of the voxels the RGB values obtained by said visual axis is benzalkonium computer program to execute a process of generating a rendered image as a pixel value of the pixel intersects the projection plane.
前記複数のxy平面画像を間にしてz軸方向の両端に配置されたダミーxy平面画像の各画素に対応し、不透明度が前記所定値とされたダミーボクセルを付加したボクセル構造体を生成する処理と、
生成したボクセル構造体のボクセルのうち不透明度が前記所定値である対象ボクセルに対して、該対象ボクセルの近傍に位置する近傍ボクセルのRGB値に基づいて、前記対象ボクセルのRGB値を補正する処理と
を実行させる請求項8に記載のコンピュータプログラム。 On the computer,
A voxel structure is generated in which dummy voxels corresponding to the pixels of the dummy xy plane image disposed at both ends in the z-axis direction with the plurality of xy plane images in between are added with dummy voxels having the predetermined opacity. Processing,
Processing for correcting the RGB value of the target voxel based on the RGB value of a neighboring voxel located in the vicinity of the target voxel with respect to the target voxel having an opacity of the predetermined value among the voxels of the generated voxel structure The computer program according to claim 8 , wherein:
前記複数のxy平面画像の数及び前記ダミーxy平面画像の数の合計値と同数の前記四角形をZ軸方向に並べた積層四角形を設定する処理を実行させる請求項8に記載のコンピュータプログラム。 On the computer,
The computer program according to claim 8, wherein a process for setting a stacked quadrangle in which the same number of the quadrangle as the total number of the plurality of xy plane images and the number of the dummy xy plane images is arranged in the Z-axis direction is executed.
前記複数のxy平面画像の外縁部の各画素に対応し、不透明度が前記所定値とされたボクセルを含むボクセル構造体を生成する処理と、
生成したボクセル構造体のボクセルのうち不透明度が前記所定値である対象ボクセルに対して、該対象ボクセルの近傍に位置する近傍ボクセルのRGB値に基づいて、前記対象ボクセルのRGB値を補正する処理と
を実行させる請求項8に記載のコンピュータプログラム。 On the computer,
A process of generating a voxel structure including voxels corresponding to each pixel of an outer edge portion of the plurality of xy plane images and having an opacity set to the predetermined value;
Processing for correcting the RGB value of the target voxel based on the RGB value of a neighboring voxel located in the vicinity of the target voxel with respect to the target voxel having an opacity of the predetermined value among the voxels of the generated voxel structure The computer program according to claim 8 , wherein:
ボリュームレンダリング処理の対象領域を画定するxyz座標を設定する処理と、
前記ボクセル構造体のボクセルのうちxyz座標が前記対象領域外のボクセルに対して、該ボクセルの不透明度に前記所定値を設定する処理と、
前記所定値が設定されたボクセル構造体のボクセルのうち不透明度が前記所定値である対象ボクセルに対して、該対象ボクセルの近傍に位置する近傍ボクセルのRGB値に基づいて、前記対象ボクセルのRGB値を補正する処理と
を実行させる請求項8に記載のコンピュータプログラム。 On the computer,
A process of setting xyz coordinates that define a target area of the volume rendering process;
A process of setting the predetermined value as the opacity of the voxel with respect to voxels whose xyz coordinates are out of the target area among the voxels of the voxel structure;
For the target voxel having the predetermined value of opacity among the voxels of the voxel structure in which the predetermined value is set, the RGB of the target voxel is determined based on the RGB values of neighboring voxels located in the vicinity of the target voxel. The computer program according to claim 8 , which executes a process of correcting a value.
前記視線上の前記四角形のXY座標に対応する前記3Dテクスチャ画像のxyz座標を算出する処理と、
算出したxyz座標に対応する前記変換後3Dテクスチャ画像のxyz座標に対応するボクセルのRGB値及び不透明度に基づいてアルファブレンディングする処理と
を実行させる請求項8に記載のコンピュータプログラム。 On the computer,
A process of calculating xyz coordinates of the 3D texture image corresponding to XY coordinates of the rectangle on the line of sight;
The computer program according to claim 8 , wherein alpha blending is executed based on an RGB value and opacity of a voxel corresponding to the xyz coordinate of the converted 3D texture image corresponding to the calculated xyz coordinate.
前記ボクセル構造体のボクセルの不透明度に関する勾配ベクトルを算出する処理と、
算出した勾配ベクトル及び所定の光源ベクトルに基づいて前記ボクセルの陰影値を算出する処理と、
算出した陰影値に基づいて前記ボクセル構造体のボクセルのRGB値を補正する処理と
を実行させる請求項8に記載のコンピュータプログラム。 On the computer,
Processing to calculate a gradient vector related to the opacity of the voxel of the voxel structure;
A process of calculating a shadow value of the voxel based on the calculated gradient vector and a predetermined light source vector;
The computer program according to claim 8 , wherein a process of correcting an RGB value of a voxel of the voxel structure based on the calculated shadow value is executed.
前記ボクセル構造体のボクセルの不透明度と、該ボクセルの近傍に位置する近傍ボクセルそれぞれの不透明度との差分を算出する処理と、
前記ボクセルと前記近傍ボクセルとの距離並びに前記ボクセル及び前記近傍ボクセルそれぞれの不透明度の差分に基づいて前記ボクセルの勾配ベクトルを算出する処理と
を実行させる請求項8に記載のコンピュータプログラム。 On the computer,
Processing to calculate the difference between the opacity of the voxel of the voxel structure and the opacity of each neighboring voxel located in the vicinity of the voxel;
The computer program according to claim 8 , wherein a process of calculating a gradient vector of the voxel based on a distance between the voxel and the neighboring voxel and a difference in opacity between the voxel and the neighboring voxel is executed.
前記ボクセル構造体のボクセルの不透明度に関する勾配ベクトルを算出することができないボクセルに対して、該ボクセルの不透明度に前記所定値を設定する処理と、
前記所定値が設定されたボクセル構造体のボクセルのうち不透明度が前記所定値である対象ボクセルに対して、該対象ボクセルの近傍に位置する近傍ボクセルのRGB値に基づいて、前記対象ボクセルのRGB値を補正する処理と
を実行させる請求項8に記載のコンピュータプログラム。 On the computer,
Processing for setting the predetermined value to the opacity of the voxel for a voxel that cannot calculate a gradient vector related to the opacity of the voxel of the voxel structure;
For the target voxel having the predetermined value of opacity among the voxels of the voxel structure in which the predetermined value is set, the RGB of the target voxel is determined based on the RGB values of neighboring voxels located in the vicinity of the target voxel. The computer program according to claim 8, which executes a process of correcting a value.
x軸中心、y軸中心及びz軸中心の回転角、視野角度、視点位置、クリッピング位置、xyz軸方向のオフセット値、xyz軸方向の拡大又は縮小倍率、z軸方向の変倍率を含む前記所定の変換のパラメータを取得する処理と、
前記3Dテクスチャ画像に対して、取得したパタメータを用いた所定の変換を行って変換後3Dテクスチャ画像を生成する処理と
を実行させる請求項8に記載のコンピュータプログラム。 On the computer,
The predetermined including the rotation angle of the x-axis center, the y-axis center, and the z-axis center, the viewing angle, the viewpoint position, the clipping position, the offset value in the xyz axis direction, the enlargement or reduction magnification in the xyz axis direction, and the scaling factor in the z axis direction. Process to get the conversion parameters of
The computer program according to claim 8 , wherein a predetermined conversion using the acquired parameter is performed on the 3D texture image to generate a converted 3D texture image.
前記変換後3Dテクスチャ画像を生成する処理及び前記レンダリング画像を生成する処理を実行するための指令をGPUに出力する処理を実行させる請求項8に記載のコンピュータプログラム。 On the computer,
The computer program according to claim 8 , wherein the computer program causes the GPU to execute a process for generating the converted 3D texture image and a process for generating the rendered image.
複数の離散的な数値とRGB値及び不透明度との関係を定義した定義情報に基づいて、所定範囲の連続的な数値とRGB値及び不透明度との関係を対応付けたカラーマップを生成する処理と、
生成したカラーマップに基づいて、前記複数のxy平面画像それぞれの各画素の値に対応するRGB値及び不透明度を有するボクセルで構成される暫定ボクセル構造体を生成する処理と
を実行させる請求項4から請求項18のいずれか一項に記載のコンピュータプログラム。 On the computer,
A process for generating a color map that associates a relationship between a continuous numerical value in a predetermined range, an RGB value, and opacity based on definition information that defines a relationship between a plurality of discrete numerical values and RGB values and opacity When,
Based on the generated color map, according to claim 4 for executing the process of generating the composed provisional voxel structure voxels having RGB values and opacity corresponding to the value of each pixel of the plurality of the xy plane image, respectively The computer program according to claim 18 .
z軸方向に沿って所定間隔で撮像された複数のxy平面画像の画像データを取得する取得部と、
所定範囲の数値とRGB値及び不透明度との関係を対応付けたカラーマップに基づいて、前記複数のxy平面画像それぞれの各画素の値に対応するRGB値及び不透明度を有するボクセルで構成される暫定ボクセル構造体を生成する暫定ボクセル構造体生成部と、
前記暫定ボクセル構造体のボクセルに対して、該ボクセルの近傍に位置する近傍ボクセルの不透明度に基づいて、前記ボクセルの不透明度を補正してボクセル構造体を生成するボクセル構造体生成部と、
前記ボクセル構造体に対してボリュームレンダリング処理を行ってレンダリング画像を生成するレンダリング画像生成部と
を備える画像処理装置。 An image processing apparatus that performs volume rendering processing,
an acquisition unit that acquires image data of a plurality of xy plane images captured at predetermined intervals along the z-axis direction;
Based on a color map that correlates the relationship between a numerical value in a predetermined range, RGB values, and opacity, the voxel having RGB values and opacity corresponding to the values of each pixel of each of the plurality of xy plane images. A provisional voxel structure generation unit for generating a provisional voxel structure;
A voxel structure generating unit that generates a voxel structure by correcting the opacity of the voxel based on the opacity of a neighboring voxel located in the vicinity of the voxel with respect to the voxel of the temporary voxel structure,
An image processing apparatus comprising: a rendering image generation unit configured to perform a volume rendering process on the voxel structure to generate a rendering image.
z軸方向に沿って所定間隔で撮像された複数のxy平面画像の画像データを取得し、
所定範囲の数値とRGB値及び不透明度との関係を対応付けたカラーマップに基づいて、前記複数のxy平面画像それぞれの各画素の値に対応するRGB値及び不透明度を有するボクセルで構成される暫定ボクセル構造体を生成し、
前記暫定ボクセル構造体のボクセルに対して、該ボクセルの近傍に位置する近傍ボクセルの不透明度に基づいて、前記ボクセルの不透明度を補正してボクセル構造体を生成し、
前記ボクセル構造体に対してボリュームレンダリング処理を行ってレンダリング画像を生成する画像処理方法。 An image processing method for performing volume rendering processing,
obtaining image data of a plurality of xy plane images captured at predetermined intervals along the z-axis direction;
Based on a color map that correlates the relationship between a numerical value in a predetermined range, RGB values, and opacity, the voxel having RGB values and opacity corresponding to the values of each pixel of each of the plurality of xy plane images. Create a provisional voxel structure
For the voxels of the provisional voxel structure, based on the opacity of neighboring voxels located in the vicinity of the voxel, correct the opacity of the voxels to generate a voxel structure,
An image processing method for generating a rendering image by performing volume rendering processing on the voxel structure.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2018060844A JP6436258B1 (en) | 2018-03-27 | 2018-03-27 | Computer program, image processing apparatus, and image processing method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2018060844A JP6436258B1 (en) | 2018-03-27 | 2018-03-27 | Computer program, image processing apparatus, and image processing method |
Publications (2)
Publication Number | Publication Date |
---|---|
JP6436258B1 true JP6436258B1 (en) | 2018-12-12 |
JP2019175013A JP2019175013A (en) | 2019-10-10 |
Family
ID=64655838
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2018060844A Active JP6436258B1 (en) | 2018-03-27 | 2018-03-27 | Computer program, image processing apparatus, and image processing method |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP6436258B1 (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114711962A (en) * | 2022-04-18 | 2022-07-08 | 北京恩维世医疗科技有限公司 | Augmented reality operation planning navigation system and method |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2002140720A (en) * | 2000-11-06 | 2002-05-17 | Mitsubishi Electric Corp | Image display device and image display method |
JP2013191030A (en) * | 2012-03-14 | 2013-09-26 | Fujifilm Corp | Image generation device, method and program |
-
2018
- 2018-03-27 JP JP2018060844A patent/JP6436258B1/en active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2002140720A (en) * | 2000-11-06 | 2002-05-17 | Mitsubishi Electric Corp | Image display device and image display method |
JP2013191030A (en) * | 2012-03-14 | 2013-09-26 | Fujifilm Corp | Image generation device, method and program |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114711962A (en) * | 2022-04-18 | 2022-07-08 | 北京恩维世医疗科技有限公司 | Augmented reality operation planning navigation system and method |
Also Published As
Publication number | Publication date |
---|---|
JP2019175013A (en) | 2019-10-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4213135B2 (en) | Developed image projecting method, developed image projecting program, developed image projecting apparatus | |
US7424140B2 (en) | Method, computer program product, and apparatus for performing rendering | |
JP4233547B2 (en) | Image display processing method | |
US20060103670A1 (en) | Image processing method and computer readable medium for image processing | |
US20110082667A1 (en) | System and method for view-dependent anatomic surface visualization | |
US7893938B2 (en) | Rendering anatomical structures with their nearby surrounding area | |
JP7013849B2 (en) | Computer program, image processing device and image processing method | |
JP7003635B2 (en) | Computer program, image processing device and image processing method | |
JP4122314B2 (en) | Projection image processing method, projection image processing program, and projection image processing apparatus | |
US20170301129A1 (en) | Medical image processing apparatus, medical image processing method, and medical image processing system | |
JP6436258B1 (en) | Computer program, image processing apparatus, and image processing method | |
JP6418344B1 (en) | Computer program, image processing apparatus, and image processing method | |
JP7180123B2 (en) | Medical image processing apparatus, medical image processing method, program, and data creation method | |
JP7131080B2 (en) | volume rendering device | |
JP7155670B2 (en) | Medical image processing apparatus, medical image processing method, program, and data creation method | |
US20060214930A1 (en) | Image processing method and computer readable medium | |
JP7223312B2 (en) | volume rendering device | |
JP7283603B2 (en) | COMPUTER PROGRAM, IMAGE PROCESSING APPARATUS AND IMAGE PROCESSING METHOD | |
JP7095409B2 (en) | Medical image processing device, medical image processing method, program, and MPR image generation method | |
Neubauer et al. | Efficient Display of Background Objects for Virtual Endoscopy using Flexible First-Hit Ray Casting. | |
JP5245811B2 (en) | Voxel array visualization device | |
JP7521623B2 (en) | Volume Rendering Device | |
JP2019114034A (en) | Computer program, image processing device, image processing method and voxel data | |
JP7206846B2 (en) | volume rendering device | |
JP7167699B2 (en) | volume rendering device |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20180330 |
|
A871 | Explanation of circumstances concerning accelerated examination |
Free format text: JAPANESE INTERMEDIATE CODE: A871 Effective date: 20180330 |
|
A975 | Report on accelerated examination |
Free format text: JAPANESE INTERMEDIATE CODE: A971005 Effective date: 20180706 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20180709 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20180717 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20180820 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20181016 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20181029 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6436258 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |