JP2019040419A - Image processing apparatus and program - Google Patents
Image processing apparatus and program Download PDFInfo
- Publication number
- JP2019040419A JP2019040419A JP2017162290A JP2017162290A JP2019040419A JP 2019040419 A JP2019040419 A JP 2019040419A JP 2017162290 A JP2017162290 A JP 2017162290A JP 2017162290 A JP2017162290 A JP 2017162290A JP 2019040419 A JP2019040419 A JP 2019040419A
- Authority
- JP
- Japan
- Prior art keywords
- cell
- identification information
- polygon
- vertex
- block
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000012545 processing Methods 0.000 title claims abstract description 107
- 238000000034 method Methods 0.000 claims description 62
- 238000012800 visualization Methods 0.000 claims description 9
- 230000015572 biosynthetic process Effects 0.000 description 13
- 239000007787 solid Substances 0.000 description 6
- 238000006243 chemical reaction Methods 0.000 description 4
- 238000004364 calculation method Methods 0.000 description 3
- 238000007796 conventional method Methods 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 235000010979 hydroxypropyl methyl cellulose Nutrition 0.000 description 2
- 229920003088 hydroxypropyl methyl cellulose Polymers 0.000 description 2
- 239000011159 matrix material Substances 0.000 description 2
- CIWBSHSKHKDKBQ-JLAZNSOCSA-N Ascorbic acid Chemical group OC[C@H](O)[C@H]1OC(=O)C(O)=C1O CIWBSHSKHKDKBQ-JLAZNSOCSA-N 0.000 description 1
- 230000001174 ascending effect Effects 0.000 description 1
- 210000004204 blood vessel Anatomy 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000009877 rendering Methods 0.000 description 1
- 238000004088 simulation Methods 0.000 description 1
- 238000001356 surgical procedure Methods 0.000 description 1
Images
Classifications
-
- A—HUMAN NECESSITIES
- A61—MEDICAL OR VETERINARY SCIENCE; HYGIENE
- A61B—DIAGNOSIS; SURGERY; IDENTIFICATION
- A61B6/00—Apparatus or devices for radiation diagnosis; Apparatus or devices for radiation diagnosis combined with radiation therapy equipment
- A61B6/02—Arrangements for diagnosis sequentially in different planes; Stereoscopic radiation diagnosis
- A61B6/03—Computed tomography [CT]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T17/00—Three dimensional [3D] modelling, e.g. data description of 3D objects
- G06T17/10—Constructive solid geometry [CSG] using solid primitives, e.g. cylinders, cubes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T19/00—Manipulating 3D models or images for computer graphics
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Health & Medical Sciences (AREA)
- Life Sciences & Earth Sciences (AREA)
- Medical Informatics (AREA)
- Geometry (AREA)
- Computer Graphics (AREA)
- Software Systems (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Pathology (AREA)
- Surgery (AREA)
- Nuclear Medicine, Radiotherapy & Molecular Imaging (AREA)
- Optics & Photonics (AREA)
- Biophysics (AREA)
- Radiology & Medical Imaging (AREA)
- Biomedical Technology (AREA)
- Heart & Thoracic Surgery (AREA)
- Molecular Biology (AREA)
- High Energy & Nuclear Physics (AREA)
- Animal Behavior & Ethology (AREA)
- General Health & Medical Sciences (AREA)
- Public Health (AREA)
- Veterinary Medicine (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Image Generation (AREA)
- Processing Or Creating Images (AREA)
- Apparatus For Radiation Diagnosis (AREA)
Abstract
Description
本発明は、医療用画像等を処理する画像処理装置、及びプログラムに関する。 The present invention relates to an image processing apparatus and a program for processing medical images and the like.
近年、例えば医療用の診断装置(CT装置等)から得られた画像データを処理して、血管等の組織を三次元的なポリゴンモデルで表現し、三次元の画像として可視化する技術が広く知られている。また、このようなモデル化、可視化のための処理としては、例えば医療分野では、マーチングキューブ法と呼ばれる画像処理が用いられるのが一般的となっている(例えば特許文献1)。 In recent years, for example, a technique for processing image data obtained from, for example, a medical diagnostic apparatus (such as a CT apparatus) to express a tissue such as a blood vessel as a three-dimensional polygon model and visualize it as a three-dimensional image is widely known. It has been. As such processing for modeling and visualization, for example, in the medical field, image processing called a marching cube method is generally used (for example, Patent Document 1).
しかしながら、上記従来のマーチングキューブを用いた画像処理では、可視化は可能であるが、手術時のシミュレーションなどを行うべく組織のポリゴンモデルの変形操作を行うときに、次のような問題が生じる。 However, in the image processing using the conventional marching cube, visualization is possible, but the following problems arise when performing a deformation operation of the tissue polygon model in order to perform a simulation during surgery.
すなわち、通常のマーチングキューブ法では、仮想空間に四面体のセルをマトリクス状に配列し、この仮想空間内に、複数の画像データに基づいて数値(例えば画像データの輝度の値)を設定する。そして、上記各セルについて、所定の値の面(等値面)が含まれるか否かを決定し、等値面が含まれるとされたセルについては、等値面を特定する情報を生成する。 That is, in the normal marching cube method, tetrahedral cells are arranged in a matrix in a virtual space, and a numerical value (for example, a luminance value of the image data) is set in the virtual space based on a plurality of image data. Then, for each of the cells, it is determined whether or not a plane having a predetermined value (isosurface) is included, and information for specifying the isosurface is generated for the cell that is supposed to include the isosurface. .
ここで、互いに隣接する一対のセルには同じ位置に配される辺(共通辺と呼ぶ)が含まれる。具体的には図10に例示するように、互いに隣接するセルA,Bにおいては、セルAの底面を構成する辺A1からA4と、セルBの上面を構成する辺B5からB8とが共通辺として含まれる。しかしながら、上記通常のマーチングキューブ法では、各セルについて独立して等値面の設定を行うため、例えばセルAについて設定した等値面が辺A1上の点Axを横切ると判断されたときには、当該等値面は、セルBの、辺A1に対する共通辺である辺B5上の点Bxも同様に横切ることとなる。ここで、点Axと点Bxとは、上記仮想空間内の同じ点であるにも関わらず、マーチングキューブ法では、セルごとに処理を行ってしまうので、互いに異なる点として識別されて処理に供される。 Here, a pair of cells adjacent to each other includes sides (called common sides) arranged at the same position. Specifically, as illustrated in FIG. 10, in the cells A and B adjacent to each other, the sides A1 to A4 constituting the bottom surface of the cell A and the sides B5 to B8 constituting the top surface of the cell B are common sides. Included as However, in the normal marching cube method, since the isosurface is set independently for each cell, for example, when it is determined that the isosurface set for the cell A crosses the point Ax on the side A1, The isosurface will also cross the point Bx on the side B5 of the cell B which is the common side with respect to the side A1. Here, although the point Ax and the point Bx are the same point in the virtual space, in the marching cube method, processing is performed for each cell. Therefore, the points Ax and Bx are identified as different points and used for processing. Is done.
このことは、可視化のみに用いる場合には通常、問題とならないが、このポリゴンモデルに対して頂点の編集操作、例えば変形操作を行う場合、点Axの位置を変化させるときには、対応する点Bxを探索して、当該点Bxについても点Axと同じように位置を変化させなければならない。 This is not usually a problem when used only for visualization. However, when a vertex editing operation such as a deformation operation is performed on this polygon model, the corresponding point Bx is changed when the position of the point Ax is changed. By searching, the position of the point Bx must be changed in the same manner as the point Ax.
このため、変形操作の処理負荷が大きくなり、リアルタイムに頂点の編集操作を行う等の処理が困難となる場合があった。また、頂点の編集操作に先立って同一座標にある頂点を統合する処理を行う場合も、その処理負荷が大きくなっていた。 For this reason, the processing load of the deformation operation increases, and it may be difficult to perform processing such as performing vertex editing operations in real time. Also, when processing for integrating vertices at the same coordinates prior to the vertex editing operation, the processing load is large.
本発明は上記実情に鑑みて為されたもので、頂点の編集操作等の画像処理負荷を軽減できる画像処理装置、及びプログラムを提供することを、その目的の一つとする。 The present invention has been made in view of the above circumstances, and an object thereof is to provide an image processing apparatus and a program that can reduce an image processing load such as vertex editing operation.
上記従来例の問題点を解決する本発明は、仮想的なポリゴンモデルを形成する仮想空間を、所定多角形状の仮想的なセルに分割して、ポリゴンモデルを形成する画像処理装置であって、処理対象となる前記仮想空間内に分布する値データを受け入れる手段と、前記値データに基づいて、前記セルの多角形状の各頂点の位置ごとの値を決定する手段と、前記各セルの辺のうち、互いにその位置が重なり合わない辺を辺要素として、各辺要素を識別する辺識別情報を設定し、各辺要素の両端の頂点の位置に対応する前記値に基づいて、セル内を通過するポリゴンの頂点が位置する辺要素の辺識別情報を特定する手段と、前記特定した辺識別情報を用いて前記ポリゴンモデルを表す情報を生成するポリゴンモデル生成手段と、を含み、当該辺識別情報を用いて表されるポリゴンモデルの情報が、可視化及び変形操作を含む所定処理に供されることとしたものである。 The present invention for solving the problems of the above-described conventional example is an image processing apparatus for forming a polygon model by dividing a virtual space forming a virtual polygon model into virtual cells having a predetermined polygon shape, Means for accepting value data distributed in the virtual space to be processed; means for determining a value for each vertex position of the polygonal shape of the cell based on the value data; and Of these, sides that do not overlap each other are set as side elements, side identification information for identifying each side element is set, and the cell passes through the cell based on the values corresponding to the vertex positions at both ends of each side element. Means for identifying edge identification information of the edge element where the vertex of the polygon to be positioned is located, and polygon model generation means for generating information representing the polygon model using the identified edge identification information. Information of the polygon model represented with the one in which it was decided to be subjected to predetermined processing including visualization and modification operations.
本発明によると、変形操作等の画像処理負荷を軽減できる。 According to the present invention, it is possible to reduce an image processing load such as a deformation operation.
本発明の実施の形態について図面を参照しながら説明する。本発明の実施の形態に係る画像処理装置1は、図1に例示するように、制御部11、記憶部12、操作部13、表示部14、及びインタフェース部15を含んで構成される。
Embodiments of the present invention will be described with reference to the drawings. As illustrated in FIG. 1, the
制御部11は、CPU等のプログラム制御デバイスであり、記憶部12に格納されたプログラムに従って動作する。本実施の形態において、この制御部11は、仮想的なポリゴンモデルを形成する仮想空間を、所定多角形状の仮想的なセルに分割して、ポリゴンモデルを形成する処理と、当該ポリゴンモデルの情報を用いた、可視化及び頂点の編集操作(変形操作等)の所定処理とを実行する。
The
ここでポリゴンモデルを形成する処理では、この制御部11は、処理対象となる仮想空間内に分布する値データを受け入れる。この値のデータは例えばCTやMRI等の医療機器により得られる画像データ等である。また制御部11は、この値データに基づいて、上記セルの多角形状の各頂点の位置ごとの値を特定し、各セルの辺のうち、互いにその位置が重なり合わない辺を辺要素として、各辺要素を識別する辺識別情報を設定し、各辺要素の両端の頂点の位置に対応する値に基づいて、ポリゴンが通過する辺要素(このポリゴンと辺要素との交点はポリゴンの頂点となる)の辺識別情報を特定する。制御部11は、そして、特定した辺識別情報を用いてポリゴンモデルを表す情報を生成する。この制御部11の具体的な処理の内容については、後に述べる。
Here, in the process of forming the polygon model, the
記憶部12は、制御部11により実行されるプログラムを格納している。このプログラムは、コンピュータ可読、かつ非一時的な記録媒体に格納されて提供され、この記憶部12に格納されたものであってもよい。また本実施の形態において、この記憶部12は、制御部11のワークメモリとしても動作する。
The
操作部13は、キーボードやマウス等であり、利用者の指示入力を受け入れて、制御部11に対して当該指示入力の内容を出力する。表示部14は、ディスプレイ等であり、制御部11から入力される指示に従って情報を表示出力する。
The
インタフェース部15は、USB(Universal Serial Bus)等のインタフェースであり、外部の装置からデータを受け入れて制御部11に出力する。またこのインタフェース部15は、制御部11から入力される指示に従って、外部の装置に対して指示された情報を出力してもよい。
The
ここで本実施の形態の制御部11の動作について説明する。本実施の形態の制御部11は、記憶部12に格納されたプログラムを実行することにより、機能的には、図2に例示するように、ポリゴンモデル生成部20と、描画処理部30とを含んで構成されている。ここでポリゴンモデル生成部20は、データ受入部21と、セル設定部22と、辺要素設定部23と、頂点仮識別情報取得部24と、ポリゴンモデル設定部25とを含んで構成される。
Here, the operation of the
ポリゴンモデル生成部20のデータ受入部21は、本実施の形態の一例では、CTやMRI等の医療機器により得られる画像データを受け入れる。これらの画像データは一般的に複数枚の画像を含み、人体内の組織の関する三次元的な形状を表現可能なものである。このようにCTやMRI等により得られた画像データから三次元的な空間内の各点での画素値(処理対象となる仮想空間内に分布する値データ)を得る方法は、広く知られているので、ここでの詳しい説明は省略する。
In one example of the present embodiment, the
セル設定部22は、画素値が設定された空間(処理対象となる仮想空間)内に、所定多角形状の仮想的なセルを設定する。具体的にここでは仮想空間は大きさがL×L×Lの正六面体状の空間とし、当該正六面体のいずれかの頂点を原点として、当該原点を含む正六面体の互いに直交する3つの辺の方向をそれぞれX,Y,Z軸方向としてXYZ直交座標系を設定するものとする。セル設定部22は、例えばセルの形状を大きさがl×l×l(lはLの約数であるものとする)の正六面体とし、配列方向をX,Y,Z軸の各軸方向に合わせてセルを配列する。以下の説明では、原点の位置にあるセルを(0,0,0)と表し、このセルのX軸方向の法線を有する面と面を共有する隣接するセルを(1,0,0)などと表すものとする。つまりこの原点の位置にあるセルからX軸方向にξ番目、Y軸方向にη番目、Z軸方向にζ番目にあるセルを(ξ,η,ζ)と表す。また、図では手前側左下の点を原点として鉛直上方をZ軸正の方向、右方向をX軸正の方向、奥側の方向をY軸正の方向とする。
The
またセル設定部22は、各セルに、それぞれ固有のセル識別情報を設定しておく。具体的には、このセルは立方体(正六面体)の形状を有し、セル設定部22は、当該立方体形状のセルを、仮想空間内に、隙間なく三次元的なマトリクス状に配列する。またこのセル設定部22は、データ受入部21が受け入れた値データに基づいて、セルの各頂点の位置に対応する値を決定して、当該値を記録する。
The
辺要素設定部23は、セルの三次元形状の辺のうち、互いにその位置が重なり合わない辺を辺要素として、各辺要素を識別する辺識別情報を設定する。この辺要素設定部23は、具体的にセルを立方体としている場合は、図3に例示するように、立方体のセルに属する辺0からXIの辺識別情報(ここでの説明では符号と区別するため、便宜的に0以外の数字をローマ数字で示すが、制御部11の処理上はアラビア数字などで管理してよい)、所定の頂点(例えばセルの立方体の頂点のうち、底面(Z軸方向に法線を有する面のうち原点に近い側の面)の、X,Y座標の値が最も小さくなる点(図3のP))を共有する互いに直交する三辺(図3の辺0,III,VIII)を辺要素とする。これにより図3のセルAの辺IXは右側(X軸正の側)に隣接するセルBの辺要素VIIIとして表現され、また、セルAの辺IVは、上側(Z軸正の側)に隣接するセルCの辺要素0として表現されることとなる。なお、ここでは、底面のX軸に平行な辺のうち、原点に近い側の辺から順に上方(Z軸正の側)から見て反時計回りに辺0,I,II,III、上面(Z軸方向に法線を有する面のうち原点から遠い側の面)内のX軸に平行な辺のうち、原点に近い側の辺から順に上方(Z軸正の側)から見て反時計回りに辺IV,V,VI,VIIとし、点PからZ軸に平行な辺を辺VIII、手前側の面(辺0,IV,VIIIを有する面)のX軸正の側にあるZ軸に平行な辺を辺IX、右側側面(辺I,V,IXを有する面)のY軸正の側にあるZ軸に平行な辺を辺X、これら辺0からXとは異なる六面体の最後の一辺を辺XIとしている(図3)。
The side
また、処理対象となる仮想空間内でX軸正の側の端、Y軸正の側の端、Z軸正の側の端にあるセルの辺I,II,IV,V,VI,VII,IX,X,XIは、それぞれ存在しないものとして扱ってもよい。 Further, in the virtual space to be processed, the sides I, II, IV, V, VI, VII, and X of the cells at the X-axis positive end, the Y-axis positive end, and the Z-axis positive end IX, X, and XI may be treated as not existing.
頂点仮識別情報取得部24は、ポリゴンの頂点が位置する辺要素の辺識別情報を特定する。具体的に頂点仮識別情報取得部24は、セルの各頂点に対応する値と、予め指定された値(ポリゴンの面に相当する位置での値)とを比較し、各セルの各頂点がポリゴンモデルで規定される立体の内側にあるか外側にあるかを判断し、セルの頂点ごとに、当該判断の結果を記録する。 The vertex temporary identification information acquisition unit 24 specifies the edge identification information of the edge element where the vertex of the polygon is located. Specifically, the temporary vertex identification information acquisition unit 24 compares a value corresponding to each vertex of the cell with a predetermined value (a value at a position corresponding to the surface of the polygon). It is determined whether the object is inside or outside the solid defined by the polygon model, and the result of the determination is recorded for each vertex of the cell.
そしてこの頂点仮識別情報取得部24は、各セルを順次注目セルとして選択し、選択している注目セルについてセルの頂点がポリゴンで表される立体の内側にあるか外側にあるかを表す256通りのパターン(実質的には対称性のため15通りのパターン)のいずれのパターンに相当するかを判断し、当該判断したパターンに対応する、ポリゴン(例えば三角形)と、当該ポリゴンと注目セルの辺との交差する点とを特定する。この方法は、従来のマーチングキューブ法における処理と同様であるので、ここでの詳しい説明を省略する。この段階で、頂点仮識別情報取得部24は、描画するべきポリゴンを特定し、各ポリゴンに固有のポリゴン識別情報を発行し、当該発行したポリゴン識別情報を記録する。 Then, the temporary vertex identification information acquisition unit 24 sequentially selects each cell as a target cell, and 256 indicates whether the vertex of the cell is inside or outside the solid represented by the polygon for the selected target cell. It is determined which one of the corresponding patterns (substantially 15 patterns for symmetry) corresponds to the polygon (for example, a triangle) corresponding to the determined pattern, the polygon and the target cell. Identify points that intersect with sides. Since this method is the same as the processing in the conventional marching cube method, a detailed description thereof is omitted here. At this stage, the temporary vertex identification information acquisition unit 24 identifies the polygon to be drawn, issues polygon identification information unique to each polygon, and records the issued polygon identification information.
本実施の形態において頂点仮識別情報取得部24は、ここで特定されたポリゴンごとに、ポリゴンと注目セルの辺要素との交差する点(注目セルの辺要素上にあるポリゴンの頂点)を識別する、仮識別情報(注目セルの辺要素上にあるポリゴンの頂点を仮に識別する情報)を発行する。このとき本実施の形態において特徴的なことの一つは、このポリゴンの頂点を仮に識別する仮識別情報として従来のようにセルごとの辺識別情報を用いることに代えて、注目セルまたはそれに隣接するセルの辺要素を特定する辺識別情報を用いることである。ここで辺識別要素は当該辺要素が属するセルを特定するセル識別情報と辺識別情報とを含む。 In the present embodiment, the temporary vertex identification information acquisition unit 24 identifies, for each polygon specified here, a point where the polygon intersects the side element of the target cell (the vertex of the polygon on the side element of the target cell). Temporary identification information (information for temporarily identifying a vertex of a polygon on the side element of the cell of interest) is issued. At this time, one of the characteristic features in this embodiment is that instead of using edge identification information for each cell as temporary identification information for temporarily identifying the vertex of this polygon, the cell of interest or its neighbor The edge identification information for specifying the edge element of the cell to be used is used. Here, the edge identification element includes cell identification information for specifying a cell to which the edge element belongs and edge identification information.
すなわち、図4に例示するように、具体的に注目セルαに対し、図中でその上方に隣接するセルβと、図中で右側に隣接するセルγと、このセルγの上方に隣接するセルδとが配列されているとき、注目セルαの図4に示す2つの頂点P,Qが立体の内部にあるものと判断され、他の頂点が立体の外部にあるものと判断されたとする。このときには、2つのポリゴン(三角形)A,Bがこの注目セル内に存在するポリゴンとなるが、本実施の形態では、これらの三角形の頂点(セルの辺との交点)を表す仮識別情報として、セル識別情報と、セルごとの辺要素を識別する辺識別情報とを用いるものとする。 That is, as illustrated in FIG. 4, specifically for the target cell α, the cell β adjacent to the upper side in the drawing, the cell γ adjacent to the right side in the drawing, and the cell γ are adjacent to the upper side. When the cell δ is arranged, it is determined that the two vertices P and Q shown in FIG. 4 of the cell of interest α are determined to be inside the solid and the other vertices are determined to be outside the solid. . At this time, the two polygons (triangles) A and B are polygons existing in the cell of interest, but in this embodiment, as temporary identification information representing the vertices of these triangles (intersections with the sides of the cells) Assume that cell identification information and edge identification information for identifying edge elements for each cell are used.
従って図4の例の場合、頂点仮識別情報取得部24は、ポリゴンAについては、セルαの辺0,III,VIIIに各頂点があるものとして記録する。また、頂点仮識別情報取得部24は、ポリゴンBについてはセルβの辺0、セルγの辺VIII、セルδの辺IIIに各頂点があるものとして記録する。また頂点仮識別情報取得部24は、隣接するセルγを注目セルとして処理をした場合に、ポリゴンA,Bとは異なる別のポリゴンCを、このセルγ内に特定することとなるが、このポリゴンCの頂点の一つは、セルγの辺VIIIにあるものとして記録されることとなる。すなわち、ポリゴンBの頂点の一つと、ポリゴンCの頂点の一つとが同じ仮識別情報(セルγの辺VIIIにあるものとする情報)で特定されることとなる。
Therefore, in the example of FIG. 4, the temporary vertex identification information acquisition unit 24 records the polygon A as having each vertex on the
このように、本実施の形態では、各ポリゴンについて、共通する頂点については、同じ仮識別情報が付与されるよう、まずはセル識別情報と辺要素を識別する辺識別情報とを用いて抽象的に(実際のレンダリングにおいては各頂点は互いに異なる固有の番号等で識別されるので、ここでは「抽象的」と表現している)表される。すなわち、ここで特定される仮識別情報は、いわば抽象識別子として機能する。 As described above, in the present embodiment, for each polygon, the common vertices are first abstracted using cell identification information and edge identification information for identifying edge elements so that the same temporary identification information is given. (In actual rendering, each vertex is identified by a unique number or the like different from each other, and is expressed as “abstract” here). That is, the temporary identification information specified here functions as an abstract identifier.
ポリゴンモデル設定部25は、頂点仮識別情報取得部24がポリゴンごとに特定した辺識別情報を用いて、ポリゴンモデルを表す情報を生成する。すなわちこのポリゴンモデル設定部25は、頂点仮識別情報取得部24が特定した複数のポリゴンについて、各ポリゴンの各頂点を表す仮識別情報(この情報にはセル識別情報とセルごとの辺要素を識別する辺識別情報とを含む)を含むポリゴンモデルの情報を生成する。
The polygon
本実施の形態においては、ここで生成したポリゴンモデルの情報を用いて、可視化及び変形操作を含む所定処理を実行する。具体的に制御部11は、まず、ポリゴンモデルの情報に含まれる、各ポリゴンの仮識別情報を、実際の描画に用いる頂点識別情報(頂点の位置を表す情報、いわば実識別情報)へ変換する。
In the present embodiment, using the polygon model information generated here, predetermined processing including visualization and deformation operations is executed. Specifically, the
この変換処理は、仮識別情報ごとに固有の番号や文字列等の識別情報を、頂点識別情報として発行することで行うことができる。このとき描画等の処理のためには、ポリゴンとその頂点を表す頂点識別情報とを関連付ける必要がある。そこで本実施の形態では、制御部11は、次のようにしてこの関連付け処理を達成する。
This conversion process can be performed by issuing identification information such as a unique number or character string for each temporary identification information as vertex identification information. At this time, in order to perform processing such as drawing, it is necessary to associate the polygon and vertex identification information representing the vertex. Therefore, in the present embodiment, the
すなわち制御部11は、ポリゴンモデル設定部25の処理として、ヒストグラムピラミッド(Christopher Dyken, et.al., High-speed Marching Cubes using Histogram Pyramids, Computer Graphics Forum, Vol.27, issue 8, December 2008, pages 2028-2039)と同様の方法を用いて、仮識別情報を頂点識別情報へ変換し、さらに変換により得た頂点識別情報をヒストグラムピラミッドの方法を用いて、ポリゴン識別情報に関連付ける。
That is, the
具体的に、制御部11は、ヒストグラムピラミッドと同様の方法により、仮識別情報を頂点識別情報へ変換する。すなわち制御部11は、セルの各々を注目セルとして順次選択し、選択した注目セルの辺要素を所定の選択順(例えばセルが正六面体であれば、辺0,辺III,辺VIIIの順)に、当該辺要素上のポリゴンの頂点の数をカウントしつつ累算する。そして制御部11は、各辺要素について当該カウントして得られた値の和(累算値)を、注目セルについてのカウント値(ベースレベルカウント値)として記録する。
Specifically, the
さらに制御部11は、予め定められた位置から順に、互いに隣接する複数のセル(例えば互いに隣接するn×n×n個のセル)のグループを複数設定し、この設定したグループを第1段ブロックとして、当該第1段ブロックの各々について、第1段ブロックに属するセル内の辺要素上のポリゴンの頂点の数の和、つまり、第1段ブロックに属するセルについてのベースレベルカウント値の和を、第1段ブロックについてのカウント値(レベル1カウント値)として記録する。
Furthermore, the
ここで予め定めた位置は、例えば、仮想空間の原点にあるセル(0,0,0)とすればよい。またグループの形成順は、原点のセルを含むn×n×n個のセルをグループとし、次に、このグループのX軸方向に隣接するセルを含むn×n×n個のセルをグループとし…と選択してゆき、X軸方向に隣接するセルがなくなったら、X=0に戻って、既に形成したグループにY軸方向に隣接するセルを含むn×n×n個のセルをグループとして、再度このグループのX軸方向に隣接するセルを含むn×n×n個のセルをグループとし…と選択していく。この処理を繰り返して、Y軸方向に隣接するセルがなくなったら、X=0、Y=0に戻って、既に形成したグループにZ軸方向に隣接するセルを含むn×n×n個のセルをグループとして、X軸方向に移動しつつグループを形成する処理から繰り返していく(いわば、三次元的なスキャンライン順にグループ化を行えばよい)。この処理により、各セルが順番にグループに含められる。 Here, the predetermined position may be, for example, the cell (0, 0, 0) at the origin of the virtual space. The order of group formation is such that n × n × n cells including the origin cell are grouped, and then n × n × n cells including cells adjacent to the group in the X-axis direction are grouped. ... and when there are no cells adjacent in the X-axis direction, return to X = 0 and group n × n × n cells including cells adjacent in the Y-axis direction into the already formed group. Then, n × n × n cells including cells adjacent to the group in the X-axis direction are selected as a group. When this process is repeated and there are no cells adjacent in the Y-axis direction, X = 0 and Y = 0 are returned, and n × n × n cells including cells adjacent in the Z-axis direction in the already formed group Are repeated from the process of forming a group while moving in the X-axis direction (so to speak, grouping may be performed in the order of a three-dimensional scan line). By this processing, each cell is included in the group in order.
制御部11は、以下、上記の予め定められた位置から上記の形成順に、互いに隣接する複数の第(i−1)段(iは、i>1なる整数)ブロックのグループ(例えば互いに隣接する2×2×2個の第(i−1)段ブロックのグループ)を設定する。そして制御部11は、この設定したグループを第i段ブロックとして、当該第i段ブロック内に属するセル内の辺要素上のポリゴンの頂点の数の和を、第i段ブロックについてのカウント値(レベルiカウント値)として記録する処理を、i=2,3…とインクリメントしつつ実行し、ブロックの数が所定の数未満となるまで(例えばグループ化不能となるまで、一例としては2×2×2未満、あるいは「1」となるまで)繰り返す。この段階を以下、便宜的に最終レベルと呼ぶ。ここでのグループの形成順も、セルのグループの形成順と同様とする。
The
制御部11は、さらに、ここで記録されたブロック単位でのブロック内に属するセル内の辺要素上のポリゴンの頂点の数の和、または記録されたセル単位でのセル内の辺要素上のポリゴンの頂点の数の和の値を参照して、ポリゴンの頂点の仮識別情報を、実際の描画等の処理に用いる頂点識別情報に変換する。
The
すなわち制御部11は、ポリゴンの頂点の仮識別情報ごとに、次の処理を行う。制御部11は、変換の対象となる仮識別情報であるセル識別情報と辺要素識別情報とを取得し、当該取得したセル識別情報で識別されるセルが含まれる、上記の処理で生成した最終レベルのブロック単位でのブロックを特定する。
That is, the
制御部11は、当該特定した最終レベル(第N段)のブロックを注目ブロックとして、注目ブロックに含まれる第N−1段ブロックを特定する。制御部11は、特定した第N−k段ブロック(k=0,1,…,N−1なる整数)のうち、取得したセル識別情報で識別されるセルが含まれるブロックを特定する。制御部11は第N−k段での注目ブロックに含まれる第N−k−1段ブロックを、形成順に選択しつつ、取得したセル識別情報で識別されるセルが含まれるブロックが選択されるまでに選択したブロック(取得したセル識別情報で識別されるセルが含まれるブロックそのものは除く)に割り当てられた、ポリゴンの頂点の数の和の値を累算する。そしてこの累算値を第N−k−1段ブロックの予備値として記録しておく。制御部11は、取得したセル識別情報で識別されるセルが含まれるブロックを、第N−k−1段ブロックの注目ブロックとする。そして制御部11は、この第N−k−1段ブロックの注目ブロックに含まれる第N−k−2段ブロック(k<N−1のとき)を特定する。制御部11は、k=N−1となるまで、kを「1」ずつインクリメントしつつこの処理を繰り返す。
The
制御部11は、k=N−1となると(取得したセル識別情報で識別されるセルを含む第1段グループが見いだされると)、当該見いだした第1段グループ内のセルを、上記形成順に選択しつつ、取得したセル識別情報で識別されるセルが選択されるまでに選択したセル(取得したセル識別情報で識別されるセルそのものは除く)についての、ポリゴンの頂点の数の和の値を累算する。そしてこの累算値を第1段ブロックの予備値として記録する。
When k = N−1 (when the first-stage group including the cell identified by the acquired cell identification information is found), the
さらに制御部11は、取得したセル識別情報で識別されるセル内の辺要素を、上記選択順に選択しつつ、セル識別情報とともに取得した辺要素識別情報で識別される辺要素が選択されるまでに選択した辺要素上のポリゴンの頂点の数の和の値を累算する。そしてこの累算値を辺要素予備値として記録する。
Further, the
制御部11は、この処理で記録した辺要素予備値、及び第i段ブロックの予備値(i=1,2…N−1)の総和が表す値を、取得したセル識別情報と辺要素識別情報で特定される仮識別情報に対応する頂点識別情報として出力する。これにより、仮識別情報のそれぞれが、連番の頂点識別情報に関連付けられる。
The
制御部11は、さらに記録しているポリゴン識別情報で識別されるポリゴンごとに、当該ポリゴンの各頂点の頂点識別情報を取得する。この処理は、従来通りのヒストグラムピラミッドの方法により実行できるので、ここでの詳しい説明は省略する。
For each polygon identified by the recorded polygon identification information, the
制御部11の描画処理部30は、このようにして生成したポリゴンモデルの情報、及びポリゴン識別情報と当該ポリゴン識別情報で識別されるポリゴンの各頂点を識別する頂点識別情報との組を用いて、各ポリゴンの描画を行う。この描画処理部30における処理は、既に各ポリゴンの各頂点と頂点識別情報との組が得られているので、従来と同様の方法により実行できる。本実施の形態において特徴的なことの一つは、この段階で設定されている頂点識別情報が、そもそも重複を排除して規定されたセル識別情報と辺要素識別情報との組に対して固有に割り当てたものであるので、仮想空間内の同じ点にある頂点については同じ頂点識別情報となっていることである。
The
従って、制御部11がポリゴンを変形する処理を実行する場合(頂点の移動や頂点の削除等を行う場合)にも、所定の頂点識別情報で識別される頂点を変形し、当該頂点識別情報により識別される頂点を有するポリゴンの描画を行えばよいので、移動や削除の対象となった頂点ともともと同じ位置にあった別の識別子で識別される頂点を探索するといった処理が不要となり、処理の効率を向上でき、リアルタイムの変形や描画の処理が容易になる。
Therefore, even when the
さらに、本実施の形態の制御部11の処理では、仮識別情報の設定の処理はセルごとに、他のセルでの実行結果を参照せずに実行でき、また、仮識別情報から頂点識別情報への変換の処理も、仮識別情報ごとに、他の仮識別情報に係る処理結果を参照せずに実行できる。またポリゴン識別情報と頂点識別情報との関連付けの処理も、ヒストグラムピラミッドの処理を利用するので、ポリゴンごとに独立して(他のポリゴンに係る処理を参照せずに)実行でき、並列化が容易となっている。さらに仮識別情報の決定や頂点識別情報への変換の処理においてループの処理はあるものの、条件分岐によりまったく異なる処理を実行する必要がなく、処理負荷が軽減されている。
Furthermore, in the process of the
本実施の形態の画像処理装置は、以上の構成を備えており、次のように動作する。なお、以下では説明のため、仮想空間を三次元の空間ではなく、二次元的な空間であるものとする。なお、このように次元を異ならせても一般性が失われることはない。 The image processing apparatus according to the present embodiment has the above configuration and operates as follows. In the following description, for the sake of explanation, the virtual space is not a three-dimensional space but a two-dimensional space. Note that generality is not lost even if the dimensions are changed in this way.
この例では、画像処理装置1は、図5に示すように処理対象となる仮想空間内に分布する値データを受け入れる(S1)。この値のデータは例えばCTやMRI等の医療機器により得られる画像データ等である。画像処理装置1は、この値データに基づいて、仮想空間内に配列したセルの多角形状の各頂点の位置ごとの値を特定する(S2)。
In this example, the
画像処理装置1は、各セルの辺のうち、互いにその位置が重なり合わない辺を辺要素として、各辺要素を識別する辺識別情報を設定する(図6)。ここでは仮想空間は二次元の空間としているので、セルは例えば正方形となる。そこで各セルの辺要素として、正方形の左側の辺(辺IIIとする)と下側の辺(辺0とする)とを用いる。図6では、左右方向の軸をX軸(右方向を正とする)、上下方向の軸をY軸(下方を正とする)としている。各セルのセル識別情報は、左上隅を原点(0,0)として、この原点に頂点を有するセル(左上隅にあるセル)のセル識別情報を「0」として、この原点に頂点を有するセルからX軸方向にx番目、Y軸方向にy番目に配置されているセル((x,y)の位置にあるセル)のセル識別情報を(xmax×y+x+1)なる整数で表すものとする。なお、xmaxは、X軸方向に配列されたセルの数(図6では「8」)である。
The
画像処理装置1は、各セルの各辺要素の両端の頂点の位置に対応する値に基づいて、ポリゴンが通過する辺要素の辺識別情報を特定する(S3)。すなわち画像処理装置1は、マーチングキューブ法の処理により、処理S2にて特定した、セルの各頂点に対応する値と、予め指定された値(ポリゴンの面に相当する位置での値)とを比較し、各セルの各頂点が三次元ポリゴンモデルで規定される立体の内側にあるか外側にあるかを判断し、セルの頂点ごとに、当該判断の結果を記録する。そして画像処理装置1は、各セルを順次注目セルとして選択し、選択している注目セルについてセルの頂点がポリゴンで表される立体の内側にあるか外側にあるかを表す15通りのパターンのいずれのパターンに相当するかを判断し、当該判断したパターンに対応する、ポリゴン(例えば三角形)を特定するとともに、当該ポリゴンと注目セルの辺との交差する点(ポリゴンの頂点)を特定する。
The
また画像処理装置1は、各ポリゴンに固有のポリゴン識別情報を発行し、当該発行したポリゴン識別情報を記録する。
Further, the
画像処理装置1は、また、特定したポリゴンと注目セルの辺要素との交差する点(注目セルの辺要素上にあるポリゴンの頂点)を識別する、仮識別情報(注目セルの辺要素上にあるポリゴンの頂点を仮に識別する情報)を発行する(S4)。図6に例示した二次元の例を用いて、この仮識別情報について説明すると、セル識別情報「9」で識別されるセル((1,1)の位置にあるセル)では等値面は辺0と辺Iとを通過しているが、各セルの辺要素を用いてこれらの各点を表すと、
セル識別情報「9」の辺0
セル識別情報「10」((2,1)の位置にあるセル)の辺III
ということとなり、画像処理装置1は、仮識別情報として、{セル識別情報「9」,辺0}、{セル識別情報「10」,辺III}の2つを発行して記録する。
The
Side III of the cell identification information “10” (the cell at the position (2, 1))
Accordingly, the
また、セル識別情報「10」で識別されるセルに注目したときには、画像処理装置1は、仮識別情報として、{セル識別情報「10」,辺III}、{セル識別情報「3」,辺0}の2つを発行して記録する。
When attention is paid to the cell identified by the cell identification information “10”, the
このように従来であれば、同じ位置にある{セル識別情報「9」,辺I}の頂点と、{セル識別情報「10」,辺III}の頂点とは異なる頂点として識別されるものであるところ、本実施の形態の方法によれば、この位置の点は、共通した{セル識別情報「10」,辺III}として(抽象的に)表現され、共通した識別情報が割り当てられる。 Thus, conventionally, the vertex of {cell identification information “9”, side I} and the vertex of {cell identification information “10”, side III} at the same position are identified as different vertices. Somehow, according to the method of the present embodiment, this position point is expressed (abstract) as common {cell identification information “10”, side III}, and common identification information is assigned.
画像処理装置1は、このようにして、各セルについての処理により、セル内のいずれかの辺上のセル内のポリゴンの頂点を、いずれかのセルの辺要素を識別する辺要素識別情報により表現して記録し、ポリゴンモデルの情報を生成する。そして画像処理装置1は、当該生成したポリゴンモデルの情報を用いて、可視化及び変形操作を含む所定処理を実行する。
In this way, the
この所定処理の実行のために、画像処理装置1は、まず、ポリゴンモデルの情報に含まれる、各ポリゴンの頂点に係る仮識別情報を、実際の描画に用いる頂点識別情報へ変換する(S5)。
In order to execute this predetermined process, the
画像処理装置1は、セルの各々を注目セルとして順次選択し、また選択した注目セルの辺要素を所定の選択順(例えばセルの、辺0,辺IIIの順)に、当該辺要素上のポリゴンの頂点の数をカウントしつつ累算する。そして画像処理装置1は、各辺要素について当該カウントして得られた値の和(累算値)を、注目セルについてのカウント値(ベースレベルカウント値)として記録する(図7(a))。
The
なお、説明の都合上、図6,図7のそれぞれにおける例は一致していない。つまり図6のポリゴンの例と図7におけるポリゴンの例とは異なる。 For convenience of explanation, the examples in FIGS. 6 and 7 do not match. That is, the polygon example in FIG. 6 is different from the polygon example in FIG.
さらに画像処理装置1は、予め定められた位置(図7(a)の原点O)から順に、互いに隣接する複数のセル(例えば互いに隣接する2×2個のセル)のグループを複数設定する(図7(a)においては実線でグループを区別する)。そして画像処理装置1は、設定したグループを第1段ブロックとして、当該第1段ブロックの各々について、第1段ブロックに属するセル内の辺要素上のポリゴンの頂点の数の和、つまり、第1段ブロックに属するセルについてのベースレベルカウント値の和を、第1段ブロックについてのカウント値(レベル1カウント値)として記録する(図7(b))。
Furthermore, the
ここでは原点のセルを含む2×2個のセルをグループとし、次に、このグループのX軸方向に隣接するセルを含む2×2個のセルをグループとし…と選択してゆき、X軸方向に隣接するセルがなくなったら、X=0に戻って、既に形成したグループにY軸方向に隣接するセルを含む2×2個のセルをグループとして、再度このグループのX軸方向に隣接するセルを含む2×2個のセルをグループとし…と選択していく。この処理により、各セルが順番にグループに含められる。
Here, 2 × 2 cells including the origin cell are grouped, and then 2 × 2 cells including cells adjacent to the group in the X-axis direction are selected as a group. When there are no cells adjacent in the direction, return to X = 0,
画像処理装置1は、予め定められた位置から上記の形成順に、互いに隣接する複数の第1段ブロックのグループ(例えば互いに隣接する2×2個の第1段ブロックのグループ)を設定する(図7(b)においても実線でグループを区別する)。そして画像処理装置1は、この設定したグループを第2段ブロックとして、当該第2段ブロック内に属するセル内の辺要素上のポリゴンの頂点の数の和を、第2段ブロックについてのカウント値(レベル2カウント値)として記録する(図7(c))。
The
画像処理装置1は、次に、予め定められた位置から上記の形成順に、互いに隣接する複数の第2段ブロックのグループ(例えば互いに隣接する2×2個の第2段ブロックのグループ)を設定する(図7(c)においても実線でグループを区別する)。そして画像処理装置1は、この設定したグループを第3段ブロックとして、当該第3段ブロック内に属するセル内の辺要素上のポリゴンの頂点の数の和を、第3段ブロックについてのカウント値(レベル3カウント値)として記録する(図7(d))。ここで第3段ブロックの数は「1」となり、これ以上のグループ化が不能であるので、この第3段を最終レベルとする。
Next, the
次に画像処理装置1は、ポリゴンの頂点の仮識別情報ごとに、仮識別情報であるセル識別情報と辺要素識別情報とを取得し、当該取得したセル識別情報で識別されるセルが含まれる、上記の処理で生成した最終レベルのブロック単位でのブロックを特定する。
Next, the
ここでは最終レベルではブロックは1つだけであるので、どの仮識別情報についてもこのブロックを注目ブロックとして、注目ブロックに含まれる第2段ブロックを特定する。画像処理装置1は、特定した第2段ブロックのうち、取得したセル識別情報で識別されるセルが含まれるブロックを特定する。以下にセル識別情報「24」の辺要素、「辺0」にある頂点について、頂点識別情報を生成する例について説明する。
Here, since there is only one block at the final level, the second-stage block included in the target block is specified with this block as the target block for any temporary identification information. The
この例では、画像処理装置1は、最終ブロック(第3段ブロック)の単一のブロックを注目ブロックとして、この注目ブロックに含まれる第2段ブロックを特定する。図7の例では、第3段ブロックの注目ブロックには、第2段ブロックのすべてのブロックが含まれるので、第2段ブロックのすべてを特定する。
In this example, the
画像処理装置1は、第2段ブロックで特定したブロックを、形成順に選択しつつ、取得したセル識別情報で識別されるセルが含まれるブロックが選択されるまでに選択したブロック(取得したセル識別情報で識別されるセルが含まれるブロックそのものは除く)に割り当てられた、ポリゴンの頂点の数の和の値を累算する。
The
ここでの例であるセル識別情報「24」のセルは、第2段ブロックでは、右上のブロックに含まれる(どのセルがどのブロックに含まれるかについては、ブロックの形成時にブロックごとに記録しておく等の広く知られた処理により判断できるので、ここでの詳しい説明を省略する)ため、形成順に、セル識別情報「24」で識別されるセルが含まれるブロックが選択されるまでに選択したブロックは左上のブロックのみとなる。そこで画像処理装置1は、この左上のブロックに割り当てられた、ポリゴンの頂点の数の和の値「9」を第2段ブロックの予備値として記録する。
The cell of the cell identification information “24”, which is an example here, is included in the upper right block in the second-stage block (which cell is included in which block is recorded for each block when the block is formed). Therefore, it is selected until a block including a cell identified by cell identification information “24” is selected in the order of formation. The only block that is left is the upper left block. Therefore, the
さらに画像処理装置1は、セル識別情報「24」のセルを含む第2段ブロックの右上のブロックに含まれる第1段ブロックを特定する。ここでは画像処理装置1は、第1段ブロックの第1行の第3列,第4列目、第2行の第3列,第4列目のブロックを特定する。画像処理装置1は、第1段ブロックで特定したブロックを、形成順に選択しつつ、取得したセル識別情報で識別されるセルが含まれるブロックが選択されるまでに選択したブロック(取得したセル識別情報で識別されるセルが含まれるブロックそのものは除く)に割り当てられた、ポリゴンの頂点の数の和の値を累算する。
Further, the
ここでの例であるセル識別情報「24」のセルは、第1段ブロックでは、第2行目の第4列目のブロックに含まれるため、形成順に、セル識別情報「24」で識別されるセルが含まれるブロックが選択されるまでに選択したブロックは、第1段ブロックの第1行目の第3列,第4列目の各ブロック、及び、第2行目の第3列目のブロックとなる。そこで画像処理装置1は、これらのブロックに割り当てられた、ポリゴンの頂点の数の和の値「3」,「1」,「2」の和「6」を第1段ブロックの予備値として記録する。
Since the cell of the cell identification information “24” as an example here is included in the block of the fourth column of the second row in the first block, it is identified by the cell identification information “24” in the order of formation. The block selected until the block including the cell to be selected is the third column in the first row of the first block, the blocks in the fourth column, and the third column in the second row. It becomes a block. Therefore, the
さらに画像処理装置1は、セル識別情報「24」のセルを含む第1段ブロックのブロックに含まれるセル(ベースレベル)を特定する。ここでは、セル識別情報で「23」,「24」,「31」,「32」の各セルが特定される。画像処理装置1は、ここで特定したセルを、ブロックの形成順(セルの識別情報が小さい順)に選択しつつ、取得したセル識別情報で識別されるセルが選択されるまでに選択したセルに割り当てられた、ポリゴンの頂点の数の和の値を累算する。
Furthermore, the
ここでの例であるセル識別情報「24」のセルを選択するまでには、セル識別情報「23」のセルのみが選択されるので、画像処理装置1は、セル識別情報「23」のセルに割り当てられた値「0」を、辺要素予備値として記録する。
Since only the cell having the cell identification information “23” is selected until the cell having the cell identification information “24”, which is an example here, is selected, the
画像処理装置1は、この処理で記録した辺要素予備値、及び第i段ブロックの予備値(i=1,2…N−1)の総和が表す値を求める。ここでは、辺要素予備値が「0」、第1段ブロックの予備値が「6」、第2段ブロックの予備値が「9」であるので、画像処理装置1は、セル識別情報「24」の辺要素、「辺0」にある頂点の頂点識別情報を、これらの和である「15」とする。画像処理装置1は、仮識別情報のそれぞれについて、上述の方法で頂点識別情報を求める。
The
画像処理装置1はさらに、記録しているポリゴン識別情報で識別されるポリゴンごとに、当該ポリゴンの各頂点の頂点識別情報を取得する。この処理は、従来通りのヒストグラムピラミッドの方法により実行すればよい。そして画像処理装置1は、以下は従来と同様の方法により、各ポリゴンの描画処理を実行する。
The
また画像処理装置1は、利用者から頂点を特定する頂点識別情報とともに、当該頂点の移動または、当該頂点の削除の指示を受け入れると、当該頂点識別情報で識別される頂点の仮想空間内での位置座標を指示に従って移動し、または当該頂点を削除して、当該頂点を含むポリゴンを削除する処理を行う。
In addition, when the
図8に、頂点を削除する処理における従来例と本実施の形態との対比例を示す。従来のマーチングキューブの方法によれば、図8(a)に示すセル1(セル識別情報「1」のセルを、図においてセル1等と略記している)の頂点Aと、セル2の頂点A′とは、同じ位置にあるにも関わらず、セルごとに頂点を識別する情報が付与されるので、セル1の頂点Aと、セル2の頂点A′とには互いに異なる頂点を識別する情報が設定される。
FIG. 8 shows a comparison between the conventional example and the present embodiment in the process of deleting vertices. According to the conventional marching cube method, the vertex A of the
ここで利用者がセル1の頂点Aを削除する指示を行うと、従来例の画像処理装置では、セル1における頂点Aを含むポリゴンを削除するが、セル2における頂点A′を含むポリゴンは削除しない。このため、頂点Aの位置にある頂点を削除するという利用者の意図通りにならず、これを利用者の意図通りに動作させるためには、削除の対象となった頂点Aと同じ位置にある頂点を探索する処理が必要となって、変形等の処理に時間がかかる結果となる。
When the user gives an instruction to delete the vertex A of the
一方、本実施の形態の方法によると、セル1の頂点Aも、セル2の頂点Aも、ともに、セル1の辺要素「0」上の点として抽象的に表現されてから、頂点識別情報(A)に変換されているため、共通の頂点識別情報「A」が付与される。
On the other hand, according to the method of the present embodiment, the vertex A of the
このため利用者がセル1の頂点Aを削除する指示を行うと、セル2内において頂点Aを有するポリゴンも削除されることとなり(図8(b))、利用者の意図通りの処理が可能となる。また、1つの頂点識別情報により削除するべきポリゴンが特定できるので、処理負荷も軽減される。
For this reason, when the user gives an instruction to delete the vertex A of the
併せて、本実施の形態の方法では、全体としてポリゴンの数に対する頂点識別情報の数が膨大とならない(従来の方法ではポリゴンの数に頂点数を乗じた数だけの頂点識別情報が発行される)。これにより、本実施の形態の方法では、描画等の処理負荷も軽減される。 In addition, in the method according to the present embodiment, the number of vertex identification information with respect to the number of polygons as a whole does not become enormous (in the conventional method, vertex identification information corresponding to the number of polygons multiplied by the number of vertices is issued. ). Thereby, in the method of the present embodiment, the processing load such as drawing is also reduced.
具体的に、ポリゴン数に対する、従来一般的な(頂点とポリゴンとの関連付けにヒストグラムピラミッド法を用いない)マーチングキューブによる計算処理(VTK)と、頂点とポリゴンとの関連付けにヒストグラムピラミッド法を用いた場合のマーチングキューブによる計算処理(HPMC)と、本実施の形態の方法による計算処理(ProposedMC)とにおける、同一座標の頂点の統合時間を含む処理時間の相違を図9に示す。 Specifically, the conventional general calculation process (VTK) using a marching cube (not using the histogram pyramid method for associating vertices with polygons) for the number of polygons and the histogram pyramid method for associating vertices with polygons were used. FIG. 9 shows the difference in processing time including the integration time of the vertices of the same coordinates in the calculation processing (HPMC) by the marching cube in this case and the calculation processing (ProposedMC) by the method of the present embodiment.
図9に例示するように、ポリゴン数が比較的大きい範囲では、VTKに対して本実施の形態による方法は5倍以上(全体平均でも4倍以上)の高速化が図られる。また、ヒストグラムピラミッド法を用いた場合のマーチングキューブ法(HPMC)に対しても3倍以上(全体平均でも3倍以上)の高速化が図られている。 As illustrated in FIG. 9, in the range where the number of polygons is relatively large, the method according to the present embodiment can achieve a speed increase of 5 times or more (over 4 times the overall average) with respect to VTK. In addition, a speedup of three times or more (over three times as a whole average) is also achieved with respect to the marching cube method (HPMC) when the histogram pyramid method is used.
1 画像処理装置、11 制御部、12 記憶部、13 操作部、14 表示部、15 インタフェース部、20 ポリゴンモデル生成部、21 データ受入部、22 セル設定部、23 辺要素設定部、24 頂点仮識別情報取得部、25 ポリゴンモデル設定部、30 描画処理部。
DESCRIPTION OF
Claims (3)
処理対象となる前記仮想空間内に分布する値データを受け入れる手段と、
前記値データに基づいて、前記セルの多角形状の各頂点の位置ごとの値を決定する手段と、
前記各セルの辺のうち、互いにその位置が重なり合わない辺を辺要素として、各辺要素を識別する辺識別情報を設定し、各辺要素の両端の頂点の位置に対応する前記値に基づいて、セル内を通過するポリゴンの頂点が位置する辺要素の辺識別情報を特定する手段と、
前記特定した辺識別情報を用いて前記ポリゴンモデルを表す情報を生成するポリゴンモデル生成手段と、
を含み、
当該辺識別情報を用いて表されるポリゴンモデルの情報が、可視化及び変形操作を含む所定処理に供される画像処理装置。 An image processing apparatus for forming a polygon model by dividing a virtual space forming a virtual polygon model into virtual cells of a predetermined polygon shape,
Means for accepting value data distributed in the virtual space to be processed;
Means for determining a value for each position of each vertex of the polygonal shape of the cell based on the value data;
Based on the values corresponding to the positions of the vertices at both ends of each side element, the side identification information for identifying each side element is set using the sides whose positions do not overlap each other among the sides of each cell. Means for identifying the edge identification information of the edge element where the vertex of the polygon passing through the cell is located;
Polygon model generation means for generating information representing the polygon model using the specified edge identification information;
Including
An image processing apparatus in which information of a polygon model expressed using the edge identification information is subjected to predetermined processing including visualization and deformation operations.
前記ポリゴンモデル生成手段は、
前記セルの各々について、当該セルの当該辺要素上のポリゴンの頂点の数をカウントして、各辺要素について当該カウントして得られた値の和を記録する手段と、
互いに隣接する複数のセルのグループを第1段ブロックとして、当該第1段ブロック内に属するセルの前記辺要素上のポリゴンの頂点の数の和を記録する手段と、
互いに隣接する複数の第(i−1)段(iは、i>1なる整数)ブロックのグループを、第i段ブロックとして、当該第i段ブロック内に属するセル内の辺要素上のポリゴンの頂点の数の和を記録する手段と、を含み、
当該記録されたブロック単位でのブロック内に属するセル内の辺要素上のポリゴンの頂点の数の和、または記録されたセル単位でのセル内の辺要素上のポリゴンの頂点の数の和の値を参照して、前記ポリゴンモデルを表す情報から、各ポリゴンの頂点の位置を特定する情報を生成する画像処理装置。 The image processing apparatus according to claim 1,
The polygon model generation means includes
For each of the cells, means for counting the number of vertices of the polygon on the side element of the cell, and recording the sum of the values obtained by counting for each side element;
Means for recording a sum of the numbers of vertices of polygons on the side elements of cells belonging to the first-stage block, with a group of a plurality of cells adjacent to each other as a first-stage block;
A group of a plurality of (i−1) -th stages (i is an integer of i> 1) adjacent to each other is defined as an i-th block, and polygons on the side elements in the cells belonging to the i-th block are represented. Means for recording the sum of the number of vertices,
The sum of the number of vertices of polygons on the side elements in the cell belonging to the block in the recorded block unit, or the sum of the number of vertices of polygons on the side elements in the cell in the recorded cell unit An image processing apparatus that generates information for identifying the position of the vertex of each polygon from information representing the polygon model with reference to a value.
処理対象となる仮想空間内に分布する値データを受け入れる手段と、
前記仮想空間を所定多角形状の仮想的なセルに分割し、前記値データに基づいて、前記セルの多角形状の各頂点の位置ごとの値を決定する手段と、
前記各セルの辺のうち、互いにその位置が重なり合わない辺を辺要素として、各辺要素を識別する辺識別情報を設定し、各辺要素の両端の頂点の位置に対応する前記値に基づいて、セル内を通過するポリゴンの頂点が位置する辺要素の辺識別情報を特定する手段と、
前記特定した辺識別情報を用いて前記ポリゴンモデルを表す情報を生成するポリゴンモデル生成手段と、
として機能させ、
当該辺識別情報を用いて表されるポリゴンモデルの情報を、可視化及び変形操作を含む所定処理に供するプログラム。
Computer
Means for accepting value data distributed in the virtual space to be processed;
Means for dividing the virtual space into virtual cells of a predetermined polygonal shape, and determining a value for each vertex position of the polygonal shape of the cell based on the value data;
Based on the values corresponding to the positions of the vertices at both ends of each side element, the side identification information for identifying each side element is set using the sides whose positions do not overlap each other among the sides of each cell. Means for identifying the edge identification information of the edge element where the vertex of the polygon passing through the cell is located;
Polygon model generation means for generating information representing the polygon model using the specified edge identification information;
Function as
A program for providing information of a polygon model represented by using the edge identification information to a predetermined process including visualization and deformation operations.
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2017162290A JP6942007B2 (en) | 2017-08-25 | 2017-08-25 | Image processing equipment and programs |
PCT/JP2018/031437 WO2019039603A1 (en) | 2017-08-25 | 2018-08-24 | Image processing device, and program |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2017162290A JP6942007B2 (en) | 2017-08-25 | 2017-08-25 | Image processing equipment and programs |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2019040419A true JP2019040419A (en) | 2019-03-14 |
JP6942007B2 JP6942007B2 (en) | 2021-09-29 |
Family
ID=65439412
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2017162290A Active JP6942007B2 (en) | 2017-08-25 | 2017-08-25 | Image processing equipment and programs |
Country Status (2)
Country | Link |
---|---|
JP (1) | JP6942007B2 (en) |
WO (1) | WO2019039603A1 (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111814235A (en) * | 2020-07-01 | 2020-10-23 | 广东博智林机器人有限公司 | Parking space arrangement optimization and polygon simplification method, device, equipment and storage medium |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2005038219A (en) * | 2003-07-16 | 2005-02-10 | Institute Of Physical & Chemical Research | Method for generating volume data from boundary expression data and program therefor |
JP2007528529A (en) * | 2003-11-28 | 2007-10-11 | ブラッコ イメージング エス.ピー.エー. | Method and system for identifying the surface of a 3D dataset ("voxel partitioning") |
-
2017
- 2017-08-25 JP JP2017162290A patent/JP6942007B2/en active Active
-
2018
- 2018-08-24 WO PCT/JP2018/031437 patent/WO2019039603A1/en active Application Filing
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2005038219A (en) * | 2003-07-16 | 2005-02-10 | Institute Of Physical & Chemical Research | Method for generating volume data from boundary expression data and program therefor |
JP2007528529A (en) * | 2003-11-28 | 2007-10-11 | ブラッコ イメージング エス.ピー.エー. | Method and system for identifying the surface of a 3D dataset ("voxel partitioning") |
Non-Patent Citations (1)
Title |
---|
村木茂 ほか: "3次元画像解析とグラフィックス技術の医学応用に関するサーベイ", 電子情報通信学会論文誌, vol. 第J87-D-II巻, 第10号, JPN6018041198, 21 October 2004 (2004-10-21), JP, pages 1887 - 1920, ISSN: 0004524269 * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111814235A (en) * | 2020-07-01 | 2020-10-23 | 广东博智林机器人有限公司 | Parking space arrangement optimization and polygon simplification method, device, equipment and storage medium |
Also Published As
Publication number | Publication date |
---|---|
WO2019039603A1 (en) | 2019-02-28 |
JP6942007B2 (en) | 2021-09-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI537870B (en) | Multiresolution consistent rasterization | |
JP5218109B2 (en) | Visualization data processing device, visualization data processing device control method, and visualization data processing device control program | |
TWI613510B (en) | Electron beam drawing device, electron beam drawing method, and recording medium | |
US20160247067A1 (en) | Method and system for intelligent crane lifting | |
CN110663064A (en) | Parallelized pipeline for vector graphics and image processing | |
JP6518517B2 (en) | Point cloud data modeling device | |
CN113012269A (en) | Three-dimensional image data rendering method and equipment based on GPU | |
KR101552828B1 (en) | Method for Obtaining Polygon Information of Three-dimensional Object Model | |
KR20130049753A (en) | Designing a modeled volume represented by dexels | |
US9007370B2 (en) | Computing device and method for processing curved surface | |
CN113850917B (en) | Three-dimensional model voxelization method and device, electronic equipment and storage medium | |
US7388584B2 (en) | Method and program for determining insides and outsides of boundaries | |
JP6942007B2 (en) | Image processing equipment and programs | |
CN105844609A (en) | Partitioning an image | |
WO2023169002A1 (en) | Soft rasterization method and apparatus, device, medium, and program product | |
CN107590298A (en) | Voxelization method and information processor | |
JP5850380B2 (en) | Shape data generation method and apparatus | |
CN105741335B (en) | A kind of multi-level war game map fast drawing method based on blocking organization | |
JP2010277304A (en) | Drawing data processing method, graphics drawing system and graphics drawing data generation program | |
JP4957080B2 (en) | Mesh generator for numerical analysis | |
JP2021149886A (en) | Three-dimensional shape data processing apparatus and three-dimensional shape data processing program | |
JP2009122998A (en) | Method for extracting outline from solid/surface model, and computer software program | |
JP6565495B2 (en) | Data separation device for three-dimensional object modeling | |
JP4479364B2 (en) | 3D surface shape model creation device, 3D surface shape model creation method, and 3D surface shape model creation program | |
JP2007140976A (en) | Cross section display program and cross section display device |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20200731 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20210608 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20210802 |
|
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: 20210817 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20210907 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6942007 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |