Language selection

Search

Patent 2751514 Summary

Third-party information liability

Some of the information on this Web page has been provided by external sources. The Government of Canada is not responsible for the accuracy, reliability or currency of the information supplied by external sources. Users wishing to rely upon this information should consult directly with the source of the information. Content provided by external sources is not subject to official languages, privacy and accessibility requirements.

Claims and Abstract availability

Any discrepancies in the text and image of the Claims and Abstract are due to differing posting times. Text of the Claims and Abstract are posted:

  • At the time the application is open to public inspection;
  • At the time of issue of the patent (grant).
(12) Patent: (11) CA 2751514
(54) English Title: SYSTEM AND METHOD FOR ANALYZING AND IMAGING THREE-DIMENSIONAL VOLUME DATA SETS
(54) French Title: SYSTEME ET PROCEDE POUR ANALYSER ET REPRESENTER DES ENSEMBLES DE DONNEES DE VOLUME A TROIS DIMENSIONS
Status: Expired
Bibliographic Data
(51) International Patent Classification (IPC):
  • G06T 19/00 (2011.01)
(72) Inventors :
  • CHEUNG, YIN (United States of America)
  • LEES, JACK (United States of America)
  • SEMBROSKI, CHARLES (United States of America)
  • ZEITLIN, MICHAEL (United States of America)
  • ACOSTA, MARK (United States of America)
(73) Owners :
  • LANDMARK GRAPHICS CORPORATION (United States of America)
(71) Applicants :
  • LANDMARK GRAPHICS CORPORATION (United States of America)
(74) Agent: PARLEE MCLAWS LLP
(74) Associate agent:
(45) Issued: 2013-12-03
(22) Filed Date: 2000-10-30
(41) Open to Public Inspection: 2002-05-10
Examination requested: 2011-08-30
Availability of licence: N/A
(25) Language of filing: English

Patent Cooperation Treaty (PCT): No

(30) Application Priority Data: None

Abstracts

English Abstract

A three-dimensional data volume, comprising a plurality of voxels, each having a three-dimensional location and a dataword is imaged. A face of a probe is positioned at a first position within the three-dimensional data volume. A first set of control points on the face of the probe is formed for tracking a physical phenomena described by the three-dimensional data volume. The face of the probe is moved to a second position within the three-dimensional volume. A second set of control points is formed on the face of the probe for tracking the physical phenomena. The first and second set of control points define a first and second curvilinear curves, respectively. A three-dimensional surface representative of said physical phenomena is defined by interpolating between the first and second curvilinear curves.


French Abstract

Volume de données à trois dimensions comprenant plusieurs voxels, chacun ayant un emplacement tridimensionnel; un mot de données est également représenté. Une face d'une sonde est placée dans une première position dans le volume de données à trois dimensions. Un premier ensemble de points de contrôle, sur la face de la sonde, est formé pour suivre un phénomène physique décrit par un volume de données à trois dimensions. La face de la sonde est déplacée vers une deuxième position à l'intérieur du volume à trois dimensions. Un deuxième ensemble de points de contrôle est formé sur la face de la sonde pour suivre le phénomène physique. Les premier et deuxième ensembles de points de contrôle définissent une première et une deuxième courbe curviligne, respectivement. Une surface à trois dimensions représentative dudit phénomène physique est définie par interpolation entre les première et deuxième courbes curvilignes.

Claims

Note: Claims are shown in the official language in which they were submitted.



CLAIMS
1. A method for imaging a three-dimensional data volume, said
three-dimensional data volume comprising a plurality of voxels, each voxel
comprising a three-dimensional location and a dataword, said method
comprising:
positioning a face of a probe at a first position within said three-
dimensional
data volume;
forming a first set of control points on said face of said probe for tracking
a
physical phenomena described by said three-dimensional data volume, said first
set of
control points defining a first curvilinear curve;
moving said face of said probe to a second position within said
three-dimensional volume;
forming a second set of control points on said face of said probe for tracking

said physical phenomena, said second set of control points defining a second
curvilinear curve; and
interpolating between said first curvilinear curve and said second curvilinear

curve to define a three-dimensional surface representative of said physical
phenomena.
2. The method of claim 1, further comprising:
displaying the surface representative of said physical phenomena, said surface

intersecting said first set of control points and said second set of control
points.
3. The method of claim 1, further comprising:
interpolating between said first set of control points to define said first
curvilinear curve and interpolating between said second set of control points
to define
said second curvilinear curve, at least one of said first curvilinear curve
and said
second curvilinear curve representing a spline curve or a v-curve.
-42-


4. The method of claim 1, further comprising:
moving said face of said probe to a third position within said
three-dimensional volume;
forming a third set of control points on said face of said probe for tracking
said
physical phenomena, said third set of control points defining a third
curvilinear curve;
and
interpolating between said first curvilinear curve, said second curvilinear
curve, and said third curvilinear curve for enlarging said surface.
5. The method of claim 1, further comprising:
editing at least one of said first set of control points and said second set
of
control points.
6. The method of claim 1, further comprising:
forming a third set of control points on said face of said probe at said first

position, said third set of control points defining a third curvilinear curve;
forming a fourth set of control points on said face of said probe at said
second
position, said fourth set of control points defining a fourth curvilinear
curve; and
interpolating between said third curvilinear curve and said fourth curvilinear

curve to define another three-dimensional surface representative of another
physical
phenomena described by said three-dimensional data volume, said three-
dimensional
surface and said another three-dimensional surface being defined at the same
time.
-43-


7. A program storage device readable by a computer, embodying a program of
instructions executable to perform a method for imaging a three-dimensional
data
volume, said three-dimensional data volume comprising a plurality of voxels,
each
voxel comprising a three-dimensional location and a dataword, said method
comprising:
positioning a plane at a plurality of plane positions within said
three-dimensional data volume;
forming a set of control points at each of said plurality of plane positions
such
that each of said set of control points defines a related curvilinear curve;
and
interpolating between each of said curvilinear curves to form a surface
representative of a physical phenomena described by said three-dimensional
data
volume.
8. The program storage device of claim 7, wherein the method further
comprises:
displaying said surface representative of said physical phenomena, said
surface intersecting each of said set of control points.
9. The program storage device of claim 7, wherein the method further
comprises:
interpolating between each of said set of control points to define said
related
curvilinear curves, at least one of said related curvilinear curves
representing a spline
curve or a v-curve.
10. The program storage device of claim 7, wherein the method further
comprises:
editing one or more of said control points.
11. The program storage device of claim 7, wherein the method further
comprises:
forming another set of control points at each of said plurality of plane
positions, such that each of said another set of control points defines
another related
curvilinear curve; and
-44-


interpolating between each of said another curvilinear curves to form another
surface representative of another physical phenomena described by said
three-dimensional data volume, said surface and said another surface being
formed at
the same time.
-45-

Description

Note: Descriptions are shown in the official language in which they were submitted.


CA 02751514 2011-08-30
SYSTEM AND METHOD FOR ANALYZING AND IMAGING
THREE-DIMENSIONAL VOLUME DATA SETS
This is a division of co-pending Canadian Patent Application Serial
No. 2,585,233 from PCT/US2000/29835 filed October 30, 2000.
FIELD OF THE INVENTION
The present invention relates generally to imaging of three-dimensional (3D)
volume
data sets. More particularly, the present invention relates to fast
visualization and analysis of
structures within 3D volume data sets.
BACKGROUND
Many fields of endeavor require the analysis and imaging of three-dimensional
("3D") volume data sets. For example, in the medical field, a CAT
(computerized axial
tomography) 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.
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
- 1 -

CA 02751514 2011-08-30
that include a reflection or seismic amplitude datavalue at specified (x, y,
z) locations
within a geographic space.
A 3D volume data set is made up of "voxels" or volume elements. Each voxel
has a numeric value for some measured or calculated property, e.g., seismic
amplitude
of the volume at that location. One conventional approach to generating an
image of a
3D volume data set is to cross-section the 3D volume data set into a plurality
of two-
dimensional ("2D") cross-sections or slices. The image of the 3D volume data
set is then
*built as a composite of the 2D slices. For example, the image of-the 3D
volume data set
is generated by stacking the 2D slices in order, back-to-front, and then
composited into
a complete image. The user sees the image being built layer by layer as the
composite
grows. Although the user can see the internal organization or structure of the
volume as
the composite image grows, the traditional slice and composite technique is
typically
slow, particularly when very large 3D volume data sets are being used.
Additionally, the
slice and composite technique clutters the user's field of view with
extraneous
information, and interferes with the user's ability to accurately visualize
and interpret
features inherent in the 3D volume data set.
Computer software has been developed specifically for imaging 3D seismic data
sets for the oil and gas industry. Examples of such conventional computer
programs
include VoxelGeo, available from Paradigm Geophysical, Houston, TX, SeisWorks*
and
EarthCube, available from Landmark Graphics Corporation, and IESX, available
from
GeoQuest. Such conventional computer programs have numerous deficiencies that
preclude a user from quickly and accurately visualizing and interpreting
features inherent
in a 3D seismic data set. Conventional computer programs for visualizing and
interpreting 3D seismic data operate on the full 3D volume of seismic data.
Consequently, every time a change is made, such as a change to the
transparency or
opacity settings, the full 3D volume of seismic data must be processed, and
the image
re-drawn. Even when such programs are run on highly efficient graphics
supercomputers, the delay or lag in re-drawing the image is perceptible to the
user. For
a. 3D volume containing 500 megabytes of seismic data, it can take on the
order of 30-45
seconds for conventional programs to re-draw the complete image (frame rate of
0.03 to
0.02 frames per second, respectively). During the 30-45 second delay time, the
mind of
*Trademark - 2 -

CA 02751514 2011-08-30
the user loses focus on the feature of interest, making it difficult to
completely and
properly analyze the seismic data.
Some conventional 3D seismic interpretation programs provide the capability to

visualize and interpret a piece of the full 3D volume of seismic data. The
user identifies
the coordinates of the selected piece via a menu command. An image of the
selected
piece is drawn. The selected piece can then be rotated, if desired, at that
location.
However, to look at a different piece of the full 3D volume of seismic data,
such as to
follow a geologic feature that has been tentatively identified, the image must
be
interrupted, a new location or coordinates for the different piece is entered,
and a new
image is drawn containing the different piece. The interruption in the
displayed image
makes it difficult for the user to visualize any continuity between the two
pieces of the
full 3D volume of seismic data that have been imaged. This impedes the user's
ability
to interpret and identify the geologic features that are inherent in the full
3D volume of
seis.mic data. Additionally, even though only a piece of the full 3D volume of
seismic
data is being visibly displayed, conventional 3D seismic interpretation
programs continue
processing the full 3D volume of seismic data to draw the image, thereby
slowing the
display of the image to the user.
Conventional 3D seismic interpretation programs provide the capability to
"auto
pick" and identify points that satisfy a voxel selection algorithm. However,
these
programs typically iterate through the full 3D volume of seismic data to
identify the
points that satisfy the voxel selection algorithm. This is time consuming even
on a high
speed graphics supercomputer. Additionally, conventional. 3D seismic
interpretation
programs do not provide the capability to directly delete from the collection
of picked
voxels. The only way to "eliminate" points from the collection of picked
voxels using
conventional 3D seismic interpretation programs is to repeatedly adjust the
selection
criteria for the voxel selection algorithm until the points to be eliminated
fall outside of
the selection criteria for the displayed points that satisfy the voxel
selection algorithm.
Each time the selection criteria is adjusted, the image must be interrupted.
This iterative
process is time consuming, and interferes with the visualization process of
the user.
Thus, there is a need in the art for a system and method for imaging 3D volume
data sets that overcomes the deficiencies detailed above. Particularly, there
is a need for
-3 -

