Nothing Special   »   [go: up one dir, main page]

JP7003635B2 - Computer program, image processing device and image processing method - Google Patents

Computer program, image processing device and image processing method Download PDF

Info

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
Application number
JP2017246754A
Other languages
Japanese (ja)
Other versions
JP2019114033A (en
Inventor
敏雄 茂出木
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Dai Nippon Printing Co Ltd
Original Assignee
Dai Nippon Printing Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Dai Nippon Printing Co Ltd filed Critical Dai Nippon Printing Co Ltd
Priority to JP2017246754A priority Critical patent/JP7003635B2/en
Publication of JP2019114033A publication Critical patent/JP2019114033A/en
Application granted granted Critical
Publication of JP7003635B2 publication Critical patent/JP7003635B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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. Patent Document 1 discloses a ray casting process as one of the volume rendering methods. In the ray casting process, a plurality of slice images are stacked to construct a three-dimensional voxel space, and a ray (virtual ray) is applied to the three-dimensional voxel space from an arbitrary viewpoint direction, and a projection plane orthogonal to the viewpoint direction ( The projection result is obtained as a pixel value on the screen). Specifically, coordinate transformation is performed so that the viewpoint direction is parallel to the Z axis of the three-dimensional coordinate axis, and a ray is applied to the three-dimensional boxel space after the coordinate transformation in the Z-axis direction on the XY plane. The projection result is calculated as a pixel value on the projection surface (screen).

特開平11-175743号公報Japanese Unexamined Patent Publication No. 11-175743

この座標変換は一般に実数演算で行われるが、座標変換後の座標値はボクセル座標という離散的な値に整数化され、この過程で丸め誤差が累積し、周期的なパターンが生成される。この周期的なパターンは単一のスライス画像では肉眼では認識できない微弱なものであるが、本願のように複数のスライス画像が積層された画像を合成しようとすると、たとえ各スライス画像が座標変換によりずれていても、パターンの周期性の位相条件を満たせば干渉縞が生成され、肉眼的に顕著なモアレとして認識される。また、複数のスライス画像に類似した不規則なパターンが存在すると、積層されたスライス画像で構成される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.

本実施の形態の画像処理装置としてのレイキャスティング装置の構成の一例を示すブロック図である。It is a block diagram which shows an example of the structure of the ray casting apparatus as the image processing apparatus of this embodiment. DICOM形式の断層画像の一例を示す模式図である。It is a schematic diagram which shows an example of the tomographic image of DICOM format. 本実施の形態のカラーマップデータの第1例を示す説明図である。It is explanatory drawing which shows the 1st example of the color map data of this embodiment. 本実施の形態のカラーマップデータの第2例を示す説明図である。It is explanatory drawing which shows the 2nd example of the color map data of this embodiment. 本実施の形態のレイキャスティング装置による階調圧縮処理の一例を示す説明図である。It is explanatory drawing which shows an example of the gradation compression processing by the ray casting apparatus of this embodiment. 本実施の形態のレイキャスティング装置による平滑化処理の一例を示す説明図である。It is explanatory drawing which shows an example of the smoothing process by the ray casting apparatus of this embodiment. 本実施の形態のボクセル構造体の一例を示す模式図である。It is a schematic diagram which shows an example of the voxel structure of this embodiment. 本実施の形態のレイキャスティング装置による座標変換処理の一例を示す説明図である。It is explanatory drawing which shows an example of the coordinate transformation processing by the ray casting apparatus of this embodiment. 本実施の形態のレイキャスティング装置による探索制御マスクデータ生成処理の一例を示す説明図である。It is explanatory drawing which shows an example of the search control mask data generation processing by the ray casting apparatus of this embodiment. 本実施の形態のレイキャスティング装置による平行投影の場合のレイキャスティング処理の一例を示す説明図である。It is explanatory drawing which shows an example of the ray casting process in the case of the parallel projection by the ray casting apparatus of this embodiment. 本実施の形態のレイキャスティング装置による透視投影の場合のレイキャスティング処理の一例を示す説明図である。It is explanatory drawing which shows an example of the ray casting process in the case of the perspective projection by the ray casting apparatus of this embodiment. 本実施の形態のレイキャスティング装置によるレイキャスティング処理の手順の一例を示すフローチャートである。It is a flowchart which shows an example of the procedure of the ray casting process by the ray casting apparatus of this embodiment. 本実施の形態のレイキャスティング装置によるレイキャスティング処理の手順の一例を示すフローチャートである。It is a flowchart which shows an example of the procedure of the ray casting process by the ray casting apparatus of this embodiment. 本実施の形態のレイキャスティング装置による座標変換処理の手順の一例を示すフローチャートである。It is a flowchart which shows an example of the procedure of the coordinate conversion processing by the ray casting apparatus of this embodiment. 本実施の形態のレイキャスティング装置による座標変換処理の手順の一例を示すフローチャートである。It is a flowchart which shows an example of the procedure of the coordinate conversion processing by the ray casting apparatus of this embodiment. 本実施の形態のレイキャスティング装置による補間処理の一例を示す模式図である。It is a schematic diagram which shows an example of the interpolation processing by the ray casting apparatus of this embodiment. 本実施の形態のレイキャスティング装置によるレイキャスティング処理の手順の一例を示すフローチャートである。It is a flowchart which shows an example of the procedure of the ray casting process by the ray casting apparatus of this embodiment. 本実施の形態のレイキャスティング装置によるレイキャスティング処理の手順の一例を示すフローチャートである。It is a flowchart which shows an example of the procedure of the ray casting process by the ray casting apparatus of this embodiment. 本実施の形態の画像処理部の構成の他の例を示すブロック図である。It is a block diagram which shows the other example of the structure of the image processing part of this embodiment. 曲線状のモアレが発生する様子の一例を示す模式図である。It is a schematic diagram which shows an example of how the curved moire occurs. 本実施の形態のレイキャスティング装置によるモアレ対策結果の第1例を示す説明図である。It is explanatory drawing which shows the 1st example of the moire measures result by the ray casting apparatus of this embodiment. 本実施の形態のレイキャスティング装置によるモアレ対策結果の第2例を示す説明図である。It is explanatory drawing which shows the 2nd example of the moire measures result by the ray casting apparatus of this embodiment. ストライプ・格子状のモアレが発生する様子の一例を示す模式図である。It is a schematic diagram which shows an example of the appearance of the stripe / grid-like moire. 座標変換時の丸め誤差の発生の様子の一例を示す説明図である。It is explanatory drawing which shows an example of the appearance of the rounding error at the time of coordinate conversion. 本実施の形態のレイキャスティング装置による丸め誤差分散の様子の一例を示す説明図である。It is explanatory drawing which shows an example of the state of the rounding error dispersion by the ray casting apparatus of this embodiment. 本実施の形態のレイキャスティング装置によるモアレ対策結果の第3例を示す説明図である。It is explanatory drawing which shows the 3rd example of the moire measures result by the ray casting apparatus of this embodiment. 本実施の形態のレイキャスティング装置によるモアレ対策結果の第4例を示す説明図である。It is explanatory drawing which shows the 4th example of the moire measures result by the ray casting apparatus of this embodiment. 本実施の形態のレイキャスティング装置によるモアレ対策結果の第5例を示す説明図である。It is explanatory drawing which shows the 5th example of the moire measures result by the ray casting apparatus of this embodiment. 本実施の形態のレイキャスティング装置によるモアレ対策結果の第6例を示す説明図である。It is explanatory drawing which shows the 6th example of the moire measures result by the ray casting apparatus of this embodiment.

以下、本開示の実施の形態を図面に基づいて説明する。図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 ray casting device 100 as the image processing device of the present embodiment. The ray casting device 100 of the present embodiment includes an input unit 10, a storage unit 11, an output unit 12, an image processing unit 20, and the like. The image processing unit 20 includes a gradation compression processing unit 21, a smoothing processing unit 22, a voxel structure generation unit 23, a coordinate conversion processing unit 24, a raycasting processing unit 25, a search control mask generation unit 26, and a coordinate value calculation unit 27. , A random number generation unit 28, an interpolation processing unit 29, a ROI (Region of Interest) clipping processing unit 30, and the like.

入力部10は、取得部としての機能を有し、z方向に沿って所定間隔で撮像された複数のxy平面画像の画像データを取得する。より具体的には、入力部10は、観察対象物(例えば、臓器、脳、骨、血管などを内部に含む人体・動物の様々な部位)に対して所定の間隔で断層撮影された複数の2次元の断層画像のDICOM(Digital Imaging and COmmunications in Medicine)形式の画像データを取得する。 The input unit 10 has a function as an acquisition unit, and acquires image data of a plurality of xy plane images captured at predetermined intervals along the z direction. More specifically, the input unit 10 is a plurality of tomographic images taken at predetermined intervals with respect to an observation object (for example, various parts of the human body / animal including organs, brains, bones, blood vessels, etc.). Acquire image data in DICOM (Digital Imaging and COmmunications in Medicine) format of a two-dimensional tomographic image.

図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 input unit 10 acquires color map data in which RGB values and opacity are defined in association with pixel values.

図3は本実施の形態のカラーマップデータの第1例を示す説明図である。第1例のカラーマップデータをCmap(v,c)で示す。変数vは、Do(x,y,z)の画素値を示し、Do(x,y,z)の範囲と同様に、-32768以上、32767以下の範囲内の数値を表す。変数cは、0、1、2、3の値を含み、c=0は、RGBのR値を示し、c=1はG値を示し、c=2はB値を示す。c=3は不透明度αを示す。Cmap(v,c)は、0以上、255以下の数値を取り得る。図3に示すように、カラーマップデータは、スライス画像の画素値Do(x,y,z)とRGB値及び不透明度αとの関係を定義するものである。例えば、画素値Do(x,y,z)が32767の場合、R値はR(32767)となり、G値はG(32767)となり、B値はB(32767)となり、不透明度はα(32767)となる。ここで、R(32767)、G(32767)、B(32767)、及びα(32767)は、画素値32767に対応していることを便宜上示すものであり、実際には適切な数値となる。また、カラーマップデータは、-32768から32767までの全ての画素値に対して定義する必要はなく、CT画像の場合、通常は-2048から2048の範囲をとるように調整されるため、-32768から-2048の範囲、および2048から32767の範囲のRGB値及び不透明度は全て0に設定するようにしてもよい。 FIG. 3 is an explanatory diagram showing a first example of 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 pixel value 32767, and are actually appropriate values. Further, the color map data does not need to be defined for all the pixel values from -32768 to 32767, and in the case of a CT image, it is usually adjusted to take the range of -2048 to 2048. The RGB values and opacity in the range from 2048 to 2048 and from 2048 to 32767 may all be set to 0.

図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 input unit 10 includes coordinate conversion parameters including the angle of rotation 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. And the value of ROI (Region of Interest) in the xyz direction is acquired. Details of the coordinate conversion parameters and ROI values will be described later.

記憶部11は、入力部10で取得したデータ、画像処理部20での処理結果などを記憶することができる。なお、カラーマップデータ、座標変換パラメータ、ROI値などを予め記憶部11に記憶する構成でもよい。 The storage unit 11 can store the data acquired by the input unit 10, the processing result of the image processing unit 20, and the like. The color map data, the coordinate conversion parameters, the ROI value, and the like may be stored in the storage unit 11 in advance.

出力部12は、画像処理部20での処理結果、例えば、レイキャスティング処理部25で生成したレンダリング画像の画像データを表示装置(不図示)に出力する。 The output unit 12 outputs the processing result of the image processing unit 20, for example, the image data of the rendered image generated by the raycasting processing unit 25 to a display device (not shown).

階調圧縮処理部21は、DICOM形式の断層画像を、例えば、8ビットの階調圧縮断層画像にする。 The gradation compression processing unit 21 converts a DICOM format tomographic image into, for example, an 8-bit gradation compression tomographic image.

図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 ray casting apparatus 100 of the present embodiment. The gradation compression processing unit 21 specifies the minimum value and the maximum value of the pixels of a predetermined slice image among the plurality of slice images. For example, among the slice images from 1 to Sz, the minimum value Dmin and the maximum value Dmax of all the pixels in the Sz / second intermediate slice image can be specified. As the predetermined slice image, the method of specifying the minimum value and the maximum value of all the pixels in all the slice images is originally accurate. However, in that case, it becomes necessary to temporarily hold all the large-capacity 16-bit DICOM format tomographic images in the memory, and the gradation compression effect is halved. Further, the minimum value Dmin and the maximum value Dmax are only used as parameters for gradation compression, and do not directly affect the accuracy of the 8-bit gradation compression tomographic image. Therefore, a method of roughly specifying is taken by using the minimum value and the maximum value of the pixels of a single slice image. However, since the subject is often not properly reflected in the first slice image, a method of specifying the minimum value Dmin and the maximum value Dmax is adopted only in the intermediate slice image. As a result, it is possible to directly construct only an 8-bit gradation compressed tomographic image in the memory without holding a large-capacity 16-bit DICOM format tomographic image in the memory.

8ビットの階調圧縮断層画像D8(x,y,z)は、D8(x,y,z)=(Do(x,y,z)-Lmin)・255/(Lmax-Lmin)という式により生成することができる。ただし、D8(x,y,z)>255の場合は、D8(x,y,z)=255とし、D8(x,y,z)<0の場合は、D8(x,y,z)=0とする。ここで、Lmin=(Dmax-Dmin)・γ+Dmin、Lmax=(Dmax-Dmin)・(1-γ)+Dminである。γは階調圧縮画像のコントラスト調整幅で、0に近いほどコントラストは増大するが輝度は小さくなる。通常は、γ=0.1に設定する。レンダリング像の輝度コントラストは、例えば、カラーマップデータなどの種々の設定で調整することができるので、γは固定値でよい。また、0≦D8(x,y,z)≦255、0≦x≦Sx-1、0≦y≦Sy-1、0≦z≦Sz-1である。また、xy方向の解像度はRxy、z方向の解像度はRzである。 The 8-bit gradation compressed tomographic image D8 (x, y, z) is 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 compression processing unit 21 specifies the minimum value Dmin and the maximum value Dmax of the pixels of the predetermined xy plane image among the plurality of xy plane images, and the upper limit value Lmax smaller than the specified maximum value. And the lower limit Lmin larger than the specified minimum value is calculated. The gradation compression processing unit 21 compresses within the range of the upper limit value Lmax and the lower limit value Lmin of the pixel value of each pixel of the plurality of xy plane images. That is, the gradation compression processing unit 21 compresses the range of the upper limit value Lmax and the lower limit value Lmin into, for example, 256 steps, sets the upper limit value Lmax or more to 255, and sets the lower limit value Lmin or less to 0.

平滑化処理部22は、平滑化部としての機能を有し、複数のxy平面画像それぞれの任意の注目画素及び当該注目画素の近傍画素の画素値に基づいて、複数のxy平面画像を平滑化する。xy平面画像は、DICOM画像Do(x,y,z)でもよく、階調圧縮処理部21により階調圧縮された階調圧縮断層画像D8(x,y,z)でもよい。 The smoothing processing unit 22 has a function as a smoothing unit, and smoothes a plurality of xy plane images based on the pixel values of an arbitrary pixel of interest of each of the plurality of xy plane images and pixels in the vicinity of the pixel of interest. do. The xy plane image may be a DICOM image Do (x, y, z) or a gradation compression tomographic image D8 (x, y, z) that is gradation-compressed by the gradation compression processing unit 21.

図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 ray casting apparatus 100 of the present embodiment. In the example of FIG. 6, the gradation compressed tomographic image D8 (x, y, z) is shown, but it may be a DICOM image Do (x, y, z). FIG. 6 shows the attention pixel D8 (x, y, z) of one slice image and the eight neighboring pixels D8 (x-1, y-1, z) and D8 (x,) existing in the vicinity of the attention pixel. 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) are shown. Assuming that the smoothed image of the xyz coordinates is D (x, y, z), D (x, y, z) is the average value of the pixel values of the neighboring pixels including the pixel of interest.

