JP2020038592A - Volume rendering apparatus - Google Patents

Volume rendering apparatus Download PDF

Info

Publication number
JP2020038592A
JP2020038592A JP2018166574A JP2018166574A JP2020038592A JP 2020038592 A JP2020038592 A JP 2020038592A JP 2018166574 A JP2018166574 A JP 2018166574A JP 2018166574 A JP2018166574 A JP 2018166574A JP 2020038592 A JP2020038592 A JP 2020038592A
Authority
JP
Japan
Prior art keywords
image
voxel
tomographic
opacity
images
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.)
Granted
Application number
JP2018166574A
Other languages
Japanese (ja)
Other versions
JP7223312B2 (en
Inventor
茂出木 敏雄
Toshio Modegi
敏雄 茂出木
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Dai Nippon Printing Co Ltd
Original Assignee
Dai Nippon Printing Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Dai Nippon Printing Co Ltd filed Critical Dai Nippon Printing Co Ltd
Priority to JP2018166574A priority Critical patent/JP7223312B2/en
Publication of JP2020038592A publication Critical patent/JP2020038592A/en
Application granted granted Critical
Publication of JP7223312B2 publication Critical patent/JP7223312B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Apparatus For Radiation Diagnosis (AREA)
  • Image Processing (AREA)
  • Image Generation (AREA)

Abstract

To provide a volume rendering apparatus which can improve speed of generating a rendering image.SOLUTION: A volume rendering apparatus according to the present invention has: voxel image generating means 30 for converting, based on a plurality of two-dimensional tomographic images obtained by capturing a predetermined object at a predetermined interval, with reference to a color map defined in association with values of color components and opacity with respect to a signal value, signal values of respective pixels of respective tomographic images to generate a voxel image having overlapped two-dimensional element images defining the color components and opacity as pixel values; and rendering means 70 for generating a rendering image by using the voxel image. Defining that a total number of the topographic images is M and that a predetermined division number is set as N (N>1 and N<M), the voxel image generating means 30 divides M topographic images into N topographic image groups and executes parallelly processing for generating element images for the respective N topographic image groups.SELECTED DRAWING: Figure 3

Description

本開示は、2次元の断層画像を複数枚用いて、3次元的に可視化するためのボリュームレンダリング技術に関する。   The present disclosure relates to a volume rendering technique for three-dimensionally visualizing a plurality of two-dimensional tomographic images.

従来、CT、MRI、PETなど医療画像診断機器(モダリティ)により所定のスライス間隔で連続的に撮像され、DICOM形式等でPACS(Picture Archiving and Communication Systems)等の医療情報システムに保管されている複数の断層画像を基に、臓器等を3次元的に可視化することが行われている。   2. Description of the Related Art Conventionally, a plurality of medical images (modalities), such as CT, MRI, and PET, which are continuously imaged at predetermined slice intervals and stored in a medical information system such as a PACS (Picture Archiving and Communication Systems) in a DICOM format or the like. The three-dimensional visualization of organs and the like has been performed based on the tomographic images.

3Dコンピュータグラフィックス分野においては、レンダリング像を256色などの限定色で生成し、ハードウェア実装のカラーマップ(カラー・ルックアップテーブル)を対話形式に変更してレンダリング像の色をリアルタイムに変更する手法が用いられている(特許文献1参照)。 In the field of 3D computer graphics, a rendering image is generated in limited colors such as 256 colors, and a color map (color look-up table) implemented in hardware is changed interactively to change the color of the rendering image in real time. A technique is used (see Patent Document 1).

また、カラーマップに依存しないVISボリューム(信号値、陰影輝度値、不透明度強度係数の3パラメータをもつボクセル)でレンダリングする方法も提案されている(特許文献2参照)。 Further, a method of rendering with a VIS volume (a voxel having three parameters of a signal value, a shadow luminance value, and an opacity intensity coefficient) independent of a color map has been proposed (see Patent Document 2).

特開平1−321577号公報JP-A-1-321577 特許第2651787号公報Japanese Patent No. 2651787

しかしながら、特許文献1に記載の技術では、変更できるのはRGB値のみであり、ボリュームレンダリングで重要な、不透明度を表現したα値を制御することは開示されていない。また、特許文献2に記載の技術では、信号値に対してカラーマップを適用して再レンダリングする場合に比べ、処理に要する時間が1割程度削減できるに留まる。   However, in the technique described in Patent Document 1, only the RGB values can be changed, and control of an α value expressing opacity, which is important in volume rendering, is not disclosed. Further, in the technique described in Patent Document 2, the time required for processing can be reduced by only about 10% as compared with a case where a signal value is applied to a color map and re-rendering is performed.

そこで、本開示は、複数の断層画像に対してカラーマップを適用して、レンダリング画像を生成する際、レンダリング画像の生成処理の速度を向上させることが可能なボリュームレンダリング装置を提供することを課題とする。   Therefore, an object of the present disclosure is to provide a volume rendering device capable of improving the speed of a rendering image generation process when generating a rendering image by applying a color map to a plurality of tomographic images. And

本開示は、上記課題を解決する手段を複数含んでいるが、その一例を挙げるならば、
所定の対象物について所定の間隔で撮影された複数の2次元の断層画像に基づいて、信号値に対して色成分の値と不透明度を対応付けて定義されたカラ−マップを参照してレンダリング画像を生成するためのボリュームレンダリング装置であって、
前記カラ−マップを参照して、前記各断層画像の各画素の信号値を変換し、画素値として色成分および不透明度が定義された2次元の要素画像が重ねて配置されたボクセル画像を作成するボクセル画像作成手段と、
前記ボクセル画像を用いてレンダリング画像を生成するレンダリング手段と、を備え、
前記ボクセル画像作成手段は、所定の分割数をN(N>1)として、各前記断層画像をN個の断層画像群に分割し、N個の各断層画像群に対して、前記要素画像を作成する処理を並行して実行する。
The present disclosure includes a plurality of means for solving the above-described problems.
Based on a plurality of two-dimensional tomographic images photographed at predetermined intervals for a predetermined object, rendering is performed by referring to a color map defined by associating color component values and opacity with signal values. A volume rendering device for generating an image,
Referring to the color map, a signal value of each pixel of each of the tomographic images is converted, and a voxel image in which a two-dimensional element image in which a color component and an opacity are defined as pixel values is superposed is created. Means for creating voxel images,
Rendering means for generating a rendering image using the voxel image,
The voxel image creating means divides each of the tomographic images into N tomographic image groups by setting a predetermined number of divisions to N (N> 1), and divides the elemental image into N tomographic image groups. Execute the process to be created in parallel.

また、本開示では、
所定の対象物について所定の間隔で撮影された複数の2次元の断層画像に基づいて、信号値に対して色成分の値と不透明度を対応付けて定義されたカラ−マップを参照してレンダリング画像を生成するためのボリュームレンダリング装置であって、
前記カラ−マップを参照して、前記各断層画像の各画素の信号値を変換し、画素値として色成分および不透明度が定義された2次元の要素画像がz軸方向に配置されたボクセル画像を作成するボクセル画像作成手段と、
前記ボクセル画像を用いてレンダリング画像を生成するレンダリング手段と、を備え、
前記ボクセル画像作成手段は、所定の分割数をN(N>1)として、各前記断層画像をN個の断層画像群に分割し、N個の各断層画像群に対して、前記要素画像を作成する処理を並行して実行するボリュームレンダリング装置として、コンピュータを機能させるためのプログラムを提供する。
Also, in the present disclosure,
Based on a plurality of two-dimensional tomographic images photographed at predetermined intervals for a predetermined object, rendering is performed by referring to a color map defined by associating color component values and opacity with signal values. A volume rendering device for generating an image,
A voxel image in which a signal value of each pixel of each tomographic image is converted with reference to the color map, and a two-dimensional element image in which color components and opacity are defined as pixel values is arranged in the z-axis direction. Means for creating a voxel image,
Rendering means for generating a rendering image using the voxel image,
The voxel image creating means divides each of the tomographic images into N tomographic image groups by setting a predetermined number of divisions to N (N> 1), and divides the elemental image into N tomographic image groups. Provided is a program for causing a computer to function as a volume rendering device that executes processing to be created in parallel.

また、本開示では、
所定の対象物について所定の間隔で撮影された複数の2次元の断層画像の各画素に対応し、あらかじめ定義されたカラ−マップを参照して定められた各ボクセルで構成されるボクセル構造体のボクセルデータであって、
所定の分割数をN(N>1)として、各前記断層画像に対応して作成された要素画像が、N個の要素画像群に分割されており、
前記N個の要素画像群は、N個の要素画像群を統合したボクセル画像を作成するボクセル画像作成手段により並行して処理されるボクセルデータを提供する。
Also, in the present disclosure,
A voxel structure corresponding to each pixel of a plurality of two-dimensional tomographic images taken at predetermined intervals of a predetermined target object and configured by voxels determined with reference to a predefined color map. Voxel data,
Assuming that a predetermined number of divisions is N (N> 1), an element image created corresponding to each of the tomographic images is divided into N element image groups,
The N element image groups provide voxel data that is processed in parallel by a voxel image creating unit that creates a voxel image integrating the N element image groups.

本開示によれば、複数の断層画像に対してカラーマップを適用して、レンダリング画像を生成する処理を高速に行うことが可能となる。   According to the present disclosure, it is possible to perform a process of generating a rendering image at high speed by applying a color map to a plurality of tomographic images.

複数の断層画像と、ボリュームレンダリング像として生成されるカラーのレンダリング画像を示す図である。FIG. 4 is a diagram illustrating a plurality of tomographic images and a color rendering image generated as a volume rendering image. 本開示の一実施形態に係るボリュームレンダリング装置100のハードウェア構成図である。1 is a hardware configuration diagram of a volume rendering device 100 according to an embodiment of the present disclosure. 本実施形態に係るボリュームレンダリング装置の構成を示す機能ブロック図である。FIG. 2 is a functional block diagram illustrating a configuration of the volume rendering device according to the embodiment. 本実施形態に係るボリュームレンダリング装置の処理動作を示すフローチャートである。5 is a flowchart illustrating a processing operation of the volume rendering device according to the embodiment. 本実施形態で用いるカラーマップを示す図である。FIG. 3 is a diagram illustrating a color map used in the embodiment. 図4に示したステップS20におけるボクセル画像作成処理等を並行して行う場合を示すフローチャートである。5 is a flowchart showing a case where voxel image creation processing and the like in step S20 shown in FIG. 4 are performed in parallel. 図6に示したステップS510、S530における要素画像の作成処理を示すフローチャートである。7 is a flowchart illustrating a process of creating an element image in steps S510 and S530 illustrated in FIG. 3Dテクスチャマッピングにおける対応付けを示す図である。FIG. 4 is a diagram illustrating association in 3D texture mapping. 3Dテクスチャマッピング方式の処理を行う場合の、レンダリング手段70の構成を示す図である。FIG. 3 is a diagram illustrating a configuration of a rendering unit when performing processing of a 3D texture mapping method. 本実施形態のレンダリング手段70による投影画面設定の一例を示す説明図である。FIG. 4 is an explanatory diagram illustrating an example of a projection screen setting by a rendering unit 70 of the embodiment. 3Dテクスチャマッピング方式によるレンダリング処理の詳細を示すフローチャートである。It is a flowchart which shows the detail of the rendering process by a 3D texture mapping system. (a)クリッピング設定、色値および不透明度の双方をクリッピング処理、(b)マスク設定、色値および不透明度の双方をマスク処理を行った状態のレンダリング画像の表示例を示す図である。FIG. 7A is a diagram illustrating a display example of a rendering image in a state where clipping processing is performed on both the color value and opacity, and (b) mask processing is performed on both the color value and opacity. (a)クリッピング設定、不透明度のみをクリッピング処理、(b)マスク設定、不透明度のみをマスク処理を行った状態のレンダリング画像の表示例を示す図である。FIG. 7A is a diagram illustrating a display example of a rendered image in a state where (a) clipping setting and only opacity are clipped, and (b) mask setting and only opacity are masked. コンピュータによりボリュームレンダリング装置100を実現する場合の並列化処理を示す図である。FIG. 11 is a diagram illustrating parallel processing when the volume rendering device 100 is implemented by a computer. コンピュータによりボリュームレンダリング装置100を実現する場合の並列化処理のソフトウェアによる流れを示す図である。FIG. 9 is a diagram illustrating a flow of software for parallel processing when the volume rendering apparatus 100 is implemented by a computer.

以下、本開示の好適な実施形態について図面を参照して詳細に説明する。
本開示は、複数の断層画像に基づいて、信号値に対して色成分の値と不透明度を対応付けて定義されたカラ−マップを参照してレンダリング画像を生成するものである。図1は、複数の断層画像と、レンダリング画像を示す図である。図1(a)は複数の断層画像、図1(b)は1枚の断層画像、図1(c)はレンダリング画像である。図1(a)(b)に示す断層画像は、DICOM形式のものを示している。図1(a)は、370枚の断層画像群であり、図1(b)は、そのうちの1枚を拡大したものである。後述する実施形態のボリュームレンダリング装置では、図1(a)に示したような複数の断層画像に対してレンダリング処理を実行して、図1(c)に示したような1枚のレンダリング画像を生成する。図1(c)に示したレンダリング画像は、512×512画素であって、1画素についてRGB各色8ビットの計24ビットで表現したものである。
Hereinafter, preferred embodiments of the present disclosure will be described in detail with reference to the drawings.
The present disclosure is to generate a rendering image by referring to a color map defined by associating a color component value and an opacity with a signal value based on a plurality of tomographic images. FIG. 1 is a diagram showing a plurality of tomographic images and a rendering image. 1A shows a plurality of tomographic images, FIG. 1B shows one tomographic image, and FIG. 1C shows a rendering image. The tomographic images shown in FIGS. 1A and 1B are of the DICOM format. FIG. 1A shows a group of 370 tomographic images, and FIG. 1B shows an enlarged one of them. In a volume rendering apparatus according to an embodiment to be described later, rendering processing is performed on a plurality of tomographic images as shown in FIG. 1A, and one rendering image as shown in FIG. Generate. The rendering image shown in FIG. 1C has 512 × 512 pixels, and one pixel is expressed by a total of 24 bits of 8 bits for each color of RGB.

<1.装置構成>
図2は、本開示の一実施形態に係るボリュームレンダリング装置100のハードウェア構成図である。本実施形態に係るボリュームレンダリング装置100は、汎用のコンピュータで実現することができ、図2に示すように、CPU(Central Processing Unit)1と、コンピュータのメインメモリであるRAM(Random Access Memory)2と、CPU1が実行するプログラムやデータを記憶するためのハードディスク、SSD(Solid State Drive),フラッシュメモリ等の大容量の記憶装置3と、キーボード、マウス等の指示入力I/F(インターフェース)4と、データ記憶媒体等の外部装置とデータ通信するためのデータ入出力I/F(インターフェース)5と、液晶ディスプレイ等の表示デバイスである表示部6と、グラフィックスに特化した演算処理部であるGPU(Graphics Processing Unit)7と、表示部6に表示する画像を保持するフレームメモリ8と、を備え、互いにバスを介して接続されている。GPU7による演算結果はフレームメモリ8に書き込まれるため、GPU7とフレームメモリ8は、表示部6へのインタフェースを備えたビデオカードに搭載されて汎用のコンピュータにバス経由で装着されていることが多い。
<1. Device Configuration>
FIG. 2 is a hardware configuration diagram of the volume rendering device 100 according to an embodiment of the present disclosure. The volume rendering apparatus 100 according to the present embodiment can be realized by a general-purpose computer. As shown in FIG. 2, a CPU (Central Processing Unit) 1 and a RAM (Random Access Memory) 2 which is a main memory of the computer. A large-capacity storage device 3 such as a hard disk, a solid state drive (SSD), or a flash memory for storing programs and data to be executed by the CPU 1, and an instruction input I / F (interface) 4 such as a keyboard and a mouse. , A data input / output I / F (interface) 5 for performing data communication with an external device such as a data storage medium, a display unit 6 which is a display device such as a liquid crystal display, and an arithmetic processing unit specialized in graphics. A GPU (Graphics Processing Unit) 7 and a frame memory 8 for holding an image to be displayed on the display unit 6 For example, they are connected to each other via a bus. Since the calculation result by the GPU 7 is written into the frame memory 8, the GPU 7 and the frame memory 8 are often mounted on a video card provided with an interface to the display unit 6 and mounted on a general-purpose computer via a bus.

本実施形態において、CPU1は、マルチコアCPUであり、複数のCPUコアを有し、並列処理が可能となっている。図2の例では、RAM2が1つだけ示されているが、CPU1の各CPUコアが、1つのRAM2にアクセスするように構成されている。なお、CPU1は複数であってもよい。またマルチコアCPUは、各々のCPUコアが論理的に複数の実行スレッドを受け入れるCPUであってもよい。   In the present embodiment, the CPU 1 is a multi-core CPU, has a plurality of CPU cores, and can perform parallel processing. Although only one RAM 2 is shown in the example of FIG. 2, each CPU core of the CPU 1 is configured to access one RAM 2. Note that a plurality of CPUs 1 may be provided. Further, the multi-core CPU may be a CPU in which each CPU core logically receives a plurality of execution threads.

図3は、本実施形態に係るボリュームレンダリング装置の構成を示す機能ブロック図である。図3において、10は断層画像読込手段、15はカラーマップ読込手段、20はROIクリッピング設定手段、25はマスク設定手段、30はボクセル画像作成手段、40は不透明度補正手段、50は陰影付加手段、70はレンダリング手段、80はレンダリング画像出力手段である。   FIG. 3 is a functional block diagram illustrating a configuration of the volume rendering device according to the present embodiment. 3, 10 is a tomographic image reading means, 15 is a color map reading means, 20 is an ROI clipping setting means, 25 is a mask setting means, 30 is a voxel image creating means, 40 is an opacity correcting means, and 50 is a shading adding means. , 70 are rendering means, and 80 is a rendered image output means.

断層画像読込手段10は、CT、MRI、PETなどの医用画像診断機器により収集および蓄積されたPACSから、記憶媒体や入力部を経由して、複数の断層画像を読み込む手段である。断層画像は、対象物に対して所定の間隔で撮影されて得られたものであり、各画素に信号値が付与された2次元の断層画像である。カラーマップ読込手段15は、図示されていないカラーマップ作成手段により、あらかじめ作成されたカラーマップを記憶媒体や入力部から、カラーマップを読み込む手段である。ROIクリッピング設定手段20は、読み込んだ複数の断層画像のうち、ボクセル画像の作成対象を、関心領域であるROIとして設定する手段である。マスク設定手段25は、読み込んだ複数の断層画像のうち、表示させない領域をマスク設定する手段である。   The tomographic image reading unit 10 is a unit that reads a plurality of tomographic images from a PACS collected and accumulated by a medical image diagnostic device such as CT, MRI, or PET via a storage medium or an input unit. The tomographic image is obtained by photographing the object at predetermined intervals, and is a two-dimensional tomographic image in which a signal value is assigned to each pixel. The color map reading means 15 is means for reading a color map created in advance by a color map creating means (not shown) from a storage medium or an input unit. The ROI clipping setting unit 20 is a unit that sets a voxel image creation target among a plurality of read tomographic images as an ROI that is a region of interest. The mask setting means 25 is a means for setting a mask of an area not to be displayed in the plurality of read tomographic images.

ボクセル画像作成手段30は、信号値に対して色成分の値と不透明度を対応付けて定義されたカラーマップを参照して、複数の断層画像の各画素と対応付けて3次元に配置した各ボクセルに対して、色成分の値と不透明度を与えることによりボクセル画像を作成する手段である。ボクセル画像作成手段30は、さらに不透明度補正手段40、陰影付加手段50を備えている。不透明度補正手段40は、所定のテーブルを用いてボクセル画像の各画素の不透明度αを補正する手段である。陰影付加手段50は、色成分ボクセル画像の各ボクセルの(R,G,B)で構成される色成分に対して、そのボクセルの近傍のボクセルの不透明度αを基に、そのボクセルにおける勾配ベクトルを算出し、算出した勾配ベクトルを用いて、陰影値を算出し、色成分(R,G,B)の各値に陰影値を乗算した値に置き換える手段である。   The voxel image creating means 30 refers to a color map defined by associating the color component values and the opacity with the signal values, and associates each of the three-dimensionally arranged pixels with a plurality of tomographic images. This is a means for creating a voxel image by giving a color component value and opacity to the voxel. The voxel image creating means 30 further includes an opacity correcting means 40 and a shading adding means 50. The opacity correction means 40 is means for correcting the opacity α of each pixel of the voxel image using a predetermined table. Based on the opacity α of the voxel in the vicinity of the voxel for the color component composed of (R, G, B) of each voxel of the color component voxel image, the shading adding means 50 Is calculated by using the calculated gradient vector, and a shadow value is calculated and replaced with a value obtained by multiplying each value of the color components (R, G, B) by the shadow value.

断層画像読込手段10およびカラーマップ読込手段15は、CPU1が補助しながら、主にデータ入出力I/F5において実現される。ROIクリッピング設定手段20およびマスク設定手段25は、CPU1が補助しながら、主に指示入力I/F4において実現される。ボクセル画像作成手段30、不透明度補正手段40、陰影付加手段50は、CPU1が、記憶装置3に記憶されているプログラムを実行することにより実現される。レンダリング手段70は、CPU1が補助しながら、主にGPU7においてプログラムを実行することにより実現される。レンダリング画像出力手段80は、CPU1が補助しながら、主にフレームメモリ8と表示部6において実現される。   The tomographic image reading means 10 and the color map reading means 15 are realized mainly in the data input / output I / F 5 with the assistance of the CPU 1. The ROI clipping setting means 20 and the mask setting means 25 are realized mainly in the instruction input I / F 4 with the assistance of the CPU 1. The voxel image creating unit 30, the opacity correcting unit 40, and the shading adding unit 50 are realized by the CPU 1 executing a program stored in the storage device 3. The rendering means 70 is realized by executing a program mainly in the GPU 7 with the assistance of the CPU 1. The rendering image output unit 80 is realized mainly in the frame memory 8 and the display unit 6 with the assistance of the CPU 1.

図3に示した各構成手段は、現実には図2に示したように、コンピュータおよびその周辺機器等のハードウェアに専用のプログラムを搭載することにより実現される。すなわち、コンピュータが、専用のプログラムに従って各手段の内容を実行することになる。なお、本明細書において、コンピュータとは、CPU、GPU等の演算処理部を有し、データ処理が可能な装置を意味し、パーソナルコンピュータなどの汎用コンピュータだけでなく、GPUを搭載するタブレットなどの携帯端末や様々な装置に組み込まれたコンピュータも含む。   Each component shown in FIG. 3 is actually realized by installing a dedicated program in hardware such as a computer and its peripheral devices as shown in FIG. That is, the computer executes the contents of each means according to the dedicated program. Note that in this specification, a computer means a device having an arithmetic processing unit such as a CPU and a GPU and capable of data processing, and includes not only a general-purpose computer such as a personal computer but also a tablet or the like equipped with a GPU. It also includes mobile terminals and computers embedded in various devices.

<2.処理動作>
次に、図2、図3に示したボリュームレンダリング装置の処理動作について説明する。図4は、本実施形態に係るボリュームレンダリング装置の処理動作を示すフローチャートである。まず、断層画像読込手段10が、複数の断層画像を読み込む。複数の断層画像は、図1(a)に示したような態様のものである。本実施形態では、DICOM形式の断層画像群Do(x,y,z)(−32768≦Do(x,y,z)≦32767,0≦x≦Sx−1,0≦y≦Sy−1,0≦z≦Sz−1; 解像度:Rxy,Rz)を読み込むものとする。断層画像群Do(x,y,z)は1画素が16ビットで記録されるため、−32768〜32767の信号値Do(x,y,z)が記録されている。断層画像群Do(x,y,z)は、x座標のサイズ(画素数)がSx、y座標のサイズ(画素数)がSyの断層画像が、Sz枚積層されたものである。なお、以後の説明では、断層画像の枚数SzをMとも表現する。図1(b)における1枚の断層画像の左右方向がx軸、上下方向がy軸に対応し、図1(a)に示した複数の断層画像を重ねた場合の積層方向がz軸に対応する。
<2. Processing Operation>
Next, the processing operation of the volume rendering device shown in FIGS. 2 and 3 will be described. FIG. 4 is a flowchart illustrating the processing operation of the volume rendering device according to the present embodiment. First, the tomographic image reading means 10 reads a plurality of tomographic images. The plurality of tomographic images have an aspect as shown in FIG. In the present embodiment, the tomographic image group Do (x, y, z) in DICOM format (−32768 ≦ Do (x, y, z) ≦ 32767, 0 ≦ x ≦ Sx−1, 0 ≦ y ≦ Sy−1, 0 ≦ z ≦ Sz−1; resolution: Rxy, Rz). Since one pixel of the tomographic image group Do (x, y, z) is recorded with 16 bits, signal values Do (x, y, z) of -32768 to 32767 are recorded. The tomographic image group Do (x, y, z) is obtained by laminating Sz tomographic images having the x-coordinate size (number of pixels) of Sx and the y-coordinate size (number of pixels) of Sy. In the following description, the number Sz of tomographic images is also expressed as M. The horizontal direction of one tomographic image in FIG. 1B corresponds to the x-axis, the vertical direction corresponds to the y-axis, and the stacking direction when a plurality of tomographic images illustrated in FIG. Corresponding.

DICOM形式の複数の断層画像を読み込んだら、ROIクリッピング設定手段20が、ROIクリッピング設定を行う(ステップS10)。ROIとはRegion of Interestの略であり、本明細書では3次元空間における関心領域を意味する(学術的には、ROIは2次元領域を指し、3次元領域の場合、VOI(Volume of Interest)と称するが、医用画像業界では3次元領域でもROIが多用される)。ここでは、レンダリング画像およびボクセル画像の作成対象とする範囲を示す。ROIを設定することにより、3次元的に任意の位置で被写体を断裁したボリュームレンダリング像を生成することができ、体表や骨に隠れた臓器や臓器の内部を描出するのに用いられる。ステップS20以降の処理において、所定の範囲にボクセル画像作成対象が限定されるように、ステップS10においてROIを設定する。   After reading a plurality of tomographic images in the DICOM format, the ROI clipping setting means 20 sets ROI clipping (step S10). ROI is an abbreviation of Region of Interest, and in this specification, means a region of interest in a three-dimensional space. (Academically, ROI indicates a two-dimensional region, and in the case of a three-dimensional region, VOI (Volume of Interest). However, in the medical imaging industry, ROI is frequently used even in a three-dimensional area). Here, the range in which the rendering image and the voxel image are created is shown. By setting the ROI, it is possible to generate a volume rendering image in which a subject is cut three-dimensionally at an arbitrary position, and is used to depict an internal organ or an organ hidden in the body surface or bone. In the processing after step S20, the ROI is set in step S10 so that the voxel image creation target is limited to a predetermined range.

読み込んだ各断層画像のx軸方向の左端に対応する座標をXso、x軸方向の右端に対応する座標をXeo、y軸方向の上端に対応する座標をYso、y軸方向の下端に対応する座標をYeo、第1スライス(先頭:第1番目)の断層画像に対応する座標をZso、最終スライス(末尾:第M番目)の断層画像に対応する座標をZeoとすると、Xso≦Xs<Xe≦Xeo、Yso≦Ys<Ye≦Yeo、Zso≦Zs<Ze≦Zeoを満たす[Xs,Xe]、[Ys,Ye]、[Zs,Ze]の直方体で定義される範囲をROIと定義し処理対象として特定する。すなわち、レンダリング画像を生成する対象となるボクセル画像領域を指定する6つの座標Xs,Xe,Ys,Ye,Zs,Zeが定義される。ステップS10におけるROIクリッピング設定の結果、処理対象の画素数が(Xeo−Xso+1)×(Yeo−Yso+1)×(Zeo−Zso+1)画素から、(Xe−Xs+1)×(Ye−Ys+1)×(Ze−Zs+1)画素に削減されることになる。ROIクリッピング設定手段20によるステップS10のROIクリッピング設定を行うことにより、観察対象の臓器を露出させたボリュームレンダリング像が得られるという効果に加え、処理対象の画素が減って処理負荷を抑え応答性を向上させることができるという二重のメリットがあるため、設定される場合が多いが、必須の処理ではなく省略することも可能である。尚、ステップS10のROIクリッピング設定の段階では、ROIクリッピングを適用する範囲を定義するだけで、具体的なクリッピング処理は、ステップS20以降の各処理で実行される。各々の処理において、ボクセル画像のROI範囲に限定して演算が行われることにより処理負荷が軽減され、ステップS70のレンダリング処理でクリッピング(断裁)されたボリュームレンダリング像が生成される。   The coordinates corresponding to the left end in the x-axis direction of each read tomographic image correspond to Xso, the coordinates corresponding to the right end in the x-axis direction correspond to Xeo, the coordinates corresponding to the upper end in the y-axis direction correspond to Yso, and the lower end in the y-axis direction. If the coordinates are Yeo, the coordinates corresponding to the tomographic image of the first slice (head: first) are Zso, and the coordinates corresponding to the tomographic image of the last slice (end: Mth) are Zeo, Xso ≦ Xs <Xe A range defined by a rectangular parallelepiped of [Xs, Xe], [Ys, Ye], [Zs, Ze] that satisfies ≦ Xeo, Yso ≦ Ys <Ye ≦ Yeo, Zso ≦ Zs <Ze ≦ Zeo is defined and processed as ROI. Identify as target. That is, six coordinates Xs, Xe, Ys, Ye, Zs, and Ze that specify a voxel image area for which a rendering image is to be generated are defined. As a result of the ROI clipping setting in step S10, the number of pixels to be processed is changed from (Xeo-Xso + 1) × (Yeo-Yso + 1) × (Zeo-Zso + 1) pixels to (Xe-Xs + 1) × (Ye-Ys + 1) × (Ze− Zs + 1) pixels. By performing the ROI clipping setting in step S10 by the ROI clipping setting means 20, in addition to the effect that a volume rendering image exposing the organ to be observed is obtained, the number of pixels to be processed is reduced and the processing load is suppressed to reduce the responsiveness. There is a double advantage that it can be improved, so it is often set, but it is not essential processing and can be omitted. In the stage of setting the ROI clipping in step S10, a specific clipping process is executed in each process after step S20 only by defining a range to which the ROI clipping is applied. In each of the processes, the processing load is reduced by performing the calculation limited to the ROI range of the voxel image, and a clipped (cut) volume rendering image is generated in the rendering process in step S70.

ROIクリッピング設定手段20により、ROIクリッピング設定が行われたら、次に、マスク設定手段25が、マスク設定を行う(ステップS15)。マスク設定とは、断層画像の各画素を表示させるか否かの設定である。マスク設定の手法は、特に限定されないが、本実施形態では、ステップS10において読み込んだ断層画像群をMPR画像(アキシャル・コロナル・サジタルの3画面)として画面表示するとともに、本明細書に記載の方法または公知の手法により作成されるボリュームレンダリング像を表示させ、これら2次元投影された複数の画像の中から最も指示がしやすい画像を選択し、選択した画像の2次元領域を指示しながら、マスクして表示させない範囲とマスクせずに表示させる領域を特定する。このマスク設定により、断層画像群に対応した3次元空間におけるマスクデータが得られる。マスクデータMask(x,y,z)は、断層画像群Do(x,y,z)の各画素に対応して“0”か“1”かのいずれかの値が設定されたものである。このような3次元マスクを作成する処理は必須の処理に近いが、省略することも可能である。観察対象の臓器を描出する方法として、上述のROIクリッピングもあるが、3次元マスクに比べ操作が簡便であり、処理負荷も減少するため、ROIクリッピング処理も併用される頻度が多い。ROIクリッピング設定手段20、マスク設定手段25により表示させるべき特定の領域が設定されることになるが、両手段で設定されている場合は、いずれも表示すべき領域として設定された領域が有効領域となり、いずれか一方が設定されている場合は、その結果、表示すべき領域として設定された領域が有効領域となる。ROIクリッピング設定手段20、マスク設定手段25のどちらにも設定されない場合は、読み込まれた断層画像群の全領域が有効領域となる。   After the ROI clipping setting is performed by the ROI clipping setting means 20, the mask setting means 25 performs mask setting (step S15). The mask setting is a setting as to whether or not to display each pixel of the tomographic image. The method of setting the mask is not particularly limited. In the present embodiment, the group of tomographic images read in step S10 is displayed on the screen as an MPR image (three axial coronal sagittal screens), and the method described in this specification is used. Alternatively, a volume rendering image created by a known method is displayed, an image that is most easily indicated is selected from the two-dimensionally projected images, and a mask is displayed while indicating a two-dimensional area of the selected image. Then, an area not to be displayed and an area to be displayed without masking are specified. With this mask setting, mask data in a three-dimensional space corresponding to the tomographic image group is obtained. The mask data Mask (x, y, z) is one in which a value of “0” or “1” is set corresponding to each pixel of the tomographic image group Do (x, y, z). . The process of creating such a three-dimensional mask is close to an essential process, but can be omitted. As a method of delineating the organ to be observed, there is the ROI clipping described above. However, since the operation is simpler and the processing load is reduced as compared with the three-dimensional mask, the ROI clipping is frequently used together. A specific area to be displayed is set by the ROI clipping setting means 20 and the mask setting means 25. If both areas are set, the area set as the area to be displayed is the effective area. When either one is set, as a result, the area set as the area to be displayed becomes the effective area. If neither the ROI clipping setting means 20 nor the mask setting means 25 is set, the entire area of the read tomographic image group is the effective area.

次に、ボクセル画像作成手段30が、ボクセル画像作成処理を行う(ステップS20)。ボクセル画像とは、断層画像の各画素が3次元空間にボクセルとして配置されたボクセル構造体である。ステップS20における具体的な処理としては、カラーマップ読込手段15から読み込んだカラーマップを用いて、クリッピング設定後の断層画像のROI範囲に含まれる各画素の信号値に対して対応する値を付与し、ボクセル画像を作成する。   Next, the voxel image creating means 30 performs a voxel image creating process (step S20). The voxel image is a voxel structure in which each pixel of the tomographic image is arranged as a voxel in a three-dimensional space. As a specific process in step S20, a value corresponding to the signal value of each pixel included in the ROI range of the tomographic image after clipping is set using the color map read from the color map reading unit 15. , Create a voxel image.

図5は、本実施形態で用いるカラーマップを示す図である。図5において、信号値は、断層画像の各画素に記録された信号値であり、R、G、Bは、それぞれ赤、緑、青の色成分であり、αはそのボクセルの表示の程度を規定する不透明度である。図5は、断層画像の信号値が16ビットで記録され、−32768〜32767の値をとる場合のカラーマップである。なお、CT画像の場合は、水(water)成分を0として−2048から2048の範囲に正規化される場合が多い。図5に示すように、カラーマップには、断層画像の各画素の信号値に対して、R、G、Bの各色成分と不透明度αが対応付けられている。このようなカラーマップを用いることにより、断層画像の各画素に対応するボクセル画像の各ボクセルに対して、その画素の信号値に対応するR、G、Bの各色成分と不透明度αをボクセル値として与えることにより、フルカラーのボリュームレンダリング像を生成するためのボクセル画像を作成することができる。   FIG. 5 is a diagram showing a color map used in the present embodiment. In FIG. 5, the signal value is a signal value recorded in each pixel of the tomographic image, R, G, and B are red, green, and blue color components, respectively, and α is the degree of display of the voxel. Opacity to be specified. FIG. 5 is a color map in a case where the signal value of the tomographic image is recorded in 16 bits and takes a value of -32768 to 32767. In the case of a CT image, the water component is often normalized to a range from -2048 to 2048, with the water component as 0. As shown in FIG. 5, in the color map, the R, G, and B color components and the opacity α are associated with the signal values of each pixel of the tomographic image. By using such a color map, for each voxel of the voxel image corresponding to each pixel of the tomographic image, the R, G, and B color components and the opacity α corresponding to the signal value of the pixel are represented by the voxel value. Thus, a voxel image for generating a full-color volume rendering image can be created.

図5に示したようなカラーマップを用いることにより、断層画像において所定の信号値を有する箇所を、任意の色成分、任意の不透明度で表現することができる。断層画像においては、臓器、器官等の部位に応じて信号値が異なるため、ボリュームレンダリング像において、カラーマップを定義することにより、信号値の相違に基づいて、人為的に、特定の臓器を色分けしたり、特定の器官を透明にして背後に隠れた臓器を露出させたりすることができる。特定の部位の不透明度αを最大値(α=255)に設定すれば、その部位だけが明瞭に表示され、その部位の奥に位置する部位は描出されない。逆に特定の部位の不透明度αを最小値(α=0)に設定すれば、その部位は不可視(透明)になり、その部位の奥に位置する部位が露出される。特定の部位の不透明度αを中間調(0<α<255)に設定すれば、その部位が半透明で表示され、その奥に位置する部位が透かし合成されて表示される。また、色成分R、G、Bとしては、目的とする部位を視認し易くするための任意の値を設定することができる。したがって、カラーマップは、観察対象の部位ごとに設定しておくことができ、同じ断層画像群に対しても、異なるカラーマップを使用することにより、異なるボリュームレンダリング像が得られることになる。すなわち、肺用のカラーマップを用いれば、肺の部分が目立ったボリュームレンダリング像が得られ、心臓用のカラーマップを用いれば、心臓の部分が目立ったボリュームレンダリング像が得られる。ただし、各臓器の信号値分布は互いにオーバーラップしていることもあるため、特定の臓器のみを描出するカラーマップを作成することはできないことが多い。例えば、心臓用のカラーマップでは肋骨・胸骨も同時に描出され、心臓はこれらの骨に隠れてしまうため、ROIクリッピングを設定して肋骨を仮想的に断裁するなどの工夫が必要になる。   By using a color map as shown in FIG. 5, a portion having a predetermined signal value in a tomographic image can be represented by an arbitrary color component and an arbitrary opacity. In tomographic images, signal values differ depending on the organs, organs, and other parts. Therefore, by defining a color map in a volume rendering image, a specific organ is artificially color-coded based on the difference in signal values. Or make certain organs transparent, exposing the organs hidden behind them. If the opacity α of a specific part is set to the maximum value (α = 255), only that part is clearly displayed, and a part located behind the part is not drawn. Conversely, if the opacity α of a specific part is set to the minimum value (α = 0), the part becomes invisible (transparent), and the part located behind the part is exposed. If the opacity α of a specific part is set to a half tone (0 <α <255), the part is displayed translucent, and the part located in the back is displayed by watermark synthesis. Further, as the color components R, G, and B, arbitrary values can be set to make the target portion easily visible. Therefore, a color map can be set for each region to be observed, and different volume rendering images can be obtained for the same tomographic image group by using different color maps. That is, if a color map for the lung is used, a volume rendering image in which the lung portion is conspicuous is obtained, and if a color map for the heart is used, a volume rendering image in which the heart portion is conspicuous is obtained. However, since the signal value distribution of each organ may overlap each other, it is often not possible to create a color map depicting only a specific organ. For example, in the color map for the heart, the ribs and the sternum are simultaneously drawn, and the heart is hidden by these bones. Therefore, it is necessary to set ROI clipping and virtually cut the ribs.

本実施形態では、指示入力I/F4を介した操作により、使用中のカラーマップに変更を加えたり、異なるカラーマップを読み込んだりすることが可能となっている。そして、ボリュームレンダリング装置は、変更されたカラーマップまたは新たに読み込まれたカラーマップを参照して、ボリュームレンダリング像として提示するためのレンダリング画像を生成する。本実施形態のボリュームレンダリング装置は、レンダリング画像を高速で生成することが可能であるため、カラーマップの変更に対してリアルタイムにボリュームレンダリング像を更新できる。   In the present embodiment, it is possible to change the color map in use or read a different color map by operating via the instruction input I / F 4. Then, the volume rendering device refers to the changed color map or the newly read color map, and generates a rendering image to be presented as a volume rendering image. Since the volume rendering device of the present embodiment can generate a rendering image at high speed, the volume rendering image can be updated in real time in response to a color map change.

ステップS20においては、ボクセル画像作成手段30が、複数の断層画像のXs<x<XeかつYs<y<YeかつZs<z<Zeの範囲に対応する各画素(x,y,z)における信号値を用いてカラーマップを参照し、信号値に対応する色成分であるR、G、Bと、不透明度αの値を取得し、その値を対応するボクセルの値とする。x≦XsまたはXe≦xまたはy≦YsまたはYe≦yまたはz≦ZsまたはZe≦zの範囲のボクセル(x,y,z)の値に対しては、一律にR=G=B=α=0を設定する。複数枚の断層画像における全ての画素に対して、この処理を行うことにより、複数枚の断層画像に対応した3次元のボクセル画像が得られる。これにより、ボクセル画像の各ボクセルの値は、R、G、B、αの4つとなる。各色成分R、G、B、αはそれぞれ1画素につき8ビットで記録されるため、ボクセル画像においては、1画素32ビットで記録されることになる。   In step S20, the voxel image creating unit 30 outputs the signal at each pixel (x, y, z) corresponding to the range of Xs <x <Xe, Ys <y <Ye, and Zs <z <Ze of the plurality of tomographic images. The values of the color components R, G, and B corresponding to the signal values and the value of the opacity α are obtained by referring to the color map using the values, and the values are set as the values of the corresponding voxels. For values of voxels (x, y, z) in the range of x ≦ Xs or Xe ≦ x or y ≦ Ys or Ye ≦ y or z ≦ Zs or Ze ≦ z, R = G = B = α = 0 is set. By performing this processing for all the pixels in a plurality of tomographic images, a three-dimensional voxel image corresponding to the plurality of tomographic images can be obtained. As a result, the value of each voxel of the voxel image becomes R, G, B, and α. Each of the color components R, G, B, and α is recorded with 8 bits per pixel, so that in a voxel image, it is recorded with 32 bits per pixel.

本実施形態では、ステップS20におけるボクセル画像作成処理は、複数のCPUコアにより並行して行われる。図6は、ステップS20におけるボクセル画像作成処理等を並行して行う場合を示すフローチャートである。ボクセル画像作成手段30は、ステップS10で読み込んだ断層画像群をN個(N≧2の整数)に分割し、各CPUコアで並列処理を行う。(x,y)座標を備えた各断層画像が積層された方向がz軸方向となるため、z座標の値に応じてN個に分割する。具体的には、各断層画像群の先頭の断層画像の座標をZ1、末尾の断層画像の座標をZ2とし、先頭座標Z1、末尾座標Z2に、読み込んだ断層画像を割り当てていく。例えば、1番目のCPUコアには、Z1=Zs、Z2=Zs+(Ze−Zs+1)/N−1が設定される。各断層画像群には、断層画像が順に配置されているが、一端を先頭、他端を末尾としている。   In the present embodiment, the voxel image creation processing in step S20 is performed by a plurality of CPU cores in parallel. FIG. 6 is a flowchart illustrating a case where the voxel image creation processing and the like in step S20 are performed in parallel. The voxel image creation unit 30 divides the tomographic image group read in step S10 into N (N ≧ 2 integers), and performs parallel processing in each CPU core. Since the direction in which the tomographic images having the (x, y) coordinates are stacked is the z-axis direction, the tomographic images are divided into N according to the value of the z coordinate. Specifically, the coordinates of the leading tomographic image of each tomographic image group are Z1, the coordinates of the trailing tomographic image are Z2, and the read tomographic images are assigned to the leading coordinate Z1 and the trailing coordinate Z2. For example, Z1 = Zs and Z2 = Zs + (Ze−Zs + 1) / N−1 are set for the first CPU core. In each of the tomographic image groups, the tomographic images are arranged in order, and one end is set at the top and the other end is set at the end.

断層画像群がN個に分割され、それぞれが各CPUコアに割り当てられたら、各CPUコアは、図6に示したフローチャートに従った処理を実行する。はじめに、図6のステップS520からS550までのコア部分の処理について概要構成を説明する。この処理は、分割された断層画像群の各断層画像に対して、基本的には先頭Z1から末尾Z2の順に要素画像を作成し(ステップS530)、作成された要素画像に対して陰影付加処理(ステップS540)を行い、要素画像を更新するものである。要素画像は、断層画像の各画素値(信号値)を色値(R,G,B)と不透明度(α)に変換した画像で、3次元のボクセル画像において、z座標を特定したものであり、3次元画像の一部である。すなわち、2次元の要素画像が重ねて配置されることによりボクセル画像が得られる。そのため、要素画像の各ボクセルの値は、上述のように、R、G、B、αの4つとなる。座標zの要素画像は、座標zの断層画像の各画素と1対1に対応して作成されるが、座標zの要素画像に対して陰影付加処理(ステップS540)を実行するためには、座標z−1の要素画像と座標z+1の要素画像を参照する必要があるため、そのまま続けて実行することはできないという第1の問題が生じる。陰影付加処理(ステップS540)を実行する段階では、座標z+1の要素画像は存在しないため、1つ前に作成された座標z−1の要素画像に対して、その前に作成された座標z−2の要素画像と今回作成された座標zの要素画像を参照しながら陰影付加処理を行い、1つ前に作成された座標z−1の要素画像を更新するようにしている。即ち、陰影付加処理(ステップS540)は常にz座標が1つ遅れで実行されることになる。   When the tomographic image group is divided into N and each is assigned to each CPU core, each CPU core executes a process according to the flowchart shown in FIG. First, the outline configuration of the processing of the core part from step S520 to S550 in FIG. 6 will be described. In this process, for each tomographic image of the divided tomographic image group, an element image is basically created in the order from the top Z1 to the end Z2 (step S530), and the created element image is shaded. (Step S540) is performed to update the element image. The element image is an image obtained by converting each pixel value (signal value) of the tomographic image into a color value (R, G, B) and an opacity (α). The z-coordinate is specified in a three-dimensional voxel image. And is part of a three-dimensional image. That is, a voxel image is obtained by arranging the two-dimensional element images in an overlapping manner. Therefore, the value of each voxel of the element image is R, G, B, and α as described above. The element image at the coordinate z is created in one-to-one correspondence with each pixel of the tomographic image at the coordinate z. To execute the shading adding process (step S540) on the element image at the coordinate z, Since it is necessary to refer to the element image at the coordinate z-1 and the element image at the coordinate z + 1, there is a first problem that the processing cannot be executed as it is. At the stage of executing the shading adding process (step S540), since there is no element image of the coordinate z + 1, the element image of the coordinate z-1 created immediately before is compared with the coordinate z− created before the element image. The shadow adding process is performed with reference to the element image of the coordinate No. 2 and the element image of the coordinate z created this time, and the element image of the coordinate z-1 created immediately before is updated. That is, the shadow addition processing (step S540) is always executed with the z coordinate being delayed by one.

このようにして、先頭Z1から末尾Z2の順にステップS520からS550までの処理を繰り返すと、先頭Z1から末尾Z2までの要素画像は全て作成されるが(図6の構成では末尾Z2の1つ前のZ2−1で止めているため、この処理では末尾Z2の要素画像は作成されない)、先頭Z1および末尾Z2の要素画像に対して陰影付加処理が実行されていない。先頭Z1および末尾Z2の要素画像に対して陰影付加処理を実行させるためには、座標Z1−1の要素画像および座標Z2+1の要素画像を参照する必要があるが、これらの要素画像は、並列実行されている他のCPUコアで作成される。そこで、ステップS520からS550までの一連の処理を終了した後、共有メモリに配置されている他のCPUコアで作成された要素画像を参照しながら、先頭Z1および末尾Z2の要素画像に対して陰影付加処理を実行する。この追加処理が図6のステップS560に対応する。   By repeating the processing from step S520 to step S550 in this order from the top Z1 to the end Z2, all the element images from the top Z1 to the end Z2 are created (in the configuration of FIG. 6, one before the end Z2). Therefore, in this processing, the element image of the end Z2 is not created), and the shading addition processing is not performed on the element images of the head Z1 and the end Z2. In order to execute the shading adding process on the element images at the head Z1 and the end Z2, it is necessary to refer to the element image at the coordinate Z1-1 and the element image at the coordinate Z2 + 1. Other CPU cores. Therefore, after a series of processes from step S520 to S550 is completed, the element images at the head Z1 and the end Z2 are shaded with reference to the element images created by other CPU cores arranged in the shared memory. Execute additional processing. This additional processing corresponds to step S560 in FIG.