CA 02751514 2011-08-30
a system and method that re-draws images of large 3D volume data sets in
response to
user input at a rate sufficiently fast that the user perceives an
instantaneous or
real-time change in the image, without perceptible delay or lag. There is a
need for a
system and method that allows a user to interactively change the displayed
image in a
continuous manner, without interruption or perceptible delay or lag. Such a
system
and method would allow a user to more quickly and accurately interpret and
identify
features inherent in 3D volume data sets.
SUMMARY OF THE INVENTION
Certain exemplary embodiments can provide a computer readable medium
having computer executable instructions for imaging a three-dimensional data
volume, the three-dimensional data volume comprising a plurality of voxels,
each
voxel comprising a three-dimensional location and a dataword, the dataword
being
representative of a physical phenomena, the instructions being executable to
implement: creating at least one three-dimensional sampling probe, wherein the
three-dimensional sampling probe is the same size or a subset of the
three-dimensional data volume, the three-dimensional sampling probe having a
probe
face in a probe face plane and an opposing probe face in an opposing probe
face
plane; producing a plurality of control points in the probe face plane, the
plurality of
control points defining one or more lines on the probe face plane; extending a
ribbon
section from the probe face plane toward the opposing probe face plane, one
edge of
the ribbon section being formed by one or more lines; and selectively imaging
datawords representative of the physical phenomena only at three-dimensional
locations where the ribbon section intersects the three-dimensional sampling
probe.
Certain exemplary embodiments can provide a computer readable medium
having computer executable instructions for imaging a three-dimensional data
volume, the three-dimensional data volume comprising a plurality of voxels,
each
voxel comprising a three-dimensional location and a dataword, the dataword
being
representative of a physical phenomena, the instructions being executable to
implement: displaying a plane within the three-dimensional data volume;
producing a
plurality of control points in the plane, the plurality of control points
defining one or
more lines on the plane; extending a ribbon section from the plane, one edge
of the
- 4 -

CA 02751514 2011-08-30
ribbon section being formed by one or more lines; and selectively imaging the
datawords representative of the physical phenomena only at three-dimensional
locations where the ribbon section intersects the three-dimensional data
volume.
Certain exemplary embodiments can provide a method for imaging a
three-dimensional data volume, said three-dimensional data volume comprising a

plurality of voxels, each voxel comprising a three-dimensional location and a
dataword, said method comprising: positioning a face of a probe at a first
position
within said three-dimensional data volume; forming a first set of control
points on
said face of said probe for tracking a physical phenomena described by said
three-dimensional data volume, said first set of control points defining a
first
curvilinear curve; moving said face of said probe to a second position within
said
three-dimensional volume; forming a second set of control points on said face
of said
probe for tracking said physical phenomena, said second set of control points
defining
a second curvilinear curve; and interpolating between said first curvilinear
curve and
said second curvilinear curve to define a three-dimensional surface
representative of
said physical phenomena.
Certain exemplary embodiments can provide a program storage device
readable by a computer, embodying a program of instructions executable to
perform
method steps for imaging a three-dimensional data volume, said three-
dimensional
data volume comprising a plurality of voxels, each voxel comprising a
three-dimensional location and a dataword, said method comprising: positioning
a
plane at a plurality of plane positions within said three-dimensional data
volume;
forming a set of control points at each of said plurality of plane positions
such that
each of said set of control points defines a related curvilinear curve; and
interpolating
between each of said curvilinear curves to form a surface representative of a
physical
phenomena described by said three-dimensional data volume.
Embodiments of the method may further comprise steps of editing
the plurality of control points on the probe face plane to thereby redefine
the
one or more lines, and extending a correspondingly redefined ribbon section
from the one or more lines on the probe face plane toward the opposing
probe face plane. The step of editing may further comprise
- 4a -

CA 02751514 2011-08-30
functions such as deleting one or more of the plurality of control points,
changing a
location of one or more of the plurality of control points, and adding one or
more control
points Co the plurality of control points.
In other embodiments, the ribbon section is perpendicular to the probe face
plane and the ribbon section may extend from the probe face plane to the
opposing probe
face plane. The one or more lines forming the edge of the ribbon section may
be edited
through the plurality of control points to construct a plurality of open
straight lines or a
closed line geometrical figure, if desired The ribbon section is preferably
comprised of
a plurality of planes. The ribbon section may or may not be parallel with
respect to each'
of a plurality of side faces of the probe.
In
another embodiment related to tracking a particular physical
phenomena, such as a geological fault, the method may comprise the steps of
positioning the probe face plane at a first position within the three-
dimensional volume
data set and forming a first set of control points on the probe face plane for
tracking a
physical phenomena described by the three-dimensional volume data set. Another
step
may include interpolating between the first set of control points to define a
first spline
curve. Other steps may include moving the probe to a second position within
the three-
dimensional volume data set, forming a second set of control points on the
probe face
plane for tracking the physical phenomena and interpolating there between such
that the
second set of control points define a second spline curve. Another step may
include
interpolating a three dimensional surface between the first spline curve and
the second
splin.e curve which is representative of the physical phenomena.
Other embodiments of the method further permits displaying the interpolated
surface where the surface intersects the first set of control points and the
second set of
control points. It is an advantage of the present invention that the first
spline curve,
second spline curve and subsequent spline curves are curvilinear.
Additional steps may include the reiterative process of moving the probe to a
third position within the three-dimensional volume data set; forming a third
set of control
points on the probe face plane for tracking the physical phenomena,
interpolating
between the third set of control points to define a third spline curve, and
interpolating
- 5

CA 02751514 2011-08-30
between the first spline curve, the second spline, and the third spline curve
for further
defining the three dimensional surface representative of the physical
phenomena.
If desired, the method may further comprise steps such as editing the
respresentive control points on the probe face plane at respective positions
of the probe.
Moreover, the method may include displaying a curvilinear connection ("v
curves")
between respective control points at respective positions of the probe.
Another step may
include displaying the spline curves and the v-curves on the three dimensional
surface.
The spline curves and the v-curves form a three dimensional grid also
representative of
the physical phenomena. The grid includes a plurality of intersections between
the spline
curves and the v-curves. The method may further comprise editing the current
set of
control points on the probe face plane, thereby reshaping the surface and grid
between
the current spline curve and the prior spline curve.
Other embodiments of the method may also include steps such as selecting one
of the
plurality of intersections to thereby reposition the probe face plane to pass
through the selected
intersection. The method also comprises selecting one of the sets of control
points to
thereby reposition the probe face plane to pass through the selected set of
control points.
Stated another way, an embodiment of the method may comprise steps such as
positioning the probe face plane at a plurality of positions within the three-
dimensional
volume data set, forming a set of control points at each of the plurality of
probe face
plane positions such that each set of control points defines a related spline
curve,
repositioning the probe face plane and interpolating between the plurality of
spline curves
to form a three dimensional surface representative of the physical phenomena.
FEATURES AND ADVANTAGES
It is a feature of the present invention that a ribbon section through a 3D
sampling
probe can be created, redrawn, edited, and moved quickly and conveniently by
creating
a plurality of lines that are then projected through the 3D sampling probe.
The lines may
be drawn at angles offset from the coordinate system, such as an x, y, z or
Cartesian
coordinate system, of the 3D sampling probe.
It is another feature of the present invention that structures in a 3D data
volume
set, such as for instance geological structures, can be quicklymapped by
selecting points
- 6 -

CA 02751514 2011-08-30
of interest at a plurality of locations in the 3D sampling probe, which points
may then be
interpolated to produce a grid or surface related to the structure. The grid
may be quickly
edited and the probe may be moved to various points on the surface by
selecting grid
intersections.
It is yet another feature of the present invention that, as a user
interactively moves
a 3D sampling probe through a 31) volume data set, the image on the surfaces
of the 3D
sampling probe is re-drawn "on the fly" so that the user perceives the image
changing in
real-time with movement of the 3D sampling probe. Similarly, as a user
interactively
moves a 3D sampling probe through a 30 volume data set, the 30 sampling probe
is
I 0 volume
rendered with varying degrees of transparency "on the fly" so that the user
perceives the image changing in real-time with movement of the 3D sampling
probe.
It is a further feature of the present invention that a user can interactively
change
the shape or size of a 3D sampling probe so that the image on the surfaces of
the 3D
sampling probe is re-drawn "on the fly" so that the user perceives the image
changing in
real-time with the change in shape or size of the 3D sampling probe.
Similarly, a user
can interactively change the shape or size of a 30 sampling probe so that the
3D
sampling probe is volume rendered with varying degrees of transparency "on the
fly" so
that the user perceives the image changing in real-time with the change in
shape or size
of the 3D sampling probe.
It is yet a further feature of the present invention that a user can
interactively
rotate a 313 sampling probe so that the image on the surfaces of the 3D
sampling probe
is re-drawn "on the fly" so that the user perceives the image changing in real-
time with
the rotation of the 313$ sampling probe. Similarly, a user can interactively
rotate a 3D
sampling probe so that the 3D sampling probe is volume rendered with varying
degrees
of transparency "on the fly" so that the user perceives the image changing in
real-time
with the rotation of the 3D sampling probe.
It is yet a further feature of the present invention that an eraser 3D
sampling probe
can be created and manipulated by the user to directly delete from an image
selected
points that fall within a certain datavalue range.
- 7 -

CA 02751514 2011-08-30
It is an advantage of the present invention that a user can manipulate a 3D
sampling probe to interactively traverse a 3D volume data set to continuously
follow and
image a feature.
It is a further advantage of the present invention that a user can
interactively
change the displayed image in a continuous manner, without interruption or
perceptible
delay or lag. This allows a user to more quickly and accurately interpret and
identify
features inherent in 3D volume data sets.
It is yet a further advantage of the present invention that the 3D sampling
probes
can be interactively re-shaped by the user to match the shape of geologic
features, thereby
enabling the user to better visualize and define the extent of geologic
features.
A still further advantage of the present invention is that it can be used to
visualize
and interpret large volumes of 3D seismic data. The present invention can be
used to
quickly and accurately identify drilling sites. The present invention can
advantageously
be used to sharply reduce 3D seismic project cycle times, to boost production
from
existing wells, and to locate additional reserves.
BRIEF DESCRIPTION OF THE FIGURES
The present invention is described with reference to the accompanying
drawings.
In the drawings, like reference numbers indicate identical or functionally
similar
elements. Additionally, the left-most digit(s) of a reference number
identifies the
drawing in which the reference number first appears.
FIG. I shows one embodiment of a software or program structure for
implementing the present invention;
FIG. 2 shows a block diagram of one embodiment of the 3D sampling
probe program of the present in.vention;
FIG. 3 shows a curve illustrating opacity as a function of datavalue;
FIG. 4 shows a flow diagram illustrating one embodiment for
implementing the present invention;
FIG. 5 shows a flow diagram of one embodiment for changing a default
probe;
- 8 -