すなわち、より具体的には、平滑化処理部22は、複数のxy平面画像それぞれの一のxy平面画像上の任意の注目画素及び当該注目画素の一のxy平面画像での近傍画素の画素値に基づいて、一のxy平面画像を平滑化する。 That is, more specifically, the smoothing processing unit 22 has a pixel value of an arbitrary pixel of interest on one xy plane image of each of the plurality of xy plane images and a pixel value of a neighboring pixel in the xy plane image of one of the attention pixels. Based on, one xy plane image is smoothed.

階調圧縮断層画像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 structure generation unit 23 has a function as a voxel image generation unit, and is composed of voxels corresponding to each pixel of each of a plurality of smoothed xy plane images in which RGB values and opacity α are determined. Generate a 3D voxel image. More specifically, the voxel structure generation unit 23 associates 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 with the RGB values and opacity. Set α to generate a 3D voxel image. Hereinafter, the three-dimensional voxel image is also referred to as a voxel structure.

図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 conversion processing unit 24 has a function as a post-conversion voxel image generation unit, and converts the generated three-dimensional voxel image by performing predetermined coordinate conversion using the coordinate conversion parameters acquired by the input unit 10. Generate a post-voxel image. That is, the coordinate conversion processing unit 24 performs a predetermined coordinate conversion process on the voxel structure V (x, y, z, c) to generate the converted voxel structure. The converted voxel structure is represented as V'(x, y, z', c). The converted voxel structure V'(x, y, z', c) is V'(x, y, z', c) = Matrix (4 × 4) · V (x, y, z, c). Can be represented by. Here, 0 ≦ x ≦ Sx-1, 0 ≦ y ≦ Sy-1, 0 ≦ z ′ ≦ Sz ′-1, and 0 ≦ c ≦ 3. Note that z'is corrected so that the resolution matches the xy axis with respect to the z axis, and z'= z · Rxy / Rz and Sz ′ = Sz · Rxy / Rz. Matrix (4 × 4) is a transformation matrix for performing coordinate transformation, and a specific transformation formula will be described later.

