Canvas control for 3D data volume processing

A method is provided for displaying selected portions of a three-dimensional (3D) volumetric data set representing a subsurface formation. At least one two-dimensional (2D) canvas is generated. The 2D canvas corresponds to a plane in the 3D data set. The 2D canvas is shown in a first display window. One or more primitives are created on the 2D canvas. A volumetric region of the 3D volumetric data set corresponding to the one or more primitives is identified. The volumetric region is displayed in a 3D scene. The 3D scene is shown in a second display window.

FIELD

The present techniques relate to providing three-dimensional (3D) data and/or visualizations of data corresponding to physical objects and analysis thereof. In particular, an exemplary embodiment of the present techniques relates to providing visualizations, interrogation, analysis and processing of user-selected portions of a 3D data volume.

BACKGROUND

This section is intended to introduce various aspects of the art, which may be associated with embodiments of the disclosed techniques. This discussion is believed to assist in providing a framework to facilitate a better understanding of particular aspects of the disclosed techniques. Accordingly, it should be understood that this section is to be read in this light, and not necessarily as admissions of prior art.

Volumetric (3D) model construction and visualization have been widely accepted by numerous disciplines as a mechanism for analyzing, communicating, and comprehending complex 3D datasets. Examples of structures that can be subjected to volumetric analysis include the earth's subsurface, facility designs and the human body. The ability to easily interrogate and explore 3D models is one aspect of 3D visualization. Relevant models may contain both 3D volumetric objects and co-located 3D polygonal objects. One example of a volumetric object is a seismic volume, shown inFIG. 1at reference number100. Other examples of volumetric objects are seismic volumes, MRI scans, reservoir simulation models, and geologic models. Interpreted horizons, faults and well trajectories are examples of polygonal objects. In some cases, there is a need to view the volumetric and polygonal objects concurrently to understand their geometric and property relations. If every cell of the 3D volumetric object is rendered fully opaque, as is the case with seismic volume100inFIG. 1, other objects in the scene may be occluded, and so it becomes advantageous at times to render such volumetric objects with transparency so that other objects may be seen through them. As an example,FIG. 2depicts seismic volume100displayed with a degree of transparency. These 3D model interrogation and exploration tasks are useful during exploration, development and production phases in the oil and gas industry. Similar needs exist in other industries.

3D volumetric objects may be divided into two basic categories: those rendered using structured grids and those rendered using unstructured grids. Other types of grids may be defined on a spectrum between purely structured grids and purely unstructured grids. Both structured and unstructured grids may be rendered for a user to explore and understand the associated data. Known volume rendering techniques for structured grids render a full 3D volume with some degree of transparency, which enables the user to see through the volume. However, determining relations of 3D object properties is difficult, because it is hard to determine the exact location of semi-transparent data.

One way to view and interrogate a 3D volume is to render a cross-section through the 3D volume. The surface of the intersection between the cross-section and the 3-D volume may be rendered as a polygon with texture-mapped volume cell properties added thereto. For a structured grid rendered for a seismic or a medical scan, the user can create cross-sections along one of the primary directions: XY (inline or axial), XZ (cross-line or coronal) and YZ (time slice or sagittal). A traditional cross-section spans the extent of the object. In this case other objects such as horizons, wells or the like are partially or completely occluded and it is difficult to discern 3D relationships between objects. This effect is shown inFIG. 3, which is a 3D graph300of a subsurface region. The graph300, which may provide a visualization of 3D data for a structured grid or an unstructured grid, shows a first cross-section302, a second cross-section304, a third cross-section306, and a fourth cross-section308. Each of the four cross-sections is chosen to allow a user to see data in a physical property model that comprises data representative of a property of interest. However, a first horizon310and a second horizon312, as well as data displayed on cross-sections302,304and306which also may be of interest to a user, are mostly obscured or occluded by the visualizations of the four cross-sections.

A ribbon section is one attempt to make traditional cross-sectional visual representations more flexible. One way to create a ribbon section is to extrude a line or polyline vertically through the volume, creating a curtain or ribbon, upon which surface the volumetric data from the intersection of the ribbon with the volume is painted. This concept of ribbon sections is depicted inFIG. 4, which is a 3D graph400of a subsurface region showing a ribbon section402defined by a polyline404comprising a first line segment406and a second line segment408. Although ribbon section402is less intrusive than the cross-sections shown inFIG. 3, portions of a first horizon410and a second horizon412are still occluded as long as the ribbon section is displayed.