CA 02751514 2011-08-30
FIG. 6 shows a flow diagram of one embodiment for creating
additional probes;
FIG. 7 shows a flow diagram of one embodiment for moving a probe;
FIG. 8 shows a flo-w diagram of one embodiment for re-shaping a
probe;
FIG. 9 shows a flow diagram of one embodiment for rotating a probe
in 3D space;
FIG. 1.0 shows a flow diagram of one embodiment for rotating a probe
while fixed in space;
FIG. 11 shows a flow diagram of one embodiment for carrying out auto
picicing or seed selection;
FIG. 12 shows one embodiment of a computer system suitable for use
with the present invention;
FIG. 13 shows an alternate embodiment of a computer system suitable
for use with the present invention;
FIG. 14 shows further detail of an exemplary computer system suitable
for use with the present invention;
FIG. 15 illustrates three opaque probes of the present invention, with
two of the probes intersecting each other;
FIG. 16 illustrates three probes of the present invention, a data probe, a
transparent cut probe, and a volume-rendered probe;
FIG. 17 illustrates a ribbon section according to the present invention in
the shape of a star;
FIG. 18 shows a block diagram of a system for producing the ribbon
section of FIG. 17;
FIG. 19 illustrates a three dimensional grid and three dimensional
surface representative of a physical phenomena described by a
3-D volume data set according to the present invention; and
FIG. 20 shows a block diagram of a system for producing the grid and
surface of FIG.19.
- 9 -

CA 02751514 2011-08-30
DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
Overview
The present invention is directed to a system and method for analyzing and
imaging three-dimensional ("3D") volume data sets using a 3D sampling probe.
3D
volume data sets comprise "voxels" or volume elements. Each voxel is a sample
or point
within a volume. Each voxel can be expressed in the form (x, y, z, datavalue)
where "x,
y, z" identifies the 3D location of the point within the volume, and
"datavalue" is the
value of some measured or calculated attribute or physical parameter at the
specified
point within the volume. For example, a 3D volume data set suitable for use
with the
present invention is 3D seismic data. Each voxel in a 3D seismic data can be
expressed
as (x, y, z, amplitude), with amplitude cormsponding to the amplitude of
reflected sound
waves at the specified (x, y, z) location.
Any form of information that can be expressed in the voxel form (x, y, z,
datavalue) is suitable for use with the present invention. In addition to
seismic data,
examples from the oil and gas industry include information from closely spaced
well
logs, gravity and magnetic fields, remote sensing data, and sidescan sonar
image data.
Other geologic or physical information could also include temperature,
pressure,
saturation, reflectivity, acoustical impedance, and velocity.
Another application for the present invention is for mining. For example, the
present invention can be used to visualize arid interpret geologic and
geophysical data to
locate mining sites, to locate and track deposits to be mined, or to locate
and track
geologic features such as faults that would affect mining operations. The
present
invention also has application for clean up of toxic, hazardous, or other
types of waste.
For example, the present invention can be used to visualize and interpret data
representing the geographic extent and distribution of the waste at a
particular site. Such
visualization and interpretation is useful for prioritizing clean up at
various sites, and for
developing a clean-up plan for a particular site.
The present invention can also be used with information outside of the oil
arid gas
industry. For example, the present invention can be used for analyzing and
imaging in
the medical field, where the datavalue element of the voxel is obtained from a
CAT
-10-

CA 02751514 2011-08-30
=
(computerized axial tomography) scanner or a magnetic resonance imaging (MR1)
procedure.
By way of explanation and example, the present invention will be described in
detail below using 3D seismic data as the 3D volume data set. It is to be
understood,
however, that the present invention is not limited in any way to the use of 3D
seismic
data.
The present invention is particularly useful as a visualization tool for
interpreting
3D seismic data. As used herein, the term "visualization" refers to the
construction of a
three-dimensional picture in the user's mind of physical or geologic features
or physical
parameters that are inherently present in 3D volume data sets. Such physical
features or
parameters are typically not apparent from conventional means of processing 3D
data
sets, such as scanning a series of cross-sections of the 3D volume data set,
because of the
mental reconstruction that needs to take place in order for a user to mentally
"picture" the
three-dimensional feature. Because of this mental reconstruction, it is
difficult to
communicate and share among users the same 3D image. For example, the same 3D
mental image of the terrain will not necessarily be present in the mind of
every person
that reads or analyzes a two-dimensional ("2D") contour map of that terrain.
Through the
use of 3D computer graphics, users can visualize, and communicate and share,
the same
3D image of 3D volume data sets. By visualizing 3D seismic data, a team of
geologists,
')(:) geophysicists, and engineers can interpret the visualized data to
make exploration and
production decisions, such as drilling locations and well paths.
To accomplish the visualization function, the present invention uses the
computer
graphics techniques of texture mapping and volume rendering. By "texture map"
is
meant wrapping or mapping a 2D picture or image onto a 2D or a 3D object. For
example, a photograph of a person can be texture mapped onto a coffee cup.
The term "volume rendering" or "volume imaging" refers to drawing a three-
dimensional object in a manner that conveys to a viewer the three-dimensional
nature of
the object, even though the viewer may be looking at a two-dimensional display
or
screen. Computer graphics technology makes use of coloring, lighting, and
shading
techniques to convey to the mind of the viewer what is high or low, behind or
in front,
light or dark, etc. The perspective or viewpoint can be changed so that the
viewer can see
- 11 -

CA 02751514 2011-08-30
all sides of the 3D object. Volume rendering typically includes some type of
transparency/opacity (opacity = 1 - transparency) control so that certain
parts of the 3D
object are more transparent, thereby allowing a viewer to "see through" outer
surfaces of
an object and view its internal structures.
The present invention enables fast visualization and analysis of very large 3D
volume data sets through the use of a "sampling probe", also referred to
herein as a
"probe" or "probe object". As explained in more detail below, the sampling
probes of the
present invention have numerous attributes, one of which is that they are
typically created
as a 3D sub-volume of the whole 3D volume data set to be visualized and
analyzed.
A number of sampling probes can be created, shaped, sized, and moved
interactively by the user within the whole 3D volume data set. The
intersection of the
sampling probe with the whole 3D volume data set is texture mapped onto the
surfaces
of the sampling probe, or volume rendered with varying degrees of transparency
within
the sampling probe. As used herein, the term "interactive" or "interactively"
refers to
changing or re-drawing an image in response to user input at a rate
srofficiently fast that
the user perceives an instantaneous or real-time change in the image, without
perceptible
delay or lag. In practice, a frame rate of at least about 10 to 15 frames per
second is
sufficient to achieve interactive imaging as described herein. For example, as
the user
moves the sampling probe, such as by "clicking and dragging" with a "mouse",
the user
perceives the texture on the surfaces of the sampling probe changing in "real-
time" with
movement of the sampling probe. As the sampling probe changes shape, size, or
location,
there is no user-perceivable delay or lag in imaging the texture, or, with
varying degrees
of transparency, volume-rendered attributes. In this manner, the user can
interactively
move the sampling probes through the whole 3D volume, and more easily and
effectively
visualize and interpret the features and physical parameters that are present
within the
geographic space represented by the whole 3D volume data set.
SYSTEM DESCRIPTION
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
-12-