図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 ray casting apparatus 100 of the present embodiment. As shown in FIG. 8, the converted voxel structure V'(x, y, z', c) is a voxel structure before conversion according to ROI with respect to V (x, y, z, c). It can be obtained by clipping, setting the region of interest, and then performing coordinate transformation. In clipping by ROI, Xs-Xe is set as the ROI in the x-axis direction, Ys-Ye is set as the ROI in the y-axis direction, and Zs-Ze is set as the ROI in the z-axis direction. Here, 0 ≦ Xs <Xe ≦ Sx-1, 0 ≦ Ys <Ye ≦ Sy-1, and 0 ≦ Zs <Ze ≦ Sz-1.

座標変換は、例えば、スケーリング、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 mask generation unit 26 is a voxel of the converted voxel structure V'(x, y, z', c) for each xy coordinate of the converted voxel structure V'(x, y, z', c). Specify the minimum and maximum values on the line of sight where the opacity α of is not 0 (transparent).

図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 ray casting apparatus 100 of the present embodiment. FIG. 9 shows a case where the converted voxel structure V'(x, y, z', c) is viewed from the xz'plane. The projection plane is an xy plane. The search control mask generation unit 26 generates the search control mask data M (x, y, s). Here, s = 0 or 1.

図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 casting processing unit 25 has a function as a rendering image generation unit, and converts a virtual light beam having a predetermined transmission intensity from a predetermined viewpoint into a converted voxel structure V'(x, y, z', c). When irradiating toward the z'direction, the intensity after passing through the voxel is calculated for each voxel on the z'axis while considering the absorption / attenuation of virtual light rays based on the opacity α of the voxel, and the transmission intensity is determined. Determine the voxel at the deepest point that is below the predetermined lower limit. Then, while tracing each voxel in which the virtual light beam has passed from the deepest voxel in the reverse direction, the RGB value is cumulatively added based on the RGB value and the opacity α of each voxel, and the line of sight is the projection plane. A rendered image is generated as the pixel value of the intersecting pixels. In the process of irradiating the virtual light beam toward the converted voxel structure V'(x, y, z', c) in the z'direction and determining the voxel at the deepest point, the RGB value and opacity α of each voxel In addition, a method of simultaneously calculating the pixel values of the pixels intersecting the projection surface can be obtained by cumulatively adding the products of the transmission intensities of the virtual rays. In the present application, the latter method will be described below.