Another attempt to make traditional cross-sectional visual representations more flexible is to implement a three-dimensional probe within the data volume. This is demonstrated inFIG. 5, where a cube-shaped probe500is painted with volumetric data from the intersection of each of the probe's surfaces with the volume. Probe500may be moved around within the data volume. However, there are still instances in which horizons502,504may be occluded.

All of the above methods rely on predefined geometric primitives like planes, combinations of planes, polylines, volumes, hexahedrons and others. These primitives are simple to understand, but they rarely match the geometry of a physical object. The above methods sometimes provide editing capabilities, like the ability to edit the polyline or change the orientation of the cross-section, so the user may better match the physical object. However, the editing tasks are time consuming and very often a perfect match cannot be obtained e.g. when a curved physical object is examined with a planar cross-section.

U.S. Patent Application Publication No. 2005/0231530 discloses a method for 3D object creation and editing based on 3D volumetric data via 2D drawing tools. In its operation, the user creates a 2D structure in the rendering space. These 2D structures, such as 2D points, 2D lines etc, are transformed/projected into 3D structure. This method relies on visualization of the 3D volumetric data as well as 2D interactions happening in the same rendering space. By doing this, the user's 2D operations are restricted by how the 3D data is visualized in rendering space. For example, their rendering of volumetric data uses planar slices (also known as cross-sections), and the 3D structures created by the 2D drawing tools will be collocated with these planar slices. To create a non planar 3D structure the user must perform digitization on numerous planar slices. For example, creating a cylinder requires drawing circles on a large number of 2D slices intersecting the cylinder. Another example involves creating a curved surface connecting two vertical wells. The method disclosed in the '530 Application requires a user to digitize lines on multiple time slices. What is needed is a method of rendering or displaying data using simple, intuitive editing commands while minimizing occlusion of data of interest.

SUMMARY

In one aspect, a method is disclosed for displaying selected portions of a three-dimensional (3D) volumetric data set representing a subsurface formation. At least one two-dimensional (2D) canvas is generated. The 2D canvas corresponds to a plane in the 3D data set. The 2D canvas is shown in a first display window. One or more primitives are created on the 2D canvas. A volumetric region of the 3D volumetric data set corresponding to the one or more primitives is identified. The volumetric region is displayed in a 3D scene. The 3D scene is shown in a second display window.

In another aspect, a system is disclosed for displaying selected portions of a three-dimensional (3D) volumetric data set representing a subsurface formation. The system includes a processor and a tangible, machine-readable storage medium that stores machine-readable instructions for execution by the processor. The machine-readable instructions include: code for generating at least one two-dimensional (2D) canvas, the 2D canvas corresponding to a plane in the 3D data set, the 2D canvas being shown in a first display window; code for creating one or more primitives on the 2D canvas; code for identifying a volumetric region of the 3D volumetric data set corresponding to the one or more primitives; and code for displaying the volumetric region in a 3D scene, the 3D scene being shown in a second display window.

In another aspect, a computer program product is provided having computer executable logic recorded on a tangible, machine readable medium. When executed the computer program product displays selected portions of a three-dimensional (3D) volumetric data set representing a subsurface formation. The computer program product includes: code for generating at least one two-dimensional (2D) canvas, the 2D canvas corresponding to a plane in the 3D data set, the 2D canvas being shown in a first display window; code for creating one or more primitives on the 2D canvas; code for identifying a volumetric region of the 3D volumetric data set corresponding to the one or more primitives; and code for displaying the volumetric region in a 3D scene, the 3D scene being shown in a second display window.

In still another aspect, a method of producing hydrocarbons is disclosed. According to the method, selected portions of a three-dimensional (3D) volumetric data set representing a subsurface hydrocarbon reservoir are displayed. The displaying includes generating at least one two-dimensional (2D) canvas. The 2D canvas corresponds to a plane in the 3D data set. The 2D canvas is shown in a first display window. One or more primitives are created on the 2D canvas. A volumetric region of the 3D volumetric data set corresponding to the one or more primitives is identified. The volumetric region is displayed in a 3D scene, which is shown in a second display window. Hydrocarbons are produced from the subsurface hydrocarbon reservoir using the displayed volumetric region.

DETAILED DESCRIPTION

In the following detailed description section, specific embodiments are described in connection with preferred embodiments. However, to the extent that the following description is specific to a particular embodiment or a particular use, this is intended to be for exemplary purposes only and simply provides a description of the exemplary embodiments. Accordingly, the present techniques are not limited to embodiments described herein, but rather, it includes all alternatives, modifications, and equivalents falling within the spirit and scope of the appended claims.

At the outset, and for ease of reference, certain terms used in this application and their meanings as used in this context are set forth. To the extent a term used herein is not defined below, it should be given the broadest definition persons in the pertinent art have given that term as reflected in at least one printed publication or issued patent.

As used herein, the term “3D seismic data volume” refers to a 3D data volume of discrete x-y-z or x-y-t data points, where x and y are not necessarily mutually orthogonal horizontal directions, z is the vertical direction, and t is two-way vertical seismic signal travel time. In subsurface models, these discrete data points are often represented by a set of contiguous hexahedrons known as cells or voxels. Each data point, cell, or voxel in a 3D seismic data volume typically has an assigned value (“data sample”) of a specific seismic data attribute such as seismic amplitude, acoustic impedance, or any other seismic data attribute that can be defined on a point-by-point basis.

As used herein, the term “cell” refers to a closed volume formed by a collection of faces, or a collection of nodes that implicitly define faces.

As used herein, the term “computer component” refers to a computer-related entity, either hardware, firmware, software, a combination thereof, or software in execution. For example, a computer component can be, but is not limited to being, a process running on a processor, a processor, an object, an executable, a thread of execution, a program, and/or a computer. One or more computer components can reside within a process and/or thread of execution and a computer component can be localized on one computer and/or distributed between two or more computers.

As used herein, the terms “computer-readable medium” or “tangible machine-readable medium” refer to any tangible storage that participates in providing instructions to a processor for execution. Such a medium may take many forms, including but not limited to, non-volatile media, and volatile media. Non-volatile media includes, for example, NVRAM, or magnetic or optical disks. Volatile media includes dynamic memory, such as main memory. Computer-readable media may include, for example, a floppy disk, a flexible disk, hard disk, magnetic tape, or any other magnetic medium, magneto-optical medium, a CD-ROM, any other optical medium, a RAM, a PROM, and EPROM, a FLASH-EPROM, a solid state medium like a holographic memory, a memory card, or any other memory chip or cartridge, or any other physical medium from which a computer can read. When the computer-readable media is configured as a database, it is to be understood that the database may be any type of database, such as relational, hierarchical, object-oriented, and/or the like. Accordingly, exemplary embodiments of the present techniques may be considered to include a tangible storage medium or tangible distribution medium and prior art-recognized equivalents and successor media, in which the software implementations embodying the present techniques are stored.

As used herein, the term “cross-section” refers to a plane that intersects a structured grid or an unstructured grid.

As used herein, “displaying” includes a direct act that causes displaying, as well as any indirect act that facilitates displaying. Indirect acts include providing software to an end user, maintaining a website through which a user is enabled to affect a display, hyperlinking to such a website, or cooperating or partnering with an entity who performs such direct or indirect acts. Thus, a first party may operate alone or in cooperation with a third party vendor to enable the reference signal to be generated on a display device. The display device may include any device suitable for displaying the reference image, such as without limitation a CRT monitor, a LCD monitor, a plasma device, a flat panel device, or printer. The display device may include a device which has been calibrated through the use of any conventional software intended to be used in evaluating, correcting, and/or improving display results (e.g., a color monitor that has been adjusted using monitor calibration software). Rather than (or in addition to) displaying the reference image on a display device, a method, consistent with the invention, may include providing a reference image to a subject. “Providing a reference image” may include creating or distributing the reference image to the subject by physical, telephonic, or electronic delivery, providing access over a network to the reference, or creating or distributing software to the subject configured to run on the subject's workstation or computer including the reference image. In one example, the providing of the reference image could involve enabling the subject to obtain the reference image in hard copy form via a printer. For example, information, software, and/or instructions could be transmitted (e.g., electronically or physically via a data storage device or hard copy) and/or otherwise made available (e.g., via a network) in order to facilitate the subject using a printer to print a hard copy form of reference image. In such an example, the printer may be a printer which has been calibrated through the use of any conventional software intended to be used in evaluating, correcting, and/or improving printing results (e.g., a color printer that has been adjusted using color correction software).

As used herein, the term “horizon” refers to a geologic boundary in the subsurface structures that are deemed important by an interpreter. Marking these boundaries is done by interpreters when interpreting seismic volumes by drawing lines on a seismic section. Each line represents the presence of an interpreted surface at that location. An interpretation project typically generates several dozen and sometimes hundreds of horizons. Horizons may be rendered using different colors to stand out in a 3D visualization of data.

As used herein, “hydrocarbon” includes any hydrocarbon substance, including for example one or more of any of the following: oil (often referred to as petroleum), natural gas, gas condensate, tar and bitumen.

As used herein, “hydrocarbon management” or “managing hydrocarbons” includes hydrocarbon extraction, hydrocarbon production, hydrocarbon exploration, identifying potential hydrocarbon resources, identifying well locations, determining well injection and/or extraction rates, identifying reservoir connectivity, acquiring, disposing of and/or abandoning hydrocarbon resources, reviewing prior hydrocarbon management decisions, and any other hydrocarbon-related acts or activities.

As used herein, the term “I,J,K space” refers to an internal coordinate system for a geo-cellular model, having specified integer coordinates for (i,j,k) for consecutive cells. By convention, K represents a vertical coordinate. I,J,K space may be used as a sample space in which each coordinate represents a single sample value without reference to a physical characteristic.

As used herein, the term “3D plane” refers to a plane in three-dimensional (3D) space. This plane is typically defined by a point and a normal vector or by an equation A*x+B*y+C*z+D=0.

As used herein, the term “structured grid” refers to a matrix of volume data points known as voxels. Both the structured grid and the voxels have regular, defined geometries. Structured grids may be used with seismic data volumes.

As used herein, the term “unstructured grid” refers to a collection of cells with arbitrary geometries. Each cell can have the shape of a prism, hexahedron, or other more complex 3D geometries. When compared to structured grids, unstructured grids can better represent actual data since unstructured grids can contain finer (i.e. smaller) cells in one area with sudden changes in value of a property, and coarser (i.e. larger) cells elsewhere where the value of the property changes more slowly. Finer cells may also be used in areas having more accurate measurements or data certainty (for example, in the vicinity of a well). The flexibility to define cell geometry allows the unstructured grid to represent physical properties better than structured grids. In addition, unstructured grid cells can also better resemble the actual geometries of subsurface layers because cell shape is not restricted to a cube and may be given any orientation. However, all cell geometries need to be stored explicitly, thus an unstructured grid may require a substantial amount of memory. Unstructured grids may be employed in connection with reservoir simulation models. The term “unstructured grid” relates to how data is defined and does imply that the data itself has no structure. For example, one could represent a seismic model as an unstructured grid with explicitly defined nodes and cells. The result would necessarily be more memory intensive and inefficient to process and visualize than the corresponding structured definition.

As used herein, the term “voxel” refers to the smallest data point in a 3D volumetric object. Each voxel has unique set of coordinates and contains one or more data values that represent the properties at that location. Each voxel represents a discrete sampling of a 3D space, similar to the manner in which pixels represent sampling of the 2D space. The location of a voxel can be calculated by knowing the grid origin, unit vectors and the i,j,k indices of the voxel. As voxels are assumed to have similar geometries (such as cube-shaped), the details of the voxel geometries do not need to be stored, and thus structured grids require relatively little memory. However, dense sampling may be needed to capture small features, therefore increasing computer memory usage requirements.

It should be borne in mind, however, that all of these and similar terms are to be associated with the appropriate physical quantities and are merely convenient labels applied to these quantities. Unless specifically stated otherwise as apparent from the following discussions, it is appreciated that throughout the present application, discussions using the terms such as “generating”, “creating”, “identifying”, “displaying”, “defining”, “rendering”, “predicting”, or the like, refer to the action and processes of a computer system, or similar electronic computing device, that transforms data represented as physical (electronic) quantities within the computer system's registers and memories into other data similarly represented as physical quantities within the computer system memories or registers or other such information storage, transmission or display devices. Example methods may be better appreciated with reference to flow diagrams.

While for purposes of simplicity of explanation, the illustrated methodologies are shown and described as a series of blocks, it is to be appreciated that the methodologies are not limited by the order of the blocks, as some blocks can occur in different orders and/or concurrently with other blocks from that shown and described. Moreover, less than all the illustrated blocks may be required to implement an example methodology. Blocks may be combined or separated into multiple components. Furthermore, additional and/or alternative methodologies can employ additional, not illustrated blocks. While the figures illustrate various serially occurring actions, it is to be appreciated that various actions could occur concurrently, substantially in parallel, and/or at substantially different points in time.

As set forth below, aspects of the disclosed techniques relate to an interactive visualization of selected portions of volumetric data sets. These volumetric data sets are visualized in a three-dimensional (3D) window. In addition to the 3D window, a user may interact using a separate two-dimensional (2D) canvas. This 2D canvas corresponds to a plane in the three-dimensional space represented in the 3D window. The user creates, edits or deletes 2D shapes on the 2D canvas. These shapes could be as simple as a circle, line segment or a hand drawn curve. Based on these 2D drawings a volume is created based on the 2D shape, and the volume is rendered in the 3D window. The portion of the volume intersecting the volumetric data set is identified or visualized in the 3D window.

In an aspect, the 2D canvas corresponds to the top or map view of the 3D window. Shapes drawn on the 2D canvas are extruded vertically as shown inFIG. 6A, where a circle602drawn on the 2D canvas604corresponds to a cylinder606in a 3D window608inFIG. 6B. The portion of the volumetric data set intersected by the outer surface608of cylinder606is visualized in the 3D window610. The portion of the volumetric data set outside cylinder606is not visualized. Alternatively, the portion of the volumetric data set outside the cylinder is visualized as transparent or semi-transparent. The user may further explore the volumetric data set by interacting with the 2D canvas. For example, the user may add another 2D primitive to the 2D canvas604, such as an ellipse702inFIG. 7A. As shown inFIG. 7B, the visualization of the volumetric data set is updated to reflect the change on the 2D canvas by displaying an elliptical prism704in 3D window610.

Another type of interaction is the editing of the 2D shapes. An example is illustrated inFIG. 8A, where the area enclosed by ellipse702is increased from area702ato area702bon 2D canvas604. As shown inFIG. 8B, the volume of the elliptical prism is likewise increased as shown by reference number802, and a corresponding portion of the volumetric data set is rendered in 3D window610.

According to methodologies and techniques disclosed herein, a primitive geometric element may be entered on the 2D canvas by freehand drawing.FIG. 9Aillustrates the result of a user creating two small ellipses902,904on 2D canvas604and connecting them with a freehand drawn curve906. A user can select different types of brushes as well as drawing styles for the free hand drawing. The portion908of the volumetric data set corresponding to the 2D drawing is rendered in 3D window610, as shown inFIG. 9B.

The user can select different color maps for the rendering of the volumetric data set.FIGS. 9B and 10are rendered in the 3D window from the same drawing on the 2D canvas, shown inFIG. 9A. However, the portion of the volumetric data set corresponding to the 2D drawing is rendered using a different color map in each figure:FIG. 9Buses a fully opaque color map andFIG. 10uses a semi-transparent color map, as shown at1000.

FIG. 11illustrates other 2D canvas editing capabilities. In this Figure the user has defined 2 ellipses1102,1104on a 2D canvas1100and a curve1106connecting the ellipses. Curve1106has been created by defining 3 points represented as dots1108,1110,1112. The user modifies the shape of the curve by moving the location of the middle point. Dot1114represents the new location of the middle point. By moving the middle point to location1114, the user has changed the position of curve1106to the dashed line1116. The portion1118of the volumetric object corresponding to the new shape on the 2D canvas is rendered in 3D window1120[FIG. 11Bdoes not show the change to dashed line1116as shown inFIG. 11A.] using a semi-transparent color map.

The 2D canvas primitives can be either vector or raster primitives, similar to a generic 2D paint application. The raster primitives can be very easily converted into a 2D texture, but may have sampling or stair-stepping artefacts. A 2D vector primitive does not have these artefacts, and so a diagonal line in 2D would correspond to a perfectly diagonal line or plane in 3D.

FIGS. 12A and 12Billustrate more complex user interactions according to methodologies and techniques.FIG. 12Ashows a 2D canvas1200upon which a user has generated or drawn several 2D primitives: an oval1202, two line segments1204,1206, and a free-hand line1208. As shown in 3D space1210inFIG. 12B, the portion1220of the volumetric object corresponding to the generated 2D primitives is rendered in 3D. The user may manipulate some or all of the 2D primitives after the initial creation thereof. As depicted inFIG. 13A, the user has moved oval1202and line segment1204on 2D canvas1200as demonstrated by arrows1214,1216in12A.FIG. 13Bshows how such movement causes a new rendering1220of the portion of the volumetric object in 3D space1210.

The 2D canvas primitives may also be obtained from 3D geometric objects. For example, a well trajectory is a 3D path of a drilled well from a surface location to a target area of a reservoir. This path may be rendered in three-dimensional space and may also be converted or projected back onto the 2D canvas and a 2D primitive could be created. The user may then modify this 2D primitive and/or use the primitive as a reference for additional operations on the 2D canvas.FIGS. 14A and 14Billustrate this aspect of displaying subsurface data according to disclosed methodologies and techniques. A 2D canvas1400is shown inFIG. 14A, and the corresponding rendering in a 3D window1402is shown inFIG. 14B. In both Figures five well trajectories1404,1406,1408,1410,1412originate from a drill center1414. These trajectories are rendered in 3D window1402as lines and are projected back into 2D canvas1400, where they are also represented as lines. Seismic volume information corresponding to the vertical planes defined by each of the well trajectories is displayed only for a desired depth interval, as shown at1416,1418,1420,1422, and1424. The desired depth interval may be limited by a horizon1426. Seismic data for horizon depth1426is shown on 2D canvas as background contours or coloring. A user can control the display by controlling the properties of the lines in 2D. If the user desires to expand or widen the well traverse regions, the only needed operation is to alter the thickness of the lines on the 2D canvas. If a user desires to expand the amount of seismic data displayed in 3D window, the desired depth interval is modified.

These 2D primitives derived from 3D objects may serve as a location reference for additional operations on the 2D canvas. For example, a user studying possible connectivity between wells may draw a simple polyline1428connecting two wells1404,1406, as shown inFIG. 14A. Polyline1428may then be used to render a region of interest1430in 3D window1402.

Various methods of extrusion may be used to create 3D objects from 2D primitives. A user may limit the amount of extrusion by either specifying an amount of extrusion or limiting the extrusion by providing a geometric limit e.g. surface, geologic horizon or fault. Alternatively, different types of operations may be applied to create the 3D portion of the volume. For example, the 2D primitive may be grown by a specific distance in 2 or 3 dimensions. As another example, the 2D primitive may be rotated in 3D to create the 3D portion. As yet another example, creating the 3D region/portion may involve performing Boolean operations on 3D regions created from multiple 2D canvases.

FIGS. 15A and 15Bdemonstrate another aspect of the disclosed methodologies and techniques. A geometric primitive1502, rendered in 2D inFIG. 14A, may be changed to a solid 2D object1504. The solid object1504, shown again inFIG. 16A, may be the subject of an ‘erase’ operation1602(FIG. 16B) in 2D, thereby changing the shape of the object to that shown inFIG. 16Cat1604.

FIG. 17is a block diagram of a computer system1700that may be used to perform any of the methods disclosed herein. A central processing unit (CPU)1702is coupled to system bus1704. The CPU1702may be any general-purpose CPU, although other types of architectures of CPU1702(or other components of exemplary system1700) may be used as long as CPU1702(and other components of system1700) supports the inventive operations as described herein. The CPU1702may execute the various logical instructions according to disclosed aspects and methodologies. For example, the CPU1702may execute machine-level instructions for performing processing according to aspects and methodologies disclosed herein.

The computer system1700may also include computer components such as a random access memory (RAM)1706, which may be SRAM, DRAM, SDRAM, or the like. The computer system1700may also include read-only memory (ROM)1708, which may be PROM, EPROM, EEPROM, or the like. RAM1706and ROM1708hold user and system data and programs, as is known in the art. The computer system may also include one or more graphics processor units1714, which may be used for various computational activities. The computer system1700may also include an input/output (I/O) adapter1710, a communications adapter1722, a user interface adapter1724, and a display adapter1718. The I/O adapter1710, the user interface adapter1724, and/or communications adapter1722may, in certain aspects and techniques, enable a user to interact with computer system1700in order to input information.

The I/O adapter1710preferably connects a storage device(s)1712, such as one or more of hard drive, compact disc (CD) drive, floppy disk drive, tape drive, etc. to computer system1700. The storage device(s) may be used when RAM1706is insufficient for the memory requirements associated with storing data for operations of embodiments of the present techniques. The data storage of the computer system1700may be used for storing information and/or other data used or generated as disclosed herein. The communications adapter1722may couple the computer system1700to a network (not shown), which may enable information to be input to and/or output from system1700via the network (for example, the Internet or other wide-area network, a local-area network, a public or private switched telephony network, a wireless network, any combination of the foregoing). User interface adapter1724couples user input devices, such as a keyboard1728, a pointing device1726, and the like, to computer system1700. The display adapter1718is driven by the CPU1702to control, through a display driver1716, the display on a display device1720. Information and/or representations of one or more 2D canvases and one or more 3D windows may be displayed, according to disclosed aspects and methodologies.