CA 02751514 2011-08-30
present invention is shown in FIG. 1. At the base of program structure 100 is
an
operating system 102. Suitable operating systems 102 include, for example, the
UNIX
operating system, or Windows NT from Microsoft Corporation, or other
operating
systems as would be apparent to one of skill in the relevant art.
Menu and windowing software 104 overlays operating system 102. Menu and
windowing software 104 is 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 Windowsw, X Window System.'"
(registered trademark of Massachusetts Institute of Technology), and MOTIFT"
(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.
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.
A particularly preferred basic graphics library 106 is OpenGL , available from
Silicon Graphics, Inc. ("SGI"), Mountain View, California. The OpenGL API is
a
multiplatform industry standard that is hardware, window, and operating system

independent. OpenGL is designed to be callable from C, C++, FORTRAN, Ada and
Java programming languages. OpenGL performs each of the functions listed
above for
bascc graphics library 106. Some commands in OpenGL specify geometric objects
to
be drawn, and others control how the objects are handled. All elements of the
OpenGL
state, even the contents of the texture memory and the frame buffer, can be
obtained by
a client application using OpenGL . OpenGL and the client application may
operate
on the same or different machines because OpenGL is network transparent.
OpenGL
is described in more detail in the OpenGLO Programming Guide (ISBN: 0-201-
63274-8)
- 13 -

CA 02751514 2011-08-30
and the OpenGLO Reference Manual (ISBN: 0-201-63276-4).
Visual simulation graphics library 108 overlays basic graphics library 106.
Visual
shnulation 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.
A particularly preferred visual simulation graphics library 108 is IRIS
Performer,
available from SGI in Mountain View, California. IRIS Performer supports the
OpenGLO graphics library discussed above. IRIS Performer includes two main
libraries,
libpf and libpr, and four associated libraries, libpfdu, libpfdb, libpfui, and
libpfutil.
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 sazne attributes,
rendering of
most databases is performed at maximum hardware speed. GeoStates provide
graphics
state definitions (e.g., texture or material) for GeoSets.
Layered above libpr is libpf, a real-thne 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-H- progranuning 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.
- 14-

CA 02751514 2011-08-30
An application program that uses IRIS Performer and OpenGL API typically
carry out the following steps in preparing for real-time 3D visual simulation:
1. Initialize IRIS Performer;
2. Specify number of graphics pipelines, choose the
multiprocessing configuration, and specify hardware mode as
needed;
3. Initialize chosen multiprocessing mode;
4. Initialize frame rate and set frame-extend policy;
5. Create, configure, and open windows as required; and
6. Create and configure display channels as required.
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.
7. Compute dynamics, update model matrices, etc.;
8. Delay until the next frame time;
9. Perform latency critical viewpoint updates;
10. Draw a frame.
A 3D sampling probe 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.
3D sampling probe 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++. In carrying out the present invention, program 110 creates one or more
probe
"objects". As noted above, the probe objects created and used by program 110
are also
referred to herein as sampling probes or probes. Program 110 manipulates the
probe
objects so that they have the following attributes.
-15-

CA 02751514 2011-08-30
A probe corresponds to a sub-volume of a larger 3D volume. Particularly, a
probe
defines a sub-set that is less than the complete data set of voxels for a 3D
volume data set.
A probe could be configured to be equal to or coextensive with the complete
data set of
voxels for a 3D volume data set, but the functionality of the present
invention is best
carried out when the probe corresponds to a sub-volume and defines a sub-set
that is less
than the complete data set of voxels for a 3D volume data set. For example, a
3D volume
data set of seismic data can contain from about 500 MB (megabytes) to about 10
GB
(gigabytes) or more of data. A 2,500 square kilometer geographic space of
typical 3D
seismic data contains about 8 GB of data. A probe of the present invention for
a 500 MB
seismic data set would preferably contain about 10-20 MB of data.
By using probes that are a sub-volume of the larger 3D volume, the quantity of

data that must be processed and re-drawn for each frame of an image is
dramatically
reduced, thereby increasing the speed with which the image can be re-drawn.
The
volume of a three-dimensional cube is proportional to the third power or
"cube" of the
dimensions of the three-dimensional cube. Likewise, the quantity of data in a
3D volume
data set is proportional to the third power or "cube of its size. Therefore,
the quantity
of data in a sub-volume of a larger 3D volume will be proportional to the
"cubed root"
(3V) of the quantity of data in the larger 3D volume. As such, the quantity of
data in a
probe of the present invention will be proportional to the "cubed root" (31/)
of the quantity
of data in the 3D volume of which it is a sub-volume. By only having to
process the sub-
set of data that relates to the sub-volume of the probe, the present invention
can re-draw
an image in response to user input at a rate sufficiently fast that the user
perceives an
instantaneous or real-time change in the image, without perceptible delay or
lag.
The probes of the present invention can be interactively changed in shape
and/or
size, and interactively moved within the larger 3D volume. The outside
geometry or
surfaces of a probe can be interactively drawn opaque or texture mapped while
the probe
is being changed in shape and/or size or while the probe is being moved. The
probe can
be drawn or volume rendered with varying degrees of transparency while the
probe is
being changed in shape and/or size or moved, thereby revealing the internal
structures or
=30 features of the probe.
- 16-

CA 02751514 2011-08-30
The 3D sampling probes of the present invention can have any shape, including
rectangular shapes having one or more right angles and non-rectangular shapes
having
no right angles. The 3D sampling probes of the present invention can have
orthogonal or
perpendicular planes as outer surfaces (e.g., squares and rectangles),
parallel planes as
outer surfaces (e.g., parallelograms), or curved outer surfaces (e.g.,
spheres, ovals, or
cylinders). The present invention is not limited to 3D sampling probes of any
particular
shape. The 3D sampling probes of the present invention can have arbitrary
shapes, such
as the shape of a geologic feature identified by a user. For example, as a
user moves the
3D sampling probe through a 3D volume of seismic data, a geologic feature may
be
visualized and identified by the user. The 3D sampling probe can be
interactively re-
shaped by the user to match the shape of the geologic feature, thereby
enabling the user
to better visualize and define the extent of that geologic feature.
A probe can be used to cut into another probe, and the intersection of the two

probes can be imaged. A probe can be used to highlight data in accordance with
a seed
selection algorithm. A probe can also be used to "erase" or delete data in
accordance with
a seed de-selection algorithm. These attributes will be explained in more
detail below.
FIG. 2 shows a block diagram of one embodiment of 3D sampling probe program
110. Program 110 includes a User Interface Module (UIM) 210, a Graphics
Processing
Module (GPM) 220, and a Volume Sampling Module (VSM) 230. A 3D volume data
set is illustrated as data volume 240, also referred to herein as a 3D volume.
UIM 210
and GPM 220 communicate via a bi-directional pathway 212. GPM 220 sends
instructions and requests for data to VSM 230 via pathway 222. UIM 210 sends
instructions and requests to VSM 230 via pathway 214. UIM 210 interacts with
data
volume 240 through pathway 216.
Voxel data from data volume 240 is transferred to VSM 230 via data pathway
234. VSM 230 transfers data to GPM 220 via data pathway 232. Data volume 240
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 240 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 (Iocation)
of the data set, size, dimensions in the x, y, and z directions, annotations
for the x, y, and
- 17 -

CA 02751514 2011-08-30
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 for data volume 240.
User Interface Module 210 handles the user interface to receive commands,
instructions, and input data from the user. UIM 210 interfaces with the user
through a
variety of menus through which the user can select various options and
settings, either
through keyboard selection or through one or more user-manipulated input
devices, such
as a "mouse", or a 3D pointing device. UIM 210 receives user input as the user

manipulates the input device to move, size, shape, etc. a 3D sampling probe.
The primary fiinctions carried out by UIM 210 will now be described. UIM 210
inputs from the user the identification of one or more 3D volume data sets
(represented
by data volume 240) to use for imaging and analysis. When a plurality of data
volumes
are 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, 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 (x0, yo, zo),
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.
UIM 210 inputs from the user information to create one or more 3D sampling
probes. Such information includes size, shape, and initial location of the
probe. Such
information can also include imaging attributes such as color, lighting,
shading, and
transparency (or opacity). By adjusting opacity as a function of datavalue,
certain
- 18 -

CA 02751514 2011-08-30
portions of the data volume are more transparent, thereby allowing a viewer to
see
through surfaces. An exemplary opacity curve 300 is shown in FIG. 3. Opacity
curve
300 illustrates opacity (1-transparency) as a function of datavalue. As would
be readily
apparent to one skilled in the art, datavalues with greater opacity (less
transparency) will
mask the imaging or display of datavalues with lower opacity (more
transparency).
Conversely, datavalues will less opacity and greater transparency will permit
the imaging
or display of datavalues with greater opacity and lower transparency.
UIM 210 receives input from the user for sizing and shaping the 3D sampling
probes. As described in more detail below, in a preferred embodiment of the
present
invention, the user changes the shape and/or size of a probe by clicking onto
"sizing tabs"
on the probe, and making changes in the dimensions of the probe in one or more

directions. UIM 210 receives input from the user to move the position or
location of a
3D sampling probe within the data volume. In a preferred embodiment, a user
manipulates a mouse to "click" onto a surface of the probe to be moved, and
then Moves
the mouse to move the probe throughout the geographic space defined by the
data
volume.
UIM 210 receives input from the user to carry out "auto picking" processes. In

an auto picking process, data points (voxels) are selected based upon a
selection
algorithm. In a preferred embodiment, the selection algorithm is based upon a
seed point
within the 3D data volume. The selection algorithm then selects data points
that: (i)
satisfy the selection criteria or algorithm (e.g., have a datavalue within a
specified filter
range); and (ii) have a connectivity with or are connected to the seed point.
Through
UIM 210, the user is prompted to identify a seed point within the 3D volume,
and to
identify a filter range of datavalues used by the selection algorithm to
"pick" the selected
points. Preferably, the seed point is within one of the 3D sampling probes.
UIM 210 also receives input from the user regarding the content of the
displayed
image. For example, the user can preferably select the content of the
displayed image.
The content of the displayed image could include only the 3D sampling probe,
i.e., its
' intersection with the 3D volume. Additionally, the 3D sampling probe could
be
displayed either with or without a bounding box that defines the outer
geometry of the
probe. Alternatively, the displayed image could include the 3D sampling probe,
as well
-19-

CA 02751514 2011-08-30
as the data that occupies the background xz, yz, and xy planes, andier the
data that
occupies the 3D volume outside of the 3D sampling probe(s) being displayed.
To carry out the foregoing functions, UIM 210 sends a request to Volume
Sampling Module 230 to load or attach those 3D volume data sets identified by
the user.
UIM 210 communicates via pathway 212 with Graphics Processing Module 220 that
carries out the display and imaging.
The primary functions carried out by GPM 220 will now be described. GPM 220
processes data for imaging of 3D sampling probes with the color, lighting,
shading,
transparency, and other attributes selected by the user. To do so, GPM 220
uses the
l 0 functions
available through basic graphics library 106 and visual simulation graphics
library 108 described above. The user can select (through UIM 210) to display
only the
one or more 3D sampling probes that have been created. Alternatively, the user
can
select to display one or more 3D sampling probes, as well as the 3D data
volume outside
of the probes, i.e. voxels within the 3D volume that do not intersect any of
the 3D
sampling probes that are being displayed. 3D sampling probes that are being
displayed
are referred to herein as "active probes''.
GPM 220 processes the re-shaping and move requests that are received by UIM
210 from the user. GPM 220 draws the re-shaped 3D sampling probe in accordance
with
the user-selected attributes (color, lighting, shading, transparency, etc.).
As the user
inputs a change in shape for a 3D sampling probe, the image with selected
attributes is
re-drawn sufficiently fast to be perceived as real-time by the user.
Similarly, GPM 220
draws the 3D sampling probe in the new position or location in accordance with
the user-
selected attributes (color, lighting, shading, transparency, etc.). As the
user moves the
3D sampling probe through the 3D volume, the image of the 3D sampling probe
with
selected attributes is re-drawn sufficiently fast to be perceived as real-time
by the user.
GPM 220 processes "auto picking" requests that are received by UIM 210. GPM
220 will image selected points within the 3D volume in accordance with the
selection
algorithm. Alternatively, GPM 220 will "erase" selected points within the 3D
volume
in accordance with the selection algorithm.
To carry out the foregoing functions, GPM 220 communicates via pathway 212
with UIM 210 so that the information requested by the user is imaged or
displayed with
- 20 -

CA 02751514 2011-08-30
the selected attributes. GPM 220 obtains the needed data from data vol-ume 240
by
sending a data request via pathway 222 to Volume Sampling Module (VSM) 230.
The primary function of VSM 230 is to extract the appropriate data from data
volume 240 at the request of GPM 220. VSM 230 receives requests for data from
GPM
220 via pathway 222. VSM 230 extracts the required data from data volume 240
and
transfers the data to GPM 220 via data pathway 232 for processing and display.
VSM
230 also receives instructions fiom UIM 210 via pathway 214 to load or attach
the 3D
data volumes identified by the user.
Turning now to FIG. 4, a flow diagram 400 illustrating one embodiment for
implementing the present invention is shown. A start up or initialization
process is
shown in a step 402. In step 402, the user specifies the one or more data
volumes (240)
to be used. The specified 3D volume data sets are loaded from disk into main
memory
(a description of hardware suitable for carrying out the present invention
will be
described in more detail below). A default 3D sampling probe is created, and
drawn.
The default 3D sampling probe is a sub-volume of the specified 3D volume(s) of
arbitrary size and shape. The present invention is not limited to any
particular size or
shape for the default 3D sampling probe.
By way of example of the present invention, the default 3D sampling probe can
be a square (having equal dimensions in the x, y, and z directions). To draw
the square
default 3D sampling probe, the bounding geometry is first drawn with one edge
of the
bounding geometry located on the z axis. Data is then extracted from data
volume 240
by VSM 230 to draw the image of the intersection of the square default 3D
sampling
probe with the 3D voltune (data volume 240). Particularly, data is extracted
that
con-esponds to the intersection of the square default 3D sampling probe with
the 31)
volume in the xz., yz, and xy planes. This data is then sent by VSM 230 to GPM
220 so
that it can be texture mapped onto the planes of the bounding box to provide
an image
of the square default 3D sampling probe.
In one embodiment of the present invention, the data that occupies the
backgroun.d xz, yz, and xy planes themselves, as well as the data that
occupies the 3D
volume outside of the default 3D sampling probe, are also imaged or displayed
(in
addition to the default 3D sampling probe) during start up step 402.
Alternatively, start
-21 -

CA 02751514 2011-08-30
up step 402 can be carried out so that the data that occupies the background
xz, yz, and
xy planes, or the data that occupies the 3D volume outside of the default 3D
sampling
probe, is not displayed or imaged. Preferably, the present invention is
carried out so that
the user can selectively display, or not display, the data that occupies the
background xz,
yz, and xy planes, as well as the data that occupies the 3D volume outside of
the active
probes.
In a step 404, UIM 210 is waiting to respond to user input or request. User
input
is received through a user input device suitable for use with a computer,
including but not
limited to, a keyboard, mouse, joystick, trackball, rollerball, roller point,
or other type of
suitable pointing device, etc. Preferably, the user input device comprises a
mouse or
other similar device that enables the user to "click" on a particular
displayed image, and
"drag" that displayed image to another location. Such a user input device
allows a user
to move and re-shape displayed probes. Such a user input device also allows a
user to
activate drop-down menus, and to select the various options for the color,
shading,
lighting, and transparency attributes. A keyboard can also be used for
entering
information relating to the selected attributes.
Reference numeral 406 refers generally to a plurality of functions that can be