図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 ray casting apparatus 100 of the present embodiment. In FIG. 10, the converted voxel structure V'(x, y, z', c) is illustrated as a cube filled with voxel data in three dimensions. The projected plane (rendered image) parallel to the xy axis of the converted voxel structure V'(x, y, z', c) is the converted voxel structure V'(x, y, z', c). It is assumed that they are arranged at a distance from the required distance. As shown in FIG. 10, in parallel projection generally used when the viewpoint is located at the point at infinity (originally, Dist = ∞, but in this application, Dist = 0 is set), and the inside of the voxel structure is set from the viewpoint. All lines of sight towards are parallel to the z'axis. In the ray casting process (volume rendering), the inside of the converted voxel structure V'(x, y, z', c) is visualized by performing semi-transparent display (α blending) based on the opacity α. .. That is, the visualization is realized by the voxel values (RGB values and opacity α) possessed by the voxels of the converted voxel structure V'(x, y, z', c).

図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 ray casting apparatus 100 of the present embodiment. As shown in FIG. 11, when the viewpoint is relatively close to the projection surface (Dist> 0 in the present application), the perspective projection is performed, and in the case of endoscopic display, the projection surface and the viewpoint are the voxel structure V'(x, It may be immersed inside y, z', c). Similar to the case of FIG. 10, in the ray casting process (volume rendering), the converted voxel structure V'(x, y, z') is displayed by translucent display (α blending) based on the opacity α. , C) Visualize the inside. That is, the visualization is realized by the voxel values (RGB values and opacity α) possessed by the voxels of the converted voxel structure V'(x, y, z', c).

図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 ray casting device 100 of the present embodiment will be described.

図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 ray casting apparatus 100 of the present embodiment. Hereinafter, for convenience, the subject of processing will be described as the image processing unit 20. The image processing unit 20 acquires the image data of the DICOM image (S11) and acquires the color map data (S12). The color map data is illustrated in FIGS. 3 and 4.

画像処理部20は、座標変換パラメータを取得し(S13)、xyz方向のROI値を取得する(S14)。なお、座標変換パラメータ、ROI値は、図8で例示したものである。画像処理部20は、DICOM画像の階調圧縮処理を行い(S15)、階調圧縮断層画像D8に対してカラーマップ定義を行う(S16)。カラーマップ定義は、階調圧縮断層画像D8の画素値に対して、RGB値及び不透明度αを定義する。なお、ステップS15の処理は必須ではなく、ステップS15の処理を実施しない場合には、DICOM画像に対してカラーマップ定義を行えばよい。ただし、カラーマップはCT画像の場合、見たい部位ごとに汎用的に定義することが可能で、与えられたDICOM画像に依存して定義されるものではないため、ステップS16の処理を省略し、あらかじめ定義されたカラーマップを流用することもできる。 The image processing unit 20 acquires the coordinate conversion parameter (S13) and acquires the ROI value in the xyz direction (S14). The coordinate conversion parameters and ROI values are exemplified in FIG. The image processing unit 20 performs gradation compression processing of the DICOM image (S15), and defines a color map for the gradation compression tomographic image D8 (S16). The color map definition defines the RGB value and the opacity α with respect to the pixel value of the gradation compressed tomographic image D8. The process of step S15 is not essential, and if the process of step S15 is not performed, the color map may be defined for the DICOM image. However, in the case of a CT image, the color map can be generally defined for each part to be viewed and is not defined depending on the given DICOM image. Therefore, the process of step S16 is omitted. A predefined color map can also be used.

画像処理部20は、階調圧縮断層画像D8の平滑化処理を行い(S17)、ボクセル構造体V(x,y,z,c)を生成する(S18)。画像処理部20は、ボクセル構造体V(x,y,z,c)に対して座標変換処理を行い(S19)、変換後ボクセル構造体V′(x,y,z′,c)を生成する(S20)。なお、座標変換処理の詳細は後述する。 The image processing unit 20 performs smoothing processing of the gradation compressed tomographic image D8 (S17) to generate a voxel structure V (x, y, z, c) (S18). The image processing unit 20 performs coordinate conversion processing on the voxel structure V (x, y, z, c) (S19), and generates a converted voxel structure V'(x, y, z', c). (S20). The details of the coordinate conversion process will be described later.

画像処理部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 image processing unit 20 generates search control mask data M (x, y, s) (S21), performs ray casting processing (S22), and generates a rendered image Image (x, y, c) (S23). , End the process. Here, 0 ≦ Image (x, y, c) ≦ 255, c = 0 (R), c = 1 (G), c = 2 (B). The details of the ray casting process will be described later.

図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 ray casting apparatus 100 of the present embodiment. The image processing unit 20 multiplies the voxel structure V (x, y, z, c) before conversion by the transformation matrix Matrix (4 × 4), and the voxel structure V ′ (x, y, z ′) after conversion. , C) is generated (S101). That is, V'(x, y, z', c) = Matrix (4 × 4) · V (x, y, z, c). Here, the coordinate values (x, y, z) of the voxel structure V (x, y, z, c) before conversion and the voxel structure V'(x, y, z', c) after conversion. The coordinate value (x, y, z') is an integer value. Therefore, the voxel structure V (x, y, The coordinate values (xr, yr, zr) of the real numbers of z, c) are calculated as follows.

画像処理部20は、変換後のボクセル構造体V′(x,y,z′,c)の座標値(x,y,z′)(整数値)を実数値(xx,yy,zz)に変換する(S102)。整数値(x,y,z′)から実数値(xx,yy,zz)の変換は、式(1)、(2)及び(3)により行うことができる。 The image processing unit 20 converts the coordinate values (x, y, z') (integer values) of the converted voxel structure V'(x, y, z', c) into real values (xx, yy, zz). Convert (S102). The conversion from an integer value (x, y, z') to a real value (xx, yy, zz) can be performed by the equations (1), (2) and (3).

Figure 0007003635000001
Figure 0007003635000001

画像処理部20は、座標値を実数値に変換したボクセル構造体V′(xx,yy,zz,c)に変換行列Matrix(4×4)の逆行列を乗算して変換前のボクセル構造体V(x,y,z,c)に対応する座標値の実数値(xr,yr,zr)を算出する(S103)。 The image processing unit 20 multiplies the boxel structure V'(xx, yy, zz, c) obtained by converting the coordinate values into real values by the inverse matrix of the transformation matrix Matrix (4 × 4), and the boxel structure before conversion. A real value (xr, yr, zr) of a coordinate value corresponding to V (x, y, z, c) is calculated (S103).

ステップS102、S103の処理は、座標値算出部27が行うことができる。すなわち、座標値算出部27は、変換後ボクセル構造体のボクセルのxyz座標に対して所定の座標変換の逆変換を行って当該ボクセルのxyz座標の実数値を算出する。なお、ステップS103の処理は、以下のようにして行うことができる。 The processing of steps S102 and S103 can be performed by the coordinate value calculation unit 27. That is, the coordinate value calculation unit 27 calculates the real value of the xyz coordinates of the voxel by performing the inverse conversion of the predetermined coordinate transformation with respect to the xyz coordinates of the voxel of the converted voxel structure. The process of step S103 can be performed as follows.

まず、透視変換の距離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).

Figure 0007003635000002
Figure 0007003635000002

なお、式(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 image processing unit 20 adds a random number to the calculated real value (xr, yr, zr) and updates the coordinate value (S104). This is to suppress the moire that occurs due to the accumulation of rounding errors in the process of the coordinate transformation described above and the generation of a periodic pattern. By adding random numbers, the periodicity of the pattern collapses and moire occurs. Can be suppressed. It should be noted that the process of adding a random number to the calculated real value (xr, yr, zr) to update the coordinate value is not essential.

より具体的には、乱数発生部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 number generation unit 28 generates a random number within a predetermined range, for example, a random number Rnd from 0 to 32767. The interpolation processing unit 29 adds a random number within a predetermined range to the real value of the xyz coordinate of the voxel. That is, according to the equations (16), (17), and (18), random numbers in the range of -0.5 to +0.5 are added to the real-valued coordinates (xr, yr, zr) and updated. The coordinate values (xr', yr', zr') are obtained. Let the updated coordinate values (xr', yr', zr') be (xr, yr, zr).

Figure 0007003635000003
Figure 0007003635000003

画像処理部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 image processing unit 20 decomposes the updated coordinate values (xr, yr, zr) into integer values (xi, yi, zi) and fractions after the decimal point (wx, wy, wz) (S105). More specifically, the interpolation processing unit 29 specifies the difference (fraction) between the real value of the xyz coordinate of the voxel and the integer value obtained by rounding down the decimal point of the real value. That is, the updated coordinate values (xr, yr, zr) are decomposed as the equations (19), (20), and (21). Here, 0 ≦ wx, wy, and wz ≦ 1.

Figure 0007003635000004
Figure 0007003635000004

画像処理部20は、ROI値に乱数を加算してクリッピング領域を更新する(S106)。 The image processing unit 20 adds a random number to the ROI value to update the clipping region (S106).

より具体的には、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 clipping processing unit 30 sets the xyz coordinates that define the target area of the volume rendering processing. The random number generation unit 28 generates a random number within a predetermined range, for example, a random number Rnd from 0 to 32767. The ROI clipping processing unit 30 adds a random number within a predetermined range to the set xyz coordinates. That is, according to the equations (22), (23), (24), (25), (26), and (27), for example, with respect to the six coordinate values Xs, Xe, Ys, Ye, Zs, and Ze of the ROI. , The six coordinate values Xs', Xe', Ys', Ye', Zs', and Ze'of the ROI updated by adding random numbers in the range of -0.1 to +1.1 are obtained.

Figure 0007003635000005
Figure 0007003635000005

なお、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 image processing unit 20 determines whether or not the integer value (xi, yi, zi) of the coordinate values corresponding to the voxel structure V (x, y, z, c) before conversion is in the updated clipping region. Judgment (S107). Here, as the condition 1, in the case of xi <Xs'or xi> Xe'or yi <Ys' or y> Ye'or zi <Zs' or zi> Ze', the integer value of the coordinate value (xi, yi). , Zi) is determined not to be within the updated clipping region (NO in S107), the image processing unit 20 deletes the voxel value (S108), and performs the process of step S113 described later. More specifically, the image processing unit 20 sets the converted voxel structure V'(x, y, z', c) = 0. That is, the RGB value and the opacity α are set to 0.

座標値の整数値(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 condition 1 is not satisfied, the image processing unit 20 uses the voxel structure before conversion. It is determined whether or not the integer values (xi + 1, yi + 1, zi + 1) of the coordinate values corresponding to are within the updated clipping region (S109). As condition 2, in the case of xi + 1> Xe'or yi + 1> Ye'or zi + 1> Ze', it is determined that any of the integer values (xi + 1, yi + 1, zi + 1) of the coordinate values is not within the updated clipping area. (NO in S109), the image processing unit 20 performs the processing of step S113 described later without interpolating (S110). Here, "no interpolation" means that the converted voxel structure V'(x, y, z', c) = V (xi, yi, zi, c) and is an integer value of the coordinate values (xi, yi, zi). ) Is adopted as it is.

座標値の整数値(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 image processing unit 20 sets 8 sets of the integer value of the coordinate value (xi, yi, zi) and the integer value of the coordinate value (xi, yi, zi) plus 1. The boxel value of the boxel structure before conversion with the numerical value as the coordinate value is multiplied by the weighting coefficient, the boxel value multiplied by the weighting coefficient is added to interpolate the boxel value (S111), and the interpolated boxel value is converted. The boxel value of the boxel structure V'(x, y, z', c) is set to (S112), and the process of step S113 described later is performed. As a result, the value of the converted voxel structure V'(x, y, z', c) is obtained.

すなわち、補間処理部29は、算出したボクセルのxyz座標の実数値の近傍の整数値をxyz座標とする複数のボクセルを特定し、特定した複数のボクセルのRGB値及び不透明度に基づいて変換後ボクセル構造体のボクセルのRGB値及び不透明度を算出する。また、補間処理部29は、乱数を加算したxyz座標の実数値の近傍の整数値をxyz座標とする複数のボクセルを特定することもできる。 That is, the interpolation processing unit 29 identifies a plurality of voxels whose xyz coordinates are integer values in the vicinity of the real value of the calculated xyz coordinates of the voxels, and after conversion based on the RGB values and opacity of the specified plurality of voxels. The voxel RGB value and opacity of the voxel structure are calculated. Further, the interpolation processing unit 29 can also specify 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.

補間処理部29は、特定した複数のボクセルのRGB値及び不透明度に、特定した座標値の実数値と近傍の整数値との差分(端数)に基づく重み付け係数を乗算して変換後ボクセル構造体のボクセルのRGB値及び不透明度を算出する。また、補間処理部29は、変換後ボクセル構造体のボクセルのxyz座標が、乱数を加算したxyz座標で画定される対象領域内にある場合、特定した複数のボクセルのRGB値及び不透明度に基づいて変換後ボクセル構造体のボクセルのRGB値及び不透明度を算出することもできる。 The interpolation processing unit 29 multiplies the RGB values and opacity of the specified plurality of voxels by a weighting coefficient based on the difference (fraction) between the real value of the specified coordinate value and the neighboring integer value, and the converted voxel structure. Calculate the RGB value and opacity of the voxel of. Further, when the xyz coordinates of the voxels of the converted voxel structure are within the target area defined by the xyz coordinates obtained by adding random numbers, the interpolation processing unit 29 is based on the RGB values and opacity of the specified plurality of voxels. It is also possible to calculate the RGB value and opacity of the voxel of the converted voxel structure.

ステップS111、S112の処理は、式(28)で表すことができる。 The processing of steps S111 and S112 can be expressed by the equation (28).

Figure 0007003635000006
Figure 0007003635000006

図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 ray casting apparatus 100 of the present embodiment. In FIG. 16, the coordinates (xr, yr, zr) are random numbers within a predetermined range of the real value coordinates (xr, yr, zr) corresponding to the voxel structure V (x, y, z, c) before conversion. Is the coordinate value of the real value updated by adding and giving the fluctuation. In FIG. 16, it can be seen that the real numerical value (xr, yr, zr) is decomposed into an integer value (xi, yi, zi) and a fraction (wx, wy, wz). Then, around the coordinate values (xr, yr, zr), eight sets of integer values (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) exist.

式(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 image processing unit 20 determines whether or not the voxel values of all voxel structures V'(x, y, z', c) have been determined (S113), and all voxel structures V'(x, y). , Z', c) If the voxel values have not been determined (NO in S113), the processing after step S105 is continued, and the voxel values of all voxel structures V'(x, y, z', c) are set. If it is determined (YES in S113), the process ends.

本実施の形態の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 ray casting apparatus 100 of the present embodiment. The image processing unit 20 sets the light source Light (c) for color calculation (S121). Here, 0 ≦ Light (c) ≦ 255, c = 0 (R), 1 (G), and 2 (B). The image processing unit 20 sets the transmission intensity Trans = 1.0 of the virtual light beam and sets the cumulative luminance value Energy (c) = 0.0 (S122).

画像処理部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 image processing unit 20 sets z'= M (x, y, 1) (S123). That is, the value of z'is set to the maximum value z2 of the search control mask data. The image processing unit 20 determines whether or not the value of z'is smaller than 0 (S124), and if z'<0 (NO in S124), the opacity α = V'(x, y, z', 3) / 255 (S125). According to this equation, the opacity α is 0 ≦ α ≦ 1. When z ′ <0 (YES in S124), the image processing unit 20 performs the processing of step S135 described later. The image processing unit 20 determines whether or not the opacity α is 0 (S126), and when the opacity α = 0 (YES in S126), the image processing unit 20 performs the processing of step S133 described later.

不透明度αが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 image processing unit 20 determines whether or not the shadow processing is performed (S127). When there is a shadow process (YES in S127), the image processing unit 20 performs a shadow Shade calculation process (S128) and performs the process of step S130 described later. The shadow Shade calculation can be performed, for example, as follows.

光源ベクトル(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 raycasting processing unit 25 calculates the difference between the opacity of the voxel of interest in the converted voxel structure and the opacity of each of the plurality of neighboring voxels located in the vicinity of the voxel of interest. The raycasting processing unit 25 calculates the gradient vector of the voxel of interest based on the logical distance between the voxel of interest and the neighboring voxel and the difference in opacity of each of the voxel of interest and the neighboring voxel.

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).

Figure 0007003635000007
Figure 0007003635000007

なお、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 raycasting processing unit 25 calculates the voxel shadow value Shade based on the calculated gradient vector and a predetermined light source vector. G = {Gx 2 + Gy 2 + Gz 2 } 1/2 (G is the square root of the sum of the square of Gx, the square of Gy, and the square of Gz). When G ≧ 1, the shadow value Shadow is given by the equation (32) when calculating the diffuse reflection component. Since the gradient vector also changes following the change of the line of sight, the specular reflection component in consideration of the line of sight vector can be calculated and added.

