Login| Sign Up| Help| Contact|

Patent Searching and Data


Title:
DISPLAY OF HIGH-DIMENSIONAL DATA USING VOXEL FACE COLORING
Document Type and Number:
WIPO Patent Application WO/2001/054069
Kind Code:
A1
Abstract:
A method is disclosed for displaying high-dimensional data (Fig. 8) such as multiple attributes of a physical volume. In one embodiment, the physical volume is divided into volumetric pixels (voxels) each having an appearance that depends on the viewing direction (200) relative to the faces (102, 104, 106) of the voxel (100). An attribute is associated with each voxel face direction, and the value of the attribute determines the appearance of each face. The perceived appearance of each voxel is determined by applying an interpolation function between the attribute values associated with the visible faces. The interpolation function depends on the viewing direction of the voxel, and accordingly, as the viewing direction changes, the voxel appearance reflects a changing mixture of the attribute values associated with the visible voxel faces. Individual and multiple attribute values can be viewed and interpreted by setting the viewing direction so that individual or multiple faces are 'visible'.

Inventors:
MONK DAVID J
RIDYARD DAVID
SLAWSON STEVE E
Application Number:
PCT/US2001/002574
Publication Date:
July 26, 2001
Filing Date:
January 24, 2001
Export Citation:
Click for automatic bibliography generation   Help
Assignee:
CONTINUUM RESOURCES INTERNAT C (US)
International Classes:
G06T15/50; (IPC1-7): G06T15/00
Foreign References:
US5847711A1998-12-08
US5831623A1998-11-03
Attorney, Agent or Firm:
Rose, David A. (Rose & Tayon P.C. P.O. Box 3267 Houston, TX, US)
Download PDF:
Claims:
WHAT IS CLAIMED IS:
1. A method for displaying a highdimensional data set, wherein the method comprises: retrieving a data set having multiple attributes associated with each of a plurality of points in a model space having at least two spatial dimensions; creating for each of the plurality of points a voxel having multiple faces, wherein each viewable face has a corresponding face palette vector that represents the values of one or more attributes associated with that face; and displaying an image composed of said voxels having said face palette vectors, wherein the contributions of the visible face palette vectors to the image are determined for a given view angle.
2. The method of claim 1, further comprising: selecting a new view angle; and displaying a new image composed of said voxels, wherein the contributions of the visible face palette vectors are determined for the new view angle.
3. The method of claim 1, wherein each face palette vector includes at least one color value that is determined by the value of an attribute associated with that face.
4. The method of claim 1, wherein each face palette vector includes a transparency value that is determined by the value of an attribute associated with that face.
5. The method of claim 1, wherein each face palette vector includes a reflectivity value that is determined by the value of an attribute associated with that face.
6. The method of claim 1, wherein each face palette vector includes an intensity value that is determined by the value of an attribute associated with that face.
7. The method of claim 1, wherein the multiple attributes are selected from a set of physical properties associated with the data.
8. The method of claim 1, wherein the voxels share a common view angle.
9. The method of claim 1, wherein the given view angle is determined independently for each voxel based on a selected viewpoint.
10. The method of claim 1, wherein the voxel faces have a base color specified by the face palette vectors, wherein the voxel faces are provided an apparent color in the displayed image, and wherein the apparent color is determined by the base color, a lighting direction, and applied shadowing techniques.
11. A method for displaying a highdimensional data set, wherein the method comprises: retrieving a data set having multiple attributes associated with each of a plurality of points in a model space having at least two spatial dimensions; for each of the plurality of points, creating a voxel having multiple faces, wherein each viewable face has a corresponding face palette vector that represents the values of one or more attributes associated with that face; and determining for a given view angle the contributions to an overall voxel palette vector of face palette vectors corresponding to visible faces of the voxel ; and displaying an image composed of said voxels having said voxel palette vectors.
12. The method of claim 11, further comprising: selecting a new view angle; for each voxel, determining a new overall voxel palette vector by adding the contributions of visible face palette vectors based on the new view angle; and displaying a new image composed of said voxels having said new overall voxel palette vectors.
13. The method of claim 11, wherein each face palette vector includes at least one color value that is determined by the value of an attribute associated with that face.
14. The method of claim 11, wherein each face palette vector includes a transparency value that is determined by the value of an attribute associated with that face.
15. The method of claim 11, wherein each face palette vector includes a reflectivity value that is determined by the value of an attribute associated with that face.
16. The method of claim 11, wherein each face palette vector includes an intensity value that is determined by the value of an attribute associated with that face.
17. The method of claim 11, wherein the multiple attributes are selected from a set of physical properties associated with the data.
18. The method of claim 11, wherein the voxels share a common view angle.
19. The method of claim 11, wherein the given view angle is determined independently for each voxel based on a selected viewpoint.
20. The method of claim 11, wherein the voxel faces have a base color specified by the face palette vectors, wherein the voxel faces are provided an apparent color in the displayed image, and wherein the apparent color is determined by the base color, a lighting direction, and applied shadowing techniques.
21. A computer readable storage medium for storing an executable set of software instructions which, when inserted into a host computer system, is capable of controlling the operation of the host computer and causing the host computer system to display a highdimensional data set, wherein the software includes: a means for retrieving a data set having multiple attributes associated with each of a plurality of points in a model space having at least two spatial dimensions; a means for creating for each of the plurality of points a voxel having multiple faces, wherein each viewable face has a corresponding face palette vector that represents the values of one or more attributes associated with that face; and a means for displaying an image composed of said voxels having said face palette vectors, wherein the contributions of the visible face palette vectors to the image are determined for a given view angle.
22. The medium of claim 21, wherein the software further includes: a means for selecting a new view angle; and a means for displaying a new image composed of said voxels, wherein the contributions of the visible face palette vectors are determined for the new view angle.
23. The medium of claim 21, wherein each face palette vector includes at least one color value that is determined by the value of an attribute associated with that face.
24. The medium of claim 21, wherein each face palette vector includes a transparency value that is determined by the value of an attribute associated with that face.
25. The medium of claim 21, wherein each face palette vector includes a reflectivity value that is determined by the value of an attribute associated with that face.
26. The medium of claim 21, wherein each face palette vector includes an intensity value that is determined by the value of an attribute associated with that face.
27. The medium of claim 21, wherein the multiple attributes are selected from a set of physical properties associated with the data.
28. The medium of claim 21, wherein the voxels share a common view angle.
29. The medium of claim 21, wherein the given view angle is determined independently for each voxel based on a selected viewpoint.
30. The medium of claim 21, wherein the voxel faces have a base color specified by the face palette vectors, wherein the voxel faces are provided an apparent color in the displayed image, and wherein the apparent color is determined by the base color, a lighting direction, and applied shadowing techniques.
31. A computer readable storage medium for storing an executable set of software instructions which, when inserted into a host computer system, is capable of controlling the operation of the host computer and causing the host computer system to display a highdimensional data set, wherein the software includes: a means for retrieving a data set having multiple attributes associated with each of a plurality of points in a model space having at least two spatial dimensions; for each of the plurality of points, a means for creating a voxel having multiple faces, wherein each viewable face has a corresponding face palette vector that represents the values of one or more attributes associated with that face; and a means for determining for a given view angle the contributions to an overall voxel palette vector of face palette vectors corresponding to visible faces of the voxel; and a means for displaying an image composed of said voxels having said voxel palette vectors.
32. The medium of claim 31, wherein the software further includes: a means for selecting a new view angle; for each voxel, a means for determining a new overall voxel palette vector by adding the contributions of visible face palette vectors based on the new view angle; and a means for displaying a new image composed of said voxels having said new overall voxel palette vectors.
33. The medium of claim 31, wherein each face palette vector includes at least one color value that is determined by the value of an attribute associated with that face.
34. The medium of claim 31, wherein each face palette vector includes a transparency value that is determined by the value of an attribute associated with that face.
35. The medium of claim 31, wherein each face palette vector includes a reflectivity value that is determined by the value of an attribute associated with that face.
36. The medium of claim 31, wherein each face palette vector includes an intensity value that is determined by the value of an attribute associated with that face.
37. The medium of claim 31, wherein the multiple attributes are selected from a set of physical properties associated with the data.
38. The medium of claim 31, wherein the voxels share a common view angle.
39. The medium of claim 31, wherein the given view angle is determined independently for each voxel based on a selected viewpoint.
40. The medium of claim 31, wherein the voxel faces have a base color specified by the face palette vectors, wherein the voxel faces are provided an apparent color in the displayed image, and wherein the apparent color is determined by the base color, a lighting direction, and applied shadowing techniques.
Description:
DISPLAY OF HIGH-DIMENSIONAL DATA USING VOXEL FACE COLORING CROSS-REFERENCE TO RELATED APPLICATIONS Not applicable.

STATEMENT REGARDING FEDERALLY SPONSORED RESEARCH OR DEVELOPMENT Not applicable.

BACKGROUND OF THE INVENTION The present invention generally relates to a system and method for displaying multi- dimensional data. More particularly, the present invention relates to a technique for simultaneously displaying three or more attributes of a volume in an intuitive fashion.

Great strides have been made in developing tools for interpreting massive amounts of data. These tools have a wide applicability to many fields of endeavor. Many of these tools have benefited from the development of virtual reality systems that allow useful information to be more easily extracted from these volumes of data. Two specific examples of the many fields where such tools are useful include non-invasive imaging for medicine, and seismic imaging for petroleum exploration. These examples are used for illustrative purposes only and are not intended to be limiting in any way.

Consider the latter example. Seismic imaging is carried out by placing an array of seismic sensors near the region of interest. Seismic waves are then transmitted through the region of interest and received by the seismic sensors. Data gathered from these sensors is then processed to determine various properties of the geologic formations in the region of interest. At the most basic level, these properties include the velocity of seismic waves.

However, analysis techniques may be used to determine other formation properties such as rock type, porosity, and fractures. It is noted that even the velocity of seismic waves is in itself a multi-dimensional data set. For example, the velocity of seismic waves at a given point in the formation may be represented in terms of the vertical speed of compressional waves, the horizontal speed of compressional waves, the vertical speed of shear waves, and the horizontal speed of shear waves. If measurements are made over time, it is also possible to determine the velocity at which fluids are flowing through the various points in the formation, and the velocity at which compaction is occurring in the formation. Showing each of these velocity attributes as a function of position (x, y, z), requires at least nine dimensions!

Displaying these attributes on a two-dimensional computer screen in a useful form presents a challenge indeed.

Similar difficulties occur in medical imaging, where the use of magnetic resonance imaging and computerized tomographic X-ray imaging are now commonplace. Each of these methods generates a separate data set that currently have to be viewed separately. Combining the data sets would make it significantly easier to identify small feature differences that may have some medical importance.

It is expected that the capability to examine highly multi-dimensional data in a single viewing situation will have wide applicability and utility. It is noted that all models of physical volumes can be considered as having multiple attributes. Examples of such attributes include: composition, density, porosity, opacity, optical refractivity, compression modulus, stress forces, temperature, heat capacity, thermal conductivity, electrical resistivity, radioactivity, etc. It is additionally noted that some of these properties may have a directionality component, e. g. optical refractivity and electrical resistance may depend on the direction of light and current, respectively, travelling through the material.

Multiple techniques exist for modeling physical volumes. In one 3D graphics technique, the modeled three-dimensional object is divided into small, equally-sized units of volume known as volumetric pixels, or"voxels". Each voxel is assigned attributes such as color, transparency, and reflectivity. Substantial effort has been invested in techniques to mimic reality by modifying the appearance of voxels as a result of illumination source, viewing direction, shadow, light reflection and refraction, and the underlying base voxel color. There are several existing patents which describe methods for computing the apparent color of an object. While an object's voxels may appear to change color as lighting or viewpoint are changed, the base color of the voxels are unchanged. These existing methods have little utility for the present problem.

SUMMARY OF THE INVENTION Accordingly, there is disclosed herein a method for displaying high-dimensional data such as three or more attributes of a physical volume. In one embodiment, the physical volume is divided into volumetric pixels (voxels) each having an appearance that depends on the viewing direction relative to the faces of the voxel. An attribute is associated with each voxel face direction, and the value of the attribute determines the appearance of each face.

The perceived appearance of each voxel is determined by applying an interpolation function

between the attribute values associated with the visible faces. The interpolation function depends on the viewing direction of the voxel, and accordingly, as the viewing direction changes, the voxel appearance reflects a changing mixture of the attribute values associated with the visible voxel faces. Individual attribute values can be determined by altering the viewing direction to coincide with a single voxel face. Multiple attribute values can be viewed and interpreted by setting the viewing direction so that multiple faces are"visible". It is expected that this method will advantageously be intuitive to analysts who must interpret models having multiple measured attributes of a physical volume.

BRIEF DESCRIPTION OF THE DRAWINGS A better understanding of the present invention can be obtained when the following detailed description of the preferred embodiment is considered in conjunction with the following drawings, in which: Fig. 1 shows a voxel having three visible faces; Fig. 2 shows how viewing direction is specified; Fig. 3 shows voxels viewed from a first direction; Fig. 4 shows voxels viewed from a second direction; Fig. 5 shows how transparency may beneficially be changed as a function of viewing angle; Fig. 6 shows one method for determining voxel viewing directions; Fig. 7 shows an alternative method for determining voxel viewing directions; and Fig. 8 shows a flow diagram for a method of implementing an embodiment of the invention in a computer system.

While the invention is susceptible to various modifications and alternative forms, specific embodiments thereof are shown by way of example in the drawings and will herein be described in detail. It should be understood, however, that the drawings and detailed description thereto are not intended to limit the invention to the particular form disclosed, but on the contrary, the intention is to cover all modifications, equivalents and alternatives falling within the spirit and scope of the present invention as defined by the appended claims.

Throughout the following discussion, the term"visible"simply means oriented toward the user, and does not imply that the user can actually view the referenced object. Similarly, the term"viewable"means that the referenced object can be oriented towards the user, and does not imply that the user can actually view the referenced object. This distinction is made

here because objects which are oriented or orientable toward the user may be obscured by other objects or may be combined with other objects to create a composite appearance as explained below, but the clarity of the explanations is clouded by such distinctions.

DETAILED DESCRIPTION Turning now to the figures, Fig. 1 shows a voxel 100 in the form of a cube having three visible faces 102,104,106 in the X, Y, and Z, directions, respectively. The amount of each face that is visible depends on the viewing direction 200 (Fig. 2). As Fig. 2 shows, the viewing direction can be specified in terms of an azimuth angle a and elevation angle 0. The azimuth angle is measured from the X axis in the X-Y plane, and the elevation angle is measured from the X-Y plane.

It is noted that voxel 100 has six faces, and that any three faces which share a corner can be viewed at the same time. By assigning an attribute to each visible face of the voxel, it becomes possible to simultaneously view three attributes of each voxel in a three-dimensional object. Each face is provided with an associated palette vector that specifies the appearance of that face. An exemplary face palette vector is [Red, Green, Blue, Transparency, Shininess].

It is contemplated that the attribute range for each face can be represented by a color spectrum, a color intensity, a color transparency, or a surface reflectivity. For example, a first attribute may range in value from-1000 to 1000, and these values may be mapped to face colors in a spectrum ranging from blue (-1000) to purple (0) to red (1000). A second attribute may range from 1 to 10, and these value may be mapped to face colors in a second spectrum ranging from yellow (1) to green (5) to cyan (10). A similar example for color transparency could have each face a different color (e. g. red, blue, yellow), with transparency varying from clear to opaque. Likewise, color intensities could vary from dark to light, and reflectivities could vary from dull to shiny.

While it is technically possible to show the three faces of each voxel on a computer display, in practice voxel will be represented by a single palette vector that represents a "mixture"of the palette vectors for the visible faces. Accordingly, the apparent voxel color, and hence the color of the object as a whole, will change as the viewing angle is changed. It is preferred that this color change be implemented as a change to the base color of the object voxels, so that conventional shadow, lighting, and reflection techniques may be used when viewing the object.

The"mixture"of displayed attributes can be adjusted by changing the viewing

direction. When the azimuth and elevation angles are both zero, only face 102 of the voxel is seen (Fig. 3), and hence only a single attribute value is visible. If the azimuth angle is increased to say, 45°, faces 102 and 104 are visible, so that a mixture of two attributes is seen.

Subsequently increasing the elevation angle to 30°, e. g., adds the third attribute to the mixture (Fig. 4). Fig. 5 shows a voxel where the attributes are mapped to the transparency, so that as the viewing direction changes, the change in attribute mixture manifests as a change to the transparency of the voxel.

Accordingly, the appearance of the individual voxels (and accordingly, the object as a whole) depends on the viewing direction, the attribute assignment to the voxel faces, and the attribute values. The determination of the viewing direction to each of the voxels may be determined from a given viewpoint to each voxel as shown in Fig. 6. Alternatively, the viewing direction to a single reference voxel may be determined and used for all the voxels as shown in Fig. 7. The former may be preferred for determining certain features such as a path of least resistance from a given point, while the latter may prove to be more intuitive for most users.

On a computer system, a user is typically provided with a mouse, joystick, arrow keys, or some other means of input with which directional information may be provided to application software. With the user input device, the user can intuitively adjust the"mixture" of the displayed attributes by changing the viewing direction of the voxels. A larger, "reference"voxel may be displayed in one corner of the computer display for the user to view. Even though the change in attribute mixture is preferably implemented as a change to voxel base colors, the reference voxel preferably shows the individual faces of a voxel.

As mentioned previously, the voxel base property (color, transparency, shininess, etc) is a mixture of the face attribute properties. The voxel appearance is determined by a palette vector (P) such as [Red, Green, Blue, Transparency, Shininess] values. The determination of the base appearance is made by applying an interpolation function to the face appearances.

Denoting the palette vector for the X, Y, and Z faces of a voxel by Px, Py, and Pz, one exemplary interpolation function for the voxel palette vector Pv is: Pv = (Px cos'a+ Py sinZa) cosz9+ Pz sin20 (1) It is noted that if the three faces share the same palette vector, equation 1 will cause the voxel to appear the same from all angles.

Another exemplary interpolation function is: Pv = (Px cos+ Py sin) cosS+ Pz sinS (2) If all three faces share the same palette vector, this function will cause the voxel to appear brighter for off-axis angles, as all three sides will contribute added intensity to the overall color. This may be desirable for some attribute combinations. Yet another interpolation function might be based on the apparent surface areas of visible faces of a cube oriented at the specified viewing direction. The above interpolation functions are specified for three dimensions, and they inherently include the equations for two-dimensions (0 =0) where that is desired. The two-dimensional formulations may be appropriate to data sets where rotation is limited to only one axis.

It is noted that persons of skill in the art are well acquainted with the use of computer systems and networks for modeling physical volumes and displaying the models using virtual reality techniques. Such systems generally include storage media such as, e. g., hard drives, CD drives, or flash-memory, for storing large data sets. A processor is also included for accessing the storage media, and a local memory is available for the processor's use in manipulating data retrieved from the storage media. Interaction with a person is normally performed through the use of user input devices such as joysticks, mouses, keyboards, etc., and monitors or ocular display devices for displaying the results of manipulating the stored data sets. As the use and operation of these systems is well understood and readily learned from other sources, they will not be discussed in detail here, although it is recognized that the practice of the present method practically requires such a system. The flow diagram of Fig. 8 provides an overview of a method for implementing an embodiment of the invention in a computer system.

It is expected that the above-described technique will advantageously provide an intuitive way to view more than one physical attribute of a three dimensional volume at a time. Further, directionally-dependent attributes can be displayed in an intuitive fashion.

Finally, the described technique may lend itself to making certain voxels (and consequently objects) transparent based on physical attributes and viewing direction so as to avoid obscuring other objects in the data space.

Numerous variations and modifications will become apparent to those skilled in the art once the above disclosure is fully appreciated. It is intended that the following claims be interpreted to embrace all such variations and modifications.