carried out by the present invention. These functions can be carried out
individually or
simultaneously, depending upon input from the user. For example, a probe can
be moved
(function 430) and rotated (function 450) simultaneously. While the functions
identified
by reference numeral 406 are being carried out, the image of the 3D sampling
probes is
being re-drawn sufficiently fast to be perceived as real-time by the user.
Each of the
functions identified by reference numeral 406 will now be described.
If a user wants to change the default probe, then function 410 is carried out.
The
steps for carrying out function 410 are shown in FIG. 5 by way of flow diagram
connector 5A. In a step 502, the changes to the default probe are input by UIM
210 from
the user. For example, the changes to the default probe can be to the shape or
size, the
location, or the attributes such as color, shading, lighting, and
transparency.
In a step 504, UIM 210 sends a request to GPM 220 to draw the changed default
probe. In a step 506, GPM 220 requests data for the changed default probe from
VSM
230. In niaking this request, GPM 220 would invoke function 430 if it was
necessary to
- 22 -

CA 02751514 2011-08-30
move the default probe, function 440 to re-shape the default probe, and
functions 450 or
460 to rotate the default probe. The foregoing functions will be described in
more detail
below.
The data that will be extracted from data volume 240 by VSM 230 in response
to the request made by GPM 220 in step 506 will depend upon attributes that
have been
selected by the user. If the opacity settings selected by the user are such
that all
datavalues are opaque, then the data extracted by VSM 230 will be limited to
the surfaces
of the changed default probe. Because of the selected opacity, it will not be
possible for
the user to see inside the changed default probe, so only the data
corresponding to the
surfaces or outside of the changed default probe will be extracted by VSM 230.
In a step
508, GPM 220 processes the data extracted by VSM 230 for the surfaces of the
changed
default probe, and draws the changed default probe by texture mapping onto the
surfaces
in accordance with the attributes selected by the user. By extracting only the
data that
can be seen by the user, the image of the changed default probe can be drawn
more
quickly because less data needs to be processed, i.e., the data corresponding
to the
"inside" of the changed default probe is not processed.
Alternatively, if the opacity settings selected by the user are such that some
of the
datavalues are opaque and some of the datavalues are transparent, then the
data extracted
by VSM 230 will include the data corresponding to the entire volume of the
changed
default probe. Because of the selected opacity and transparency, it will be
possible for the
user to see inside the changed default probe, So data corresponding to the
entire volume
of the changed default probe will be extracted by VSM 230. In such a
situation, GPM
220 processes the data extracted by VSM 230 in step 508, and draws the changed
default
probe by volume rendering in accordance with the attributes selected by the
user.
If a user wants to create additional probes, then function 420 is carried out.
The
present invention is not limited to any particular number of active probes.
The steps for
carrying out function 420 are shown in FIG. 6 by way of flow diagram connector
6A. In
a step 602, the shape, size, location, attributes, etc. for the additional
probes are input by
UIM 210 from the user. In a step 604, UIM 210 sends a request to GPM 220 to
draw the
additional probes.
- 23 -

CA 02751514 2011-08-30
In a step 606, GPM 220 requests data for the additional probes from VSM 230.
In a manner similar to that described above for changing the default probe,
the data that
is extracted from 3D or data volume 240 by VSM 230 will depend upon the
opacity
selected by the user for the additional probes. If the opacity settings
selected by the user
are such that all datavalues for the additional probes are opaque, then the
data extracted
by VSM 230 will be limited to the surfaces of the additional probes.
Alternatively, if the
opacity settings selected by the user for the additional probes are such that
some of the
datavalues are opaque and some of the datavalues are transparent, then the
data extracted
by VSM 230 will include the data corresponding to the entire volumes of the
additional
probes. In this manner, the additional probes can be drawn more quickly by
minimizing
the quantity of data that must be processed.
In a step 608, GPM 220 processes the data extracted by VSM 230 for the
additional probes, and draws the additional probes in accordance with the
attributes
selected by the user, either by texture mapping onto the surfaces of the
additional probes,
or by volume rendering the entire volume of the additional probes.
If a user wants to move a probe, then function 430 is carried out. The steps
for
carrying out function 430 are shown in FIG. 7 by way of flow diagram connector
7A. In
a step 702, the new location for the probe is input by UIM 210 from the user.
In a
preferred embodiment of the present invention, the user inputs the new
location of the
probe by clicking a mouse or other type of suitable user input device to snap
a pointer
onto a surface of the probe to be moved. The user changes the location of the
probe by
moving the mouse or other suitable user input device in any direction, thereby
dragging
the probe along a trajectory.
In a step 704, UIM 210 sends a move request to GPM 220 to draw the probe at
the new location. GPM 220 requests data for the new location of the probe from
VSM
230. In a manner similar to that described above, the data that is extracted
from data
volume 240 by VSM 230 will depend upon the opacity selected by the user fOr
the probe
being moved. If the opacity settings selected by the user are such that all
datavalues for
the probe being moved are opaque, then the data extracted by VSM 230 will be
limited
to the surfaces of the probe being moved. Alternatively, if the opacity
settings selected
by the user for the probe being moved are such that some of the datavalues are
opaque
- 24 -

CA 02751514 2011-08-30
and some of the datavalues are transparent, then the data extracted by VSM 230
will
include the data corresponding to the entire volume of the probe being moved.
In this
manner, the probe can he drawn at its new location more quickly by minimizing
the
quantity of data that must be processed.
In a step 708, GPM 220 processes the data extracted by VSM 230 for the probe
being moved, and draws the probe at its new location in accordance with the
attributes
selected by the user, either by texture mapping onto the surfaces of the probe
being
moved, or by volume rendering the entire volume of the probe being moved.
As the user moves the probe, for each new location of the probe, steps 702
through 708 are repeated at a rate sufficiently fast that the user perceives
the image of the
probe, with texture mapping or volume rendering as appropriate, changing in
"real-time"
with movement of the probe. The image is being re-drawn at a frame rate
sufficiently
fast to be perceived as real-time by the user.
If a user wants to re-shape a probe, then function 440 is carried out. As used
herein, the term "re-shape" refers to any change in dimension of a 3D sampling
probe in
any direction. The shape of a 3D sampling probe can be changed, or re-shaped,
for
example, by changing the size in one or more directions, such as by changing a
square
probe into a rectangular probe by increasing the size of the probe in the x
direction, and
decreasing the size of the probe in the y direction. As another example, the
shape of a
?() 3D
sampling probe can be changed by changing the shape from spherical to
rectangular.
As yet another example, a square 3D sampling probe (equal dimensions in the x,
y, and
z directions) can be re-shaped in accordance with the present invention to be
a larger or
smaller square-shaped probe by changing the size equally in each of the x, y,
and z
directions. The re-shaped probe also has a square shape, but as a larger or
smaller square.
The steps for carrying out function 440 are shown in FIG. 8 by way of flow
diagram connector 8A. In a step 802, the new shape and/or size for the probe
is input by
UIM 210 from the user. In a preferred embodiment of the present invention, the
user
inputs the new shape of a probe by clicking a mouse or other type of suitable
user input
device to snap a pointer onto a "sizing tab" of the probe to be re-shaped. As
used herein,
a "sizing tab" refers to a designated area on a surface of the probe. Such a
designated
area is preferably displayed in a color that is different from the colors
being used to
- 25 -

CA 02751514 2011-08-30
display the features or physical parameters of the 3D volume data set. When
the pointer
is snapped to the sizing tab, manipulation of the mouse or user input device
changes the
dimensions or proportions of the surface on which the sizing tab is located.
When the
desired size or shape is reached, the user again clicks the mouse or user
input device to
release the pointer from the sizing tab. Sizing tabs are illustrated in FIGS.
15 and 16. The
sizing tabs are the small dark squares that appear on the surfaces of the
probes, along the
bounding geometry of the probes. The location of the sizing tabs is not
limited to the
bounding geometry of the probes. The user changes the shape of the probe by
clicking
the mouse or other suitable user input device onto a sizing tab, moving the
mouse until
the surface being changed has the desired shape, and then releasing the mouse
from the
sizing tab. This process can be repeated, if necessary, using other sizing
tabs on the
probe until the probe is re-shaped to the desired shape.
It would be readily apparent to one of skill in the relevant art how to
implement
such a sizing tab for re-shaping the probes of the present invention. It is to
be
understood, however, that the present invention is not limited to the use of
sizing tabs for
re-shaping probes, and other suitable methods can be used. For example, the
user could
select from a number of pre-set shapes (e.g., squares, rectangle, cylinders,
spheres) by
activating a drop-down menu, or by scrolling through the shapes by repeatedly
clicking
a mouse.
In a step 804, UIM 210 sends a re-shape request to GPM 220 to draw the re--
shaped probe. In a step 806, it is determined whether more data is needed to
draw the re-
shaped probe. For example, if the re-shaped probe is of a shape and size that
"fits inside"
the existing probe, then no more data is needed, and processing continues at a
step 810.
Alternatively, if the re-shaped probe is of a shape and size that falls at
least partially
outside of the existing probe, then, in a step 808, GPM 220 requests the data
needed for
the re-shaped probe from VSM 230. In a manner similar to that described above,
the data
that is extracted from 3D or data volume 240 by VSM 230 will depend upon the
opacity
selected by the user for the probe being re-shaped. If the opacity settings
selected by the
user are such that all datavalues for the probe being re-shaped are opaque,
then the data
extracted by VSM 230 will be limited to the surfaces of the probe being re-
shaped.
Alternatively, if the opacity settings selected by the user for the probe
being re-shaped
- 26 -

CA 02751514 2011-08-30
are such that some of the datavalues are opaque and some of the datavalues are

transparent, then the data extracted by VSM 230 will include the data
corresponding to
the entire volume of the probe being re-shaped. In this manner, the probe can
be drawn
with its new shape more quickly by minimizing the quantity of data that must
be
processed.
In step 810, GPM 220 processes the data extracted by VSM 230 for the probe
being re-shaped, and draws the probe with its new shape in accordance with the
attributes
selected by the user, either by texture mapping onto the surfaces of the probe
being re-
shaped, or by volume rendering the entire volume of the probe being re-shaped.
As the user changes the shape of the probe, steps 802 through 810 are repeated
at a rate sufficiently fast that the user perceives the image of the probe,
with texture
mapping or volume rendering as appropriate, changing in "real-time" with the
changing
shape of the probe. The image is being re-drawn at a frame rate sufficiently
fast to be
perceived as real-time by the user.
If a user wants to rotate a probe in 3D space, then function 450 is carried
out. In
function 450, the 3D orientation, which is the same for both the 3D volume and
the
probe, is changed, thereby rotating the 3D volume and the probe in space. The
steps for
carrying out function 450 are shown in FIG. 9 by way of flow diagram connector
9A. In
a step 902, the new 3D orientation for the 3D volume and the probe is input by
UIM 210
from the user. In a preferred embodiment of the present invention, the user
inputs the
new orientation by clicking a mouse or other type of suitable user input
device to snap
a pointer onto an axis of the probe to be rotated. Manipulation of the mouse
or user input
device changes the orientation of that axis. When the desired orientation is
reached, the
user again clicks the mouse or user input device to release the pointer from
the axis. It
would be readily apparent to one of skill in the relevant art how to implement
such a
change in orientation. It is to be understood, however, that the present
invention is not
limited to changing the orientation in this manner. For example, the user
could select
from a n-umber of pre-set rotations (e.g., rotate 90 to the left or right;
rotate 45 to the left
or right, etc.) by activating a drop-down menu, or by scrolling through the
rotations by
repeatedly clicking a mouse.
- 27 -

