JP7223312B2 - volume rendering device - Google Patents

volume rendering device Download PDF

Info

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

Images

Landscapes

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

Description

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

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

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

また、カラーマップに依存しないVISボリューム(信号値、陰影輝度値、不透明度強度係数の3パラメータをもつボクセル)でレンダリングする方法も提案されている(特許文献2参照)。 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) that does not depend on a color map has also been proposed (see Patent Document 2).

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

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

そこで、本開示は、複数の断層画像に対してカラーマップを適用して、レンダリング画像を生成する際、レンダリング画像の生成処理の速度を向上させることが可能なボリュームレンダリング装置を提供することを課題とする。 Therefore, an object of the present disclosure is to provide a volume rendering apparatus capable of improving the speed of rendering image generation processing 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 multiple means for solving the above problems, but if one example is given,
Rendering with reference to a color map defined by associating color component values and opacity with signal values, based on multiple 2D tomographic images of a given object taken at given intervals. A volume rendering device for generating an image, comprising:
By referring to the color map, the signal value of each pixel of each tomographic image is converted to create a voxel image in which two-dimensional elemental images with color components and opacity defined as pixel values are superimposed. voxel image creating means for
and rendering means for generating a rendered image using the voxel image,
The voxel image creating means divides each of the tomographic images into N tomographic image groups with a predetermined number of divisions being N (N>1), and divides each of the tomographic images into N tomographic image groups. Execute the processes you create in parallel.

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

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

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

複数の断層画像と、ボリュームレンダリング像として生成されるカラーのレンダリング画像を示す図である。FIG. 3 is a diagram showing 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. 本実施形態に係るボリュームレンダリング装置の構成を示す機能ブロック図である。1 is a functional block diagram showing the configuration of a volume rendering device according to an embodiment; FIG. 本実施形態に係るボリュームレンダリング装置の処理動作を示すフローチャートである。4 is a flowchart showing processing operations of the volume rendering device according to the embodiment; 本実施形態で用いるカラーマップを示す図である。It is a figure which shows the color map used by this 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における要素画像の作成処理を示すフローチャートである。FIG. 7 is a flowchart showing element image creation processing in steps S510 and S530 shown in FIG. 6; FIG. 3Dテクスチャマッピングにおける対応付けを示す図である。FIG. 4 is a diagram showing correspondence in 3D texture mapping; 3Dテクスチャマッピング方式の処理を行う場合の、レンダリング手段70の構成を示す図である。FIG. 4 is a diagram showing the configuration of the rendering means 70 when performing 3D texture mapping method processing; 本実施形態のレンダリング手段70による投影画面設定の一例を示す説明図である。4 is an explanatory diagram showing an example of projection screen setting by rendering means 70 of the present embodiment; FIG. 3Dテクスチャマッピング方式によるレンダリング処理の詳細を示すフローチャートである。4 is a flowchart showing details of rendering processing by a 3D texture mapping method; (a)クリッピング設定、色値および不透明度の双方をクリッピング処理、(b)マスク設定、色値および不透明度の双方をマスク処理を行った状態のレンダリング画像の表示例を示す図である。FIG. 10 is a diagram showing a display example of a rendered image in a state where (a) clipping processing is performed on both the clipping setting, color value, and opacity, and (b) masking processing is performed on both the mask setting, color value, and opacity. (a)クリッピング設定、不透明度のみをクリッピング処理、(b)マスク設定、不透明度のみをマスク処理を行った状態のレンダリング画像の表示例を示す図である。FIG. 10 is a diagram showing a display example of a rendered image in a state where (a) clipping setting and clipping processing are performed only for opacity, and (b) mask setting and mask processing are performed for only opacity. コンピュータによりボリュームレンダリング装置100を実現する場合の並列化処理を示す図である。FIG. 4 is a diagram showing parallel processing when the volume rendering device 100 is implemented by a computer; コンピュータによりボリュームレンダリング装置100を実現する場合の並列化処理のソフトウェアによる流れを示す図である。FIG. 4 is a diagram showing a software flow of parallel processing when the volume rendering device 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ビットで表現したものである。
Preferred embodiments of the present disclosure will be described in detail below with reference to the drawings.
The present disclosure generates a rendering image by referring to a color map defined by associating color component values and opacities with signal values based on a plurality of tomographic images. FIG. 1 is a diagram showing a plurality of tomographic images and a rendering image. FIG. 1(a) shows a plurality of tomographic images, FIG. 1(b) shows a single tomographic image, and FIG. 1(c) shows a rendered image. The tomographic images shown in FIGS. 1A and 1B are in DICOM format. FIG. 1(a) is a group of 370 tomographic images, and FIG. 1(b) is an enlarged view of one of them. A volume rendering apparatus according to an embodiment, which will be described later, executes rendering processing on a plurality of tomographic images as shown in FIG. Generate. The rendered image shown in FIG. 1(c) has 512×512 pixels, and each pixel is represented 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 this embodiment can be realized by a general-purpose computer, and as shown in FIG. , a large-capacity storage device 3 such as a hard disk, SSD (Solid State Drive), flash memory, etc. for storing programs and data executed by the CPU 1, and an instruction input I / F (interface) 4 such as a keyboard, mouse, etc. , a data input/output I/F (interface) 5 for 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 specializing 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 are provided, and are connected to each other via a bus. Since the calculation result by the GPU 7 is written to the frame memory 8, the GPU 7 and the frame memory 8 are often mounted on a video card having an interface to the display unit 6 and attached to a general-purpose computer via a bus.

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

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

断層画像読込手段10は、CT、MRI、PETなどの医用画像診断機器により収集および蓄積されたPACSから、記憶媒体や入力部を経由して、複数の断層画像を読み込む手段である。断層画像は、対象物に対して所定の間隔で撮影されて得られたものであり、各画素に信号値が付与された2次元の断層画像である。カラーマップ読込手段15は、図示されていないカラーマップ作成手段により、あらかじめ作成されたカラーマップを記憶媒体や入力部から、カラーマップを読み込む手段である。ROIクリッピング設定手段20は、読み込んだ複数の断層画像のうち、ボクセル画像の作成対象を、関心領域であるROIとして設定する手段である。マスク設定手段25は、読み込んだ複数の断層画像のうち、表示させない領域をマスク設定する手段である。 The tomographic image reading means 10 is means for reading a plurality of tomographic images from PACS collected and stored by medical image diagnostic equipment such as CT, MRI, and PET via a storage medium and an input unit. A tomographic image is obtained by photographing an 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 a means for reading a color map created in advance by a color map creating means (not shown) from a storage medium or an input section. The ROI clipping setting means 20 is a means for setting an ROI, which is a region of interest, as a voxel image creation target among a plurality of read tomographic images. The mask setting means 25 is a means for masking and setting an area not to be displayed among 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 color component values and opacities with signal values, and refers to each pixel of a plurality of tomographic images arranged three-dimensionally. This is a means of creating a voxel image by giving color component values and opacity to voxels. The voxel image creating means 30 further comprises opacity correcting means 40 and shadow 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. The shading means 50 creates a gradient vector in the voxel based on the opacity α of voxels near the voxel for the color component composed of (R, G, B) of each voxel of the color component voxel image. is calculated, and using the calculated gradient vector, a shade value is calculated, and each value of the color components (R, G, B) is multiplied by the shade value and replaced with a 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 means 30 , the opacity correcting means 40 , and the shadow adding means 50 are implemented by the CPU 1 executing programs stored in the storage device 3 . The rendering means 70 is implemented mainly by executing a program on the GPU 7 with the assistance of the CPU 1 . The rendered image output means 80 is realized mainly in the frame memory 8 and the display section 6 with the assistance of the CPU 1 .