ここで、もう1つ問題が生じる。末尾Z2の要素画像に対して陰影付加処理を実行する際、共有メモリに配置されている他のCPUコアで作成された座標Z2+1の要素画像を参照するが、当該要素画像は他のCPUコアでは先頭Z1の要素画像に対応し、順番的に最初に作成される要素画像になるため、当該CPUコアが末尾Z2の要素画像に対して陰影付加処理を実行する段階で、座標Z2+1の要素画像は既に作成されている可能性が高いため問題はない。しかし、先頭Z1の要素画像に対して陰影付加処理を実行する際、他のCPUコアで作成された座標Z1−1の要素画像を参照するが、当該要素画像は他のCPUコアでは末尾Z2の要素画像に対応し、順番的に最後に作成される要素画像になるため、当該CPUコアが先頭Z1の要素画像に対して陰影付加処理を実行する段階で、座標Z1−1の要素画像の作成が間に合わない可能性がある(実験では間に合わない場合が過半数以上あった)。そこで、各CPUコアは末尾Z2の要素画像の作成を最優先で行うようにする(ステップS510)。その後、ステップS520からS550までの処理を実行するが、末尾Z2の要素画像の作成は既に終了しているため、繰り返し範囲をステップS550に示されるように、先頭Z1から末尾Z2−1までに短縮する。そうすると、先頭Z1、末尾Z2の要素画像に加え、座標Z2−1の要素画像に対しても陰影付加処理が未実行となる。そこで、ステップ560に示されるように、先頭Z1、末尾Z2および座標Z2−1の3点の要素画像に対して陰影付加処理のみを追加で行う。   Here, another problem arises. When performing the shading adding process on the element image at the end Z2, the element image at the coordinate Z2 + 1 created by another CPU core arranged in the shared memory is referred to. Since the element image corresponding to the element image at the head Z1 is created first in order, the element image at the coordinates Z2 + 1 is obtained when the CPU core executes the shading adding process on the element image at the end Z2. There is no problem because there is a high possibility that it has already been created. However, when the shading processing is performed on the element image at the head Z1, the element image at the coordinates Z1-1 created by another CPU core is referred to. Since the element image corresponds to the element image and becomes the last element image in order, the CPU core executes the shading adding process on the element image at the head Z1 and creates the element image at coordinates Z1-1. May not be in time (more than half of the experiments were not in time). Therefore, each CPU core gives the highest priority to the creation of the last Z2 element image (step S510). Thereafter, the processes from steps S520 to S550 are executed. However, since the creation of the element image at the end Z2 has already been completed, the repetition range is shortened from the beginning Z1 to the end Z2-1 as shown in step S550. I do. Then, in addition to the element images at the head Z1 and the end Z2, the shading addition processing is not executed for the element image at the coordinate Z2-1. Therefore, as shown in step 560, only the shadow addition processing is additionally performed on the three element images of the head Z1, the end Z2, and the coordinate Z2-1.

以上を踏まえ、図6に示したフローチャートに従って、処理内容を詳細に説明する。まず、末尾のz座標となる断層画像に対応する要素画像を作成する(ステップS510)。なお、ステップS510においては、必須でない処理として、作成された要素画像の不透明度を補正する処理も行われる。ステップS510における処理の詳細については後述する。ステップS510において、末尾の断層画像に対応する要素画像のボクセル値の特定および不透明度の補正を終えたら、次に、先頭のz座標となる断層画像に処理対象を移行する(ステップS520)。具体的には、先頭のz=Z1に処理対象を移行する。Z1は、Zs≦Z1<Z2≦Zeを満たす整数である。   Based on the above, the processing content will be described in detail according to the flowchart shown in FIG. First, an element image corresponding to the tomographic image serving as the end z coordinate is created (step S510). In step S510, a process of correcting the opacity of the created element image is also performed as a non-essential process. Details of the processing in step S510 will be described later. After the specification of the voxel value of the element image corresponding to the last tomographic image and the correction of the opacity are completed in step S510, the processing target is shifted to the tomographic image having the leading z coordinate (step S520). Specifically, the processing target is shifted to the first z = Z1. Z1 is an integer satisfying Zs ≦ Z1 <Z2 ≦ Ze.

次に、処理対象とするz座標の断層画像に対応する要素画像を作成する(ステップS530)。ステップS530においても、必須でない処理として、作成された要素画像の不透明度を補正する処理が行われる。ステップS530における具体的な処理は、処理対象の要素画像が異なる以外は、ステップS510と全く同じである。したがって、ステップS530における処理の詳細についても後述する。   Next, an element image corresponding to the tomographic image of the z coordinate to be processed is created (step S530). Also in step S530, a process of correcting the opacity of the created element image is performed as a non-essential process. The specific processing in step S530 is exactly the same as step S510 except that the element image to be processed is different. Therefore, the details of the process in step S530 will be described later.

ステップS530における要素画像の作成後、zと(Z1+2)を比較し、z≧(Z1+2)である場合は、陰影付加処理を行う(ステップS540)。したがって、z<(Z1+2)である場合は、ステップS540における陰影付加処理は行わない。すなわち、先頭の要素画像(z=Z1)については、陰影付加処理を行わない(先頭から2番目の要素画像(z=Z1+1)については、z=Z1+2の段階で陰影付加処理が行われる)。ステップS540における陰影付加処理は、1断層前の要素画像に対して行われる。ステップS540における処理の詳細についても後述する。   After the element image is created in step S530, z is compared with (Z1 + 2), and if z ≧ (Z1 + 2), shading addition processing is performed (step S540). Therefore, if z <(Z1 + 2), the shading addition process in step S540 is not performed. That is, the shading process is not performed on the first element image (z = Z1) (the shading process is performed on the second element image from the top (z = Z1 + 1) at the stage of z = Z1 + 2). The shading addition process in step S540 is performed on the element image one slice before. Details of the processing in step S540 will be described later.

ステップS540における陰影付加処理を終えたら、zをインクリメント(z←z+1)する。そして、z<Z2である場合は、ステップS530に戻って、ステップS550までの処理を繰り返して行う。一方、z≧Z2である場合は、先頭(z=Z1)の要素画像、末尾(z=Z2)の要素画像、末尾の1つ前(z=Z2−1)の要素画像に対して、陰影付加処理を行う(ステップS560)。ステップS560における具体的な処理は、処理対象の要素画像が異なる以外は、ステップS540と全く同じである。したがって、ステップS560における処理の詳細についても後述する。   After the shading addition processing in step S540 is completed, z is incremented (z ← z + 1). If z <Z2, the process returns to step S530, and the processing up to step S550 is repeated. On the other hand, if z ≧ Z2, a shadow is applied to the element image at the beginning (z = Z1), the element image at the end (z = Z2), and the element image immediately before (z = Z2-1) at the end. An additional process is performed (step S560). The specific processing in step S560 is exactly the same as step S540 except that the processing target element image is different. Therefore, the details of the process in step S560 will also be described later.

結局、図6のフローチャートに示した処理では、最初に、末尾(z=Z2)の要素画像の作成を行い(ステップS510)、次に、先頭(z=Z1)の要素画像から順番に、末尾の1つ前(z=Z2−1)までの要素画像の作成と陰影付加処理を繰り返し行う(ステップS530〜S550)。ただし、先頭の要素画像と末尾の2枚の要素画像については、陰影付加処理を行わない。そして、最後に、陰影付加処理が行われなかった3枚の要素画像に対して陰影付加処理を行う(ステップS560)。すなわち、ステップS510〜ステップS550において、断層画像群の先頭の断層画像から末尾の断層画像までの全ての断層画像について要素画像が作成された後、ステップS560において、陰影付加手段50が、先頭の断層画像に対応する要素画像と末尾の2枚の断層画像に対応する要素画像の画素の色成分の値を補正して、陰影付加を行っている。より詳細には、ステップS510〜ステップS550において、ボクセル画像作成手段30が、断層画像群の末尾の断層画像について、要素画像を作成した後、断層画像群の先頭の断層画像から末尾の1つ前の断層画像までの各断層画像に対して要素画像を作成し、ステップS560において、陰影付加手段50が、先頭の断層画像に対応する要素画像、末尾の1つ前の断層画像に対応する要素画像および末尾の断層画像に対応する要素画像に対して色成分の値を補正して、陰影付加を行っている。   After all, in the processing shown in the flowchart of FIG. 6, first, the last (z = Z2) element image is created (step S510), and then the last (z = Z1) element image is sequentially processed. The generation of the element image up to one before (z = Z2-1) and the shading adding process are repeatedly performed (steps S530 to S550). However, shading addition processing is not performed on the first element image and the last two element images. Then, finally, the shadow addition processing is performed on the three element images for which the shadow addition processing has not been performed (step S560). That is, in steps S510 to S550, element images are created for all tomographic images from the first tomographic image to the last tomographic image in the tomographic image group. Shading is added by correcting the color component values of the pixels of the element image corresponding to the image and the element image corresponding to the last two tomographic images. More specifically, in step S510 to step S550, the voxel image creation unit 30 creates an element image for the tomographic image at the end of the tomographic image group, and then immediately before the end of the tomographic image at the beginning of the tomographic image group. An element image is created for each tomographic image up to the tomographic image of step S560. In step S560, the shading adding unit 50 sets the element image corresponding to the leading tomographic image and the element image corresponding to the last tomographic image immediately before the end. In addition, the value of the color component is corrected for the element image corresponding to the last tomographic image, and shading is added.

本実施形態では、複数に分割した断層画像群を複数のCPUコアで並行に処理して、最後に統合し、ボクセル画像を作成する。また、ある要素画像に対する陰影付加処理は、隣接する要素画像を用いて行う必要がある。そのため、先頭の要素画像の陰影付加処理は、他の分割断層画像群の末尾の要素画像が必要となり、末尾の要素画像の陰影付加処理は、他の分割断層画像群の先頭の要素画像が必要となる。ただし、z=Zsに対応する先頭の要素画像およびz=Zeに対応する末尾の要素画像に対しては陰影付加処理における輝度値の計算を行わず、輝度値として0を与え、当該要素画像の色成分の値を全て0に補正する。なお、本実施形態では、z=Z1を先頭、z=Z2を末尾として説明したが、z=Z1を末尾、z=Z2を先頭としてもよい。結局は、読み込んだ全ての断層画像の積層構成を変更せず、一方から他方に向かって処理することができるように、先頭と末尾を設定すればよい。   In the present embodiment, a plurality of divided tomographic image groups are processed in parallel by a plurality of CPU cores, and finally integrated to create a voxel image. Further, it is necessary to perform the shading adding process on a certain element image by using an adjacent element image. Therefore, the shading process for the first element image requires the last element image of another group of tomographic images, and the shading process for the last element image requires the first element image of the other group of tomographic images. Becomes However, for the first element image corresponding to z = Zs and the last element image corresponding to z = Ze, the luminance value is not calculated in the shading adding process, and 0 is given as the luminance value, and Correct all the color component values to zero. In the present embodiment, z = Z1 is described as the head and z = Z2 is described as the tail. However, z = Z1 may be the tail and z = Z2 may be the head. Eventually, the head and tail may be set so that processing can be performed from one to the other without changing the stack configuration of all the read tomographic images.

上述のステップS510、S530の処理の詳細について説明する。図7は、ステップS510、S530における要素画像の作成処理を示すフローチャートである。まず、対象とするz座標の断層画像に対応する要素画像を作成する(ステップS511)。具体的には、図5に示したようなカラーマップを用いて、断層画像の各画素に対応するボクセル画像の各ボクセルに対して、その画素の信号値に対応するR、G、Bの各色成分と不透明度αをボクセル値として与えることにより要素画像を作成する。例えば、z=zuの場合、ボクセル値V(x,y,zu,c)(c=0(R)、1、(G)、2(B)、3(α))をもつ要素画像が作成される。   The details of the processing in steps S510 and S530 will be described. FIG. 7 is a flowchart showing the element image creation processing in steps S510 and S530. First, an element image corresponding to the tomographic image of the target z coordinate is created (step S511). Specifically, using the color map as shown in FIG. 5, for each voxel of the voxel image corresponding to each pixel of the tomographic image, each color of R, G, B corresponding to the signal value of that pixel An element image is created by giving the components and the opacity α as voxel values. For example, when z = zu, an element image having voxel values V (x, y, zu, c) (c = 0 (R), 1, (G), 2 (B), 3 (α)) is created. Is done.

次に、不透明度であるα値の補正を行う(ステップS512)。具体的には、ボクセル画像の3次元座標値により定まる不透明度補正テーブルSα(x,y,z)(0≦Sα(x,y,z)≦1;0≦x≦Sx−1,0≦y≦Sy−1,0≦z≦Sz−1)を用いて、以下の〔数式1〕に従った処理を実行することにより、不透明度αを補正する。不透明度補正テーブルSα(x,y,z)は、あらかじめ(x、y、z)の3次元空間に不透明度に対する補正倍率が定義された多次元伝達関数である。同関数は、内臓が存在する中心部の領域の補正倍率を最大に設定し、周辺に向けて補正倍率を所定の関数で減衰させ、骨領域より外側(体表面:脂肪・筋肉・皮膚層、体外:寝台、ヘッドレスト・固定治具)において補正倍率が0になるように定義される。これを用いて、〔数式1〕に従った処理を実行すると、骨領域より外側が透明になり、内臓領域のみが露出したボリュームレンダリング像を得ることができる。   Next, the opacity α value is corrected (step S512). Specifically, an opacity correction table Sα (x, y, z) (0 ≦ Sα (x, y, z) ≦ 1; 0 ≦ x ≦ Sx−1, 0 ≦) determined by the three-dimensional coordinate values of the voxel image By using y ≦ Sy−1, 0 ≦ z ≦ Sz−1), the opacity α is corrected by executing processing according to the following [Equation 1]. The opacity correction table Sα (x, y, z) is a multidimensional transfer function in which a correction magnification for opacity is defined in advance in a (x, y, z) three-dimensional space. This function sets the correction magnification in the central region where the internal organs are present to the maximum, attenuates the correction magnification toward the periphery by a predetermined function, and outside the bone region (body surface: fat, muscle, skin layer, (Outside the body: bed, headrest / fixing jig) is defined so that the correction magnification becomes zero. When the processing according to [Equation 1] is executed using this, a volume rendering image in which the outside of the bone region is transparent and only the internal organ region is exposed can be obtained.

〔数式1〕
V´(x,y,zu,3)=V(x,y,zu,3)・Sα(x,y,zu)
[Formula 1]
V ′ (x, y, zu, 3) = V (x, y, zu, 3) · Sα (x, y, zu)

〔数式1〕において、V(x,y,zu,3)は、c=3の場合であるので、補正前の不透明度αを示している。V´(x,y,zu,3)は、不透明度補正テーブルSα(x,y,zu)による補正後の不透明度αを示している。   In [Equation 1], V (x, y, zu, 3) indicates the opacity α before correction because c = 3. V ′ (x, y, zu, 3) indicates the opacity α after correction by the opacity correction table Sα (x, y, zu).

本実施形態で作成されるボクセルデータは、複数の2次元の断層画像の各画素に対応し、あらかじめ定義されたカラ−マップを参照して定められた各ボクセルで構成されるボクセル構造体である。このボクセルデータは、断層画像の総数をM、所定の分割数をN(M、Nは共に整数であり、N>1かつN<Mを満たす。)として、M個の断層画像に対応して作成されたM個の要素画像が、N個の要素画像群に分割されており、N個の要素画像群は、N個の要素画像群を統合したボクセル画像を作成するボクセル画像作成手段により並行して処理されて作成される。   The voxel data created in the present embodiment is a voxel structure corresponding to each pixel of a plurality of two-dimensional tomographic images and composed of voxels defined with reference to a predefined color map. . This voxel data corresponds to M tomographic images, where M is the total number of tomographic images and N is a predetermined number of divisions (M and N are both integers and satisfy N> 1 and N <M). The created M element images are divided into N element image groups, and the N element image groups are parallelized by a voxel image creating unit that creates a voxel image integrating the N element image groups. Created by processing.

上述のステップS540の陰影付加処理の詳細について説明する。ステップS540においては、陰影付加手段50が、陰影付加処理を行う。これは、所定の照明環境に対応した陰影をボクセル画像に付加する処理であり、具体的にはXs≦x≦XeかつYs≦y≦YeかつZs≦z≦Zeの範囲のボクセルの不透明度αを参照しながら、Xs<x<XeかつYs<y<YeかつZs<z<Zeの範囲のボクセルの色成分を更新する処理である。このために、ある平行光源と環境光成分を設定し、付加すべき陰影の計算を行う。具体的には、まず、平行光源の向きを示す単位ベクトルとして光源ベクトル(Lx,Ly,Lz)と、環境光成分Abを設定する。光源ベクトル(Lx,Ly,Lz)、環境光成分Abの数値は、表現したい像の状況に応じて適宜設定することができるが、例えば、(Lx,Ly,Lz)=(0.57735,0.57735,0.57735)、Ab=0.2と設定する。Lx,Ly,Lzは絶対値が1未満の実数値(負値を含む),Abは0以上1以下の実数値である。そして、ボクセル画像のボクセル(x,y,zu−1)におけるにおける勾配ベクトル(Gx,Gy,Gz)を以下の〔数式2〕に従った処理を実行することにより算出する。   The details of the shading adding process in step S540 will be described. In step S540, the shadow adding means 50 performs a shadow adding process. This is a process of adding a shadow corresponding to a predetermined lighting environment to a voxel image. Specifically, the opacity α of a voxel in the range of Xs ≦ x ≦ Xe, Ys ≦ y ≦ Ye, and Zs ≦ z ≦ Ze , The color components of voxels in the range of Xs <x <Xe, Ys <y <Ye, and Zs <z <Ze are updated. For this purpose, a certain parallel light source and an ambient light component are set, and a shadow to be added is calculated. Specifically, first, a light source vector (Lx, Ly, Lz) is set as a unit vector indicating the direction of the parallel light source, and an ambient light component Ab is set. The numerical values of the light source vector (Lx, Ly, Lz) and the ambient light component Ab can be appropriately set according to the situation of the image to be expressed. For example, (Lx, Ly, Lz) = (0.577735, 0) .57735, 0.57775), and Ab = 0.2. Lx, Ly, and Lz are real values (including negative values) whose absolute values are less than 1, and Ab is a real value that is 0 or more and 1 or less. Then, the gradient vector (Gx, Gy, Gz) in the voxel (x, y, zu-1) of the voxel image is calculated by executing a process according to the following [Equation 2].

〔数式2〕
Gx=(V(x+1,y,zu−1,3)−V(x−1,y,zu−1,3))・(Rxy/Rz)
Gy=(V(x,y+1,zu−1,3)−V(x,y−1,zu−1,3))・(Rxy/Rz)
Gz=(V(x,y,zu,3)−Vα(x,y,zu−2,3))
G=(Gx2+Gy2+Gz21/2
[Equation 2]
Gx = (V (x + 1, y, zu-1,3) -V (x-1, y, zu-1,3)). (Rxy / Rz)
Gy = (V (x, y + 1, zu-1,3) -V (x, y-1, zu-1,3)). (Rxy / Rz)
Gz = (V (x, y, zu, 3) -Vα (x, y, zu-2,3))
G = (Gx 2 + Gy 2 + Gz 2 ) 1/2

〔数式2〕において、V(x,y,zu−1,3)はボクセル画像のボクセル(x,y,zu−1)における不透明度αで、Rxyは断層画像の解像度(画素間隔の逆数でmmあたりの画素数で、x軸方向とy軸方向は同一)、Rzは断層画像のスライス解像度(断層画像のスライス間隔の逆数で、mmあたりの断層画像のスライス数)、Gは勾配ベクトル(Gx,Gy,Gz)の大きさである。Rxy/Rzはz軸方向変倍率と定義され、〔数式2〕において、GxとGyを算出する式にRxy/Rzを乗ずる代わりに、Gzを算出する式にRz/Rxy、即ちz軸方向変倍率の逆数を乗じてもよい。〔数式2〕に示すように、陰影付加手段50は、ボクセル画像の当該ボクセルのx軸方向、y軸方向、z軸方向の各々2近傍のボクセルの不透明度の差分値を勾配ベクトルのx軸方向成分、y軸方向成分、z軸方向成分として算出し、あらかじめ定義されたz軸方向変倍率に基づいてx軸方向・y軸方向成分またはz軸方向成分に補正を施した単位ベクトルを、当該ボクセルにおける勾配ベクトルとして算出する。さらに、G≧1の場合、以下の〔数式3〕に従った処理を実行して、拡散反射成分のみを含んだ輝度値S(x,y,zu−1)を算出する。S(x,y,zu−1)は、0以上1以下の実数値である。   In [Equation 2], V (x, y, zu-1, 3) is the opacity α in the voxel (x, y, zu-1) of the voxel image, and Rxy is the resolution of the tomographic image (reciprocal of the pixel interval). Rz is the slice resolution of the tomographic image (reciprocal of the slice interval of the tomographic image, the number of slices of the tomographic image per mm), and G is the gradient vector (the number of pixels per mm in the x-axis direction and the y-axis direction are the same). Gx, Gy, Gz). Rxy / Rz is defined as the scaling factor in the z-axis direction. In [Equation 2], instead of multiplying the formula for calculating Gx and Gy by Rxy / Rz, the formula for calculating Gz is Rz / Rxy, that is, the scaling factor in the z-axis direction. The reciprocal of the magnification may be multiplied. As shown in [Equation 2], the shading adding unit 50 calculates the difference value of the opacity of the voxel in the x-axis direction, the y-axis direction, and the z-axis direction of the voxel image adjacent to each other in the voxel image by the x-axis of the gradient vector. A unit vector calculated as a direction component, a y-axis direction component, and a z-axis direction component, and corrected for the x-axis direction / y-axis direction component or the z-axis direction component based on a predefined z-axis direction scaling factor, It is calculated as a gradient vector in the voxel. Further, when G ≧ 1, the processing according to the following [Equation 3] is executed to calculate the luminance value S (x, y, zu−1) including only the diffuse reflection component. S (x, y, zu-1) is a real value of 0 or more and 1 or less.

〔数式3〕
S(x,y,zu−1)=(1−Ab)(|Gx・Lx+Gy・Ly+Gz・Lz|)/G+Ab
[Equation 3]
S (x, y, zu-1) = (1-Ab) (| Gx.Lx + Gy.Ly + Gz.Lz |) / G + Ab

一方、〔数式2〕において算出されたGの値がG<1の場合、不透明度の勾配が存在しない均一な領域(背景部の空気中や肺野など)であるか、最外側であると考えられるため、陰影付加を行わず、輝度値S(x,y,zu−1)=0とする。〔数式3〕において、|Gx・Lx+Gy・Ly+Gz・Lz|は、絶対値を示し、逆方向の光源ベクトル(−Lx,−Ly,−Lz)も仮想的に同時に照射し、被写体が逆向きのアングルになっても同一の輝度の拡散反射光が得られるようにしている。   On the other hand, when the value of G calculated in [Equation 2] is G <1, it is determined that the area is a uniform area where there is no opacity gradient (such as the air in the background or the lung field) or the outermost area. Therefore, it is assumed that no shading is added and the luminance value S (x, y, zu-1) = 0. In [Equation 3], | Gx · Lx + Gy · Ly + Gz · Lz | indicates an absolute value, and a light source vector (−Lx, −Ly, −Lz) in the opposite direction is virtually simultaneously illuminated, so that the object is directed in the opposite direction. Even at an angle, diffuse reflection light of the same luminance can be obtained.

そして、算出された輝度値S(x,y,zu−1)を用いて以下の〔数式4〕に従った処理を実行して、ボクセル画像の各ボクセル値V(x,y,zu−1,c)を補正して、補正後の各ボクセル値V´(x,y,zu−1,c)を得る。   Then, using the calculated luminance value S (x, y, zu-1), a process according to the following [Equation 4] is executed, and each voxel value V (x, y, zu-1) of the voxel image is obtained. , C) to obtain each corrected voxel value V ′ (x, y, zu−1, c).

〔数式4〕
V´(x,y,zu−1,c)=S(x,y,zu−1)・V(x,y,zu−1,c)
[Equation 4]
V ′ (x, y, zu−1, c) = S (x, y, zu−1) · V (x, y, zu−1, c)

〔数式4〕において、c=0,1,2であり、それぞれR,G,Bの色成分に対応する。すなわち、〔数式4〕においては、色成分のみを補正する。このようにして、z=zu―1の断層について陰影付加処理がなされた要素画像V´(x,y,zu−1,c)が得られる。結局、陰影付加手段50は、〔数式2〕〜〔数式4〕に従った処理を実行することにより、作成された各要素画像(zu−1)の各画素について、その要素画像に隣接する要素画像(zu,zu−2)を含むxyz軸方向の近傍に位置する画素の不透明度αを参照して、その要素画像(zu−1)の画素の色成分の値を補正し、陰影付加を行っている。本実施形態では、好ましい例として、不透明度αを参照する画素として隣接する画素を用いたが、隣接する画素に限定されず、近傍の他の画素を参照するようにしてもよい。 In [Equation 4], c = 0, 1, and 2, which correspond to the R, G, and B color components, respectively. That is, in [Equation 4], only the color components are corrected. In this way, an element image V '(x, y, zu-1, c) obtained by performing the shading adding process on the tomographic slice of z = zu-1 is obtained. Eventually, the shading adding means 50 executes the processing according to [Equation 2] to [Equation 4] to obtain, for each pixel of each created element image (zu-1), an element adjacent to the element image. Referring to the opacity α of a pixel located in the vicinity of the xyz-axis direction including the image (zu, zu-2), the value of the color component of the pixel of the element image (zu-1) is corrected, and shading is added. Is going. In the present embodiment, as a preferred example, an adjacent pixel is used as a pixel that refers to the opacity α. However, the present invention is not limited to the adjacent pixel, and another neighboring pixel may be referred to.

図6に示したステップS540では、(Z1+1)≦z≦(Z2−2)の各z座標について、上記の陰影付加処理が行われる。また、図6に示したステップS560では、z=Z1、z=Z2−1、z=Z2の3つの要素画像について、上記の陰影付加処理が行われる。   In step S540 shown in FIG. 6, the above-described shading addition processing is performed for each z coordinate of (Z1 + 1) ≦ z ≦ (Z2-2). Further, in step S560 shown in FIG. 6, the above-described shading processing is performed on three element images of z = Z1, z = Z2-1, and z = Z2.

ステップS20におけるボクセル画像作成処理を終了したら、ボクセル画像を3Dテクスチャ画像に登録する(ステップS60)。具体的には、レンダリング手段70が、3Dテクスチャマッピング方式を実行する際に用いられる3Dテクスチャ画像としてボクセル画像を登録する。   When the voxel image creation processing in step S20 is completed, the voxel image is registered as a 3D texture image (step S60). Specifically, the rendering unit 70 registers a voxel image as a 3D texture image used when executing the 3D texture mapping method.

図8は3Dテクスチャマッピングにおける対応付けを示す図である。図8(a)は、テクスチャ座標系における3Dテクスチャマップ、図8(b)は、ワールド座標系で定義される積層四角形を示す。積層四角形を構成する各四角形の4頂点には、3Dテクスチャ画像の4ボクセルが対応付られており、図8のように回転がかかっていない状態では、各四角形はテクスチャマップの基になっている断層画像、要素画像と1対1で対応しており、各四角形の4頂点は断層画像、要素画像の4隅の画素、ボクセルに対応付られている。   FIG. 8 is a diagram showing association in 3D texture mapping. FIG. 8A shows a 3D texture map in a texture coordinate system, and FIG. 8B shows a laminated rectangle defined in a world coordinate system. Four voxels of the 3D texture image are associated with the four vertices of each of the quadrangles forming the stacked quadrilateral, and when no rotation is applied as shown in FIG. 8, each of the quadrangles is the basis of the texture map. It corresponds to the tomographic image and the element image on a one-to-one basis, and four vertices of each rectangle are associated with the tomographic image, the four corner pixels of the element image, and the voxel.

具体的には、図8(b)に示すように、定義された積層四角形に対し、3Dテクスチャマッピングを行う。この場合、ワールド座標系(視点座標系に対応)における各四角形の4頂点の3次元ワールド座標とテクスチャ座標系(ボクセル座標系に対応)における3Dテクスチャ画像の3次元テクスチャ座標とを対応付ける。図8に示すように、(−1,−1,z)、(−1,1,z)、(1,−1,z)、(1,1,z)の4頂点で構成される四角形に対して、ワールド座標の(−1,−1,z)は、テクスチャ座標(0,0,r)に対応付けられている。   Specifically, as shown in FIG. 8B, 3D texture mapping is performed on the defined stacked rectangle. In this case, the three-dimensional world coordinates of the four vertices of each rectangle in the world coordinate system (corresponding to the viewpoint coordinate system) are associated with the three-dimensional texture coordinates of the 3D texture image in the texture coordinate system (corresponding to the voxel coordinate system). As shown in FIG. 8, a quadrangle composed of four vertices of (-1, -1, z), (-1,1, z), (1, -1, z), (1,1, z) On the other hand, the world coordinates (-1, -1, z) are associated with the texture coordinates (0, 0, r).

後述の通り、アングル変更の指示があると、図8(a)のテクスチャマップがテクスチャ座標系において3次元的に回転した、変換後3Dテクスチャ画像が生成されるため、各四角形と断層画像、要素画像との対応関係は崩れる。ボクセル画像を、OpenGL(グラフィックAPI)を介して3Dテクスチャ画像として登録する。   As described later, when there is an instruction to change the angle, the texture map of FIG. 8A is three-dimensionally rotated in the texture coordinate system, and a converted 3D texture image is generated. The correspondence with the image is broken. The voxel image is registered as a 3D texture image via OpenGL (graphic API).

続いて、レンダリング処理を行う(ステップS70)。図9は、レンダリング手段70の構成を示す図である。図9に示すように、レンダリング手段70は、3Dテクスチャ登録手段71、座標変換手段72、積層四角形設定手段73、画素値算出手段74を有する。上述のように、レンダリング手段70は、3Dテクスチャマッピング方式の場合は、CPU1が補助しながら、主にGPU7においてプログラムを実行することにより実現されるが、特に処理負荷が大きい座標変換手段72および画素値算出手段74は、汎用コンピュータのビデオカードに搭載されているGPUおよびフレームメモリを用いて実行するようにすることが好ましい。   Subsequently, a rendering process is performed (step S70). FIG. 9 is a diagram showing the configuration of the rendering means 70. As shown in FIG. 9, the rendering unit 70 includes a 3D texture registration unit 71, a coordinate conversion unit 72, a stacked rectangle setting unit 73, and a pixel value calculation unit 74. As described above, in the case of the 3D texture mapping method, the rendering unit 70 is realized mainly by executing a program in the GPU 7 with the assistance of the CPU 1. It is preferable that the value calculating means 74 is executed using a GPU and a frame memory mounted on a video card of a general-purpose computer.

3Dテクスチャマッピング方式の処理においては、まず投影画面を設定する。図10は、本実施形態のレンダリング手段70による投影画面設定の一例を示す説明図である。レンダリング手段70は、レンダリング画像のスクリーンサイズ(縦横画素数、縦横アスペクト比率)を設定する。レンダリング手段70は、平行投影(通常の外観レンダリング)又は透視投影(内視鏡モード)のいずれかを設定する。尚、「レンダリング画像」は「ボリュームレンダリング像」と同義で、「ボリュームレンダリング像」を「レンダリング画像」と表記する場合がある。そして、レンダリング手段70は、透視投影が設定された場合、透視投影パラメータを設定する。透視投影パラメータは、例えば、カメラの視野角度(焦点距離)、視点位置(視点と注視点で構成され、前者は目の位置で後者は見ている対象物上の位置で、双方ともz軸上に設定される。一般に、注視点はワールド座標系の原点に固定)、クリッピング位置(視点からのz軸上の距離、近方及び遠方の2箇所)などを含む。なお、クリッピング位置は、近方だけでもよい。図10に示すように、平行投影の場合には、視点からの視線は全てz軸に平行となり、視点は仮想的に左方向に無限遠に離れた位置にあることを想定しているため、z軸方向に定義されている全ての積層四角形がレンダリング対象になる。一方、透視投影の場合には、視点からの視野角度に応じて、視線が広がり、視点が積層四角形の内部に入るため、レンダリング対象は近方クリッピングより遠方クリッピング(通常は積層四角形の視点から最も遠い四角形)までの範囲に制限されている。   In the processing of the 3D texture mapping method, first, a projection screen is set. FIG. 10 is an explanatory diagram illustrating an example of a projection screen setting by the rendering unit 70 of the present embodiment. The rendering means 70 sets the screen size (vertical and horizontal pixels, vertical and horizontal aspect ratio) of the rendered image. The rendering means 70 sets either parallel projection (normal appearance rendering) or perspective projection (endoscope mode). Note that “rendered image” is synonymous with “volume rendered image”, and “volume rendered image” may be referred to as “rendered image” in some cases. Then, when the perspective projection is set, the rendering unit 70 sets the perspective projection parameters. The perspective projection parameters include, for example, the viewing angle (focal length) of the camera, the viewpoint position (a viewpoint and a gazing point, the former is the position of the eye, the latter is the position on the object being viewed, and both are on the z-axis. In general, the gaze point includes a fixed point at the origin of the world coordinate system), a clipping position (distance on the z-axis from the viewpoint, and two points near and far). The clipping position may be only near. As shown in FIG. 10, in the case of parallel projection, all lines of sight from the viewpoint are parallel to the z-axis, and the viewpoint is assumed to be virtually distant to the left in infinity. All stacked rectangles defined in the z-axis direction are to be rendered. On the other hand, in the case of perspective projection, since the line of sight expands according to the viewing angle from the viewpoint and the viewpoint enters the inside of the stacked rectangle, the rendering target is far clipping rather than near clipping (usually the most viewed from the stacked square viewpoint). Distant rectangle).

図11は3Dテクスチャマッピング方式によるレンダリング処理の詳細を示すフローチャートである。まず、図9の3Dテクスチャ登録手段71が、ボクセル画像を3Dテクスチャ画像としてOpenGLに登録する。次に、座標変換手段72が、3Dテクスチャ画像に対して所定の座標変換を行って変換後3Dテクスチャ画像を生成する(S71〜S73)。   FIG. 11 is a flowchart showing details of the rendering processing by the 3D texture mapping method. First, the 3D texture registration unit 71 in FIG. 9 registers a voxel image as a 3D texture image in OpenGL. Next, the coordinate conversion unit 72 performs predetermined coordinate conversion on the 3D texture image to generate a converted 3D texture image (S71 to S73).

具体的には、座標変換手段72は、所定の3次元座標系における回転を定義した4×4行列、視野角度、視点位置、クリッピング位置、xyz各軸方向のオフセット値、xyz各軸方向の拡大又は縮小倍率、z軸方向変倍率を含む所定の座標変換のパラメータを取得し、3Dテクスチャ画像に対して、取得したパラメータを用いた所定の座標変換を行って変換後3Dテクスチャ画像を生成する。   Specifically, the coordinate conversion unit 72 includes a 4 × 4 matrix defining rotation in a predetermined three-dimensional coordinate system, a viewing angle, a viewpoint position, a clipping position, an offset value in each xyz axis direction, and an enlargement in each xyz axis direction. Alternatively, a predetermined coordinate transformation parameter including a reduction magnification and a z-axis direction magnification is acquired, and a predetermined coordinate transformation is performed on the 3D texture image using the acquired parameters to generate a transformed 3D texture image.

個々のステップについて説明すると、座標変換手段72は、3Dテクスチャ画像に対するスケーリング及びz軸方向変倍処理を行う(ステップS71)。スケーリングはxyz軸方向に対して同一の倍率Scaleで拡大または縮小をかけるが、z軸方向変倍処理はxy軸方向の解像度Rxyとz軸方向の解像度Rzの相違を補正するため、z軸方向のみに指定倍率Scz(=Rxy/Rz)で拡大または縮小をかける。そして、座標変換手段72は、所定の3次元座標系における回転を定義した4×4行列を用いて3Dテクスチャ画像に対する回転処理を行う(ステップS72)。   The individual steps will be described. The coordinate conversion unit 72 performs scaling and scaling processing in the z-axis direction on the 3D texture image (step S71). Scaling enlarges or reduces the image in the xyz-axis direction at the same magnification Scale, but the z-axis direction scaling process corrects the difference between the resolution Rxy in the xy-axis direction and the resolution Rz in the z-axis direction. Only the specified magnification Scz (= Rxy / Rz) is enlarged or reduced. Then, the coordinate conversion unit 72 performs a rotation process on the 3D texture image using a 4 × 4 matrix defining the rotation in a predetermined three-dimensional coordinate system (step S72).

そして、座標変換手段72は、xyz各軸方向のオフセット値(Xoff,Yoff,Zoff)を用いて3Dテクスチャ画像に対するオフセット処理を行う(ステップS73)。これらの処理(S71〜S73)により、変換後3Dテクスチャ画像が生成される。次に、積層四角形設定手段73は、複数の四角形で構成される積層四角形を設定する(ステップS74)。具体的には、3次元空間のxy座標面上の四角形をz軸方向に並べた積層四角形を設定する。3Dテクスチャマッピングを設定する場合、積層四角形設定手段73は、複数のxy平面画像の数と同数の四角形をz軸方向に並べた積層四角形を設定する。   Then, the coordinate conversion unit 72 performs an offset process on the 3D texture image using the offset values (Xoff, Yoff, Zoff) in the x, y, and z-axis directions (step S73). Through these processes (S71 to S73), a converted 3D texture image is generated. Next, the stacked rectangle setting means 73 sets a stacked rectangle composed of a plurality of squares (step S74). Specifically, a laminated rectangle in which rectangles on an xy coordinate plane in a three-dimensional space are arranged in the z-axis direction is set. When setting the 3D texture mapping, the stacked rectangle setting unit 73 sets a stacked rectangle in which the same number of squares as the number of the plurality of xy plane images are arranged in the z-axis direction.

積層四角形における四角形の数は任意に設定することができるが、四角形の数と断層画像の枚数とが一致しない場合、z軸方向に補間処理が働き、座標変換による座標値の丸め誤差が累積し、ストライプ・格子状のモアレが発生する。そして、図8で示されるように、各四角形の4頂点に対して、対応する変換後3Dテクスチャ画像における4箇所のボクセル座標を定義することにより、変換後3Dテクスチャ画像との対応付けを行う(ステップS75)。定義するボクセル座標は、不透明度付色成分ボクセル画像の座標系ではなく、OpenGLのテクスチャ座標系(r,s,tの3軸方向に対し0から1の範囲の実数値)に基づいたものである。   The number of squares in the stacked squares can be set arbitrarily, but if the number of squares does not match the number of tomographic images, interpolation processing works in the z-axis direction, and rounding errors of coordinate values due to coordinate conversion are accumulated, Moire in stripes and grids occurs. Then, as shown in FIG. 8, by defining the four voxel coordinates in the corresponding converted 3D texture image with respect to the four vertices of each square, the correspondence with the converted 3D texture image is performed ( Step S75). The voxel coordinates to be defined are not based on the coordinate system of the color component voxel image with opacity but based on the texture coordinate system of OpenGL (real values in the range of 0 to 1 with respect to the three axes of r, s, and t). is there.

具体的には、図8(b)に示すように、定義された積層四角形に対し、3Dテクスチャマッピングを行う。この場合、ワールド座標系における各四角形の4頂点の3次元ワールド座標とテクスチャ座標系における3Dテクスチャ画像の3次元テクスチャ座標とを対応付ける。図8に示すように、(−1,−1,z)、(−1,1,z)、(1,−1,z)、(1,1,z)の4頂点で構成される四角形に対して、ワールド座標の(−1,−1,z)は、テクスチャ座標(0,0,r)に対応付けられている。   Specifically, as shown in FIG. 8B, 3D texture mapping is performed on the defined stacked rectangle. In this case, the three-dimensional world coordinates of the four vertices of each rectangle in the world coordinate system are associated with the three-dimensional texture coordinates of the 3D texture image in the texture coordinate system. As shown in FIG. 8, a quadrangle composed of four vertices of (-1, -1, z), (-1,1, z), (1, -1, z), (1,1, z) On the other hand, the world coordinates (-1, -1, z) are associated with the texture coordinates (0, 0, r).

次に、画素値算出手段74は、所定の視点からz軸方向に平行な視線上の最も遠い四角形から視点に最も近い四角形の順にスキャンコンバージョン(四角形内部の塗りつぶし)を行う(ステップS76)。この時、各四角形に貼りついている変換後3Dテクスチャ画像のボクセルの色成分(R,G,B)に基づいて四角形内部を塗りつぶすとともに、同一画素に塗り重ねる際、変換後3Dテクスチャ画像のボクセルの不透明度に基づいてアルファブレンディングを併せて行う。このように、積層四角形のxyz座標に対応する変換後3Dテクスチャ画像のボクセルの(R,G,B)で構成される色成分(R,G,B)をボクセルの不透明度に基づいて視点から遠い四角形の順にアルファブレンディングして得られた(R,G,B)で構成される色成分を、ボリュームレンダリング像の画素値として与える。これにより、ボリュームレンダリング像が得られる。   Next, the pixel value calculation means 74 performs scan conversion (filling of the inside of the rectangle) in order from the farthest rectangle on the line of sight parallel to the z-axis direction from the predetermined viewpoint to the rectangle closest to the viewpoint (step S76). At this time, the inside of the rectangle is filled based on the color components (R, G, B) of the voxels of the converted 3D texture image attached to each square, and when the voxels of the converted 3D texture image are overlaid on the same pixel. Alpha blending is also performed based on the opacity. As described above, the color component (R, G, B) composed of the (R, G, B) of the voxel of the converted 3D texture image corresponding to the xyz coordinates of the stacked rectangle is determined from the viewpoint based on the opacity of the voxel. A color component composed of (R, G, B) obtained by alpha blending in the order of distant rectangles is given as a pixel value of the volume rendering image. As a result, a volume rendering image is obtained.

より具体的には、あらかじめレンダリング画像の画素値(RGB値)は全て背景色(例えば、R=G=B=0)で初期化しておく。画素値算出手段74は、視点から最も遠い四角形に対して、貼り付いている変換後3Dテクスチャ画像を参照しながら、スキャンコンバージョンを行う。図10で定義したレンダリング画像に平行投影または透視投影を行い、投影された四角形のワールド座標系におけるxyz座標の(−1,−1,−1)からx軸方向及びy軸方向に、投影されたレンダリング画像に対して塗り潰す画素の座標を(i,j)とし、レンダリング画像における画素間隔に対応する間隔u(レンダリング画像の1画素に対応するワールド座標の間隔をuとする。例えばu=0.002)でスキャンコンバージョンを行う。スキャンコンバージョンされた、各ワールド座標(−1+iu,−1+ju,−1)(i,jはレンダリング画像の座標値で、例えば0≦i,j≦511の整数)において、各々対応するテクスチャ座標(2iu,2ju,0)を算出し、算出したテクスチャ座標に基づいて変換後3Dテクスチャ画像を参照し色成分の値(RGB値)及び不透明度を取得して、対応するレンダリング画像の座標(i,j)に既に記録されている画素値(RGB値)と取得した不透明度に基づいてアルファブレンディング処理を行い、対応するレンダリング画像の座標(i,j)の画素値を更新する。   More specifically, all pixel values (RGB values) of the rendering image are initialized in advance with a background color (for example, R = G = B = 0). The pixel value calculation unit 74 performs scan conversion on the rectangle farthest from the viewpoint with reference to the converted 3D texture image attached thereto. Parallel rendering or perspective projection is performed on the rendering image defined in FIG. 10, and the projected image is projected in the x-axis direction and the y-axis direction from the projected xyz coordinates (−1, −1, −1) in the world coordinate system. The coordinates of the pixel to be filled in the rendered image are (i, j), and the interval u corresponding to the pixel interval in the rendered image (the interval of world coordinates corresponding to one pixel of the rendered image is u. For example, u = Scan conversion is performed at 0.002). In the scan-converted world coordinates (-1 + iu, -1 + ju, -1) (i and j are coordinate values of a rendering image, for example, integers of 0 ≦ i, j ≦ 511), the corresponding texture coordinates (2iu) , 2ju, 0), obtains the color component values (RGB values) and opacity by referring to the 3D texture image after conversion based on the calculated texture coordinates, and obtains the coordinates (i, j) of the corresponding rendering image. ), The alpha blending process is performed based on the pixel values (RGB values) already recorded and the obtained opacity, and the pixel values of the coordinates (i, j) of the corresponding rendering image are updated.

このようにして、視点から最も遠い単一の四角形が投影されるレンダリング画像の対応する全ての画素についてアルファブレンディング処理が終了すると、z座標をv(四角形がz軸方向に配置されているワールド座標の間隔をvとする。例えば、v=2/Sz)だけ増やし、視点方向に次に近い四角形(−1+iu,−1+ju,−1+v)について同様の処理を繰り返してレンダリング画像を更新する。全ての四角形についてスキャンコンバージョンしてワールド座標(−1+iu,−1+ju,−1+kv)(kは四角形の番号で、0≦k≦Sz−1の整数)に対してアルファブレンディングの処理が終了するとレンダリング画像が完成する。アルファブレンディング処理は、以下の〔数式5〕に従った処理として行われる。   In this manner, when the alpha blending process is completed for all the corresponding pixels of the rendering image on which the single rectangle farthest from the viewpoint is projected, the z coordinate is changed to v (the world coordinate where the rectangle is arranged in the z-axis direction). Is increased by v. For example, v = 2 / Sz), and the same processing is repeated for the next square (-1 + iu, -1 + ju, -1 + v) in the viewpoint direction to update the rendering image. Scan conversion is performed for all the rectangles, and the rendering image is displayed when the alpha blending process is completed for the world coordinates (-1 + iu, -1 + ju, -1 + kv) (k is the number of the rectangle and 0 ≦ k ≦ Sz−1). Is completed. The alpha blending process is performed as a process according to the following [Equation 5].

〔数式5〕
R´=R・α+(1−α)・Rb
G´=G・α+(1−α)・Gb
B´=B・α+(1−α)・Bb
[Equation 5]
R ′ = R · α + (1−α) · Rb
G ′ = G · α + (1−α) · Gb
B ′ = B · α + (1−α) · Bb

ここで、R′、G′、B′は、投影面において更新されるレンダリング画像の画素値(RGB値)である。R、G、Bは、四角形のワールド座標(−1+iu,−1+ju,−1+kv)に対応する変換後3Dテクスチャ画像のボクセル(2iu,2ju,2kv)における色成分(RGB値)であり、重ねる色の値に相当する。αも、四角形のワールド座標(−1+iu,−1+ju,−1+kv)に対応する変換後3Dテクスチャ画像のボクセル(2iu,2ju,2kv)におけるα値であり、重ねる割合を制御する。また、Rb、Gb、Bbは、ワールド座標(−1+iu,−1+ju,−1+kv)に対応するレンダリング画像の座標(i,j)に既に記録されている画素値(RGB値)であり、当該四角形に対して視点と反対側に1つ前に位置する四角形に対して上記〔数式5〕に基づいて算出されたR′、G′、B′の値に一致し、視点から最も遠い四角形に対して算出する場合は背景色(例えば、Rb=Gb=Bb=0)が与えられる。以上のようにして得られたレンダリング画像をレンダリング画像出力手段80が出力することにより、ボリュームレンダリング像が認識される。   Here, R ', G', and B 'are pixel values (RGB values) of the rendering image updated on the projection plane. R, G, and B are color components (RGB values) in the voxels (2iu, 2ju, 2kv) of the converted 3D texture image corresponding to the quadrangle world coordinates (-1 + iu, -1 + ju, -1 + kv), and the colors to be overlapped Corresponding to the value of α is also an α value in the voxel (2iu, 2ju, 2kv) of the converted 3D texture image corresponding to the square world coordinates (−1 + iu, −1 + ju, −1 + kv), and controls the overlapping ratio. Rb, Gb, and Bb are pixel values (RGB values) already recorded at the coordinates (i, j) of the rendering image corresponding to the world coordinates (-1 + iu, -1 + ju, -1 + kv), and The values of R ', G', and B 'calculated based on the above [Equation 5] for the rectangle located immediately before the viewpoint on the opposite side to the viewpoint correspond to the rectangle farthest from the viewpoint. In the case of calculating by the calculation, a background color (for example, Rb = Gb = Bb = 0) is given. The volume rendering image is recognized by the rendering image output unit 80 outputting the rendering image obtained as described above.

図12、図13は、各々クリッピング設定、マスク設定のいずれかを行ったレンダリング画像の表示例を示す図である。図12(a)と図13(a)は、クリッピング設定を行ったもので、同一視点位置から見た画像である。また、図12(b)と図13(b)は、マスク設定を行ったもので、同一視点位置から見た画像である。図12(a)のレンダリング画像は、境界面を含むクリッピング領域の全てボクセルの色値および不透明度αを0に設定した場合で、図13(a)のレンダリング画像は、境界面を含むクリッピング領域の全てボクセルの不透明度αのみを0に設定し、色値は元のままにした場合ある。図12(a)と図13(a)を比較すると、色値までクリッピング設定を行った場合は、図12(a)に示すようにモアレが発生するが、色値に対してはクリッピング設定を行わなかった場合は、図13(a)に示すようにモアレが目立たなくなることがわかる。色値に対してクリッピング設定を行った場合と行わない場合とでは、処理負荷にほとんど変化はなかった。図12(b)のレンダリング画像は、境界面を含むマスク領域の全てボクセルの色値および不透明度αを0に設定した場合で、図13(b)のレンダリング画像は、境界面を含むマスク領域の全てボクセルの不透明度αのみを0に設定し、色値は元のままにした場合ある。また、図12(b)と図13(b)を比較すると、色値までマスク設定を行った場合は、図12(b)に示すようにモアレが発生するが、色値に対してはマスク設定を行わなかった場合は、図13(b)に示すようにモアレが目立たなくなることがわかる。色値に対してマスク設定を行った場合と行わない場合とでは、処理負荷にほとんど変化はなかった。クリッピング境界面やマスク境界面のモアレ処理として境界面外の不透明度αの値を0に設定することにより、処理負荷を抑制しながらモアレを抑制することができる。クリッピング境界面やマスク境界面のモアレ処理としては、不透明度α=0である透明なボクセルの色値の補間処理や、近傍のボクセルを参照して不透明度を平滑化する処理を適用する方法も存在する。しかしながら、これらの処理を用いた場合には一定量の処理負荷がかかるため、処理の高速化を目的とする場合には、本願で提案するように、境界面外の不透明度αの設定の方が好ましい。   FIG. 12 and FIG. 13 are diagrams illustrating display examples of rendered images in which either the clipping setting or the mask setting has been performed. FIGS. 12A and 13A are images in which clipping is set and viewed from the same viewpoint position. FIGS. 12B and 13B show images obtained by setting masks and viewed from the same viewpoint position. The rendering image of FIG. 12A is a case where the color values and opacity α of all voxels in the clipping region including the boundary surface are set to 0, and the rendering image of FIG. 13A is a clipping region including the boundary surface. In some cases, only the opacity α of all voxels is set to 0, and the color values are left unchanged. A comparison between FIG. 12A and FIG. 13A shows that when clipping is set up to the color value, moire occurs as shown in FIG. If not performed, it can be seen that moiré becomes inconspicuous as shown in FIG. There was almost no change in the processing load when clipping was set for color values. The rendering image of FIG. 12B is a case where the color values and opacity α of all voxels in the mask region including the boundary surface are set to 0, and the rendering image of FIG. 13B is a mask region including the boundary surface. In some cases, only the opacity α of all voxels is set to 0, and the color values are left unchanged. Further, comparing FIG. 12B and FIG. 13B, when mask setting is performed up to the color value, moire occurs as shown in FIG. When the setting is not performed, it can be seen that the moiré becomes inconspicuous as shown in FIG. There was almost no change in the processing load between when the mask setting was performed on the color value and when the mask setting was not performed. By setting the value of the opacity α outside the boundary surface to 0 as the moiré processing of the clipping boundary surface or the mask boundary surface, it is possible to suppress the moire while suppressing the processing load. As the moiré processing of the clipping boundary surface or the mask boundary surface, a method of interpolating the color value of a transparent voxel having an opacity α = 0 or applying a process of smoothing the opacity by referring to a nearby voxel may be used. Exists. However, when these processes are used, a fixed amount of processing load is applied. Therefore, when the speed of the process is to be increased, the setting of the opacity α outside the boundary surface, as proposed in the present application, is difficult. Is preferred.

上述のように、本実施形態に係るボリュームレンダリング装置100では、マルチコアCPUであるCPU1がプログラムを実行することにより、レンダリング手段70が実現される。このプログラムは、読み込んだ断層画像を複数(例えばN個)の断層画像群に分割し、各CPUスレッドに各断層画像群を割り当てて、各CPUスレッドが各断層画像群に対応する要素画像群を作成する処理を並行して行う。ボリュームレンダリング装置100を、汎用的なコンピュータであるパソコンで実現した場合について説明する。図14は、コンピュータによりボリュームレンダリング装置100を実現する場合の並列化処理を示す図である。図14に示すように、レンダリング手段70が、アプリケーションプログラムにより実現され、例えばN=4個の断層画像群に分割する場合、アプリケーションプログラムは、4個の各断層画像群に対する処理を4つの処理スレッド♯n1〜処理スレッド♯n4に分割する。そして、レンダリング手段70(アプリケーションプログラム)が稼働するマルチタスク・オペレーティングシステムのジョブスケジューラが、複数のCPUコアが有するCPUスレッド#1〜CPUスレッド#8に割り当てる。   As described above, in the volume rendering device 100 according to the present embodiment, the rendering unit 70 is realized by the CPU 1 that is a multi-core CPU executing a program. This program divides the read tomographic image into a plurality of (for example, N) tomographic image groups, assigns each tomographic image group to each CPU thread, and causes each CPU thread to generate an element image group corresponding to each tomographic image group. Perform the process to be created in parallel. A case where the volume rendering apparatus 100 is realized by a personal computer which is a general-purpose computer will be described. FIG. 14 is a diagram illustrating parallel processing when the volume rendering device 100 is implemented by a computer. As illustrated in FIG. 14, when the rendering unit 70 is realized by an application program and divides into, for example, N = 4 tomographic image groups, the application program performs processing on each of the four tomographic image groups by four processing threads. ♯n1 to processing thread ♯n4. Then, the job scheduler of the multitasking operating system in which the rendering means 70 (application program) operates allocates the CPU threads # 1 to # 8 of the plurality of CPU cores.

図15は、コンピュータによりボリュームレンダリング装置100を実現する場合の並列化処理のソフトウェアによる流れを示す図である。図15に示すように、レンダリング手段70を実現するアプリケーションプログラムは、4個の各要素画像群に対する処理を4つの処理スレッド♯n1〜処理スレッド♯n4に分割した後、それぞれ並列処理関数を起動する。そうすると、マルチタスク・オペレーティングシステムのジョブスケジューラが、4つのスレッド♯n1〜スレッド♯n4を複数のCPUコアが有するCPUスレッド#3、CPUスレッド#5、CPUスレッド#7、CPUスレッド#2、にそれぞれ割り当てる。このようにして、オペレーティングシステムにより空いているCPUコアのCPUスレッドに、処理すべき処理スレッドが割り当てられるため、並列処理が可能となる。図15の例では、アプリケーションプログラムが各CPUスレッドからの終了メッセージを待ち、全てのCPUスレッドから終了メッセージが得られたら、作成された要素画像群を統合したボクセル画像を作成する。そして、一括してレンダリング処理した後、レンダリング画像を表示部6に出力し、表示を行う。   FIG. 15 is a diagram illustrating a flow of software for parallel processing when the volume rendering apparatus 100 is implemented by a computer. As shown in FIG. 15, the application program that implements the rendering unit 70 divides the processing for each of the four element image groups into four processing threads # n1 to # n4, and then activates the parallel processing functions. . Then, the job scheduler of the multitask operating system assigns four threads # n1 to # n4 to the CPU threads # 3, # 5, # 7, and # 2 of the plurality of CPU cores, respectively. assign. In this manner, the processing thread to be processed is allocated to the CPU thread of the CPU core that is free by the operating system, so that parallel processing is possible. In the example of FIG. 15, the application program waits for an end message from each CPU thread, and when end messages are obtained from all the CPU threads, creates a voxel image integrating the created element image groups. Then, after the rendering processing is performed in a lump, the rendered image is output to the display unit 6 and displayed.

4コア構成のCPU(Intel CORE-i7)が実装されているWindows10/64bitsのパーソナルコンピュータで実測した結果、図15の構成ではシングルスレッド実行時(512×512×370のフル解像度画像のCPUによるボクセル生成時間:約0.9sec)の1.5倍弱程度の処理速度が得られた (同生成時間:約0.6sec)。しかし、一部のCPUスレッドに処理待ちが生じた。そこで、要素画像群の分割数をN=8に上げて、8処理スレッドで並列処理を行ったところ、シングルスレッド実行時のほぼ2倍の処理性能が得られた(同生成時間:約0.45sec)。さらに、N>8に上げて実験した結果、処理性能は殆ど変化せず2倍で頭打ちであり、各スレッド間で共有メモリへのアクセス待ちが発生し所望の並列化効果が十分得られていなかった。一方、ボクセル画像作成後のレンダリング処理S70はGPU7で実行され、512×512のフル解像度のレンダリング画像の生成時間は約0.015secであった。   As a result of actual measurement on a Windows 10 / 64-bit personal computer on which a 4-core CPU (Intel CORE-i7) is mounted, the configuration shown in FIG. 15 shows that when executing a single thread (voxel by the CPU of a 512 × 512 × 370 full resolution image) A processing speed about 1.5 times lower than the production time (about 0.9 sec) was obtained (same production time: about 0.6 sec). However, some CPU threads waited for processing. Then, when the number of divisions of the element image group was increased to N = 8 and parallel processing was performed by eight processing threads, processing performance almost twice that of the single thread execution was obtained (same generation time: about 0.45 sec) ). Furthermore, as a result of an experiment with N> 8, the processing performance hardly changed and reached a plateau at double, and the access to the shared memory occurred between threads, and the desired parallelization effect was not sufficiently obtained. Was. On the other hand, the rendering process S70 after the creation of the voxel image was executed by the GPU 7, and the generation time of the 512 × 512 full-resolution rendered image was about 0.015 sec.

<3.K分の1の間引き>
上記ボリュームレンダリング装置では、ボクセル画像作成手段30が、複数の断層画像の総画素数と同数のボクセルによるボクセル画像を作成するようにしたが、ボクセルを間引いてボクセル数を少なくしたボクセル画像を作成するようにしてもよい。その場合、ボクセル画像作成手段30は、複数の断層画像の2次元のxy軸方向、断層画像と直交するz軸方向の三軸の各軸方向において、K画素おきに対応付けて3次元に配置した各ボクセルに対して、そのボクセルの信号値を色成分および不透明度αに置き換え、ボクセル値として色成分および不透明度が定義された不透明度ボクセル画像を作成する。例えば、K=2とした場合、xyz軸方向を各々1/2に間引くことができるため、処理するボクセル数が1/8となり、高速な処理を行うことができる。これにより、利用者が、指示入力I/F4を介して対話的に、カラーマップを連続的に切り替えた場合であっても、画質が粗いボリュームレンダリング像を順次表示させて、カラーマップの更新に追従させながらボリュームレンダリング像を表示することができる。
<3. Decimation of 1 / K>
In the above volume rendering device, the voxel image creating means 30 creates a voxel image with the same number of voxels as the total number of pixels of a plurality of tomographic images, but creates a voxel image with a reduced number of voxels by thinning out voxels. You may do so. In this case, the voxel image creating unit 30 arranges the plurality of tomographic images three-dimensionally in association with every K pixels in each of three two-dimensional xy-axis directions and a z-axis direction orthogonal to the tomographic images. For each of the voxels, the signal value of the voxel is replaced with the color component and the opacity α, and an opacity voxel image in which the color component and the opacity are defined as the voxel value is created. For example, when K = 2, the xyz-axis direction can be thinned out to 各 々 each, so that the number of voxels to be processed becomes 8, and high-speed processing can be performed. Thereby, even when the user interactively switches the color map through the instruction input I / F 4 continuously, the volume rendering images with coarse image quality are sequentially displayed, and the color map is updated. A volume rendering image can be displayed while following.

<4.断層画像の階調落とし>
上記実施形態では、各画素が16ビットの信号値を記録した断層画像をそのまま用いてボクセル画像を作成するようにしたが、断層画像を8ビットに階調変換して階調低下画像を作成した後、ボクセル画像を作成するようにしてもよい。断層画像を8ビットに階調変換することにより、各画素の処理における負荷を削減することができ、ボリュームレンダリング像の高速な生成に寄与する。
<4. Degradation of tomographic image>
In the above-described embodiment, a voxel image is created using a tomographic image in which each pixel records a 16-bit signal value as it is. However, a gradation-reduced image is created by converting the tomographic image to 8 bits. Later, a voxel image may be created. By converting the tomographic image into 8-bit gradation, the load in processing each pixel can be reduced, which contributes to high-speed generation of a volume rendering image.

この場合、断層画像階調変換手段を更に設け、断層画像読込手段10が単一の断層画像を読み込むごとに、階調変換を行う。具体的には、一連のDICOM形式の断層画像Do(x,y,z)(−32768≦Do(x,y,z)≦32767,0≦x≦Sx−1,0≦y≦Sy−1,0≦z≦Sz−1; 解像度:Rxy,Rz)の中で、Sz/2番目の中間の断層画像Do(x,y,z/2)を最初に読み込み、同断層画像における全ての画素の最小値をDmin、最大値をDmaxとする。DminとDmaxは全ての断層画像より最小値と最大値を求める方法をとっても良いが、中間の断層画像だけで決定する方法をとると、大容量の16ビットの原断層画像の全てのスライス分を読み込んでメモリ上に保持することなく、階調低下画像である階調圧縮断層画像D8(x,y,z)だけをメモリ上に直接構築できる。続いて、以下の〔数式6〕に従った処理を実行して、下限値Lmin および上限値Lmaxを算出する。   In this case, a tomographic image gradation conversion unit is further provided, and the gradation conversion is performed every time the tomographic image reading unit 10 reads a single tomographic image. Specifically, a series of DICOM format tomographic images Do (x, y, z) (−32768 ≦ Do (x, y, z) ≦ 32767, 0 ≦ x ≦ Sx−1, 0 ≦ y ≦ Sy−1 , 0 ≦ z ≦ Sz−1; resolution: Rxy, Rz), the Sz / 2-th intermediate tomographic image Do (x, y, z / 2) is read first, and all pixels in the tomographic image are read. Is Dmin, and the maximum value is Dmax. For Dmin and Dmax, a method of obtaining the minimum value and the maximum value from all the tomographic images may be used. However, if a method of determining only the intermediate tomographic images is used, all slices of a large-capacity 16-bit original tomographic image are obtained. It is possible to directly construct only the gradation-compressed tomographic image D8 (x, y, z), which is a gradation-reduced image, on the memory without reading and holding it on the memory. Subsequently, a process according to the following [Equation 6] is executed to calculate a lower limit value Lmin and an upper limit value Lmax.

〔数式6〕
下限値Lmin=(Dmax−Dmin)・γ+Dmin
上限値Lmax=(Dmax−Dmin)・(1−γ)+Dmin
[Equation 6]
Lower limit value Lmin = (Dmax−Dmin) · γ + Dmin
Upper limit value Lmax = (Dmax−Dmin) · (1−γ) + Dmin

〔数式6〕において、γは階調圧縮画像のコントラスト調整幅で、0に近いほどコントラストが増大するが輝度が小さくなる。γは0.3未満の実数値であるが、通常はγ=0.1に設定する。レンダリング画像の輝度コントラストはカラーマップなど種々の設定で調整できるので、γは固定で良い。そして、下限値Lminおよび上限値Lmaxの範囲を256段階に圧縮して階調圧縮断層画像D8(x,y,z)を得る。具体的には、階調圧縮断層画像D8(x,y,z)(0≦D8(x,y,z)≦255,0≦x≦Sx−1,0≦y≦Sy−1,0≦z≦Sz−1; 解像度:Rxy,Rz)としたとき、以下の〔数式7〕に従った処理を実行して、階調圧縮断層画像D8(x,y,z) を算出する。   In [Equation 6], γ is a contrast adjustment width of the gradation-compressed image. As the value approaches 0, the contrast increases but the luminance decreases. Although γ is a real value less than 0.3, γ is usually set to 0.1. Since the luminance contrast of the rendered image can be adjusted by various settings such as a color map, γ may be fixed. Then, the range between the lower limit value Lmin and the upper limit value Lmax is compressed in 256 steps to obtain a gradation-compressed tomographic image D8 (x, y, z). Specifically, the gradation compression tomographic image D8 (x, y, z) (0 ≦ D8 (x, y, z) ≦ 255, 0 ≦ x ≦ Sx−1, 0 ≦ y ≦ Sy−1, 0 ≦ When z ≦ Sz−1; resolution: Rxy, Rz), a process according to the following [Equation 7] is executed to calculate a gradation compressed tomographic image D8 (x, y, z).

〔数式7〕
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
[Equation 7]
D8 (x, y, z) = (Do (x, y, z) −Lmin) · 255 / (Lmax−Lmin)
When D8 (x, y, z)> 255: D8 (x, y, z) = 255, When D8 (x, y, z) <0: D8 (x, y, z) = 0

〔数式7〕の第2式に示すように、信号値が上限値Lmaxを超える場合は255、下限値Lminを下回る場合は0として、下限値Lminから上限値Lmaxの範囲を0から255に線形変換する。なお、階調圧縮断層画像を用いてボクセル画像を作成する場合、図5のカラーマップに代えて、階調低下画像用のカラーマップとして、8ビットの信号値用のカラーマップを用意しておく。具体的には、信号値0〜255に対応付けてR,G,B、αが記録されたカラーマップを用いる。   As shown in the second equation of [Equation 7], when the signal value exceeds the upper limit value Lmax, 255, and when the signal value is lower than the lower limit value Lmin, it is set to 0, and the range from the lower limit value Lmin to the upper limit value Lmax is linearly from 0 to 255. Convert. When a voxel image is created using a gradation-compressed tomographic image, an 8-bit signal value color map is prepared as a color map for a gradation-reduced image instead of the color map in FIG. . Specifically, a color map in which R, G, B, and α are recorded in association with the signal values 0 to 255 is used.

以上、本開示の好適な実施形態について説明したが、本開示は上記実施形態に限定されず、種々の変形が可能である。本開示の趣旨を逸脱しない範囲で変更された態様は、本開示の技術的範囲に含まれる。   As described above, the preferred embodiments of the present disclosure have been described, but the present disclosure is not limited to the above embodiments, and various modifications are possible. Aspects changed without departing from the spirit of the present disclosure are included in the technical scope of the present disclosure.

1・・・CPU(Central Processing Unit)
2・・・RAM(Random Access Memory)
3・・・記憶装置
4・・・指示入力I/F
5・・・データ入出力I/F
6・・・表示部
7・・・GPU
8・・・フレームメモリ
10・・・断層画像読込手段
15・・・カラーマップ読込手段
20・・・ROIクリッピング設定手段
25・・・マスク設定手段
30・・・ボクセル画像作成手段
40・・・不透明度補正手段
50・・・陰影付加手段
70・・・レンダリング手段
71・・・3Dテクスチャ登録手段
72・・・座標変換手段
73・・・積層四角形設定手段
74・・・画素値算出手段
80・・・レンダリング画像出力手段
100・・・ボリュームレンダリング装置
1 ... CPU (Central Processing Unit)
2 ... RAM (Random Access Memory)
3. Storage device 4. Instruction input I / F
5 Data I / F
6 Display unit 7 GPU
8 ... Frame memory 10 ... Tomographic image reading means 15 ... Color map reading means 20 ... ROI clipping setting means 25 ... Mask setting means 30 ... Voxel image creating means 40 ... Not Transparency correction means 50 ... Shadow addition means 70 ... Rendering means 71 ... 3D texture registration means 72 ... Coordinate conversion means 73 ... Laminated square setting means 74 ... Pixel value calculation means 80 ...・ Rendered image output means 100 ・ ・ ・ Volume rendering device

Claims (11)

所定の対象物について所定の間隔で撮影された複数の2次元の断層画像に基づいて、信号値に対して色成分の値と不透明度を対応付けて定義されたカラ−マップを参照してレンダリング画像を生成するためのボリュームレンダリング装置であって、
前記カラ−マップを参照して、前記各断層画像の各画素の信号値を変換し、画素値として色成分および不透明度が定義された2次元の要素画像が重ねて配置されたボクセル画像を作成するボクセル画像作成手段と、
前記ボクセル画像を用いてレンダリング画像を生成するレンダリング手段と、を備え、
前記ボクセル画像作成手段は、所定の分割数をN(N>1)として、各前記断層画像をN個の断層画像群に分割し、N個の各断層画像群に対して、前記要素画像を作成する処理を並行して実行するボリュームレンダリング装置。
Based on a plurality of two-dimensional tomographic images photographed at predetermined intervals for a predetermined object, rendering is performed by referring to a color map defined by associating color component values and opacity with signal values. A volume rendering device for generating an image,
Referring to the color map, a signal value of each pixel of each of the tomographic images is converted, and a voxel image in which a two-dimensional element image in which a color component and an opacity are defined as pixel values is superposed is created. Means for creating voxel images,
Rendering means for generating a rendering image using the voxel image,
The voxel image creating means divides each of the tomographic images into N tomographic image groups by setting a predetermined number of divisions to N (N> 1), and divides the elemental image into N tomographic image groups. A volume rendering device that executes processing to be created in parallel.
各前記要素画像のx軸方向の左端に対応する座標をXso、x軸方向の右端に対応する座標をXeo、y軸方向の上端に対応する座標をYso、y軸方向の下端に対応する座標をYeo、第1番目の要素画像が配置されるz座標をZso、断層画像の総数であるM番目の要素画像が配置されるz座標をZeoとすると、Xso≦Xs<Xe≦Xeo、Yso≦Ys<Ye≦Yeo、Zso≦Zs<Ze≦Zeoを満たす、レンダリング画像を生成する対象となるボクセル画像領域を指定する6つの座標Xs,Xe,Ys,Ye,Zs,Zeが定義されている場合、
前記ボクセル画像作成手段は、x≦Xsまたはx≧Xeまたはy≦Ysまたはy≧Yeまたはz≦Zsまたはz≧Zeを満たす要素画像の各画素の不透明度を0にするようにしている請求項1に記載のボリュームレンダリング装置。
The coordinates corresponding to the left end in the x-axis direction of each of the element images are Xso, the coordinates corresponding to the right end in the x-axis direction are Xeo, the coordinates corresponding to the upper end in the y-axis direction are Yso, and the coordinates corresponding to the lower end in the y-axis direction. Let Xeo be Zeo, the z coordinate at which the first element image is arranged be Zso, and the z coordinate at which the Mth element image, which is the total number of tomographic images, be arranged be Zeo, Xso ≦ Xs <Xe ≦ Xeo, Yso ≦ When six coordinates Xs, Xe, Ys, Ye, Zs, and Ze that specify a voxel image region for which a rendering image is to be generated and satisfy Ys <Ye ≦ Yeo and Zso ≦ Zs <Ze ≦ Zeo are defined. ,
The voxel image creating means sets the opacity of each pixel of an element image satisfying x ≦ Xs or x ≧ Xe or y ≦ Ys or y ≧ Ye or z ≦ Zs or z ≧ Ze to 0. 2. The volume rendering device according to 1.
前記要素画像に対応して、0(表示しない)または1(表示する)の値をもつマスクデータが定義されている場合、
前記ボクセル画像作成手段は、各画素に不透明度および色成分を与えながら前記要素画像を作成する際、当該要素画像に対応する前記マスクデータを参照し、当該画素に対応する前記マスクデータの値が0の場合は、当該要素画像の当該画素の不透明度を0にするようにしている請求項1に記載のボリュームレンダリング装置。
When mask data having a value of 0 (not displayed) or 1 (displayed) is defined corresponding to the element image,
The voxel image creating means refers to the mask data corresponding to the element image when creating the element image while giving opacity and color components to each pixel, and the value of the mask data corresponding to the pixel is 2. The volume rendering device according to claim 1, wherein when 0, the opacity of the pixel of the element image is set to 0.
前記ボクセル画像作成手段は、作成された各要素画像の各画素について、前記各画素を含む少なくともxyz軸方向の近傍に位置する画素の不透明度を参照して、前記要素画像の画素の色成分の値を補正する陰影付加手段を備える請求項1から請求項3のいずれか一項に記載のボリュームレンダリング装置。   The voxel image creating means refers to the opacity of at least pixels in the xyz-axis direction, including the pixels, of each of the created element images, and refers to the opacity of the pixels of the element image. The volume rendering device according to claim 1, further comprising a shade adding unit that corrects a value. 前記断層画像群において、順に配置された一端を先頭、他端を末尾としたとき、
前記陰影付加手段は、前記断層画像群の先頭の断層画像から末尾の断層画像までの全ての断層画像について前記要素画像が作成された後、前記先頭の断層画像に対応する要素画像と前記末尾の断層画像に対応する要素画像の画素の色成分の値を補正するようにしている請求項4に記載のボリュームレンダリング装置。
In the tomographic image group, when one end arranged in order is a head and the other end is a tail,
The shading adding means, after the element image is created for all tomographic images from the first tomographic image to the last tomographic image of the tomographic image group, the element image corresponding to the first tomographic image and the last tomographic image 5. The volume rendering device according to claim 4, wherein a value of a color component of a pixel of the element image corresponding to the tomographic image is corrected.
前記断層画像群において、順に配置された一端を先頭、他端を末尾としたとき、
前記ボクセル画像作成手段は、前記断層画像群の末尾の断層画像について、前記要素画像を作成した後、前記断層画像群の先頭の断層画像から末尾の1つ前の断層画像までの各断層画像に対して、前記要素画像を作成し、
前記陰影付加手段は、前記先頭の断層画像に対応する要素画像、前記末尾の1つ前の断層画像に対応する要素画像および前記末尾の断層画像に対応する要素画像に対して色成分の値を補正する請求項4に記載のボリュームレンダリング装置。
In the tomographic image group, when one end arranged in order is a head and the other end is a tail,
The voxel image creating unit creates the element image for the tomographic image at the end of the tomographic image group, and then converts the tomographic image from the leading tomographic image of the tomographic image group to the preceding tomographic image at the end. On the other hand, creating the element image,
The shading adding means calculates a color component value for an element image corresponding to the leading tomographic image, an element image corresponding to the last tomographic image immediately before the ending, and an element image corresponding to the ending tomographic image. The volume rendering device according to claim 4, wherein the correction is performed.
前記レンダリング手段は、
前記色成分ボクセル画像で構成される3Dテクスチャ画像を生成する3Dテクスチャ登録手段と、
前記3Dテクスチャ画像に対して所定の座標変換を行って変換後3Dテクスチャ画像を生成する座標変換手段と、
3次元空間のxy座標面上の四角形をz軸方向に並べ、前記各四角形の4頂点の各3次元座標を前記変換後3Dテクスチャ画像の所定の4箇所の各3次元座標に対応付けた積層四角形を設定する積層四角形設定手段と、
所定の視点からz軸方向に平行な視線上の前記積層四角形上の3次元座標に対応する前記変換後3Dテクスチャ画像のボクセルの(R,G,B)で構成される色成分を当該ボクセルの不透明度に基づいて前記視点から遠い四角形の順にアルファブレンディングして得られた色成分を、前記レンダリング画像の(R,G,B)で構成される画素値として与えるようにしている画素値算出手段と、
を備えている請求項1から請求項6のいずれか一項にボリュームレンダリング装置。
The rendering means,
3D texture registration means for generating a 3D texture image composed of the color component voxel images;
Coordinate conversion means for performing predetermined coordinate conversion on the 3D texture image and generating a converted 3D texture image;
A stack in which quadrangles on an xy coordinate plane of a three-dimensional space are arranged in the z-axis direction, and three-dimensional coordinates of four vertices of each quadrilateral are associated with predetermined three-dimensional coordinates at four predetermined positions of the converted 3D texture image. Stacking rectangle setting means for setting a rectangle,
A color component composed of (R, G, B) of the voxel of the converted 3D texture image corresponding to the three-dimensional coordinates on the stacked rectangle on a line of sight parallel to the z-axis direction from a predetermined viewpoint is converted to the voxel of the voxel. A pixel value calculating means for providing a color component obtained by alpha blending in the order of rectangles farther from the viewpoint based on the opacity as a pixel value composed of (R, G, B) of the rendering image When,
The volume rendering device according to any one of claims 1 to 6, further comprising:
前記座標変換手段は、
所定の3次元座標系における回転を定義した4×4行列、視野角度、視点位置、クリッピング位置、xyz軸方向のオフセット値、xyz軸方向の拡大又は縮小倍率、z軸方向変倍率を含む所定の座標変換のパラメータを取得し、
前記3Dテクスチャ画像に対して、前記取得したパラメータを用いた前記所定の座標変換を行って前記変換後3Dテクスチャ画像を生成するようにしている請求項7にボリュームレンダリング装置。
The coordinate conversion means,
A predetermined 4 × 4 matrix defining rotation in a predetermined three-dimensional coordinate system, including a viewing angle, a viewpoint position, a clipping position, an offset value in the xyz axis direction, an enlargement or reduction magnification in the xyz axis direction, and a magnification in the z axis direction. Get the parameters of the coordinate transformation,
8. The volume rendering device according to claim 7, wherein the predetermined coordinate conversion is performed on the 3D texture image using the acquired parameters to generate the converted 3D texture image.
前記座標変換手段および前記画素値算出手段は、汎用コンピュータのビデオカードに搭載されているGPUおよびフレームメモリを用いて実行するようにしている請求項8にボリュームレンダリング装置。   9. The volume rendering device according to claim 8, wherein said coordinate conversion means and said pixel value calculation means are executed using a GPU and a frame memory mounted on a video card of a general-purpose computer. 請求項1から請求項9のいずれか一項に記載のボリュームレンダリング装置として、コンピュータを機能させるためのプログラム。   A program for causing a computer to function as the volume rendering device according to any one of claims 1 to 9. 所定の対象物について所定の間隔で撮影された複数の2次元の断層画像の各画素に対応し、あらかじめ定義されたカラ−マップを参照して定められた各ボクセルで構成されるボクセル構造体のボクセルデータであって、
所定の分割数をN(N>1)として、各前記断層画像に対応して作成された要素画像が、N個の要素画像群に分割されており、
前記N個の要素画像群は、N個の要素画像群を統合したボクセル画像を作成するボクセル画像作成手段により並行して処理されるボクセルデータ。
A voxel structure corresponding to each pixel of a plurality of two-dimensional tomographic images taken at predetermined intervals of a predetermined target object and configured by voxels determined with reference to a predefined color map. Voxel data,
Assuming that a predetermined number of divisions is N (N> 1), an element image created corresponding to each of the tomographic images is divided into N element image groups,
The N element image groups are voxel data processed in parallel by a voxel image creating unit that creates a voxel image by integrating the N element image groups.
JP2018166574A 2018-09-06 2018-09-06 volume rendering device Active JP7223312B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2018166574A JP7223312B2 (en) 2018-09-06 2018-09-06 volume rendering device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2018166574A JP7223312B2 (en) 2018-09-06 2018-09-06 volume rendering device

Publications (2)

Publication Number Publication Date
JP2020038592A true JP2020038592A (en) 2020-03-12
JP7223312B2 JP7223312B2 (en) 2023-02-16

Family

ID=69738137

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018166574A Active JP7223312B2 (en) 2018-09-06 2018-09-06 volume rendering device

Country Status (1)

Country Link
JP (1) JP7223312B2 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7469929B2 (en) 2020-03-24 2024-04-17 キヤノンメディカルシステムズ株式会社 Medical image processing device and X-ray imaging device

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0773337A (en) * 1993-09-03 1995-03-17 Ibm Japan Ltd Method and device for interactive volume rendering
JP2000287964A (en) * 1999-04-02 2000-10-17 Terarikon Inc Three-dimensional image display device
JP2003263651A (en) * 2002-03-12 2003-09-19 Inst Of Physical & Chemical Res Volume rendering method and its program
JP2006277490A (en) * 2005-03-30 2006-10-12 Namco Bandai Games Inc Program, information storage medium and image generation system
JP2008259698A (en) * 2007-04-12 2008-10-30 Fujifilm Corp Image processing method and apparatus, and program
JP2009160306A (en) * 2008-01-09 2009-07-23 Ziosoft Inc Image display device, control method of image display device and control program of image display device
JP2012105966A (en) * 2010-10-19 2012-06-07 Toshiba Corp Ultrasonic diagnostic apparatus, ultrasonic image processor and ultrasonic image-processing program

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0773337A (en) * 1993-09-03 1995-03-17 Ibm Japan Ltd Method and device for interactive volume rendering
JP2000287964A (en) * 1999-04-02 2000-10-17 Terarikon Inc Three-dimensional image display device
JP2003263651A (en) * 2002-03-12 2003-09-19 Inst Of Physical & Chemical Res Volume rendering method and its program
JP2006277490A (en) * 2005-03-30 2006-10-12 Namco Bandai Games Inc Program, information storage medium and image generation system
JP2008259698A (en) * 2007-04-12 2008-10-30 Fujifilm Corp Image processing method and apparatus, and program
JP2009160306A (en) * 2008-01-09 2009-07-23 Ziosoft Inc Image display device, control method of image display device and control program of image display device
JP2012105966A (en) * 2010-10-19 2012-06-07 Toshiba Corp Ultrasonic diagnostic apparatus, ultrasonic image processor and ultrasonic image-processing program

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7469929B2 (en) 2020-03-24 2024-04-17 キヤノンメディカルシステムズ株式会社 Medical image processing device and X-ray imaging device

Also Published As

Publication number Publication date
JP7223312B2 (en) 2023-02-16

Similar Documents

Publication Publication Date Title
JP6392370B2 (en) An efficient re-rendering method for objects to change the viewport under various rendering and rasterization parameters
JP4213135B2 (en) Developed image projecting method, developed image projecting program, developed image projecting apparatus
US20050237336A1 (en) Method and system for multi-object volumetric data visualization
JP6215057B2 (en) Visualization device, visualization program, and visualization method
WO2009122724A1 (en) Image processing device and method, and program
JP7223312B2 (en) volume rendering device
JP2020142003A (en) Mask generation device, three-dimensional reconstruction image generation device, mask generation method and program
JP7180123B2 (en) Medical image processing apparatus, medical image processing method, program, and data creation method
JP7013849B2 (en) Computer program, image processing device and image processing method
JP6544472B1 (en) Rendering device, rendering method, and program
JP7247577B2 (en) 3D reconstructed image display device, 3D reconstructed image display method, program, and image generation method
CN111210898A (en) Method and device for processing DICOM data
JP6418344B1 (en) Computer program, image processing apparatus, and image processing method
JP7003635B2 (en) Computer program, image processing device and image processing method
JP7131080B2 (en) volume rendering device
JP7206846B2 (en) volume rendering device
JP7155670B2 (en) Medical image processing apparatus, medical image processing method, program, and data creation method
JP7095409B2 (en) Medical image processing device, medical image processing method, program, and MPR image generation method
JP5245811B2 (en) Voxel array visualization device
JP7167699B2 (en) volume rendering device
JP7283603B2 (en) COMPUTER PROGRAM, IMAGE PROCESSING APPARATUS AND IMAGE PROCESSING METHOD
JP6443574B1 (en) Ray casting program, search control data, search control data generation method, and ray casting apparatus
JP6436258B1 (en) Computer program, image processing apparatus, and image processing method
JP7206617B2 (en) Color map optimization device and volume rendering device for tomographic image display
JP4292645B2 (en) Method and apparatus for synthesizing three-dimensional data

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20210727

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20220530

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20220628

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20220829

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: 20230106

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20230119

R150 Certificate of patent or registration of utility model

Ref document number: 7223312

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150