The architecture of system1700may be varied as desired. For example, any suitable processor-based device may be used, including without limitation personal computers, laptop computers, computer workstations, and multi-processor servers. Moreover, embodiments may be implemented on application specific integrated circuits (ASICs) or very large scale integrated (VLSI) circuits. In fact, persons of ordinary skill in the art may use any number of suitable structures capable of executing logical operations according to the embodiments.

FIG. 18depicts, in block form, a method1800for displaying selected portions of a three-dimensional (3D) volumetric data set according to aspects and methodologies disclosed herein. The volumetric data set may be 3D seismic, a structured reservoir model, an unstructured reservoir model, or a geologic model. At block1802at least one two-dimensional (2D) canvas is generated. The 2D canvas corresponds to a plane in the 3D data set. The 2D canvas is shown in a first display window. At block1804one or more primitives is created on the 2D canvas. The primitives may include one or more line drawings, point drawings, polygon drawings, raster primitives, and/or vector primitives. Creating the primitives may include brush paintings, fill operations, erase operations, and/or creating a primitive based on a 2D projection from an object in the 3D scene. At block1806a volumetric region of the 3D volumetric data set corresponding to the one or more primitives is identified. The volumetric region may be identified by creating a volume by performing an operation on the one or more primitives, and defining the volumetric region as an intersection of the created volume and the 3D volumetric data set. The operation may be extrude, grow, extrude with a geometric limit, or a geometric transformation such as a translation, a scale operation, or a rotation. Alternatively, the volumetric region may be identified based on a Boolean operation of at least two precursor volumetric regions. The volumetric region may be identified based on ray casting operations or virtual fragment operations on graphic processors. At block1808the volumetric region is displayed in a 3D scene. The 3D scene is shown in a second display window. The 3D scene may be shown based on the volumetric region. The 3D scene may be transparent where the volumetric region is transparent or opaque where the volumetric region is opaque. The 3D scene may be semi-transparent where the volumetric region is semi-transparent. A user may control the transparency of the 3D scene.

FIG. 19shows a representation of machine-readable logic or code1800that when executed displays selected portions of a three-dimensional (3D) volumetric data set representing a subsurface formation. Code1900may be used or executed with a computing system such as computing system1700. At block1902code is provided for generating at least one two-dimensional (2D) canvas, the 2D canvas corresponding to a plane in the 3D data set, the 2D canvas being shown in a first display window. At block1904code is provided for creating one or more primitives on the 2D canvas. At block1906code is provided for identifying a volumetric region of the 3D volumetric data set corresponding to the one or more primitives. At block1908code is provided for displaying the volumetric region in a 3D scene, the 3D scene being shown in a second display window. Code effectuating or executing other features of the disclosed aspects and methodologies may be provided as well. This additional code is represented inFIG. 19as block1910, and may be placed at any location within code1900according to computer code programming techniques.

Aspects disclosed herein may be used to perform hydrocarbon management activities such as extracting hydrocarbons from a subsurface formation, region, or reservoir, which is indicated by reference number2002inFIG. 20. A method2100of extracting hydrocarbons from subsurface reservoir2002is shown inFIG. 21. At block2102inputs are received from a numerical model, geologic model, or flow simulation of the subsurface region, where the model or simulation has been run or improved using the methods and aspects disclosed herein. At block2104the presence and/or location of hydrocarbons in the subsurface region is predicted. At block2106hydrocarbon extraction is conducted to remove hydrocarbons from the subsurface region, which may be accomplished by drilling a well2004using oil drilling equipment2006(FIG. 20). Other hydrocarbon management activities may be performed according to known principles.

Illustrative, non-exclusive examples of methods and products according to the present disclosure are presented in the following non-enumerated paragraphs. It is within the scope of the present disclosure that an individual step of a method recited herein, including in the following enumerated paragraphs, may additionally or alternatively be referred to as a “step for” performing the recited action.A. A method for displaying selected portions of a three-dimensional (3D) volumetric data set representing a subsurface formation, comprising:

generating at least one two-dimensional (2D) canvas, the 2D canvas corresponding to a plane in the 3D data set, the 2D canvas being shown in a first display window;

creating one or more primitives on the 2D canvas;

identifying a volumetric region of the 3D volumetric data set corresponding to the one or more primitives; and

