JP7003635B2 - Computer program, image processing device and image processing method - Google Patents
Computer program, image processing device and image processing method Download PDFInfo
- Publication number
- JP7003635B2 JP7003635B2 JP2017246754A JP2017246754A JP7003635B2 JP 7003635 B2 JP7003635 B2 JP 7003635B2 JP 2017246754 A JP2017246754 A JP 2017246754A JP 2017246754 A JP2017246754 A JP 2017246754A JP 7003635 B2 JP7003635 B2 JP 7003635B2
- Authority
- JP
- Japan
- Prior art keywords
- voxel
- value
- image
- pixel
- opacity
- 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
- 238000004590 computer program Methods 0.000 title claims description 36
- 238000003672 processing method Methods 0.000 title claims description 7
- 238000000034 method Methods 0.000 claims description 149
- 230000008569 process Effects 0.000 claims description 121
- 238000006243 chemical reaction Methods 0.000 claims description 92
- 238000005266 casting Methods 0.000 claims description 79
- 230000009466 transformation Effects 0.000 claims description 35
- 230000005540 biological transmission Effects 0.000 claims description 26
- 230000001186 cumulative effect Effects 0.000 claims description 23
- 238000009499 grossing Methods 0.000 claims description 23
- 238000009877 rendering Methods 0.000 claims description 19
- 238000004364 calculation method Methods 0.000 claims description 17
- 230000009467 reduction Effects 0.000 claims description 3
- 238000010586 diagram Methods 0.000 description 30
- 230000006835 compression Effects 0.000 description 18
- 238000007906 compression Methods 0.000 description 18
- 239000011159 matrix material Substances 0.000 description 14
- 230000000052 comparative effect Effects 0.000 description 6
- 230000000737 periodic effect Effects 0.000 description 6
- 238000002591 computed tomography Methods 0.000 description 5
- 230000006870 function Effects 0.000 description 5
- 239000010410 layer Substances 0.000 description 5
- 238000002910 structure generation Methods 0.000 description 5
- 210000000056 organ Anatomy 0.000 description 4
- 230000001678 irradiating effect Effects 0.000 description 3
- 230000001788 irregular Effects 0.000 description 3
- XLYOFNOQVPJJNP-UHFFFAOYSA-N water Substances O XLYOFNOQVPJJNP-UHFFFAOYSA-N 0.000 description 3
- 238000009825 accumulation Methods 0.000 description 2
- 210000000988 bone and bone Anatomy 0.000 description 2
- 238000002059 diagnostic imaging Methods 0.000 description 2
- 239000006185 dispersion Substances 0.000 description 2
- 229940079593 drug Drugs 0.000 description 2
- 239000003814 drug Substances 0.000 description 2
- 238000003384 imaging method Methods 0.000 description 2
- 230000003902 lesion Effects 0.000 description 2
- 238000002595 magnetic resonance imaging Methods 0.000 description 2
- 238000002156 mixing Methods 0.000 description 2
- 238000002600 positron emission tomography Methods 0.000 description 2
- 210000001519 tissue Anatomy 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
- 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
- 230000008859 change Effects 0.000 description 1
- 239000003086 colorant Substances 0.000 description 1
- 230000006866 deterioration Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
- 238000005070 sampling Methods 0.000 description 1
- 239000002356 single layer Substances 0.000 description 1
- 238000005728 strengthening Methods 0.000 description 1
- 238000001356 surgical procedure Methods 0.000 description 1
Images
Landscapes
- Apparatus For Radiation Diagnosis (AREA)
- Image Generation (AREA)
Description
本開示は、コンピュータプログラム、画像処理装置及び画像処理方法に関する。 The present disclosure relates to computer programs, image processing devices and image processing methods .
医療分野においては、CT(Computed Tomography)、MRI(Magnetic Resonance Imaging)、PET(Positron Emission Tomography)などの医用画像診断機器により所定のスライス間隔で連続的に撮影され、DICOM(Digital Imaging and COmmunications in Medicine)形式で保管された2次元のスライス画像に基づいて、臓器等の観察対象物を3次元的に可視化して画像診断支援、手術又は治療支援に役立てるための技術が開発されている。 In the medical field, it is continuously photographed at predetermined slice intervals by medical diagnostic imaging equipment such as CT (Computed Tomography), MRI (Magnetic Resonance Imaging), and PET (Positron Emission Tomography), and DICOM (Digital Imaging and COmmunications in Medicine). ) A technique has been developed for three-dimensionally visualizing an observation object such as an organ based on a two-dimensional slice image stored in the format to be useful for diagnostic imaging support, surgery or treatment support.
観察対象物の内部組織を3次元画像表示する代表的な手法としてボリュームレンダリング手法が知られている。特許文献1には、ボリュームレンダリング手法の一つとして、レイキャスティング処理が開示されている。レイキャスティング処理は、複数のスライス画像を積層して3次元ボクセル空間を構築し、3次元ボクセル空間に対して任意の視点方向からレイ(仮想光線)を照射し、視点方向と直交する投影面(スクリーン)に、投影結果をピクセル値として得るものである。具体的には、視点方向が3次元座標軸のZ軸と平行になるように座標変換を施し、座標変換後の3次元ボクセル空間に対して、Z軸方向にレイを照射し、XY平面上の投影面(スクリーン)に、投影結果をピクセル値として算出するものである。
A volume rendering method is known as a typical method for displaying a three-dimensional image of the internal structure of an observation object.
この座標変換は一般に実数演算で行われるが、座標変換後の座標値はボクセル座標という離散的な値に整数化され、この過程で丸め誤差が累積し、周期的なパターンが生成される。この周期的なパターンは単一のスライス画像では肉眼では認識できない微弱なものであるが、本願のように複数のスライス画像が積層された画像を合成しようとすると、たとえ各スライス画像が座標変換によりずれていても、パターンの周期性の位相条件を満たせば干渉縞が生成され、肉眼的に顕著なモアレとして認識される。また、複数のスライス画像に類似した不規則なパターンが存在すると、積層されたスライス画像で構成される3次元ボクセル空間に対して座標変換を施した場合、各不規則なパターンが回転によりずれて重なり連結することにより規則性のある顕著なパターンが現れ、観察対象物の3次元画像にモアレとして認識される。このようなモアレが発生すると、画質が低下し、病変部が判別しにくくなり、あるいはモアレを誤って病変部と判別する可能性が生じる。 This coordinate conversion is generally performed by a real number operation, but the coordinate values after the coordinate conversion are converted into integers into discrete values called voxel coordinates, and rounding errors are accumulated in this process, and a periodic pattern is generated. This periodic pattern is a weak one that cannot be recognized by the naked eye with a single slice image, but when trying to synthesize an image in which multiple slice images are stacked as in the present application, even if each slice image is subjected to coordinate conversion. Even if the pattern is deviated, interference fringes are generated if the phase condition of the periodicity of the pattern is satisfied, and it is recognized as a visually remarkable moire. In addition, if irregular patterns similar to a plurality of slice images exist, each irregular pattern shifts due to rotation when coordinate conversion is performed on a three-dimensional voxel space composed of stacked slice images. By overlapping and connecting, a remarkable pattern with regularity appears, and it is recognized as moire in the three-dimensional image of the observation object. When such moiré occurs, the image quality deteriorates, it becomes difficult to distinguish the lesion, or there is a possibility that the moiré is erroneously identified as the lesion.
本開示は、斯かる事情に鑑みてなされたものであり、モアレを抑制することができるコンピュータプログラム、画像処理装置及び画像処理方法を明らかにする。 The present disclosure has been made in view of such circumstances, and clarifies a computer program, an image processing device, and an image processing method capable of suppressing moire.
本願は上記課題を解決する手段を複数含んでいるが、その一例を挙げるならば、コンピュータプログラムは、コンピュータに、レイキャスティング法を用いたボリュームレンダリング処理を実行させるためのコンピュータプログラムであって、コンピュータに、z方向に沿って所定間隔で撮像された複数のxy平面画像の画像データを取得する処理と、前記複数のxy平面画像それぞれの任意の注目画素及び該注目画素の近傍画素の画素値に基づいて、前記複数のxy平面画像を平滑化する処理と、RGB値及び不透明度が定められ、平滑化した前記複数のxy平面画像それぞれの各画素に対応するボクセルで構成される3次元ボクセル画像を生成する処理と、前記3次元ボクセル画像に対して所定の座標変換を行って変換後ボクセル画像を生成する処理と、所定の視点から仮想光線を前記変換後ボクセル画像に向かって照射したときに、視線上のボクセル毎に該ボクセルのRGB値及び不透明度並びに前記仮想光線の透過強度の積により累積輝度値を累積加算した値に基づいて算出されるRGB値を、前記視線が投影面と交差する画素の画素値としてレンダリング画像を生成する処理とを実行させる。 The present application includes a plurality of means for solving the above problems. For example, a computer program is a computer program for causing a computer to perform a volume rendering process using a raycasting method, and is a computer. In addition, the process of acquiring image data of a plurality of xy plane images captured at predetermined intervals along the z direction, and the pixel values of arbitrary attention pixels of each of the plurality of xy plane images and pixels in the vicinity of the attention pixels. Based on this, a process of smoothing the plurality of xy plane images, and a three-dimensional voxel image composed of voxels corresponding to each pixel of the plurality of xy plane images whose RGB values and opacity are determined and smoothed. And the process of generating a converted voxel image by performing predetermined coordinate conversion on the three-dimensional voxel image, and when a virtual ray is emitted from a predetermined viewpoint toward the converted voxel image. The line of sight intersects the projection plane with the RGB value calculated based on the cumulative sum of the RGB values and opacity of the voxels and the cumulative brightness value obtained by multiplying the transmission intensity of the virtual light beam for each voxel on the line of sight. The process of generating a rendered image as the pixel value of the pixel to be performed is executed.
本開示によれば、モアレを抑制することができる。 According to the present disclosure, moire can be suppressed.
以下、本開示の実施の形態を図面に基づいて説明する。図1は本実施の形態の画像処理装置としてのレイキャスティング装置100の構成の一例を示すブロック図である。本実施の形態のレイキャスティング装置100は、入力部10、記憶部11、出力部12、画像処理部20などを備える。画像処理部20は、階調圧縮処理部21、平滑化処理部22、ボクセル構造体生成部23、座標変換処理部24、レイキャスティング処理部25、探索制御マスク生成部26、座標値算出部27、乱数発生部28、補間処理部29、ROI(Region of Interest)クリッピング処理部30などを備える。
Hereinafter, embodiments of the present disclosure will be described with reference to the drawings. FIG. 1 is a block diagram showing an example of the configuration of the
入力部10は、取得部としての機能を有し、z方向に沿って所定間隔で撮像された複数のxy平面画像の画像データを取得する。より具体的には、入力部10は、観察対象物(例えば、臓器、脳、骨、血管などを内部に含む人体・動物の様々な部位)に対して所定の間隔で断層撮影された複数の2次元の断層画像のDICOM(Digital Imaging and COmmunications in Medicine)形式の画像データを取得する。
The
図2はDICOM形式の断層画像の一例を示す模式図である。図2に示すようにxyz軸を設定した場合、xy平面画像であるスライス画像(2次元の断層画像)が、z方向に沿って複数並んでいる。Sxはx軸方向の画素数であり、Syはy軸方向の画素数であり、Szはスライス画像の枚数である。なお、Szはz軸方向の画素数を表す。Rxyはx方向及びy方向の解像度であり、画素の間隔の逆数、すなわち単位距離あたりの画素数を示す。x方向とy方向の解像度は等しいが、異なっていてもよい。Rzはz方向の解像度であり、隣り合うスライス画像の間隔の逆数、すなわち単位距離あたりのスライス数を表す。各スライス画像の座標(x,y,z)での画素値をDo(x,y,z)で現す。Do(x,y,z)は、-32768以上、32767以下の値を取り得る。画素値Do(x,y,z)は、例えば、CT画像の場合、水が0を示し、水よりも密度の高い組織(例えば、骨など)は正値となり、水よりも密度の低い組織(例えば、脂肪組織など)は負値となる。スライス画像の座標(x,y,z)において、x座標は0以上、Sx-1以下の値をとり、y座標は0以上、Sy-1以下の値をとり、z座標は0以上、Sz-1以下の値をとる。 FIG. 2 is a schematic diagram showing an example of a DICOM format tomographic image. When the xyz axis is set as shown in FIG. 2, a plurality of slice images (two-dimensional tomographic images), which are xy plane images, are arranged along the z 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 sliced images. Note that Sz represents the number of pixels in the z-axis direction. Rxy is the resolution in the x-direction and the y-direction, and indicates the reciprocal of the pixel spacing, that is, the number of pixels per unit distance. The resolutions in the x and y directions are the same, but may be different. Rz is the resolution in the z direction, and represents the reciprocal of the spacing between adjacent slice images, that is, the number of slices per unit distance. The pixel value at the coordinates (x, y, z) of each slice 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) shows 0 for water, a tissue having a density higher than water (for example, bone) has a positive value, and a tissue having a density lower than water. (For example, adipose tissue) has a negative value. In the coordinates (x, y, z) of the slice 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, and the z coordinate takes a value of 0 or more and Sz. Takes a value less than or equal to -1.
また、入力部10は、画素値に対応付けてRGB値及び不透明度が定義されたカラーマップデータを取得する。
Further, the
図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 the color map data of the present embodiment. The color map data of the first example is shown by Cmap (v, c). The variable v indicates a pixel value of Do (x, y, z), and represents a numerical value within the range of -23768 or more and 32767 or less, similarly to the range of Do (x, y, z). The variable c includes the values of 0, 1, 2, and 3, c = 0 indicates the R value of RGB, c = 1 indicates the G value, and c = 2 indicates the 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 sliced 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 for convenience that they correspond to the
図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 the color map data of the present embodiment. The color map data of the second example is shown by Cmap8 (v, c). As will be described later, when the DICOM image is gradation-compressed from, for example, 16 bits to 8 bits, the pixel value can be in the range of 0 or more and 255 or less from the range of 32768 or more and 32767 or less. 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) and Cmap8 (v, c), for example, not only different colors can be added to each part of the human body, but also the opacity can be set for each part. It is possible to make it easier to recognize the observation target, such as making the located organ transparent and depicting the organ hidden in the back.
また、入力部10は、xyz軸の回転角、xyz軸方向のオフセット値、xyz軸方向の拡大又は縮小倍率、z軸方向の変倍率、注視点から視点までの距離を含む座標変換のパラメータ、及びxyz方向のROI(Region of Interest:関心領域)の値を取得する。座標変換のパラメータ、ROI値の詳細は後述する。
Further, the
記憶部11は、入力部10で取得したデータ、画像処理部20での処理結果などを記憶することができる。なお、カラーマップデータ、座標変換パラメータ、ROI値などを予め記憶部11に記憶する構成でもよい。
The
出力部12は、画像処理部20での処理結果、例えば、レイキャスティング処理部25で生成したレンダリング画像の画像データを表示装置(不図示)に出力する。
The
階調圧縮処理部21は、DICOM形式の断層画像を、例えば、8ビットの階調圧縮断層画像にする。
The gradation
図5は本実施の形態のレイキャスティング装置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
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 based on the formula 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, Lmax = (Dmax−Dmin) · (1-γ) + Dmin. γ is the contrast adjustment range of the gradation compressed image, and the closer it is to 0, the higher the contrast but the lower the brightness. Normally, it is set to γ = 0.1. Since the luminance contrast of the rendered image can be adjusted by various settings such as color map data, γ may be a fixed value. Further, 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)を適用することができる。 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
平滑化処理部22は、平滑化部としての機能を有し、複数のxy平面画像それぞれの任意の注目画素及び当該注目画素の近傍画素の画素値に基づいて、複数のxy平面画像を平滑化する。xy平面画像は、DICOM画像Do(x,y,z)でもよく、階調圧縮処理部21により階調圧縮された階調圧縮断層画像D8(x,y,z)でもよい。
The smoothing
図6は本実施の形態のレイキャスティング装置100による平滑化処理の一例を示す説明図である。図6の例では、階調圧縮断層画像D8(x,y,z)を図示しているが、DICOM画像Do(x,y,z)でもよい。図6は、一のスライス画像の注目画素D8(x,y,z)と当該注目画素の近傍に存在する8個の近傍画素D8(x-1,y-1,z)、D8(x,y-1,z)、D8(x+1,y-1,z)、D8(x-1,y,z)、D8(x+1,y,z)、D8(x-1,y+1,z)、D8(x,y+1,z)、D8(x+1,y+1,z)を示す。xyz座標の平滑化された画像をD(x,y,z)とすると、D(x,y,z)は、注目画素を含む近傍画素の画素値の平均値となる。
FIG. 6 is an explanatory diagram showing an example of smoothing processing by the
すなわち、より具体的には、平滑化処理部22は、複数のxy平面画像それぞれの一のxy平面画像上の任意の注目画素及び当該注目画素の一のxy平面画像での近傍画素の画素値に基づいて、一のxy平面画像を平滑化する。
That is, more specifically, the smoothing
階調圧縮断層画像D8(x,y,z)、あるいはDICOM画像Do(x,y,z)のxy面での8近傍平均値で異方性(z方向を除くという意味)平滑処理を行うことにより、複数のスライス画像に知覚可能な不規則なパターンが回転によりずれて重なり連結することにより発生するモアレを抑制することができる。 Anisotropic (meaning excluding the z direction) smoothing is performed using the mean value near 8 on the xy plane of the gradation compressed tomographic image D8 (x, y, z) or the DICOM image Do (x, y, z). As a result, it is possible to suppress moire generated by overlapping and connecting irregular patterns that can be perceived in a plurality of slice images by shifting them due to rotation.
ボクセル構造体生成部23は、ボクセル画像生成部としての機能を有し、RGB値及び不透明度αが定められ、平滑化した複数のxy平面画像それぞれの各画素に対応するボクセルで構成される3次元ボクセル画像を生成する。より具体的には、ボクセル構造体生成部23は、平滑化した複数のxy平面画像それぞれの各画素の画素値に対応するカラーマップデータのRGB値及び不透明度を対応付けてRGB値及び不透明度αを設定し、3次元ボクセル画像を生成する。以下、3次元ボクセル画像をボクセル構造体とも称する。
The voxel
図7は本実施の形態のボクセル構造体の一例を示す模式図である。図7Aは、後述の座標変換前のボクセル構造体を示し、図7Bは、座標変換後のボクセル構造体を示す。まず、座標変換前のボクセル構造体について説明する。ボクセル構造体は、RGB値及び不透明度αの要素で構成されるベクトル値が3次元的に詰まったボリュームデータを格子状に離散化して配置したボクセルの集合である。一つのボクセルには、例えば、平滑化された画像D(x,y,z)の一つの画素が対応する。座標変換前のボクセル構造体をV(x,y,z,c)で表すと、V(x,y,z,c)=Cmap8(D(x,y,z)、c)で表すことができる。ここで、0≦x≦Sx-1、0≦y≦Sy-1、0≦z≦Sz-1、0≦c≦3である。上述の式が意味するところは、平滑化された画像D(x,y,z)の画素値にカラーマップCmap8(v,c)を適用してボクセル構造体V(x,y,z,c)を生成するということである。 FIG. 7 is a schematic diagram showing an example of the voxel structure of the present embodiment. FIG. 7A shows a voxel structure before coordinate conversion, which will be described later, and FIG. 7B shows a voxel structure after coordinate conversion. First, the voxel structure before the coordinate conversion will be described. The voxel structure is a set of voxels in which volume data composed of RGB values and elements of opacity α are three-dimensionally packed and arranged in a grid pattern. One voxel corresponds to, for example, one pixel of the smoothed image D (x, y, z). When the voxel structure before coordinate conversion is represented by V (x, y, z, c), it can be represented by V (x, y, z, c) = Cmap8 (D (x, y, z), c). can. Here, 0 ≦ x ≦ Sx-1, 0 ≦ y ≦ Sy-1, 0 ≦ z ≦ Sz-1, and 0 ≦ c ≦ 3. The above equation means that the voxel structure V (x, y, z, c) is applied to the pixel values of the smoothed image D (x, y, z) by applying the color map Cmap8 (v, c). ) Is generated.
本実施の形態の3次元ボクセル画像のデータは、z方向に沿って所定間隔で撮像された複数のxy平面画像のそれぞれの各画素に対応するボクセルで構成され、ボクセルデータは、複数のxy平面画像それぞれの任意の注目画素及び該注目画素の近傍画素の画素値に基づいて、複数のxy平面画像が平滑化され、カラーマップデータに対応付けてRGB値及び不透明度が定められたものである。別言すれば、3次元ボクセル画像のデータは、z方向に沿って所定間隔で撮像された複数のxy平面画像のそれぞれの各画素に対応するボクセルのボクセルデータであって、複数のxy平面画像それぞれの任意の注目画素及び当該注目画素の近傍画素の画素値に基づいて、複数のxy平面画像が平滑化されたデータ構造を有し、RGB値及び不透明度が定められ、平滑化した複数のxy平面画像それぞれの各画素に対応するボクセルで構成される3次元ボクセル画像を生成する処理を実行するのに用いられる。 The data of the three-dimensional voxel image of the present embodiment is composed of voxels corresponding to each pixel of a plurality of xy plane images captured at predetermined intervals along the z direction, and the voxel data is composed of a plurality of xy planes. A plurality of xy plane images are smoothed based on the pixel values of an arbitrary pixel of interest in each image and pixels in the vicinity of the pixel of interest, and RGB values and opacity are determined in association with the color map data. .. In other words, the data of the three-dimensional voxel image is the voxel data of the voxels corresponding to each pixel of the plurality of xy plane images captured at predetermined intervals along the z direction, and is a plurality of xy plane images. A plurality of smoothed data structures in which a plurality of xy plane images are smoothed based on the pixel values of each arbitrary pixel of interest and pixels in the vicinity of the pixel of interest, and RGB values and opacity are determined. It is used to execute a process of generating a three-dimensional voxel image composed of voxels corresponding to each pixel of the xy plane image.
座標変換処理部24は、変換後ボクセル画像生成部としての機能を有し、生成した3次元ボクセル画像に対して、入力部10で取得した座標変換パラメータを用いて所定の座標変換を行って変換後ボクセル画像を生成する。すなわち、座標変換処理部24は、ボクセル構造体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
図7Aに示すように、レンダリング像が生成される投影面の向きと、ボクセル構造体V(x,y,z,c)のz軸方向が一致していないと、後述のレイキャスティング処理が複雑になる。そこで、図7Bに示すように、ボクセル構造体V(x,y,z,c)のxyz軸を回転させて、例えば、座標変換後のz′軸が投影面に対して垂直方向にすることにより、レイキャスティング処理を簡単にすることができる。 As shown in FIG. 7A, if the orientation of the projection plane on which the rendered image is generated and the z-axis direction of the voxel structure V (x, y, z, c) do not match, the raycasting process described later is complicated. become. Therefore, as shown in FIG. 7B, the xyz axis of the voxel structure V (x, y, z, c) is rotated so that, for example, the z'axis after coordinate conversion is in the direction perpendicular to the projection plane. Therefore, the ray casting process can be simplified.
図8は本実施の形態のレイキャスティング装置100による座標変換処理の一例を示す説明図である。図8に示すように、変換後のボクセル構造体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である。
FIG. 8 is an explanatory diagram showing an example of coordinate conversion processing by the
座標変換は、例えば、スケーリング、z方向変倍処理、オフセット、回転、透視変換の順番で行うことができるが、4×4の変換行列で定義可能な範囲であれば、各処理の順番は、図8の例に限定されない。なお、後述の逆変換における各処理の順番は、座標変換での各処理の順番と逆の順番とし、前記変換行列の逆行列を施すことになる。 The coordinate transformation can be performed in the order of scaling, z-direction scaling processing, offset, rotation, and perspective transformation, for example, but the order of each processing is as long as it can be defined by a 4 × 4 transformation matrix. It is not limited to the example of FIG. The order of each process in the inverse transformation described later is the reverse order of the order of each process in the coordinate transformation, and the inverse matrix of the transformation matrix is applied.
スケーリングは、例えば、ROI処理によって関心領域以外の領域が除外された場合に、関心領域を拡大する処理である。スケーリングでは、xyz軸方向で同一の拡大縮小倍率Scaleを用いる。 Scaling is, for example, a process of expanding an area of interest when an area other than the area of interest is excluded by the ROI process. In scaling, the same scaling factor Scale is used 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 spacing of pixels in the z-direction to the physical spacing of pixels in the xy direction. In the z-direction scaling process, the z-direction scaling factor 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. For the offset, the offset Xoff in the x-axis direction, the offset Yoff in the y-axis direction, and the offset Zoff in the z-axis direction are used.
回転は、x軸回り、y軸回り、z軸回りに回転させるための処理である。回転では、x軸中心の回転角Rx、y軸中心の回転角Ry、z軸中心の回転角Rz(角度の単位は全てラジアン)を用いる。 The rotation is a process for rotating around the x-axis, around the y-axis, and around the z-axis. In rotation, the rotation angle Rx at the center of the x-axis, the rotation angle Ry at the center of the y-axis, and the rotation angle Rz at the center of the z-axis (all angles are in radians) are used.
透視変換は、いわゆる内視鏡モードで画像を表示させるための処理である。透視変換では、注視点(原点、なお、オフセットがある場合、オフセット後の原点)からz軸方向の視点までの距離Distを用いる。なお、平行投影の場合には、Dist=0と設定する。 Perspective transformation is a process for displaying an image in a so-called endoscope mode. In the perspective transformation, the distance Dist from the gaze point (origin, if there is an offset, the origin after the 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)に纏めることができる。 By the above-mentioned clipping and coordinate transformation, the value of the converted voxel structure V'(x, y, z', c) is determined. In addition, each processing of scaling, z-direction scaling processing, offset, rotation, and perspective transformation can be summarized in a transformation matrix Matrix (4 × 4).
探索制御マスク生成部26は、変換後ボクセル構造体V′(x,y,z′,c)のxy座標毎に、変換後ボクセル構造体V′(x,y,z′,c)のボクセルの不透明度αが0(透明)でない視線上の最小値及び最大値を特定する。
The search control
図9は本実施の形態のレイキャスティング装置100による探索制御マスクデータ生成処理の一例を示す説明図である。図9では、変換後のボクセル構造体V′(x,y,z′,c)をxz′平面から見た場合を示す。投影面はxy平面となる。探索制御マスク生成部26は、探索制御マスクデータM(x,y,s)を生成する。ここで、s=0又は1である。
FIG. 9 is an explanatory diagram showing an example of the search control mask data generation process by the
図9に示すように、2次元座標(x,y)毎に、z軸方向に探索対象とする有効なボクセルの範囲を設定する。有効なボクセルとは、不透明度αが0でない値を有するボクセルである。不透明度αが0とは、透明であるということであり、レンダリング像において当該ボクセルは計算対象から外され表示されない。 As shown in FIG. 9, the range of effective voxels to be searched is set in the z-axis direction for each two-dimensional coordinate (x, y). A valid voxel is a voxel having a non-zero opacity α. When the opacity α is 0, it means that the voxel 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, increase z ′ by 1 from z ′ = 0 toward z ′ = Sz ′ -1, and first. Search for z1 that satisfies V'(x, y, z1,3)> 0. Further, for the same coordinates (x, y), z'is reduced one by one from z'= Sz'-1 toward 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) = 0 may be obtained. That is, z1 is the minimum value of z'in which a valid voxel exists, 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), invalid voxels can be excluded and subsequent ray casting processing can be performed, so that the load of ray casting processing can be reduced. The volume rendering process can be speeded up.
レイキャスティング処理部25は、レンダリング画像生成部としての機能を有し、所定の視点から所定の透過強度を有する仮想光線を変換後のボクセル構造体V′(x,y,z′,c)に向かってz′方向に照射したときに、z′軸上のボクセル毎に当該ボクセルの不透明度αに基づく仮想光線の吸収・減衰度を考慮しながらボクセル通過後の強度を算出し、透過強度が所定の下限以下になる最深点のボクセルを決定する。そして、最深点のボクセルより視点方向に仮想光線が通過した各ボクセルを逆に辿りながら、各ボクセルのRGB値及び不透明度αを基にRGB値を累積加算した値を、当該視線が投影面と交差する画素の画素値としてレンダリング画像を生成する。仮想光線を変換後のボクセル構造体V′(x,y,z′,c)に向かってz′方向に照射し、最深点のボクセルを決定する過程で、各ボクセルのRGB値及び不透明度α並びに仮想光線の透過強度の積を累積加算することにより、投影面と交差する画素の画素値を同時に算出する方法もとれる。本願では後者の方法に基づいて以下説明する。
The ray
図10は本実施の形態のレイキャスティング装置100による平行投影の場合のレイキャスティング処理の一例を示す説明図である。図10では、変換後のボクセル構造体V′(x,y,z′,c)を3次元的にボクセルデータが詰まった立方体として図示している。変換後のボクセル構造体V′(x,y,z′,c)のxy軸に平行な投影面(レンダリング像)が、変換後のボクセル構造体V′(x,y,z′,c)から所要距離だけ離隔して配置されているとする。図10のように、視点が無限遠点に位置する場合が一般的に使用される平行投影で(本来はDist=∞であるが、本願ではDist=0と設定)、視点からボクセル構造体内部に向かう全ての視線がz′軸と平行になる。レイキャスティング処理(ボリュームレンダリング)では、不透明度αに基づいて半透明表示(αブレンディング)を行うことによって、変換後のボクセル構造体V′(x,y,z′,c)の内部を可視化する。すなわち、可視化は、変換後のボクセル構造体V′(x,y,z′,c)のボクセルが有するボクセル値(RGB値及び不透明度α)によって実現される。
FIG. 10 is an explanatory diagram showing an example of a ray casting process in the case of parallel projection by the
図11は本実施の形態のレイキャスティング装置100による透視投影の場合のレイキャスティング処理の一例を示す説明図である。図11のように視点が投影面に比較的接近している場合(本願ではDist>0)が透視投影で、内視鏡表示の際は、投影面や視点がボクセル構造体V′(x,y,z′,c)の内部に没入することもある。図10の場合と同様に、レイキャスティング処理(ボリュームレンダリング)では、不透明度αに基づいて半透明表示(αブレンディング)を行うことによって、変換後のボクセル構造体V′(x,y,z′,c)の内部を可視化する。すなわち、可視化は、変換後のボクセル構造体V′(x,y,z′,c)のボクセルが有するボクセル値(RGB値及び不透明度α)によって実現される。
FIG. 11 is an explanatory diagram showing an example of a ray casting process in the case of perspective projection by the
図10及び図11に示すように、視点から視線を変換後のボクセル構造体V′(x,y,z′,c)の内部に伸ばし、視線上にあるサンプリング点(ボクセル)において当該ボクセルのRGB値と不透明度αに基づいてRGB輝度値を視線に沿って累積計算し、累積計算した値を、当該視線が投影面と交差する位置のピクセル(画素の画素値)としてレンダリング像を生成する。この際に、前述の探索制御マスクM(x,y,0)とM(x,y,1)との間のz′について累積計算を行う。なお、レイキャスティング処理の詳細は後述する。 As shown in FIGS. 10 and 11, the line of sight is extended from the viewpoint to the inside of the converted voxel structure V'(x, y, z', c), and the voxel is located at the sampling point (voxel) on the line of sight. The RGB brightness value is cumulatively calculated along the line of sight based on the RGB value and the opacity α, and the cumulatively calculated value is used as a pixel (pixel value of the pixel) at the position where the line of sight intersects the projection plane to generate a rendered image. .. At this time, the cumulative calculation is performed for z'between the search control masks M (x, y, 0) and M (x, y, 1) described above. The details of the ray casting process will be described later.
次に、本実施の形態のレイキャスティング装置100の動作について説明する。
Next, the operation of the
図12及び図13は本実施の形態のレイキャスティング装置100によるレイキャスティング処理の手順の一例を示すフローチャートである。以下では、便宜上、処理の主体を画像処理部20として説明する。画像処理部20は、DICOM画像の画像データを取得し(S11)、カラーマップデータを取得する(S12)。なお、カラーマップデータは、図3、図4で例示したものである。
12 and 13 are flowcharts showing an example of the procedure of the ray casting process by the
画像処理部20は、座標変換パラメータを取得し(S13)、xyz方向のROI値を取得する(S14)。なお、座標変換パラメータ、ROI値は、図8で例示したものである。画像処理部20は、DICOM画像の階調圧縮処理を行い(S15)、階調圧縮断層画像D8に対してカラーマップ定義を行う(S16)。カラーマップ定義は、階調圧縮断層画像D8の画素値に対して、RGB値及び不透明度αを定義する。なお、ステップS15の処理は必須ではなく、ステップS15の処理を実施しない場合には、DICOM画像に対してカラーマップ定義を行えばよい。ただし、カラーマップはCT画像の場合、見たい部位ごとに汎用的に定義することが可能で、与えられたDICOM画像に依存して定義されるものではないため、ステップS16の処理を省略し、あらかじめ定義されたカラーマップを流用することもできる。
The
画像処理部20は、階調圧縮断層画像D8の平滑化処理を行い(S17)、ボクセル構造体V(x,y,z,c)を生成する(S18)。画像処理部20は、ボクセル構造体V(x,y,z,c)に対して座標変換処理を行い(S19)、変換後ボクセル構造体V′(x,y,z′,c)を生成する(S20)。なお、座標変換処理の詳細は後述する。
The
画像処理部20は、探索制御マスクデータM(x,y,s)を生成し(S21)、レイキャスティング処理を行い(S22)、レンダリング画像Image(x,y,c)を生成し(S23)、処理を終了する。ここで、0≦Image(x,y,c)≦255、c=0(R)、c=1(G)、c=2(B)である。なお、レイキャスティング処理の詳細は後述する。
The
図14及び図15は本実施の形態のレイキャスティング装置100による座標変換処理の手順の一例を示すフローチャートである。画像処理部20は、変換前のボクセル構造体V(x,y,z,c)に変換行列Matrix(4×4)を乗算して変換後のボクセル構造体V′(x,y,z′,c)を生成する(S101)。すなわち、V′(x,y,z′,c)=Matrix(4×4)・V(x,y,z,c)となる。ここで、変換前のボクセル構造体V(x,y,z,c)の座標値(x,y,z)、及び変換後のボクセル構造体V′(x,y,z′,c)の座標値(x,y,z′)は整数値である。そこで、変換後のボクセル構造体V′(x,y,z′,c)の座標値(x,y,z′)(整数値)に対応する変換前のボクセル構造体V(x,y,z,c)の実数の座標値(xr,yr,zr)を以下のようにして算出する。
14 and 15 are flowcharts showing an example of the procedure of the coordinate conversion process by the
画像処理部20は、変換後のボクセル構造体V′(x,y,z′,c)の座標値(x,y,z′)(整数値)を実数値(xx,yy,zz)に変換する(S102)。整数値(x,y,z′)から実数値(xx,yy,zz)の変換は、式(1)、(2)及び(3)により行うことができる。
The
画像処理部20は、座標値を実数値に変換したボクセル構造体V′(xx,yy,zz,c)に変換行列Matrix(4×4)の逆行列を乗算して変換前のボクセル構造体V(x,y,z,c)に対応する座標値の実数値(xr,yr,zr)を算出する(S103)。
The
ステップS102、S103の処理は、座標値算出部27が行うことができる。すなわち、座標値算出部27は、変換後ボクセル構造体のボクセルのxyz座標に対して所定の座標変換の逆変換を行って当該ボクセルのxyz座標の実数値を算出する。なお、ステップS103の処理は、以下のようにして行うことができる。
The processing of steps S102 and S103 can be performed by the coordinate
まず、透視変換の距離Dist>0の場合、式(4)、(5)、(6)のように透視変換を行い、変換後の(xx′,yy′,zz′)を(xx,yy,zz)とする。 First, when the distance Dist> 0 of the perspective transformation, the perspective transformation is performed as in the equations (4), (5), and (6), and the converted (xx', yy', zz') is converted to (xx, yy). , Zz).
なお、式(4)、(5)、(6)の意味は、距離Distが小さいほど、近くが拡大され、遠くが縮小される、いわゆる遠近感が強調され、距離Distが大きいほど遠近感がなくなり、距離Distが∞に設定された状態(本願ではDist=0に設定)が平行投影である。 The meanings of the equations (4), (5), and (6) are that the smaller the distance Dist, the larger the near and the smaller the distance, that is, the so-called perspective is emphasized, and the larger the distance Dist, the more the perspective. The state in which the distance Dist is set to ∞ (Dist = 0 in the present application) is parallel projection.
次に、z軸中心の回転、y軸中心の回転、x軸中心の回転の順(座標変換での順番と逆の順番)に逆方向の回転を順次行う。すなわち、式(7)、(8)による回転を行い、(xx′,yy′)を(xx,yy)に置換する。次に、式(9)、(10)による回転を行い、(zz′,xx′)を(zz,xx)に置換する。そして、式(11)、(12)による回転を行い、(yy′,zz′)を(yy,zz)に置換する。 Next, rotation in the reverse direction is sequentially performed in the order of rotation at the center of the z-axis, rotation at the center of the y-axis, and rotation at the center of the x-axis (the order opposite to the order in the coordinate transformation). That is, the rotation according to the equations (7) and (8) is performed, and (xx', yy') is replaced with (xx, yy). Next, rotation is performed according to the equations (9) and (10), and (zz', xx') is replaced with (zz, xx). Then, the rotation according to the equations (11) and (12) is performed, and (yy', zz') is replaced with (yy, zz).
スケーリング、z方向変倍処理、オフセット(xyz方向同時)を同時に行い、式(13)、(14)、(15)により、変換前のボクセル構造体V(x,y,z,c)に対応する座標値の実数値(xr,yr,zr)を得る。 Scaling, z-direction scaling, and offset (simultaneous in xyz direction) are performed at the same time, and equations (13), (14), and (15) correspond to the voxel structure V (x, y, z, c) before conversion. Obtain the real values (xr, yr, zr) of the coordinate values to be used.
画像処理部20は、算出した実数値(xr,yr,zr)に乱数を加算して座標値を更新する(S104)。これは、前述の座標変換の過程で丸め誤差が累積し、周期的なパターンが生成されることにより発生するモアレを抑制するためであり、乱数を加算することにより、パターンの周期性が崩れモアレ発生を抑制できる。なお、算出した実数値(xr,yr,zr)に乱数を加算して座標値を更新する処理は必須ではない。
The
より具体的には、乱数発生部28は、所定範囲内の乱数、例えば、0から32767までの乱数Rndを発生する。補間処理部29は、ボクセルのxyz座標の実数値に所定範囲内の乱数を加算する。すなわち、式(16)、(17)、(18)により、実数値の座標(xr,yr,zr)に対して、例えば、-0.5から+0.5の範囲の乱数を加算して更新した座標値(xr′,yr′,zr′)を得る。更新した座標値(xr′,yr′,zr′)を(xr,yr,zr)とする。
More specifically, the random
画像処理部20は、更新した座標値(xr,yr,zr)を整数値(xi,yi,zi)と小数点以下の端数(wx,wy,wz)に分解する(S105)。より具体的には、補間処理部29は、ボクセルのxyz座標の実数値と、当該実数値の小数点以下を切り捨てた整数値との差分(端数)を特定する。すなわち、更新した座標値(xr,yr,zr)を式(19)、(20)、(21)のように分解する。ここで、0≦wx、wy、wz≦1とする。
The
画像処理部20は、ROI値に乱数を加算してクリッピング領域を更新する(S106)。
The
より具体的には、ROIクリッピング処理部30は、ボリュームレンダリング処理の対象領域を画定するxyz座標を設定する。乱数発生部28は、所定範囲内の乱数、例えば、0から32767までの乱数Rndを発生する。ROIクリッピング処理部30は、設定したxyz座標に所定範囲内の乱数を加算する。すなわち、式(22)、(23)、(24)、(25)、(26)、(27)により、ROIの6つの座標値Xs、Xe、Ys、Ye、Zs、Zeに対して、例えば、-0.1から+1.1の範囲の乱数を加算して更新したROIの6つの座標値Xs′、Xe′、Ys′、Ye′、Zs′、Ze′を得る。
More specifically, the ROI
なお、Xs′<0の場合には、Xs′=0とし、Xe′>Sx-1の場合には、Xe′=Sx-1とする。Ys′<0の場合には、Ys′=0とし、Ye′>Sy-1の場合には、Ye′=Sy-1とする。また、Zs′<0の場合には、Zs′=0とし、Ze′>Sz-1の場合には、Ze′=Sz-1とする。 When Xs'<0, Xs'= 0, and when Xe'> Sx-1, Xe'= Sx-1. If Ys'<0, then Ys'= 0, and if Ye'> Sy-1, then Ye'= Sy-1. When Zs'<0, Zs'= 0, and when Ze'> Sz-1, Ze'= Sz-1.
画像処理部20は、変換前のボクセル構造体V(x,y,z,c)に対応する座標値の整数値(xi,yi,zi)が、更新したクリッピング領域内にあるか否かを判定する(S107)。ここで、条件1として、xi<Xs′またはxi>Xe′またはyi<Ys′またはyi>Ye′またはzi<Zs′またはzi>Ze′の場合には、座標値の整数値(xi,yi,zi)が、更新したクリッピング領域内にないと判定(S107でNO)、画像処理部20は、ボクセル値を削除し(S108)、後述のステップS113の処理を行う。より具体的には、画像処理部20は、変換後のボクセル構造体V′(x,y,z′,c)=0とする。すなわち、RGB値及び不透明度αを0とする。
The
座標値の整数値(xi,yi,zi)が、更新したクリッピング領域内にある場合(S107でYES)、すなわち前述の条件1を充足しない場合、画像処理部20は、変換前のボクセル構造体に対応する座標値の整数値(xi+1,yi+1,zi+1)が更新したクリッピング領域内にあるか否かを判定する(S109)。条件2として、xi+1>Xe′またはyi+1>Ye′またはzi+1>Ze′の場合には、座標値の整数値(xi+1,yi+1,zi+1)のいずれかが、更新したクリッピング領域内にないと判定し(S109でNO)、画像処理部20は、補間せずに(S110)、後述のステップS113の処理を行う。ここで、補間しないとは、変換後のボクセル構造体V′(x,y,z′,c)=V(xi,yi,zi,c)とし、座標値の整数値(xi,yi,zi)をそのまま採用することである。
When the integer value (xi, yi, zi) of the coordinate value is within the updated clipping region (YES in S107), that is, when the above-mentioned
座標値の整数値(xi+1,yi+1,zi+1)が更新したクリッピング領域内にある場合(S109でYES)、すなわち、座標値の整数値(xi,yi,zi)および(xi+1,yi+1,zi+1)が、更新したクリッピング領域内にある場合、画像処理部20は、座標値の整数値(xi,yi,zi)及び座標値の整数値(xi,yi,zi)に1を加算した8組の整数値を座標値とする変換前のボクセル構造体のボクセル値に重み付け係数を乗算し、重み付け係数を乗算したボクセル値を加算してボクセル値を補間し(S111)、補間したボクセル値を変換後のボクセル構造体V′(x,y,z′,c)のボクセル値とし(S112)、後述のステップS113の処理を行う。これにより、変換後のボクセル構造体V′(x,y,z′,c)の値を得る。
When the integer values of the coordinate values (xi + 1, yi + 1, zi + 1) are within the updated clipping region (YES in S109), that is, the integer values of the coordinate values (xi, yi, zi) and (xi + 1, yi + 1, zi + 1) are When it is in the updated clipping area, the
すなわち、補間処理部29は、算出したボクセルのxyz座標の実数値の近傍の整数値をxyz座標とする複数のボクセルを特定し、特定した複数のボクセルのRGB値及び不透明度に基づいて変換後ボクセル構造体のボクセルのRGB値及び不透明度を算出する。また、補間処理部29は、乱数を加算したxyz座標の実数値の近傍の整数値をxyz座標とする複数のボクセルを特定することもできる。
That is, the
補間処理部29は、特定した複数のボクセルのRGB値及び不透明度に、特定した座標値の実数値と近傍の整数値との差分(端数)に基づく重み付け係数を乗算して変換後ボクセル構造体のボクセルのRGB値及び不透明度を算出する。また、補間処理部29は、変換後ボクセル構造体のボクセルのxyz座標が、乱数を加算したxyz座標で画定される対象領域内にある場合、特定した複数のボクセルのRGB値及び不透明度に基づいて変換後ボクセル構造体のボクセルのRGB値及び不透明度を算出することもできる。
The
ステップS111、S112の処理は、式(28)で表すことができる。 The processing of steps S111 and S112 can be expressed by the equation (28).
図16は本実施の形態のレイキャスティング装置100による補間処理の一例を示す模式図である。図16において、座標(xr,yr,zr)は、変換前のボクセル構造体V(x,y,z,c)に対応する実数値の座標(xr,yr,zr)に所定範囲内の乱数を加算して、ゆらぎを与えることによって更新された実数値の座標値である。図16では、実数値(xr,yr,zr)が、整数値(xi,yi,zi)と端数(wx,wy,wz)とに分解されていることが分かる。そして、座標値(xr,yr,zr)の周りには、8組の整数値(xi,yi,zi)、(xi+1,yi,zi)、(xi,yi+1,zi)、(xi+1,yi+1,zi)、(xi,yi,zi+1)、(xi+1,yi,zi+1)、(xi,yi+1,zi+1)、(xi+1,yi+1,zi+1)が存在している。
FIG. 16 is a schematic diagram showing an example of interpolation processing by the
式(28)、図16から分かるように、ボクセル値の補間は、実数値の座標値と整数値の座標値との端数が小さいほど、当該整数値の座標値におけるボクセル構造体のボクセル値に大きな重き付け係数が乗算される。 As can be seen from Equation (28) and FIG. 16, in the interpolation of the boxel value, the smaller the fraction between the real value coordinate value and the integer value coordinate value, the more the boxel value of the boxel structure at the integer value coordinate value becomes. A large weighting factor is multiplied.
画像処理部20は、すべてのボクセル構造体V′(x,y,z′,c)のボクセル値を決定したか否かを判定し(S113)、すべてのボクセル構造体V′(x,y,z′,c)のボクセル値を決定していない場合(S113でNO)、ステップS105以降の処理を続け、すべてのボクセル構造体V′(x,y,z′,c)のボクセル値を決定した場合(S113でYES)、処理を終了する。
The
本実施の形態の3次元ボクセル画像のデータは、z方向に沿って所定間隔で撮像された複数のxy平面画像のそれぞれの各画素に対応するボクセルのボクセルデータを含む構造を有し、ボクセルデータは、所定の座標変換を施したデータであって、当該座標変換後のボクセルのxyz座標に対して当該所定の座標変換の逆変換を行ってボクセルのxyz座標の実数値が算出され、算出されたボクセルのxyz座標の実数値の近傍の整数値をxyz座標とする複数のボクセルが特定され、特定された複数のボクセルのRGB値及び不透明度に基づいて当該所定の座標変換後のボクセルのRGB値及び不透明度が算出されたデータであり、所定の視点から仮想光線を所定の座標変換後の3次元ボクセル画像に向かって照射したときに、視線上のボクセル毎に座標変換後のボクセルのRGB値及び不透明度並びに仮想光線の透過強度の積により累積輝度値を累積加算した値に基づいて算出されるRGB値を、視線が投影面と交差する画素の画素値としてレンダリング画像を生成する処理を実行するのに用いられる。 The data of the three-dimensional voxel image of the present embodiment has a structure including voxel data of voxels corresponding to each pixel of a plurality of xy plane images captured at predetermined intervals along the z direction, and voxel data. Is data that has undergone a predetermined coordinate conversion, and the actual value of the voxel's xyz coordinate is calculated and calculated by performing the inverse conversion of the predetermined coordinate conversion on the voxel's xyz coordinate after the coordinate conversion. A plurality of voxels having an integer value in the vicinity of the real value of the xyz coordinate of the voxel as the xyz coordinate are identified, and the RGB of the voxel after the predetermined coordinate conversion is based on the RGB values and opacity of the identified voxels. It is the data for which the value and opacity are calculated, and when a virtual ray is irradiated from a predetermined viewpoint toward a predetermined coordinate-converted three-dimensional voxel image, the voxel RGB of the coordinate-converted voxel for each voxel on the line of sight. Processing to generate a rendered image as the pixel value of the pixel whose line of sight intersects the projection plane, using the RGB value calculated based on the cumulative sum of the cumulative brightness value based on the product of the value, opacity, and transmission intensity of the virtual light beam. Used to perform.
図17及び図18は本実施の形態のレイキャスティング装置100によるレイキャスティング処理の手順の一例を示すフローチャートである。画像処理部20は、色計算のための光源Light(c)を設定する(S121)。ここで、0≦Light(c)≦255、c=0(R)、1(G)、2(B)である。画像処理部20は、仮想光線の透過強度Trans=1.0に設定し、累積輝度値Energy(c)=0.0に設定する(S122)。
17 and 18 are flowcharts showing an example of the procedure of the ray casting process by the
画像処理部20は、z′=M(x,y,1)とする(S123)。すなわち、z′の値を探索制御マスクデータの最大値z2に設定する。画像処理部20は、z′の値が0より小さいか否かを判定し(S124)、z′<0でない場合(S124でNO)、不透明度α=V′(x,y,z′,3)/255とする(S125)。当該式により、不透明度αは、0≦α≦1となる。z′<0である場合(S124でYES)、画像処理部20は、後述のステップS135の処理を行う。画像処理部20は、不透明度αが0であるか否かを判定し(S126)、不透明度α=0の場合(S126でYES)、後述のステップS133の処理を行う。
The
不透明度αが0でない場合(S126でNO)、すなわち、不透明度α>0の場合、画像処理部20は、陰影処理の有無を判定する(S127)。陰影処理がある場合(S127でYES)、画像処理部20は、陰影Shade計算処理を行い(S128)、後述のステップS130の処理を行う。陰影Shade計算は、例えば、以下のようにして行うことができる。
When the opacity α is not 0 (NO in S126), that is, when the opacity α> 0, the
光源ベクトル(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) can be specified as a unit vector with a parallel light source, for example, (Lx, Ly, Lz) = (0.57735, 0.57735, 0.57735). Further, the ambient light component is Ab. Here, 0 ≦ Ab ≦ 1. For example, Ab = 0.2 can be set.
レイキャスティング処理部25は、変換後ボクセル構造体の注目ボクセルの不透明度と、注目ボクセルの近傍に位置する複数の近傍ボクセルそれぞれの不透明度との差分を算出する。レイキャスティング処理部25は、注目ボクセルと近傍ボクセルとの論理的な距離並びに注目ボクセル及び近傍ボクセルそれぞれの不透明度の差分に基づいて注目ボクセルの勾配ベクトルを算出する。
The
0≦x≦Sx-1、0≦y≦Sy-1、0≦z′≦Sz′-1の範囲のボクセル(x,y,z′)の勾配ベクトル(Gx,Gy,Gz)は、式(29)、(30)、(31)で算出することができる。 The gradient vector (Gx, Gy, Gz) of the voxel (x, y, z') in the range of 0≤x≤Sx-1, 0≤y≤Sy-1, 0≤z'≤Sz'-1 is an equation. It can be calculated by (29), (30), and (31).
なお、x=0またはx=Sx-1またはy=0またはy=Sy-1またはz′=0またはz′=Sz′-1(すなわち、境界部のボクセル)の場合、ボクセル(x+i,y+j,z′+k)は存在しない場合があるので、その場合はV′(x+i,y+j,z′+k,3)=0とする。 In the case of x = 0 or x = Sx-1 or y = 0 or y = Sy-1 or z'= 0 or z'= Sz'-1 (that is, the voxel at the boundary), the voxel (x + i, y + j). , Z'+ k) may not exist. In that case, V'(x + i, y + j, z'+ k, 3) = 0.
レイキャスティング処理部25は、算出した勾配ベクトル、所定の光源ベクトルに基づいてボクセルの陰影値Shadeを算出する。G={Gx2 +Gy2 +Gz2 }1/2 とする(Gxの2乗とGyの2乗とGzの2乗との和の平方根をGとする)。G≧1の場合、陰影値Shadeは、拡散反射成分を算出する場合、式(32)で与えられる。なお、視線を変えると、勾配ベクトルも追従して変化するので、視線ベクトルを考慮した鏡面反射成分を算出して加えることもできる。
The
レイキャスティング処理部25は、ボクセルの不透明度αに基づいて当該ボクセルの輝度値Shadeを補正することができる。例えば、陰影値Shadeは、当該ボクセルの不透明度αを乗算して補正することができる。すなわち、陰影値Shadeは、式(33)により算出することができる。G<1の場合、陰影値Shade=0とする。
The
陰影処理がない場合(S127でNO)、画像処理部20は、Shade=αとする(S129)。画像処理部20は、累積輝度値の更新を行う(S130)。すなわち、Energy(c)=Energy(c)+Trans・α・Shade・V′(x,y,z′,c)/255という式により0≦c≦2の3成分の累積輝度値の更新を行う。画像処理部20は、透過強度の更新を行う(S131)。すなわち、Trans=Trans・(1-α)という式に依り透過強度の更新を行う。
When there is no shading process (NO in S127), the
画像処理部20は、不透明度α=1.0であるか否か、または透過強度Trans<所定値であるか否を判定する(S132)。ここで、所定値は、0又は0に近い値(例えば、0.001など)であればよい。不透明度α=1.0でなく、かつ透過強度Trans<所定値でない場合(S132でNO)、画像処理部20は、z′=z′-1とし(S133)、z′の値がM(x,y,0)より小さいか否かを判定する(S134)。z′<M(x,y,0)である場合(S134でYES)、画像処理部20は、2次元座標(x,y)におけるRGB値を決定する(S135)。投影面の2次元座標(x,y)におけるRGB値は、Image(x,y,c)=k・Energy(c)・Light(c)で計算することができる。ここで、kは強度倍率であり、RGB値を補正することができる。kの値は、例えば、1.0とすることができるが、これに限定されない。Light(c)は光源のRGB値である。
The
不透明度α=1.0であるか、又は透過強度Trans<所定値である場合(S132でYES)、画像処理部20は、ステップS133、S134の処理を行うことなく、ステップS135の処理を行う。また、z′<M(x,y,0)でない場合(S134でNO)、画像処理部20は、ステップS125以降の処理を行う。
When the opacity α = 1.0 or the transmission intensity Trans <predetermined value (YES in S132), the
画像処理部20は、すべての2次元座標のRGB値が決定されたか否かを判定し(S136)、すべての2次元座標のRGB値が決定されていない場合(S136でNO)、ステップS122以降の処理を行う。すべての2次元座標のRGB値が決定された場合(S136でYES)、画像処理部20は、処理を終了する。
The
上述のように、レイキャスティング処理部25は、視線上の最小値z1と最大値z2との範囲内でボクセル毎に当該ボクセルのRGB値(V′(x,y,z′,c))不透明度α(V′(x,y,z′,3))並びに当該ボクセルにおいて算出した陰影値Shadeと、仮想光線の透過強度Transの積により累積輝度値Energy(c)を累積加算(更新)した値に基づいて算出されるRGB値を、視線が投影面と交差する画素の画素値としてレンダリング画像を生成することができる。
As described above, the ray
レイキャスティング処理部25は、視線上のボクセルが最小値z1と最大値z2との範囲外である場合、最小値z1と最大値z2とが同一値である場合、あるいは最小値z1又は最大値z2が見つからない場合、視線が投影面と交差する画素に所定の画素値を付与してレンダリング画像を生成することができる。所定の画素値は、レイキャスティング処理を行うことなく付与できるものであればよく、例えば、背景色(Rb,Gb,Bb)とすることができる。これにより、レイキャスティング処理に係る負荷を軽減することができる。具体的には、S134の式に背景色の成分を加え、Back(0)=Rb,Back(1)=Gb,Back(2)=Bbとすると、Image(x,y,c)=K・Energy(c)・Light(c)+Back(c)とすればよい。
The ray
また、レイキャスティング処理部25は、陰影計算を行う場合、所定の視点から仮想光線を変換後ボクセル構造体に向かって照射したときに、仮想光源と同一方向の平行光源を設定して計算することもできる。その場合は、光源ベクトル(Lx,Ly,Lz)を(Lx,Ly,Lz)=(0,0,1)に設定して、同様に数式(32)を実行すればよい。そして、視線上のボクセル毎に当該ボクセルのRGB値(V′(x,y,z′,c))、不透明度α(V′(x,y,z′,3))及び当該ボクセルにおいて算出した陰影値Shadeに不透明度αを乗算して補正した陰影値{Shade・V′(x,y,z′,3)/255}並びに仮想光線の透過強度Trans(c)の積により累積輝度値Energy(c)を累積加算(更新)した値に基づいて算出されるRGB値を、視線が投影面と交差する画素の画素値としてレンダリング画像を生成することができる。
Further, when performing the shadow calculation, the
図19は本実施の形態の画像処理部20の構成の他の例を示すブロック図である。図19に示すように、画像処理部20は、CPU201、ROM202、RAM203、記録媒体読取部204などで構成することができる。記録媒体1に記録されたコンピュータプログラムを記録媒体読取部204で読み取ってRAM203に格納することができる。RAM203に格納されたコンピュータプログラムをCPU201で実行させることにより、画像処理部20は、階調圧縮処理部21、平滑化処理部22、ボクセル構造体生成部23、座標変換処理部24、レイキャスティング処理部25、探索制御マスク生成部26、座標値算出部27、乱数発生部28、補間処理部29、ROIクリッピング処理部30で行う処理を実行することができる。なお、CPU201は、プロセッサ、プロセッサデバイス、プロセッシングユニットなどの総称とし、1又は複数で構成することができる。また、コンピュータプログラムは、記録媒体読取部204で読み取る構成に代えて、インターネットなどのネットワークを介してダウンロードすることもできる。
FIG. 19 is a block diagram showing another example of the configuration of the
次に、モアレの発生パターンについて説明する。ボリュームレンダリング像においてモアレが発生する理由は、断層画像を積層合成する点にある。モアレのタイプとしては、第1のタイプとして、曲線状のパターンがある。また、第2のパターンとして、ストライプ・格子状のパターンがある。なお、曲線状のパターン、ストライプ・格子状のパターンは厳密に分離されるものではなく、ボリュームレンダリング像では、両者が複合的に混ざって存在する。以下では、説明の便宜上、分けて説明する。まず、第1の曲線状のパターンについて説明する。 Next, the pattern of moire occurrence will be described. The reason why moire occurs in a volume rendered image is that tomographic images are laminated and combined. As a type of moire, there is a curved pattern as the first type. Further, as the second pattern, there is a stripe / grid pattern. It should be noted that the curved pattern and the striped / grid-like pattern are not strictly separated, and in the volume rendering image, both are present in a complex mixture. Hereinafter, they will be described separately for convenience of explanation. First, the first curved pattern will be described.
図20は曲線状のモアレが発生する様子の一例を示す模式図である。発生原因は、断層画像(スライス画像)に元々自然に存在する知覚可能な規則性をもたないパターンである。このようなパターンをもつ複数の断層画像を座標変換(xyz軸回りの回転)することにより、各断層画像に存在する前述の規則性をもたないパターンがずれて合成されることにより、これらのパターンが線状に連結し、結果として、ボリュームレンダリング像に曲線状の縞模様が形成され、知覚可能なモアレとして認識される。 FIG. 20 is a schematic diagram showing an example of how curved moire is generated. The cause of occurrence is a pattern that does not have perceptible regularity that originally exists naturally in a tomographic image (slice image). By performing coordinate transformation (rotation around the xyz axis) of a plurality of tomographic images having such a pattern, the above-mentioned non-regular patterns existing in each tomographic image are deviated and synthesized. The patterns are linearly connected, resulting in a curved striped pattern in the volume rendered image, which is perceived as a perceptible moire.
図21は本実施の形態のレイキャスティング装置100によるモアレ対策結果の第1例を示す説明図である。図21Aは、比較例であり本実施の形態のモアレ対策を実施していない場合を示す。図21Bは、本実施の形態のレイキャスティング装置100の平滑化処理部22により、各断層画像に対して図6で説明したような2D空間(xy平面)で平滑化処理を行った場合を示す。図21Aでは曲線状の縞模様が発生しているが、図21Bでは、縞模様が消えていることが分かる。
FIG. 21 is an explanatory diagram showing a first example of a moire countermeasure result by the
図22は本実施の形態のレイキャスティング装置100によるモアレ対策結果の第2例を示す説明図である。図22Aは、比較例であり本実施の形態のモアレ対策を実施していない場合を示す。図22Bは、本実施の形態のレイキャスティング装置100により、座標変換時の補間処理を施した場合を示す。座標変換時の補間処理は、前述の図15におけるステップS111、S112などの処理を含む。図22Aでは曲線状の縞模様が発生しているが、図22Bでは、縞模様が消えていることが分かる。
FIG. 22 is an explanatory diagram showing a second example of the moire countermeasure result by the
次に、モアレの第2のパターンであるストライプ・格子状のパターンについて説明する。 Next, a stripe / grid pattern, which is the second pattern of moiré, will be described.
図23はストライプ・格子状のモアレが発生する様子の一例を示す模式図である。ストライプ・格子状のパターンの特徴は、第1のパターンと異なり、モアレ発生源は、断層画像そのものにはなく、レイキャスティング処理の過程で計算により発生した人工的パターンにある。各断層画像を座標変換(xyz軸回りの回転)することにより、座標変換という実数演算の過程で端数を切り捨てて整数化し、整数値のxyz座標で変換前のボクセル値を参照する過程で、丸め誤差の累積により周期的なパターンが発生し、座標変換後の断層画像に加わる。個々の断層画像に加わった周期的パターンは知覚できないレベルの微弱なものであるが、複数の断層画像がレイキャスティング処理により重なり、重なる時のズレ幅が各周期的パターンの位相条件を満たせば、互いに強めあって、いわゆる干渉縞が発生し、ストライプ・格子状のモアレとして知覚可能なレベルになる。 FIG. 23 is a schematic diagram showing an example of how stripe-lattice moire is generated. The characteristic of the striped / grid pattern is that unlike the first pattern, the moire source is not in the tomographic image itself, but in the artificial pattern generated by calculation in the process of ray casting. By performing coordinate conversion (rotation around the xyz axis) of each tomographic image, the fraction is rounded down to an integer in the process of real number operation called coordinate conversion, and rounding error is performed in the process of referring to the boxel value before conversion with the xyz coordinate of the integer value. A periodic pattern is generated by the accumulation of, and it is added to the tomographic image after the coordinate conversion. The periodic pattern added to each tomographic image is so weak that it cannot be perceived. By strengthening each other, so-called interference fringes are generated, and the level becomes perceptible as stripes and grid-like moire.
図24は座標変換時の丸め誤差の発生の様子の一例を示す説明図である。図24では、便宜上、ボクセルを2次元で表している。座標変換前のボクセルを、横方向をx軸方向、縦方向をz軸方向として、V11、V12、…、V49で表す。z軸中心に回転させる座標変換によって、参照するx座標値は、実数値のx座標の整数化に伴う丸め誤差が累積する。例えば、算出された実数のx座標値は、左から右に向かって、1.3、2.6、3.9、5.2、6.5、7.8とする。 FIG. 24 is an explanatory diagram showing an example of the occurrence of rounding error during coordinate conversion. In FIG. 24, voxels are represented in two dimensions for convenience. The voxels before coordinate conversion are represented by V11, V12, ..., V49 with the horizontal direction as the x-axis direction and the vertical direction as the z-axis direction. Due to the coordinate transformation that is rotated around the z-axis, the rounding error that accompanies the integerization of the x-coordinate of the real value is accumulated in the x-coordinate value to be referenced. For example, the calculated x-coordinate value of the real number is 1.3, 2.6, 3.9, 5.2, 6.5, 7.8 from left to right.
例えば、算出された実数のx座標値が、1.3の場合、座標変換後のボクセルは、V11×0.7+V12×0.3により、座標変換前のV11及びV12を参照し、0.3という端数に基づく重みを乗算しながら補間されて求めることができる。また、算出された実数のx座標値が、2.6の場合、座標変換後のボクセルは、V12×0.4+V13×0.6により、座標変換前のV12及びV13を参照し、0.6という端数に基づく重みを乗算しながら補間されて求めることができる。また、算出された実数のx座標値が、3.9の場合、座標変換後のボクセルは、座標変換前のV13×0.1+V14×0.9により、V13及びV14を参照し、0.9という端数に基づく重みを乗算しながら補間されて求めることができる。また、算出された実数のx座標値が、5.2の場合、座標変換後のボクセルは、V15×0.8+V16×0.2により、座標変換前のV15及びV16を参照し、0.2いう端数に基づく重みを乗算しながら補間されて求めることができる。 For example, when the calculated x-coordinate value of the real number is 1.3, the voxel after the coordinate conversion refers to V11 and V12 before the coordinate conversion by V11 × 0.7 + V12 × 0.3, and 0.3. It can be obtained by interpolating while multiplying the weights based on the fraction. Further, when the calculated x-coordinate value of the real number is 2.6, the voxel after the coordinate conversion refers to V12 and V13 before the coordinate conversion by V12 × 0.4 + V13 × 0.6, and is 0.6. It can be obtained by interpolating while multiplying the weights based on the fraction. Further, when the calculated x-coordinate value of the real number is 3.9, the voxel after the coordinate conversion refers to V13 and V14 by V13 × 0.1 + V14 × 0.9 before the coordinate conversion, and 0.9. It can be obtained by interpolating while multiplying the weights based on the fraction. Further, when the calculated x-coordinate value of the real number is 5.2, the voxel after the coordinate conversion refers to V15 and V16 before the coordinate conversion by V15 × 0.8 + V16 × 0.2, and 0.2. It can be obtained by interpolating while multiplying the weights based on the fraction.
このように、座標変換後の左から4番目のボクセルは、座標変換前のボクセルV14とV15とで補間されず、V15とV16とで補間され、座標変換後の左から3番目のボクセルと4番目のボクセルとの間では、ボクセル値に段差が生じる。ただし、この段差はV11からV19で形成される単一の層(断層画像)では知覚可能なレベルではない。しかし、図24に示されるように、同様な段差がV21からV49で形成される3つの層にも同一の箇所で発生すると、結果として、z軸方向に沿ってストライプ・格子状のモアレとして知覚可能になる。 In this way, the fourth voxel from the left after the coordinate conversion is not interpolated by the voxels V14 and V15 before the coordinate conversion, but is interpolated by V15 and V16, and the third voxel and 4 from the left after the coordinate conversion. There is a step in the voxel value with the third voxel. However, this step is not a perceptible level in a single layer (tomographic image) formed by V11 to V19. However, as shown in FIG. 24, when similar steps occur at the same location in the three layers formed by V21 to V49, as a result, they are perceived as stripes and grid-like moire along the z-axis direction. It will be possible.
前述の問題に対する対策として丸め誤差にゆらぎを与える方法を提案する。図25は本実施の形態のレイキャスティング装置100による丸め誤差分散の様子の一例を示す説明図である。丸め誤差分散は、前述の図14におけるステップS104の処理、あるいは、図15におけるステップS106の処理を含む。図25に示すように、座標変換前のボクセルは図24の例と同一である。参照するx座標値は、乱数によってボクセルの座標値にゆらぎを付加し、あるいは乱数によってボクセルの座標値及びROI設定座標にゆらぎを付加しているので、参照するx座標値は、z座標値毎に異なる。例えば、上から2番目のx座標値は、左から右に向かって、2.1、3.2、4.9、6.1、7.1、8.0となっている。また、上から3番目のx座標値は、左から右に向かって、1.2、2.4、3.5、4.8、5.9、6.9となっている。また、上から4番目のx座標値は、左から右に向かって、2.3、3.1、4.4、5.9、6.5、7.8となっている。そうすると、1層目と2層目では図23と同様に左から3番目と4番目のボクセルの間に段差が残っているが、3層目と4層目では段差が消失し、これらが重なると、z軸方向に沿って発生していたストライプ・格子状のモアレが知覚できなくなる。
As a countermeasure to the above-mentioned problem, we propose a method to give fluctuation to the rounding error. FIG. 25 is an explanatory diagram showing an example of a state of rounding error dispersion by the
上述のように、本実施の形態によれば、実数値の座標値を整数化した際に生じる丸め誤差が分散(実際には、xyz方向に分散)し、周期的なムラが解消するので、座標変換後のボクセル値にストライプ又は格子状の差が発生しないので、ストライプ・格子状のモアレが低減される。 As described above, according to the present embodiment, the rounding error that occurs when the coordinate value of the real value is converted into an integer is dispersed (actually, it is dispersed in the xyz direction), and the periodic unevenness is eliminated. Since there is no difference in stripes or grids in the converted boxel values, stripes and grids of moire are reduced.
図26は本実施の形態のレイキャスティング装置100によるモアレ対策結果の第3例を示す説明図である。図26Aは、比較例であり本実施の形態のモアレ対策を実施していない場合を示す。図26Bは、本実施の形態のレイキャスティング装置100により、ボクセルの実数の座標値に乱数によりゆらぎを与えた場合を示す。ボクセルの実数の座標値に乱数によりゆらぎを与える処理は、前述の図14におけるステップS104などの処理、式(16)~(18)による計算などを含む。図26Aでは、座標変換処理で算出される実数の座標値を整数化する際の丸め誤差により格子状の縞模様が発生しているが、図26Bでは、縞模様が消えていることが分かる。
FIG. 26 is an explanatory diagram showing a third example of the moire countermeasure result by the
図27は本実施の形態のレイキャスティング装置100によるモアレ対策結果の第4例を示す説明図である。図27Aは、比較例であり本実施の形態のモアレ対策を実施していない場合を示す。図27Bは、本実施の形態のレイキャスティング装置100により、ボクセルの実数の座標値に乱数によりゆらぎを与えた場合を示す。ボクセルの実数の座標値に乱数によりゆらぎを与える処理は、前述の図14におけるステップS104などの処理、式(16)~(18)による計算などを含む。図27Aでは、座標変換処理で算出される実数の座標値を整数化する際の丸め誤差により格子状の縞模様が発生しているが、図27Bでは、縞模様が消えていることが分かる。
FIG. 27 is an explanatory diagram showing a fourth example of the moire countermeasure result by the
図28は本実施の形態のレイキャスティング装置100によるモアレ対策結果の第5例を示す説明図である。図28Aは、比較例であり本実施の形態のモアレ対策を実施していない場合を示す。図28Bは、本実施の形態のレイキャスティング装置100により、ROIクリッピング処理時にクリッピング座標値に乱数によりゆらぎを与えた場合を示す。クリッピング座標値に乱数によりゆらぎを与える処理は、前述の図15におけるステップS106などの処理、式(22)~(27)による計算などを含む。図28Aでは、ROIクリッピング切断面に座標変換に伴う座標値を整数化する際の丸め誤差により縦の縞模様が発生しているが、図28Bでは、縞模様が消えていることが分かる。
FIG. 28 is an explanatory diagram showing a fifth example of the moire countermeasure result by the
図29は本実施の形態のレイキャスティング装置100によるモアレ対策結果の第6例を示す説明図である。図29Aは、比較例であり本実施の形態のモアレ対策を実施していない場合を示す。図29Bは、本実施の形態のレイキャスティング装置100により、不透明度αを用いて陰影値を補正する処理を行った場合を示す。不透明度αを用いて陰影値を補正する処理は、前述の図17におけるステップS128などの処理、式(33)による計算などを含む。図29Aでは、陰影の明暗コントラストが不十分なため、格子状の縞模様が発生しモアレが知覚できているが、図29Bでは、算出される陰影値Shadeに不透明度αを乗算することにより、縞模様が消えていることが分かる。
FIG. 29 is an explanatory diagram showing a sixth example of the moire countermeasure result by the
上述のように、本実施の形態によれば、レンダリング像の画質劣化を抑えながら、各種のモアレ(曲線状のモアレ、ストライプ又は格子状のモアレ)の発生を抑制することができる。 As described above, according to the present embodiment, it is possible to suppress the generation of various moire (curve-shaped moire, stripe-shaped moire) while suppressing deterioration of the image quality of the rendered image.
本実施の形態のコンピュータプログラムは、コンピュータに、レイキャスティング法を用いたボリュームレンダリング処理を実行させるためのコンピュータプログラムであって、コンピュータに、z方向に沿って所定間隔で撮像された複数のxy平面画像の画像データを取得する処理と、前記複数のxy平面画像それぞれの任意の注目画素及び該注目画素の近傍画素の画素値に基づいて、前記複数のxy平面画像を平滑化する処理と、RGB値及び不透明度が定められ、平滑化した前記複数のxy平面画像それぞれの各画素に対応するボクセルで構成される3次元ボクセル画像を生成する処理と、前記3次元ボクセル画像に対して所定の座標変換を行って変換後ボクセル画像を生成する処理と、所定の視点から仮想光線を前記変換後ボクセル画像に向かって照射したときに、視線上のボクセル毎に該ボクセルのRGB値及び不透明度並びに前記仮想光線の透過強度の積により累積輝度値を累積加算した値に基づいて算出されるRGB値を、前記視線が投影面と交差する画素の画素値としてレンダリング画像を生成する処理とを実行させる。 The computer program of the present embodiment is a computer program for causing a computer to perform a volume rendering process using a raycasting method, and is a plurality of xy planes imaged by the computer at predetermined intervals along the z direction. A process of acquiring image data of an image, a process of smoothing the plurality of xy plane images based on the pixel values of arbitrary attention pixels of each of the plurality of xy plane images and pixels in the vicinity of the attention pixels, and RGB. A process of generating a three-dimensional voxel image composed of voxels corresponding to each pixel of each of the plurality of xy plane images whose values and opacity are determined and smoothed, and predetermined coordinates with respect to the three-dimensional voxel image. A process of performing conversion to generate a converted voxel image, and when a virtual ray is irradiated toward the converted voxel image from a predetermined viewpoint, the RGB value and opacity of the voxel and the above-mentioned for each voxel on the line of sight. The processing of generating a rendered image is executed by using the RGB value calculated based on the cumulative sum of the cumulative brightness values obtained by the product of the transmission intensities of the virtual rays as the pixel values of the pixels whose line of sight intersects the projection plane.
本実施の形態のコンピュータプログラムは、コンピュータに、前記複数のxy平面画像それぞれの一のxy平面画像上の任意の注目画素及び該注目画素の前記一のxy平面画像での近傍画素の画素値に基づいて、前記一のxy平面画像を平滑化する処理を実行させる。 The computer program of the present embodiment tells the computer the pixel values of any pixel of interest on one xy plane image of each of the plurality of xy plane images and neighboring pixels of the pixel of interest in the one xy plane image. Based on this, the process of smoothing the one xy plane image is executed.
本実施の形態のコンピュータプログラムは、コンピュータに、前記変換後ボクセル画像のボクセルのxyz座標に対して前記所定の座標変換の逆変換を行って前記ボクセルのxyz座標の実数値を算出する処理と、算出したボクセルのxyz座標の実数値の近傍の整数値をxyz座標とする複数のボクセルを特定する処理と、特定した複数のボクセルのRGB値及び不透明度に基づいて前記変換後ボクセル画像のボクセルのRGB値及び不透明度を算出する処理とを実行させる。 The computer program of the present embodiment performs a process of calculating the real value of the xyz coordinate of the voxel by performing the inverse conversion of the predetermined coordinate conversion on the xyz coordinate of the voxel of the converted voxel image on the computer. The process of specifying a plurality of voxels whose xyz coordinates are integer values in the vicinity of the real values of the calculated xyz coordinates of the voxels, and the voxels of the converted voxel image based on the RGB values and opacity of the specified multiple voxels. The process of calculating the RGB value and the opacity is executed.
本実施の形態のコンピュータプログラムは、コンピュータに、前記ボクセルのxyz座標の実数値に所定範囲内の乱数を加算する処理と、乱数を加算したxyz座標の実数値の近傍の整数値をxyz座標とする複数のボクセルを特定する処理とを実行させる。 In the computer program of the present embodiment, a process of adding a random number within a predetermined range to the real value of the xyz coordinate of the boxel and an integer value in the vicinity of the real value of the xyz coordinate obtained by adding the random number are used as the xyz coordinate. To execute the process of identifying multiple box cells.
本実施の形態のコンピュータプログラムは、コンピュータに、前記ボクセルのxyz座標の実数値と、該実数値の近傍の整数値との差分を特定する処理と、前記特定した複数のボクセルのRGB値及び不透明度に前記特定した差分に基づく重み付け係数を乗算して前記変換後ボクセル画像のボクセルのRGB値及び不透明度を算出する処理とを実行させる。 In the computer program of the present embodiment, the computer is subjected to a process of specifying the difference between the real value of the xyz coordinate of the voxel and the integer value in the vicinity of the real value, and the RGB values and non-RGB values of the specified plurality of voxels. The process of multiplying the transparency by a weighting coefficient based on the specified difference to calculate the RGB value and opacity of the voxel of the converted voxel image is executed.
本実施の形態のコンピュータプログラムは、コンピュータに、ボリュームレンダリング処理の対象領域を画定するxyz座標を設定する処理と、設定したxyz座標に所定範囲内の乱数を加算する処理と、前記変換後ボクセル画像のボクセルのxyz座標が、乱数を加算したxyz座標で画定される対象領域内にある場合、前記特定した複数のボクセルのRGB値及び不透明度に基づいて前記変換後ボクセル画像のボクセルのRGB値及び不透明度を算出する処理とを実行させる。 The computer program of the present embodiment has a process of setting xyz coordinates that define a target area of volume rendering processing in a computer, a process of adding a random number within a predetermined range to the set xyz coordinates, and a voxel image after conversion. When the voxel xyz coordinates of the voxel are within the target area defined by the xyz coordinates obtained by adding random numbers, the voxel RGB values of the converted voxel image and the voxel RGB values of the converted voxel image are based on the RGB values and opacity of the specified plurality of voxels. The process of calculating the opacity is executed.
本実施の形態のコンピュータプログラムは、コンピュータに、前記変換後ボクセル画像のxy座標毎に、前記変換後ボクセル画像のボクセルの不透明度が所定値より大きい前記視線上の最小値及び最大値を特定する処理と、前記視線上の前記最小値と最大値との範囲内でボクセル毎に該ボクセルのRGB値及び不透明度並びに前記仮想光線の透過強度の積を累積加算した値を、前記視線が投影面と交差する画素の画素値としてレンダリング画像を生成する処理とを実行させる。 The computer program of the present embodiment specifies to the computer the minimum value and the maximum value on the line of sight where the voxel opacity of the converted voxel image is larger than a predetermined value for each xy coordinate of the converted voxel image. The line of sight is the projection plane of the processing and the value obtained by cumulatively adding the product of the RGB value and opacity of the voxel and the transmission intensity of the virtual light beam for each voxel within the range of the minimum value and the maximum value on the line of sight. The process of generating a rendered image as the pixel value of the pixel intersecting with is executed.
本実施の形態のコンピュータプログラムは、コンピュータに、前記視線上のボクセルが前記最小値と最大値との範囲外である場合、前記視線が投影面と交差する画素に所定の画素値を付与してレンダリング画像を生成する処理を実行させる。 In the computer program of the present embodiment, when the voxels on the line of sight are outside the range of the minimum value and the maximum value, a predetermined pixel value is given to the pixels whose line of sight intersects the projection plane. Execute the process to generate the rendered image.
本実施の形態のコンピュータプログラムは、コンピュータに、前記複数のxy平面画像のうちの所定のxy平面画像の画素の最小値及び最大値を特定する処理と、特定した最大値よりも小さい上限値及び特定した最小値よりも大きい下限値を算出する処理と、前記複数のxy平面画像の各画素の画素値を前記上限値及び下限値の範囲内に圧縮する処理と、圧縮した前記複数のxy平面画像それぞれの任意の注目画素及び該注目画素の近傍画素の画素値に基づいて、前記複数のxy平面画像を平滑化する処理とを実行させる。 In the computer program of the present embodiment, a process of specifying to the computer the minimum value and the maximum value of the pixel of the predetermined xy plane image among the plurality of xy plane images, and the upper limit value smaller than the specified maximum value and the upper limit value and the maximum value are specified. A process of calculating a lower limit value larger than the specified minimum value, a process 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, and a process of compressing the plurality of xy planes. The process of smoothing the plurality of xy plane images is executed based on the pixel values of any pixel of interest in each image and pixels in the vicinity of the pixel of interest.
本実施の形態のコンピュータプログラムは、コンピュータに、画素値に対応付けてRGB値及び不透明度が定義されたカラーマップデータを取得する処理と、前記平滑化した複数のxy平面画像それぞれの各画素の画素値に対応する前記カラーマップデータのRGB値及び不透明度を対応付けてRGB値及び不透明度を設定して、3次元ボクセル画像を生成する処理とを実行させる。 The computer program of the present embodiment has a process of acquiring color map data in which RGB values and opacity are defined in association with pixel values, and a process of acquiring each pixel of each of the smoothed plurality of xy plane images. The process of generating a three-dimensional voxel image is executed by setting the RGB value and the opacity in association with the RGB value and the opacity of the color map data corresponding to the pixel value.
本実施の形態のコンピュータプログラムは、コンピュータに、xyz軸の回転角、xyz軸方向のオフセット値、xyz軸方向の拡大又は縮小倍率、z軸方向の変倍率、注視点から視点までの距離を含む前記所定の座標変換のパラメータを取得する処理と、前記生成した3次元ボクセル画像に対して、取得したパタメータを用いた前記所定の座標変換を行って変換後ボクセル画像を生成する処理とを実行させる。 The computer program of the present embodiment includes, in the computer, the rotation angle of the xyz axis, the offset value in the xyz axis direction, the enlargement or reduction magnification in the xyz axis direction, the scaling factor in the z axis direction, and the distance from the gazing point to the viewpoint. The process of acquiring the parameters of the predetermined coordinate conversion and the process of performing the predetermined coordinate conversion using the acquired patternometer on the generated three-dimensional boxel image to generate the converted boxel image are executed. ..
本実施の形態のコンピュータプログラムは、コンピュータに、前記変換後ボクセル画像のボクセルの不透明度に関する勾配ベクトルを算出する処理と、算出した勾配ベクトル、所定の光源ベクトルに基づいて前記ボクセルの陰影値を算出する処理と、前記ボクセルの不透明度に基づいて前記ボクセルの陰影値を補正する処理と、所定の視点から仮想光線を前記変換後ボクセル画像に向かって照射したときに、視線上のボクセル毎に該ボクセルのRGB値、不透明度及び補正した陰影値並びに前記仮想光線の透過強度の積を累積加算した値を、前記視線が投影面と交差する画素の画素値としてレンダリング画像を生成する処理とを実行させる。 The computer program of the present embodiment causes a computer to calculate a gradient vector relating to voxel opacity of the converted voxel image, and calculates a voxel shading value based on the calculated gradient vector and a predetermined light source vector. Processing, processing to correct the shadow value of the voxel based on the opacity of the voxel, and processing of irradiating a virtual light beam from a predetermined viewpoint toward the converted voxel image, the voxel on the line of sight Execution of processing to generate a rendered image as the pixel value of the pixel whose line of sight intersects the projection plane, with the cumulative sum of the RGB value of the voxel, the opacity and the corrected shadow value, and the transmission intensity of the virtual light beam. Let me.
本実施の形態のコンピュータプログラムは、コンピュータに、前記変換後ボクセル画像の注目ボクセルの不透明度と、該注目ボクセルの近傍に位置する複数の近傍ボクセルそれぞれの不透明度との差分を算出する処理と、前記注目ボクセルと前記近傍ボクセルとの距離並びに前記注目ボクセル及び前記近傍ボクセルそれぞれの不透明度の差分に基づいて前記注目ボクセルの勾配ベクトルを算出する処理とを実行させる。 The computer program of the present embodiment causes the computer to calculate the difference between the opacity of the voxel of interest in the converted voxel image and the opacity of each of the plurality of neighboring voxels located in the vicinity of the voxel of interest. The process of calculating the gradient vector of the voxel of interest is executed based on the distance between the voxel of interest and the voxel in the vicinity and the difference in opacity between the voxel of interest and the voxel in the vicinity.
本実施の形態の画像処理装置は、レイキャスティング法を用いたボリュームレンダリング処理を行う画像処理装置であって、z方向に沿って所定間隔で撮像された複数のxy平面画像の画像データを取得する取得部と、前記複数のxy平面画像それぞれの任意の注目画素及び該注目画素の近傍画素の画素値に基づいて、前記複数のxy平面画像を平滑化する平滑化部と、RGB値及び不透明度が定められ、前記平滑化部で平滑化した前記複数のxy平面画像それぞれの各画素に対応するボクセルで構成される3次元ボクセル画像を生成するボクセル画像生成部と、前記ボクセル画像生成部で生成した3次元ボクセル画像に対して所定の座標変換を行って変換後ボクセル画像を生成する変換後ボクセル画像生成部と、所定の視点から仮想光線を前記変換後ボクセル画像に向かって照射したときに、視線上のボクセル毎に該ボクセルのRGB値及び不透明度並びに前記仮想光線の透過強度の積により累積輝度値を累積加算した値に基づいて算出されるRGB値を、前記視線が投影面と交差する画素の画素値としてレンダリング画像を生成するレンダリング画像生成部とを備える。 The image processing device of the present embodiment is an image processing device that performs volume rendering processing using a ray casting method, and acquires image data of a plurality of xy plane images captured at predetermined intervals along the z direction. An acquisition unit, a smoothing unit that smoothes the plurality of xy plane images based on the pixel values of an arbitrary pixel of interest in each of the plurality of xy plane images and pixels in the vicinity of the pixel of interest, an RGB value, and opacity. Is defined, and a boxel image generation unit that generates a three-dimensional boxel image composed of a boxel corresponding to each pixel of each of the plurality of xy plane images smoothed by the smoothing unit, and a boxel image generation unit that generates the image. When the converted boxel image generator that performs predetermined coordinate conversion on the three-dimensional boxel image to generate the converted boxel image and the virtual light beam from a predetermined viewpoint are irradiated toward the converted boxel image. The line of sight intersects the projection plane with an RGB value calculated based on a value obtained by cumulatively adding the cumulative brightness value by the product of the RGB value and opacity of the boxel and the transmission intensity of the virtual light beam for each boxel on the line of sight. It includes a rendered image generation unit that generates a rendered image as a pixel value of a pixel.
本実施の形態の画像処理方法は、レイキャスティング法を用いたボリュームレンダリング処理を行う画像処理装置による画像処理方法であって、z方向に沿って所定間隔で撮像された複数のxy平面画像の画像データを取得し、前記複数のxy平面画像それぞれの任意の注目画素及び該注目画素の近傍画素の画素値に基づいて、前記複数のxy平面画像を平滑化し、RGB値及び不透明度が定められ、平滑化された前記複数のxy平面画像それぞれの各画素に対応するボクセルで構成される3次元ボクセル画像を生成し、生成された3次元ボクセル画像に対して所定の座標変換を行って変換後ボクセル画像を生成し、所定の視点から仮想光線を前記変換後ボクセル画像に向かって照射したときに、視線上のボクセル毎に該ボクセルのRGB値及び不透明度並びに前記仮想光線の透過強度の積により累積輝度値を累積加算した値に基づいて算出されるRGB値を、前記視線が投影面と交差する画素の画素値としてレンダリング画像を生成する。 The image processing method of the present embodiment is an image processing method using an image processing device that performs volume rendering processing using a raycasting method, and is an image of a plurality of xy plane images captured at predetermined intervals along the z direction. Data is acquired, the plurality of xy plane images are smoothed based on the pixel values of an arbitrary pixel of interest in each of the plurality of xy plane images and pixels in the vicinity of the pixels of interest, and RGB values and opacity are determined. A three-dimensional voxel image composed of voxels corresponding to each pixel of each of the plurality of smoothed xy plane images is generated, and a predetermined coordinate conversion is performed on the generated three-dimensional voxel image to perform a converted voxel. When an image is generated and a virtual ray is irradiated from a predetermined viewpoint toward the converted voxel image, it is accumulated 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. A rendered image is generated using the RGB value calculated based on the cumulative sum of the brightness values as the pixel value of the pixel whose line of sight intersects the projection surface.
本実施の形態の画像データは、3次元ボクセル画像のデータであって、z方向に沿って所定間隔で撮像された複数のxy平面画像のそれぞれの各画素に対応するボクセルのボクセルデータであって、前記複数のxy平面画像それぞれの任意の注目画素及び該注目画素の近傍画素の画素値に基づいて、前記複数のxy平面画像が平滑化されたデータ構造を有し、RGB値及び不透明度が定められ、平滑化した前記複数のxy平面画像それぞれの各画素に対応するボクセルで構成される3次元ボクセル画像を生成する処理を実行するのに用いられる。 The image data of the present embodiment is data of a three-dimensional voxel image, which is voxel data of voxels corresponding to each pixel of a plurality of xy plane images captured at predetermined intervals along the z direction. , The plurality of xy plane images have a smoothed data structure based on the pixel values of any of the pixels of interest in each of the plurality of xy plane images and the pixels in the vicinity of the pixels of interest, and the RGB values and opacity are high. It is used to perform a process of generating a three-dimensional voxel image composed of voxels corresponding to each pixel of each of the plurality of defined and smoothed xy plane images.
本実施の形態の画像データは、3次元ボクセル画像のデータであって、z方向に沿って所定間隔で撮像された複数のxy平面画像のそれぞれの各画素に対応するボクセルのボクセルデータに対し所定の座標変換を施したデータであって、前記座標変換後のボクセルのxyz座標に対して前記所定の座標変換の逆変換を行って前記ボクセルのxyz座標の実数値が算出され、算出されたボクセルのxyz座標の実数値の近傍の整数値をxyz座標とする複数のボクセルが特定され、特定された複数のボクセルのRGB値及び不透明度に基づいて前記座標変換後のボクセルのRGB値及び不透明度が算出されたデータ構造を有し、所定の視点から仮想光線を前記所定の座標変換後の3次元ボクセル画像に向かって照射したときに、視線上のボクセル毎に前記座標変換後のボクセルのRGB値及び不透明度並びに前記仮想光線の透過強度の積により累積輝度値を累積加算した値に基づいて算出されるRGB値を、前記視線が投影面と交差する画素の画素値としてレンダリング画像を生成する処理を実行するのに用いられる。 The image data of the present embodiment is data of a three-dimensional voxel image, which is predetermined with respect to voxel data of voxels corresponding to each pixel of a plurality of xy plane images captured at predetermined intervals along the z direction. The voxel that has undergone the coordinate conversion of A plurality of voxels having xyz coordinates as integer values in the vicinity of the real value of the xyz coordinates of Has a calculated data structure, and when a virtual ray is emitted from a predetermined viewpoint toward the three-dimensional voxel image after the predetermined coordinate conversion, the RGB of the voxel after the coordinate conversion is applied to each voxel on the line of sight. A rendered image is generated using the RGB value calculated based on the cumulative sum of the value, the opacity, and the transmission intensity of the virtual light beam as the pixel value of the pixel whose line of sight intersects the projection plane. Used to perform processing.
10 入力部
11 記憶部
12 出力部
20 画像処理部
21 階調圧縮処理部
22 平滑化処理部
23 ボクセル構造体生成部
24 座標変換処理部
25 レイキャスティング処理部
26 探索制御マスク生成部
27 座標値算出部
28 乱数発生部
29 補間処理部
30 ROIクリッピング処理部
100 レイキャスティング装置
201 CPU
202 ROM
203 RAM
204 記録媒体読取部
10
202 ROM
203 RAM
204 Recording medium reader
Claims (13)
コンピュータに、
z方向に沿って所定間隔で撮像された複数のxy平面画像の画像データを取得する処理と、
前記複数のxy平面画像それぞれの任意の注目画素及び該注目画素の近傍画素の画素値に基づいて、前記複数のxy平面画像を平滑化する処理と、
RGB値及び不透明度が定められ、平滑化した前記複数のxy平面画像それぞれの各画素に対応するボクセルで構成される3次元ボクセル画像を生成する処理と、
前記3次元ボクセル画像に対して所定の座標変換を行って変換後ボクセル画像を生成する処理と、
所定の視点から仮想光線を前記変換後ボクセル画像に向かって照射したときに、視線上のボクセル毎に該ボクセルのRGB値及び不透明度並びに前記仮想光線の透過強度の積により累積輝度値を累積加算した値に基づいて算出されるRGB値を、前記視線が投影面と交差する画素の画素値としてレンダリング画像を生成する処理と、
前記変換後ボクセル画像のボクセルのxyz座標に対して前記所定の座標変換の逆変換を行って前記ボクセルのxyz座標の実数値を算出する処理と、
算出したボクセルのxyz座標の実数値の近傍の整数値をxyz座標とする複数のボクセルを特定する処理と、
特定した複数のボクセルのRGB値及び不透明度に基づいて前記変換後ボクセル画像のボクセルのRGB値及び不透明度を算出する処理と
を実行させるコンピュータプログラム。 A computer program for causing a computer to perform volume rendering processing using the ray casting method.
On the computer
Processing to acquire image data of a plurality of xy plane images taken at predetermined intervals along the z direction, and
A process of smoothing the plurality of xy plane images based on the pixel values of any pixel of interest in each of the plurality of xy plane images and pixels in the vicinity of the pixels of interest.
A process of generating a three-dimensional voxel image composed of voxels corresponding to each pixel of each of the plurality of xy plane images whose RGB values and opacity are determined and smoothed.
A process of performing predetermined coordinate transformation on the three-dimensional voxel image to generate a converted voxel image, and
When a virtual ray is irradiated toward the converted voxel image from a predetermined viewpoint, the cumulative brightness value is cumulatively added 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. A process of generating a rendered image using the RGB value calculated based on the calculated value as the pixel value of the pixel whose line of sight intersects the projection plane.
A process of calculating the real value of the xyz coordinate of the voxel by performing the inverse conversion of the predetermined coordinate transformation on the xyz coordinate of the voxel of the converted voxel image.
Processing to specify multiple voxels whose xyz coordinates are integer values in the vicinity of the real value of the calculated xyz coordinates of the voxels.
A computer program that calculates the RGB values and opacity of voxels in the converted voxel image based on the RGB values and opacity of a plurality of specified voxels.
前記複数のxy平面画像それぞれの一のxy平面画像上の任意の注目画素及び該注目画素の前記一のxy平面画像での近傍画素の画素値に基づいて、前記一のxy平面画像を平滑化する処理を実行させる請求項1に記載のコンピュータプログラム。 On the computer
The one xy plane image is smoothed based on the pixel values of any pixel of interest on one xy plane image of each of the plurality of xy plane images and neighboring pixels in the one xy plane image of the attention pixel. The computer program according to claim 1, wherein the processing is executed.
前記ボクセルのxyz座標の実数値に所定範囲内の乱数を加算する処理と、
乱数を加算したxyz座標の実数値の近傍の整数値をxyz座標とする複数のボクセルを特定する処理と
を実行させる請求項1又は請求項2に記載のコンピュータプログラム。 On the computer
The process of adding a random number within a predetermined range to the real value of the xyz coordinates of the voxel, and
The computer program according to claim 1 or 2, wherein a process of specifying a plurality of voxels having an integer value in the vicinity of the real value of the xyz coordinate to which a random number is added as the xyz coordinate is executed.
前記ボクセルのxyz座標の実数値と、該実数値の近傍の整数値との差分を特定する処理と、
前記特定した複数のボクセルのRGB値及び不透明度に前記特定した差分に基づく重み付け係数を乗算して前記変換後ボクセル画像のボクセルのRGB値及び不透明度を算出する処理と
を実行させる請求項1から請求項3のいずれか一項に記載のコンピュータプログラム。 On the computer
Processing to specify the difference between the real value of the xyz coordinate of the voxel and the integer value in the vicinity of the real value.
From claim 1, the process of multiplying the RGB values and opacity of the specified plurality of voxels by the weighting coefficient based on the specified difference to calculate the RGB values and opacity of the voxels of the converted voxel image is executed. The computer program according to any one of claims 3.
ボリュームレンダリング処理の対象領域を画定するxyz座標を設定する処理と、
設定したxyz座標に所定範囲内の乱数を加算する処理と、
前記変換後ボクセル画像のボクセルのxyz座標が、乱数を加算したxyz座標で画定される対象領域内にある場合、前記特定した複数のボクセルのRGB値及び不透明度に基づいて前記変換後ボクセル画像のボクセルのRGB値及び不透明度を算出する処理と
を実行させる請求項1から請求項4のいずれか一項に記載のコンピュータプログラム。 On the computer
The process of setting the xyz coordinates that define the target area of the volume rendering process, and
Processing to add random numbers within a predetermined range to the set xyz coordinates,
When the xyz coordinates of the voxels of the converted voxel image are within the target area defined by the xyz coordinates obtained by adding random numbers, the converted voxel image of the converted voxels image is based on the RGB values and opacity of the specified plurality of voxels. The computer program according to any one of claims 1 to 4, which executes a process of calculating voxel RGB values and opacity.
コンピュータに、
z方向に沿って所定間隔で撮像された複数のxy平面画像の画像データを取得する処理と、
前記複数のxy平面画像それぞれの任意の注目画素及び該注目画素の近傍画素の画素値に基づいて、前記複数のxy平面画像を平滑化する処理と、
RGB値及び不透明度が定められ、平滑化した前記複数のxy平面画像それぞれの各画素に対応するボクセルで構成される3次元ボクセル画像を生成する処理と、
前記3次元ボクセル画像に対して所定の座標変換を行って変換後ボクセル画像を生成する処理と、
所定の視点から仮想光線を前記変換後ボクセル画像に向かって照射したときに、視線上のボクセル毎に該ボクセルのRGB値及び不透明度並びに前記仮想光線の透過強度の積により累積輝度値を累積加算した値に基づいて算出されるRGB値を、前記視線が投影面と交差する画素の画素値としてレンダリング画像を生成する処理と、
前記変換後ボクセル画像のxy座標毎に、前記変換後ボクセル画像のボクセルの不透明度が所定値より大きい前記視線上の最小値及び最大値を特定する処理と、
前記視線上の前記最小値と最大値との範囲内でボクセル毎に該ボクセルのRGB値及び不透明度並びに前記仮想光線の透過強度の積を累積加算した値を、前記視線が投影面と交差する画素の画素値としてレンダリング画像を生成する処理と、
前記視線上のボクセルが前記最小値と最大値との範囲外である場合、前記視線が投影面と交差する画素に所定の画素値を付与してレンダリング画像を生成する処理を実行させるコンピュータプログラム。 A computer program for causing a computer to perform volume rendering processing using the ray casting method.
On the computer
Processing to acquire image data of a plurality of xy plane images taken at predetermined intervals along the z direction, and
A process of smoothing the plurality of xy plane images based on the pixel values of any pixel of interest in each of the plurality of xy plane images and pixels in the vicinity of the pixels of interest.
A process of generating a three-dimensional voxel image composed of voxels corresponding to each pixel of each of the plurality of xy plane images whose RGB values and opacity are determined and smoothed.
A process of performing predetermined coordinate transformation on the three-dimensional voxel image to generate a converted voxel image, and
When a virtual ray is irradiated toward the converted voxel image from a predetermined viewpoint, the cumulative brightness value is cumulatively added 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. A process of generating a rendered image using the RGB value calculated based on the calculated value as the pixel value of the pixel whose line of sight intersects the projection plane.
A process of specifying a minimum value and a maximum value on the line of sight in which the voxel opacity of the converted voxel image is larger than a predetermined value for each xy coordinate of the converted voxel image.
The line of sight intersects the projection plane with the cumulative sum of the RGB values and opacity of the voxels and the product of the transmission intensity of the virtual light beam for each voxel within the range of the minimum value and the maximum value on the line of sight. Processing to generate a rendered image as the pixel value of a pixel,
When the voxel on the line of sight is out of the range between the minimum value and the maximum value, a computer program that assigns a predetermined pixel value to a pixel whose line of sight intersects the projection plane and executes a process of generating a rendered image.
コンピュータに、
z方向に沿って所定間隔で撮像された複数のxy平面画像の画像データを取得する処理と、
前記複数のxy平面画像それぞれの任意の注目画素及び該注目画素の近傍画素の画素値に基づいて、前記複数のxy平面画像を平滑化する処理と、
RGB値及び不透明度が定められ、平滑化した前記複数のxy平面画像それぞれの各画素に対応するボクセルで構成される3次元ボクセル画像を生成する処理と、
前記3次元ボクセル画像に対して所定の座標変換を行って変換後ボクセル画像を生成する処理と、
所定の視点から仮想光線を前記変換後ボクセル画像に向かって照射したときに、視線上のボクセル毎に該ボクセルのRGB値及び不透明度並びに前記仮想光線の透過強度の積により累積輝度値を累積加算した値に基づいて算出されるRGB値を、前記視線が投影面と交差する画素の画素値としてレンダリング画像を生成する処理と、
前記複数のxy平面画像のうちの所定のxy平面画像の画素の最小値及び最大値を特定する処理と、
特定した最大値よりも小さい上限値及び特定した最小値よりも大きい下限値を算出する処理と、
前記複数のxy平面画像の各画素の画素値を前記上限値及び下限値の範囲内に圧縮する処理と、
圧縮した前記複数のxy平面画像それぞれの任意の注目画素及び該注目画素の近傍画素の画素値に基づいて、前記複数のxy平面画像を平滑化する処理と
を実行させるコンピュータプログラム。 A computer program for causing a computer to perform volume rendering processing using the ray casting method.
On the computer
Processing to acquire image data of a plurality of xy plane images taken at predetermined intervals along the z direction, and
A process of smoothing the plurality of xy plane images based on the pixel values of any pixel of interest in each of the plurality of xy plane images and pixels in the vicinity of the pixels of interest.
A process of generating a three-dimensional voxel image composed of voxels corresponding to each pixel of each of the plurality of xy plane images whose RGB values and opacity are determined and smoothed.
A process of performing predetermined coordinate transformation on the three-dimensional voxel image to generate a converted voxel image, and
When a virtual ray is irradiated toward the converted voxel image from a predetermined viewpoint, the cumulative brightness value is cumulatively added 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. A process of generating a rendered image using the RGB value calculated based on the calculated value as the pixel value of the pixel whose line of sight intersects the projection plane.
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, and a process of specifying the minimum value and the maximum value.
Processing to calculate the upper limit value smaller than the specified maximum value and the lower limit value larger than the specified minimum value,
A process 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, and
A computer program that executes a process of smoothing the plurality of xy plane images based on the pixel values of an arbitrary pixel of interest of each of the compressed plurality of xy plane images and pixels in the vicinity of the pixels of interest.
画素値に対応付けてRGB値及び不透明度が定義されたカラーマップデータを取得する処理と、
前記平滑化した複数のxy平面画像それぞれの各画素の画素値に対応する前記カラーマップデータのRGB値及び不透明度を対応付けてRGB値及び不透明度を設定して、3次元ボクセル画像を生成する処理と
を実行させる請求項1から請求項7のいずれか一項に記載のコンピュータプログラム。 On the computer
The process of acquiring color map data in which RGB values and opacity are defined in association with pixel values, and
A three-dimensional voxel image is generated by setting RGB values and opacity in association with the RGB values and opacity of the color map data corresponding to the pixel values of each pixel of each of the smoothed plurality of xy plane images. The computer program according to any one of claims 1 to 7, wherein the processing and execution are performed.
xyz軸の回転角、xyz軸方向のオフセット値、xyz軸方向の拡大又は縮小倍率、z軸方向の変倍率、注視点から視点までの距離を含む前記所定の座標変換のパラメータを取得する処理と、
前記生成した3次元ボクセル画像に対して、取得したパラメータを用いた前記所定の座標変換を行って変換後ボクセル画像を生成する処理と
を実行させる請求項1から請求項8のいずれか一項に記載のコンピュータプログラム。 On the computer
Processing to acquire the parameters of the predetermined coordinate conversion including the rotation angle of the xyz axis, the offset value in the xyz axis direction, the enlargement or reduction magnification in the xyz axis direction, the variable magnification in the z axis direction, and the distance from the gazing point to the viewpoint. ,
One of claims 1 to 8, wherein the generated three-dimensional voxel image is subjected to the predetermined coordinate transformation using the acquired parameters to generate a converted voxel image. The computer program described in section.
前記変換後ボクセル画像のボクセルの不透明度に関する勾配ベクトルを算出する処理と、
算出した勾配ベクトル、所定の光源ベクトルに基づいて前記ボクセルの陰影値を算出する処理と、
前記ボクセルの不透明度に基づいて前記ボクセルの陰影値を補正する処理と、
所定の視点から仮想光線を前記変換後ボクセル画像に向かって照射したときに、視線上のボクセル毎に該ボクセルのRGB値、不透明度及び補正した陰影値並びに前記仮想光線の透過強度の積を累積加算した値を、前記視線が投影面と交差する画素の画素値としてレンダリング画像を生成する処理と
を実行させる請求項1から請求項8のいずれか一項に記載のコンピュータプログラム。 On the computer
The process of calculating the gradient vector regarding the voxel opacity of the converted voxel image and
Processing to calculate the shadow value of the voxel based on the calculated gradient vector and a predetermined light source vector,
The process of correcting the shadow value of the voxel based on the opacity of the voxel, and
When a virtual ray is irradiated toward the converted voxel image from a predetermined viewpoint, the product of the RGB value, opacity and corrected shadow value of the voxel and the transmission intensity of the virtual ray is accumulated for each voxel on the line of sight. The computer program according to any one of claims 1 to 8, wherein the added value is used as a pixel value of a pixel whose line of sight intersects the projection surface to generate a rendered image.
前記変換後ボクセル画像の注目ボクセルの不透明度と、該注目ボクセルの近傍に位置する複数の近傍ボクセルそれぞれの不透明度との差分を算出する処理と、
前記注目ボクセルと前記近傍ボクセルとの距離並びに前記注目ボクセル及び前記近傍ボクセルそれぞれの不透明度の差分に基づいて前記注目ボクセルの勾配ベクトルを算出する処理と
を実行させる請求項10に記載のコンピュータプログラム。 On the computer
The process of calculating the difference between the opacity of the voxel of interest in the converted voxel image and the opacity of each of the plurality of neighboring voxels located in the vicinity of the voxel of interest.
The computer program according to claim 10, wherein the process of calculating the gradient vector of the voxel of interest is executed based on the distance between the voxel of interest and the voxel in the vicinity and the difference in opacity between the voxel of interest and the voxel in the vicinity.
z方向に沿って所定間隔で撮像された複数のxy平面画像の画像データを取得する取得部と、
前記複数のxy平面画像それぞれの任意の注目画素及び該注目画素の近傍画素の画素値に基づいて、前記複数のxy平面画像を平滑化する平滑化部と、
RGB値及び不透明度が定められ、前記平滑化部で平滑化した前記複数のxy平面画像それぞれの各画素に対応するボクセルで構成される3次元ボクセル画像を生成するボクセル画像生成部と、
前記ボクセル画像生成部で生成した3次元ボクセル画像に対して所定の座標変換を行って変換後ボクセル画像を生成する変換後ボクセル画像生成部と、
所定の視点から仮想光線を前記変換後ボクセル画像に向かって照射したときに、視線上のボクセル毎に該ボクセルのRGB値及び不透明度並びに前記仮想光線の透過強度の積により累積輝度値を累積加算した値に基づいて算出されるRGB値を、前記視線が投影面と交差する画素の画素値としてレンダリング画像を生成するレンダリング画像生成部と、
前記変換後ボクセル画像のボクセルのxyz座標に対して前記所定の座標変換の逆変換を行って前記ボクセルのxyz座標の実数値を算出する座標値算出部と、
算出したボクセルのxyz座標の実数値の近傍の整数値をxyz座標とする複数のボクセルを特定し、特定した複数のボクセルのRGB値及び不透明度に基づいて前記変換後ボクセル画像のボクセルのRGB値及び不透明度を算出する補間処理部と
を備える画像処理装置。 An image processing device that performs volume rendering processing using the ray casting method.
An acquisition unit that acquires image data of a plurality of xy plane images captured at predetermined intervals along the z direction, and an acquisition unit.
A smoothing unit that smoothes the plurality of xy plane images based on the pixel values of any pixel of interest in each of the plurality of xy plane images and pixels in the vicinity of the pixels of interest.
A voxel image generation unit that generates a three-dimensional voxel image in which RGB values and opacity are determined and are composed of voxels corresponding to each pixel of each of the plurality of xy plane images smoothed by the smoothing unit.
A post-conversion voxel image generation unit that generates a post-conversion voxel image by performing predetermined coordinate conversion on the three-dimensional voxel image generated by the voxel image generation unit.
When a virtual ray is irradiated toward the converted voxel image from a predetermined viewpoint, the cumulative brightness value is cumulatively added 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. A rendered image generation unit that generates a rendered image as a pixel value of a pixel whose line of sight intersects the projection plane, using an RGB value calculated based on the calculated value.
A coordinate value calculation unit that calculates the real value of the xyz coordinates of the voxel by performing the inverse conversion of the predetermined coordinate transformation on the xyz coordinates of the voxel of the converted voxel image.
Multiple voxels whose xyz coordinates are integer values in the vicinity of the real value of the calculated xyz coordinates of the voxels are specified, and the RGB values of the voxels of the converted voxel image are based on the RGB values and opacity of the specified multiple voxels. An image processing device including an interpolation processing unit for calculating opacity.
z方向に沿って所定間隔で撮像された複数のxy平面画像の画像データを取得し、
前記複数のxy平面画像それぞれの任意の注目画素及び該注目画素の近傍画素の画素値に基づいて、前記複数のxy平面画像を平滑化し、
RGB値及び不透明度が定められ、平滑化された前記複数のxy平面画像それぞれの各画素に対応するボクセルで構成される3次元ボクセル画像を生成し、
生成された3次元ボクセル画像に対して所定の座標変換を行って変換後ボクセル画像を生成し、
所定の視点から仮想光線を前記変換後ボクセル画像に向かって照射したときに、視線上のボクセル毎に該ボクセルのRGB値及び不透明度並びに前記仮想光線の透過強度の積により累積輝度値を累積加算した値に基づいて算出されるRGB値を、前記視線が投影面と
交差する画素の画素値としてレンダリング画像を生成し、
前記変換後ボクセル画像のボクセルのxyz座標に対して前記所定の座標変換の逆変換を行って前記ボクセルのxyz座標の実数値を算出し、
算出したボクセルのxyz座標の実数値の近傍の整数値をxyz座標とする複数のボクセルを特定し、
特定した複数のボクセルのRGB値及び不透明度に基づいて前記変換後ボクセル画像のボクセルのRGB値及び不透明度を算出する画像処理方法。 It is an image processing method by an image processing device that performs volume rendering processing using the ray casting method.
Image data of a plurality of xy plane images taken at predetermined intervals along the z direction are acquired, and the image data is acquired.
The plurality of xy plane images are smoothed based on the pixel values of any pixel of interest in each of the plurality of xy plane images and pixels in the vicinity of the pixels of interest.
A three-dimensional voxel image composed of voxels corresponding to each pixel of each of the plurality of xy plane images whose RGB values and opacity are determined and smoothed is generated.
A predetermined coordinate transformation is performed on the generated 3D voxel image to generate a converted voxel image.
When a virtual ray is irradiated toward the converted voxel image from a predetermined viewpoint, the cumulative brightness value is cumulatively added 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. A rendered image is generated by using the RGB value calculated based on the calculated value as the pixel value of the pixel whose line of sight intersects the projection plane.
The xyz coordinate of the voxel of the converted voxel image is subjected to the inverse conversion of the predetermined coordinate transformation to calculate the real value of the xyz coordinate of the voxel.
Identify multiple voxels whose xyz coordinates are integer values in the vicinity of the real value of the calculated xyz coordinates of the voxels.
An image processing method for calculating the RGB values and opacity of voxels in the converted voxel image based on the RGB values and opacity of a plurality of specified voxels.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2017246754A JP7003635B2 (en) | 2017-12-22 | 2017-12-22 | Computer program, image processing device and image processing method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2017246754A JP7003635B2 (en) | 2017-12-22 | 2017-12-22 | Computer program, image processing device and image processing method |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2019114033A JP2019114033A (en) | 2019-07-11 |
JP7003635B2 true JP7003635B2 (en) | 2022-01-20 |
Family
ID=67222685
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2017246754A Active JP7003635B2 (en) | 2017-12-22 | 2017-12-22 | Computer program, image processing device and image processing method |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP7003635B2 (en) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111445385B (en) * | 2020-03-28 | 2023-06-09 | 哈尔滨工程大学 | Three-dimensional object planarization method based on RGB color mode |
CN114266693A (en) * | 2021-12-16 | 2022-04-01 | 阿里巴巴(中国)有限公司 | Image processing method, model generation method and equipment |
CN114801477B (en) * | 2022-03-11 | 2023-01-06 | 华中科技大学 | Patterning planning method for printing display, printing method and system |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2001101451A (en) | 1999-09-27 | 2001-04-13 | Zio Software Inc | High-speed three-dimensional image display device and method for interactively designating coordinates within three-dimensional space on three-dimensional image while using the same |
JP2001319220A (en) | 2000-05-03 | 2001-11-16 | Ge Medical Systems Global Technology Co Llc | Extraction of related data from medical image data volume |
JP2002183749A (en) | 2000-10-04 | 2002-06-28 | Terarikon Inc | Correction method for gradient of graphic data |
JP2003036448A (en) | 2001-07-25 | 2003-02-07 | Ziosoft Inc | Method for displaying three-dimensional image |
JP2013191030A (en) | 2012-03-14 | 2013-09-26 | Fujifilm Corp | Image generation device, method and program |
-
2017
- 2017-12-22 JP JP2017246754A patent/JP7003635B2/en active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2001101451A (en) | 1999-09-27 | 2001-04-13 | Zio Software Inc | High-speed three-dimensional image display device and method for interactively designating coordinates within three-dimensional space on three-dimensional image while using the same |
JP2001319220A (en) | 2000-05-03 | 2001-11-16 | Ge Medical Systems Global Technology Co Llc | Extraction of related data from medical image data volume |
JP2002183749A (en) | 2000-10-04 | 2002-06-28 | Terarikon Inc | Correction method for gradient of graphic data |
JP2003036448A (en) | 2001-07-25 | 2003-02-07 | Ziosoft Inc | Method for displaying three-dimensional image |
JP2013191030A (en) | 2012-03-14 | 2013-09-26 | Fujifilm Corp | Image generation device, method and program |
Also Published As
Publication number | Publication date |
---|---|
JP2019114033A (en) | 2019-07-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7505037B2 (en) | Direct volume rendering of 4D deformable volume images | |
US7424140B2 (en) | Method, computer program product, and apparatus for performing rendering | |
JP4213135B2 (en) | Developed image projecting method, developed image projecting program, developed image projecting apparatus | |
JP6688618B2 (en) | Medical image processing apparatus and medical image diagnostic apparatus | |
CN107767436A (en) | Volume drawing with the segmentation for preventing color bleeding | |
JP7003635B2 (en) | Computer program, image processing device and image processing method | |
CN109313816B (en) | Depth enhanced tomosynthesis reconstruction | |
US7639867B2 (en) | Medical image generating apparatus and method, and program | |
JP2013192940A (en) | Medical imag processing apparatus and medical imag processing method | |
US9836891B2 (en) | Shape data generation method and apparatus | |
JP2004174241A (en) | Image forming method | |
JP7013849B2 (en) | Computer program, image processing device and image processing method | |
US9965875B2 (en) | Virtual projection image method | |
JP2006000205A (en) | Projection image processing method, projection image processing program, and projection image processor | |
JP6418344B1 (en) | Computer program, image processing apparatus, and image processing method | |
EP3707672A1 (en) | Method of segmenting a 3d object in a medical radiation image | |
JP7131080B2 (en) | volume rendering device | |
JP7180123B2 (en) | Medical image processing apparatus, medical image processing method, program, and data creation method | |
US10685480B2 (en) | Rendering volumes using apple graduations in multiple dimensions | |
JP7155670B2 (en) | Medical image processing apparatus, medical image processing method, program, and data creation method | |
JP6436258B1 (en) | Computer program, image processing apparatus, and image processing method | |
CN103679795B (en) | The layer of volume data is shown | |
JP7283603B2 (en) | COMPUTER PROGRAM, IMAGE PROCESSING APPARATUS AND IMAGE PROCESSING METHOD | |
JP3542779B2 (en) | 3D image display method | |
JP7095409B2 (en) | Medical image processing device, medical image processing method, program, and MPR image generation method |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20201026 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20210715 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20210727 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20210902 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20210921 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20211013 |
|
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: 20211130 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20211213 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 7003635 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |