U.S. patent application number 11/125688 was filed with the patent office on 2005-09-29 for system and method for analyzing and imaging an enhanced three-dimensional volume data set using one or more attributes.
Invention is credited to Lees, Jack, Sheffield, Tatum M..
Application Number | 20050213809 11/125688 |
Document ID | / |
Family ID | 56290190 |
Filed Date | 2005-09-29 |
United States Patent
Application |
20050213809 |
Kind Code |
A1 |
Lees, Jack ; et al. |
September 29, 2005 |
System and method for analyzing and imaging an enhanced
three-dimensional volume data set using one or more attributes
Abstract
A method and system are disclosed for creating a combination
attribute volume or combo volume by combining one or more attribute
volumes into a single volume. For instance, seismic data volumes
may be used for creating a combination seismic attribute volume
from multiple seismic attribute volumes. This is accomplished by
replacing certain of the standard 8-bit data values in a seismic
data volume with marker values that denote certain values of other,
spatially coincident, seismic attribute data. The resulting combo
volume may then be displayed and a seed pick positioned on an event
of interest such as a geological body. An auto-picker function or
program will then find all the connecting points which will quickly
further define the event. The event may then be displayed and
interpreted.
Inventors: |
Lees, Jack; (Houston,
TX) ; Sheffield, Tatum M.; (Missouri City,
TX) |
Correspondence
Address: |
CRAIN CATON & JAMES
FIVE HOUSTON CENTER
17TH FLOOR
HOUSTON
TX
77010-4035
US
|
Family ID: |
56290190 |
Appl. No.: |
11/125688 |
Filed: |
May 10, 2005 |
Related U.S. Patent Documents
|
|
|
|
|
|
Application
Number |
Filing Date |
Patent Number |
|
|
11125688 |
May 10, 2005 |
|
|
|
10692908 |
Oct 24, 2003 |
|
|
|
10692908 |
Oct 24, 2003 |
|
|
|
09936780 |
Sep 17, 2001 |
|
|
|
6690820 |
|
|
|
|
09936780 |
Sep 17, 2001 |
|
|
|
PCT/US01/03227 |
Jan 31, 2001 |
|
|
|
Current U.S.
Class: |
382/154 ;
345/424 |
Current CPC
Class: |
G06T 17/05 20130101;
G01V 1/30 20130101; G06T 17/00 20130101; G06T 15/08 20130101 |
Class at
Publication: |
382/154 ;
345/424 |
International
Class: |
G06K 009/00; G06F
012/00 |
Claims
What is claimed is:
1. A method for combining a plurality of 3D volume data sets in a
single output 3D volume data set, each 3D volume data set
comprising a plurality of voxels, each voxel comprising a data
value and being positioned at a 3D location in a respective 3D
volume data set, said method comprising: selecting a first 3D
volume data set representing a first attribute; selecting a second
3D volume data set representing a second attribute; comparing each
of said data values in at least one of said first 3D volume data
set and said second 3D volume data set with a preselected data
value range; inserting a first selected data value at a position
corresponding with said respective data value in said output 3D
volume data set for each data value within said data value range;
inserting a second selected data value at a position corresponding
with said respective data value in said output 3D volume data set
for each data value outside said data value range; and displaying
at least one section of said output 3D volume data set.
2. A program storage device readable by a machine embodying a
program of instructions executable by the machine to perform method
steps of imaging an output 3D volume data set, the 3D volume data
set including a plurality of voxels, each voxel defined by a 3D
coordinate and a data value, the method comprising: selecting a
plurality of spatially coincident 3D volume data sets wherein each
of said 3D volume data sets is related to at least one of a
corresponding plurality of attributes; selecting one or more
selectable criteria for comparing with data values of one or more
of said plurality of spatially coincident data sets; inserting a
first preselected data value at a coordinate corresponding with
said respective data value in said output 3D volume data set when
said data value meets said one or more selectable criteria; and
displaying at least one section of said output 3D volume data
set.
3. A method for displaying an enhanced 3D volume data set related
to one of a plurality of attributes using a 3D volume data set
comprising a plurality of voxels, each voxel comprising a data
value and being positioned at a 3D location in said 3D volume data
set, said method comprising: selecting each data value within a
data value range, said data value range being related to one of
said plurality of attributes; selecting a criteria and comparing
each selected data value with said criteria; inserting a
preselected data value at a position corresponding with said data
value in said enhanced 3D volume data set when said data value
meets said criteria; inserting said data value at a position
corresponding with said respective data value in said enhanced 3D
volume data set when said data value does not meet said criteria;
displaying at least a section of said enhanced 3D volume data set;
utilizing said display for inserting a seed pick at a selected
event shown in said display; and auto-picking a plurality of data
value connected to said seed pick which have a data value identical
to said seed pick data value at which said seed pick is positioned
for automatically determining an extent of said event.
4. A method for rendering a combo volume derived from a plurality
of 3D volume data sets, comprising: selecting a base 3D volume data
set, said base 3D volume data set comprising voxels having a 3D
coordinate and a base dataword, said base dataword being related to
a first attribute; selecting a second 3D volume data set, said
second 3D volume data set comprising voxels having a spatially
coincident coordinate with respect to said base 3D volume data set
and a second dataword related to a second attribute; selecting
voxels in said second 3D volume data set based on a first
preselected data value range; rendering said combo volume by
replacing said base dataword in said base 3D volume data set with a
first preselected data value related to said second attribute when
said respective voxel in said second 3D volume data set is within
said first preselected data value range; and displaying at least a
portion of said combo volume.
Description
CROSS-REFERENCE TO RELATED APPLICATIONS
[0001] This application is a continuation of U.S. application Ser.
No. 10/692,908, which is a continuation of U.S. application Ser.
No. 09/936,780 and therefore, claims the benefit of PCT Application
Serial No. PCT/US01/03227 filed on Jan. 31, 2001.
BACKGROUND OF THE INVENTION
[0002] 1. Field of the Invention
[0003] The present invention relates generally to imaging of
three-dimensional ("3D") volume data sets. More particularly, the
present invention relates to improved imaging and analysis of
physical attributes representing events within 3D volume data
sets.
[0004] 2. Related Art
[0005] Many fields of endeavor require the analysis and imaging of
3D volume data sets. For example, in the medical field, a
computerized axial tomography ("CAT") scanner or a magnetic
resonance imaging ("MRI") device is used to produce a picture or
diagnostic image of some part of a patient's body. The scanner or
MRI device generates a 3D volume data set that needs to be imaged
or displayed so that medical personnel can analyze the image and
form a diagnosis.
[0006] Three-dimensional volume data sets are also used in various
fields of endeavor relating to the earth sciences. Seismic sounding
is one method for exploring the subsurface geology of the earth. An
underground explosion or earthquake excites seismic waves, similar
to low frequency sound waves, that travel below the surface of
earth and are detected by seismographs. The seismographs record the
time of arrival of the seismic waves, both direct and reflected
waves. Knowing the time and place of the explosion or earthquake,
the time of travel of the waves through the interior can be
calculated and used to measure the velocity of the waves in the
interior. A similar technique can be used for offshore oil and gas
exploration. In offshore exploration, a ship tows a sound source
and underwater hydrophones. Low frequency (e.g., 50 Hz) sound waves
are generated by, for example, a pneumatic device that works like a
balloon burst. The sounds bounce off rock layers below the sea
floor and are picked up by the hydrophones. In this manner,
subsurface sedimentary structures that trap oil, such as faults,
folds, and domes, are "mapped" by the reflected waves. The data is
processed to produce 3D volume data sets that include a reflection
or seismic amplitude datavalue at specified (x, y, z) locations
within a geographic space.
[0007] A 3D volume data set is made up of "voxels" or volume
elements having x, y, z coordinates. Each voxel has a numeric data
value for some measured or calculated physical property, at a given
location. A data value may, for instance, be an eight-bit data word
which may include 256 possible values. Examples of geological data
values include amplitude, phase, frequency, and semblance.
Different data values are stored in different 3D volume data sets,
wherein each 3D volume data set represents a different data value.
In order to analyze certain geological structures referred to as
"events", information from different 3D volume data sets must be
interpreted and then used to analyze different events.
[0008] One conventional method of displaying multiple 3D volume
data sets requires that the voxels be rescaled in order that the
data values from each 3D volume data set fit within the 256 data
value range for color display which causes a reduction in accuracy
of each 3D volume data set. Another conventional method displays
each 3D volume data set, however, controls the visual display of
each 3D volume data set by adjusting transparency.
[0009] In an article written by Jack Lees, in March 1999, published
in The Leading Edge, entitled "Constructing Faults from Seed Picks
by Voxel Tracking," two 3D volume data sets, each using only 128
data values of a 256-data value range, are combined in a single
display. The display resolution was significantly reduced, thereby
limiting the ability to accurately interpret certain events.
[0010] Consequently, there is a need in the art for a system and
method to visualize one or more 3D volume data sets with improved
accuracy and resolution. Those skilled in the art have therefore
long sought and will greatly appreciate the present invention which
addresses these and other problems. For purposes of describing the
present invention, the terms "image" and "visualize" may be
interchangeably used.
SUMMARY OF THE INVENTION
[0011] It is, therefore, an object of the present invention to
provide an improved system and method for visualizing and
interpreting multiple 3D volume data sets in a single combined 3D
volume data set.
[0012] It is another object of the present invention to provide an
improved system and method for visualizing and interpreting a
single 3D volume data set in a single enhanced 3D volume data
set.
[0013] It is still another object of the present invention to
provide an improved system and method for visualizing and
interpreting one or more 3D volume data sets using a base 3D volume
data set scaled across 256 points, wherein select data values from
the one or more 3D volume data sets may be inserted into the base
3D volume data set without changing the scaling of the base 3D
volume data set.
[0014] An advantage of the present invention is improved resolution
of selected events.
[0015] Another advantage of the present invention is the ability to
accurately and efficiently display selected data values related to
an event from more than two 3D volume data sets.
[0016] Yet another advantage of the present invention is the
ability to display data values from multiple 3D volume data sets at
the same time.
[0017] Yet another advantage of the present invention is greater
accuracy than transparency displays.
[0018] Yet another advantage of the present invention is the
ability to focus on key events in lower quality data value
ranges.
[0019] Yet another advantage of the present invention is the
reduction in interpretation cycle time.
[0020] These and other objects, features, and advantages of the
present invention will become apparent from the drawings, the
descriptions given herein, and the appended claims.
[0021] Therefore, the present invention provides a system and
method for imaging one or more 3D volume data sets for purposes of
more accurately and efficiently analyzing and interpreting
different selected events. Each 3D volume data set comprises a
plurality of voxels wherein each voxel comprises a data value
positioned at a 3D location in a respective 3D volume data set. One
preferred embodiment includes a method of combining multiple 3D
volume data sets by selecting a first 3D volume data set
representing a first attribute, selecting a second 3D volume data
set representing a second attribute, and rendering an output 3D
volume data set by comparing each of the data values in at least
one of the first 3D volume data set and the second 3D volume data
set with a preselected data value range or criteria. For each data
value where the criteria are met, the method further comprises
inserting a first selected data value at a position corresponding
with the respective data value in the output 3D volume data set.
For each data value where the criteria are not met, the method
further comprises inserting a second selected data value at a
position corresponding with the respective data value in the output
3D volume data set. The method may further comprise displaying at
least one section of the output 3D volume data set and selecting a
data value by inserting a seed pick in the display for visualizing
and interpreting an event.
[0022] The first selected data value may be related to the first
attribute and the second selected data value may be related to the
second attribute. The seed pick is visually positioned at a
selected data value using the display of the output 3D volume data
set. A computer and software program are preferably used for
identifying or "auto-picking" all data values connected to the seed
pick having the same or similar data value as the respective seed
pick. Thus, the present invention may comprise a program storage
device readable by a machine, embodying a program of instructions
executable by the machine to ultimately image the output 3D volume
data set.
[0023] In a preferred embodiment, the first 3D volume data set and
the second 3D volume data set each comprise seismic data. The
method also permits additional 3D volume data sets to be combined
and therefore, may include producing a third 3D volume data set
representing a third attribute, and comparing each of the data
values therein against a second preselected data value range.
[0024] In another embodiment of the present invention, an enhanced
3D volume data set related to one of a plurality of attributes may
be used to visualize and interpret different selected events. In
this embodiment, the method includes identifying each data value
from a 3D volume data set which represents a particular attribute.
An enhanced 3D volume data set is then created by selecting a data
value range or criteria and comparing each data value with the
criteria. If the criteria are met, then the method further
comprises inserting a first selected data value at a position
corresponding with the respective data value in the enhanced 3D
volume data set. If the criteria are not met, then the method
comprises leaving the data value unchanged in the enhanced 3D
volume data set. Additional steps may include displaying at least a
section of the enhanced 3D volume data set, selecting a data value
by inserting a seed pick in the display, and auto-picking a
plurality of data values connected to the seed pick which have a
data value identical to that of the seed pick.
[0025] In another embodiment of the present invention, a method is
provided for creating a combined 3D volume data set derived from
multiple 3D volume data sets. The method comprises selecting a base
3D volume data set wherein the base 3D volume data set may comprise
data values having a 3D coordinate and a base dataword. The base
dataword may preferably be related to a first attribute.
Additionally, the method comprises selecting a second
three-dimensional volume data set where the second 3D volume data
set may comprise data values having a spatially coincident
coordinate with respect to the base 3D volume data set and a second
dataword related to a second attribute. The method further
comprises rendering a combined 3D volume data set by selecting data
values in the second 3D volume data set based on a preselected data
value range or criteria. If the criteria are met, then the method
further comprises replacing the base dataword at a respective
coordinate in the base 3D volume data set with a selected data
value related to the second attribute. If the criteria are not met,
then the method comprises leaving the base dataword related to the
first attribute at the respective coordinate in the base 3D volume
data set unchanged. After creating the combined 3D volume data set,
the method may further comprise displaying at least a portion of
the combined 3D volume data set and positioning a seed pick on an
event using the display. In one embodiment of the invention, the
event is a geological structure.
[0026] Continuing in this manner, additional method steps may
include selecting a third 3D volume data set where the third 3D
volume data set may include data values having a spatially
coincident coordinate with respect to the base 3D volume data set
and a third dataword related to a third attribute. The method then
comprises rendering a revised combined 3D volume data set by
selecting data values in the third 3D volume data set based on a
second preselected data value range or criteria. If the second
criteria are met, then the method further comprises replacing the
base dataword at the respective coordinate in the base 3D volume
data set with a second selected data value related to the third
attribute. If the second criteria are not met, then the method
further comprises leaving the base dataword related to the first
attribute at the respective coordinate in the base 3D volume data
set unchanged. In a preferred embodiment, the first attribute, the
second attribute, and the third attribute are each related to
seismic data.
BRIEF DESCRIPTION OF THE DRAWINGS
[0027] FIG. 1 is a flow diagram illustrating one embodiment for
implementing the present invention;
[0028] FIG. 2 is a schematic view illustrating the relationship
between a typical seismic trace and a data value or voxel;
[0029] FIG. 3 is a schematic view illustrating an example of
seismic amplitude data values given a range between -128 and 127
(an eight bit data value) with an associated data value
histogram;
[0030] FIG. 4 is a schematic view illustrating the relationship
between a peak (a positive phase) event and corresponding data
values;
[0031] FIG. 5 is a schematic view illustrating seed picks for auto
picking all connected points within a defined data value range;
[0032] FIG. 6 is a schematic view illustrating a resulting geobody
outlined by the auto-pick process; and
[0033] FIG. 7 illustrates one embodiment of a software program or
system architecture for implementing the present invention.
[0034] While the present invention will be described in connection
with presently preferred embodiments, it will be understood that it
is not intended to limit the invention to those embodiments. On the
contrary, it is intended to cover all alternatives, modifications,
and equivalents included within the spirit of the invention.
DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS OVERVIEW
[0035] Combination volumes ("Combo Volumes") are created by
combining one or more attributes into a single combined attribute
volume or Combo Volume. In one example related to seismic
attributes within a 3D volume data set, this is accomplished by
replacing certain data values (typically having 256 possible values
in a seismic attribute 3D volume data set) with another data value
(such as an 8-bit seismic marker data value) that denotes certain
values of other spatially coincident seismic attribute data values.
Combo Volumes are especially useful for enhancing the performance
of voxel-based autotrackers. Examples highlighting the utility of
Combo Volumes for use in interpreting seismic data include seismic
amplitude/instantaneous phase Combo Volumes for auto-tracking low
amplitude discontinuous events. By events it is meant geobodies,
such as geological structures depicted by the seismic data. In
another example, seismic amplitude/semblance Combo Volumes may be
used for stopping the autotracker at geologic discontinuities such
as faults or other geologic boundaries. In yet another example,
seismic amplitude/instantaneous frequency Combo Volumes may be used
for highlighting particular geologic features as expressed
seismically, such as onlap onto a peak event or onlap onto a trough
event. Commercial uses for oil and gas exploration and development
may include event mapping, model building, multi-attribute
displays, and auto-picking enhancement.
System Description
[0036] Referring now to FIG. 1, a method 10 in accord with the
present invention is illustrated for determining the data values
associated with voxels for creating an output volume data set. As
known by those of skill in the art, a voxel comprises a 3D
coordinate location and a data value, such as a 256-value data
word, i.e. an 8-bit word. In step 12, the data values VS, V1, . . .
, VN for each spatially coincident volume at the same coordinate or
point P are determined where VS may be the data value of an
original seismic volume at a point P, V1 may be the data value of
attribute volume 1 (VOL 1) at point P, and so forth such that VN is
the data value of attribute volume N (VOL N) at point P. The data
value of the Combo Volume (VC) at point P is then determined as
generally illustrated in steps 14, 16 and 18.
[0037] In step 14, it is determined whether VS, V1, . . . , VN lie
within user-specified criteria; for instance, whether these data
values are within a user-specified range of data values which may
be selected for each of VOL S, VOL 1, . . . , VOL N. As illustrated
in step 16, if VS, V1, . . . , VN do not lie within the criteria,
then the data value of VC is set; for instance, to the same data
value as VS at point P. Other user-specified data values can be
used, or data values taken from any of the 3D volume data sets at
the respective point P could be used. As shown in step 18, if VS,
V1, . . . , VN lie within the criteria, then the data value of VC
is set at a user-specified marker data value that is related to one
of the attribute volumes VS, V1, . . . , VN. As indicated in step
20, the criteria are then applied to each point P, i.e., each voxel
for the Combo Volume to be produced. Once this reiterative process
is complete, a section, slice or other view of the Combo Volume may
be displayed as indicated by step 22. A seed pick may then be
chosen from a visually discernable event and the voxels connected
thereto having the same data value as the seed pick will be
automatically identified as indicated by the "auto-pick" process in
step 24. This method quickly and accurately defines the extent of
an event such as a geological structure. The extent of the event
could then be displayed for analysis and interpretation.
[0038] One embodiment of a Combo Volume used for enhancing the
ability to autotrack or auto-pick sub-surface salt boundaries
utilizes three 3D volume data sets, each representing a different
attribute such as instantaneous frequency, seismic amplitude and
instantaneous amplitude. This embodiment of a Combo Volume used to
detect and display salt boundaries may be configured using
conventional methods to determine the instantaneous amplitude
attribute (IA) of the seismic amplitude data (SA) and the
instantaneous frequency of the instantaneous amplitude attribute
(IFIA). Accordingly, a new salt detection (SD) Combo Volume may be
configured as follows:
If f1.ltoreq.IFIA(x,y,z).ltoreq.f2 AND
a1.ltoreq.SA(x,y,z).ltoreq.a2, THEN SD(x,y,z)=v1, ELSE
SD(x,y,z)=1A(x,y,z). The values of f1, f2, a1, a2, and v1 are user
selected.
[0039] Another embodiment of a Combo Volume consisting of seismic
amplitude data and instantaneous phase data can be constructed to
enhance the ability to autotrack another seismic event. The
instantaneous phase data is derived from the seismic amplitude data
using conventional methods. The result is a 3D volume data set
having instantaneous phase data values corresponding to each
seismic amplitude data value or voxel. At each and every voxel, the
instantaneous phase data value is compared to a user-specified data
value or criteria. If the instantaneous phase data value satisfies
the criteria, then that data value is replaced in the new Combo
Volume with a user-specified marker data value. If the
instantaneous phase data value does not satisfy the criteria, then
that data value in the new Combo Volume is replaced with the
corresponding sample data value from the 3D volume data set
representing seismic amplitude.
[0040] More than two 3D volume data sets can be used, and
constraints set for each one, considering spatially coincident data
volumes A(x,y,z), B(x,y,z), and C(x,y,z), wherein data volume
D(x,y,z) is configured as follows:
IF a1.ltoreq.A(x,y,z).ltoreq.a2 AND/OR b1.ltoreq.B(x,y,z).ltoreq.b2
AND/or c1.ltoreq.C(x,y,z).ltoreq.c2, THEN D(x,y,z)=some specific
user selected data value, ELSE D(x,y,z)=another value.
[0041] Referring now to FIG. 2, the relationship between a typical
seismic trace 26 and a plurality of voxels 28 is shown. A sample
data value rate 30 is measured at a predetermined interval along
seismic trace 26. The voxels 28 are a 3D representation or box
around samples 25 of seismic trace 26. For seismic data purposes,
the voxel may typically have 256 possible data values which may be
labeled 0 to 255 or -128 to 127, or a data value range determined
by the type of data being used. The measured data values for any 3D
volume data set are divided between voxels 28.
[0042] FIG. 3 illustrates an example of seismic amplitude data
values given the range -128 to 127 with an associated data
histogram.
[0043] FIG. 4 illustrates the relationship between a peak (positive
phase) event 27 and the associated voxels 29.
[0044] Another embodiment of the present invention involves
creation of an enhanced 3D volume data set. The enhanced 3D volume
data set is used to enhance the ability of the autotracker to
create surfaces, events and/or geobodies. While this method can be
applied to any type of 3D volume data set, seismic phase data
values are used in reference to the following description. The
enhanced 3D volume data set combines certain of the 256 data values
in an 8-bit seismic data volume with marker values that are
associated with such certain data values.
[0045] In order to create an enhanced 3D volume data set
representing seismic phase, a range of data values is selected
around the maximum peak phase data value. For instance, when using
a peak data value scale from 0 to 255, where a peak would be a data
value of 127, a potential range might be from about 115 to 139. All
voxels in the 3D volume data set would be tested and any voxels
having a data value in this range may be redefined with a
user-selected data value such as 127. As illustrated in FIG. 5, a
seed pick 32 pick may then be visually positioned within a selected
event. A computer generated process may then identify or auto-pick,
and display any point 38 connected to the seed pick 32 within a
range defined by an upper boundary 34 and a lower boundary 36 that
would either include or exclude that data value as more
particularly illustrated in FIG. 5 which outlines a geobody formed
as a result of the seed pick and auto-pick processes applied to an
enhanced seismic phase 3D volume data set.
[0046] In another embodiment, a Combo Volume is derived from more
than one 3D volume data set. It is important to note that the
method of the present invention can be applied using any
combination of 3D volume data sets, but for explanation purposes a
seismic example is provided using a combination of seismic
attribute, seismic phase and seismic amplitude data volumes. A base
3D volume data set is selected. The base 3D volume data set will
retain its histogram distribution across the amplitude range (-128
to 127) as shown for example in FIG. 3. On a scale of 0 to 255, 0
would be a -128 trough and 255 would be a 127 peak. A second 3D
volume data set is selected from which to choose key voxels to
combine with the base 3D volume data set.
[0047] In this embodiment, seismic phase data is used in reference
to the following description. A range of data values is selected
around the maximum peak seismic phase data value. When using a peak
data value scale from 0 to 255, where a peak would be a data value
of 127, a potential range might be from about 115 to 139. All
voxels within this range would be redefined with a data value of
127 (maximum peak) or 255 on a scale of 0 to 255. The resulting
Combo Volume would be displayed and a seed pick would then be
positioned on the key event. The auto-picker process would then
find all the connected points as described in reference to FIG.
5.
[0048] The present invention may be implemented using hardware,
software or a combination thereof, and may be implemented in a
computer system or other processing system. One embodiment of a
software or program structure 100 for implementing the present
invention is shown in FIG. 7. At the base of program structure 100
is an operating system 102. Suitable operating systems 102 include,
for example, the UNIX.RTM. operating system, or Windows NT.RTM.
from Microsoft Corporation, or other operating systems as would be
apparent to one of skill in the relevant art.
[0049] Menu and windowing software 104 overlays operating system
102. Menu and windowing software 104 are used to provide various
menus and windows to facilitate interaction with the user, and to
obtain user input and instructions. Menu and windowing software 104
can include, for example, Microsoft Windows.TM., X Window
System.TM. (registered trademark of Massachusetts Institute of
Technology), and MOTIF.TM. (registered trademark of Open Software
Foundation Inc.). As would be readily apparent to one of skill in
the relevant art, other menu and windowing software could also be
used.
[0050] A basic graphics library 106 overlays menu and windowing
software 104. Basic graphics library 106 is an application
programming interface (API) for 3D computer graphics. The functions
performed by basic graphics library 106 include, for example,
geometric and raster primitives, RGBA or color index mode, display
list or immediate mode, viewing and modeling transformations,
lighting and shading, hidden surface removal, alpha blending
(translucency), anti-aliasing, texture mapping, atmospheric effects
(fog, smoke, haze), feedback and selection, stencil planes, and
accumulation buffer.
[0051] A particularly preferred basic graphics library 106 is
OpenGL.RTM., available from Silicon Graphics, Inc. ("SGI"),
Mountain View, Calif. The OpenGL.RTM. API is a multi-platform
industry standard that is hardware, window, and operating system
independent. OpenGL.RTM. is designed to be callable from C, C++,
FORTRAN, Ada and Java programming languages. OpenGL.RTM. performs
each of the functions listed above for basic graphics library 106.
Some commands in OpenGL.RTM. specify geometric objects to be drawn,
and others control how the objects are handled. All elements of the
OpenGL.RTM. state, even the contents of the texture memory and the
frame buffer, can be obtained by a client application using
OpenGL.RTM.. OpenGL.RTM. and the client application may operate on
the same or different machines because OpenGL.RTM. is network
transparent. OpenGL.RTM. is described in more detail in the
OpenGL.RTM. Programming Guide (ISBN: 0-201-63274-8) and the
OpenGL.RTM. Reference Manual (ISBN: 0-201-63276-4), the entirety of
both of which are incorporated herein by reference.
[0052] Visual simulation graphics library 108 overlays basic
graphics library 106. Visual simulation graphics library 108 is an
API for creating real-time, multi-processed 3D visual simulation
graphics applications. Visual simulation graphics library 108
provides functions that bundle together graphics library state
control functions such as lighting, materials, texture, and
transparency. These functions track state and the creation of
display lists that can be rendered later.
[0053] A particularly preferred visual simulation graphics library
108 is IRIS Performer, available from SGI in Mountain View, Calif.
IRIS Performer supports the OpenGL.RTM. graphics library discussed
above. IRIS Performer includes two main libraries, libpf and libpr,
and four associated libraries, libpfdu, libpfdb, libpfui, and
libpfutil.
[0054] The basis of IRIS Performer is the performance rendering
library libpr, a low-level library providing high speed rendering
functions based on GeoSets and graphics state control using
GeoStates. GeoSets are collections of drawable geometry that group
same-type graphics primitives (e.g., triangles or quads) into one
data object. The GeoSet contains no geometry itself, only pointers
to data arrays and index arrays. Because all the primitives in a
GeoSet are of the same type and have the same attributes, rendering
of most databases is performed at maximum hardware speed. GeoStates
provide graphics state definitions (e.g., texture or material) for
GeoSets.
[0055] Layered above libpr is libpf, a real-time visual simulation
environment providing a high-performance multi-process database
rendering system that optimizes use of multiprocessing hardware.
The database utility library, libpfdu, provides functions for
defining both geometric and appearance attributes of 3D objects,
shares state and materials, and generates triangle strips from
independent polygonal input. The database library libpfdb uses the
facilities of libpfdu, libpf, and libpr to import database files in
a number of industry standard database formats. The libpfui is a
user interface library that provides building blocks for writing
manipulation components for user interfaces (C and C++ programming
languages). Finally, the libpfutil is the utility library that
provides routines for implementing tasks such as MultiChannel
Option support and graphical user interface (GUI) tools.
[0056] An application program which uses IRIS Performer and
OpenGL.RTM. API typically carry out the following steps in
preparing for real-time 3D visual simulation:
[0057] 1. Initialize IRIS Performer;
[0058] 2. Specify number of graphics pipelines, choose the
multiprocessing configuration, and specify hardware mode as
needed;
[0059] 3. Initialize chosen multiprocessing mode;
[0060] 4. Initialize frame rate and set frame-extend policy;
[0061] 5. Create, configure, and open windows as required; and
[0062] 6. Create and configure display channels as required.
[0063] Once the application program has created a graphical
rendering environment by carrying out steps 1 through 6 above, then
the application program typically iterates through a main
simulation loop once per frame.
[0064] 7. Compute dynamics, update model matrices, etc.;
[0065] 8. Delay until the next frame time;
[0066] 9. Perform latency critical viewpoint updates; and
[0067] 10. Draw a frame.
[0068] A combo/enhanced volume program 110 of the present
inventions overlays visual simulation graphics library 108. Program
110 interacts with, and uses the functions carried out by, each of
visual simulation and graphics library 108, basic graphics library
106, menu and windowing software 104, and operating system 102 in a
manner known to one of skill in the relevant art.
[0069] Program 110 of the present invention is preferably written
in an object oriented programming language to allow the creation
and use of objects and object functionality. A particularly
preferred object oriented programming language is C++.
[0070] In one embodiment, program 110 stores the 3D volume data set
in a manner well known to one of skill in the relevant art. For
example, the format for data volume can consist of two parts, a
volume header followed by the body of data that is as long as the
size of the data set. The volume header typically contains
information, in a prescribed sequence, such as the file path
(location) of the data set, size, dimensions in the x, y, and z
directions, annotations for the x, y, and z axes, annotations for
the datavalue, etc. The body of data is a binary sequence of bytes,
one or more bytes per data value, that can be ordered in the
following manner. The first byte is the datavalue at volume
location (x, y, z)=(0,0,0). The second byte is the datavalue at
volume location (1,0,0), the third byte is the datavalue at volume
location (2,0,0), etc. When the x dimension is exhausted, then the
y dimension is incremented, and finally the z dimension is
incremented. The present invention is not limited in any way to a
particular data format.
[0071] The program 110 facilitates input from a user to identify
one or 3D volume data sets to use for imaging and analysis. When a
plurality of data volumes is used, the datavalue for each of the
plurality of data volumes represents a different physical parameter
or attribute for the same geographic space. By way of example, a
plurality of data volumes could include a geology volume, a
temperature volume, and a water-saturation volume. The voxels in
the geology volume can be expressed in the form (x, y, z, seismic
amplitude). The voxels in the temperature volume can be expressed
in the form (x, y, z, .degree. C.). The voxels in the
water-saturation volume can be expressed in the form (x, y, z, %
saturation). The physical or geographic space defined by the voxels
in each of these volumes is the same. However, for any specific
spatial location (x.sub.0, y.sub.0, z.sub.0), the seismic amplitude
would be contained in the geology volume, the temperature in the
temperature volume, and the water-saturation in the
water-saturation volume.
CONCLUSION
[0072] The foregoing disclosure and description of the invention is
illustrative and explanatory thereof, and it will be appreciated by
those skilled in the art, that various changes in the size, shape
and materials, the use of mechanical equivalents, as well as in the
details of the illustrated construction or combinations of features
of the various elements may be made without departing from the
spirit of the invention.
* * * * *