WO2019039603A1 - 画像処理装置、及びプログラム - Google Patents

画像処理装置、及びプログラム Download PDF

Info

Publication number
WO2019039603A1
WO2019039603A1 PCT/JP2018/031437 JP2018031437W WO2019039603A1 WO 2019039603 A1 WO2019039603 A1 WO 2019039603A1 JP 2018031437 W JP2018031437 W JP 2018031437W WO 2019039603 A1 WO2019039603 A1 WO 2019039603A1
Authority
WO
WIPO (PCT)
Prior art keywords
cell
identification information
vertex
edge
polygon
Prior art date
Application number
PCT/JP2018/031437
Other languages
English (en)
French (fr)
Inventor
季 斎藤
太一 金
健人 塩出
浩文 中冨
延人 齊藤
博史 小山
Original Assignee
国立大学法人 東京大学
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 国立大学法人 東京大学 filed Critical 国立大学法人 東京大学
Publication of WO2019039603A1 publication Critical patent/WO2019039603A1/ja

Links

Images

Classifications

    • AHUMAN NECESSITIES
    • A61MEDICAL OR VETERINARY SCIENCE; HYGIENE
    • A61BDIAGNOSIS; SURGERY; IDENTIFICATION
    • A61B6/00Apparatus or devices for radiation diagnosis; Apparatus or devices for radiation diagnosis combined with radiation therapy equipment
    • A61B6/02Arrangements for diagnosis sequentially in different planes; Stereoscopic radiation diagnosis
    • A61B6/03Computed tomography [CT]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T17/00Three dimensional [3D] modelling, e.g. data description of 3D objects
    • G06T17/10Constructive solid geometry [CSG] using solid primitives, e.g. cylinders, cubes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T19/00Manipulating 3D models or images for computer graphics

Definitions

  • the present invention relates to an image processing apparatus that processes medical images and the like, and a program.
  • a pair of cells adjacent to each other includes an edge (referred to as a common edge) arranged at the same position.
  • a common edge arranged at the same position.
  • sides A1 to A4 forming the bottom of cell A and sides B5 to B8 forming the upper surface of cell B are common sides.
  • the isosurface since the iso-surface setting is performed independently for each cell, for example, when it is determined that the iso-surface set for cell A crosses point Ax on side A1, The isosurface also crosses the point Bx on the side B5 which is a common side to the side A1 of the cell B as well.
  • the point Ax and the point Bx are the same in the virtual space, in the marching cube method, since processing is performed for each cell, they are identified as different points and are used for processing. Be done.
  • the processing load of the deformation operation is increased, and processing such as performing an editing operation of the vertex in real time may become difficult.
  • the processing load is increased.
  • the present invention has been made in view of the above-described circumstances, and an object thereof is to provide an image processing apparatus and program capable of reducing the image processing load such as editing operation of a vertex.
  • the present invention for solving the problems of the 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 of a predetermined polygonal shape,
  • Information of the polygon model represented using broadcast is obtained by a fact to be subjected to predetermined processing including visualization and modification operations.
  • the image processing load such as deformation operation can be reduced.
  • FIG. 7 is another explanatory view showing an operation example of the image processing apparatus according to the embodiment of the present invention.
  • the image processing apparatus 1 is configured to include a control unit 11, a storage unit 12, an operation unit 13, a display unit 14, and an interface unit 15, as illustrated in FIG.
  • the control unit 11 is a program control device such as a CPU, and operates in accordance with a program stored in the storage unit 12.
  • the control unit 11 divides virtual space forming a virtual polygon model into virtual cells of a predetermined polygonal shape to form a polygon model, and information of the polygon model.
  • the control unit 11 receives value data distributed in the virtual space to be processed.
  • Data of this value is, for example, image data obtained by a medical device such as CT or MRI.
  • the control unit 11 specifies a value for each position of each vertex of the polygonal shape of the cell based on the value data, and among the sides of each cell, a side whose positions do not overlap with each other is a side element,
  • the edge identification information for identifying each edge element is set, and based on the values corresponding to the positions of the vertices at both ends of each edge element, the edge element through which the polygon passes (the intersection of this polygon and the edge element To identify the edge identification information.
  • the control unit 11 then generates information representing the polygon model using the identified side identification information. The contents of the specific processing of the control unit 11 will be described later.
  • the storage unit 12 stores a program to be executed by the control unit 11.
  • This program may be stored in a computer readable non-transitory recording medium and provided, and may be stored in the storage unit 12. Further, in the present embodiment, the storage unit 12 also operates as a work memory of the control unit 11.
  • the operation unit 13 is a keyboard, a mouse or the like, receives an instruction input from the user, and outputs the content of the instruction input to the control unit 11.
  • the display unit 14 is a display or the like, and displays and outputs information in accordance with an instruction input from the control unit 11.
  • the interface unit 15 is an interface such as USB (Universal Serial Bus), receives data from an external device, and outputs the data to the control unit 11. Further, the interface unit 15 may output the instructed information to an external device in accordance with the instruction input from the control unit 11.
  • USB Universal Serial Bus
  • the control unit 11 of the present embodiment functionally includes the polygon model generation unit 20 and the drawing processing unit 30 as exemplified in FIG. 2 by executing the program stored in the storage unit 12.
  • the configuration is realized.
  • the polygon model generation unit 20 includes a data reception unit 21, a cell setting unit 22, a side element setting unit 23, a vertex temporary identification information acquisition unit 24, and a polygon model setting unit 25.
  • the data receiving unit 21 of the polygon model generation unit 20 receives image data obtained by a medical device such as CT or MRI in an example of the present embodiment.
  • image data generally include a plurality of images, and can represent the three-dimensional shape of tissue in the human body.
  • the cell setting unit 22 sets a virtual cell of a predetermined polygonal shape in the space (the virtual space to be processed) in which the pixel value is set.
  • the virtual space here is a regular hexahedron-like space of size L ⁇ L ⁇ L, and any vertex of the regular hexahedron is the origin, and three sides of the regular hexahedron including the origin are orthogonal to each other.
  • An XYZ orthogonal coordinate system is set by setting the directions as X, Y, and Z axis directions, respectively.
  • the cell setting unit 22 sets, for example, the shape of the cell to a regular hexahedron whose size is l ⁇ l ⁇ l (l is a divisor of L), and the arrangement direction is each axial direction of X, Y, and Z axes. Arrange the cells according to.
  • a cell at the position of the origin is represented as (0, 0, 0), and an adjacent cell sharing a plane with a plane having a normal to the X-axis direction of this cell (1, 0, 0) And so on.
  • the cell located at the position of the origin from the cell located in the X axis direction, the ⁇ cell located in the Y axis direction, and the cell located in the Z axis direction are represented as ( ⁇ , ⁇ , ⁇ ). Further, in the figure, with the lower left point on the front side as the origin, the vertically upward direction is the Z-axis positive direction, the right direction is the X-axis positive direction, and the back side is the Y-axis positive direction.
  • the cell setting unit 22 sets cell identification information unique to each cell. Specifically, this cell has a cube (regular hexahedron) shape, and the cell setting unit 22 arranges the cube-shaped cells in a virtual space in a three-dimensional matrix without gaps. The cell setting unit 22 determines a value corresponding to the position of each vertex of the cell based on the value data received by the data receiving unit 21 and records the value.
  • this cell has a cube (regular hexahedron) shape, and the cell setting unit 22 arranges the cube-shaped cells in a virtual space in a three-dimensional matrix without gaps.
  • the cell setting unit 22 determines a value corresponding to the position of each vertex of the cell based on the value data received by the data receiving unit 21 and records the value.
  • the side element setting unit 23 sets side identification information for identifying each side element, with the side which does not overlap each other among the sides of the three-dimensional shape of the cell as the side element.
  • the side element setting unit 23 specifically sets the cell as a cube, as illustrated in FIG. 3, the side identification information of the side 0 to XI belonging to the cell of the cube
  • numbers other than 0 are indicated by Roman numerals, but in the processing of the control unit 11, they may be managed by Arabic numerals etc., a predetermined vertex (for example, the bottom of the cube of the cell (Z axis direction Of the surfaces having the normal line to the origin), the three orthogonal sides (Side 0 and FIG. 3 in FIG. 3) sharing the point (P in FIG.
  • the sides parallel to the X axis of the bottom are the sides 0, I, II, III, and the upper surface (counterclockwise as viewed from above (the positive side of the Z axis) from the side closer to the origin Of the sides having a normal line in the Z-axis direction, the side parallel to the X-axis in the surface far from the origin), the side closer to the origin sequentially from the side closer to the origin (Z-axis positive side)
  • the sides IV, V, VI, and VII around it, the side parallel to the Z axis from the point P is the side VIII, and the Z axis on the X axis positive side of the surface on the near side (the surface having the sides 0, IV, and VIII)
  • the side parallel to Z is the side parallel to the Z axis on the Y-axis positive side of the right side (the side having sides I, V and IX), the side parallel to the Z axis, the last of the hexahedron different from these sides 0 to X
  • One side of
  • IX, X, and XI may be treated as nonexistent.
  • the temporary vertex identification information acquisition unit 24 specifies edge identification information of an edge element at which the vertex of the polygon is located. Specifically, the temporary vertex identification information acquiring unit 24 compares a value corresponding to each vertex of the cell with a value designated in advance (a value at a position corresponding to the surface of the polygon), and each vertex of each cell It is determined whether it is inside or outside a solid defined by the polygon model, and the result of the determination is recorded for each cell vertex.
  • the temporary vertex identification information acquisition unit 24 sequentially selects each cell as a target cell, and indicates whether the vertex of the selected target cell is inside or outside the solid represented by a polygon 256 It is determined which pattern of the street pattern (which is substantially 15 patterns for symmetry), and a polygon (for example, a triangle) corresponding to the determined pattern, the polygon, and the cell of interest Identify the point of intersection with the side of. Since this method is the same as the processing in the conventional marching cube method, the detailed description here is omitted.
  • the vertex temporary identification information acquiring unit 24 specifies polygons to be drawn, issues polygon identification information unique to each polygon, and records the issued polygon identification information.
  • the temporary vertex identification information acquiring unit 24 identifies, for each of the polygons identified here, the intersection point of the polygon and the side element of the cell of interest (the vertex of the polygon on the side element of the cell of interest). And provisionally identifying information (information temporarily identifying the vertex of the polygon on the side element of the cell of interest).
  • provisionally identifying information information temporarily identifying the vertex of the polygon on the side element of the cell of interest.
  • one of the distinctive features in the present embodiment is that instead of using the edge identification information for each cell as in the prior art as temporary identification information for temporarily identifying the vertex of this polygon, the target cell or adjacent thereto Edge identification information that specifies the edge element of the cell to be
  • the edge identification element includes cell identification information for identifying a cell to which the edge element belongs and edge identification information.
  • the temporary vertex identification information acquiring unit 24 determines that the two vertices P and Q shown in FIG. 4 of the cell of interest ⁇ are inside the solid, and the other vertices are solid. Suppose that it is determined to be outside. At this time, although two polygons (triangles) A and B are polygons present in the cell of interest, the control unit 11 of the present embodiment represents the vertices of these triangles (the intersections with the sides of the cells).
  • temporary identification information cell identification information and edge identification information for identifying edge elements of each cell are used.
  • the temporary vertex identification information acquiring unit 24 records, for the polygon A, that each vertex is on the side 0, III, and VIII of the cell ⁇ . Further, the vertex temporary identification information acquiring unit 24 records that each vertex of the polygon B is on the side 0 of the cell ⁇ , the side VIII of the cell ⁇ , and the side III of the cell ⁇ . The vertex temporary identification information acquiring unit 24 specifies another polygon C different from the polygons A and B in this cell ⁇ when processing is performed with the adjacent cell ⁇ as the target cell. One of the vertices of the polygon C will be recorded as being on the side VIII of the cell ⁇ . That is, one of the vertices of the polygon B and one of the vertices of the polygon C are identified by the same temporary identification information (information assumed to be on the side VIII of the cell ⁇ ).
  • cell identification information and edge identification information for identifying an edge element are abstractly used so that the same temporary identification information is given to common vertices for each polygon.
  • each vertex is identified by a unique number or the like different from each other, so it is expressed here as “abstract”). That is, the temporary identification information specified here functions as an abstract identifier.
  • the polygon model setting unit 25 generates information representing a polygon model using the side identification information specified by the vertex temporary identification information acquisition unit 24 for each polygon. That is, for the plurality of polygons specified by the temporary vertex identification information acquiring unit 24, the polygon model setting unit 25 temporarily identifies the vertexes of the polygons (this information identifies the cell identification information and the side element for each cell). Information of the polygon model including the edge identification information).
  • predetermined processing including visualization and deformation operations is executed using the information of the polygon model generated here.
  • the control unit 11 first converts temporary identification information of each polygon included in the information of the polygon model into vertex identification information (information representing the position of the vertex, so-called real identification information) used for actual drawing. .
  • This conversion process can be performed by issuing identification information such as a unique number or a character string for each temporary identification information as vertex identification information.
  • identification information such as a unique number or a character string
  • vertex identification information representing that vertex. Therefore, in the present embodiment, the control unit 11 achieves this association process as follows.
  • control unit 11 performs, as processing of the polygon model setting unit 25, a histogram pyramid (Christopher Dyken, et. Al., High-speed Marching Cubes using Histogram Pyramids, Computer Graphics Forum, Vol. 27, issue 8, December 2008, pages
  • the temporary identification information is converted into vertex identification information using a method similar to 2028-2039), and the vertex identification information obtained by the conversion is associated with polygon identification information using a histogram pyramid method.
  • the control unit 11 converts temporary identification information into vertex identification information by the same method as the histogram pyramid. That is, the control unit 11 sequentially selects each of the cells as the target cell, and selects the side elements of the selected target cell in a predetermined selection order (for example, in the order of side 0, side III, side VIII if the cell is a hexahedron) Then, while counting the number of vertexes of the polygon on the side element, it accumulates. Then, the control unit 11 records the sum (accumulated value) of values obtained by counting for each side element as the count value (base level count value) for the cell of interest.
  • a predetermined selection order for example, in the order of side 0, side III, side VIII if the cell is a hexahedron
  • control unit 11 sets a plurality of groups of a plurality of adjacent cells (for example, n ⁇ n ⁇ n cells adjacent to each other) in order from a predetermined position, and sets the set group as a first stage block As each of the first stage blocks, the sum of the numbers of vertexes of polygons on the side elements in the cells belonging to the first stage block, that is, the sum of the base level count values for the cells belonging to the first stage block , And is recorded as the count value (level 1 count value) for the first stage block.
  • the predetermined position may be, for example, the cell (0, 0, 0) at the origin of the virtual space.
  • the order of formation of groups is, for example, as follows. That is, first, n ⁇ n ⁇ n cells including the cell of the origin are grouped. Next, n ⁇ n ⁇ n cells including cells adjacent in the positive direction of the X axis of this group (grouped immediately before) are grouped. Hereafter, the group is selected in the same manner.
  • the x n x n cells are set as a group, and n x n x n cells including cells adjacent in the X-axis positive direction of this group are selected as a group again.
  • this stage is conveniently referred to as the final level.
  • the order of formation of groups here is the same as the order of formation of groups of cells.
  • the control unit 11 further adds the number of vertexes of polygons on the side elements in the side elements belonging to the block unit block recorded here, or on the side elements in the cell unit recorded. With reference to the value of the sum of the number of vertexes of the polygon, temporary identification information of the vertex of the polygon is converted into vertex identification information used for processing such as actual drawing.
  • control unit 11 performs the following processing for each temporary identification information of the vertex of the polygon.
  • the control unit 11 acquires cell identification information and side element identification information that are temporary identification information to be converted, and includes the cell identified by the acquired cell identification information.
  • the final generated in the above process Identify the block in blocks of the level.
  • the control unit 11 specifies the (N ⁇ 1) th block included in the target block with the specified final level (Nth stage) block as the target block.
  • the control unit 11 selects the block including the cell identified by the acquired cell identification information while selecting the (N ⁇ k ⁇ 1) -th block included in the block of interest in the N ⁇ k stage in the formation order
  • the value of the sum of the number of vertexes of polygons allocated to the blocks selected up to (except the block itself including the cell identified by the acquired cell identification information) is accumulated.
  • this accumulated value is recorded as a reserve value of the (N ⁇ k ⁇ 1) th block.
  • the control unit 11 determines the cells in the found first stage group in the order of formation. The value of the sum of the number of vertices of polygons for the selected cell (excluding the cell itself identified by the acquired cell identification information) while the cell identified by the acquired cell identification information is selected while being selected Accumulate. Then, this accumulated value is recorded as a preliminary value of the first stage block.
  • control unit 11 selects the side elements in the cell identified by the acquired cell identification information in the selection order, the side element identified by the side element identification information acquired with the cell identification information is selected. Accumulates the value of the sum of the number of polygon vertices on the selected side element. Then, this accumulated value is recorded as a side element reserve value.
  • the control unit 11 acquires, for each polygon identified by the recorded polygon identification information, vertex identification information of each vertex of the polygon. Since this process can be performed by the conventional method of histogram pyramid, detailed description here is omitted.
  • the drawing processing unit 30 of the control unit 11 uses a combination of information of the polygon model generated in this manner, and polygon identification information and vertex identification information for identifying each vertex of the polygon identified by the polygon identification information. Draw each polygon.
  • the processing in the drawing processing unit 30 can be executed by the same method as that of the prior art because the sets of the vertices of the polygons and the vertex identification information have already been obtained.
  • One of the distinctive features of this embodiment is that the vertex identification information set at this stage is unique to the set of cell identification information and edge element identification information defined by excluding duplication originally. The vertexes at the same point in the virtual space have the same vertex identification information.
  • the control unit 11 executes a process of deforming a polygon (when moving a vertex, deleting a vertex, etc.), the vertex identified by the predetermined vertex identification information is deformed, and the vertex identification information is used. Since drawing of a polygon having a vertex to be identified may be performed, a process of searching for a vertex identified by another identifier which is originally at the same position as the vertex which is the target of movement or deletion is unnecessary. Efficiency can be improved, and real-time deformation and drawing processing can be facilitated.
  • the process of setting the temporary identification information can be performed for each cell without referring to the execution results in other cells, and the vertex identification information can be obtained from the temporary identification information.
  • the process of conversion into the temporary identification information can also be executed without referring to the processing result of the other temporary identification information.
  • processing of associating polygon identification information and vertex identification information also uses processing of the histogram pyramid, so it can be executed independently for each polygon (without reference to processing related to other polygons), and parallelization is easy It has become.
  • loop processing in the processing of determination of temporary identification information and conversion to vertex identification information it is not necessary to execute completely different processing due to conditional branching, and processing load is reduced.
  • the image processing apparatus of the present embodiment has the above configuration, and operates as follows. In the following, for the sake of explanation, it is assumed that the virtual space is not a three-dimensional space but a two-dimensional space. Note that there is no loss of generality even if the dimensions differ in this way.
  • the image processing apparatus 1 receives value data distributed in the virtual space to be processed as shown in FIG. 5 (S1).
  • Data of this value is, for example, image data obtained by a medical device such as CT or MRI.
  • the image processing apparatus 1 specifies a value for each position of each vertex of the polygonal shape of the cells arrayed in the virtual space based on the value data (S2).
  • the image processing apparatus 1 sets edge identification information for identifying each side element, with the side which does not overlap each other among the sides of each cell as a side element (FIG. 6).
  • the cells are, for example, square. Therefore, as the side elements of each cell, the left side (referred to as side III) and the lower side (referred to as side 0) of the square are used.
  • the axis in the left and right direction is the X axis (positive in the right direction), and the axis in the vertical direction is the Y axis (positive in the lower part).
  • the cell identification information of each cell has the top left corner as the origin (0, 0) and the cell identification information of the cell having the vertex at this origin (the cell at the top left corner) as “0” and the cell having the vertex at this origin
  • the cell identification information of the cell (the cell located at the position of (x, y)) arranged in the X-axis direction from the x-th in the X-axis direction and the y-th in the Y-axis direction is represented by an integer of (xmax ⁇ y + x + 1). Note that xmax is the number of cells arranged in the X-axis direction ("8" in FIG. 6).
  • the image processing apparatus 1 specifies the side identification information of the side element through which the polygon passes based on the values corresponding to the positions of the vertices of both ends of each side element of each cell (S3). That is, the image processing apparatus 1 performs the process of the marching cube method to obtain the values corresponding to each vertex of the cell identified in the process S2 and the previously designated values (values at positions corresponding to the surface of the polygon). The comparison is made to determine whether each vertex of each cell is inside or outside the solid defined by the three-dimensional polygon model, and the result of the determination is recorded for each vertex of the cell.
  • the image processing apparatus 1 sequentially selects each cell as a target cell, and for the selected target cell, the pattern of the 15 patterns representing whether the vertex of the cell is inside or outside of the solid represented by the polygon. It is determined which pattern it corresponds to, a polygon (for example, a triangle) corresponding to the determined pattern is identified, and a point (vertex of the polygon) at which the polygon intersects the side of the cell of interest is identified.
  • a polygon for example, a triangle
  • a point vertex of the polygon
  • the image processing apparatus 1 also issues polygon identification information unique to each polygon, and records the issued polygon identification information.
  • the image processing apparatus 1 also identifies temporary identification information (on the side element of the cell of interest) that identifies a crossing point between the identified polygon and the side element of the cell of interest (the vertex of the polygon on the side element of the cell of interest). Information for temporarily identifying the vertex of a certain polygon is issued (S4).
  • the temporary identification information will be described using the two-dimensional example illustrated in FIG. 6. In the cell identified by the cell identification information "9" (the cell at the position (1, 1)), the isosurface is a side.
  • the image processing apparatus 1 issues and records two pieces of ⁇ cell identification information “9”, edge 0 ⁇ , ⁇ cell identification information “10”, edge III ⁇ as temporary identification information.
  • the image processing apparatus 1 sets ⁇ cell identification information “10”, side III ⁇ , ⁇ cell identification information “3”, side as temporary identification information. Issue and record 2 of 0 ⁇ .
  • the vertex of ⁇ cell identification information "9", side I ⁇ at the same position and the vertex of ⁇ cell identification information "10", side III ⁇ are identified as different vertices.
  • the point at this position is (abstractively) expressed as common ⁇ cell identification information "10", side III ⁇ , and common identification information is assigned.
  • the image processing apparatus 1 performs edge processing for each cell to identify the vertex of the polygon in the cell on any side in the cell by edge element identification information for identifying the edge element of any cell. Express and record, and generate polygon model information. Then, the image processing apparatus 1 executes predetermined processing including visualization and deformation operations using the information of the generated polygon model.
  • the image processing apparatus 1 first converts temporary identification information related to the vertex of each polygon, which is included in the information of the polygon model, into vertex identification information used for actual drawing (S5) .
  • the image processing apparatus 1 sequentially selects each of the cells as a target cell, and the side elements of the selected target cell are arranged on the side element in a predetermined selection order (for example, in the order of side 0, side III of the cell). Accumulate while counting the number of vertices of the polygon. Then, the image processing apparatus 1 records the sum (accumulated value) of values obtained by counting for each side element as the count value (base level count value) for the cell of interest (FIG. 7A). .
  • FIG. 7 does not correspond on account of description. That is, the example of the polygon in FIG. 6 and the example of the polygon in FIG. 7 are different.
  • the image processing apparatus 1 sets a plurality of groups of a plurality of adjacent cells (for example, 2 ⁇ 2 cells adjacent to each other) in order from a predetermined position (the origin O of FIG. 7A) In FIG. 7A, the groups are distinguished by solid lines). Then, the image processing apparatus 1 sets the set group as the first stage block, and for each of the first stage block, the sum of the numbers of vertexes of polygons on the side elements in the cells belonging to the first stage block, The sum of the base level count values for the cells belonging to the one-stage block is recorded as the count value (level 1 count value) for the first-stage block (FIG. 7 (b)).
  • Select 2 ⁇ 2 cells including cells as a group By this process, each cell is included in the group in order.
  • the image processing apparatus 1 sets a group of a plurality of first stage blocks adjacent to each other (for example, a group of 2 ⁇ 2 first stage blocks adjacent to each other) in the order of formation from the predetermined position (see FIG. Also in 7 (b), the groups are distinguished by solid lines). Then, the image processing apparatus 1 sets the set group as the second stage block, and adds the sum of the numbers of vertexes of polygons on the side elements in the cells belonging to the second stage block to the count value for the second stage block. It records as (Level 2 count value) (FIG. 7 (c)).
  • the image processing apparatus 1 sets a group of a plurality of second stage blocks adjacent to each other (for example, a group of 2 ⁇ 2 second stage blocks adjacent to each other) in the order of formation from the predetermined position.
  • a group is distinguished by a solid line also in FIG. 7 (c)).
  • the image processing apparatus 1 sets the set group as the third stage block, and adds the sum of the numbers of vertexes of polygons on the side elements in the cells belonging to the third stage block to the count value for the third stage block It records as (Level 3 count value) (FIG. 7 (d)).
  • this third stage is set as the final level.
  • the image processing apparatus 1 acquires cell identification information and side element identification information, which are temporary identification information, for each temporary identification information of the vertex of the polygon, and the cell identified by the acquired cell identification information is included. , Identify the block in the final level block generated by the above process.
  • the second stage block included in the block of interest is specified with this block as the block of interest for any temporary identification information.
  • the image processing apparatus 1 identifies a block including the cell identified by the acquired cell identification information among the identified second stage blocks. An example in which vertex identification information is generated for an edge element of cell identification information “24” and a vertex at “edge 0” will be described below.
  • the image processing apparatus 1 identifies the second stage block included in the target block, with the single block of the final block (third stage block) as the target block.
  • the single block of the final block third stage block
  • all blocks of the second stage block are included in the block of interest of the third stage block, so all of the second stage block are identified.
  • the image processing apparatus 1 selects the blocks identified in the second stage block in the order of formation, and selects the blocks selected until the block including the cell identified by the acquired cell identification information is selected (acquired cell identification Accumulates the value of the sum of the number of vertexes of the polygon allocated to the block itself including the cell identified by the information).
  • the cell identification information “24”, which is an example here, is included in the upper right block in the second stage block (the cell is included in which block is recorded for each block when the block is formed). Since it can be judged by widely known processing such as storing, detailed description is omitted here), so that the block including the cell identified by the cell identification information “24” is selected in order of formation.
  • the left block is only the upper left block. Therefore, the image processing apparatus 1 records the value "9" of the sum of the number of vertexes of the polygon, which is assigned to the upper left block, as a preliminary value of the second stage block.
  • the image processing apparatus 1 specifies the first stage block included in the upper right block of the second stage block including the cell of the cell identification information “24”.
  • the image processing apparatus 1 identifies the block in the third column and the fourth column of the first row of the first stage block and the third column and the fourth column of the second row.
  • the image processing apparatus 1 selects the blocks identified in the first stage block in the order of formation, and selects the blocks selected before the block including the cell identified by the acquired cell identification information is selected (acquired cell identification Accumulates the value of the sum of the number of vertexes of the polygon allocated to the block itself including the cell identified by the information).
  • the cell of the cell identification information “24”, which is an example here, is included in the block of the second row and the fourth column in the first row block, and thus identified in the order of formation by the cell identification information “24”.
  • Blocks selected until the block including the target cell is selected is each block of the third row and the fourth column of the first row of the first stage block, and the third row of the second row It becomes a block of Therefore, the image processing apparatus 1 records the sum “6” of the sum “3”, “1” and “2” of the number of polygon vertex numbers allocated to these blocks as the preliminary value of the first stage block Do.
  • the image processing apparatus 1 specifies a cell (base level) included in the block of the first stage block including the cell of the cell identification information “24”.
  • each cell of “23”, “24”, “31” and “32” is specified by the cell identification information.
  • the image processing apparatus 1 selects the cells specified here in the order of formation of the blocks (in order of small cell identification information) and selects the cells selected until the cell identified by the acquired cell identification information is selected. Accumulate the value of the sum of the number of polygon vertices assigned to.
  • the image processing apparatus 1 selects the cell of the cell identification information "23".
  • the value "0" assigned to is recorded as an edge element reserve value.
  • the image processing apparatus 1 determines that the cell identification information “24”. Let the vertex identification information of the vertex in the edge element of “the edge 0” be “15” which is the sum of them.
  • the image processing apparatus 1 obtains vertex identification information for each piece of temporary identification information by the method described above.
  • the image processing apparatus 1 further acquires, for each polygon identified by the stored polygon identification information, vertex identification information of each vertex of the polygon. This process may be performed by the conventional histogram pyramid method. Then, the image processing apparatus 1 executes the drawing processing of each polygon in the same manner as the conventional method.
  • the image processing apparatus 1 receives, in the virtual space of the vertex identified by the vertex identification information, the movement of the vertex or an instruction to delete the vertex together with the vertex identification information that specifies the vertex from the user.
  • the process of moving the position coordinates according to the instruction or deleting the vertex and deleting the polygon including the vertex is performed.
  • FIG. 8 shows a comparison example of the conventional example and the present embodiment in the process of deleting a vertex.
  • vertex A of cell 1 cell of cell identification information “1” is abbreviated as cell 1 etc. in the figure
  • vertex of cell 2 shown in FIG. Since A ′ is given information for identifying a vertex for each cell despite being at the same position, different vertices are identified between vertex A of cell 1 and vertex A ′ of cell 2 Information is set.
  • the image processing apparatus of the conventional example deletes the polygon including the vertex A in the cell 1, but deletes the polygon including the vertex A 'in the cell 2. do not do. Therefore, it does not follow the user's intention to delete the vertex at the position of the vertex A, and in order to operate it according to the user's intention, it is at the same position as the vertex A targeted for deletion
  • the processing for searching for the vertex is required, and the processing such as deformation takes time.
  • both the vertex A of the cell 1 and the vertex A of the cell 2 are abstractly expressed as points on the side element “0” of the cell 1 before the vertex identification information Since it is converted to (A), common vertex identification information "A" is given.
  • the number of vertex identification information with respect to the number of polygons does not increase as a whole (in the conventional method, vertex identification information of the number obtained by multiplying the number of polygons by the number of vertices is issued) ). Thereby, in the method of the present embodiment, the processing load such as drawing is also reduced.
  • the calculation process (VTK) with a conventional marching cube (without using the histogram pyramid method for associating vertices with polygons) and the histogram pyramid method for associating vertices with polygons are used.
  • the difference in the processing time including the integration time of the vertices of the same coordinates between the calculation processing (HPMC) by the marching cube and the calculation processing (ProposedMC) by the method of the present embodiment is shown in FIG.
  • the method according to the present embodiment can achieve speeding up of 5 times or more (4 times or more overall as a whole) with respect to VTK.
  • the speeding up of three times or more is also achieved with respect to the marching cube method (HPMC) in the case of using the histogram pyramid method.
  • SYMBOLS 1 image processing apparatus 11 control unit, 12 storage unit, 13 operation unit, 14 display unit, 15 interface unit, 20 polygon model generation unit, 21 data reception unit, 22 cell setting unit, 23 side element setting unit, 24 vertex temporary Identification information acquisition unit, 25 Polygon model setting unit, 30 Drawing processing unit.

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)
  • Apparatus For Radiation Diagnosis (AREA)
  • Processing Or Creating Images (AREA)

Abstract

仮想的なポリゴンモデルを形成する仮想空間を、所定多角形状の仮想的なセルに分割して、ポリゴンモデルを形成する画像処理装置であって、処理対象となる仮想空間内に分布する値データを受け入れ、当該値データに基づいて、セルの多角形状の各頂点の位置ごとの値を決定し、各セルの辺のうち、互いにその位置が重なり合わない辺を辺要素として、各辺要素を識別する辺識別情報を設定し、各辺要素の両端の頂点の位置に対応する値に基づいて、セル内を通過するポリゴンの頂点が位置する辺要素の辺識別情報を特定して、当該特定した辺識別情報を用いてポリゴンモデルを表す情報を生成する画像処理装置である。

Description

画像処理装置、及びプログラム
 本発明は、医療用画像等を処理する画像処理装置、及びプログラムに関する。
 近年、例えば医療用の診断装置(CT装置等)から得られた画像データを処理して、血管等の組織を三次元的なポリゴンモデルで表現し、三次元の画像として可視化する技術が広く知られている。また、このようなモデル化、可視化のための処理としては、例えば医療分野では、マーチングキューブ法と呼ばれる画像処理が用いられるのが一般的となっている(例えば特許文献1)。
特開2012-245374号公報
 しかしながら、上記従来のマーチングキューブを用いた画像処理では、可視化は可能であるが、手術時のシミュレーションなどを行うべく組織のポリゴンモデルの変形操作を行うときに、次のような問題が生じる。
 すなわち、通常のマーチングキューブ法では、仮想空間に四面体のセルをマトリクス状に配列し、この仮想空間内に、複数の画像データに基づいて数値(例えば画像データの輝度の値)を設定する。そして、上記各セルについて、所定の値の面(等値面)が含まれるか否かを決定し、等値面が含まれるとされたセルについては、等値面を特定する情報を生成する。
 ここで、互いに隣接する一対のセルには同じ位置に配される辺(共通辺と呼ぶ)が含まれる。具体的には図10に例示するように、互いに隣接するセルA,Bにおいては、セルAの底面を構成する辺A1からA4と、セルBの上面を構成する辺B5からB8とが共通辺として含まれる。しかしながら、上記通常のマーチングキューブ法では、各セルについて独立して等値面の設定を行うため、例えばセルAについて設定した等値面が辺A1上の点Axを横切ると判断されたときには、当該等値面は、セルBの、辺A1に対する共通辺である辺B5上の点Bxも同様に横切ることとなる。ここで、点Axと点Bxとは、上記仮想空間内の同じ点であるにも関わらず、マーチングキューブ法では、セルごとに処理を行ってしまうので、互いに異なる点として識別されて処理に供される。
 このことは、可視化のみに用いる場合には通常、問題とならないが、このポリゴンモデルに対して頂点の編集操作、例えば変形操作を行う場合、点Axの位置を変化させるときには、対応する点Bxを探索して、当該点Bxについても点Axと同じように位置を変化させなければならない。
 このため、変形操作の処理負荷が大きくなり、リアルタイムに頂点の編集操作を行う等の処理が困難となる場合があった。また、頂点の編集操作に先立って同一座標にある頂点を統合する処理を行う場合も、その処理負荷が大きくなっていた。
 本発明は上記実情に鑑みて為されたもので、頂点の編集操作等の画像処理負荷を軽減できる画像処理装置、及びプログラムを提供することを、その目的の一つとする。
 上記従来例の問題点を解決する本発明は、仮想的なポリゴンモデルを形成する仮想空間を、所定多角形状の仮想的なセルに分割して、ポリゴンモデルを形成する画像処理装置であって、処理対象となる前記仮想空間内に分布する値データを受け入れる手段と、前記値データに基づいて、前記セルの多角形状の各頂点の位置ごとの値を決定する手段と、前記各セルの辺のうち、互いにその位置が重なり合わない辺を辺要素として、各辺要素を識別する辺識別情報を設定し、各辺要素の両端の頂点の位置に対応する前記値に基づいて、セル内を通過するポリゴンの頂点が位置する辺要素の辺識別情報を特定する手段と、前記特定した辺識別情報を用いて前記ポリゴンモデルを表す情報を生成するポリゴンモデル生成手段と、を含み、当該辺識別情報を用いて表されるポリゴンモデルの情報が、可視化及び変形操作を含む所定処理に供されることとしたものである。
 本発明によると、変形操作等の画像処理負荷を軽減できる。
本発明の実施の形態に係る画像処理装置の構成例を表すブロック図である。 本発明の実施の形態に係る画像処理装置の一例を表す機能ブロック図である。 本発明の実施の形態に係る画像処理装置が設定するセル、及び辺要素の例を表す説明図である。 本発明の実施の形態に係る画像処理装置による仮頂点識別情報の設定例を表す説明図である。 本発明の実施の形態に係る画像処理装置の動作例を表すフローチャート図である。 本発明の実施の形態に係る画像処理装置の動作例を表す説明図である。 本発明の実施の形態に係る画像処理装置の動作例を表すもう一つの説明図である。 本発明の実施の形態に係る画像処理装置による処理と従来例の処理との対比を表す説明図である。 本発明の実施の形態に係る画像処理装置の効果を表す説明図である。 従来の処理における頂点の設定方法を表す説明図である。
 本発明の実施の形態について図面を参照しながら説明する。本発明の実施の形態に係る画像処理装置1は、図1に例示するように、制御部11、記憶部12、操作部13、表示部14、及びインタフェース部15を含んで構成される。
 制御部11は、CPU等のプログラム制御デバイスであり、記憶部12に格納されたプログラムに従って動作する。本実施の形態において、この制御部11は、仮想的なポリゴンモデルを形成する仮想空間を、所定多角形状の仮想的なセルに分割して、ポリゴンモデルを形成する処理と、当該ポリゴンモデルの情報を用いた、可視化及び頂点の編集操作(変形操作等)の所定処理とを実行する。
 ここでポリゴンモデルを形成する処理では、この制御部11は、処理対象となる仮想空間内に分布する値データを受け入れる。この値のデータは例えばCTやMRI等の医療機器により得られる画像データ等である。また制御部11は、この値データに基づいて、上記セルの多角形状の各頂点の位置ごとの値を特定し、各セルの辺のうち、互いにその位置が重なり合わない辺を辺要素として、各辺要素を識別する辺識別情報を設定し、各辺要素の両端の頂点の位置に対応する値に基づいて、ポリゴンが通過する辺要素(このポリゴンと辺要素との交点はポリゴンの頂点となる)の辺識別情報を特定する。制御部11は、そして、特定した辺識別情報を用いてポリゴンモデルを表す情報を生成する。この制御部11の具体的な処理の内容については、後に述べる。
 記憶部12は、制御部11により実行されるプログラムを格納している。このプログラムは、コンピュータ可読、かつ非一時的な記録媒体に格納されて提供され、この記憶部12に格納されたものであってもよい。また本実施の形態において、この記憶部12は、制御部11のワークメモリとしても動作する。
 操作部13は、キーボードやマウス等であり、利用者の指示入力を受け入れて、制御部11に対して当該指示入力の内容を出力する。表示部14は、ディスプレイ等であり、制御部11から入力される指示に従って情報を表示出力する。
 インタフェース部15は、USB(Universal Serial Bus)等のインタフェースであり、外部の装置からデータを受け入れて制御部11に出力する。またこのインタフェース部15は、制御部11から入力される指示に従って、外部の装置に対して指示された情報を出力してもよい。
 ここで本実施の形態の制御部11の動作について説明する。本実施の形態の制御部11は、記憶部12に格納されたプログラムを実行することにより、機能的に、図2に例示するように、ポリゴンモデル生成部20と、描画処理部30とを含む構成を実現するものである。ここでポリゴンモデル生成部20は、データ受入部21と、セル設定部22と、辺要素設定部23と、頂点仮識別情報取得部24と、ポリゴンモデル設定部25とを含んで構成される。
 ポリゴンモデル生成部20のデータ受入部21は、本実施の形態の一例では、CTやMRI等の医療機器により得られる画像データを受け入れる。これらの画像データは一般的に複数枚の画像を含み、人体内の組織の関する三次元的な形状を表現可能なものである。以下の説明で、このようなCTやMRI等により得られた画像データから三次元的な空間内の各点での画素値(処理対象となる仮想空間内に分布する値データ)を得る方法は、広く知られているので、ここでの詳しい説明は省略する。
 セル設定部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軸正の方向とする。
 またセル設定部22は、各セルに、それぞれ固有のセル識別情報を設定しておく。具体的には、このセルは立方体(正六面体)の形状を有し、セル設定部22は、当該立方体形状のセルを、仮想空間内に、隙間なく三次元的なマトリクス状に配列する。またこのセル設定部22は、データ受入部21が受け入れた値データに基づいて、セルの各頂点の位置に対応する値を決定して、当該値を記録する。
 辺要素設定部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)。
 また、処理対象となる仮想空間内でX軸正の側の端、Y軸正の側の端、Z軸正の側の端にあるセルの辺I,II,IV,V,VI,VII,IX,X,XIは、それぞれ存在しないものとして扱ってもよい。
 頂点仮識別情報取得部24は、ポリゴンの頂点が位置する辺要素の辺識別情報を特定する。具体的に頂点仮識別情報取得部24は、セルの各頂点に対応する値と、予め指定された値(ポリゴンの面に相当する位置での値)とを比較し、各セルの各頂点がポリゴンモデルで規定される立体の内側にあるか外側にあるかを判断し、セルの頂点ごとに、当該判断の結果を記録する。
 そしてこの頂点仮識別情報取得部24は、各セルを順次注目セルとして選択し、選択している注目セルについてセルの頂点がポリゴンで表される立体の内側にあるか外側にあるかを表す256通りのパターン(対称性のため、実質的には15通りのパターン)のいずれのパターンに相当するかを判断し、当該判断したパターンに対応する、ポリゴン(例えば三角形)と、当該ポリゴンと注目セルの辺との交差する点とを特定する。この方法は、従来のマーチングキューブ法における処理と同様であるので、ここでの詳しい説明を省略する。この段階で、頂点仮識別情報取得部24は、描画するべきポリゴンを特定し、各ポリゴンに固有のポリゴン識別情報を発行し、当該発行したポリゴン識別情報を記録する。
 本実施の形態において頂点仮識別情報取得部24は、ここで特定されたポリゴンごとに、ポリゴンと注目セルの辺要素との交差する点(注目セルの辺要素上にあるポリゴンの頂点)を識別する、仮識別情報(注目セルの辺要素上にあるポリゴンの頂点を仮に識別する情報)を発行する。このとき本実施の形態において特徴的なことの一つは、このポリゴンの頂点を仮に識別する仮識別情報として従来のようにセルごとの辺識別情報を用いることに代えて、注目セルまたはそれに隣接するセルの辺要素を特定する辺識別情報を用いることである。ここで辺識別要素は当該辺要素が属するセルを特定するセル識別情報と辺識別情報とを含む。
 すなわち、図4に例示するように、具体的に注目セルαに対し、図中でその上方に隣接するセルβと、図中で右側に隣接するセルγと、このセルγの上方に隣接するセルδとが配列されているとき、頂点仮識別情報取得部24により、注目セルαの図4に示す2つの頂点P,Qが立体の内部にあるものと判断され、他の頂点が立体の外部にあるものと判断されたとする。このときには、2つのポリゴン(三角形)A,Bがこの注目セル内に存在するポリゴンとなるが、本実施の形態の制御部11は、これらの三角形の頂点(セルの辺との交点)を表す仮識別情報として、セル識別情報と、セルごとの辺要素を識別する辺識別情報とを用いるものとする。
 従って図4の例の場合、頂点仮識別情報取得部24は、ポリゴンAについては、セルαの辺0,III,VIIIに各頂点があるものとして記録する。また、頂点仮識別情報取得部24は、ポリゴンBについてはセルβの辺0、セルγの辺VIII、セルδの辺IIIに各頂点があるものとして記録する。また頂点仮識別情報取得部24は、隣接するセルγを注目セルとして処理をした場合に、ポリゴンA,Bとは異なる別のポリゴンCを、このセルγ内に特定することとなるが、このポリゴンCの頂点の一つは、セルγの辺VIIIにあるものとして記録されることとなる。すなわち、ポリゴンBの頂点の一つと、ポリゴンCの頂点の一つとが同じ仮識別情報(セルγの辺VIIIにあるものとする情報)で特定されることとなる。
 このように、本実施の形態では、各ポリゴンについて、共通する頂点については、同じ仮識別情報が付与されるよう、まずはセル識別情報と辺要素を識別する辺識別情報とを用いて抽象的に(実際のレンダリングにおいては、各頂点は互いに異なる固有の番号等で識別されるので、ここでは「抽象的」と表現している)表される。すなわち、ここで特定される仮識別情報は、いわば抽象識別子として機能する。
 ポリゴンモデル設定部25は、頂点仮識別情報取得部24がポリゴンごとに特定した辺識別情報を用いて、ポリゴンモデルを表す情報を生成する。すなわちこのポリゴンモデル設定部25は、頂点仮識別情報取得部24が特定した複数のポリゴンについて、各ポリゴンの各頂点を表す仮識別情報(この情報にはセル識別情報とセルごとの辺要素を識別する辺識別情報とを含む)を含むポリゴンモデルの情報を生成する。
 本実施の形態においては、ここで生成したポリゴンモデルの情報を用いて、可視化及び変形操作を含む所定処理を実行する。具体的に制御部11は、まず、ポリゴンモデルの情報に含まれる、各ポリゴンの仮識別情報を、実際の描画に用いる頂点識別情報(頂点の位置を表す情報、いわば実識別情報)へ変換する。
 この変換処理は、仮識別情報ごとに固有の番号や文字列等の識別情報を、頂点識別情報として発行することで行うことができる。このとき描画等の処理のためには、ポリゴンとその頂点を表す頂点識別情報とを関連付ける必要がある。そこで本実施の形態では、制御部11は、次のようにしてこの関連付け処理を達成する。
 すなわち制御部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)と同様の方法を用いて、仮識別情報を頂点識別情報へ変換し、さらに変換により得た頂点識別情報をヒストグラムピラミッドの方法を用いて、ポリゴン識別情報に関連付ける。
 具体的に、制御部11は、ヒストグラムピラミッドと同様の方法により、仮識別情報を頂点識別情報へ変換する。すなわち制御部11は、セルの各々を注目セルとして順次選択し、選択した注目セルの辺要素を所定の選択順(例えばセルが正六面体であれば、辺0,辺III,辺VIIIの順)に、当該辺要素上のポリゴンの頂点の数をカウントしつつ累算する。そして制御部11は、各辺要素について当該カウントして得られた値の和(累算値)を、注目セルについてのカウント値(ベースレベルカウント値)として記録する。
 さらに制御部11は、予め定められた位置から順に、互いに隣接する複数のセル(例えば互いに隣接するn×n×n個のセル)のグループを複数設定し、この設定したグループを第1段ブロックとして、当該第1段ブロックの各々について、第1段ブロックに属するセル内の辺要素上のポリゴンの頂点の数の和、つまり、第1段ブロックに属するセルについてのベースレベルカウント値の和を、第1段ブロックについてのカウント値(レベル1カウント値)として記録する。
 ここで予め定めた位置は、例えば、仮想空間の原点にあるセル(0,0,0)とすればよい。またグループの形成順は、例えば次のようにする。すなわち、まず原点のセルを含むn×n×n個のセルをグループとする。次に、この(直前にグループとした)グループのX軸正の方向に隣接するセルを含むn×n×n個のセルをグループとする。以下、同様にグループを選択してゆく。X軸方向に隣接するセルがなくなったら、X=0に戻って、X=0の位置で既に形成したグループにY軸正の方向に隣接するセル(未だグループとされていないセル)を含むn×n×n個のセルをグループとして、再度このグループのX軸正の方向に隣接するセルを含むn×n×n個のセルをグループとし…と選択していく。この処理を繰り返して、Y軸方向に隣接するセルがなくなったら、X=0、Y=0に戻って、X=0、Y=0の位置で既に形成したグループにZ軸正の方向に隣接するセル(未だグループとされていないセル)を含むn×n×n個のセルをグループとして、X軸正の方向に移動しつつグループを形成する処理から繰り返していく(いわば、三次元的なスキャンライン順にグループ化を行えばよい)。この処理により、各セルが順番にグループに含められる。
 制御部11は、以下、上記の予め定められた位置から上記の形成順に、互いに隣接する複数の第(i-1)段(iは、i>1なる整数)ブロックのグループ(例えば互いに隣接する2×2×2個の第(i-1)段ブロックのグループ)を設定する。そして制御部11は、この設定したグループを第i段ブロックとして、当該第i段ブロック内に属するセル内の辺要素上のポリゴンの頂点の数の和を、第i段ブロックについてのカウント値(レベルiカウント値)として記録する処理を、i=2,3…とインクリメントしつつ実行し、ブロックの数が所定の数未満となるまで(例えばグループ化不能となるまで、一例としては2×2×2未満、あるいは「1」となるまで)繰り返す。この段階を以下、便宜的に最終レベルと呼ぶ。ここでのグループの形成順も、セルのグループの形成順と同様とする。
 制御部11は、さらに、ここで記録されたブロック単位でのブロック内に属するセル内の辺要素上のポリゴンの頂点の数の和、または記録されたセル単位でのセル内の辺要素上のポリゴンの頂点の数の和の値を参照して、ポリゴンの頂点の仮識別情報を、実際の描画等の処理に用いる頂点識別情報に変換する。
 すなわち制御部11は、ポリゴンの頂点の仮識別情報ごとに、次の処理を行う。制御部11は、変換の対象となる仮識別情報であるセル識別情報と辺要素識別情報とを取得し、当該取得したセル識別情報で識別されるセルが含まれる、上記の処理で生成した最終レベルのブロック単位でのブロックを特定する。
 制御部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」ずつインクリメントしつつこの処理を繰り返す。
 制御部11は、k=N-1となると(取得したセル識別情報で識別されるセルを含む第1段グループが見いだされると)、当該見いだした第1段グループ内のセルを、上記形成順に選択しつつ、取得したセル識別情報で識別されるセルが選択されるまでに選択したセル(取得したセル識別情報で識別されるセルそのものは除く)についての、ポリゴンの頂点の数の和の値を累算する。そしてこの累算値を第1段ブロックの予備値として記録する。
 さらに制御部11は、取得したセル識別情報で識別されるセル内の辺要素を、上記選択順に選択しつつ、セル識別情報とともに取得した辺要素識別情報で識別される辺要素が選択されるまでに選択した辺要素上のポリゴンの頂点の数の和の値を累算する。そしてこの累算値を辺要素予備値として記録する。
 制御部11は、この処理で記録した辺要素予備値、及び第i段ブロックの予備値(i=1,2…N-1)の総和が表す値を、取得したセル識別情報と辺要素識別情報で特定される仮識別情報に対応する頂点識別情報として出力する。これにより、仮識別情報のそれぞれが、連番の頂点識別情報に関連付けられる。
 制御部11は、さらに記録しているポリゴン識別情報で識別されるポリゴンごとに、当該ポリゴンの各頂点の頂点識別情報を取得する。この処理は、従来通りのヒストグラムピラミッドの方法により実行できるので、ここでの詳しい説明は省略する。
 制御部11の描画処理部30は、このようにして生成したポリゴンモデルの情報、及びポリゴン識別情報と当該ポリゴン識別情報で識別されるポリゴンの各頂点を識別する頂点識別情報との組を用いて、各ポリゴンの描画を行う。この描画処理部30における処理は、既に各ポリゴンの各頂点と頂点識別情報との組が得られているので、従来と同様の方法により実行できる。本実施の形態において特徴的なことの一つは、この段階で設定されている頂点識別情報が、そもそも重複を排除して規定されたセル識別情報と辺要素識別情報との組に対して固有に割り当てたものであるので、仮想空間内の同じ点にある頂点については同じ頂点識別情報となっていることである。
 従って、制御部11がポリゴンを変形する処理を実行する場合(頂点の移動や頂点の削除等を行う場合)にも、所定の頂点識別情報で識別される頂点を変形し、当該頂点識別情報により識別される頂点を有するポリゴンの描画を行えばよいので、移動や削除の対象となった頂点ともともと同じ位置にあった別の識別子で識別される頂点を探索するといった処理が不要となり、処理の効率を向上でき、リアルタイムの変形や描画の処理が容易になる。
 さらに、本実施の形態の制御部11の処理では、仮識別情報の設定の処理はセルごとに、他のセルでの実行結果を参照せずに実行でき、また、仮識別情報から頂点識別情報への変換の処理も、仮識別情報ごとに、他の仮識別情報に係る処理結果を参照せずに実行できる。またポリゴン識別情報と頂点識別情報との関連付けの処理も、ヒストグラムピラミッドの処理を利用するので、ポリゴンごとに独立して(他のポリゴンに係る処理を参照せずに)実行でき、並列化が容易となっている。さらに仮識別情報の決定や頂点識別情報への変換の処理においてループの処理はあるものの、条件分岐によりまったく異なる処理を実行する必要がなく、処理負荷が軽減されている。
 本実施の形態の画像処理装置は、以上の構成を備えており、次のように動作する。なお、以下では説明のため、仮想空間を三次元の空間ではなく、二次元的な空間であるものとする。なお、このように次元を異ならせても一般性が失われることはない。
 この例では、画像処理装置1は、図5に示すように処理対象となる仮想空間内に分布する値データを受け入れる(S1)。この値のデータは例えばCTやMRI等の医療機器により得られる画像データ等である。画像処理装置1は、この値データに基づいて、仮想空間内に配列したセルの多角形状の各頂点の位置ごとの値を特定する(S2)。
 画像処理装置1は、各セルの辺のうち、互いにその位置が重なり合わない辺を辺要素として、各辺要素を識別する辺識別情報を設定する(図6)。ここでは仮想空間は二次元の空間としているので、セルは例えば正方形となる。そこで各セルの辺要素として、正方形の左側の辺(辺IIIとする)と下側の辺(辺0とする)とを用いる。図6では、左右方向の軸をX軸(右方向を正とする)、上下方向の軸をY軸(下方を正とする)としている。各セルのセル識別情報は、左上隅を原点(0,0)として、この原点に頂点を有するセル(左上隅にあるセル)のセル識別情報を「0」として、この原点に頂点を有するセルからX軸方向にx番目、Y軸方向にy番目に配置されているセル((x,y)の位置にあるセル)のセル識別情報を(xmax×y+x+1)なる整数で表すものとする。なお、xmaxは、X軸方向に配列されたセルの数(図6では「8」)である。
 画像処理装置1は、各セルの各辺要素の両端の頂点の位置に対応する値に基づいて、ポリゴンが通過する辺要素の辺識別情報を特定する(S3)。すなわち画像処理装置1は、マーチングキューブ法の処理により、処理S2にて特定した、セルの各頂点に対応する値と、予め指定された値(ポリゴンの面に相当する位置での値)とを比較し、各セルの各頂点が三次元ポリゴンモデルで規定される立体の内側にあるか外側にあるかを判断し、セルの頂点ごとに、当該判断の結果を記録する。そして画像処理装置1は、各セルを順次注目セルとして選択し、選択している注目セルについてセルの頂点がポリゴンで表される立体の内側にあるか外側にあるかを表す15通りのパターンのいずれのパターンに相当するかを判断し、当該判断したパターンに対応する、ポリゴン(例えば三角形)を特定するとともに、当該ポリゴンと注目セルの辺との交差する点(ポリゴンの頂点)を特定する。
 また画像処理装置1は、各ポリゴンに固有のポリゴン識別情報を発行し、当該発行したポリゴン識別情報を記録する。
 画像処理装置1は、また、特定したポリゴンと注目セルの辺要素との交差する点(注目セルの辺要素上にあるポリゴンの頂点)を識別する、仮識別情報(注目セルの辺要素上にあるポリゴンの頂点を仮に識別する情報)を発行する(S4)。図6に例示した二次元の例を用いて、この仮識別情報について説明すると、セル識別情報「9」で識別されるセル((1,1)の位置にあるセル)では等値面は辺0と辺Iとを通過しているが、各セルの辺要素を用いてこれらの各点を表すと、
セル識別情報「9」の辺0
セル識別情報「10」((2,1)の位置にあるセル)の辺III
ということとなり、画像処理装置1は、仮識別情報として、{セル識別情報「9」,辺0}、{セル識別情報「10」,辺III}の2つを発行して記録する。
 また、セル識別情報「10」で識別されるセルに注目したときには、画像処理装置1は、仮識別情報として、{セル識別情報「10」,辺III}、{セル識別情報「3」,辺0}の2つを発行して記録する。
 このように従来であれば、同じ位置にある{セル識別情報「9」,辺I}の頂点と、{セル識別情報「10」,辺III}の頂点とは異なる頂点として識別されるものであるところ、本実施の形態の方法によれば、この位置の点は、共通した{セル識別情報「10」,辺III}として(抽象的に)表現され、共通した識別情報が割り当てられる。
 画像処理装置1は、このようにして、各セルについての処理により、セル内のいずれかの辺上のセル内のポリゴンの頂点を、いずれかのセルの辺要素を識別する辺要素識別情報により表現して記録し、ポリゴンモデルの情報を生成する。そして画像処理装置1は、当該生成したポリゴンモデルの情報を用いて、可視化及び変形操作を含む所定処理を実行する。
 この所定処理の実行のために、画像処理装置1は、まず、ポリゴンモデルの情報に含まれる、各ポリゴンの頂点に係る仮識別情報を、実際の描画に用いる頂点識別情報へ変換する(S5)。
 画像処理装置1は、セルの各々を注目セルとして順次選択し、また選択した注目セルの辺要素を所定の選択順(例えばセルの、辺0,辺IIIの順)に、当該辺要素上のポリゴンの頂点の数をカウントしつつ累算する。そして画像処理装置1は、各辺要素について当該カウントして得られた値の和(累算値)を、注目セルについてのカウント値(ベースレベルカウント値)として記録する(図7(a))。
 なお、説明の都合上、図6,図7のそれぞれにおける例は一致していない。つまり図6のポリゴンの例と図7におけるポリゴンの例とは異なる。
 さらに画像処理装置1は、予め定められた位置(図7(a)の原点O)から順に、互いに隣接する複数のセル(例えば互いに隣接する2×2個のセル)のグループを複数設定する(図7(a)においては実線でグループを区別する)。そして画像処理装置1は、設定したグループを第1段ブロックとして、当該第1段ブロックの各々について、第1段ブロックに属するセル内の辺要素上のポリゴンの頂点の数の和、つまり、第1段ブロックに属するセルについてのベースレベルカウント値の和を、第1段ブロックについてのカウント値(レベル1カウント値)として記録する(図7(b))。
 ここでは原点のセルを含む2×2個のセルをグループとし、次に、このグループのX軸方向に隣接するセルを含む2×2個のセルをグループとし…と選択してゆき、X軸方向に隣接するセルがなくなったら、X=0に戻って、既に形成したグループにY軸方向に隣接するセルを含む2×2個のセルをグループとして、再度このグループのX軸方向に隣接するセルを含む2×2個のセルをグループとし…と選択していく。この処理により、各セルが順番にグループに含められる。
 画像処理装置1は、予め定められた位置から上記の形成順に、互いに隣接する複数の第1段ブロックのグループ(例えば互いに隣接する2×2個の第1段ブロックのグループ)を設定する(図7(b)においても実線でグループを区別する)。そして画像処理装置1は、この設定したグループを第2段ブロックとして、当該第2段ブロック内に属するセル内の辺要素上のポリゴンの頂点の数の和を、第2段ブロックについてのカウント値(レベル2カウント値)として記録する(図7(c))。
 画像処理装置1は、次に、予め定められた位置から上記の形成順に、互いに隣接する複数の第2段ブロックのグループ(例えば互いに隣接する2×2個の第2段ブロックのグループ)を設定する(図7(c)においても実線でグループを区別する)。そして画像処理装置1は、この設定したグループを第3段ブロックとして、当該第3段ブロック内に属するセル内の辺要素上のポリゴンの頂点の数の和を、第3段ブロックについてのカウント値(レベル3カウント値)として記録する(図7(d))。ここで第3段ブロックの数は「1」となり、これ以上のグループ化が不能であるので、この第3段を最終レベルとする。
 次に画像処理装置1は、ポリゴンの頂点の仮識別情報ごとに、仮識別情報であるセル識別情報と辺要素識別情報とを取得し、当該取得したセル識別情報で識別されるセルが含まれる、上記の処理で生成した最終レベルのブロック単位でのブロックを特定する。
 ここでは最終レベルではブロックは1つだけであるので、どの仮識別情報についてもこのブロックを注目ブロックとして、注目ブロックに含まれる第2段ブロックを特定する。画像処理装置1は、特定した第2段ブロックのうち、取得したセル識別情報で識別されるセルが含まれるブロックを特定する。以下にセル識別情報「24」の辺要素、「辺0」にある頂点について、頂点識別情報を生成する例について説明する。
 この例では、画像処理装置1は、最終ブロック(第3段ブロック)の単一のブロックを注目ブロックとして、この注目ブロックに含まれる第2段ブロックを特定する。図7の例では、第3段ブロックの注目ブロックには、第2段ブロックのすべてのブロックが含まれるので、第2段ブロックのすべてを特定する。
 画像処理装置1は、第2段ブロックで特定したブロックを、形成順に選択しつつ、取得したセル識別情報で識別されるセルが含まれるブロックが選択されるまでに選択したブロック(取得したセル識別情報で識別されるセルが含まれるブロックそのものは除く)に割り当てられた、ポリゴンの頂点の数の和の値を累算する。
 ここでの例であるセル識別情報「24」のセルは、第2段ブロックでは、右上のブロックに含まれる(どのセルがどのブロックに含まれるかについては、ブロックの形成時にブロックごとに記録しておく等の広く知られた処理により判断できるので、ここでの詳しい説明を省略する)ため、形成順に、セル識別情報「24」で識別されるセルが含まれるブロックが選択されるまでに選択したブロックは左上のブロックのみとなる。そこで画像処理装置1は、この左上のブロックに割り当てられた、ポリゴンの頂点の数の和の値「9」を第2段ブロックの予備値として記録する。
 さらに画像処理装置1は、セル識別情報「24」のセルを含む第2段ブロックの右上のブロックに含まれる第1段ブロックを特定する。ここでは画像処理装置1は、第1段ブロックの第1行の第3列,第4列目、第2行の第3列,第4列目のブロックを特定する。画像処理装置1は、第1段ブロックで特定したブロックを、形成順に選択しつつ、取得したセル識別情報で識別されるセルが含まれるブロックが選択されるまでに選択したブロック(取得したセル識別情報で識別されるセルが含まれるブロックそのものは除く)に割り当てられた、ポリゴンの頂点の数の和の値を累算する。
 ここでの例であるセル識別情報「24」のセルは、第1段ブロックでは、第2行目の第4列目のブロックに含まれるため、形成順に、セル識別情報「24」で識別されるセルが含まれるブロックが選択されるまでに選択したブロックは、第1段ブロックの第1行目の第3列,第4列目の各ブロック、及び、第2行目の第3列目のブロックとなる。そこで画像処理装置1は、これらのブロックに割り当てられた、ポリゴンの頂点の数の和の値「3」,「1」,「2」の和「6」を第1段ブロックの予備値として記録する。
 さらに画像処理装置1は、セル識別情報「24」のセルを含む第1段ブロックのブロックに含まれるセル(ベースレベル)を特定する。ここでは、セル識別情報で「23」,「24」,「31」,「32」の各セルが特定される。画像処理装置1は、ここで特定したセルを、ブロックの形成順(セルの識別情報が小さい順)に選択しつつ、取得したセル識別情報で識別されるセルが選択されるまでに選択したセルに割り当てられた、ポリゴンの頂点の数の和の値を累算する。
 ここでの例であるセル識別情報「24」のセルを選択するまでには、セル識別情報「23」のセルのみが選択されるので、画像処理装置1は、セル識別情報「23」のセルに割り当てられた値「0」を、辺要素予備値として記録する。
 画像処理装置1は、この処理で記録した辺要素予備値、及び第i段ブロックの予備値(i=1,2…N-1)の総和が表す値を求める。ここでは、辺要素予備値が「0」、第1段ブロックの予備値が「6」、第2段ブロックの予備値が「9」であるので、画像処理装置1は、セル識別情報「24」の辺要素、「辺0」にある頂点の頂点識別情報を、これらの和である「15」とする。画像処理装置1は、仮識別情報のそれぞれについて、上述の方法で頂点識別情報を求める。
 画像処理装置1はさらに、記録しているポリゴン識別情報で識別されるポリゴンごとに、当該ポリゴンの各頂点の頂点識別情報を取得する。この処理は、従来通りのヒストグラムピラミッドの方法により実行すればよい。そして画像処理装置1は、以下は従来と同様の方法により、各ポリゴンの描画処理を実行する。
 また画像処理装置1は、利用者から頂点を特定する頂点識別情報とともに、当該頂点の移動または、当該頂点の削除の指示を受け入れると、当該頂点識別情報で識別される頂点の仮想空間内での位置座標を指示に従って移動し、または当該頂点を削除して、当該頂点を含むポリゴンを削除する処理を行う。
 図8に、頂点を削除する処理における従来例と本実施の形態との対比例を示す。従来のマーチングキューブの方法によれば、図8(a)に示すセル1(セル識別情報「1」のセルを、図においてセル1等と略記している)の頂点Aと、セル2の頂点A′とは、同じ位置にあるにも関わらず、セルごとに頂点を識別する情報が付与されるので、セル1の頂点Aと、セル2の頂点A′とには互いに異なる頂点を識別する情報が設定される。
 ここで利用者がセル1の頂点Aを削除する指示を行うと、従来例の画像処理装置では、セル1における頂点Aを含むポリゴンを削除するが、セル2における頂点A′を含むポリゴンは削除しない。このため、頂点Aの位置にある頂点を削除するという利用者の意図通りにならず、これを利用者の意図通りに動作させるためには、削除の対象となった頂点Aと同じ位置にある頂点を探索する処理が必要となって、変形等の処理に時間がかかる結果となる。
 一方、本実施の形態の方法によると、セル1の頂点Aも、セル2の頂点Aも、ともに、セル1の辺要素「0」上の点として抽象的に表現されてから、頂点識別情報(A)に変換されているため、共通の頂点識別情報「A」が付与される。
 このため利用者がセル1の頂点Aを削除する指示を行うと、セル2内において頂点Aを有するポリゴンも削除されることとなり(図8(b))、利用者の意図通りの処理が可能となる。また、1つの頂点識別情報により削除するべきポリゴンが特定できるので、処理負荷も軽減される。
 併せて、本実施の形態の方法では、全体としてポリゴンの数に対する頂点識別情報の数が膨大とならない(従来の方法ではポリゴンの数に頂点数を乗じた数だけの頂点識別情報が発行される)。これにより、本実施の形態の方法では、描画等の処理負荷も軽減される。
 具体的に、ポリゴン数に対する、従来一般的な(頂点とポリゴンとの関連付けにヒストグラムピラミッド法を用いない)マーチングキューブによる計算処理(VTK)と、頂点とポリゴンとの関連付けにヒストグラムピラミッド法を用いた場合のマーチングキューブによる計算処理(HPMC)と、本実施の形態の方法による計算処理(ProposedMC)とにおける、同一座標の頂点の統合時間を含む処理時間の相違を図9に示す。
 図9に例示するように、ポリゴン数が比較的大きい範囲では、VTKに対して本実施の形態による方法は5倍以上(全体平均でも4倍以上)の高速化が図られる。また、ヒストグラムピラミッド法を用いた場合のマーチングキューブ法(HPMC)に対しても3倍以上(全体平均でも3倍以上)の高速化が図られている。
 1 画像処理装置、11 制御部、12 記憶部、13 操作部、14 表示部、15 インタフェース部、20 ポリゴンモデル生成部、21 データ受入部、22 セル設定部、23 辺要素設定部、24 頂点仮識別情報取得部、25 ポリゴンモデル設定部、30 描画処理部。
 

Claims (3)

  1.  仮想的なポリゴンモデルを形成する仮想空間を、所定多角形状の仮想的なセルに分割して、ポリゴンモデルを形成する画像処理装置であって、
     処理対象となる前記仮想空間内に分布する値データを受け入れる手段と、
     前記値データに基づいて、前記セルの多角形状の各頂点の位置ごとの値を決定する手段と、
     前記各セルの辺のうち、互いにその位置が重なり合わない辺を辺要素として、各辺要素を識別する辺識別情報を設定し、各辺要素の両端の頂点の位置に対応する前記値に基づいて、セル内を通過するポリゴンの頂点が位置する辺要素の辺識別情報を特定する手段と、
     前記特定した辺識別情報を用いて前記ポリゴンモデルを表す情報を生成するポリゴンモデル生成手段と、
     を含み、
     当該辺識別情報を用いて表されるポリゴンモデルの情報が、可視化及び変形操作を含む所定処理に供される画像処理装置。
  2.  請求項1記載の画像処理装置であって、
     前記ポリゴンモデル生成手段は、
     前記セルの各々について、当該セルの当該辺要素上のポリゴンの頂点の数をカウントして、各辺要素について当該カウントして得られた値の和を記録する手段と、
     互いに隣接する複数のセルのグループを第1段ブロックとして、当該第1段ブロック内に属するセルの前記辺要素上のポリゴンの頂点の数の和を記録する手段と、
     互いに隣接する複数の第(i-1)段(iは、i>1なる整数)ブロックのグループを、第i段ブロックとして、当該第i段ブロック内に属するセル内の辺要素上のポリゴンの頂点の数の和を記録する手段と、を含み、
     当該記録されたブロック単位でのブロック内に属するセル内の辺要素上のポリゴンの頂点の数の和、または記録されたセル単位でのセル内の辺要素上のポリゴンの頂点の数の和の値を参照して、前記ポリゴンモデルを表す情報から、各ポリゴンの頂点の位置を特定する情報を生成する画像処理装置。
  3.  コンピュータを、
     処理対象となる仮想空間内に分布する値データを受け入れる手段と、
     前記仮想空間を所定多角形状の仮想的なセルに分割し、前記値データに基づいて、前記セルの多角形状の各頂点の位置ごとの値を決定する手段と、
     前記各セルの辺のうち、互いにその位置が重なり合わない辺を辺要素として、各辺要素を識別する辺識別情報を設定し、各辺要素の両端の頂点の位置に対応する前記値に基づいて、セル内を通過するポリゴンの頂点が位置する辺要素の辺識別情報を特定する手段と、
     前記特定した辺識別情報を用いてポリゴンモデルを表す情報を生成するポリゴンモデル生成手段と、
     として機能させ、
     当該辺識別情報を用いて表されるポリゴンモデルの情報を、可視化及び変形操作を含む所定処理に供するプログラム。
     
