用于分析和成像三维体数据集合的系统和方法
技术领域
本发明大体上涉及三维(“3D”)体数据集合(volume data set)的成像。更具体地,本发明涉及3D体数据集合中结构的快速可视化和分析。
背景技术
很多研究领域需要三维(“3D”)体数据集合的分析和成像。例如,在医学领域,使用CAT(计算机轴向断层扫描)扫描仪或核磁共振成像设备来产生患者身体一些部位的“图像”或诊断图像。扫描仪或MRI设备产生要被成像或显示的3D体数据集合,从而医学人员可以分析图像并做出诊断。
在涉及地球科学的很多研究领域中也应用三维体数据集合。地震探测是一种用于探索地球地下地质的方法。地下爆破或地震激发类似于低频声波、在地球表面以下传播并由地震仪检测的地震波。地震仪记录地震波的到达时间,包括直射波和反射波。已知爆破或地震的时间和地点,就可以计算通过地球内部的波的传播时间,并用以测量在地球内部的波的速度。类似的技术可以被用于近海石油和天然气的勘探。在近海勘探中,海船拖着声源和水下水听器。例如,由像气球爆裂一样工作的充气设备产生低频(如,50Hz)声波。声波由海底下面的岩层反弹,并由水听器拾音。以这种方式,反射波“映射”了诸如断层、地层褶曲和穹隆等储存石油的地下沉积结构。处理数据来产生包括在地理空间中特定位置(x、y、z)处的反射或地震振幅数据值的3D体数据集合。
3D体数据集合由“体素(voxel)”或体元素构成。每个体素具有用于一些测量或计算特性的数值,例如,在此位置的体(volume)的地震振幅。产生3D体数据集合的图像的一种传统途径是将3D体数据集合横截为多个二维(“2D”)横截面或切片。然后,作为2D切片的合成来构建3D体数据集合的图像。例如,通过按顺序从后到前层叠2D切片,然后合成完整的图像来产生3D体数据集合的图像。当合成进行时,用户看到一层一层构建的图像。尽管当合成图像进行时用户可以看到体的内部组织或结构,但通常传统的切片和合成技术很慢,尤其当使用非常巨大的3D体数据集合时。此外,合成技术用无关信息混杂了用户的观看区域,并干扰用户准确可视化并解释3D体数据集合内在特征的能力。
已经为石油和天然气工业特别研究出用于成像3D地震数据集合的计算机软件。这种传统的计算机程序的示例有:德克萨斯,休斯顿,ParadigmGeophysical公司提供的VoxelGeo,Landmark Graphics公司提供的SeisWorks和EarthCube,以及GeoQuest公司提供的IESX。这种传统的计算机软件具有使用户不能快速且准确可视化并解释3D地震数据集合内在特征的大量缺陷。传统用于可视化并解释3D地震数据的计算机程序运算全部3D地震数据体。因此,每次进行改变,如改变透明性或不透明性设置,必须处理全部3D地震数据体,并重画图像。即使当在高效率图形超级计算机上运行这样的程序时,用户仍很容易察觉在重画图像中的延迟或滞后。针对包含500兆字节的3D地震数据体,用于传统计算机程序重画全部图像的时间需要30~45秒这个量级(分别为0.03到0.02帧每秒的帧速率)。在30~45秒延迟时间期间,用户的思想不再集中在感兴趣的特征上,使得难以完整并正确地分析地震数据。
一些传统的3D地震解释程序提供可视化并解释全部3D地震数据体中的块的能力。用户通过菜单命令确定所选块的坐标。画出所选块的图像。然后,如果需要,可以在这个位置旋转所选块。但是,为了观看全部3D地震数据体中的不同块,如为了遵循已经被试验性确定的地质特征,必须中断图像,输入用于不同块的新位置或坐标,并画出包含不同块的新图像。在所显示图像中的中断使得用户难以看到在已经成像的全部3D地震数据体中的两块之间的连续性。这阻碍了用户解释并确定全部3D地震数据体的内在地质特征。此外,即使只明显地显示了全部3D地震数据体的块,传统的3D地震解释程序继续处理全部3D地震数据体以画出图像,从而减慢了向用户显示图像。
传统的3D地震解释程序具有“自动拾取”和确定满足体素选择算法的点的能力。但是,这些程序通常迭代全部3D地震数据体以确定满足体素选择算法的点。即使在高速图形超级计算机上,这仍然很耗费时间。此外,传统的3D地震解释程序不具有从拾取的体素的集合中直接删除的能力。从利用传统3D地震解释程序拾取的体素的集合中“删去”点的唯一方法是重复调整用于体素选择算法的选择判据直到要删去的点落到用于满足体素选择算法的显示点的选择判据之外。每次调整选择判据,必须中断图像。这种迭代处理费时,而且干扰用户的可视化处理。
因此,本领域中需要克服上述缺陷的用于成像3D体数据集合的系统和方法。具体地,需要响应用户输入、以用户没有可察觉的延迟或迟滞地观察图象中瞬时或实时的改变的足够快的速率重画巨大的3D体数据集合的图像的系统和方法。需要允许用户没有中断或可察觉地延迟或迟滞地、以连续方式交互地改变显示的图像的系统和方法。这样的系统和方法将允许用户更快、更准确地解释并确定3D体数据集合的内在特征。
发明内容
本发明涉及一种利用3D采样探针和其他交互工具分析和成像3D体数据集合的系统和方法。在本发明的一个方面中,提供了可以存储在存储装置上的一种方法和计算机程序,用于成像包括多个体素的三维体数据集合,每个体素包括三维位置和数据字。数据字可以代表物理现象,如,与地球体(geobody)内的具体位置相关的振幅信号。所述方法可以包括建立至少一个三维采样探针的步骤,其中三维采样探针与三维体数据集合尺寸相同或是三维体数据集合的子集。三维采样探针具有探针面平面和反探针面平面。其他步骤可以包括在探针面平面中产生多个控制点,使得所述多个控制点在探针面平面上定义一条或多条线,并从探针面平面上的一条或多条线向反探针面平面延伸带状部分。最好由一条或多条线形成带状部分的边。所述方法的另一步骤可以包括在带状部分和三维采样探针相交的三维位置处选择性成像代表物理现象的数据字。
所述方法还可以包括以下步骤:在探针面平面上编辑多个控制点从而重新定义一条或多条线,以及,从探针面平面上的一条或多条线向反探针面平面延伸相应的重新定义的带状部分。所述编辑步骤还可以包括如下功能:删除多个控制点中的一个或多个、改变多个控制点中的一个或多个的位置以及在多个控制点中加上一个或多个控制点。
在一个优选实施例中,带状部分垂直于探针面平面,而且带状部分可以从探针面平面延伸到反探针面平面。如果需要,可以通过多个控制点编辑形成带状部分的边缘的一条或多条线,以构成多条开放直线或闭合线几何图形。带状部分最好包括多个平面。带状部分可以与探针的每个侧面平行或不平行。
在涉及跟踪如地质断层等具体物理现象的本发明的另一优选实施例中,所述方法可以包括如下步骤:将探针面平面定位在三维体数据集合中的第一位置处,并在探针面平面上形成用于跟踪由三维体数据集合描述的物理现象的控制点的第一集合。另一步骤可以包括在控制点的第一集合之间插值以定义第一样条曲线。其他步骤可以包括:将探针移动到三维体数据集合中的第二位置、在探针面平面上形成用于跟踪物理现象的控制点的第二集合、以及在其间插值使得控制点的第二集合定义第二样条曲线。另一步骤可以包括在第一样条曲线和第二样条曲线之间插值代表物理现象的三维表面。
所述方法还允许显示所述表面与控制点的第一集合和控制点的第二集合相交处的插值表面。本发明的优势是,第一样条曲线、第二样条曲线和随后的样条曲线是由曲线组成的。
另外的步骤可以包括如下的重复处理:将探针移动到三维体数据集合中的第三位置,在探针面平面上形成用于跟踪物理现象的控制点的第三集合,在控制点的第三集合之间插值以定义第三样条曲线,并在第一样条曲线、第二样条曲线和第三样条曲线之间插值用于进一步定义代表物理现象的三维表面。
如果想要,所述方法还可以包括在探针的各自位置的探针面平面上编辑代表性控制点。此外,所述方法可以包括在探针的各个位置显示各个控制点之间的曲线连接(“v曲线”)。另一步骤可以包括在三维表面上显示样条曲线和v曲线。样条曲线和v曲线形成同样代表物理现象的三维网格。所述网格包括样条曲线和v曲线间的多个交点。所述方法还可以包括在探针面平面上编辑当前的控制点的集合,从而在当前样条曲线与先前样条曲线之间整形所述表面和网格。
更好地,所述方法也可以包括如下步骤:选择多个交点中的一个,从而重新定位探针面平面以通过所选交点。所述方法也包括选择控制点的集合中的一个,从而重新定位探针面平面以通过所选控制点的集合。
换种方式来说,所述方法的实施例可以包括如下步骤:在三维体数据集合中的多个位置定位探针面平面,在每个探针面平面位置形成控制点的集合,使得每个控制点的集合定义相关的样条曲线,重新定位探针面平面,以及在多个样条曲线间插值以形成代表物理现象的三维表面。
本发明的一个特征是可以通过创建凸出3D采样探针的多条线快速并方便地创建、重画、编辑和移动通过3D采样探针的带状部分。可以以与3D采样探针的如x、y、z或笛卡儿坐标系统的坐标系统所成的角偏移量画出所述的线。
本发明的另一特征是可以通过在3D采样探针中的多个位置选择感兴趣的点来快速映射如用于示例地质结构等的3D体数据集合中的结构,所述点之后可以被插值,以产生与所述结构相关的网格或表面。可以快速编辑网格,以及通过选择网格交点可以将探针移动到所述表面上的不同点。
本发明的另一特征是,当用户交互地移动3D采样探针通过3D体数据集合时,“快速”重画3D采样探针表面上的图像,从而用户观察到与3D采样探针的运动实时变化的图像。类似地,当用户交互地移动3D采样探针通过3D体数据集合时,以“快速”改变的透明度来体绘制(volume render)3D采样探针,从而用户观察到与3D采样探针的运动实时变化的图像。
本发明的另一特征是用户可以交互地改变3D采样探针的形状或尺寸,使得“快速”重画3D采样探针表面上的图像,从而用户观察到与3D采样探针的运动实时变化的图像。类似地,用户可以交互地改变3D采样探针的形状或尺寸,使得以“快速”改变的透明度来体绘制3D采样探针,从而用户观察到与3D采样探针的形状或尺寸变化实时变化的图像。
本发明的另一特征是用户可以交互地旋转3D采样探针,使得“快速”重画3D采样探针表面上的图像,从而用户观察到与3D采样探针的旋转实时变化的图像。类似地,用户可以交互地旋转3D采样探针,使得以“快速”改变的透明度来体绘制3D采样探针,从而用户观察到与3D采样探针的旋转实时变化的图像。
本发明的另一特征是通过用户从图像中直接删除落入特定数值范围的选中点,可以创建并操作消除器3D采样探针。
本发明的一个优势是用户可以操作3D采样探针,交互地穿越3D体数据集合以连续地跟随并成像某一特征。
本发明的另一优势是用户可以没有中断或可察觉延迟或迟滞地、以连续的方式交互地改变所显示的图像。这一点允许用户更快、更准确地解释和确定3D体数据集合的内在特征。
本发明的另一优势是用户可以交互地整形3D采样探针以匹配地质特征的形状,从而使用户能够更好地可视化和确定地质特征的范围。
本发明的另一优势是它可以用来可视化并解释较大的的3D地震数据体。本发明可以用来快速并准确地确定钻孔位置。本发明可以更好地用来急剧减少3D地震项目的循环时间,推动来自现有油井的产量,以及定位额外的储量。
附图说明
参照附图描述了本发明。在附图中,相似的参考数字指示相同或功能相似的元件。此外,参考数字的最左边的位表示参考数字第一次出现的附图。
图1示出了用于实现本发明的软件或程序的一个实施例;
图2示出了本发明的3D采样探针程序的一个实施例的方框图;
图3示出了作为数据值的函数描述不透明度的曲线;
图4示出了描述用于实现本发明的一个实施例的流程图;
图5示出了用于改变缺省探针的一个实施例的流程图;
图6示出了用于创建额外的探针的一个实施例的流程图;
图7示出了用于移动探针的一个实施例的流程图;
图8示出了用于整形探针的一个实施例的流程图;
图9示出了用于在3D空间中旋转探针的一个实施例的流程图;
图10示出了用于在固定位置旋转探针的一个实施例的流程图;
图11示出了用于执行自动拾取或种子选择的一个实施例的流程图;
图12示出了适合于使用本发明的计算机系统的一个实施例;
图13示出了适合于使用本发明的计算机系统的另一实施例;
图14示出了适用于使用本发明的示例性计算机系统的进一步的细节;
图15描述了本发明的三个不透明探针,其中两个探针相交;
图16描述了本发明的三个探针:数据探针、透明切割探针和体绘制探针;
图17按照本发明描述了星形的带状部分;
图18示出了用于产生图17的带状部分的系统的方框图;
图19按照本发明描述了由3D体数据集合描述的代表物理现象的三维网格和三维表面;以及
图20示出了用于产生图19的网格和表面的系统的方框图。
具体实施方式概述
本发明涉及一种利用三维(“3D”)采样探针分析和成像3D体数据集合的系统和方法。3D体数据集合包括“体素”或体元素。每个体素是体(volume)内的采样或点。可以以(x,y,z,数据值)的形式表示每个体素,其中“x,y,z”表示体内点的3D位置,以及“数据值”是在体内的特定点的一些测量或计算属性的数值或物理参数。例如,适用于本发明的3D体数据集合为3D地震数据。可以以(x,y,z,振幅)表示3D地震数据中的每个体素,以振幅对应于在特定(x,y,z)位置的反射声波的振幅。
可以以(x,y,z,数据值)的体素形式表示的任何形式的信息都适用于本发明。除了地震数据,来自石油和天然气工业的示例包括来自精密间隔的钻井日志的信息、重力和磁场、遥感数据和侧向扫描声纳图像数据。其他的地质或物理信息也可能包括温度、压力、饱和度、反射率、声学阻抗和速度。
本发明的另一应用是用于采矿。例如,本发明可以用以可视化并解释地质和地球物理数据以定位采矿位置,定位并跟踪要开采的沉积物,或定位并跟踪将影响采矿操作的如断层等地质特征。本发明同样有用于清理有毒、危险或其他类型的废物的应用。例如,本发明可以用以可视化并解释在具体位置处代表地理范围和废物分布的数据。这种可视化和解释对于排序多个位置的清理以及对于研究针对具体位置的清理方案都是有用的。
本发明也可以与石油和天然气工业之外的信息一起使用。例如,本发明可以用于在医学领域中的分析和成像,其中从CAT(计算机轴向断层扫描)扫描仪或核磁共振成像(MRI)程序获得体素的数据值元素。
为了解释和示例,下面将利用3D地震数据作为3D体数据集合详细描述本发明。但是,可以理解的是,本发明无论如何不限制于使用3D地震数据。
本发明具体用作用于解释3D地震数据的可视化工具。如这里所用,术语“可视化”表示在用户的思想中构建3D体数据集合中内在表现出的物理或地质特征或物理参数的三维图像。这种物理特征或参数通常由如扫描3D体数据集合的一系列横截面等传统的处理3D数据集合的方式是不明显的,因为对于用户需要依次进行思维重建,以在头脑中“成像”三维特征。由于这种思维重建,难以在用户间交流和共享相同的3D图像。例如,在辨认或分析地形的二维(“2D”)等高线地图的每个人的头脑中不需要出现该地形相同的3D思维图像。通过利用3D计算机绘图,用户可以可视化、交流和共享3D体数据集合的相同3D图像。通过可视化3D地震数据,一组地质学家、地球物理学家和工程师可以解释可视化的数据,以做出勘探和生产决策,如钻井位置和井道。
为了完成可视化功能,本发明利用纹理映射(texture mapping)和体绘制(volume rendering)的计算机图形技术。“纹理映射”意味着将2D图片或图像包裹或映射到2D或3D的物体上。例如,可以把人物照片纹理映射到咖啡杯上。
术语“体绘制”或“体成像”表示以向观察者传递物体的三维属性的方式绘制三维物体,即使观察者可能正在观看二维显示器或屏幕。计算机图形技术使用着色、照明和浓淡处理技术来向观察者的思想传递高或低、后或前、亮或暗等。可以改变透视或视点,使得观察者可以看到3D物体的全部侧面。体绘制通常包括一些类型的透明度/不透明度(不透明度=1-透明度)控制,使得3D物体的特定部分更透明,从而允许观察者“看穿”物体的外表面而观察其内部结构。
本发明通过使用“采样探针”,这里也称为“探针”或“探针对象”,能够快速可视化并分析非常大的3D体数据集合。正如下面更加详细解释的那样,本发明的采样探针具有多种属性,其中之一是通常作为要可视化和分析的整个3D体数据集合的3D子体(sub-volume)创建采样探针。
在整个3D体数据集合中,用户可以交互地创建、塑造、指定大小和移动多个采样探针。在采样探针的表面上进行纹理映射、或在采样探针中以多种透明度体绘制采样探针和整个3D体数据集合的交集。如这里所用,术语“交互的”或“交互地”表示以用户没有可察觉的延迟或迟滞地观察到图像中的瞬时或实时变化的足够快的速度,响应用户输入改变或重画图像。具体地,至少大约10到15帧每秒的帧速率足以获得这里所述的交互成像。例如,当用户如通过利用“鼠标”的“点击并拖动”等移动采样探针时,用户观察到在采样探针表面上的纹理与采样探针的运动“实时”改变。当采样探针改变形状、大小或位置时,在成像纹理中或利用不同的透明度、体绘制属性,没有用户可察觉的延迟或迟滞。以这种方式,用户可以交互地移动采样探针通过整个3D体,而且更容易且有效地可视化并解释由整个3D体数据集合所代表的地理空间中出现的特征和物理参数。系统描述
可以利用硬件、软件或者它们的组合实现本发明,以及可以在计算机系统和其他处理系统中实现本发明。在图1中示出了用于实现本发明的软件或程序结构100的一个实施例。在程序结构100底部的是操作系统102。合适的操作系统102包括,例如,UNIX操作系统、或者微软公司的Windows NT、或者作为相关领域的技术人员所清楚的其他操作系统。
菜单和视窗软件104位于操作系统102之上。菜单和视窗软件104用以提供多种菜单和窗口,以推进与用户的交互作用,并获得用户的输入和指令。菜单和视窗软件104可以包括,例如,Microsoft WindowsTM、X WindowSystemTM(麻省理工的注册商标)、以及MOTIFTM(Open SoftwareFoundation公司的注册商标)。正如相关领域的技术人员所清楚的那样,也可以使用其他菜单和视窗软件。
基本图形库106位于菜单和视窗软件104之上。基本图形库106是用于3D计算机绘图的应用程序接口(API)。由基本图形库106执行的功能包括,例如,几何与光栅(raster)图元、RGBA或颜色索引模式、显示列表或快速模式、观察与建模变换、照明和阴影、隐藏表面移除、阿尔发合成(半透明)、抗混叠、纹理映射、模糊效果(雾化、羽化、模糊)、反馈与选择、蜡版、以及累积缓冲。
特别优选的基本图形库106为加利福尼亚州,芒廷维尤市,SiliconGraphics公司(“SGI”)提供的OpenGL。OpenGL是不依赖于硬件、窗口和操作系统的多平台工业标准。OpenGL被设计为可以从C、C++、FORTRAN、Ada和Java程序设计语言调用。OpenGL执行上述列出的用于基本图形库106的每项功能。OpenGL中的一些命令指定要绘出的几何对象,而其他命令控制如何处理对象。OpenGL状态的全部元素,甚至纹理存储器和帧缓存器的内容,都可以通过使用OpenGL的客户应用程序获得。OpenGL和客户应用程序可以在相同或不同的机器上操作,因为OpenGL是网络透明的。在这里作为参考的《0penGL程序设计指南》(ISBN:0-201-63274-8)和《OpenGL参考手册》(ISBN:0-201-63276-4)中更详细地描述了OpenGL。
视觉模拟图形库108位于基本图形库106之上。视觉模拟图形库108是用于创建实时、多重处理的3D视觉模拟图形应用的API。视觉模拟图形库108提供将如照明、材质、纹理和透明度等图形库状态控制函数捆绑在一起的功能。这些函数跟踪状态以及随后可以进行绘制的显示列表的创建。
特别优选的视觉模拟图形库108为加利福尼亚州,芒廷维尤市,SGI提供的IRIS Performer。IRIS Performer支持上述的OpenGL图形库。IRISPerformer包括两个主库,libpf和libpr,和四个附属库,libpfdu、libpfdb、libpfui和libpfutil。
IRIS Performer的基础是性能绘制库libpr,基于GeoSet提供高速绘制功能和利用GeoState提供图形状态控制的低级库。GeoSet是将相同类型的图形图元(如,三角形或四边形)分组在一个数据对象中的可绘制几何形状的集合。GeoSet本身不包含几何图形,只包含指向数据阵列和索引阵列的指针。因为GeoSet中的全部图元是相同类型的,而且具有相同的属性,所以以最大硬件速度执行大多数数据库的绘制。GeoState提供用于GeoSet的图形状态定义(如,纹理或材质)。
位于libpr之上的是libpf,提供优化利用多重处理硬件的高性能多重处理数据库绘制系统的实时视觉模拟环境。数据库实用程序库libpfdu提供用于定义3D对象的几何和外观属性的函数,共享状态和材质,以及从独立多边形输入产生三角形带。数据库程序库1ibpfdb利用libpfdu、libpf和libpr的程序以输入大量工业标准数据库格式的数据库文件。libpfui是用户接口库,为用户接口(C和C++程序设计语言)提供用于写入处理组件的构件块。最后,libpfutil是实用程序库,提供用于实现如多通道选项支持等任务和图形用户接口(GUI)工具的例行程序。
使用IRIS Performer和OpenGLAPI的应用程序通常在为实时3D视觉模拟进行的准备中执行如下步骤:
1.初始化IRIS Performer;
2.指定图形管道的数目,选择多重处理配置,以及按照需要指定硬件模式;
3.初始化所选的多重处理模式;
4.初始化帧速率,以及设置帧扩展策略;
5.按照要求创建、配置并打开窗口;以及
6.按照要求创建并配置显示通道。
一旦应用程序通过执行上面的步骤1到6已经创建了图形绘制环境,然后应用程序通常每帧一次地重复主模拟循环。
7.计算动态性能,更新模型矩阵,等;
8.延迟到下一帧时间;
9.执行等待临界视点更新;
10.绘出帧。
本发明的3D采样探针程序110位于视觉模拟图形库108之上。程序110以相关领域的技术人员所知的方式与由视觉模拟和图形库108、基本图形库106、菜单和视窗软件104以及操作系统102执行的函数相互作用,并利用这些函数。
更好地以面向对象的程序设计语言编写本发明的3D采样探针程序110,以允许创建并使用对象和对象功能性。特别优选的面向对象的程序设计语言是C++。在执行本发明当中,程序110创建一个或多个探针“对象”。如上所述,由程序110创建并使用的探针对象这里也被称为采样探针或探针。程序110操作探针对象使其具有如下属性。
探针与较大的3D体的子体(sub-volume)相对应。具体地,探针定义了小于用于3D体数据集合的体素的完整数据集合的子集。可以配置探针以等于用于3D体数据集合的体素的完整数据集合,或者与用于3D数据集合的体素的完整数据集合共同延伸,但是当探针与子体相对应,而且定义小于用于3D体数据集合的体素的完整数据集合的子集时,最好地执行了本发明的功能性。例如,地震数据的3D体数据集合可以包含从500MB(兆字节)到大约10GB(千兆字节)或更多的数据。2,500平方公里地理空间的典型3D地震数据包含大约8GB的数据。用于500MB地震数据集合的本发明的探针将更好地包含大约10~20MB的数据。
通过利用作为较大的3D体的子体的探针,显著地减少了用于图像的每一帧的必须处理和重画的数据的数量,从而增加了可以重画图像的速度。三维立方体的体积与三维立方体的边长的三次方或“立方”成比例。同样地,3D体数据集合中的数据的数量与它尺寸的三次方或“立方”成比例。因此,较大的3D体的子体中的数据的数量将与较大的3D体中的数据的数量的“立方根”
成比例。这样,本发明的探针中的数据的数量将与它作为子体的3D体中的数据的数量的“立方根”
成比例。通过只须处理与探针的子体相关的数据的子集,本发明可以以用户没有可察觉的延迟或迟滞地观察到图像中的瞬时或实时变化的足够快的速度,响应用户输入重画图像。
可以交互地在形状和/或大小上改变、以及可以交互地在较大的3D体内移动本发明的探针。当正在形状和/或大小上改变探针时,或者当正在移动探针时,可以交互地不透明地画出或纹理映射探针的外部几何形状或表面。当正在形状和/或大小上改变或移动探针时,可以以变化的透明度画出或体绘制探针,从而展示探针的内部结构或特征。
本发明的3D采样探针可以具有任意形状,包括具有一个或更多直角的矩形和不具有直角的非矩形。本发明的3D采样探针可以具有正交或垂直的平面作为外表面(如,正方形或长方形),平行平面作为外表面(如,平行四边形)或弯曲的外表面(如,球形、椭圆形或圆柱面)。本发明不限于任何具体形状的3D采样探针。本发明的3D采样探针可以具有任意形状,如用户确定的地质特征的形状。例如,当用户移动3D探针通过3D地震数据体时,可以由用户可视化并确定地质特征。用户可以交互地整形3D采样探针,以匹配地质特征的形状,从而使用户能够更好地可视化和确定这种地质特征的范围。
可以利用探针插入另一探针,而且可以成像两个探针的交叉部分。可以利用探针来依照种子选择算法加亮数据。也可以利用探针来依照种子选择算法“擦除”或删除数据。下面将更详细地解释这些属性。
图2示出了3D采样探针程序110的一个实施例的方框图。程序110包括用户接口模块(UIM)210、图形处理模块(GPM)220和体采样模块(VSM)230。3D体数据集合被描述为数据体240,这里也称为3D体。UIM210和GPM220通过双向通道212通信。GPM220通过通道222向VSM230发送指令和数据请求。UIM210通过通道214相VSM230发送指令和请求。UIM210通过通道216与数据体240相互作用。
通过数据通道234向VSM230传送来自数据体240的体素数据。VSM230通过数据通道232向GPM220传送数据。数据体240以相关领域的技术人员众所周知的方式存储3D体数据集合。例如,用于数据体240的格式可以由两部分组成,由与数据集合的大小一样长的数据体跟随的体(volume)头。体头通常包含在指定序列中的信息,如数据集合的文件路径(位置)、大小、x、y和z方向的尺寸、用于x、y和z轴的注释、用于数据值的注释等。数据体是字节的二进制序列,一个或多个字节每数据值,可以以如下方式排序。第一字节是在体位置(x,y,z)=(0,0,0)处的数据值。第二字节是在体位置(1,0,0)处的数据值,第三字节是在(2,0,0)处的数据值,等等。当取尽x维度时,然后增加y维度,以及最后增加z维度。本发明并不以任何方式限制用于数据体240的具体数据格式。
用户接口模块210处理用户接口也接收来自用户的命令、指令和输入数据。UIM210通过用户可以通过其选择多种选项和设置的多个菜单、或者通过键盘选择、或者通过如“鼠标”等一个或多个用户操作的输入设备、或者3D定点设备与用户连接。当用户操作输入设备来移动、指定大小、塑造等3D采样探针时,UIM210接收用户输入。
现在将描述由UIM210执行的主要功能。用户通过UIM210输入一个和多个3D体数据集合(由数据体240表示)的标识以用于成像和分析。当使用多个数据体时,用于每个数据体的数据值代表用于相同地理空间的不同物理参数和属性。作为示例,多个数据体可以包括地质体、温度体和水饱和度体。可以以(x,y,z,地震振幅)的形式表示地质体中的体素。可以以(x,y,z,℃)的形式表示温度体中的体素。可以以(x,y,z,%饱和度)的形式表示水饱和体中的体素。由这些体中的每个中的体素确定的物理或地理空间是相同的。但是,对于任意特定空间位置(x0,y0,z0),将在地质体中包含地震振幅,在温度体中包含温度,以及在水饱和度体中包含水饱和度。
用户通过UIM210输入信息来创建一个或多个3D采样探针。这些信息包括探针的大小、形状和初始位置。这些信息也可以包括如颜色、照明、阴影和透明度(或不透明度)等成像属性。通过调整作为数据值的函数的不透明度,数据体的特定部分更透明,从而允许观察者看穿表面。图3中示出了示例性的不透明度曲线300。不透明度300描述了作为数据值的函数的不透明度(1-透明度)。正如本领域的技术人员清楚的那样,具有较大不透明度(较少透明度)的数据值将掩盖具有较低不透明度(较多透明度)的数据值的成像或显示。相反地,具有较少不透明度和较大透明度的数据值将允许具有较大不透明度和较低透明度的数据值的成像或显示。
UIM210从用户接收输入,用于指定大小和塑造3D采样探针。如下面更详细描述的那样,在本发明的优选实施例中,用户通过点击探针上的“指定大小标签”,并沿一个或多个方向对探针的尺寸进行改变来改变探针的形状和/或大小。UIM210从用户接收输入来在数据体中移动3D采样探针的位置或定位。在优选实施例中,用户操作鼠标“点击”要移动的探针的表面,然后移动鼠标来移动探针通过由数据体定义的地理空间。
UIM210从用户接收输入来执行“自动拾取”处理。在自动拾取处理中,根据选择算法来选择数据点(体素)。在优选实施例中,选择算法基于3D数据体内的种子点。然后,选择算法选择满足以下条件的数据点:(i)满足选择判别式或算法(例如,具有在指定滤波范围内的数据值);以及(ii)与种子点之间具有连通性或与种子点相连。通过UIM210,提示用户在3D体中确定种子点,以及确定选择算法所用的数据值的滤波范围来“拾取”所选的点。更好地,种子点位于3D采样探针之一内。
UIM210也从用户接收关于所显示的图像的内容的输入。例如,用户更好地可以选择所显示的图像的内容。所显示的图像的内容可以只包括3D采样探针,即,它与3D体的交叉部分。此外,3D采样探针可以与或不与定义探针的外部几何图形的边框一起显示。代替地,所显示的图像可以包括3D采样探针,以及占用背景xz、yz和xy平面的数据,和/或占用所显示的3D采样探针的外部3D体的数据。
为了执行前述功能,UIM210向体采样模块230发送请求以加载或附加用户确定的这些3D体数据集合。UIM210通过通道212与执行显示和成像的图形处理模块220进行通信。
现在将描述GPM220执行的主要功能。GPM220以颜色、照明、阴影、透明度和其他用户所选的属性处理用于成像3D采样探针的数据。为了实现这种处理,GPM220利用通过上述基本图形库106和视觉模拟图形库108可用的函数。用户可以选择(通过UIM210)只显示已经创建的一个或多个3D采样探针。代替地,用户可以选择显示一个或多个3D采样探针,以及探针外部的3D数据体,即,在3D体数据中不与任何被显示的3D采样探针相交的体素。被显示的3D采样探针这里也被称为“活动的探针”。
GPM220处理UIM210从用户接收到的整形和移动请求。GPM220依照用户选择的属性(颜色、照明、阴影、透明度等)画出整形后的3D采样探针。当用户输入用于3D采样探针的形状改变时,以用户能够实时观察足够快地重画具有所选属性的图像。类似地,GPM220依照用户选择的属性(颜色、照明、阴影、透明度等)在新位置或新定位画出3D采样探针。当用户移动3D采样探针通过3D体时,以用户能够实时观察足够快地重画具有所选属性的3D采样探针的图像。
GPM220处理UIM210接收到的“自动拾取”请求。GPM220将成像依照选择算法在3D体内选择的点。代替地,GPM220将“擦除”依照选择算法在3D体内选择的点。
为了执行前述功能,GPM220通过通道212与UIM210进行通信,从而以所选的属性成像或显示用户请求的信息。GPM220通过通道222向体采样模块(VSM)230发送数据请求,从数据体240获得所需数据。
VSM230的主要功能是在GPM220的请求下从数据体240提取适当的数据。VSM230通过通道222从GPM220接收数据请求。VSM230从数据体240提取所需数据,并通过数据通道232向GPM220传送数据用于处理和显示。VSM230也通过通道214从UIM210接收指令来加载或附加用户确定的3D数据体。
现在转向图4,示出了描述用于实现本发明的一个实施例的流程图400。在步骤402中示出了开始或初始化处理。在步骤402中,用户指定要使用的一个和多个数据体(240)。从磁盘将指定的3D体数据集合加载到主存储器中(下面将更详细地描述适用于执行本发明的硬件的描述)。创建并画出缺省3D采样探针。缺省3D采样探针是任意大小和形状的指定的3D体的子体。本发明并不限制于用于缺省3D采样探针的任何具体大小和形状。
作为本发明的示例,缺省3D采样探针可以是正方形(在x、y和z方向具有相等的尺寸)。为了画出正方形的缺省3D采样探针,首先画出边框几何图形位于z轴上的一条边。然后由VSM 230从数据体240提取数据来画出正方形缺省3D采样探针与3D体(数据体240)的交叉部分的图像。具体地,对应于在xz、yz和xy平面中正方形缺省3D采样探针与3D体的交叉部分提取数据。然后由VSM230向GPM220发送这些数据,从而将其纹理映射到边框上以提供正方形缺省3D采样探针的图像。
在本发明的一个实施例中,在开始步骤402中(除了缺省3D采样探针之外)也成像或显示占用xy、yz和xy平面本身的数据,以及占用缺省3D采样探针外部的3D体的数据。代替地,可以执行开始步骤402,从而不显示或成像占用xy、yz和xy平面的数据,或占用缺省3D采样探针外部的3D体的数据。更好地,执行本发明,使得用户可以有选择性地显示或不显示占用xy、yz和xy平面的数据,以及占用缺省3D采样探针外部的3D体的数据。
在步骤404中,UIM210等待响应用户输入或请求。通过适用于计算机的用户输入设备,包括但不限于键盘、鼠标、操纵杆、跟踪球、滚动球、滚动点、或其他类型的合适的指示设备等接收用户输入。更好地,用户输入设备包括使用户能够“点击”具体的显示图像,并将显示图像“拖动”到另一位置的鼠标或其他类似的设备。这种用户输入设备允许用户移动和整形显示的探针。这种用户输入设备也允许用户激活下拉菜单,并选择用于颜色、阴影、照明和透明度属性的多种选项。键盘也可以用来输入与所选属性相关的信息。
参考数字406大体上代表本发明可以执行的多种功能。依赖于用户的输入,可以独立或同时执行这些功能。例如,可以同时移动(函数430)和旋转(函数450)探针。当执行以参考数字406标识的功能时,以用户能够实时观察足够快地重画3D采样探针的图像。现在将描述参考数字406标识的每项功能。
如果用户想改变缺省探针,那么执行函数410。通过流程图连接符5A在图5中示出了执行函数410的步骤。在步骤502中,由用户通过UIM210输入对缺省探针的变化。例如,对缺省探针的变化可以是形状或大小、位置、或者如颜色、阴影、照明和透明度等属性的变化。
在步骤504中,UIM210向GPM220发送请求以画出改变后的缺省探针。在步骤506中,GPM220从VSM230请求用于改变后的缺省探针的数据。在进行这一请求中,如果需要移动缺省探针,GPM220将调用函数430;函数440以整形缺省探针;以及函数450或460以旋转缺省探针。下面将更详细地描述前述函数。
响应GPM220在步骤506中根据用户已经选择的属性做出的请求,VSM230从数据体240提取数据。如果用户选择的不透明度设置是全部数据值都是不透明的,那么VSM230提取的数据将限制于改变后的缺省探针的表面。由于选择了不透明,用户将不可能看到改变后的缺省探针的内部,所以VSM230只提取与改变后的缺省探针的表面或外部相对应的数据。在步骤508中,GPM220处理VSM230提取的数据用于改变后的缺省探针的表面,并通过依照用户选择的属性在表面上进行纹理映射来画出改变后的缺省探针。通过只提取用户可以看到的数据,可以更快地画出改变后的缺省探针的图像,因为需要处理较少的数据,即,不处理与改变的缺省探针的“内部”相对应的数据。
代替地,如果用户选择的不透明度设置是一些数据值是不透明的而一些数据值是透明的,那么VSM230提取的数据将包括与改变的缺省探针的整个体相对应的数据。因为选择了不透明和透明,用户将可以看到改变的缺省探针的内部,所以VSM230将提取与改变后的缺省探针的整个体相对应的数据。在这种情况下,在步骤508中GPM220处理VSM230提取的数据,并通过依照用户选择的属性进行体绘制来画出改变后的缺省探针。
如果用户想创建额外的探针,那么执行函数420。本发明并不限于任何具体数目的活动探针。通过流程图连接符6A在图6中示出了执行函数420的步骤。在步骤602中,由用户通过UIM210输入用于额外探针的形状、大小、位置、属性等。在步骤604中,UIM210向GPM220发送请求以画出额外的探针。
在步骤606中,GPM220从VSM230请求用于额外探针的数据。以与上述用于改变缺省探针相似的方式,VSM230从3D或数据体240提取的数据将依赖于用户为额外探针选择的不透明度。如果用户选择的不透明度设置是用于额外探针的全部数据值都是不透明的,那么VSM230提取的数据将限制于额外探针的表面。代替地,如果用户为额外探针选择的不透明度设置是一些数据值是不透明的而一些数据值是透明的,那么VSM230提取的数据将包括与额外探针的整个体相对应的数据。以这种方式,通过最小化必须要处理的数据的数量,可以更快地画出额外探针。
在步骤608中,GPM220处理VSM230提取的数据用于额外探针,并或者通过纹理映射到额外探针的表面上,或者通过体绘制额外探针的整个体,依照用户选择的属性画出额外探针。
如果用户想移动探针,那么执行函数430。通过流程图连接符7A在图7中示出了执行函数430的步骤。在步骤702中,用户通过UIM210输入用于探针的新位置。在本发明的优选实施例中,用户通过点击鼠标或其他类型的合适的用户输入设备以将指针移动到要移动的探针的表面上来输入探针的新位置。用户通过沿任意方向移动鼠标或其他合适的用户输入设备,从而沿轨迹拖动探针来改变探针的位置。
在步骤704中,UIM210向GPM220发送移动请求来在新位置画出探针。GPM220从VSM230请求用于探针的新位置的数据。以与上述相似的方式,VSM230从数据体240提取的数据将依赖于用户为正在移动的探针选择的不透明度。如果用户选择的不透明度设置是用于正在移动的探针的全部数据值都是不透明的,那么VSM230提取的数据将限制于正在移动的探针的表面。代替地,如果用户为正在移动的探针选择的不透明度设置是一些数据值是不透明的而一些数据值是透明的,那么VSM230提取的数据将包括与正在移动的探针的整个体相对应的数据。以这种方式,通过最小化必须要处理的数据的数量,可以在新位置更快地画出探针。
在步骤708中,GPM220处理VSM230提取的数据用于正在移动的探针,并或者通过纹理映射到正在移动的探针的表面上,或者通过体绘制正在移动的探针的整个体,依照用户选择的属性在新位置画出探针。
当用户移动探针时,对于探针的每个新位置,以用户观察到以合适的纹理映射或体绘制的探针的图像与探针的运动“实时”改变的足够快的速率重复步骤702到708。以用户实时观察的足够快的帧速率重画图像。
如果用户想整形探针,那么执行函数440。如这里所用,术语“整形”表示沿任何方向对3D采样探针的尺寸的任何变化。例如,诸如通过沿x方向增加探针的大小,而沿y方向减小探针的大小,将正方形探针改变为长方形探针等,通过沿一个或多个方向改变大小可以改变或整形3D采样探针的形状。作为另一示例,通过将形状从球形变化为长方形可以改变3D采样探针的形状。作为另一示例,通过分别沿x、y和z方向改变相等的大小可以依照本发明将正方形3D采样探针(沿x、y和z方向具有相等的尺寸)整形为较大或较小的正方形探针。整形后的探针也具有正方形的形状,但是为较大或较小的正方形。
通过流程图连接符8A在图8中示出了执行函数440的步骤。在步骤802中,用户通过UIM210输入用于探针的新形状和/或大小。在本发明的优选实施例中,用户通过点击鼠标或其他类型的合适的用户输入设备以将指针抓到要进行整形的探针的“指定大小标签”上来输入探针的新形状。如这里所用,“指定大小标签”表示探针表面上的指定区域。更好地以不同于显示3D体数据集合的特征或物理参数所用的颜色的颜色显示这个指定区域。当抓住指定大小标签的指针时,操作鼠标或用户输入设备改变指定大小标签位于其上的表面的尺寸或部分。当达到想要的大小或形状时,用户再次点击鼠标或用户输入设备以从指定大小标签释放指针。图15和图16中描述了指定大小标签。指定大小标签是沿探针的边框几何图形,出现在探针表面上的小暗方块。指定大小标签的位置不限于探针的边框几何图形。用户通过在指定大小标签上点击鼠标或其他合适的用户输入设备,拖动鼠标直到将表面改变到想要的形状,然后从指定大小标签释放鼠标来改变探针的形状。如果需要,可以重复这种处理,利用探针上的其他指定大小标签知道将探针整形到想要的形状。
对于相关领域的技术人员清楚的是,如何实现这种用于整形本发明的探针的指定大小标签。但是,可以理解的是,本发明并不限于使用用于整形探针的指定大小标签,而可以使用其他合适的方法。例如,用户可以通过激活下拉菜单,或通过反复点击鼠标在形状之间滚读(scroll),从大量的预设形状(如,正方形、长方形、圆柱形、球形)中进行选择。
在步骤804中,UIM210向GPM220发送整形请求以画出整形后的探针。在步骤806中,确定是否还需要更多的数据来画出整形后的探针。例如,如果整形后的探针是“与”现有的探针的内部“相一致”的形状,那么不再需要数据,而且处理继续到步骤810。代替地,如果整形后的探针是至少部分落在现有探针外部的形状或大小,那么,在步骤808中,GPM220从VSM230请求需要用于整形后的探针的数据。以与上述相似的方式,VSM230从3D或数据体240提取的数据将依赖于用户为正在整形的探针选择的不透明度。如果用户选择的不透明度设置是用于正在整形的探针的全部数据值都是不透明的,那么VSM230提取的数据将限制于正在整形的探针的表面。代替地,如果用户为正在整形的探针选择的不透明度设置是一些数据值是不透明的而一些数据值是透明的,那么VSM230提取的数据将包括与正在整形的探针的整个体相对应的数据。以这种方式,通过最小化必须要处理的数据的数量,可以以新形状更快地画出探针。
在步骤810中,GPM220处理VSM230提取的数据用于正在整形的探针,并或者通过纹理映射到正在整形的探针的表面上,或者通过体绘制正在整形的探针的整个体,依照用户选择的属性以其新形状画出探针。
当用户改变探针的形状时,以用户观察到以合适的纹理映射或体绘制的探针的图像与探针的形状“实时”改变的足够快的速率重复步骤802到810。以用户实时观察的足够快的帧速率重画图像。
如果用户想在3D空间中旋转探针,那么执行函数450。在函数450中,改变对于3D体和探针都相同的3D方向,从而在空间中旋转3D体和探针。通过流程图连接符9A在图9中示出了执行函数450的步骤。在步骤902中,用户通过UIM210输入用于3D体和探针的新3D方向。在本发明的优选实施例中,用户通过点击鼠标或其他类型的合适的用户输入设备以将指针抓到要旋转的探针的轴上来输入新方向。操作鼠标或用户输入设备改变轴的方向。当达到想要的方向时,用户再次点击鼠标或用户输入设备以从轴上释放指针。对于相关领域的技术人员清楚的是,如何实现这种方向上的改变。但是,可以理解的是,本发明并不限于以这种方式改变方向。例如,用户可以通过激活下拉菜单,或通过反复点击鼠标在旋转之间滚读,从大量的旋转(如,向左或向右旋转90°;向左或向右旋转45°,等)中进行选择。
在步骤904中,UIM210向GPM220发送在3D空间中旋转请求以画出旋转后的探针。在步骤906中,GPM220从VSM230请求用于旋转后的探针的数据。以与上述相似的方式,VSM230从数据体240提取的数据将依赖于用户为正在旋转的探针选择的不透明度。如果用户选择的不透明度设置是用于正在旋转的探针的全部数据值都是不透明的,那么VSM230提取的数据将限制于正在旋转的探针的表面。代替地,如果用户为正在旋转的探针选择的不透明度设置是一些数据值是不透明的而一些数据值是透明的,那么VSM230提取的数据将包括与正在旋转的探针的整个体相对应的数据。以这种方式,通过最小化必须要处理的数据的数量,可以以新方向更快地画出探针。
在步骤908中,GPM220处理VSM230提取的数据用于正在旋转的探针,并或者通过纹理映射到正在旋转的探针的表面上,或者通过体绘制正在旋转的探针的整个体,依照用户选择的属性以新方向画出探针。
当用户在3D空间中旋转探针时,以用户观察到以合适的纹理映射或体绘制的探针的图像与探针的方向“实时”改变的足够快的速率重复步骤902到908。以用户实时观察的足够快的帧速率重画图像。
如果用户想旋转探针,而将其固定在3D空间中,那么执行函数460。在函数460中,与3D体的3D方向独立地旋转探针的3D方向,从而旋转探针,而将其固定在由3D体的方向定义的3D空间中。以这种方式,可以以固定方向显示用于活动的探针的背景平面,以及可以在背景平面中旋转活动的探针。
通过流程图连接符10A在图10中示出了执行函数460的步骤。在步骤1002中,用户通过UIM210输入探针的新3D方向。在本发明的优选实施例中,用户,例如从“下拉”菜单中选择旋转而固定在空间中的选项。然后,用户通过点击鼠标或其他类型的合适的用户输入设备以将指针抓到要旋转的探针的轴上来输入探针的新方向。操作鼠标或用户输入设备改变轴的方向。当达到想要的方向时,用户再次点击鼠标或用户输入设备以从轴上释放指针。相关领域的技术人员清楚如何实现这种方向上的改变。但是,可以理解的是,本发明并不限于以这种方式改变方向。例如,用户可以通过激活下拉菜单,或通过反复点击鼠标在旋转之间滚读,从大量的旋转(如,向左或向右旋转90°;向左或向右旋转45°,等)中进行选择。
在步骤1004中,UIM210向GPM220发送旋转而固定在空间中的请求以画出旋转后的探针。在步骤1006中,GPM220从VSM230请求用于旋转后的探针的数据。以与上述相似的方式,VSM230从数据体240提取的数据将依赖于用户为正在旋转的探针选择的不透明度。如果用户选择的不透明度设置是用于正在旋转的探针的全部数据值都是不透明的,那么VSM230提取的数据将限制于正在旋转的探针的表面。代替地,如果用户为正在旋转的探针选择的不透明度设置是一些数据值是不透明的而一些数据值是透明的,那么VSM230提取的数据将包括与正在旋转的探针的整个体相对应的数据。以这种方式,通过最小化必须要处理的数据的数量,可以以新方向更快地画出探针。
在步骤1008中,GPM220处理VSM230提取的数据用于正在旋转的探针,并或者通过纹理映射到正在旋转的探针的表面上,或者通过体绘制正在旋转的探针的整个体,依照用户选择的属性以新方向画出探针。
当用户旋转探针而将其固定在空间中时,以用户观察到以合适的纹理映射或体绘制的探针的图像与探针的方向“实时”改变的足够快的速率重复步骤1002到1008。以用户实时观察的足够快的帧速率重画图像。
如果用户想执行“自动拾取”处理,那么执行函数470。通过流程图连接符11A在图11中示出了执行函数470的步骤。在步骤1102中,用户通过UIM210输入3D体的数据集合中的种子点和根据数据值的选择判别式。更好地,种子点在定义了探针的体素的数据集合中。如下所述,这里,这样的探针被称为种子3D采样探针或擦除器3D采样探针。但是,种子点也可以在活动探针外部、定义了3D体的体素的集合中。在本发明的优选实施例中,用户,例如,从“下拉”菜单中,选择执行自动拾取处理的选项。然后,用户通过点击鼠标或其他类型的合适的用户输入设备以将指针抓到要想要的种子点上来选择种子点。例如,通过图形选择区域,或者通过键入特定的数值,可以输入选择判别式。相关领域的技术人员清楚用户如何输入种子点和数据值的滤波范围。
在步骤1104中,UIM210向GPM220发送自动选取请求以画出旋转后的探针。在步骤1106中,GPM220从VSM230请求选中点来成像。选中点是那些与种子点相连的点以及那些具有满足选择判别式的数据值的点。
在步骤1108中,GPM220处理VSM230提取的数据,以画出选中点。更好地通过与用于描述3D体数据集合的特征或物理参数的那些颜色不同的颜色画出选中点以突出选中点。代替地,可以执行步骤1108以从图像中“擦除”或删除选中点。
以类似的方式,自动拾取函数470可以用以“擦除”或取消选定点。例如,诸如通过调用函数420创建额外探针等,定义擦除器3D采样探针。定义根据数据值的“取消选定”判别式。确定满足取消选定判别式的由自动拾取操作先前选择的点作为用于取消选定的候选点。当擦除器3D采样探针移动通过3D体时,从图像中删除曲线选定的点,并以用户实时观察足够快地重画图像。
一旦用户初始化自动拾取函数470,就可以同时与例如移动函数430一起执行。以这种方式,当用户移动探针时,以用户观察到具有选择点的探针的图像与探针的位置“实时”改变的足够快的速率重复步骤1102到1108(和步骤702到708)。当移动探针时,可以通过以合适的颜色画出选中点来加亮选中点,从而当移动通过3D体时,使自动拾取3D采样探针起到“高亮显示”的作用。代替地,当移动探针时,可以从图像中“擦除”或删除由自动拾取操作先前选择的点,从而当移动通过3D体时,使探针起到“擦除器”或擦除器3D采样探针的作用。在每个实施例中,以用户实时观察的足够快的帧速率重画图像。
如果用户想创建“带状部分”,那么执行函数480。下面将参照图17并通过图18中的框图连接符18A进一步描述执行函数480所需的步骤。
如果用户想创建代表在3D体数据集合中发现的物理现象的“3D表面”,那么执行函数490。下面将参照图19并通过图20中的框图连接符20A进一步描述执行函数490所需的步骤。
在用户想要执行如更多探针(430)、整形探针(440)、创建带状部分(480)以及创建3D表面(490)等上述一个或多个功能的任何事件中,可以与一个或多个其他功能独立地、或与一个或多个其他功能一同执行每个功能。
现在参照图12,示出了适于使用本发明的计算机系统的一个实施例。图形超级计算机1210包含一个或多个中央处理单元(CPU)或处理器1212。超级计算机1210包含处理器1212可以访问的随机存取存储器(RAM)1214。超级计算机1210也包含同样访问RAM1214的一个或多个图形模块1216。图形模块1216利用硬件(如专用图形处理器)或硬件和软件的组合执行由图形处理模块220执行的功能。用户输入设备1218允许用户对图形超级计算机1210进行控制,并向图形超级计算机1210输入信息。
特别优选的图形超级计算机是加利福尼亚州,芒廷维尤市,SiliconGraphics公司提供的Onyx2 Infinite Reality系统,配置有八个处理器、三个图形管道、16GB的主存储器以及250GB的磁盘存储器。这种图形超级计算机具有可升级、高带宽、低等待时间的体系结构以在多图形管道上提供高速绘制。也可以使用如加利福尼亚,帕洛阿尔托市的惠普公司或加利福尼亚州,芒廷维尤市的Sun Microsystems公司等其他供应商提供的图形超级计算机。
从图形超级计算机1210向用于在屏幕1230上投影的多屏幕显示系统1220发送形成要显示的图像的图形数据。在图12中示出的实施例中,使用了三台投影仪。从用户观察屏幕1230上的图像的角度,三台投影仪包括左投影仪1240、中投影仪1250和右投影仪1260。尽管示出了三台投影仪,本发明并不限于使用任何具体数目的投影仪。
投影仪1240在屏幕1230上具有投影区域,通常显示在位于点1241和点1243之间的1242。投影仪1250在屏幕1230上具有投影区域,通常显示在位于点1251和点1253之间的1252。投影仪1260在屏幕1230上具有投影区域,通常显示在位于点1261和点1263之间的1262。投影区域1242和1252具有位于点1251和1243之间的交叠区域1244。类似地,投影区域1262和1252具有位于点1261和1253之间的交叠区域1264。将要显示的图形分为三个(左、中和右)交叠子图像。通过同时投影三个交叠子图像,增加用户的视场超过例如在显示器上或通过只使用一台投影仪可以得到的视场。作为示例,使用图12所示的三个交叠子图像将视场增加到大约160°。交叠区域1244和1264每一个大约是5.3°。多屏幕显示系统1220以众所周知的方式计算交叠区域1244和1264,将三台投影仪的图像进行边缘混合以在屏幕1230上形成无缝图像。英格兰,伦敦,SEOS提供如Barco投影仪单元等合适的显示和投影仪系统。
图13示出适于使用本发明的计算机系统的另一实施例。在图13所示的实施例中,图形超级计算机1210配置有多处理器1212、RAM1214和两个图形模块1216。在图13中示出的适于在此实施例中使用的图形工作站可以由Silicon Graphics公司或Sun Microsystems公司提供。每个图形模块1216与用于显示的监视器1320相连。监视器1320更好地应该是适用于显示如图15和图16所示的图形的彩色图形监视器。更好地,监视器1320中的一个显示3D采样探针的图形,而监视器1320中的另一个显示用以操作3D采样探针程序110的多种菜单。图13还示出了起到用户输入设备作用的键盘1330和鼠标1332。
图14中更详细地示出了能够执行这里所述的功能性的计算机系统。计算机系统1402包括如处理器1404等一个或多个处理器。处理器1404与通信总线1406相连。按照这个示例性计算机系统描述了多种软件实施例。在阅读此说明书之后,相关领域的技术人员应当清楚的是,如何利用其他计算机系统和/或计算机体系结构实现本发明。
计算机系统1402也包括主存储器1408,更好地为随机存取存储器(RAM),而且也可以包括辅助存储器1410。例如,辅助存储器1410可以包括硬盘驱动器1412和/或代表软盘驱动器、磁带驱动器、光盘驱动器等的可移动存储驱动器1414。可移动存储驱动器1414以众所周知的方式从可移动存储单元1418中读取数据,或把数据写入到可移动存储单元1418中。可移动存储单元1418代表由可移动存储驱动器1414进行读写的软盘、磁带、光盘等。正如所了解的那样,可移动存储单元1418包括已经在其中存储了软件和/或数据的计算机可用存储媒质。
在另一实施例中,辅助存储器1410可以包括用于允许将计算机程序或其他指令加载到计算机系统1402中的其他类似装置。例如,这类装置可以包括可移动存储单元1412和接口1420。这样的示例可以包括程序插入式片盒和插入式片盒接口(如视频游戏设备中发现的那种),可移动存储器芯片(如EPROM或PROM等)和附属的插口,以及允许从可移动存储单元1422向计算机系统1402传送软件和数据的其他可移动存储单元1422和接口1420。
计算机系统1402也可以包括通信接口1424。通信接口1424允许在计算机系统1402和外部设备之间传送软件和数据。通信接口1424的示例可以包括调制解调器、网络接口(如以太网卡等)、通信端口、PCMCIA插槽和PCMCIA卡等。通过通信接口1424传送的软件和数据可以是电、电磁、光信号1426形式的,或者是能够被通信接口1424接收的其他信号形式的。通过信道1428向通信接口提供信号1426。信道1428携带信号1426,而且可以利用电线或电缆、光纤、电话线、便携式电话链接、RF链接和其他通信信道来实现。
在本文件中,术语“计算机程序介质”和“计算机可用介质”大体上用来表示诸如可移动存储设备1418、安装在硬盘驱动器1412中的硬盘和信号之类的介质。这些计算机程序产品是用于向计算机系统1402提供软件的装置。
在主存储器1408和/或辅助存储器1410中存储计算机程序(也称为计算机控制逻辑)。也可以通过通信接口1424接收计算机程序。当执行这些计算机程序时,使计算机系统1402能够执行这里所述的本发明的特征。具体地,当执行计算机程序时,使处理器1404执行本发明的特征。因此,这些计算机程序代表计算机系统1402的控制者。
在利用软件实现本发明的实施例中,可以在计算机程序产品中存储软件,并利用可移动存储驱动器1414、硬盘驱动器1412或通信接口1424将软件加载到计算机系统1402中。当处理器1404执行控制逻辑(软件)时,使处理器1404执行这里所述的本发明的功能。
在另一实施例中,利用如特定用途集成电路(ASIC)等硬件部件,主要以硬件实现本发明。相关领域的技术人员将清楚如何实现这样的硬件状态机以执行这里所述的功能。
在另一实施例中,利用硬件和软件的组合实现本发明。系统操作和结果
现在,将利用包含地震数据(数据值代表地震振幅)的数据体240,描述本发明的操作和结果。用户指定要用的具体地震数据体,将其从磁盘加载到主存储器中。画出缺省3D采样探针。用户指定用于地震振幅的颜色。同样,可以选择透明度。图15中所示的三个探针都是不透明的,具有纹理映射到探针表面的探针与地震数据体的交叉部分。以示出的边框几何图形显示探针之一;没有边框几何图形地显示另外两个探针。
图15示出了三个活动的探针。用户已经选择了不显示包含在背景平面中的数据和包含在活动探针的外部的剩余地震数据体中的数据。图15中示出的两个探针相互交叉,而且显示两个探针的交叉部分。以这种方式,用户可以更容易地可视化和解释地震数据体的内在地质特征。例如,由两个浅色带之间的深色带表示的地质特征,延伸通过较大相交的探针的表面,并“转弯”延伸到垂直于它的较小相交的探针的表面上。相互移动探针、以及使探针相互交叉、并遍及地震数据体的能力,使用户能够更好地解释和跟踪这种地质特征的范围。
图16描述了可以如何使用一个探针“切割”另一探针以在探针中创建“洞”。与图15一样,用户已经选择了不显示包含在背景平面中的数据和包含在活动探针的外部的剩余地震数据体中的数据。图16描述了用户可以为每个活动探针独立选择不透明度设置。图16中示出的探针之一是不透明的,从而不可能看穿这个探针的表面。为了看到这个外部探针的内部,必须以另一探针切割它。外部不透明探针被称为“数据探针”。使用第二完全透明的“切割探针”来切出数据探针的3D子部分。因为切割探针是完全透明的,它在图16中是不可见的。但是,出现完全透明的切割探针的事实通过可以看到数据探针的不透明内表面的事实得到了证明。数据探针和切割探针的交叉部分的图形是数据探针内部的交叉表面。
图16中示出了第三活动的探针。以示出的边框几何图形显示第三探针。以多种透明度体绘制第三探针,从而用户可以看穿此探针的外表面,而观察第三探针内的地质特征。如图16所示,部分位于已经由切割探针切掉的数据探针的3D子部分中体绘制第三探针。
图16中示出的第三体绘制探针也包含通过种子拾取处理(函数470)选择的选中点。已经以向用户突出它们的方式成像了选中点。作为连接点在图16中示出了选中点。通过黑球在图16中描述了种子点。
图17按照本发明描述了带状部分1710的一个实施例。像探针一样,带状部分是用于沿用户定义的来回移动路线通过探针内的3D体数据集合来显示图像的3D体可视化方法。这些来回移动路线有点像小甜饼成型机切过生面团那样切过3D体数据集合,从而这里被称为小甜饼平面(cookieplane),如小甜饼平面1712和1714等。带状部分可以以不必与3D体数据集合和/或探针的纵轴的方向相一致的方向显示3D数据。用户按照下面描述的处理产生带状部分1710。通过数字化控制点如控制点1716、1718和1720等定义来回移动线路或小甜饼平面,可以从被称为“探针面平面”的探针的表面中选择这些控制点。用户可以创建如上所述的透明切割探针以与不透明的带状部分连接。代替地,如果需要,可以使探针是不透明的,而使带状部分是透明的。
可以利用这些控制点来产生多条线段,如线段1722、1724和1726等,这些线段共同被称为像多边形但可以闭合也可以不闭合的折线1728。因此,线段可以形成打开或闭合的线,从而可以产生单一或多个小甜饼平面。在优选实施例中,沿垂直于探针面平面的方向投影数据显示的区域,即,小甜饼平面,而且显示的数据可以延伸到称为“反探针面平面”的探针的反面。在创建带状部分之后,用户可以利用鼠标控制或键盘来选择、移动、拖动或抓取控制点来实时编辑带状部分1710,以及沿小甜饼平面1712和1714显示来自3D体数据集合的不同数据。除了编辑带状部分1710以观察来自探针内的3D体数据集合的不同数据之外,可以同时将整个带状部分1710和探针移动到不同的位置,以便观察来自在先前位置的探针边界外的3D体数据集合的不同数据。最好突出或以不同于其他控制点的颜色着色活动的控制点1720,以指示控制点1720处于用于如移动、删除或下面进一步描述的其他方面的编辑等操作的活动状态。在初始化带状部分结构之后,可以插入或删除控制点。也可以保存带状部分的几何图形和方向,用于进一步的研究工作。
图18描述了用于如上所述以实时帧速率产生带状部分、用于本发明所示优选实施例中的程序模块的系统1810的方框图。探针模块1822提供用于绘制折线1728的初始环境。探针模块1822向小甜饼(cookie)管理器1824提供如鼠标点击和按键等用户活动数据。这样,将如创建控制点、删除控制点、移动控制点、移动整个探针之类的用户活动数据输入到系统1810中。
小甜饼管理器1824管理探针1822提供的用户输入数据。小甜饼管理器1824将如控制点相加、移动和删除等适当地分配到折线模块1826和小甜饼平面模块1828。对于如插入控制点等一些类型的数据,小甜饼管理器1824从折线模块1826接收数据,并将数据传送到小甜饼平面模块1828。
折线模块1826与多点标记模块1832和多状态模块1830协力管理与折线1728相关的数据和相关控制点。提供折线1728主要用于视觉参考。折线模块1826与多状态模块1830协力管理控制点的状态。例如,在活动状态中,可以移动或删除控制点。更好地,突出如活动的控制点1720等活动的控制点。可以放大和缩小控制点以便更容易观察。多点标记模块1832提供用于控制点的如加亮和多种颜色等视觉环境,从而操作者知道哪个点处于用于移动、删除和其他方面的编辑的活动状态中。多点标记模块1832也可以提供如指示邻近活动的控制点1720等的文字。
小甜饼平面模块1828向诸如小甜饼平面1712和1714等小甜饼平面的表面提供例如用于地质数据的印版相关的纹理几何图形。小甜饼状态模块1834监视小甜饼平面的状态,使得可以移动和其他方面的编辑在活动状态中的一个或多个小甜饼平面,而在非活动状态中,不能进行改变。
在系统1810的操作期间,探针模块1822可以通知小甜饼管理器1824如标记删除,即,控制点删除等事件的发生。然后,小甜饼管理器1824通知删除标记或控制点并将两条边线连成一条线的折线模块1826,以及通知多点标记模块从多点标记模块1832保持的多点标记的列表中移除删掉的标记。然后,小甜饼管理器1824和小甜饼平面模块将两个平面转换为一个平面。
图19描述了用于创建如地质断层表面等代表由3D体数据集合描述的物理现象的三维表面的本发明的一个实施例。事实上,已经发现这种方法容易而且快捷地提供用于快速标识的可视化和地质断层表面的解释。但是,利用本发明的方法,也可以快速描述用于其他类型数据的其他类型表面。尽管下面更详细地描述了此方法,大体上,本发明用以数字化控制点,如沿探针面1910的控制点1902、1904、1906和1908等。探针面1910的纹理表面的视觉检查允许操作者在如可疑的断层线等感兴趣的结构上视觉定位控制点。然后移动探针面1910,并数字化控制点的新集合。然后在初始点和新控制点之间插值表面1912。可以很容易地编辑或移动控制点以上述的实时帧速率更准确地定义可能是1912的表面。可以重复这个处理直到表面解释完成,此时可以保存表面1912。
这样,图19公开的本发明的一个实施例提供了快速构建三维表面或在3D体数据集合中发现的断层的方法。在优选实施例中,如上所述,使用3D探针。此方法包括构建多个样条曲线,如在初始化在探针面1910上显示的数据时可以交互构建的探针面1910上的样条曲线1914等。利用与插值样条曲线1916、1918和1920以相同方式创建的算法插值样条曲线1914。产生样条曲线和v曲线1922、1924和1926以形成网格。网格描绘出三维表面1912的轮廓。
为了构建初始样条曲线,如样条曲线1914,用户数字化控制点,如探针面1910上的控制点1902、1904、1906和1908。在这些控制点产生标记,以及在控制点1902、1904、1906和1908之间插值样条曲线1914。可以在探针面1910中移动控制点1902、1904、1906和1908,从而插值新的样条曲线1914。一旦选择了探针面1910,将其他探针表面变成透明的,以方便操作。此外,为了通过探针面1910观察表面1912,也可以使选中的探针面1910变成不透明的。
然后用户将探针面1910移动到另一位置,并选择新的控制点。用户通过选择如交点1928或1930等网格交点,可以容易地在先前创建的样条曲线间来回移动。当创建额外的样条曲线时,利用另一算法,也可以平滑而快速地插值v曲线。用户最好以相同方式创建多条样条曲线,而且如上所述以实时帧速率立即显示插值的表面1912。
用户可以停止探针并移动如控制点1902、1904、1906和1908等控制点,以调整如样条曲线1914等各条样条曲线的位置。当在探针面1910上的当前样条曲线1914和先前样条曲线1920之间平滑地插值表面1912时,如样条曲线1916、1918和1920等所有其他样条曲线都保持不变。表面1912的其余部分保持不变,除非用户将探针面1910移动到如1920等另一样条曲线,并处理编辑,从而整形在探针面平面1910上的当前样条曲线1920和先前样条曲线1918之间的表面1912。
如果需要,可以在现有样条曲线之间加上额外的样条曲线。通过选择如网格交点1928或1930等网格交点,或者通过选择如控制点1902、1904、1906和1908等探针面上的控制点,用户可以按照想要的那样来回快速移动探针面1910。一旦选择了网格交点,用户可以移动如图19所示的探针面1910内的各个控制点,而且具有其样条曲线和v曲线的表面1912将交互地跟随这种移动。根据用户的喜好,可以显示或不显示样条曲线和v曲线。更好地,为了清楚,每次只显示一个探针面1910。
图20公开了模块化系统2000,描述了用于执行结合图19所描述的功能的软件。在一个实施例中,模块化系统2000合并了很多与在用于产生带状部分的模块化系统1810中使用的相同的模块。这样,这种设计方案可以提供能有效地执行带状部分功能和表面贴图功能的更一般的控制。例如,可以按照与产生带状部分相关的上述方式使用小甜饼模块2018、多标记模块2012和折线模块2014。同样地,探针模块2010从而再次同样类似于前面讨论的折线观察到的那样,执行如提供初始化绘制如样条曲线1914等样条曲线等前面所提到的功能。探针模块2010向多个其他模块提供如鼠标点击和按键等用户活动数据。立方样条模块2016与如图19所示的表面1912等可编辑表面或贴图特征相关联。立方样条模块2016、样条管理器模块2020、样条曲线模块2022和样条表面模块2024是与那些只在创建带状部分中使用的功能不相同的功能。样条管理器2020执行如创建或删除表面、改变模式功能从创建表面到编辑表面以及读写功能等大量不同的功能。例如,样条管理器2020可以关于诸如颜色、示出网格、标记颜色之类的属性读写表面属性文件。样条曲线模块2022跟踪样条曲线,跟踪边界或创建状态中的样条曲线以及跟踪对样条曲线所做的改变。样条表面模块2024起到对插值得到的表面的变化进行改变的功能。
通过利用本发明的系统和方法,地质学家和地球物理学家可以更快、更准确地可视化和解释3D地震数据。这大量地减少了3D地震项目周期,提升来自现有矿场(油田)的产量,以及寻找更多的储藏量。结论
尽管上面已经描述了本发明的多种实施例,可以理解的是指示作为示例展示并不限于这些实施例。因此,本发明的广度和范围不应由任何上述示例性实施例限制,而应当依照包括所附权利要求及其等价物的本发明的精神来确定。
权利要求书(按照条约第19条的修改)
1、一种用于成像三维数据体的方法,所述三维数据体包括多个体素,每个体素包括三维位置和数据字,所述数据字代表物理现象,所述方法包括:
建立至少一个三维采样探针,其中所述三维采样探针与所述三维数据体尺寸相同或是所述三维数据体的子集,所述三维采样探针具有探针面平面中的探针面和反探针面平面中的反探针面;
在所述探针面平面中产生多个控制点,所述多个控制点在所述探针面平面上定义一条或多条线;
从所述探针面平面向所述反探针面平面延伸带状部分,由所述一条或多条线形成所述带状部分的一条边;以及
在所述带状部分和所述三维采样探针相交的三维位置处选择性地成像代表所述物理现象的数据字。
2、按照权利要求1所述的方法,其特征在于还包括:
在所述探针面平面中编辑所述多个控制点,从而重新定义所述一条或多条线,以及
从所述探针面平面向所述反探针面平面延伸另一重新定义的带状部分。
3、按照权利要求2所述的方法,其特征在于所述编辑步骤还包括:
删除所述多个控制点中的一个或多个。
4、按照权利要求2所述的方法,其特征在于所述编辑步骤还包括:
改变所述多个控制点中的一个或多个的位置。
5、按照权利要求2所述的方法,其特征在于所述编辑步骤还包括:
在所述多个控制点中加上一个或多个控制点。
6、按照权利要求1所述的方法,其特征在于所述带状部分垂直于所述探针面平面。
7、按照权利要求1所述的方法,其特征在于所述带状部分从所述探针面平面向所述反探针面平面延伸。
8、按照权利要求1所述的方法,其特征在于所述一条或多条线包括多条直线。
9、按照权利要求1所述的方法,其特征在于所述一条或多条线形成闭合线。
10、按照权利要求1所述的方法,其特征在于所述带状部分包括多个平面。
11、按照权利要求1所述的方法,其特征在于所述三维探针具有垂直于所述探针面平面的多个侧面,所述带状部分与所述侧面的每一个都不平行。
12、一种机器可读程序存储设备,包含机器可执行指令程序以执行用于成像三维数据体的方法步骤,所述三维数据体包括多个体素,每个体素包括三维位置和数据字,所述数据字代表物理现象,所述方法包括:
在所述三维数据体中显示平面;
在所述平面中产生多个控制点,所述多个控制点在所述平面上定义一条或多条线;
从所述平面延伸带状部分,由所述一条或多条线形成所述带状部分的一条边;以及
在所述带状部分和所述三维数据体相交的三维位置处选择性地成像代表所述物理现象的所述数据字。
13、按照权利要求12所述的方法,其特征在于还包括:
在所述平面中编辑所述多个控制点,从而重新定义所述一条或多条线,以及
从所述平面向相对平面延伸另一重新定义的带状部分。
14、按照权利要求13所述的方法,其特征在于所述编辑步骤还包括:
删除所述多个控制点中的一个或多个。
15、按照权利要求13所述的方法,其特征在于所述编辑步骤还包括:
改变所述多个控制点中的一个或多个的位置。
16、按照权利要求13所述的方法,其特征在于所述编辑步骤还包括:
在所述多个控制点中加上一个或多个控制点。
17、按照权利要求12所述的方法,其特征在于所述带状部分垂直于所述平面。
18、按照权利要求12所述的方法,其特征在于所述带状部分从所述平面向相对平面延伸。
19、按照权利要求12所述的方法,其特征在于所述一条或多条线包括多条直线。
20、按照权利要求12所述的方法,其特征在于所述一条或多条线形成闭合线。
21、按照权利要求12所述的方法,其特征在于所述带状部分包括多个平面。
22、按照权利要求12所述的方法,其特征在于所述平面是三维探针的探针面平面,所述三维探针具有垂直于所述探针面平面的多个侧面,定向所述带状部分使得其至少不平行于所述多个侧面中的一个。
23、一种用于成像三维数据体的方法,所述三维数据体包括多个体素,每个体素包括三维位置和数据字,所述方法包括:
在所述三维数据体中的第一位置处定位探针的面;
在所述探针的所述面上形成控制点的第一集合,用于跟踪由所述三维数据体描述的物理现象,控制点的所述第一集合定义第一样条曲线;
将所述探针的所述面移动到所述三维体中的第二位置;
在所述探针的所述面上形成控制点的第二集合,用于跟踪所述物理现象,控制点的所述第二集合定义第二样条曲线;以及
在所述第一样条曲线和所述第二样条曲线之间插值以定义代表所述物理现象的三维表面。
24、按照权利要求23所述的方法,其特征在于还包括:
显示代表所述物理现象的表面,所述表面与控制点的所述第一集合以及控制点的所述第二集合相交。
25、按照权利要求23所述的方法,其特征在于还包括:
在控制点的所述第一集合之间插值以定义所述第一样条曲线,以及在控制点的所述第二集合之间插值以定义所述第二样条曲线,所述第一样条曲线和所述第二样条曲线中至少其一是曲线的。
26、按照权利要求23所述的方法,其特征在于还包括:
将所述探针的所述面移动到所述三维体中的第三位置;
在所述探针的所述面上形成控制点的第三集合,用于跟踪所述物理现象,控制点的所述第三集合定义第三样条曲线;以及
在所述第一样条曲线、所述第二样条曲线和所述第三样条曲线之间插值,用于扩大所述表面。
27、按照权利要求23所述的方法,其特征在于还包括:
编辑控制点的所述第一集合和控制点的所述第二集合中的至少一个。
28、按照权利要求23所述的方法,其特征在于还包括:
在所述探针的所述第一位置和所述探针的所述第二位置形成将各个控制点之间进行连接的多条v曲线。
29、按照权利要求28所述的方法,其特征在于还包括:
显示所述样条曲线和所述v曲线,所述样条曲线和所述v曲线形成代表所述物理现象的网格,所述网格具有所述样条曲线和所述v曲线间的多个交点。
30、按照权利要求29所述的方法,其特征在于还包括:
选择所述多个交点之一,并移动所述交点,从而编辑所述网格。
31、按照权利要求29所述的方法,其特征在于还包括:
选择所述多个交点之一,从而重新定位所述面以通过所述交点。
32、按照权利要求31所述的方法,其特征在于还包括:
选择控制点的所述第一集合和控制点的所述第二集合之一,从而重新定位所述面以通过控制点的所述第一集合和控制点的所述第二集合之
33、按照权利要求23所述的方法,其特征在于还包括:
在所述第一位置形成所述探针的所述面上的控制点的第三集合,控制点的所述第三集合定义第三样条曲线;
在所述第二位置形成所述探针的所述面上的控制点的第四集合,控制点的所述第四集合定义第四样条曲线;以及
在所述第三样条曲线和所述第四样条曲线之间插值以定义代表由所述三维数据体描述的另一物理现象的另一三维表面,实质上同时定义所述三维表面和所述另一三维表面。
34、一种机器可读程序存储装置,包含机器可执行指令程序以执行用于成像三维数据体的方法步骤,所述三维数据体包括多个体素,每个体素包括三维位置和数据字,所述方法包括:
在所述三维数据体中的多个平面位置定位平面;
在所述多个平面位置的每一个形成控制点的集合,使得每个控制点的所述集合定义相关的样条曲线;以及
在每条所述样条曲线间插值以形成代表由所述三维数据体描述的物理现象的表面。
35、按照权利要求34所述的方法,其特征在于还包括:
显示代表所述物理现象的所述表面,所述表面与每个控制点的所述集合相交。
36、按照权利要求34所述的方法,其特征在于还包括:
在每个控制点的所述集合之间插值以定义所述相关样条曲线,所述相关样条曲线中至少一条是曲线的。
37、按照权利要求34所述的方法,其特征在于还包括:
编辑所述控制点中的一个或多个。
38、按照权利要求34所述的方法,其特征在于还包括:
在所述多个平面位置形成将各个控制点之间进行连接的多条v曲线。
39、按照权利要求38所述的方法,其特征在于还包括:
显示所述样条曲线和所述v曲线以形成代表所述物理现象的网格,所述网格具有所述样条曲线和所述v曲线间的多个交点。
40、按照权利要求39所述的方法,其特征在于还包括:
选择所述多个交点之一,并移动所述交点,从而编辑所述网格。
41、按照权利要求39所述的方法,其特征在于还包括:
选择所述多个交点之一,从而重新定位所述平面以通过所述交点。
42、按照权利要求39所述的方法,其特征在于还包括:
选择控制点的所述集合之一,从而重新定位所述平面以通过控制点的所述集合中所述的这个集合。
43、按照权利要求34所述的方法,其特征在于还包括:
在所述多个平面位置形成控制点的另一集合,使得控制点的所述另一集合中的每一个定义另一相关样条曲线;以及
在每条所述另一样条曲线间插值以形成代表由所述三维数据体描述的另一物理现象的另一表面,实质上同时形成所述表面和所述另一表面。