displaying the volumetric region in a 3D scene, the 3D scene being shown in a second display window.A1. The method according to paragraph A, wherein the volumetric data set is one of a 3D seismic, a structured reservoir model, an unstructured reservoir model, and a geologic model.A2. The method according to any of paragraphs A-A1, wherein the one or more primitives includes at least one of a line drawing, a point drawing, and a polygon drawing.A3. The method according to any of paragraphs A-A2, wherein creating one or more primitives includes at least one of a brush painting, a fill operation, and an erase operation.A4. The method according to any of paragraphs A-A3, wherein creating one or more primitives includes creating a primitive based on a 2D projection from an object in the 3D scene.A5. The method according to any of paragraphs A-A4, wherein each of the one or more primitives is a raster primitive.A6. The method according to any of paragraphs A-A5, wherein each of the one or more primitives is a vector primitive.A7. The method according to any of paragraphs A-A6, wherein the volumetric region is identified by creating a volume by performing an operation on the one or more primitives, and defining the volumetric region as an intersection of the created volume and the 3D volumetric data set.A8. The method according to paragraph A7, wherein the operation comprises one of extrude and grow.A9. The method according to paragraph A7, wherein the operation comprises extrude with a geometric limit.A10. The method according to paragraph A7, wherein the operation comprises a geometric transformation.A11. The method according to paragraph A10, wherein the transformation is one of a translation, a scale operation, or a rotation.A12. The method according to any of paragraphs A-A11, wherein the volumetric region is identified based on a Boolean operation of at least two precursor volumetric regions.A13. The method according to any of paragraphs A-A12, wherein the 2D canvas is a first 2D canvas, and further wherein the volumetric region is identified based on a Boolean operation on 3D regions identified by the first 2D canvas and a second 2D canvas.A14. The method according to any of paragraphs A-A13, wherein the volumetric region is identified based on ray casting operations on graphic processors.A15. The method according to any of paragraphs A-A14, wherein the volumetric region is identified based on virtual fragment operations on graphic processors.A16. The method according to any of paragraphs A-A15, wherein the 3D scene is rendered based on the volumetric region.A17. The method according to any of paragraphs A-A16, wherein the 3D scene is transparent where the volumetric region is transparent.A18. The method according to any of paragraphs A-A17, wherein the 3D scene is opaque where the volumetric region is opaque.A19. The method according to any of paragraphs A-A18, wherein the 3D scene is semi-transparent where the volumetric region is semi-transparent.A20. The method according to any of paragraphs A-A19, wherein a user can control transparency of the 3D scene.A21. The method according to any of paragraphs A-A20, further comprising:

predicting at least one of a presence, location, and amount of hydrocarbons in the subsurface formation; and

managing hydrocarbons in the subsurface formation based on said prediction.B. A system for displaying selected portions of a three-dimensional (3D) volumetric data set representing a subsurface formation, the system comprising:a processor;a tangible, machine-readable storage medium that stores machine-readable instructionsfor execution by the processor, wherein the machine-readable instructions include code for generating at least one two-dimensional (2D) canvas, the 2D canvas corresponding to a plane in the 3D data set, the 2D canvas being shown in a first display window,code for creating one or more primitives on the 2D canvas,code for identifying a volumetric region of the 3D volumetric data set corresponding to the one or more primitives, andcode for displaying the volumetric region in a 3D scene, the 3D scene being shown in a second display window.C. A computer program product having computer executable logic recorded on a tangible, machine readable medium, the computer program product when executed displays selected portions of a three-dimensional (3D) volumetric data set representing a subsurface formation, the computer program product comprising:code for generating at least one two-dimensional (2D) canvas, the 2D canvas corresponding to a plane in the 3D data set, the 2D canvas being shown in a first display window,code for creating one or more primitives on the 2D canvas,code for identifying a volumetric region of the 3D volumetric data set corresponding to the one or more primitives, andcode for displaying the volumetric region in a 3D scene, the 3D scene being shown in a second display window.D. A method of producing hydrocarbons, comprising:displaying selected portions of a three-dimensional (3D) volumetric data set representing a subsurface hydrocarbon reservoir, wherein the displaying includesgenerating at least one two-dimensional (2D) canvas, the 2D canvas corresponding to a plane in the 3D data set, the 2D canvas being shown in a first display window, creating one or more primitives on the 2D canvas,identifying a volumetric region of the 3D volumetric data set corresponding to the one or more primitives, anddisplaying the volumetric region in a 3D scene, the 3D scene being shown in a second display window; andproducing hydrocarbons from the subsurface hydrocarbon reservoir using the displayed volumetric region.