PCT/JP2018/031437 2017-08-25 2018-08-24 画像処理装置、及びプログラム WO2019039603A1 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2017-162290 2017-08-25
JP2017162290A JP6942007B2 (ja) 2017-08-25 2017-08-25 画像処理装置、及びプログラム

Publications (1)

Publication Number Publication Date
WO2019039603A1 true WO2019039603A1 (ja) 2019-02-28

Family

ID=65439412

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2018/031437 WO2019039603A1 (ja) 2017-08-25 2018-08-24 画像処理装置、及びプログラム

Country Status (2)

Country Link
JP (1) JP6942007B2 (ja)
WO (1) WO2019039603A1 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111814235A (zh) * 2020-07-01 2020-10-23 广东博智林机器人有限公司 车位排布优化和多边形简化方法、装置、设备和存储介质

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005038219A (ja) * 2003-07-16 2005-02-10 Institute Of Physical & Chemical Research 境界表現データからボリュームデータを生成する方法及びそのプログラム
JP2007528529A (ja) * 2003-11-28 2007-10-11 ブラッコ イメージング エス.ピー.エー. 3dデータ集合のサーフェスを識別するための方法及びシステム(「ボクセル分割」)

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005038219A (ja) * 2003-07-16 2005-02-10 Institute Of Physical & Chemical Research 境界表現データからボリュームデータを生成する方法及びそのプログラム
JP2007528529A (ja) * 2003-11-28 2007-10-11 ブラッコ イメージング エス.ピー.エー. 3dデータ集合のサーフェスを識別するための方法及びシステム(「ボクセル分割」)

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
MURAKI, SHIGERI ET AL.: "A Survey of Medical Applications of 3D Image Analysis and Computer Graphics", SYSTEMS & COMPUTERS IN JAPAN, vol. 37, no. 1, 21 October 2004 (2004-10-21) - 2005, pages 13 - 43, XP055577960, DOI: 10.1002/scj.20393 *

Also Published As

Publication number Publication date
JP2019040419A (ja) 2019-03-14
JP6942007B2 (ja) 2021-09-29

Similar Documents

Publication Publication Date Title
TWI537870B (zh) 多重解析度一致性光柵化
US10535187B2 (en) Voxelization techniques
JP4894369B2 (ja) 3次元モデルの画像処理装置
JP5218109B2 (ja) 可視化データ処理装置、可視化データ処理装置の制御方法、及び可視化データ処理装置の制御プログラム
WO2013111195A1 (ja) 描画データ生成装置及び画像描画装置
CN105761303A (zh) 在3d建模组件上创建包围盒
JPH07120434B2 (ja) ボリュームレンダリングを行う方法及び装置
CN113012269A (zh) 基于gpu的三维图像数据渲染方法及设备
KR20130049753A (ko) 덱셀들에 의해 표현되는 모델링된 볼륨의 설계
JP6863675B2 (ja) 画像分割
JP2003141548A (ja) 3次元ラベリング装置及びその方法
US7388584B2 (en) Method and program for determining insides and outsides of boundaries
WO2019039603A1 (ja) 画像処理装置、及びプログラム
TW201447813A (zh) 產生防鋸齒體素資料
WO2023169002A1 (zh) 软光栅化的方法、装置、设备、介质及程序产品
US20200219250A1 (en) Image analysis device
CN104050619A (zh) 具有共享边缘的模板然后覆盖路径渲染
WO2023239799A1 (en) Systems and methods for efficient rendering and processing of point clouds using textures
JP2010277304A (ja) 描画データ処理方法、図形描画システム、及び図形描画データ作成プログラム
JP2009122998A (ja) ソリッド/サーフェースモデルから外形線を抽出する方法及びコンピュータソフトウエアプログラム
JP2021033375A (ja) 三次元形状データの編集装置、及び三次元形状データの編集プログラム
JP6565495B2 (ja) 立体物造形用データ分離装置
KR102069684B1 (ko) 기록 매체, 묘화 방법 및 컴퓨터로 판독가능한 기록매체
JP2007140976A (ja) 断面表示プログラムおよび断面表示装置
RU2730373C1 (ru) Способ и система отображения текущих результатов в процессе обработки изображения

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 18848260

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 18848260

Country of ref document: EP

Kind code of ref document: A1