図3に示した各構成手段は、現実には図2に示したように、コンピュータおよびその周辺機器等のハードウェアに専用のプログラムを搭載することにより実現される。すなわち、コンピュータが、専用のプログラムに従って各手段の内容を実行することになる。なお、本明細書において、コンピュータとは、CPU、GPU等の演算処理部を有し、データ処理が可能な装置を意味し、パーソナルコンピュータなどの汎用コンピュータだけでなく、GPUを搭載するタブレットなどの携帯端末や様々な装置に組み込まれたコンピュータも含む。 Each component shown in FIG. 3 is actually implemented by installing a dedicated program in hardware such as a computer and its peripherals, as shown in FIG. That is, the computer executes the contents of each means according to a dedicated program. In this specification, a computer means a device that has an arithmetic processing unit such as a CPU or GPU and is capable of data processing. It also includes computers embedded in mobile terminals and 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, processing operations of the volume rendering apparatus shown in FIGS. 2 and 3 will be described. FIG. 4 is a flowchart showing processing operations of the volume rendering apparatus according to this embodiment. First, the tomographic image reading means 10 reads a plurality of tomographic images. The plurality of tomographic images are in the form shown in FIG. 1(a). In this embodiment, a DICOM format tomographic image group 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). 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 stacking Sz tomographic images each having an x-coordinate size (number of pixels) of Sx and a y-coordinate size (number of pixels) of Sy. In the following description, the number of tomographic images Sz is also expressed as M. The horizontal direction of one tomographic image in FIG. 1(b) corresponds to the x-axis, the vertical direction to the y-axis, and the stacking direction of the multiple tomographic images shown in FIG. 1(a) to the z-axis. handle.

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 DICOM-format tomographic images, the ROI clipping setting means 20 sets the ROI clipping (step S10). ROI is an abbreviation for Region of Interest, and in this specification means a region of interest in a three-dimensional space (scientifically, ROI refers to a two-dimensional region, and in the case of a three-dimensional region, VOI (Volume of Interest) , but in the medical imaging industry, ROI is often used even in a three-dimensional area). Here, the ranges for which rendering images and voxel images are to be created are shown. By setting the ROI, it is possible to generate a volume rendering image in which the subject is cut at an arbitrary position three-dimensionally, which is used to depict organs hidden in the body surface and bones, and the interior of the organs. 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のレンダリング処理でクリッピング(断裁)されたボリュームレンダリング像が生成される。 Xso is the coordinate corresponding to the left end in the x-axis direction of each read tomographic image, Xeo is the coordinate corresponding to the right end in the x-axis direction, Yso is the coordinate corresponding to the upper end in the y-axis direction, and Yso is the coordinate corresponding to the lower end in the y-axis direction. Let Yeo be the coordinates, Zso be the coordinates corresponding to the tomographic image of the first slice (first: first), and Zeo be the coordinates corresponding to the last slice (end: Mth) tomographic image. A range defined by a rectangular parallelepiped of [Xs, Xe], [Ys, Ye], and [Zs, Ze] satisfying ≦Xeo, Yso≦Ys<Ye≦Yeo, Zso≦Zs<Ze≦Zeo is defined as an ROI and processed. Identify as a target. That is, six coordinates Xs, Xe, Ys, Ye, Zs, and Ze are defined that specify the voxel image area for which the rendering image is to be generated. As a result of the ROI clipping setting in step S10, the number of pixels to be processed is (Xeo−Xso+1)×(Yeo−Yso+1)×(Zeo−Zso+1) pixels, and (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 in which the organ to be observed is exposed is obtained, the number of pixels to be processed is reduced, thereby suppressing the processing load and improving the responsiveness. Since there is a double merit that it can be improved, it is often set, but it is possible to omit it because it is not an essential process. At the stage of ROI clipping setting in step S10, only the range to which ROI clipping is applied is defined, and specific clipping processing is executed in each processing after step S20. In each process, the processing load is reduced by performing calculations limited to the ROI range of the voxel image, and a clipped volume rendering image is generated in the rendering process of 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 next performs mask setting (step S15). A mask setting is a setting as to whether or not to display each pixel of a tomographic image. The mask setting method is not particularly limited, but in this embodiment, the group of tomographic images read in step S10 is displayed on the screen as an MPR image (three screens of axial, coronal, and sagittal), and the method described in this specification is displayed. Alternatively, a volume rendering image created by a known method is displayed, an image that is easiest to indicate is selected from a plurality of these two-dimensionally projected images, and a two-dimensional region of the selected image is indicated while masking. to specify the range that should not be displayed and the area that should be displayed without masking. With this mask setting, mask data in a three-dimensional space corresponding to the group of tomographic images is obtained. The mask data Mask (x, y, z) is set to either "0" or "1" corresponding to each pixel of the tomographic image group Do (x, y, z). . Although the process of creating such a three-dimensional mask is almost essential, it can be omitted. Although the above-mentioned ROI clipping is also available as a method of depicting an organ to be observed, the ROI clipping process is often used in combination because the operation is simpler than that of the three-dimensional mask and the processing load is reduced. A specific area to be displayed is set by the ROI clipping setting means 20 and the mask setting means 25. If both are set, the area set as the area to be displayed is the effective area. If either one of them is set, then the area set as the area to be displayed becomes the effective area. When neither the ROI clipping setting means 20 nor the mask setting means 25 is set, the entire area of the loaded tomographic image group becomes the effective area.

次に、ボクセル画像作成手段30が、ボクセル画像作成処理を行う(ステップS20)。ボクセル画像とは、断層画像の各画素が3次元空間にボクセルとして配置されたボクセル構造体である。ステップS20における具体的な処理としては、カラーマップ読込手段15から読み込んだカラーマップを用いて、クリッピング設定後の断層画像のROI範囲に含まれる各画素の信号値に対して対応する値を付与し、ボクセル画像を作成する。 Next, the voxel image creation means 30 performs voxel image creation processing (step S20). A voxel image is a voxel structure in which each pixel of a 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 setting is assigned using the color map read from the color map reading unit 15. , to 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 this embodiment. In FIG. 5, the signal value is the signal value recorded in each pixel of the tomographic image, R, G, and B are the color components of red, green, and blue, respectively, and α is the degree of display of the voxel. Opacity to specify. FIG. 5 is a color map when signal values of a tomographic image are recorded in 16 bits and take values from -32768 to 32767. FIG. In the case of a CT image, it is often normalized to a range from -2048 to 2048 with the water component set to 0. As shown in FIG. 5, in the color map, the signal value of each pixel of the tomographic image is associated with each of the R, G, and B color components and the opacity α. By using such a color map, for each voxel of the voxel image corresponding to each pixel of the tomographic image, each of the R, G, and B color components corresponding to the signal value of that pixel and the opacity α are obtained as voxel values. , it is possible to create a voxel image for generating a full-color volume rendering image.

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

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

ステップ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 generating means 30 generates signals at each pixel (x, y, z) corresponding to the range of Xs<x<Xe, Ys<y<Ye, and Zs<z<Ze of a plurality of tomographic images. The color map is referred to using the values, and the values of R, G, B, which are the color components corresponding to the signal value, and the opacity α are obtained, and these values are used as the values of the corresponding voxels. For voxel (x,y,z) values in the range x≤Xs or Xe≤x or y≤Ys or Ye≤y or z≤Zs or Ze≤z uniformly R=G=B=α =0. By performing this process on all 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, each voxel in the voxel image has four values of R, G, B, and α. Since each color component R, G, B, and α is recorded with 8 bits per pixel, each pixel is recorded with 32 bits in the voxel image.

本実施形態では、ステップ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 this embodiment, the voxel image creation process in step S20 is performed in parallel by a plurality of CPU cores. FIG. 6 is a flow chart showing a case where the voxel image creation processing and the like in step S20 are performed in parallel. The voxel image creating means 30 divides the tomographic image group read in step S10 into N (an integer of N≧2), and performs parallel processing in each CPU core. Since the direction in which each tomographic image having (x, y) coordinates is stacked is the z-axis direction, it is divided into N pieces according to the value of the z-coordinate. Specifically, the coordinates of the leading tomographic image of each tomographic image group are set to Z1, and the coordinates of the trailing tomographic image are set to 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 tomographic image group, tomographic images are arranged in order, with one end being the head and the other end being the tail.

断層画像群が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つ遅れで実行されることになる。 After the tomographic image group is divided into N pieces and each is assigned to each CPU core, each CPU core executes processing according to the flowchart shown in FIG. First, the outline configuration of the processing of the core portion from steps S520 to S550 in FIG. 6 will be described. In this process, for each tomographic image of the group of divided tomographic images, elemental images are basically created in order from the beginning Z1 to the end Z2 (step S530), and shading is applied to the created elemental images. (Step S540) is performed to update the element image. An elemental image is an image obtained by converting each pixel value (signal value) of a tomographic image into a color value (R, G, B) and an opacity (α). Yes, and is part of the three-dimensional image. That is, a voxel image is obtained by superimposing two-dimensional elemental images. Therefore, the values of each voxel of the elemental image are four, R, G, B, and α, as described above. The elemental image of the coordinate z is created in one-to-one correspondence with each pixel of the tomographic image of 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, the first problem arises that it cannot be executed continuously. At the stage of executing the shading process (step S540), since there is no element image at the coordinate z+1, the previously created element image at the coordinate z−1 is changed to the previously created coordinate z− 2 and the currently created element image at the coordinate z are subjected to shading addition processing to update the previously created element image at the coordinate z−1. That is, the shading process (step S540) is always executed with a delay of one z coordinate.

このようにして、先頭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に対応する。 In this way, if the processing from steps S520 to S550 is repeated in order from the beginning Z1 to the end Z2, all the element images from the beginning Z1 to the end Z2 are created (in the configuration of FIG. , the element image of the end Z2 is not created in this process), and the element images of the beginning Z1 and the end Z2 are not subjected to shading. In order to execute the shading process on the element images at the beginning 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. created by other CPU cores that are Therefore, after completing the series of processes from steps S520 to S550, shadows are applied to the element images at the beginning Z1 and the end Z2 while referring to the element images created by other CPU cores arranged in the shared memory. Execute additional processing. This addition 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点の要素画像に対して陰影付加処理のみを追加で行う。 Another problem arises here. When executing shading processing on the element image with the last Z2, the element image with coordinates Z2+1 created by another CPU core placed in the shared memory is referenced, but the element image is Since the element image corresponds to the element image at the beginning Z1 and is created first in order, the element image at the coordinate Z2+1 becomes There is no problem because there is a high possibility that it has already been created. However, when executing the shading process for the element image at the beginning Z1, the element image at the coordinate Z1-1 created by another CPU core is referred to, but the element image is the element image at the end Z2 in the other CPU core. Since the element image corresponds to the element image and is created last in order, the element image at the coordinate Z1-1 is created at the stage when the CPU core executes the shading process for the element image at the beginning Z1. may not be in time (more than half of the cases in the experiment were not in time). Therefore, each CPU core gives top priority to the creation of the element image of the end Z2 (step S510). After that, the processing from steps S520 to S550 is executed, but since the creation of the element image of 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. do. Then, in addition to the element images at the beginning Z1 and the end Z2, the element image at the coordinate Z2-1 is not subjected to the shading process. Therefore, as shown in step 560, only the shading process is additionally performed for the three element images of the head Z1, the tail 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 contents will be described in detail according to the flowchart shown in FIG. First, an elemental image corresponding to the tomographic image that is the last z-coordinate is created (step S510). In step S510, processing for correcting the opacity of the created elemental image is also performed as an optional processing. Details of the processing in step S510 will be described later. After specifying the voxel values and correcting the opacity of the element image corresponding to the last tomographic image in step S510, the next tomographic image to be processed is shifted to the top z-coordinate (step S520). Specifically, the processing target is shifted to z=Z1 at the beginning. Z1 is an integer that satisfies Zs≦Z1<Z2≦Ze.

次に、処理対象とするz座標の断層画像に対応する要素画像を作成する(ステップS530)。ステップS530においても、必須でない処理として、作成された要素画像の不透明度を補正する処理が行われる。ステップS530における具体的な処理は、処理対象の要素画像が異なる以外は、ステップS510と全く同じである。したがって、ステップS530における処理の詳細についても後述する。 Next, an elemental image corresponding to the z-coordinate tomographic image to be processed is created (step S530). Also in step S530, a process of correcting the opacity of the created elemental image is performed as an optional process. The specific processing in step S530 is exactly the same as step S510, except that the element images to be processed are different. Therefore, the details of the processing in step S530 will also 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 creating the elemental image in step S530, z is compared with (Z1+2), and if z≧(Z1+2), shading is added (step S540). Therefore, if z<(Z1+2), the shading process in step S540 is not performed. That is, the first element image (z=Z1) is not subjected to shading (the second element image (z=Z1+1) from the top is subjected to shading at the stage of z=Z1+2). The shading process in step S540 is performed on the elemental image one slice before. Details of the processing in step S540 will also 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 finishing the shading process in step S540, z is incremented (z←z+1). If z<Z2, the process returns to step S530 and repeats the processes up to step S550. On the other hand, if z≧Z2, shadow Addition processing is performed (step S560). The specific processing in step S560 is exactly the same as step S540, except that the element images to be processed are different. Therefore, the details of the processing 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つ前の断層画像に対応する要素画像および末尾の断層画像に対応する要素画像に対して色成分の値を補正して、陰影付加を行っている。 As a result, in the process 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 created. Elemental images up to one (z=Z2-1) before (z=Z2-1) and shading processing are repeatedly performed (steps S530 to S550). However, the top element image and the last two element images are not shaded. Finally, shadow addition processing is performed on the three element images for which 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 top tomographic image to the last tomographic image in the group of tomographic images. Shading is added by correcting the color component values of the pixels of the elemental image corresponding to the image and the elemental images corresponding to the last two tomographic images. More specifically, in steps S510 to S550, after the voxel image creation means 30 creates element images for the last tomographic image of the tomographic image group, the voxel image creating unit 30 creates the tomographic image from the first tomographic image of the tomographic image group to the one before the end. In step S560, the shading means 50 generates an element image corresponding to the top tomographic image and the element image corresponding to the last tomographic image. and the element images corresponding to the tomographic images at the end are shaded by correcting the color component values.

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

上述のステップ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(α))をもつ要素画像が作成される。 Details of the processing of steps S510 and S530 described above will be described. FIG. 7 is a flow chart showing the process of creating an elemental image in steps S510 and S530. First, an elemental image corresponding to the target z-coordinate tomographic image is created (step S511). Specifically, using a 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, and B corresponding to the signal value of that pixel is An element image is created by giving the component and opacity α as voxel values. For example, when z=zu, an elemental image with voxel values V(x, y, zu, c) (c=0 (R), 1, (G), 2 (B), 3 (α)) is created. be 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 α value, which is opacity, is corrected (step S512). Specifically, an opacity correction table Sα(x, y, z) (0≦Sα(x, y, z)≦1; 0≦x≦Sx-1, 0≦ y≤Sy-1, 0≤z≤Sz-1), the opacity α is corrected by performing the 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 three-dimensional space (x, y, z). The same function sets the correction magnification to the maximum in the central area where the internal organs exist, decreases the correction magnification toward the periphery by a predetermined function, Outside the body: bed, headrest/fixing jig) is defined so that the correction magnification is 0. By executing the processing according to [Formula 1] using this, it is possible to obtain a volume rendering image in which the outside of the bone region becomes transparent and only the visceral region is exposed.

〔数式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 since it is the case of 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 this embodiment corresponds to each pixel of a plurality of two-dimensional tomographic images, and is a voxel structure composed of each voxel determined 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 the predetermined number of divisions (both M and N are 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 means for creating a voxel image by integrating the N element image groups. processed and created as

上述のステップ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〕に従った処理を実行することにより算出する。 Details of the shadow adding process in step S540 described above will be described. In step S540, the shadow addition means 50 performs shadow addition processing. This is a process of adding a shadow corresponding to a predetermined lighting environment to a voxel image. Specifically, the voxel opacity α , 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 ambient light components are set, and shadows to be added are calculated. Specifically, first, a light source vector (Lx, Ly, Lz) and an ambient light component Ab are set as unit vectors indicating the directions of the parallel light sources. 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. .57735, 0.57735) and set Ab=0.2. Lx, Ly, and Lz are real numbers with absolute values less than 1 (including negative values), and Ab is a real number of 0 or more and 1 or less. Then, the gradient vector (Gx, Gy, Gz) at the voxel (x, y, zu-1) of the voxel image is calculated by performing the processing according to [Equation 2] below.

〔数式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
[Formula 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 [Formula 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 is the number of pixels per mm, and the x-axis direction and the y-axis direction are the same), 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), G is the gradient vector ( Gx, Gy, Gz). Rxy/Rz is defined as the z-axis direction scaling factor. The reciprocal of the magnification may be multiplied. As shown in [Equation 2], the shading means 50 calculates the difference value of the opacity of two neighboring voxels in each of the x-axis direction, y-axis direction, and z-axis direction of the voxel of the voxel image as 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 to 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 at the voxel. Further, when G≧1, the processing according to [Equation 3] below 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 number of 0 or more and 1 or less.

〔数式3〕
S(x,y,zu-1)=(1-Ab)(|Gx・Lx+Gy・Ly+Gz・Lz|)/G+Ab
[Formula 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 a uniform region (in the background air, lung fields, etc.) where there is no opacity gradient, or it is the outermost region. Therefore, the brightness value S(x, y, zu-1) is set to 0 without adding shading. In [Equation 3], |Gx·Lx+Gy·Ly+Gz·Lz| indicates an absolute value, and the light source vector in the opposite direction (-Lx, -Ly, -Lz) is also virtually irradiated at the same time, and the subject is in the opposite direction. Diffuse reflected light with the same brightness can be obtained even at an angle.

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

〔数式4〕
V´(x,y,zu-1,c)=S(x,y,zu-1)・V(x,y,zu-1,c)
[Formula 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, 2, corresponding to the R, G, and B color components, respectively. That is, in [Equation 4], only the color component is corrected. In this way, an elemental image V'(x, y, zu-1, c) that has undergone shading processing for the tomogram of z=zu-1 is obtained. As a result, the shading means 50 performs the processing according to [Equation 2] to [Equation 4], so that for each pixel of each element image (zu-1) created, an element adjacent to the element image By referring to the opacity α of the pixels located near the xyz axis direction including the image (zu, zu-2), the color component value of the pixel of the element image (zu-1) is corrected, and shading is added. Is going. In this embodiment, as a preferred example, adjacent pixels are used as pixels for which the opacity α is referred to, but the pixels are not limited to adjacent pixels, and other nearby pixels may be referred to.

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

ステップS20におけるボクセル画像作成処理を終了したら、ボクセル画像を3Dテクスチャ画像に登録する(ステップS60)。具体的には、レンダリング手段70が、3Dテクスチャマッピング方式を実行する際に用いられる3Dテクスチャ画像としてボクセル画像を登録する。 After completing the voxel image creation process in step S20, the voxel image is registered in the 3D texture image (step S60). Specifically, the rendering means 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 correspondence in 3D texture mapping. FIG. 8(a) shows a 3D texture map in the texture coordinate system, and FIG. 8(b) shows the stacked rectangles defined in the world coordinate system. The 4 vertices of each quadrangle that makes up the stacked quadrangle are associated with the 4 voxels of the 3D texture image, and each quadrangle is the basis of the texture map when it is not rotated as shown in FIG. There is a one-to-one correspondence with the tomographic image and the elemental image, and the four vertices of each quadrangle are associated with the tomographic image and the four corner pixels and voxels of the elemental image.

具体的には、図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 quadrilaterals. In this case, the 3D world coordinates of the four vertices of each quadrangle in the world coordinate system (corresponding to the viewpoint coordinate system) are associated with the 3D 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 (-1, -1, z), (-1, 1, z), (1, -1, z), (1, 1, z) , the world coordinates (-1, -1, z) are associated with the texture coordinates (0, 0, r).

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

続いて、レンダリング処理を行う(ステップS70)。図9は、レンダリング手段70の構成を示す図である。図9に示すように、レンダリング手段70は、3Dテクスチャ登録手段71、座標変換手段72、積層四角形設定手段73、画素値算出手段74を有する。上述のように、レンダリング手段70は、3Dテクスチャマッピング方式の場合は、CPU1が補助しながら、主にGPU7においてプログラムを実行することにより実現されるが、特に処理負荷が大きい座標変換手段72および画素値算出手段74は、汎用コンピュータのビデオカードに搭載されているGPUおよびフレームメモリを用いて実行するようにすることが好ましい。 Subsequently, rendering processing is performed (step S70). FIG. 9 is a diagram showing the configuration of the rendering means 70. As shown in FIG. As shown in FIG. 9, the rendering means 70 has a 3D texture registration means 71, a coordinate conversion means 72, a stacked rectangle setting means 73, and a pixel value calculation means 74. As described above, in the case of the 3D texture mapping method, the rendering means 70 is realized mainly by executing a program in the GPU 7 with the assistance of the CPU 1. However, the coordinate transformation means 72 and the pixel The value calculation means 74 is preferably executed using the GPU and frame memory installed in the video card of the 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 showing an example of projection screen setting by the rendering means 70 of this embodiment. The rendering means 70 sets the screen size (number of vertical and horizontal pixels, vertical and horizontal aspect ratio) of the rendered image. The rendering means 70 sets either parallel projection (normal external rendering) or perspective projection (endoscopic mode). A "rendered image" is synonymous with a "volume rendered image", and the "volume rendered image" may be referred to as a "rendered image". When the perspective projection is set, the rendering means 70 sets perspective projection parameters. The perspective projection parameters are composed of, for example, the viewing angle (focal length) of the camera and the viewpoint position (viewpoint and gaze point. The former is the eye position and the latter is the position on the object being viewed, both on the z-axis. In general, the gaze point is fixed at the origin of the world coordinate system), the clipping position (the distance on the z-axis from the viewpoint, two points near and far), and the like. Note that the clipping position may be limited to near objects. As shown in FIG. 10, in the case of parallel projection, it is assumed that all lines of sight from the viewpoint are parallel to the z-axis, and that the viewpoint is virtually infinitely far away to the left. All stacked rectangles defined along the z-axis are rendered. On the other hand, in the case of perspective projection, the line of sight spreads according to the viewing angle from the viewpoint, and the viewpoint enters the inside of the stacked quadrilateral. far rectangle).

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

具体的には、座標変換手段72は、所定の3次元座標系における回転を定義した4×4行列、視野角度、視点位置、クリッピング位置、xyz各軸方向のオフセット値、xyz各軸方向の拡大又は縮小倍率、z軸方向変倍率を含む所定の座標変換のパラメータを取得し、3Dテクスチャ画像に対して、取得したパラメータを用いた所定の座標変換を行って変換後3Dテクスチャ画像を生成する。 Specifically, the coordinate conversion means 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 of the xyz axis directions, and an expansion in each of the xyz axis directions. Alternatively, predetermined coordinate transformation parameters including reduction ratio and z-axis direction scaling ratio are acquired, and the 3D texture image is subjected to predetermined coordinate transformation using the acquired parameters to generate a post-transformation 3D texture image.

個々のステップについて説明すると、座標変換手段72は、3Dテクスチャ画像に対するスケーリング及びz軸方向変倍処理を行う(ステップS71)。スケーリングはxyz軸方向に対して同一の倍率Scaleで拡大または縮小をかけるが、z軸方向変倍処理はxy軸方向の解像度Rxyとz軸方向の解像度Rzの相違を補正するため、z軸方向のみに指定倍率Scz(=Rxy/Rz)で拡大または縮小をかける。そして、座標変換手段72は、所定の3次元座標系における回転を定義した4×4行列を用いて3Dテクスチャ画像に対する回転処理を行う(ステップS72)。 Describing individual steps, the coordinate transformation means 72 performs scaling and z-axis direction scaling processing on the 3D texture image (step S71). Scaling is performed with the same magnification Scale in the xyz-axis direction. Enlargement or reduction is applied only to the designated magnification Scz (=Rxy/Rz). Then, the coordinate transformation means 72 performs rotation processing on the 3D texture image using a 4×4 matrix that defines 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 means 72 performs offset processing on the 3D texture image using offset values (Xoff, Yoff, Zoff) in the directions of the xyz axes (step S73). A converted 3D texture image is generated by these processes (S71 to S73). Next, the stacked quadrangle setting unit 73 sets a stacked quadrangle composed of a plurality of quadrilaterals (step S74). Specifically, a stacked quadrangle is set by arranging quadrangles on the xy coordinate plane of the three-dimensional space in the z-axis direction. When setting 3D texture mapping, the stacked quadrangle setting means 73 sets a stacked quadrangle in which the same number of quadrangles as the number 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, rounding errors in coordinate values due to coordinate conversion accumulate, Striped or grid-like moiré occurs. Then, as shown in FIG. 8, by defining four voxel coordinates in the corresponding post-transformation 3D texture image for the four vertices of each quadrangle, correspondence with the post-transformation 3D texture image is performed ( step S75). The voxel coordinates to be defined are not based on the coordinate system of color component voxel images with opacity, but on the texture coordinate system of OpenGL (real values ranging from 0 to 1 in the three axial directions of r, s, and t). be.

具体的には、図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 quadrilaterals. In this case, the three-dimensional world coordinates of the four vertices of each quadrangle 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 (-1, -1, z), (-1, 1, z), (1, -1, z), (1, 1, z) , 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 in the inside of the rectangle) in order from the farthest rectangle on the line of sight parallel to the z-axis direction from a predetermined viewpoint to the nearest rectangle to the viewpoint (step S76). At this time, the inside of the rectangle is painted based on the color components (R, G, B) of the voxels of the 3D texture image after conversion attached to each rectangle, and when the same pixel is painted over, the voxels of the 3D texture image after conversion are painted. Also do alpha blending based on opacity. In this way, the color component (R, G, B) composed of (R, G, B) of the voxel of the converted 3D texture image corresponding to the xyz coordinates of the stacked rectangle is obtained from the viewpoint based on the opacity of the voxel. Color components composed of (R, G, B) obtained by alpha blending in the order of the farthest rectangle are given as pixel values of the volume rendering image. A volume rendering image is thus 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 the background color (for example, R=G=B=0). The pixel value calculation means 74 performs scan conversion on the quadrangle furthest from the viewpoint while referring to the attached post-conversion 3D texture image. Parallel projection or perspective projection is performed on the rendered image defined in FIG. Let (i, j) be the coordinates of a pixel to be filled in the rendered image, and u be the interval between pixels in the rendered image (where u is the interval in world coordinates corresponding to one pixel in the rendered image. For example, u= 0.002) for scan conversion. At each scan-converted world coordinate (-1+iu, -1+ju, -1) (i, j are coordinate values of the rendered image, for example, integers 0≤i, j≤511), the corresponding texture coordinates (2iu , 2ju, 0), refer to the converted 3D texture image based on the calculated texture coordinates, obtain the color component values (RGB values) and opacity, and calculate the corresponding rendered image coordinates (i, j ) and the acquired opacity, alpha blending is performed, and the pixel value at the coordinates (i, j) of the corresponding rendering image is 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 way, when the alpha blending process is completed for all corresponding pixels of the rendered image on which the single rectangle furthest from the viewpoint is projected, the z coordinate is changed to v (the world coordinate where the rectangle is located in the z-axis direction is increased by v. For example, v=2/Sz), and the same process is repeated for the next closest quadrangle (-1+iu, -1+ju, -1+v) to the viewpoint direction to update the rendered image. Rendered image after scan conversion for all quadrilaterals and alpha blending processing for world coordinates (-1+iu, -1+ju, -1+kv) (k is the quadrilateral number and an integer of 0≤k≤Sz-1) is completed. The alpha blending process is performed as a process according to [Formula 5] below.

〔数式5〕
R´=R・α+(1-α)・Rb
G´=G・α+(1-α)・Gb
B´=B・α+(1-α)・Bb
[Formula 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 the pixel values (RGB values) of the rendering image updated on the projection plane. R, G, B are the color components (RGB values) in the voxel (2iu, 2ju, 2kv) of the 3D texture image after conversion corresponding to the world coordinates (-1+iu, -1+ju, -1+kv) of the rectangle. corresponds to the value of α is also the α value in the transformed 3D texture image voxel (2iu, 2ju, 2kv) corresponding to the quadrangle 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 rendered image corresponding to the world coordinates (-1+iu, -1+ju, -1+kv). The values of R', G', and B' calculated based on the above [Equation 5] correspond to the quadrangle located on the side opposite to the viewpoint and the quadrangle farthest from the viewpoint. , the background color (for example, Rb=Gb=Bb=0) is given. A volume rendering image is recognized by outputting the rendering image obtained as described above by the rendering image output means 80 .

図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である透明なボクセルの色値の補間処理や、近傍のボクセルを参照して不透明度を平滑化する処理を適用する方法も存在する。しかしながら、これらの処理を用いた場合には一定量の処理負荷がかかるため、処理の高速化を目的とする場合には、本願で提案するように、境界面外の不透明度αの設定の方が好ましい。 12 and 13 are diagrams showing display examples of rendered images with either clipping setting or mask setting, respectively. FIGS. 12A and 13A are images with clipping set and viewed from the same viewpoint position. 12(b) and 13(b) are images after mask setting and viewed from the same viewpoint position. The rendered image of FIG. 12(a) is obtained by setting the color value and opacity α of all voxels in the clipping region including the boundary surface to 0. The rendered image of FIG. 13(a) is the clipping region including the boundary surface. , only the opacity α of all voxels of is set to 0 and the color values are left unchanged. Comparing FIG. 12(a) and FIG. 13(a), when clipping is set up to the color value, moire occurs as shown in FIG. 12(a). It can be seen that moire becomes inconspicuous when it is not performed, as shown in FIG. 13(a). There was almost no change in the processing load between when clipping was set for the color value and when it was not set. The rendered image of FIG. 12(b) is obtained by setting the color values and opacity α of all voxels in the mask area including the boundary surface to 0. The rendered image of FIG. 13(b) is the mask area including the boundary surface. , only the opacity α of all voxels of 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 no setting is made, it can be seen that the moire becomes inconspicuous as shown in FIG. 13(b). There was almost no change in the processing load between the case where the mask was set for the color value and the case where it was not. By setting the value of the opacity α outside the boundary surface to 0 for the moire processing of the clipping boundary surface and the mask boundary surface, the moire can be suppressed while suppressing the processing load. As moire processing for clipping and mask boundaries, there are methods of applying interpolation processing of the color values of transparent voxels with opacity α = 0, and processing of smoothing the opacity by referring to nearby voxels. exist. However, when these processes are used, a certain amount of processing load is applied. 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 this embodiment, the rendering means 70 is implemented by the CPU 1, which is a multi-core CPU, executing a program. This program divides the read tomographic images into a plurality of (for example, N) tomographic image groups, assigns each tomographic image group to each CPU thread, and assigns each CPU thread to an element image group corresponding to each tomographic image group. Create processing is performed in parallel. A case in which 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 showing parallel processing when the volume rendering device 100 is implemented by a computer. As shown in FIG. 14, when the rendering means 70 is implemented by an application program and divides into, for example, N=4 tomographic image groups, the application program processes each of the four tomographic image groups using four processing threads. It is divided into #n1 to processing thread #n4. Then, the job scheduler of the multitasking operating system in which the rendering means 70 (application program) operates allocates to CPU threads #1 to CPU threads #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 showing a software flow of parallel processing when the volume rendering apparatus 100 is realized by a computer. As shown in FIG. 15, the application program that implements the rendering means 70 divides the processing for each of the four elemental image groups into four processing threads #n1 to #n4, and then activates parallel processing functions. . Then, the job scheduler of the multitasking operating system assigns four threads #n1 to #n4 to CPU thread #3, CPU thread #5, CPU thread #7, and CPU thread #2 each having a plurality of CPU cores. assign. In this way, the operating system allocates the processing threads to be processed to the CPU threads of the CPU cores that are free, thereby enabling parallel processing. In the example of FIG. 15, the application program waits for end messages from each CPU thread, and when end messages are obtained from all CPU threads, a voxel image is created by integrating the created element image groups. Then, after rendering processing is performed collectively, 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/64bits personal computer with a 4-core configuration CPU (Intel CORE-i7), the configuration in Figure 15 showed that when executing a single thread (512 x 512 x 370 full resolution image voxel by CPU Generation time: about 0.9 sec), a processing speed of about 1.5 times was obtained (same generation time: about 0.6 sec). However, some CPU threads were waiting for processing. Therefore, when the number of divisions of the elemental image group was increased to N = 8 and parallel processing was performed with 8 processing threads, the processing performance was almost double that of single thread execution (same generation time: about 0.45 sec ). Furthermore, as a result of experiments with N > 8, the processing performance hardly changed and reached a ceiling at 2 times. rice field. On the other hand, the rendering processing S70 after the creation of the voxel image was executed by the GPU 7, and the generation time of the rendered image with full resolution of 512×512 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 volume rendering device, the voxel image creation means 30 creates a voxel image with the same number of voxels as the total number of pixels of the plurality of tomographic images, but the voxel image is created by thinning out the voxels to reduce the number of voxels. You may do so. In this case, the voxel image creating means 30 arranges the voxel images three-dimensionally in association with every K pixels in each of the three axial directions of the two-dimensional xy-axis direction of the plurality of tomographic images and the z-axis direction orthogonal to the tomographic images. For each voxel obtained, the signal value of that voxel is replaced with the color component and opacity α to create an opacity voxel image with the color component and opacity defined as voxel values. For example, when K=2, each of the xyz-axis directions can be thinned out by 1/2, so the number of voxels to be processed becomes 1/8, and high-speed processing can be performed. As a result, even when the user continuously switches the color map interactively via the instruction input I/F 4, the volume rendering image with coarse image quality is sequentially displayed, and the color map is updated. A volume rendering image can be displayed while tracking.

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

この場合、断層画像階調変換手段を更に設け、断層画像読込手段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, tomographic image tone conversion means is further provided, and tone conversion is performed each time the tomographic image reading means 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/2th intermediate tomographic image Do (x, y, z/2) is first read, and all pixels in the same tomographic image Let Dmin be the minimum value of and Dmax be the maximum value of . For Dmin and Dmax, a method of determining the minimum and maximum values from all tomographic images may be used, but if a method of determining only from intermediate tomographic images is used, all slices of the large-capacity 16-bit original tomographic image may be used. Only the gradation-compressed tomographic image D8(x, y, z), which is a gradation-reduced image, can be constructed directly on the memory without reading it and storing it on the memory. Subsequently, a process according to [Equation 6] below is executed to calculate the lower limit value Lmin and the upper limit value Lmax.

〔数式6〕
下限値Lmin=(Dmax-Dmin)・γ+Dmin
上限値Lmax=(Dmax-Dmin)・(1-γ)+Dmin
[Formula 6]
Lower limit 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 the contrast adjustment width of the gradation-compressed image, and the closer to 0, the higher the contrast but the lower the luminance. γ is a real value less than 0.3, but 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), the process according to the following [Equation 7] is executed to calculate a gradation compression 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
[Formula 7]
D8 (x, y, z) = (Do (x, y, z) - Lmin) 255 / (Lmax - Lmin)
If D8(x,y,z)>255: D8(x,y,z)=255 If 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 expression of [Equation 7], when the signal value exceeds the upper limit value Lmax, it is set to 255, and when it is below 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 creating a voxel image using a gradation-compressed tomographic image, a color map for 8-bit signal values 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 signal values 0 to 255 is used.

以上、本開示の好適な実施形態について説明したが、本開示は上記実施形態に限定されず、種々の変形が可能である。本開示の趣旨を逸脱しない範囲で変更された態様は、本開示の技術的範囲に含まれる。 Although the preferred embodiments of the present disclosure have been described above, the present disclosure is not limited to the above embodiments, and various modifications are possible. Modified aspects that do not depart from the gist 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 input/output 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 Correcting Means 50 Shadow Adding Means 70 Rendering Means 71 3D Texture Registering Means 72 Coordinate Transforming Means 73 Laminated Rectangle Setting Means 74 Pixel Value Calculating Means 80 Rendered image output means 100 Volume rendering device

Claims (8)

所定の対象物について所定の間隔で撮影された複数の2次元の断層画像に基づいて、信号値に対して色成分の値と不透明度を対応付けて定義されたカラ-マップを参照してレンダリング画像を生成するためのボリュームレンダリング装置であって、
前記カラ-マップを参照して、前記各断層画像の各画素の信号値を変換し、画素値として色成分および不透明度が定義された2次元の要素画像が重ねて配置されたボクセル画像を作成するボクセル画像作成手段と、
前記ボクセル画像を用いてレンダリング画像を生成するレンダリング手段と、を備え、
前記ボクセル画像作成手段は、
所定の分割数をN(N>1)として、各前記断層画像を、前記断層画像が有するx、y座標とは異なるz座標の値に応じてN個の断層画像群に分割し、N個の各断層画像群に対して、前記要素画像を作成する処理を並行して実行し、
前記ボクセル画像作成手段は、作成された各前記要素画像の各画素について、前記各画素を含む少なくともxyz軸方向の近傍に位置する画素の不透明度を参照して、前記要素画像の画素の色成分の値を補正する陰影付加手段を備え、
前記断層画像群において、順に配置された一端を先頭、他端を末尾としたとき、
前記陰影付加手段は、前記断層画像群の先頭の断層画像から末尾の断層画像までの全ての断層画像について前記要素画像が作成された後、前記先頭の断層画像に対応する要素画像と前記末尾の断層画像に対応する要素画像の画素の色成分の値を補正するようにしているボリュームレンダリング装置。
Rendering with reference to a color map defined by associating color component values and opacity with signal values, based on multiple 2D tomographic images of a given object taken at given intervals. A volume rendering device for generating an image, comprising:
By referring to the color map, the signal value of each pixel of each tomographic image is converted to create a voxel image in which two-dimensional elemental images with color components and opacity defined as pixel values are superimposed. voxel image creating means for
and rendering means for generating a rendered image using the voxel image,
The voxel image creating means is
With a predetermined division number of N (N>1), each of the tomographic images is divided into N tomographic image groups according to the value of the z coordinate different from the x and y coordinates of the tomographic image. for each tomographic image group of, in parallel executing the process of creating the element image,
The voxel image creation means refers to the opacity of pixels located at least in the vicinity of the xyz axis direction including each pixel for each pixel of each created element image, and calculates the color components of the pixels of the element image. Equipped with a shading adding means for correcting the value of
In the tomographic image group, when one end arranged in order is the head and the other end is the end,
After the element images are created for all the tomographic images from the top tomographic image to the last tomographic image of the group of tomographic images, the shading means adds the element image corresponding to the top tomographic image and the last tomographic image. A volume rendering device that corrects color component values of pixels of element images corresponding to tomographic images .
所定の対象物について所定の間隔で撮影された複数の2次元の断層画像に基づいて、信号値に対して色成分の値と不透明度を対応付けて定義されたカラ-マップを参照してレンダリング画像を生成するためのボリュームレンダリング装置であって、
前記カラ-マップを参照して、前記各断層画像の各画素の信号値を変換し、画素値として色成分および不透明度が定義された2次元の要素画像が重ねて配置されたボクセル画像を作成するボクセル画像作成手段と、
前記ボクセル画像を用いてレンダリング画像を生成するレンダリング手段と、を備え、
前記ボクセル画像作成手段は、
所定の分割数をN(N>1)として、各前記断層画像を、前記断層画像が有するx、y座標とは異なるz座標の値に応じてN個の断層画像群に分割し、N個の各断層画像群に対して、前記要素画像を作成する処理を並行して実行し、
前記ボクセル画像作成手段は、作成された各前記要素画像の各画素について、前記各画素を含む少なくともxyz軸方向の近傍に位置する画素の不透明度を参照して、前記要素画像の画素の色成分の値を補正する陰影付加手段を備え、
前記断層画像群において、順に配置された一端を先頭、他端を末尾としたとき、
前記ボクセル画像作成手段は、前記断層画像群の末尾の断層画像について、前記要素画像を作成した後、前記断層画像群の先頭の断層画像から末尾の1つ前の断層画像までの各断層画像に対して、前記要素画像を作成し、
前記陰影付加手段は、前記先頭の断層画像に対応する要素画像、前記末尾の1つ前の断層画像に対応する要素画像および前記末尾の断層画像に対応する要素画像に対して色成分の値を補正するボリュームレンダリング装置。
Rendering with reference to a color map defined by associating color component values and opacity with signal values, based on multiple 2D tomographic images of a given object taken at given intervals. A volume rendering device for generating an image, comprising:
By referring to the color map, the signal value of each pixel of each tomographic image is converted to create a voxel image in which two-dimensional elemental images with color components and opacity defined as pixel values are superimposed. voxel image creating means for
and rendering means for generating a rendered image using the voxel image,
The voxel image creating means is
With a predetermined division number of N (N>1), each of the tomographic images is divided into N tomographic image groups according to the value of the z coordinate different from the x and y coordinates of the tomographic image. for each tomographic image group of, in parallel executing the process of creating the element image,
The voxel image creation means refers to the opacity of pixels located at least in the vicinity of the xyz axis direction including each pixel for each pixel of each created element image, and calculates the color components of the pixels of the element image. Equipped with a shading adding means for correcting the value of
In the tomographic image group, when one end arranged in order is the head and the other end is the end,
The voxel image creating means, after creating the element image for the last tomographic image of the tomographic image group, creates each tomographic image from the first tomographic image to the last tomographic image of the tomographic image group. In contrast, creating the element image,
The shading means adds color component values to an element image corresponding to the head tomographic image, an element image corresponding to the tomographic image immediately before the tail, and an element image corresponding to the tail tomographic image. Correction volume rendering device.
各前記要素画像の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または請求項2に記載のボリュームレンダリング装置。
Xso is the coordinate corresponding to the left end in the x-axis direction of each elemental image, Xeo is the coordinate corresponding to the right end in the x-axis direction, Yso is the coordinate corresponding to the upper end in the y-axis direction, and Yso is the coordinate corresponding to the lower end in the y-axis direction. is Yeo, Zso is the z-coordinate at which the first elemental image is arranged, and Zeo is the z-coordinate at which the M-th elemental image, which is the total number of tomographic images, is arranged. When six coordinates Xs, Xe, Ys, Ye, Zs, and Ze are defined that specify a voxel image area for which a rendering image is to be generated, satisfying Ys<Ye≦Yeo and Zso≦Zs<Ze≦Zeo ,
3. The voxel image creating means sets the opacity of each pixel of the elemental image satisfying x≦Xs, x≧Xe, y≦Ys, y≧Ye, z≦Zs, or z≧Ze to 0. 3. A volume rendering device according to claim 1 or 2 .
前記要素画像に対応して、0(表示しない)または1(表示する)の値をもつマスクデータが定義されている場合、
前記ボクセル画像作成手段は、各画素に不透明度および色成分を与えながら前記要素画像を作成する際、当該要素画像に対応する前記マスクデータを参照し、当該画素に対応する前記マスクデータの値が0の場合は、当該要素画像の当該画素の不透明度を0にするようにしている請求項1または請求項2に記載のボリュームレンダリング装置。
When mask data with a value of 0 (not displayed) or 1 (displayed) is defined corresponding to the element image,
The voxel image creation 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 3. The volume rendering apparatus according to claim 1, wherein when the pixel is 0, the opacity of the pixel of the elemental image is set to 0.
前記レンダリング手段は、
記ボクセル画像で構成される3Dテクスチャ画像を生成する3Dテクスチャ登録手段と、
前記3Dテクスチャ画像に対して所定の座標変換を行って変換後3Dテクスチャ画像を生成する座標変換手段と、
3次元空間のxy座標面上の四角形をz軸方向に並べ、前記各四角形の4頂点の各3次元座標を前記変換後3Dテクスチャ画像の所定の4箇所の各3次元座標に対応付けた積層四角形を設定する積層四角形設定手段と、
所定の視点からz軸方向に平行な視線上の前記積層四角形上の3次元座標に対応する前記変換後3Dテクスチャ画像のボクセルの(R,G,B)で構成される色成分を当該ボクセルの不透明度に基づいて前記視点から遠い四角形の順にアルファブレンディングして得られた色成分を、前記レンダリング画像の(R,G,B)で構成される画素値として与えるようにしている画素値算出手段と、
を備えている請求項1から請求項のいずれか一項に記載のボリュームレンダリング装置。
The rendering means is
3D texture registration means for generating a 3D texture image composed of the voxel image;
coordinate transformation means for performing a predetermined coordinate transformation on the 3D texture image to generate a post-transformation 3D texture image;
Lamination in which quadrilaterals on the xy coordinate plane of the three-dimensional space are arranged in the z-axis direction, and each of the three-dimensional coordinates of the four vertices of each of the quadrilaterals is associated with each of the predetermined four three-dimensional coordinates of the post-transformation 3D texture image. a laminated quadrangle setting means for setting a quadrangle;
A color component composed of (R, G, B) of a voxel of the converted 3D texture image corresponding to the three-dimensional coordinates on the stacked quadrangle on the line of sight parallel to the z-axis direction from a predetermined viewpoint is Pixel value calculation means for giving color components obtained by alpha blending in order of rectangles farther from the viewpoint based on opacity as pixel values composed of (R, G, B) of the rendered image. and,
5. A volume rendering device according to any one of claims 1 to 4 , comprising:
前記座標変換手段は、
所定の3次元座標系における回転を定義した4×4行列、視野角度、視点位置、クリッピング位置、xyz軸方向のオフセット値、xyz軸方向の拡大又は縮小倍率、z軸方向変倍率を含む所定の座標変換のパラメータを取得し、
前記3Dテクスチャ画像に対して、前記取得したパラメータを用いた前記所定の座標変換を行って前記変換後3Dテクスチャ画像を生成するようにしている請求項に記載のボリュームレンダリング装置。
The coordinate transformation means is
A 4×4 matrix defining rotation in a predetermined three-dimensional coordinate system, a predetermined Get the parameters of the coordinate transformation,
6. The volume rendering apparatus according to claim 5 , wherein the 3D texture image is subjected to the predetermined coordinate transformation using the acquired parameters to generate the post-transformation 3D texture image.
前記座標変換手段および前記画素値算出手段は、汎用コンピュータのビデオカードに搭載されているGPUおよびフレームメモリを用いて実行するようにしている請求項に記載のボリュームレンダリング装置。 7. The volume rendering apparatus according to claim 6 , wherein said coordinate transformation means and said pixel value calculation means are executed using a GPU and frame memory mounted on a video card of a general-purpose computer. 請求項1から請求項のいずれか一項に記載のボリュームレンダリング装置として、コンピュータを機能させるためのプログラム。 A program for causing a computer to function as the volume rendering device according to any one of claims 1 to 7 .
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 JP2020038592A (en) 2020-03-12
JP7223312B2 true 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)

Families Citing this family (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 (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
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

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2651787B2 (en) * 1993-09-03 1997-09-10 日本アイ・ビー・エム株式会社 Interactive volume rendering method and apparatus

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
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

Also Published As

Publication number Publication date
JP2020038592A (en) 2020-03-12

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
US7505037B2 (en) Direct volume rendering of 4D deformable volume images
EP1195720B1 (en) Method and apparatus for Volume rendering
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
WO2014033886A1 (en) Image processing apparatus, image processing method, and program
JP6215057B2 (en) Visualization device, visualization program, and visualization method
JP4885042B2 (en) Image processing method, apparatus, and program
US20060253021A1 (en) Rendering anatomical structures with their nearby surrounding area
JP7223312B2 (en) volume rendering device
JP7013849B2 (en) Computer program, image processing device and image processing method
JP6544472B1 (en) Rendering device, rendering method, and program
CN111210898A (en) Method and device for processing DICOM data
JP7206846B2 (en) volume rendering device
JP7003635B2 (en) Computer program, image processing device and image processing method
JP7131080B2 (en) volume rendering device
JP7180123B2 (en) Medical image processing apparatus, medical image processing method, program, and data creation method
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
JP7167699B2 (en) volume rendering device
JP6443574B1 (en) Ray casting program, search control data, search control data generation method, and ray casting apparatus
JP5245811B2 (en) Voxel array visualization device
JP7283603B2 (en) COMPUTER PROGRAM, IMAGE PROCESSING APPARATUS AND IMAGE PROCESSING METHOD
JP6436258B1 (en) Computer program, image processing apparatus, and image processing method
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