首页 | 本学科首页   官方微博 | 高级检索  
相似文献
 共查询到20条相似文献,搜索用时 15 毫秒
1.
A dynamic program slice is an executable part of the program whose behaviour is identical, for the same program input, to that of the original program with respect to a variable(s) of interest at some execution position. The existing algorithms of dynamic slice computation use data and control dependencies to compute dynamic slices. These algorithms are limited to structured programs because they may compute incorrect dynamic slices for unstructured programs, due to the limitations of control dependencies that are used to compute dynamic slices. In this paper, we present a novel approach to dynamic slice computation for unstructured programs. The approach employs the notion of a removable block in finding dynamic program slices. Dynamic slices are derived by identifying not only those parts of program execution that contribute to the computation of the value of a variable of interest, but also those parts of program execution that do not contribute to the computation of the variable value. Data dependencies are used to identify contributing computations, whereas removable blocks are used to identify noncontributing computations. We have proved that the presented dynamic slicing algorithms correctly compute dynamic slices. In addition, these algorithms may compute more accurate dynamic slices compared to existing algorithms that use control dependencies. The presented algorithms have been implemented in a tool that supports dynamic slicing for Pascal programs  相似文献   

2.
3D object segmentation is important in computer vision such as target detection in biomedical image analysis. A new method, called B-Surface algorithm, is generated for 3D object segmentation. An improved 3D external force field combined with the normalized GVF is utilized. After the initialization of a surface model near the target, B-Surface starts to deform to locate the boundary of the object. First, it overcomes the difficulty that comes from analyzing 3D volume image slice by slice. And the speed of B-Surface deformation is enhanced since the internal forces are not needed to compute in every iteration deformation step. Next, the normal at every surface point can be calculated easily since B-Surface is a continuous deformable model. And it has the ability to achieve high compression ratio (ratio of data to parameters) by presenting the whole surface with only a relatively small number of control points. Experimental results and analysis are presented in this paper. We can see that the B-Surface algorithm can find the surface of the target efficiently.  相似文献   

3.
何辰  王磊  王春萌 《计算机应用》2016,36(2):546-550
针对三维(3D)网格模型的存储与网络传输问题,提出一种新颖的三维模型压缩算法。该算法基于对网格模型的切片处理,主要由以下三个步骤组成:切片顶点的计算、切片边界的均匀采样以及对切片所得图像的编码。对于一个给定的三维模型,首先,计算模型的包围盒;然后,沿包围盒长度最长的方向进行切片;同时计算切片与网格模型表面每条边的交点,构成一个多边形,这个多边形即为切片的边界;其次,对切片边界进行均匀的重采样,使每层切片具有相同的顶点数;最后,把每层的顶点坐标转化为极坐标形式,这样,所有层顶点的ρ-坐标以及θ-坐标能分别构成一张图像,原始的三维模型即能由这两张图像表示。这种表示方法具有以下两个明显的优势:第一,降低了数据的维度,有效减少了数据量;第二,具有极大的数据相关性,进一步减少了数据的熵。基于这两个优势,该算法对图像数据进行差值编码以及算术编码,最后得到压缩后的文件。与增量参数细化(IPR)方法相比,在解码模型同等质量的前提下,所提算法的编码效率提高了23%。实验结果表明,所提算法在模型存储和传输应用中能取得很好的压缩效率,有效减少了数据量。  相似文献   

4.
We have developed the SYNSEIS (SYNthetic SEISmogram) tool within the GEON (GEOscience Network) project to enable efficient computations of synthetic seismic waveforms for research and education. SYNSEIS is built as a distributed system to support the calculation of synthetic seismograms in 2D/3D media. The underlying simulation software is a finite difference code, E3D, developed by LLNL (S. Larsen). This code is embedded within the SYNSEIS environment and used by our SYNSEIS tool to simulate seismic waveforms of either earthquakes or explosions at regional distances (<1000 km). The SYNSEIS architecture is based around a Web service model. Especially, the computing Web services seamlessly access Grid computing resources by hiding the complexity of grid technologies. Even though the Grid computing is well-established in many computing communities, its use among domain scientists still is not trivial because of multiple levels of complexities encountered. We have also developed the grid-enabling E3D application code which takes our own dialect XML inputs that include geological models that are accessible through standard Web services. Also, the XML inputs for this application code contain structural geometries, source parameters, seismic velocity, density, attenuation values, number of time steps to compute, and number of stations.In this paper, we emphasize the development of a state-of-the-art web-based scientific computational environment. Our system can be used to promote an efficient and effective modeling environment to help scientists as well as educators in their daily activities and speed up the scientific discovery process.  相似文献   