CA 02751514 2011-08-30
In a step 904, UIM 210 sends a request to rotate in 3D space to GPM 220 to
draw
the rotated probe. In a step 906, GPM 220 requests data for the rotated probe
from VSM
230. In a manner similar to that described above, the data that is extracted
from 3D or
data volume 240 by VSM 230 will depend upon the opacity selected by the user
for the
probe being rotated. If the opacity settings selected by the user are such
that all
datavalues for the probe being rotated are opaque, then the data extracted by
VSM 230
will be limited to the surfaces of the probe being rotated. Alternatively, if
the opacity
settings selected by the user for the probe being rotated are such that some
of the
datavalues are opaque and some of-the datavalues are transparent, then the
data extracted
by VSM 230 will include the data corresponding to the entire volume of the
probe being
rotated. In this manner, the probe can be drawn with its new orientation more
quickly by
minimizing the quantity of data that must be processed.
In step 908, GPM 220 processes the data extracted by VSM 230 for the probe
being rotated, and draws the probe with its new orientation in accordance with
the
attributes selected by the user, either by texture mapping onto the surfaces
of the probe
being rotated, or by volume rendering the entire volume of the probe being
rotated.
As the user rotates the probe in 3D space, steps 902 through 908 are repeated
at
a rate sufficiently fast that the user perceives the image of the probe, with
texture
mapping or volume rendering as appropriate, changing in "real-time" with the
changing
orientation of the probe. The image is being re-drawn at a frame rate
sufficiently fast to
be perceived as real-time by the user.
If a user wants to rotate a probe while it is fixed in 3D space, then function
460
is carried out. In function 460, the 3D orientation of the probe is rotated
independently
of the 3D orientation of the 3D volume, thereby rotating the probe while it is
fixed in the
3D space defined by the orientation of the 3D volume. In this manner, the
background
planes for an active probe can be displayed in a fixed orientation, and the
active probe
can be rotated within the background planes.
The steps for carrying out function 460 are shown in FIG. 10 by way of flow
diagram connector 10A. In a step 1002, the new 3D orientation for the probe is
input by
UIM 210 from the user. In a preferred embodiment of the present invention, the
user
selects the option to rotate while fixed in space, for example, from a "drop-
down" menu.
-28 -

CA 02751514 2011-08-30
The user then inputs the new orientation for the probe by clicking a mouse or
other type
of suitable user input device to snap a pointer onto an axis of the probe to
be rotated.
Manipulation of the mouse or user input device changes the orientation of that
axis.
When the desired orientation is reached, the user again clicks the mouse or
user input
device to release the pointer from the axis. It would be readily apparent to
one of skill
in the relevant art how to implement such a change in orientation. It is to be
understood,
however, that the present invention is not limited to changing the orientation
in this
manner. For example, the user could select from a number of pre-set rotations
(e.g.,
rotate 90 to the left or right; rotate 45 to the left or right, etc.) by
activating a drop-down
menu, or by scrolling through the rotations by repeatedly clicking a mouse.
In a step 1004, UIM 210 sends a request to rotate while fixed in space to GPM
220 to draw the rotated probe. In a step 1006, GPM 220 requests data for the
rotated
probe from VSM 230. In a manner similar to that described above, the data that
is
extracted from 3D or data volume 240 by VSM 230 will depend upon the opacity
selected by the user for the probe being rotated. If the opacity settings
selected by the
user are such that all datavalues for the probe being rotated are opaque, then
the data
extracted by VSM 230 will be limited to the surfaces of the probe being
rotated.
Alternatively, if the opacity settings selected by the user for the probe
being rotated are
such that some of the datavalues are opaque and some of the datavalues are
transparent,
then the data extracted by VSM 230 will include the data corresponding to the
entire
volume of the probe being rotated. In this marnier, the probe can be drawn
with its new
orientation more quickly by minimizing the quantity of data that must be
processed.
In step 1008, GPM 220 processes the data extracted by VSM 230 for the probe
being rotated, and draws the probe with its new orientation in accordance with
the
attributes selected by the user, either by texture mapping onto the surfaces
of the probe
being rotated, or by volume rendering the entire volume of the probe being
rotated.
As the user rotates the probe while it is fixed in space, steps 1002 through
1008
are repeated at a rate sufficiently fast that the user perceives the image of
the probe, with
texture mapping or volume rendering as appropriate, changing in "real-time"
with the
changing orientation of the probe. The image is being re-drawn at a frame rate
sufficiently fast to be perceived as real-time by the user.
- 29 -

CA 02751514 2011-08-30
If a user wants to carry out an "auto picking" process, then function 470 is
carried
out. The steps for carrying out function 470 are shown in FIG. 11 by way of
flow diagram
connector 11A. In a step 1102, a seed point within the data set of the 3D
volume, and a
selection criteria based on datavalues, are input by UIM 210 from the user.
Preferably
the seed point is within the data set of voxels that defines a probe. As
described below,
such a probe is referred to herein as a seed 3D sampling probe or an eraser 3D
sampling
probe. However, the seed point can be within the data set of voxels that
defines the 3D
volume, outside of an active probe. In a preferred embodiment of the present
invention,
the user selects the option to execute an auto picking process, for example,
from a " drop-
down" menu. The user then selects the seed point by clicking a mouse or other
type of
suitable user input device to snap a pointer onto the desired seed point. The
selection
criteria can be input, for exarnple, by graphically selecting a range, or by
keying in
specific numerical values. It would be readily apparent to one of skill in the
relevant art
how to input from the user a seed point and filter range of datavalues.
In a step 1104, UIM 210 sends an auto picking request to GPM 220 to draw the
rotated probe. In a step 1106, GPM 220 requests selected points to image from
VSM 230.
The selected points are those that are connected to the seed point, and that
have a
datavalue within the selection criteria.
In step 1108, GPM 220 processes the data extracted by VSM 230 to draw the
selected points. The selected points are preferably highlighted by being drawn
in a color
different from those used to depict the features or physical parameters of the
3D volume
data set. Alternatively, step 1108 can be carried out to "erase" or delete
from the image
the selected points.
In a similar manner, auto picking function 470 can be used to "erase" or de-
select
points. For example, an eraser 3D sampling probe is defined, such as by
invoking
function 420 to create an additional probe. A "de-selection" criteria based on
datavalues
is deftned. Points previously selected by an auto picking operation that
satisfy the de-
selection criteria are identified as candidates for de-selection. As the
eraser 3D sampling
probe moves through the 3D volume, the de-selected points are deleted from the
image,
and the image is re-drawn sufficiently fast to be perceived as real-time by
the user.
- 30 -

CA 02751514 2011-08-30
Once auto picking function 470 is initiated by the user, it can be carried out

simultaneously with, for example, move function 430. In this manner, as the
user moves
the probe, steps 1102 through 1108 (and steps 702 through 708) are repeated at
a rate
sufficiently fast that the user perceives the image of the probe, with the
selected points,
changing in "real-time" with the changing location of the probe. As the probe
is moved,
the selected points can be highlighted by being drawn in a suitable color,
thereby having
the auto-picking 3D sampling probe function as a "highlighter" as it moves
through the
3D volume. Alternatively, as the probe is moved, points previously selected by
an auto
picking operation can be "erased" or deleted from the image, thereby having
the probe
function as an "eraser" or eraser 3D sampling probe as it moves through the 3D
volume.
In either embodiment, the image is being re-drawn at a frame rate sufficiently
fast to be
perceived as real-time by the user.
If a user wants to create a "ribbon section," then function 480 is performed.
The
steps necessary for performing function 480 are described further below in
reference to
FIG. 17 and by way of block diagram connector 18A in FIG. 18.
If a user wants to create a "3D surface' representative of a physical
phenomena
found within a 3D volume data set, then function 490 is performed. The steps
necessary
for performing function 490 are described further below in reference to FIG.
19 and by
way of block diagram connector 20A in FIG. 20.
In any event where a user desires to carry out one or more of the functions
described above such as more probe (430), re-shape probe (440), create a
ribbon section
(480) and create a 3D surface (490), each function can be performed
independent of, or
in connection with, one or more of the other functions.
With reference now to FIG. 12, one embodiment of a computer system suitable
for use with the present invention is shown. A graphics supercomputer 1210
contains one
or more central processing units (CPU) or processors 1212. Supercomputer 1210
contains a random access memory (RAM) 1214 that can be accessed by processors
1212.
' Supercomputer 1210 also contains one or more graphics modules 1216 that also
access
RAM 1214. Graphics modules 1216 execute the functions carried out by Graphics
Processing Module 220, using hardware (such as specialized graphics
processors) Or a
-31 -

CA 02751514 2011-08-30
combination of hardware and software. A user input device 1218 allows a user
to control
and input information to graphics supercomputer 1210.
A particularly preferred graphics supercomputer is an Onyx2 Infinite Reality*
system, available from Silicon Graphics, Inc., Mountain View, CA, configured
with eight
processors, three graphics pipelines, 16 GB of main memory, and 250 GB of disk
memory. Such a graphics supercomputer has a scalable, high-bandwidth, low-
latency
-architecture to provide high speed rendering on multiple graphics pipelines.
Graphics
supercomputers from other vendors, such as Hewlett-Packard Company of Palo
Alto, CA
or Sun Microsystems of Mountain View, CA could also be used.
The graphics data forming the image to be displayed is sent from graphics
supercomputer 1210 to a multiple-screen display system 1220 for projection
onto a
screen 1230. In the embodiment shown in FIG. 12, three projectors are used.
From the
perspective of a user viewing the image on screen 1230, the three projectors
include a left
projector 1240, a center projector 1250, and a right projector 1260. Although
three
projectors are shown, the present invention is not limited to the use of any
particular
number of projectors.
Projector 1240 has a projection field on screen 1230, shown generally at 1242,

between a point 1241 and a point 1243. Projector 1250 has a projection field
on screen
1230, shown generally at 1252, between a point 1251 and a point 1253.
Projector 1260
has a projection field on screen 1230, shown generally at 1262, between a
point 1261 and
a point 1263. Projection fields 1242 and 1252 have an overlap region 1244,
between
points 1251 and 1243. Similarly, projection fields 1262 and 1252 have an
overlap region
1264, between points 1261 and 1253. The image to be displayed is divided into
three
(left, center, and right) over-lapping sub-images. By simultaneously
projecting the three
over-lapping sub-images, the field-of-view to the user is increased over that
available, for
example, on a monitor or through the use ofjust one projector. As an example,
use of the
three over-lapping sub-images shown in FIG. 12 increases the field-of-view to
approximately 160'. Overlap regions 1244 and 1264 are each approximately 5.3 .

Multiple-screen display system 1220 accounts for overlap regions 1244 and 1264
in a
well-known manner to edge-blend the images of the three projectors to form one
*Trademark
- 32 -

CA 02751514 2011-08-30
seamless image on screen 1230. Suitable display and projector systems are
available
from SEOS, London, England, such as the Barco projector units.
FIG. 13 shows an alternate embodiment of a computer system suitable for use
with the present invention. In the embodianent shown in FIG. 13, graphics
supercomputer 1210 is configured with multiple processors 1212, RAM 1214, and
two
graphics modules 1.216. Graphics workstations suitable for use in the
embodiment shown
in FIG. 13 are available from Silicon Graphics, Inc. or Sun Microsystems. Each
graphics
module 1216 is connected to a monitor 1320 for display. Monitor 1320 should
preferably
be a color graphics monitor suitable for display of graphics such as that
shown in FIGS.
15 and 1 6. Preferably, one of monitors 1320 displays the image of the 3D
sampling
probes, and the other of monitors 1320 displays the various menus used to
operate 3D
sampling probe program 110. FIG. 13 also shows a keyboard 1330 and a mouse
1332
that function as user input devices.
A computer system capable of carrying out the functionality described herein
is
shown in more detail in FIG. 14. Computer system 1402 includes one or more
processors, such as processor 1404. Processor 1404 is connected to a
communication bus
1406. Various software embodiments are described in terms of this exemplary
computer
system. After reading this desciiption, it will become apparent to a person
skilled in the
relevant art how to implement the invention using other computer systems
and/or
computer architectures.
Computer system 1402 also includes a main memory 1408, preferably random
access
memory (RAM), and can also include a secondary memory 1410. Secondary memory
1410 can include, for example, a hard disk drive 1412 and/or a removable
storage drive
1414, representing a floppy disk drive, a magnetic tape drive, an optical disk
drive, etc.
Removable storage drive 1414 reads from and/or writes to a removable storage
unit 1418
in a well known manner. Removable storage unit 1418, represents a floppy disk,

magnetic tape, optical disk, etc. which is read by and written to by removable
storage
drive 1414. As will be appreciated, removable storage unit 1418 includes a
computer
usable storage medium having stored therein computer software and/or data.
In alternative enabodiments, secondary memory 1410 may include other similar
means for allowing computer programs or other instructions to be loaded into
computer
-33 -

CA 02751514 2011-08-30
system 1402. Such means can include, for example, a removable storage unit
1422 and
an interface 1420. Examples of such can include a program cartridge and
cartridge
interface (such as that found in video game devices), a removable memory chip
(such as
an EPROM, or PROM) and associated socket, and other removable storage units
1422
and interfaces 1420 which allow software and data to be transferred from
removable
storage unit 1422 to computer system 1402.
Computer system 1402 can also include a communications interface 1424.
Communications interface 1424 allows software and data to be transferred
between
computer system 1402 and external devices. Examples of communications
interface
1424 can include a modem, a network interface (such as an Ethernet card), a
communications port, a PCMCIA slot and card, etc. Software and data
transferred via
communications interface 1424 are in the form of signals 1426 that can be
electronic,
electromagnetic, optical or other signals capable of being received by
conummications
interface 1424. Signals 1426 are provided to communications interface via a
channel
1428. Channel 1428 carries signals 1426 and can be implemented using wire or
cable,
fiber optics, a phone line, a cellular phone link, an RF link and other
communications
channels.
In this document, the terms "computer program medium" and "comPuter usable
medium" are used to generally refer to media such as removable storage device
1418, a
hard disk installed in hard disk drive 1412, and signals 1426. These computer
program
products are means for providing software to computer system 1402.
Computer programs (also called computer control logic) are stored in main
memory 1408 and/or secondary memory 1410. Computer programs can also be
received
via communications interface 1424. Such computer programs, when executed,
enable
computer system 1402 to perform the features of the present invention as
discussed
herein. In particular, the computer programs, when executed, enable processor
1404 to
perform the features of the present invention. Accordingly, such computer
programs
represent controllers of computer system 1402.
In an embodiment where the invention is implemented using software, the
software may be stored in a computer program product and loaded into computer
system
1402 using removable storage drive 1414, hard drive 1412 or communications
interface
- 34 -

CA 02751514 2011-08-30
1424. The control logic (software), when executed by processor 1404, causes
processor
1404 to perform the functions of the invention as described herein.
In another embodiment, the invention is implemented primarily in hardware
using, for example, hardware components such as application specific
integrated circuits
(ASICs). Implementation of such a hardware state machine so as to perform the
functions described herein will be apparent to persons skilled in the relevant
art(s).
In yet another embodiment, the invention is implemented using a combination of

both hardware and software.
1 0 SYSTEM OPERATION AND RESULTS
The operation and results of the present invention will now be described,
using
a data volume 240 that contains seismic data (datavalues representing seismic
amplitudes). The user specifies the particular seismic data volume to be used,
which is
loaded from disk into main memory. A default 3D sampling probe is drawn. The
user
specifies the colors to be used for the seismic amplitudes. The degree of
transparency can
also be selected. The three probes shown in FIG. 15 are all opaque, with the
intersection
of the probes and the seismic data volume texture mapped onto the surfaces of
the probes.
One of the probes is displayed with the bounding geometry shown; the other two
probes
are displayed without the bounding geometry.
FIG. 15 shows three active probes. The user has selected not to display the
data
contained in the background planes and in the remainder of the seismic data
volume
outside of the active probes. Two of the probes shown in MG. 15 intersect each
other,
and the intersection of the two probes is displayed. In this manner, the user
can more
readily visualize and interpret geologic features inherent in the seismic data
volume. For
example, a geologic feature, represented by a dark band between twio light
bands, extends
across the face of the larger intersecting probe and "tunas the comer" to
extend onto the
face of the smaller intersecting probe perpendicular to it. The ability to
move and -
intersect the probes with each other, and throughout the seismic data volume,
enables a
user to better interpret and track the extent of such a geologic feature.
FIG. 16 illustrates how one probe can be used to "cut" another probe to create
a
"hole" in a probe. As with FIG. 15, the user has selected not to display the
data contained
- 35..
=

CA 02751514 2011-08-30
in the background planes and in the remainder of the seismic data volume
outside of the
active probes. FIG. 16 illustrates that the opacity settings can be
individually selected by
the user for each active probe. One of the probes shown in FIG. 16 is opaque,
so that it
is not possible to see through the surfaces of this probe. In order to see
internal to this
outer probe, it must be cut away by another probe. The outer opaque probe is
referred
to as a "data probe". A second completely transparent "cut probe" has been
used to cut
out a 3D sub-section of the data probe. Because the cut probe is completely
transparent,
it is not visible in FIG. 16. However, the fact that the completely
transparent cut probe
is present is evidenced by the fact that the opaque internal surfaces of the
data probe are
visible. The image of the intersection of the data probe and the cut probe is
the
intersecting surface internal to the data probe.
A third active probe is shown in FIG. 16. The third probe is displayed with
the
bounding geometry shown. The third probe is volume rendered with varying
degrees of
transparency so that the user can see through the outer surfaces of the probe
and view
geologic features within the third probe. As shown in FIG. 16, the third probe
is volume
rendered partially within the 3D sub-section of the data probe that has been
cut away by
the cut probe.
The third volume-rendered probe shown in FIG. 16 also contains selected points

that have been selected through a seed picking process (function 470). The
selected
points have been imaged in a manner to highlight them for the user. The
selected points
are shown in FIG. 16 as connecting pointS. The seed point is illustrated in
FIG. 16 by the
darker sphere.
FIG. 17 illustrates one embodiment of a ribbon section 1710 in accord with the

present invention. Like the probe, ribbon sections are a 3-D volume
visualization method
for displaying data along user-defined traverses through a 3-D volume data set
within a
probe. The traverses cut through the 3-D volume data set somewhat like a
cookie cutter
through dough and therefore are referred to herein as cookie planes such as
cookie planes
1712 and 1714. Ribbon sections may display the 3-D data in orientations that
do not
necessarily conform to the orientation of the ordinate axis of the 3-D volume
data set
and/or probe. Ribbon section 1710 is produced by the user in accord with the
process
described herein below. The traverses or cookie planes are defined by
digitizing control
-36-

CA 02751514 2011-08-30
points such as control points 1716, 1718, and 1720, which may be selected from
a face
of the probe referred to as the "probe face plane." The user may create a
transparent cut
probe as described above to interface with an opaque ribbon section.
Alternatively, the
probe can be made opaque and the ribbon section can be made transparent if
desired.
The control points may be used to produce a plurality of line segments such as
line segments 1722, 1724, and 1726, which collectively are referred to as
polyline 1728
which is like a polygon but may or may not be closed. Therefore, the line
segments may
form an open or closed line so that a single or multiple cookie planes may be
produced.
In a preferred embodiment, the area of data display, i.e. the cookie planes,
is projected
along a direction perpendicular to the probe face plane and the data displayed
may extend
to an opposing face of the probe referred to as the "opposing probe face
plane." After
creating a ribbon section, the user may use the mouse controls or keyboard to
select,
move, drag, or grab the control points to edit the ribbon section 1710 in real
time and
display different data from the 3D volume data set along the cookie planes
1712 and
1714. In addition to editing the ribbon section 1710 to view different data
from the 3D
volume data set within the probe, the entire ribbon section 1710 and probe may
be
simultaneously moved to a different position in order to view different data
from the 3D
volume data set outside the boundaries of the probe at its prior position.
Active control
point 1720 is preferably high-lighted or colored differently as compared to
the other
control points to indicate control point 1720 is in an active state for
operations such as
moving, deleting, or otherwise editing as discussed further below. Control
points may
be inserted or deleted after the initial ribbon section construction. The
ribbon section
geometry and orientation may also be saved for future work sessions.
FIG. 18 depicts a block diagram of system 1810 for program modules in a
presently preferred embodiment of the invention for producing ribbon sections
at real
time frame rates as discussed herein above. Probe module 1822 provides initial
context
for sketching polyline 1728. Probe module 1822 supplies user activity data
such as
mouse clicks or keystrokes to cookie manager 1824. Thus, user activity data
such as
creation of control points, deletion of control poin.ts, moving of control
points, moving
of the entire probe, and the like are inserted into system 1810.
- 37 -

CA 02751514 2011-08-30
Cookie manager 1824 manages the user input data supplied by probe 1822.
Cookie manager 1824 distributes the data, e.g. control points add, move, and
delete as
appropriate to both polyline module 1826 and cookie plane module 1828. For
some
types of data, such as inserting a control point, cookie manager 1824 receives
data from
polyline module 1826 and passes the data to cookie plane module 1828.
Polyline module 1826 manages data related to polyline 1728 and the associated
control points in conjunction with polymarker module 1832 and polystate module
1830.
Polyline 1728 is mainly provided for visual reference. Polyline module 1826 in