レイキャスティング処理部25は、ボクセルの不透明度αに基づいて当該ボクセルの輝度値Shadeを補正することができる。例えば、陰影値Shadeは、当該ボクセルの不透明度αを乗算して補正することができる。すなわち、陰影値Shadeは、式(33)により算出することができる。G<1の場合、陰影値Shade=0とする。 The raycasting processing unit 25 can correct the brightness value Shadow of the voxel based on the opacity α of the voxel. For example, the shadow value Shade can be corrected by multiplying the opacity α of the voxel. That is, the shadow value Shade can be calculated by the equation (33). When G <1, the shadow value Shade = 0.

陰影処理がない場合(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 image processing unit 20 sets Shade = α (S129). The image processing unit 20 updates the cumulative luminance value (S130). That is, the cumulative luminance value of the three components 0 ≦ c ≦ 2 is updated by the formula Energy (c) = Energy (c) + Trans · α · Shadow · V ′ (x, y, z ′, c) / 255. .. The image processing unit 20 updates the transmission intensity (S131). That is, the transmission intensity is updated according to the equation Trans = Trans · (1-α).

画像処理部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 image processing unit 20 determines whether or not the opacity α = 1.0 or whether or not the transmission intensity Transs <predetermined value (S132). Here, the predetermined value may be 0 or a value close to 0 (for example, 0.001). When the opacity α = 1.0 and the transmission intensity Trans <predetermined value (NO in S132), the image processing unit 20 sets z ′ = z ′ -1 (S133), and the value of z ′ is M (NO). It is determined whether or not it is smaller than x, y, 0) (S134). When z'<M (x, y, 0) (YES in S134), the image processing unit 20 determines the RGB value in the two-dimensional coordinates (x, y) (S135). The RGB values in the two-dimensional coordinates (x, y) of the projection plane can be calculated by Image (x, y, c) = k ・ Energy (c) ・ Light (c). Here, k is an intensity magnification, and the RGB value can be corrected. The value of k can be, for example, 1.0, but is not limited to this. Light (c) is an RGB value of the light source.

不透明度α=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 image processing unit 20 performs the process of step S135 without performing the processes of steps S133 and S134. .. If z'<M (x, y, 0) is not satisfied (NO in S134), the image processing unit 20 performs the processing after step S125.

画像処理部20は、すべての2次元座標のRGB値が決定されたか否かを判定し(S136)、すべての2次元座標のRGB値が決定されていない場合(S136でNO)、ステップS122以降の処理を行う。すべての2次元座標のRGB値が決定された場合(S136でYES)、画像処理部20は、処理を終了する。 The image processing unit 20 determines whether or not the RGB values of all the two-dimensional coordinates have been determined (S136), and if the RGB values of all the two-dimensional coordinates have not been determined (NO in S136), step S122 and subsequent steps. Process. When the RGB values of all the two-dimensional coordinates are determined (YES in S136), the image processing unit 20 ends the processing.

上述のように、レイキャスティング処理部25は、視線上の最小値z1と最大値z2との範囲内でボクセル毎に当該ボクセルのRGB値(V′(x,y,z′,c))不透明度α(V′(x,y,z′,3))並びに当該ボクセルにおいて算出した陰影値Shadeと、仮想光線の透過強度Transの積により累積輝度値Energy(c)を累積加算(更新)した値に基づいて算出されるRGB値を、視線が投影面と交差する画素の画素値としてレンダリング画像を生成することができる。 As described above, the ray casting processing unit 25 does not have the RGB value (V'(x, y, z', c)) of the voxel for each voxel within the range of the minimum value z1 and the maximum value z2 on the line of sight. The cumulative brightness value Energy (c) was cumulatively added (updated) by the product of the transparency α (V'(x, y, z', 3)), the shadow value Shadow calculated in the voxel, and the transmission intensity Trans of the virtual light beam. A rendered image can be generated using the RGB values calculated based on the values as the pixel values of the pixels whose line of sight intersects the projection plane.

レイキャスティング処理部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 casting processing unit 25 determines that the box cell on the line of sight is outside the range of the minimum value z1 and the maximum value z2, the minimum value z1 and the maximum value z2 are the same value, or the minimum value z1 or the maximum value z2. If is not found, a predetermined pixel value can be given to the pixel whose line of sight intersects the projection plane to generate a rendered image. The predetermined pixel value may be any value as long as it can be given without performing ray casting processing, and may be, for example, a background color (Rb, Gb, Bb). As a result, the load related to the ray casting process can be reduced. Specifically, when the background color component is added to the equation of S134 and Back (0) = Rb, Back (1) = Gb, Back (2) = Bb, Image (x, y, c) = K. Energy (c) / Light (c) + Back (c) may be used.

また、レイキャスティング処理部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 raycasting processing unit 25 sets and calculates a parallel light source in the same direction as the virtual light source when the virtual light ray is irradiated toward the voxel structure after conversion from a predetermined viewpoint. You can also. In that case, the light source vector (Lx, Ly, Lz) may be set to (Lx, Ly, Lz) = (0,0,1), and the mathematical formula (32) may be executed in the same manner. Then, for each voxel on the line of sight, the RGB value (V'(x, y, z', c)) of the voxel, the opacity α (V'(x, y, z', 3)) and the voxel are calculated. Cumulative brightness value by the product of the shadow value {Shade · V'(x, y, z', 3) / 255} corrected by multiplying the shade value Shadow by the opacity α and the transmission intensity Trans (c) of the virtual light beam. A rendered image can be generated using the RGB values calculated based on the cumulative addition (updated) of the Energy (c) as the pixel values of the pixels whose line of sight intersects the projection plane.

図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 image processing unit 20 of the present embodiment. As shown in FIG. 19, the image processing unit 20 can be composed of a CPU 201, a ROM 202, a RAM 203, a recording medium reading unit 204, and the like. The computer program recorded on the recording medium 1 can be read by the recording medium reading unit 204 and stored in the RAM 203. By executing the computer program stored in the RAM 203 by the CPU 201, the image processing unit 20 has a gradation compression processing unit 21, a smoothing processing unit 22, a voxel structure generation unit 23, a coordinate conversion processing unit 24, and a ray casting process. The processing performed by the unit 25, the search control mask generation unit 26, the coordinate value calculation unit 27, the random number generation unit 28, the interpolation processing unit 29, and the ROI clipping processing unit 30 can be executed. The CPU 201 is a general term for a processor, a processor device, a processing unit, and the like, and may be configured by one or a plurality. Further, the computer program can be downloaded via a network such as the Internet instead of the configuration of reading by the recording medium reading unit 204.