5.
《Graphical Models》2000,62(4):308-322
We present a group of methods for decomposing an arbitrary 3D volume rotation into a sequence of simple shear (i.e., regular shift) operations. We explore different types of shear operations: 2Dbeam shear, a shear in one coordinate based on the other two coordinates; 2Dslice shear, a shear of a volume slice (in two coordinates) according to the third coordinate; and 2Dslicebeam shear, the combination of a beam shear and a slice shear. We show that an arbitrary 3D rotation can be decomposed into four 2D beam shears. We use this decomposition as a basis to obtain the sequence of 3D rotation decomposition into four 2D slice shears or three 2D slice–beam shears. Moreover, we observe that two consecutive slice shears can be achieved by shifting beams in 3D space, a transformation we call a 3D beam shear. Therefore, an arbitrary 3D rotation can be decomposed into only two 3D beam shears. Because of the regularity and simplicity of the shear operation, these decompositions are suitable for implementations on a multipipelined hardware or a massively parallel machine. In addition, we present a resampling scheme in which only a single-pass resampling is required for performing multiple-pass shears to achieve the 3D volume rotation.  相似文献   

6.
Dynamic slicing has long been considered as a useful tool for debugging programs as it effectively identifies a reduced fault candidate set which captures the faulty code in the program. Traditionally, a backward dynamic slice is computed starting from an incorrect value observed by the programmer during a failed program run. This incorrect value is either an incorrect output value or an incorrect address whose dereferencing causes the program to crash. Recently we proposed two additional types of dynamic slices, a forward dynamic slice of a minimal failure inducing input difference and a bidirectional dynamic slice of a critical predicate. We have built a dynamic slicing tool that computes dynamic slices by instrumenting program binaries and executing them to build dynamic dependence graphs. In this paper, through experiments, we demonstrate that supporting three different types of dynamic slices has the following advantages. First, we observe that for each type of dynamic slice there are distinct situations in which it is not applicable. Therefore, we should support multiple types of slices to handle a wide range of situations. Second, supporting multiple types of dynamic slices enables us to compute a multiple points dynamic slice which is the intersection of different type of available slices. Our experiments show that multiple points dynamic slices are significantly smaller than any of the three kinds of individual dynamic slices. Copyright © 2006 John Wiley & Sons, Ltd.  相似文献   

7.
8.
程序切片是一种程序分析技术,它通过把程序减少到只包含与某个特定计算相关的那些语句来分析程序,过程间切片作为图形可达性问题时,需要扩展过程内切片所用的程序依赖图(PDG)成系统依赖图(SDG),然后利用两阶段图形可达性算法计算比较精确的切片,目前程序切片技术的研究以面向对象程序切片为主,文中讨论了一种合适面向对象程序的分层切片方法,并综合分层切片方法和两阶段图形可达性算法提出了一种简化的计算面向对象程序过程间切片的算法。  相似文献   

9.
An alternative approach to developing reusable components from scratch is to recover them from existing systems. We apply program slicing, a program decomposition method, to the problem of extracting reusable functions from ill structured programs. As with conventional slicing first described by M. Weiser (1984), a slice is obtained by iteratively solving data flow equations based on a program flow graph. We extend the definition of program slice to a transform slice, one that includes statements which contribute directly or indirectly to transform a set of input variables into a set of output variables. Unlike conventional program slicing, these statements do not include either the statements necessary to get input data or the statements which test the binding conditions of the function. Transform slicing presupposes the knowledge that a function is performed in the code and its partial specification, only in terms of input and output data. Using domain knowledge we discuss how to formulate expectations of the functions implemented in the code. In addition to the input/output parameters of the function, the slicing criterion depends on an initial statement, which is difficult to obtain for large programs. Using the notions of decomposition slice and concept validation we show how to produce a set of candidate functions, which are independent of line numbers but must be evaluated with respect to the expected behavior. Although human interaction is required, the limited size of candidate functions makes this task easier than looking for the last function instruction in the original source code  相似文献   

10.
11.
医学图像三维可视化中任意平面切片的研究与实现   总被引:1,自引:0,他引:1  
对医学图像的三维重建技术进行研究,利用介于面绘制和体绘制之间的切片法来实现三维体数据可视化,并针对断层图像序列所生成三维体数据的切片方法进行了深入讨论。提出一种可操作性很强的切片方法,能较好地实现三维体数据中冠状面、矢状面、特别是任意平面的切片。同时,该方法已经用VC6.0结合VTK(Visualization Toolkit)编程进行实现,效果符合医学诊断要求,并得到了有关应用。  相似文献   

12.
The extremum graph is a succinct representation of the Morse decomposition of a scalar field. It has increasingly become a useful data structure that supports topological feature-directed visualization of 2D/3D scalar fields, and enables dimensionality reduction together with exploratory analysis of high-dimensional scalar fields. Current methods that employ the extremum graph compute it either using a simple sequential algorithm for computing the Morse decomposition or by computing the more detailed Morse–Smale complex. Both approaches are typically limited to two and three-dimensional scalar fields. We describe a GPU–CPU hybrid parallel algorithm for computing the extremum graph of scalar fields in all dimensions. The proposed shared memory algorithm utilizes both fine-grained parallelism and task parallelism to achieve efficiency. An open source software library, tachyon , that implements the algorithm exhibits superior performance and good scaling behaviour.  相似文献   

13.
Tensor3D is a geometric modeling program with the capacity to simulate and visualize in real-time the deformation, specified through a tensor matrix and applied to triangulated models representing geological bodies. 3D visualization allows the study of deformational processes that are traditionally conducted in 2D, such as simple and pure shears. Besides geometric objects that are immediately available in the program window, the program can read other models from disk, thus being able to import objects created with different open-source or proprietary programs. A strain ellipsoid and a bounding box are simultaneously shown and instantly deformed with the main object. The principal axes of strain are visualized as well to provide graphical information about the orientation of the tensor's normal components. The deformed models can also be saved, retrieved later and deformed again, in order to study different steps of progressive strain, or to make this data available to other programs. The shape of stress ellipsoids and the corresponding Mohr circles defined by any stress tensor can also be represented. The application was written using the Visualization ToolKit, a powerful scientific visualization library in the public domain. This development choice, allied to the use of the Tcl/Tk programming language, which is independent on the host computational platform, makes the program a useful tool for the study of geometric deformations directly in three dimensions in teaching as well as research activities.  相似文献   

14.
基于数据切片度量JAVA内聚性   总被引:1,自引:0,他引:1  
李必信  朱平  谭毅  李宣东  郑国梁 《软件学报》2001,12(12):1851-1858
面向对象的程序切片在程序分析、程序理解、软件测试和调试以及软件维护方面有着广泛的用途.首先建立了抽象数据切片和类内切片的概念,然后基于这两种切片讨论了JAVA语言中存在的内聚问题,通过分析这些切片与数据、方法、类之间的关系来度量数据、方法以及类的内聚性问题.  相似文献   

15.
程序分片在程序设计、并行、诊断与测试等方面均有广泛的应用,介绍了一种用遗传算法计算最小动态分片的算法。将整个程序看成是一个染色体,而每条语句看成为基因,通过现有遗传算法的操作:选择、变异、交叉等,就可以计算出动态分片,并给出了一个诊断汇编语言的实例。  相似文献   

16.
激光直接制造和再制造中的三维CAD模型直接分层技术   总被引:2,自引:0,他引:2  
在分析SolidWorks软件平台下CAD模型数据的内部表达方法以及拓扑信息和几何信息提取方法的基础上,研究三维CAD模型直接分层技术.对SolidWorks进行二次开发,调用SolidWorks应用程序接口函数中的曲面一曲面求交函数对CAD模型曲面与分层平面求交,得到的交线首尾相连形成轮廓轨迹;同时研究了光栅填充扫描算法及程序实现.为实现切片数据的通用化,设计了记录切片数据的文件格式,用直线、圆弧或圆描述分层轮廓.对上述的直接分层不仅进行了软件模拟,还用于直接制造.制作的试件与STL间接分层试件比较结果表明,采用直接分层的试件的精度和表面质量优于STL间接分层.  相似文献   

17.
基于切片图像数据的轮廓曲线二维重构是轮廓表面三维重构的基础。单幅切片图像可能存在有单轮廓或多轮廓。本文对中国虚拟人切片图像进行分析,针对单幅切片图像里的多轮廓线情况,研究提出了多轮廓提取算法和拟合曲线建模算法。经编程实验,成功实现了单幅图像里的多轮廓二维重构。  相似文献   

18.
《Computers & Geosciences》2006,32(4):527-541
We present a new numerical code for modeling co- and post-seismic response of the Earth's crust to earthquakes. The code consists of two FORTRAN programs: the first program, PSGRN, calculates the time-dependent Green functions of a given layered viscoelastic-gravitational half-space for four fundamental dislocation sources [the strike–slip double–couple, the dip–slip double–couple, the compensated linear vertical dipole (CLVD) and the point inflation] at different depths. The results provide a data base for the second program, PSCMP, which automatically discretizes the earthquake's extended rupture area into a number of discrete point dislocations and calculates the co- and post-seismic deformation by linear superposition. According to the correspondence principle, the same propagator algorithm used in our previously published elastic modeling software, EDGRN/EDCMP, is adopted to compute the spectral Green functions. The temporal Green functions are then obtained by the fast Fourier transform extended with an anti-aliasing technique, that ensures numerical stability when calculating the post-seismic transients. Moreover, the new software considers the coupling between the deformation and the Earth's gravity field, so that its output includes not only the complete deformation field consisting of 3 displacement components, 6 stress (strain) components and 2 tilt components, but also the geoid and gravity changes. In particular, the gravity effect is treated using a new consistent approach that remedies an incorrect formulation used in many earlier publications. The performance of the software is shown by an example.  相似文献   

19.
Model-based face analysis is a general paradigm with applications that include face recognition, expression recognition, lip-reading, head pose estimation, and gaze estimation. A face model is first constructed from a collection of training data, either 2D images or 3D range scans. The face model is then fit to the input image(s) and the model parameters used in whatever the application is. Most existing face models can be classified as either 2D (e.g. Active Appearance Models) or 3D (e.g. Morphable Models). In this paper we compare 2D and 3D face models along three axes: (1) representational power, (2) construction, and (3) real-time fitting. For each axis in turn, we outline the differences that result from using a 2D or a 3D face model.  相似文献   

20.
设为首页 | 免责声明 | 关于勤云 | 加入收藏

Copyright©北京勤云科技发展有限公司  京ICP备09084417号