conjunction with polystate module 1830 manages the state of the control
points. For
instance, in the active state, a control point can be moved or deleted. The
active control
point, such as active control point 1720 is preferably highlighted. The
control points may
be enlarged or decreased in size for easier viewing. Polymarker module 1832
provides
visual context such as highlighting or varied colors, for the control points
so that an
operator knows which point is in the active state for moving, deleting, and
otherwise
editing. Polymarker module 1832 also may provide text such as the location
indication
adjacent active control point 1720.
Cookie plane module 1828 provides textured geometry, which may for instance be

lithography-related for geological data, to the surface of the cookie planes
such as cookie
planes 1712 and 1714. Cookie state module 1834 monitors the state of the
cookie planes
so that in the active state one or more cookie planes can be moved or
otherwise edited
whereas in the inactive state no changes are made.
During operation of system 1810, probe module 1822 may notify cookie manager
1824 that an event has taken place, e.g., a marker deletion, i.e., a control
point deletion.
Cookie manager 1824 then notifies polyline module 1826 which deletes the
marker or
control point and joins up the two surrounding lines into one line and
notifies the
polymarker module to remove the deleted marker from the list ofpolymarkers
maintained
by polymarker module 1832. Cookie manager 1824 and cookie plane module then
convert the two planes into one.
FIG. 19 illustrates one embodiment of the invention for creating a three
dimensional surface representative of a physical phenomena described by a 3D
volume
data set such as, for example, a geological fault surface. In fact, this
method has been
-38-

CA 02751514 2011-08-30
found to easily and quickly provide 3D volume visualization for rapid
identification and
intexpretation of geological fault surfaces. However, other types of surfaces
for other
types of data could also be quickly described from use of the method of the
present
invention. Although the method is described in more detail below, in general
the method
is used to digitize control points, such as control points 1902, 1904, 1906,
and 1908 along
a probe face 1910. Visual examination ofthe textured surface ofprobe face 1910
permits
an operator to visually locate control points on a structure of interest such
as a suspected
fault line. Probe face 1910 is then moved, and a new set of control points are
digitized.
Surface 1912 is then interpolated between the initial points and the new
control points.
The control points may be easily edited or moved to more accurately define the
surface
may be 1912 at a real time frame rate as discussed above. This process can be
repeated
until the surface interpretation is complete, at which time the surface 1912
can be saved.
Thus, one embodiment of the invention disclosed by FIG. 19 provides a method
of rapidly constructing a three-dimensional surface or fault found within a 3-
D volume
data set. In a preferred embodiment, 3-D probes, as discussed above, are used.
The
method involves constructing a plurality of spline curves, such as spline
curve 1914 on
the probe face 1910 which may be interactively constructed when visualizing
the data
displayed on probe face 1910. Spline curve 1914 is interpolated using an
algorithm
created in the same way as spline curves 1916, 1918, and 1920 are
interpolated. Spline
curves and v-curves 1922, 1924, and 1926, are produced to form a grid. The
grid outlines
the three dimensional surface 1912.
For construction ofthe initial spline curve, such as for instance spline curve
1914,
the user digitizes control points, such as control points 1902, 1904, 1906 and
1908 on the
probe face 1910. Markers are produced at these control points and spline curve
1914 is
interpolated between the control points 1902, 1904, 1906 and 1908. Control
points 1902,
1904, 1906 and 1908 may be moved within probe face 1910, thereby interpolating
anew
spline curve 1914. Once the probe face 1910 is selected, the other probe
surfaces are
made transparent for ease of operation. Additionally, the selected probe face
1910 may
be made opaque in order to view surface 1912 through the probe face 1910.
The user then moves the probe face to 1910 to another position and selects new
control points. The user may easily move back and forth between previously
created
-39-

CA 02751514 2011-08-30
spline curves by selecting grid intersections such as intersection 1928 or
1930. As
additional spline curves are created, the v-curves may also be smoothly and
quickly
interpolated using another algorithm. The user preferably creates a plurality
of spline
curves in the same manner, and interpolation of surface 1912 is immediately
displayed
at real time frame rates as 'discussed here above.
The user may stop the probe and move one or more control points, such as
control
points 1902, 1904, 1906 and 1908 to adjust the position of the respective
spline curve
such as spline curve 1914. All other spline curve, such as spline curves 1916,
1918, and
1920 remain the same while surface 1912 is smoothly interpolated between the
current
spline curve 1914 on the probe face 1910 and the prior spline curve 1920. The
remainder
of the surface 1912 remains the same unless the user moves the prove face 1910
to
another spline curve such as 1920 and proceeds to edit the same thereby
reshaping the
surface 1912 between the current spline curve 1920 on the probe face place
1910 and the
prior spline curve 1918.
Additional spline curves may be added between existing spline curves if
desired.
By selecting grid intersections such as grid intersections 1928 or 1930, or by
selecting
control points on the probe face, such as control points 1902, 1904, 1096 and
1908, the
user may quickly move the probe face 1910 back and forth as desired. Once a
grid
intersection is selected, the user may move the respective control points
within the probe
face 1910 that will be displayed as indicated in FIG. 19, and surface 1.912
with its spline
curves and v-curves will follow interactively. The spline curves and the v-
curves may
or may not be displayed depending Oil preference of the user. Preferably, only
one probe
face 1910 is displayed at a time for clarity.
FIG. 20 discloses modular system 2000 which describes the software for
performing the functions as described in connection with FIG. 19. In one
embodiment,
modular system 2000 incorporates many of the same modules as used in modular
system
1810 for producing a ribbon section. Thus, the design may permit a more
general control
that may effectively perform both ribbon section functions as well as surface
mapping
functions. For instance, cookie module 2018, polymarker module 2012, and
polyline
module 2014 may be used in the manner discussed above relating to producing
ribbon
sections. Likewise, probe module 2010 therefore again performs the functions
as
- 40 -

CA 02751514 2013-02-01
previously noted such as providing initial sketching splines such as spline
1914, which
will also be observed to be similar to the polylines discussed hereinbefore.
Probe module
2010 supplies user activity data such as mouse clicks and keystrokes to the
various other
modules. Cubic spline module 2016 relates to controlling functions for the
editable
surface or mapping feature such as surface 1912 shown in FIG. 19. Cubic spline
module
2016, spline manager module 2020, spline curve module 2022, and spline surface
module
2024 are functions that are different from those used only in creating ribbon
sections.
Spline manager 2020 performs a number of different functions such as creating
or
deleting surfaces, changing mode functions from creating a surface to editing
a surface,
as well as read and write functions. For instance, spline manager 2020 may
read and
write to a surface attribute file regarding attributes such as colors, showing
the grid,
marker colors, and the like. Spline curve module 2022 keeps track of the
spline curves,
keeps track of which spline curve may be in the editing or creating state and
keeps track
. of changes made to the spline curves. Spline surface module 2024 acts on the
changes
made for interpolating the resulting surface changes.
By using the system and method of the present invention, geologists and
geophysicists can more quickly and accurately visualize and interpret 3D
seismic data.
This sharply reduces 3D seismic project cycle time, boosts production from
existing
fields, and finds more reserves.
CONCLUSION
While various embodiments of the present invention have been described above,
it should be understood that they have been presented by way of example only.
-41 -

Representative Drawing
A single figure which represents the drawing illustrating the invention.
Administrative Status

For a clearer understanding of the status of the application/patent presented on this page, the site Disclaimer , as well as the definitions for Patent , Administrative Status , Maintenance Fee  and Payment History  should be consulted.

Administrative Status

Title Date
Forecasted Issue Date 2013-12-03
(22) Filed 2000-10-30
(41) Open to Public Inspection 2002-05-10
Examination Requested 2011-08-30
(45) Issued 2013-12-03
Expired 2020-10-30

Abandonment History

Abandonment Date Reason Reinstatement Date
2012-10-30 FAILURE TO PAY APPLICATION MAINTENANCE FEE 2012-11-13

Payment History

Fee Type Anniversary Year Due Date Amount Paid Paid Date
Request for Examination $800.00 2011-08-30
Registration of a document - section 124 $100.00 2011-08-30
Registration of a document - section 124 $100.00 2011-08-30
Application Fee $400.00 2011-08-30
Maintenance Fee - Application - New Act 2 2002-10-30 $100.00 2011-08-30
Maintenance Fee - Application - New Act 3 2003-10-30 $100.00 2011-08-30
Maintenance Fee - Application - New Act 4 2004-11-01 $100.00 2011-08-30
Maintenance Fee - Application - New Act 5 2005-10-31 $200.00 2011-08-30
Maintenance Fee - Application - New Act 6 2006-10-30 $200.00 2011-08-30
Maintenance Fee - Application - New Act 7 2007-10-30 $200.00 2011-08-30
Maintenance Fee - Application - New Act 8 2008-10-30 $200.00 2011-08-30
Maintenance Fee - Application - New Act 9 2009-10-30 $200.00 2011-08-30
Maintenance Fee - Application - New Act 10 2010-11-01 $250.00 2011-08-30
Maintenance Fee - Application - New Act 11 2011-10-31 $250.00 2011-08-30
Reinstatement: Failure to Pay Application Maintenance Fees $200.00 2012-11-13
Maintenance Fee - Application - New Act 12 2012-10-30 $250.00 2012-11-13
Final Fee $300.00 2013-09-19
Maintenance Fee - Application - New Act 13 2013-10-30 $250.00 2013-09-23
Maintenance Fee - Patent - New Act 14 2014-10-30 $250.00 2014-09-18
Maintenance Fee - Patent - New Act 15 2015-10-30 $450.00 2015-09-18
Maintenance Fee - Patent - New Act 16 2016-10-31 $450.00 2016-07-11
Maintenance Fee - Patent - New Act 17 2017-10-30 $450.00 2017-09-07
Maintenance Fee - Patent - New Act 18 2018-10-30 $450.00 2018-08-23
Maintenance Fee - Patent - New Act 19 2019-10-30 $450.00 2019-09-09
Owners on Record

Note: Records showing the ownership history in alphabetical order.

Current Owners on Record
LANDMARK GRAPHICS CORPORATION
Past Owners on Record
None
Past Owners that do not appear in the "Owners on Record" listing will appear in other documentation within the application.
Documents

To view selected files, please enter reCAPTCHA code :



To view images, click a link in the Document Description column. To download the documents, select one or more checkboxes in the first column and then click the "Download Selected in PDF format (Zip Archive)" or the "Download Selected as Single PDF" button.

List of published and non-published patent-specific documents on the CPD .

If you have any difficulty accessing content, you can call the Client Service Centre at 1-866-997-1936 or send them an e-mail at CIPO Client Service Centre.


Document
Description 
Date
(yyyy-mm-dd) 
Number of pages   Size of Image (KB) 
Abstract 2011-08-30 1 20
Description 2011-08-30 42 2,479
Claims 2011-08-30 4 111
Drawings 2011-08-30 17 569
Cover Page 2011-10-26 1 35
Representative Drawing 2012-12-18 1 15
Description 2013-02-01 42 2,471
Claims 2013-02-01 4 111
Cover Page 2013-11-06 2 54
Assignment 2011-08-30 9 318
Assignment 2011-09-19 1 39
Correspondence 2011-10-04 3 80
Prosecution-Amendment 2012-12-27 2 63
Fees 2012-11-13 1 163
Prosecution-Amendment 2013-02-01 7 215
Correspondence 2013-09-19 1 39
Correspondence 2014-12-05 3 96
Correspondence 2015-01-05 1 20
Correspondence 2015-01-05 1 23