次に、モアレの発生パターンについて説明する。ボリュームレンダリング像においてモアレが発生する理由は、断層画像を積層合成する点にある。モアレのタイプとしては、第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 ray casting device 100 of the present embodiment. FIG. 21A is a comparative example and shows a case where the moire countermeasure of the present embodiment is not implemented. FIG. 21B shows a case where each tomographic image is smoothed in a 2D space (xy plane) as described in FIG. 6 by the smoothing processing unit 22 of the raycasting apparatus 100 of the present embodiment. .. In FIG. 21A, a curved striped pattern is generated, but in FIG. 21B, it can be seen that the striped pattern has disappeared.

図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 ray casting device 100 of the present embodiment. FIG. 22A is a comparative example and shows a case where the moire countermeasure of the present embodiment is not implemented. FIG. 22B shows a case where interpolation processing at the time of coordinate conversion is performed by the ray casting apparatus 100 of the present embodiment. The interpolation process at the time of coordinate conversion includes the processes such as steps S111 and S112 in FIG. 15 described above. In FIG. 22A, a curved striped pattern is generated, but in FIG. 22B, it can be seen that the striped pattern has disappeared.

次に、モアレの第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 ray casting apparatus 100 of the present embodiment. The rounding error variance includes the process of step S104 in FIG. 14 or the process of step S106 in FIG. 15 described above. As shown in FIG. 25, the voxels before the coordinate conversion are the same as those in FIG. 24. Since the x-coordinate value to be referred to has a fluctuation added to the voxel coordinate value by a random number, or a fluctuation is added to the voxel coordinate value and the ROI set coordinate by a random number, the x-coordinate value to be referred to is for each z-coordinate value. Different to. For example, the second x-coordinate value from the top is 2.1, 3.2, 4.9, 6.1, 7.1, 8.0 from left to right. The third x-coordinate value from the top is 1.2, 2.4, 3.5, 4.8, 5.9, and 6.9 from left to right. The fourth x-coordinate value from the top is 2.3, 3.1, 4.4, 5.9, 6.5, and 7.8 from left to right. Then, in the first layer and the second layer, a step remains between the third and fourth voxels from the left as in FIG. 23, but in the third layer and the fourth layer, the step disappears and these overlap. Then, the stripe / grid-like moire generated along the z-axis direction cannot be perceived.

上述のように、本実施の形態によれば、実数値の座標値を整数化した際に生じる丸め誤差が分散(実際には、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 ray casting device 100 of the present embodiment. FIG. 26A is a comparative example and shows a case where the moire countermeasure of the present embodiment is not implemented. FIG. 26B shows a case where fluctuations are given to the coordinate values of real numbers of voxels by random numbers by the ray casting apparatus 100 of the present embodiment. The process of giving fluctuations to the real coordinate values of voxels by random numbers includes the processes of step S104 and the like in FIG. 14 described above, the calculations by the equations (16) to (18), and the like. In FIG. 26A, a grid-like striped pattern is generated due to a rounding error when converting the coordinate value of the real number calculated by the coordinate conversion process into an integer, but in FIG. 26B, it can be seen that the striped pattern disappears.

図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 ray casting device 100 of the present embodiment. FIG. 27A is a comparative example and shows a case where the moire countermeasure of the present embodiment is not implemented. FIG. 27B shows a case where the ray casting device 100 of the present embodiment gives fluctuations to the coordinate values of real numbers of voxels by random numbers. The process of giving fluctuations to the coordinate values of the real numbers of voxels by random numbers includes the processes of step S104 and the like in FIG. 14 described above, the calculations by the equations (16) to (18), and the like. In FIG. 27A, a grid-like striped pattern is generated due to a rounding error when converting the coordinate value of the real number calculated by the coordinate conversion process into an integer, but in FIG. 27B, it can be seen that the striped pattern disappears.

図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 ray casting device 100 of the present embodiment. FIG. 28A is a comparative example and shows a case where the moire countermeasure of the present embodiment is not implemented. FIG. 28B shows a case where the ray casting apparatus 100 of the present embodiment gives fluctuations to the clipping coordinate values by random numbers during the ROI clipping process. The process of giving fluctuation to the clipping coordinate value by a random number includes the process of step S106 and the like in FIG. 15 described above, the calculation by the equations (22) to (27), and the like. In FIG. 28A, a vertical striped pattern is generated on the ROI clipping cut surface due to a rounding error when the coordinate values associated with the coordinate conversion are converted into integers, but in FIG. 28B, it can be seen that the striped pattern disappears.

図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 ray casting device 100 of the present embodiment. FIG. 29A is a comparative example and shows a case where the moire countermeasure of the present embodiment is not implemented. FIG. 29B shows a case where the ray casting apparatus 100 of the present embodiment performs a process of correcting the shadow value using the opacity α. The process of correcting the shadow value using the opacity α includes the process of step S128 and the like in FIG. 17 described above, the calculation by the equation (33), and the like. In FIG. 29A, since the contrast between light and dark of the shadow is insufficient, a grid-like striped pattern is generated and moire can be perceived. However, in FIG. 29B, the calculated shadow value Shadow is multiplied by the opacity α. You can see that the striped pattern has disappeared.

上述のように、本実施の形態によれば、レンダリング像の画質劣化を抑えながら、各種のモアレ(曲線状のモアレ、ストライプ又は格子状のモアレ)の発生を抑制することができる。 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 Input unit 11 Storage unit 12 Output unit 20 Image processing unit 21 Gradation compression processing unit 22 Smoothing processing unit 23 Voxel structure generation unit 24 Coordinate conversion processing unit 25 Raycasting processing unit 26 Search control mask generation unit 27 Coordinate value calculation Part 28 Random number generation part 29 Interpolation processing part 30 ROI clipping processing part 100 Raycasting device 201 CPU
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.
JP2017246754A 2017-12-22 2017-12-22 Computer program, image processing device and image processing method Active JP7003635B2 (en)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

Patent Citations (5)

* Cited by examiner, † Cited by third party
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