Enhancing Depth-Perception with Flexible Volumetric Halos Abstract-Volumetric data commonly has high depth complexity which makes it difficult to judge spatial relationships accurately. There are many different ways to enhance depth perception, such as shading, contours, and shadows. Artists and illustrators frequently employ halos for this purpose. In this technique, regions surrounding the edges of certain structures are darkened or brightened which makes it easier to judge occlusion. Based on this concept, we present a flexible method for enhancing and highlighting structures of interest using GPU-based direct volume rendering. Our approach uses an interactively defined halo transfer function to classify structures of interest based on data value, direction, and position. A feature-preserving spreading algorithm is applied to distribute seed values to neighboring locations, generating a controllably smooth field of halo intensities. These halo intensities are then mapped to colors and opacities using a halo profile function. Our method can be used to annotate features at interactive frame rates. The area of illustrative visualization is concerned with developing methods to enhance the depiction of scientific data based on principles founded in traditional illustration. The illustration community has century-long experience in adapting their techniques to human perceptual needs in order to generate an effective depiction which conveys the desired message. Thus, their methods can provide us with important insights into visualization problems.. Resolving the spatial arrangement of complex three-dimensional structures in an image can be a difficult task. Particularly renderings of volume data acquired by imaging modalities such as CT or MRI often suffer from this problem. As such data frequently contain many fine, overlapping structures, the resulting images often look confusing and are difficult to interpret without additional cues. For this reason artists and illustrators have long exploited the fact that the human visual system is especially sensitive to local variations in contrast by drawing halos around objects. Near the boundary of objects that are located in front of other structures the tone is locally altered: the background or partly occluded objects are slightly darkened to create the impression of depth. Similarly, bright halos are frequently placed around objects to visually detach them from the background. In the most simple case, a halo is just a gap around the edges of an object. In photography and film halos, achieved by careful placement of lights and camera, are commonly used to accentuate objects. While this technique is motivated by natural lighting phenomena such as shadows and atmospheric effects, halos in illustrations are typically overemphasized and localized to enhance occlusion cues. Halos are used in a wide variety of different styles as illustrated in Figure 1 . Manifestations of the effect range from thick opaque outlines to soft darkening of the background almost undistinguishable from realistic shadows under diffuse illumination. Frequently, halos are used as a subtle way to put emphasis on certain objects. Our goal in this work is to enable the same kind of flexibility for computer-generated halos in direct volume rendering. As it is often dependent on the context of the visualization which kind of halo provides the most effective cues, we present an approach which allows interactive adjustment of their appearance.. The paper is structured as follows: Related work is discussed in Section 2. We present our approach for generating volumetric halos in Section 3. Section 4 details our implementation. Results are presented in Section 5. In Section 6 we discuss the implications of our method. The paper is concluded in Section 7. In this paper, we presented volumetric halos as an effective and flexible method for enhancing depth perception in volume renderings. The technique was motivated by the wide-spread use of similar concepts in art and illustration. Our approach does not require pre-processing, as halo seeding, generation, and mapping are performed on-the-fly. During halo seeding, a halo transfer function is used to identify structures which emit a halo. A feature-preserving spreading procedure was discussed, which distributes halo seed intensities to neighboring sample positions. A halo profile function is used to map the resulting halo field to colors and opacities. We also introduced the notion of emissive and occlusive halos. Furthermore, we presented a GPU-based implemen- tation of this algorithm which achieves interactive frame rates. Using several examples, we demonstrated the effectiveness of halos as a simple technique to enhance depictions of volumetric data. Based on the promising results of the presented method and due to the fact that it is easy to integrate into existing volume rendering approaches, volumetric halos can be a useful addition to the illustrative visualization toolbox. Halos provide a simple additional option for the generation of volumetric illustrations. They do not require any pre-processing and can be easily integrated into existing volume visualization tools. Similar to layer effects in image editing software such as Adobe Photoshop, they can be applied to enhance or highlight specific regions with great stylistic flexibility ranging from opaque contour-like lines to smooth object shadows. These techniques are ubiquitous in traditional illustrations and so it makes sense that volume visualization can benefit from them. In our experiments, we found that volumetric halos can be an effective and versatile tool for enhancing the visualization of volume data with little additional effort. A wide variety of data sets can benefit from halos. In this section, we present a small selection of visualization results and compare them with un-enhanced depictions.. Halos are effective for the visualization of transparent objects. Illustrators frequently employ this technique in line drawings: The background object is rendered in full detail and disappears as it approaches the boundaries of the overlapping translucent structure [7] . Figure 7 demonstrates this approach: an opaque halo is used to enhance the contours of the transparent skin. Additionally, a smooth dark halo is assigned to the bone to add depth to the image. Figure 8 demonstrates the use of the positional component of the halo transfer function. A focus point is placed in the pelvic region and a bright halo is used to indicate occlusions. Through these simple means the viewer's attention is directed to the aorta. Figure 9 shows the combination of different halos for the same data value range. A smooth dark halo and a thin bright halo are assigned to the outer part of the engine block. The darkening of the white contour halo helps in indicating occlusion relationships. The inner structures additionally have a slight cyan glow. Halos may also serve as a complete replacement for normal gradient-based illumination similar to the approach described by Desgranges et al. [5] . Depending on the style of the halo, this results in an additional degree of stylization which is useful to depict contextual objects. In Figure 10 we demonstrate this effect. Figure 10 To evaluate the performance of our implementation we compared a standard volume renderer with our algorithm. We used the UNC head test dataset (dimensions: 256 × 256 × 256) and an object sample distance of 0.5. The viewport size was 512 × 512. No high-level optimizations such as empty-space skipping were used. Our test system was an AMD Athlon 64 X2 Dual 4600+ CPU equipped with an NVidia GeForce 8800 GTX GPU. We performed a 360 degree rotation along each axis and averaged the frame rates. The reference renderer without halos achieved 29.34 frames/second in this benchmark. The frame rates of our halo renderer for different values of M are shown in Table 1 . Compared to the reference renderer, our approach achieves approximately one third of the frame rate for the typical setting of M = 4. Halo seeding and mapping alone, due to the increased number of texture fetches and operations per sample, result in a slowdown of about 50 percent. Although halo processing incurs an overhead, interactive frame rates are still achieved. Moreover, as our implementation is not heavily optimized, there is potential room for improvement. One way to add depth cues to volume rendered images is to use a more realistic illumination model. Yagel et al. [29] employ recursive ray-tracing which allows for effects such as specular reflection and shadows. Behrens and Ratering [2] add shadows to texture-based volume rendering. The model presented by Kniss et al. [12] captures volumetric light attenuation effects including volumetric shadows, phase functions, forward scattering, and chromatic attenuation. Max [19] gives a comprehensive overview of different optical models for volume rendering. The problem of increasing the physical realism is, however, that these models often lack control over the specific appearance of certain structures of interest. As they are based on actual physical laws, it is difficult to control individual visualization properties separately. Some approaches therefore use inconsistent illumination. Stewart [25] introduces vicinity shading, a view-independent model to enhance perception of volume data based on occlusions in the local vicinity of a sample point resulting in shadows in depressions and crevices. Lee at al. [14] present a system for automatically generating inconsistent lighting based on the object geometry. Kersten et al. [9] study the effect of different depth cues on the perception of translucent volumes. Many approaches have been developed which deliberately use nonphotorealistic techniques as a mechanism to improve the visualization of regions of interest. Levoy [15] was the first to propose modulation of opacity using the magnitude of the local gradient to enhance surfaces in volume rendering. Csébfalvi et al. [4] visualize object contours based on the magnitude of local gradients as well as on the angle between viewing direction and gradient vector using depth-shaded maximum intensity projection. Hauser et al. [6] propose two-level volume rendering for focus+context visualization of volume data by combining maximum intensity projection and direct volume rendering. Nagy et al. [20] combine line drawings and direct volume rendering techniques. Yuan and Chen [30] enhance surfaces in volume rendered images with silhouettes, ridge and valleys lines, and hatching strokes. Zhou et al. [31] propose the use of distance to emphasize and de-emphasize different regions. Viola et al. [27] , inspired by cutaway views which are commonly used in technical illustrations, apply different compositing strategies to prevent an object from being occluded by less important structures. Krüger et al. [13] use interactive magic lenses based on traditional illustration techniques for focus+context visualization of iso-surfaces. Multi-dimensional transfer functions have been proposed to extend the classification space which allows better selection of features. Kniss et al. [11] use an intuitive direct-manipulation interface for multi-dimensional transfer functions. Lum and Ma [18] use lighting transfer functions to enable data-dependent illumination. Kindlmann et al. [10] employ curvature information to achieve illustrative effects, such as ridge and valley enhancement.. Halos and similar techniques have been used by numerous researchers to enhance depth perception. As an early example, Appel et al. [1] proposed an algorithm for generating haloed lines in 1979. Interrante and Grosch [8] employ halos to improve the visualization of 3D flow. Their approach uses line integral convolution of a texture of slightly enlarged noise spots to compute a halo volume which is then used during ray casting. Wenger et al. [28] use similar techniques for volume rendering of thin thread structures. Rheingans and Ebert [22] present feature halos for scalar volume visualization. Their approach computes an additional halo volume based on properties of the original data values. Svakhine and Ebert [26] extend this method for GPU-based volume rendering by computing the halo volume on the graphics hardware. Loviscach [16] presents a GPU-based implementation of halos for polygonal models. Ritter et al. [23] encode spatial distance in halo-like non-photorealistic shadows for the visualization of vascular structures. The approach of Luft et al. [17] is capable of enhancing surface-based images using halos by performing an unsharp masking operation on the depth buffer. Their work is a major inspiration for the approach we present in this paper, although the techniques significantly differ due to the fact that in direct volume rendering halo generation can not be performed as a post-processing step.. In this paper we contribute a new technique for generating a wide variety of halo effects using GPU-based volume rendering. Our approach classifies, generates, and maps volumetric halos on-the-fly and therefore allows flexible control over their appearance. No precomputation is required and all parameters can be modified interactively. We demonstrate that this technique is effective in enhancing depth perception in volumetric data sets without obscuring features. Our GPU-based volume renderer with halo support was implemented in C++ using OpenGL/GLSL. As already outlined in Section 3 our approach for integrating halos with direct volume rendering is based on an interleaving of the halo generation pipeline with conventional view-aligned slicing of the volume. In this section, we discuss further details of our implementation.. Initially, six off-screen buffers are generated: I 0 and I 1 are used for compositing in a ping-pong approach. In our description, we use I p to denote the accumulated image from the previous iteration, and I c for the image written in the current iteration -they are swapped after each iteration. The buffer S stores the halo seed image, and H 0 , H 1 , and H 2 are used for halo generation. We use H to denote the buffer which contains the current halo field image, which can be either H 1 or H 2 . For occlusive halos, an additional halo occlusion image O is required. We use the OpenGL ARB framebuffer object extension to render to and read from these buffers. The renderer slices the volume in viewing direction and has two basic phases:. Rendering. Although described separately in Section 3, as they are conceptually different stages, it is advantageous to combine halo seeding and halo mapping with regular sampling, classification, shading, and compositing in a single rendering pass. Since all these steps require the data value and gradient at the same sample location, this avoids redundant texture reads and computations and eliminates the need for an explicit mapped halo image. We take advantage of OpenGL's capabilities to write to multiple render targets in one rendering pass. The two images written to are I c , the current accumulated image, and S, the halo seed image. First, conventional sampling, classification and shading is performed. Next, halo mapping is performed on the halo intensities read from the current halo field image H for emissive halos. For occlusive halos, the halo occlusion image O is used instead. For emissive halos, the shaded color of the volume sample is first composited with the previously accumulated color read from I p and then written into I c . Then the mapped halo contribution is composited. In the case of an occlusive halo the shaded sample color is mixed with the mapped halo contribution and then composited with the previously accumulated color. Finally, halo seeding is performed and the result is written to S.. Generation. This phase performs halo generation as described in Section 3.2. First, the gradient magnitude of the halo seed image is computed and written into H 0 . Next, several iterations Table 1 . Performance of halo rendering measured on an AMD Athlon 64 X2 Dual 4600+ CPU equipped with an NVidia GeForce 8800 GTX GPU. The volume size was 256 × 256 × 256 with a viewport size of 512 × 512 and an object sample distance of 0.5. The reference renderer without halos achieved 29.34 frames/second in this benchmark.. of the spreading algorithm are executed on H 0 by ping-ponging between buffers H 1 and H 2 . The final halo field image is then located in buffer H 1 or H 2 , depending on the number of iterations. The current halo field image H is set to this buffer. If occlusive halos are used, this image is additionally blended with the halo occlusion image O. Halo generation is the most expensive part of the rendering procedure. However, it is not necessary to perform this step for every iteration. We can use OpenGL's blending functionality to accumulate the halo seeds of several slices and then perform halo generation on this image only every M-th slice. As the seed contributions are accumulated, no features will be missed. Only if M is chosen too high, some depth accuracy is sacrificed. In practice, a value of M = 4 has proven to result in no visible artifacts -all figures in this paper were generated using this setting.. As the GPU operates on vectors rather than scalars we can support four distinct halos, each with its own set of parameters, without additional costs. Each halo is assigned a color channel and all operations, including halo generation, are simply performed on four halo channels instead of one.

O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O B O O O O O O O B I O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O B I O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O B O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O


A risk-driven method for eXtreme programming release planning XP (eXtreme Programming) has become popular for IID (Iteration and Increment Development). It is suitable for small teams, lightweight projects and vague/volatile requirements. However, some challenges are left to developers when they desire to practise XP. A critical one of them is constructing the release plan and negotiating it with customers. In this paper, we propose a risk-driven method for XP release planning. It has been applied in a case study and the results show the method is feasible and effective. XP practicers can follow it to decide a suitable release plan and control the development process. Recently, eXtreme Programming (XP) is a popular Iteration and Increment Development (IID) practice and successful in software development [1, 2, 3] . It is based around the development and delivery of small increments of functionality, customer involvement in the process, constant code improvement and egoless programming [4] .. Release planning is the activity that stakeholders decide requirements implementation and delivery scheme in XP practice. It is the key point, where developers consider how coding can contribute to software system's goals, since there are no detailed requirements and architecture design before system implementation. There are four steps during XP release planning: firstly, developers inquire customers about the business value of each story that describes the customers' needs; secondly, developers estimate the needed efforts for implementing those stories; thirdly, they analyze the technology risks in stories; and lastly, developers negotiate with customers about the release plan for the next iteration [5] .. The vague XP release planning techniques often muddle practicers [6] . As a result, it is difficult for developers to make a suitable release plan in XP practice. They are often puzzled by many problems, such as how to assess stories' business value, how to analyze the technology risks, how to get consensus by negotiation, etc. Some researchers reported that release planning had become the response to customers' requests entirely and been uncontrollable because of the absence of integrated system's viewpoint, inadequate negotiation among stakeholders and so on. Thus, many XP processes are full of reworks and wrong problem solutions [3, 7, 8, 9, 10, 11] .. In the paper, we put forward a risk-driven method for XP release planning which aims at three main vague areas in XP practice. Firstly, the vague techniques of XP release planning often lead stakeholders to a poor decision when they do not consider multiple possible release plans for the next iteration. Secondly, stakeholders want to balance development risks and productivity, but it is difficult for them to analyze the risks because of the vague techniques in risks analysis. Lastly, it is a very important work to balance development risks and productivity in process, but there are not enough guides or techniques for stakeholders to reach an agreement about a release plan.. The remainder of the paper is organized as follows. Section 2 summarizes the related work. Section 3 presents the risk-driven method for XP release planning. Section 4 presents a risk-driven XP process. Section 5 reports a case study of the method. We conclude the paper in Section 6 with a summary and directions for future work. There are no detailed requirements and architecture design before the system implementation in XP practice. Release planning is the key for successful development where the scope and constraints, design, and implementation are considered synthetically in a software system. However, the vague techniques in traditional XP release planning often muddle XP practicers. And developers often hesitate in making a release plan and negotiating with customers about the implementation order of stories in iterations.. In this paper, we put forward a risk-driven method for XP release planning. XP practicers can follow it to decide a suitable release plan and control the development process. The features of the method can improve XP practices. Firstly, multiple choices of feasible release plans are provided for stakeholders to enlarge the scopes of the developers and customers' negotiations when they decide a release plan for the next iteration. Therefore, stakeholders can avoid making a poor decision based on a single candidate release plan. Secondly, risks analysis can improve the ability of the stakeholders to understand the circumstance and to collaborate with each others [28] . In our method, the scores of scope, schedule and product quality risks provide clear criteria for stakeholders' consensus when they are making release plans choice. The comparable risks' scores, which differ from unstructured risks analysis method in traditional XP practice, reduce problems when release plans are negotiated. Thirdly, the method will make out of a risk-driven XP process for developers to guide their XP practice. Furthermore, the method not only can be used for XP iterations, but also for long-time plans such as milestone plans and/or even software life cycle development with adaptive planning method. This general framework of the method suggests that it could also be used in other IID methods to improve their release planning. Release planning is one of the essential tasks in IID [6] . There are two kinds of release planning method for IID: predictive planning and adaptive planning [12] . Predictive planning means that developers make a detailed plan covering the whole software life cycle. On the contrary, according to the adaptive planning methodology, developers only make the detailed plan for a short time and keep a rough long-time plan. The detail plan covers a few release millstones or even only one iteration. Adaptive planning is more suitable for IID [12, 13] . XP release planning is a typical adaptive planning. XP practicers plan release only for the Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. next iteration generally. The long-time plan keeps rough for easy adjustment.. In the early research of release planning, researchers focused on the method of assessing requirements' value and estimating cost [14, 15, 16] . Based on quantitive value evaluation and cost estimation of requirements, optimizing methods are used to select suitable combinations from all requirements [14, 15, 18] for iterations. Recently, some researchers concentrate on the inconsistent requirements' value from multi-stakeholder viewpoints [17, 19] and dependencies among requirements [20, 21] . They suggest that the inconsistent value and dependencies should be considered when the optimizing methods are used. However, these methods are not suitable for XP release planning. The premise of these methods is that there are detailed requirements and architecture design before implementation, which leads to a predictive plan naturally. In XP practice, this premise can rarely be satisfied [5] .. The vague descriptions of techniques in XP method always make it difficult to develop, negotiate, and decide a release plan. To improve it, [12] uses "Dot Voting" or architectural significance, risk and value score to make a release plan. But some issues are still unclear such as negotiation. When XP practicers use the method for release planning, they still feel difficult in deciding what information they should collect and how to make feedbacks to customers to reach the agreement about a release plan. Some problems caused by unsuitable releasing plan in XP practice are reported such as that developers are unable to finish project for absence of integrated system viewpoints [9, 10, 22, 23] , inadequate negotiation during release planning [11] , high development organization risks caused by excessive dependence on personal experiences [8] , and so on. Therefore, an exact method is needed for developers to follow during XP release planning.

O O O O O O B I B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O B B I O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B B I O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O B I O O O O O O O O O O O O O O O O O O O O B O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O B B I O O O O O O O O B O O O O O O B B I O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B B I O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O B B I O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B B I B O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O B O O O O O O B O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I B I O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B B I O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B B I O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O B O B O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O B O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B B I


Multimodal neuroimaging computing: a review of the applications in neuropsychiatric disorders Abstract Multimodal neuroimaging is increasingly used in neuroscience research, as it overcomes the limitations of individual modalities. One of the most important applications of multimodal neuroimaging is the provision of vital diagnostic data for neuropsychiatric disorders. Multimodal neuroimaging computing enables the visualization and quantitative analysis of the alterations in brain structure and function, and has reshaped how neuroscience research is carried out. Research in this area is growing exponentially, and so it is an appropriate time to review the current and future development of this emerging area. Hence, in this paper, we review the recent advances in multimodal neuroimaging (MRI, PET) and electrophysiological (EEG, MEG) technologies, and their applications to the neuropsychiatric disorders. We also outline some future directions for multimodal neuroimaging where researchers will design more advanced methods and models for neuropsychiatric research. Neuroimaging has advanced rapidly in the past two decades. The advanced non-invasive neuroimaging techniques, e.g., magnetic resonance imaging (MRI), positron emission tomography (PET), electroencephalography (EEG), and magnetoencephalography (MEG), have enabled the visualization and analysis of the brain function and structure in unprecedented detail and transformed the way we study the nervous system under normal and pathological conditions [1] , particularly neuropsychiatric disorders including neurological and psychiatric disorders that affect the nervous system [2] [3] [4] .. In the US, President Obama's announcement of the 'Brain Research through Advancing Innovative Neurotechnologies (BRAIN) Initiative' on his state of the union address on April 2013 fueled resurgent interest in the neuroscience with a bold commitment to better understand the brain over the forthcoming decade [4] . Similar projects have been undertaken in the European Union [5] and Asia [6] .. Multimodal neuroimaging, which we declare as the summation of information from different neuroimaging modalities, has become one of the major drivers in neuroimaging research due to the recognition of the clinical benefits of multimodal data [7, 8] , and the better access to hybrid devices, e.g., PET/CT [9, 10] , PET/MRI [11] , and PET/MRI/EEG [12] . Multimodal neuroimaging data can either be obtained from simultaneous imaging measurement (EEG/fMRI [13] , PET/CT [14] ), or integration of separate measurements (PET and sMRI [15] , sMRI and dMRI [16] , fMRI and dMRI [17] ).. Multimodal neuroimaging advances neuroscience research, i.e., neurology, psychiatry, neurophysiology, and neurosurgery, by overcoming the limitation of individual modalities and by allowing a more comprehensive picture of the brain. For instance, we can jointly analyze the structure and function using the data provided by PET/CT and PET/MRI; EEG combined with functional MRI (fMRI) improves the spatiotemporal resolution that cannot be achieved by the single modality alone. Multimodal neuroimaging can also cross-validate findings from different sources and identify associations and patterns, e.g., causality of brain activity can be deduced by linking dynamics in different imaging readings. It can provide access, in an experimental setting, to determine the roles of different brain areas from multiple perspectives.. The growth of neuroimaging has spurred a parallel development of multimodal neuroimaging computing, which focuses on computational analysis of multimodal neuroimaging data, including pre-processing, feature extraction, image fusion, machine learning, visualization, and post-processing. These computational advances help to address the variations in spatiotemporal resolution and merge the biophysical/biochemical information in images [18] .. We conducted a search on PubMed using the keywords 'multimodal AND neuroimaging' up to '31 Dec 2014.' There were 1461 relevant publications retrieved from the database. Figure 1 illustrates how multimodal neuroimaging in neuroscience research has rapidly expanded over the past 10 years. In 2004, there were 30 publications, and in 2014, there were close to 300 (indicated by the green area). There is a wide range of applications of multimodal neuroimaging, clinical and non-clinical, including building a brain machine interface (BMI) [19] , tracing neural activities and information pathways [20] , mapping mind and behavior to brain regions [21] [22] [23] , evaluating the effects of pharmacological treatments [24, 25] , and image-guided therapy (IGT) [26] [27] [28] .. An important clinical application is the provision of functional and anatomical data for diagnosis of neuropsychiatric disorders [3, 4] . In another PubMed search on these 1461 publications, using the keywords '(multimodal AND neuroimaging) AND (neuropsychiatric OR neurological OR psychiatric),' a substantial proportion (over 30%) of the relevant results focused on the neuropsychiatric disorders (see blue area in Fig. 1 ). The number of publications dramatically increased each year from 10 to 121 in the period 2004-2014.. Previous reviews mainly focused on a single neuropsychiatric disorder, and summarize the image-based findings of them. For Alzheimer's disease (AD), for example, Perrin briefly reviewed the multimodal techniques, including PET, fMRI, structural MRI (sMRI), and biochemical examination of cerebrospinal fluid (CSF), to detect AD pathology [29] . Ewers et al. integrated the findings on changes in cortical gray matter volume, white matter fiber tracts, and brain metabolism of patients [30] , and discussed the sequential changes in neuroimaging biomarkers during different disease stages [31] , similar to the review of Lin et al. [32] . In a more recent review, Nasrallah et al. extended a review to other forms of neurodegenerative dementia [33] . More in-depth reviews on other neuropsychiatric disorders can be found in Sect. 3.. The goal of this review differs from those above in that our interest is to review the recent advances in multimodal neuroimaging and evaluate its applications in neuropsychiatric disorders. Such a review will provide a clearer picture of the current status and offer insights and inspiration to researchers as they design better models/methods for future research.. An extensive review of the image-based findings in neuropsychiatric disorders is beyond the scope of this paper, and we instead review recent studies with a focus on the applications of multimodal neuroimaging, and refer the readers to other reviews for the detailed findings. In Sect. 2, we provide an overview of the common multimodal neuroimaging techniques, and analyze the spatial/ temporal resolution, functional/structural connectivity, sensitivity/specificity to brain changes, risks/benefits for clinical applications, computing workflows, and future potential. In Sect. 3, we discuss how these neuroimaging techniques can complement each other, and how they are applied in neuropsychiatric disorders. In Sect. 4, we outline future directions for multimodal neuroimaging in neuropsychiatric research.

B B O O O O O O O B O O B B O O O O O O O O O O O O O O O O O O O O O B B O O O O O O O O B O B B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B B O O O O O O O O O O O O B O O O O O O O O B B O O O O O O O O O O B O B O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B B O O O O O O O O O O B O O O O O O O O O B O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O B B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O B B O O O O O O O B B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O B O O O O O O O O O O O O O O O O O O B B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O B O B O B O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O B B O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O B B O O O O O O O O O O O O O O O O O O O O O B B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O B O O O O O O O O O B B O B O


Impact of the Physical Layer Modeling on the Accuracy and Scalability of Wireless Network Simulation Recent years have witnessed a tremendous growth of research in the field of wireless systems and networking protocols. Consequently, simulation has appeared as the most convenient approach for the performance evaluation of such systems and several wireless network simulators have been proposed in recent years. However, the complexity of the wireless physical layer (PHY) induces a clear tradeoff between the accuracy and the scalability of simulators. Thereby, the accuracy of the simulation results varies drastically from one simulator to another. In this paper, we focus on this tradeoff and we investigate the impact of the physical layer modeling accuracy on both the computational cost and the confidence in simulations. We first provide a detailed discussion on physical layer issues, including the radio range, link and interference modeling, and we investigate how they have been handled in existing popular simulators. We then introduce a flexible and modular new wireless network simulator, called WSNet. Using this simulator, we analyze the influence of the PHY modeling on the performance and the accuracy of simulations. The results show that the PHY modeling, and in particular interference modeling, can have a significant impact on the behavior of the evaluated protocols at the expense of an increased computational overhead. Moreover, we show that the use of realistic propagation models can improve the simulation accuracy without inducing a severe degradation of scalability.This review is far from being exhaustive and other available simulators with wireless support include OPNET, OMNeT++, J-Sim, QualNet, etc.The literature provides a lot of papers analyzing the accuracy and the complexity of wireless network simulations.In [9] , the authors investigate the accuracy of three popular simulators (NS2, GloMoSim and OPNET). They show a significant divergence in the obtained results Volume 85, Number 9 SIMULATION 575 Hamida, Chelius, and Gorce Elyès Ben Hamida is a PhD candidate in the INRIA ARES team of INRIA hosted at . He is a member of the CITI laboratory and the leader of the team SWING of INRIA Rhone-Alpes. 588 SIMULATION Volume 85, Number 9 In wireless multi-hop networks (i.e. ad hoc, sensor and mesh networks), there is a growing need for the performance evaluation of protocols and distributed applica-tions. Three main methodologies are generally adopted to investigate the performance and the behavior of networking protocols: theoretical analysis, experimentation and simulation.. Owing to the high complexity of wireless communications, analytical studies are often based on unrealistic assumptions and inaccurate physical layer, e.g., the socalled unit disk graph model that has been widely used to model the radio range of wireless nodes [1] [2] [3] [4] . Moreover, analytical studies usually focus on a given layer ignoring the impact of the other network and physical layers. The experimentation approach may provide valuable insight into the performance and the behavior of wireless systems. However, setting-up testbeds is a tedious and expensive task. For these reasons, simulations are generally considered as the most convenient methodology to explore the behavior of protocols and distributed applications. Nonetheless, the complexity of the physical phenomena constituting the radio medium introduces a tradeoff between accuracy and computational cost in wireless network simulation.. Several wireless network simulators have been proposed in recent years. Examples are NS-2 [5] , GloMoSim [6] , JiST/SWANS [7] , GTSNetS [8] , etc. They all provide an advanced and complete simulation environment to investigate and evaluate networking protocols and wireless systems. However, the complexity of the wireless physical layer (PHY) enforces the use of simplified models and unrealistic assumptions for the design of simulators. As a consequence, the retained tradeoff between accuracy and computational load varies drastically from one simulator to another. As has been highlighted in previous publications [9] [10] [11] [12] , these variations have a large impact on the results of a simulation, and the obtained simulation results may significantly diverge from experimental results [11] . A correct modeling of the PHY layer is then crucial for confidence in the simulation results. Nonetheless, most wireless network simulators are still based on inaccurate and heterogeneous PHY models [10] . The justification for this prevailing low accuracy is scalability.. In this paper, we focus on the physical layer modeling issue and we investigate its impact on the accuracy and the complexity of wireless network simulations. The question we raise is what is the real cost of PHY simulation accuracy? We deliberately neglect optimizations and scalability of the node and protocol aspects of simulations, which have been the subject of other studies [13] . To evaluate the PHY tradeoff, we introduce a flexible and modular simulation framework, called WSNet [14] . We dropped the idea of using existing simulators for such a study as none of them offer a sufficient diversity in PHY models. Comparing several existing simulators would not have helped, as they differ in many other aspects than PHY modeling. We thus use WSNet to better understand the impact of the PHY layer on the obtained simulation results.. The remainder of this paper is organized as follows. In Section 2, we review the related works. In Section 3, we discuss the main aspects of wireless communications. Then, in Section 4, we review some common wireless network simulators and compare their PHY modeling. Next, the WSNet simulation framework is presented in Section 5. In Section 6 we investigate the impact of the PHY modeling on the simulation speedup, and in Section 7 we analyze the limited interference model. Finally, the tradeoff involving accuracy and complexity is illustrated in Section 8. A multitude of research papers have recently presented simulation results for the performance evaluation of wireless networks. Most of these simulations are based on unrealistic and inaccurate physical models, which may have a major impact on the confidence in the results. In this paper, through the introduction of the WSNet simulator, we have studied the impact of the PHY layer modeling on the scalability and the accuracy of wireless network simulations.. To the question raised in the introduction, what is the real cost of PHY simulation accuracy, we can give the following conclusions. Accuracy has a variable cost depending on the considered PHY aspect. Regarding the radio range modeling, the cost of using a realistic model remains low, especially compared with the gain that can be achieved in terms of accuracy. As a consequence, the unit-disk graph model can be easily substituted for a more realistic propagation model without a severe degradation in the simulation scalability. However, interference modeling, which is the point where current simulators differ the most, induces a high overhead. This extra overhead remains regular when the interference modeling is refined through the addition of realistic link and modulation models. As a consequence, it seems regrettable to precisely simulate interference without considering a realistic modulation or link model. As shown in this paper, interference and link modeling have a significant impact on the behavior and the performance of the evaluated protocols.. Finally, we conclude that given these trends, it remains up to the user choice to trade PHY accuracy for a desired scalability. However, we must keep in mind that, as highlighted in this work, the validity of simulation results is highly dependent on the choices made for the PHY modeling. In particular, if the use of optimization techniques drastically reduces the computational load, it does not solve the accuracy versus scalability tradeoff. Considering the limited interference model, for example, the optimization performance and correctness now depend on the chosen limited range. In the future, we plan to investigate the statistical interference model in more detail. In parallel to the empirical model proposed in [29] , we think that a stochastic theoretical analysis would be helpful in determining an adequate range and the distribution of interference stemming from nodes outside the interference range. The goal is to still enhance the scalability of simulators without affecting the confidence in the simulation results.. Volume 85, Number 9 SIMULATION 587

O O O B I I O O O O O O B I I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I I O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I I O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O B I O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O


On-line algorithms for computing mean and variance of interval data, and their use in intelligent systems When we have only interval ranges x i ; xi] of sample values x1; : : : ; xn, what is the interval V ; V ] of possible values for the variance V of these values? There are quadratic time algorithms for computing the exact lower bound V on the variance of interval data, and for computing V under reasonable easily verifiable conditions. The problem is that in real life, we often make additional measurements. In traditional statistics, if we have a new measurement result, we can modify the value of variance in constant time. In contrast, previously known algorithms for processing interval data required that, once a new data point is added, we start from the very beginning. In this paper, we describe new algorithms for statistical processing of interval data, algorithms in which adding a data point requires only O(n) computational steps.

O O O O B O B O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O B O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O


High Dimensional Similarity Joins: Algorithms and Performance Evaluation AbstractÐCurrent data repositories include a variety of data types, including audio, images, and time series. State-of-the-art techniques for indexing such data and doing query processing rely on a transformation of data elements into points in a multidimensional feature space. Indexing and query processing then take place in the feature space. In this paper, we study algorithms for finding relationships among points in multidimensional feature spaces, specifically algorithms for multidimensional joins. Like joins of conventional relations, correlations between multidimensional feature spaces can offer valuable information about the data sets involved. We present several algorithmic paradigms for solving the multidimensional join problem and we discuss their features and limitations. We propose a generalization of the Size Separation Spatial Join algorithm, named Multidimensional Spatial Join (MSJ), to solve the multidimensional join problem. We evaluate MSJ along with several other specific algorithms, comparing their performance for various dimensionalities on both real and synthetic multidimensional data sets. Our experimental results indicate that MSJ, which is based on space filling curves, consistently yields good performance across a wide range of dimensionalities. A NALYSIS of large bodies of data has become a critical activity in many different contexts. The data types include audio, images, and time series, as well as mixtures of these. A useful and increasingly common way of carrying out this analysis is by using characteristics of data items to associate them with points in a multidimensional feature space so that indexing and query processing can be carried out in the feature space.. Each feature vector consists of d values, which can be interpreted as coordinates in a d-dimensional space, plus some associated content data. Application dependent methods are provided by domain experts to extract feature vectors from data elements and map them into d dimensional space. Moreover, domain experts supply the measure of ªsimilarityº of two entities based on their feature vectors. An important query in this context is the ªsimilarityº query that seeks all points ªcloseº to a specified point in the multidimensional feature space. An additional query of interest is a generalization of the relational join, specifically the multidimensional (or similarity) join query, which reports all pairs of multidimensional points that are ªcloseº (similar) to each other, as measured by some function of their feature value sets.. In a multimedia database that stores collections of images, a multidimensional join query can report pairs of images with similar content, color, texture, etc. The multidimensional join query is useful for both visual exploration and data mining, as well. In a database of stock price information, a multidimensional join query will report all pairs of stocks that are similar to each other with respect to their price movement over a period of time. We evaluate several algorithms for performing joins on high dimensionality data sets.. Agrawal et al. [1] proposed the use of Fourier transforms to map time series data into points in a multidimensional space. The resulting points are inserted into a multidimensional indexing structure. Given a distance predicate and a query point, all the points within distance from the query point according to a distance metric can be found by consulting the index. That way, assuming that the query point corresponds to a specific time series and is obtained via the transform, all the time series that are similar to this one will be reported. Faloutsos et al. extend time series similarity to apply to fragments (subsequences) of a time series [10] . Each data sequence is fragmented and sequence fragments are mapped into points in a multidimensional space. That way, subsequence similarity queries can be answered. Agrawal et al. extend previous work on time series similarity to make it robust with respect to the presence of noise and scaling [2] . Queries on multimedia data bases in general are discussed by Faloutsos [8] .. This paper is organized as follows: In Section 2, we formalize the problem at hand. In Section 3, we survey and discuss several algorithms for computing multidimensional joins. Section 4 introduces a new algorithm to compute multidimensional joins, named Multidimensional Spatial Join (MSJ). Section 5 compares the performance of some of the algorithms experimentally, using both synthetic and real data sets. Finally, Section 6 contains conclusions and a discussion of future work. In this paper, we have investigated the problem of computing multidimensional joins between pairs of multidimensional point data sets. We have described several algorithmic approaches that can be applied to the computation of multidimensional joins. There are two main contributions in this work. First, we presented the MSJ algorithm and we experimentally showed that it is a promising solution to the multidimensional join problem. Second, we presented several algorithmic approaches to the multidimensional join problem and discussed their strengths and weaknesses. Nested loops is applicable in all circumstances, but has a computational complexity that matches the complexity of the multidimensional join problem. Its performance is poor due to redundant processor and IO work, which, for a variety of data distributions, can be avoided. Introducing replication must be done with care, particularly in multiple dimensions. Replication always leads to additional processor and IO work. Our experimental results indicate that algorithms based on space filling curves and, specifically, MSJ, seem promising for computing multidimensional joins across a range of dimensionalities, even if multidimensional R-trees indices already exist for the data sets involved.. Several directions for future work on multidimensional joins are possible. The join result size of a multidimensional join operation is very sensitive to data distributions and to the value of . For some data distributions, even very small values of can yield very large result sizes. We feel that multidimensional join queries will be useful in practice only if they can be done interactively. A user will issue a query supplying an value and, after examining the results, might refine the choice of . To facilitate this type of interaction, it would be beneficial to restrict the join result size, thus saving a substantial amount of computation for generating the complete list of actual joining pairs. One possible, and useful, restriction would be to report, for each multidimensional point, its k nearest neighbors located at most distance from the point. Adapting the multidimensional join query to perform this type of computation would be useful.. Both space filling curve approaches discussed in this paper impose a canonical decomposition of the space. Investigation of the effect of alternative multidimensional space organizations in the spirit of the Vantage Point Tree [26] might be helpful in many instances of the problem. Moreover, investigation of randomized algorithms might prove beneficial when approximate results are acceptable. Computational geometry offers many efficient algorithms for the solution of geometric problems in main memory. Investigations of possible applications and generalizations of such algorithms to apply to secondary storage is likely to be a fruitful area of research. We have presented two categories of algorithms that can be used to solve the multidimensional join problem. In this paper, we do not include Divide and Conquer algorithms in our experiments due to their known worst case memory and IO requirements. Although MDC will yield an efficient solution for low dimensionalities, it is inapplicable for higher dimensionalities since, in the worst case, it requires a buffer pool size that is exponential in the dimensionality. Similarly, the -KDB approach will yield very efficient solutions for certain data distributions, but the algorithm's worst case memory requirement and IO complexity are prohibitive for data sets on which partitioning on more than one dimension has to be imposed.. In the next section, we introduce an algorithm, called Multidimensional Spatial Join (MSJ), for the multidimensional join problem. MSJ can use any number of dimensions to decompose the space without affecting its IO cost.

O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O


Map fusion for nested datatypes in intensional type theory A definitional extension LNGMIt of the Calculus of Inductive Constructions (CIC), that underlies the proof assistant Coq, is presented that allows also to program with nested datatypes that are not legal data type definitions of CIC since they are "truly nested". LNGMIt ensures termination of recursively defined functions that follow iteration schemes in the style of N. Mendler. Characteristically for them, termination comes from polymorphic typing instead of structural requirements on recursive calls.LNGMIt comes with an induction principle and generalized Mendler-style iteration that allows a very clean representation of substitution for an untyped lambda calculus with explicit flattening, as an extended case study.On the generic level, a notion of naturality adapted to generalized Mendler-style iteration is developed, and criteria for it established, in particular a map fusion theorem for the obtained iterative functions.Concerning the case study, substitution is proven to fulfill two of the three monad laws, the third one only for "hereditarily canonical" terms, but this is rectified by a relativization of the whole construction to those terms. All the generic results and the case study have been fully formalized with the Coq system. Nested datatypes [1] are families of datatypes that are indexed over all types and where different family members are related by the datatype constructors, i. e., there is at least one datatype constructor that relates family members with different indices. Let κ 0 stand for the universe of (mono-)types that will be interpreted as sets of computationally relevant objects. Then, let κ 1 be the kind of type transformations, i. e., κ 1 := κ 0 → κ 0 . A typical example for a type transformation is List of kind κ 1 , where List A is the type of finite lists with elements from type A. Therefore, List itself is a family of datatypes that is indexed over all types. But List is not a nested datatype since the recursive type equation for List, i. e., List A = 1 + A × List A, does not relate lists with different indices.. 1 A simple example of a nested datatype where an invariant is guaranteed through its definition are the powerlists [2] (or perfectly balanced, binary leaf trees [3] ), with recursive type equation PList A = A + PList(A × A), where the type PList A represents trees of 2 n elements of A with some n ≥ 0 (that is not fixed). Clearly, this is only true if we take the least solution of the recursive type equation. Throughout this article, we will only consider least fixed points, i. e., our nested datatypes are inductive families.. The basic example where variable binding is represented through a nested datatype is a typeful de Bruijn representation of untyped lambda calculus, following ideas of [4, 5, 6] . The lambda terms where the names of the free variables are taken from A are given by Lam A, with recursive type equation. The first summand gives the variables, the second represents application of lambda terms and the interesting third summand stands for lambda abstraction. It uses the option type opt A that has exactly one more element than A, namely None, while the injection of A into opt A is called Some. The idea is that an element of Lam(opt A) is seen as an element of Lam A through lambda abstraction of the extra variable with the designated name None in opt A. Note that we do not assume that this variable occurs freely in the body of the abstraction. The type A is only the name space for the variables, not the set of names of variables that effectively occur, and it can be infinite and even any type in κ 0 , including types of the form Lam B.. Programming with nested datatypes is possible in the functional programming language Haskell (and Haskell is the language in which the example programs of [1] and many other papers since then, up to the recent [7] , are presented), but this article is concerned with frameworks that guarantee termination of all expressible programs, such as the Coq proof assistant [8] (for a textbook on Coq, see [9] ) that is based on the Calculus of Inductive Constructions (CIC), presented with details in [10] , which only recently (since version 8.1 of Coq) evolved towards a direct support for many nested datatypes that occur in practice, e. g., PList and Lam are fully supported with recursion and induction principles. Although Coq is officially called a "proof assistant", it is already in itself 2 a functional programming language. This is certainly not surprising since it is based on an extension of polymorphic lambda calculus (system F ω ), although the default type-theoretic system of Coq since version 8.0 is "pCIC", the Predicative Calculus of (Co)Inductive Constructions. System F ω is also the framework of the article with Abel and Uustalu [12] that presents a variety of terminating iteration principles on nested datatypes for a notion of nested datatypes that also allows true nesting, which is not supported by the aforementioned recent extension of CIC. We call a nested datatype truly nested (non-linear [13] ) if the recursive type equation for the inductive family has at least one summand with a nested call to the family name, i. e., the family name appears somewhere inside the type argument of a family name occurrence of that summand. In other words, not only does the right-hand side of the recursive type equation refer to the family name with a type argument B different from the type variable A on the left-hand side, but the type expression B even mentions the family name itself.. The functions that are defined by a direct application of GMIt are uniquely determined (up to pointwise propositional equality) by their recursive equation (Theorem 4), under a reasonable extensionality assumption. It is shown when these functions are themselves extensional (Theorem 5) and when they are "natural" (Theorems 6 and 7), and what natural has to mean for them (Definition 2), since they have types of the form ∀A κ0 ∀B κ0 . (A → HB) → XA → GB for type transformations X, H, G. For the usual polymorphic function spaces described by ∀A κ0 . XA → GA, naturality is well-established, but for our situation, naturality does not seem to have been defined before.. By way of the example of lambda terms with explicit flattening-the truly nested datatype Lam-the merits of the general theorems about LNGMIt will be studied, mainly by a representation of parallel substitution on Lam using GMIt and a proof of the monad laws for it. One of the laws fails in general, but it can be established for the hereditarily canonical terms. Their inductive definition (using the inductive definition mechanism of pCIC) refers to the notion of free variables that is obtained from the scheme MIt. The whole development for Lam can be interpreted within the hereditarily canonical terms, and for those, parallel substitution is shown to give rise to a monad.. All the concepts and results have been formalised in the Coq system, also using module functors having as parameter a module type with the abstract specification of LNGMIt, in order to separate the impredicative justification from the predicative formulation and its general consequences that do not depend on an implementation/justification. The Coq code is available [18] and is based on [19] .. The following section 2.1 presents notational conventions and repeats technical content from the introduction. Section 2.2 introduces to Mendler's style of obtaining terminating recursive programs and develops the notions of free variables and renaming in the case study, leading to the question of naturality. Section 2.3 presents GMIt and defines a representation of substitution for the case study, leading to a list of properties one would like to prove about it. In Section 3, an appropriate notion of naturality is defined for the functions that are instances of the iteration scheme in GMIt. In Section 4.1, the already existing system LNMIt with the logic for MIt is properly defined, while Section 4.2 defines the new extension LNGMIt as a logic for GMIt and proves the general results mentioned above. This culminates in general criteria that guarantee naturality, one of them is map fusion. Section 5 problematizes the results obtained so far in the case study. Hereditary canonicity is the key notion that allows to pursue that case study where the originally desired results are obtained for a variant of the truly nested datatype where all terms have to come with proof of hereditary canonicity. Section 6 concludes.. The present article is a thoroughly revised and extended version of the conference paper [20] . In particular, there are now proofs of all numbered lemmas and theorems, with the exception of Theorem 1 and Theorem 9, that belong to the realm of the case study and whose proof techniques do not seem necessary to present. Section 5 was rather sketchy in the conference version, and there was nothing related to the present section 5.3. Still, the reader is invited to consult the Coq code [18] , in particular for the case study.. Acknowledgements: to Andreas Abel for all the joint work in this field and some of his L A T E X macros and the figure I reused from earlier joint papers, and to the referees for their thoughtful advice that led to many changes in the presentation and also to new material in the Coq scripts. In an early stage of the present results, I have benefitted from support by the European Union FP6 IST Coordination Action 510996 "Types for Proofs and Programs".

O O O O O O O B I O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O


Auditing associative relations across two knowledge sources Objectives: This paper proposes a novel semantic method for auditing associative relations in biomedical terminologies. We tested our methodology on two Unified Medical Language System (UMLS) knowledge sources. Methods: We use the UMLS semantic groups as high-level representations of the domain and range of relationships in the Metathesaurus and in the Semantic Network. A mapping created between Metathesaurus relationships and Semantic Network relationships forms the basis for comparing the signatures of a given Metathesaurus relationship to the signatures of the semantic relationship to which it is mapped. The consistency of Metathesaurus relations is studied for each relationship. Results: Of the 177 associative relationships in the Metathesaurus, 84 (48%) exhibit a high-degree of consistency with the corresponding Semantic Network relationships. Overall, 63% of the 1.8 M associative relations in the Metathesaurus are consistent with relations in the Semantic Network. Conclusion: The semantics of associative relationships in biomedical terminologies should be defined explicitly by their developers. The Semantic Network would benefit from being extended with new relationships and with new relations for some existing relationships. The UMLS editing environment could take advantage of the correspondence established between relationships in the Metathesaurus and the Semantic Network. Finally, the auditing method also yielded useful information for refining the mapping of associative relationships between the two sources.Published by Elsevier Inc. The problems that were revealed by the auditing process described in this paper not only highlight some specific problems and errors in our mapping, but they also lead us to make a number of recommendations. First, and, perhaps, most helpful for ensuring consistency of mapping between terminologies, would be a recommendation that developers explicitly define not only the concepts in their terminologies, but also the relationships that link those concepts. Any terminology alignment effort would benefit enormously if all terminology developers would agree to this basic requirement. Second, just as we identified some problems in the Metathesaurus source vocabularies, we also identified some possible improvements to the Semantic Network. The Semantic Network would benefit from being extended with several new relationships and with new relations for some existing relationships. Finally, the UMLS editing environment could take advantage of the correspondence established between relationships in the Metathesaurus and the Semantic Network and could potentially validate new relations as they enter the system, rather than relying exclusively on a post-processing auditing step.. In this paper we developed a semantically-based method for auditing associative relations in biomedical terminologies. Importantly, these terminologies participate in the Unified Medical Language System (UMLS). This has the consequence that each of the terminologies has been enriched in a variety of ways. For our purposes, the enrichment of concepts by semantic types is the critical foundation on which we have built what we believe to be a novel auditing method. While our auditing was specifically directed to the results of a process that mapped associative relationships from a variety of sources to the UMLS Semantic Network, in principle, it could be applied to the mapping, or alignment, of any set of associative relationships to any other set. The only requirement would be that the participating terminologies have benefited from the semantic typing of their concepts. If that criterion has been met, then the auditing process can take advantage of our methodology for creating and subsequently comparing the semantic signatures of the relationships that have been mapped to each other.. Our auditing process revealed a certain level of consistency in our mapping, but it also uncovered a number of problems. This is exactly the role of an auditing process. Ideally, the process validates the work that has been done, but when it does not, it highlights areas for improvement. The auditing process will only be successful if it is seen as an iterative, rather than a one-time process. That is, once the auditing identifies the problems, attempts should be made to resolve them, and then the auditing cycle should begin again. In the following, we report the results of transforming associative Metathesaurus and Semantic Network relations into their signatures, and we report the consistency of the mappings according to several criteria. There are a number of previous publications in the area of terminology/ontology auditing. Much of this research focuses on evaluating terminologies with respect to their hierarchical structure. Cimino [3, 4] and Chen et al. [32] identify inconsistencies between the hierarchical relations in the UMLS Metathesaurus and the Semantic Network in order to audit Metathesaurus hierarchical relations. Bodenreider et al. [33] , Ceuster et al. [2, 34] , Campbell et al. [35] and Wang et al. [8] audited the hierarchical relations in SNOMED CT. Auditing of cycles in of hierarchical relations in the UMLS is discussed in [36, 37] . The focus of our study, however, is the auditing of associative (not hierarchical) relations in biomedical terminologies, which is intended to complement work on auditing hierarchical relations.. Less work has been done on terminology auditing from the perspective of associative relations. Campbell et al. [35] used lexical techniques between concepts with common substrings in SNOMED CT to identify potential missing associative (as well as hierarchical) relations. Wang et al. [8] and Min et al. [7] used a partition of a hierarchy of SNOMED and NCI Thesaurus, respectively, into areas of concepts with the same relationships to uncover missing and incorrect associative relations. Cohen et al. [38] audited the Gene hierarchy of NCI Thesaurus for missing associative relationships, using knowledge from the NCBI Entrez Gene database and the Biological Process hierarchy in the NCI Thesaurus. These research studies differ from our own insofar as we focus on identifying inconsistencies in mappings between the computed signatures of Metathesaurus relationships and Semantic Network relationships. Cimino [3] , however, infers associative relations between semantic types of the UMLS Semantic Network from Metathesaurus relations between concepts participating in those semantic relationships.. More generally, this paper is a contribution to the study of relationships in terminologies [39, 40] and extends previous work on the consistency of relations between the UMLS Metathesaurus and Semantic Network [41] . The methodology used for this audit was developed in part based on the fact that the source materials do not easily support a logic-based approach. That said, logic-based approaches to auditing terminologies/ontologies represent an important area of research. Schulz et al. [42] and Rogers et al. [43] used description logic techniques to audit the Read Codes. Cornet and Abu-Hanna [44] implemented DICE TS in Protégé Frames to audit the hierarchical relationships in DICE. The method used for auditing Metathesaurus relations can be summarized as follows. All relations from both the Metathesaurus and the Semantic Network are transformed into signatures, an abstract representation of the kinds of entities involved with each relationship. More specifically, we use semantic groups to characterize entities in the domain and in the range of the relationships. Once the signatures have been established for all relationships, we compare the signature(s) of each Metathesaurus relationship to the signature(s) of the Semantic Network relationship mapped to. Fig. 4 illustrates the process. Shared signatures are indicative of consistent relationships, which is a necessary, but insufficient condition for the validity of the mapping between Metathesaurus and Semantic Network relationships. In contrast, discrepancies in the signatures can reveal inaccurate relations in the Metathesaurus, inaccurate mapping between Metathesaurus and Semantic Network relationships, wrong concept categorization, missing relations in the Semantic Network, or any combination thereof.

O O O O O O O O O O O O O O O O O O O O B I O O O O O O B I I I I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O B I I I I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O


Cross-ambiguity function domain multipath channel parameter estimation A new array signal processing technique is proposed to estimate the direction-of-arrivals (DOAs), time delays, Doppler shifts and amplitudes of a known waveform impinging on an array of antennas from several distinct paths. The proposed technique detects the presence of multipath components by integrating cross-ambiguity functions (CAF) of array outputs, hence, it is called as the cross-ambiguity function direction finding (CAF-DF). The performance of the CAF-DF technique is compared with the space-alternating generalized expectation-maximization (SAGE) and the multiple signal classification (MUSIC) techniques as well as the Cramér-Rao lower bound. The CAF-DF technique is found to be superior in terms of root-mean-squared-error (rMSE) to the SAGE and MUSIC techniques. The next generation mobile radio communication systems are faced with the ever increasing demand for higher communication rates. In order to meet this demand, the communication systems should obtain an accurate model for the communication channel [1] . For fuller utilization of multipath communication channels, communication systems utilize antenna arrays and sophisticated signal processing techniques to produce estimates for multipath channel parameters including direction-of-arrivals (DOA), time delays, Doppler shifts and amplitudes. There are a multitude of array signal processing techniques proposed for reliable and accurate estimation for these channel parameters. Multipath channel parameter estimation techniques can be grouped into three categories [2] : spectral-based estimation, parametric subspace-based estimation and deterministic parametric estimation. Conventional beamformer, Capon's beamformer [3] and MUSIC [4] can be stated within the first category. In contrast to beamforming techniques, MUSIC algorithm provides statistically consistent estimates and became a highly popular algorithm [5] [6] [7] [8] [9] . The signal subspace fitting (SSF) [10] , weighted subspace fitting (WSF) [11] , estimation of signal parameter estimation via rotational invariance techniques (ESPRIT) [12] and unitary ESPRIT [13] are computationally efficient techniques and belong to the second category. In the last category, maximum likelihood (ML) techniques should be stated [2, 14] . Compared to all other estimation methods, ML has the superior asymptotic performance. The major issue of the ML technique is its high computational complexity associated with the direct maximization of likelihood function. Various indirect maximization * Corresponding author. Fax: +46(0)13 139282. A new array signal processing technique, called as CAF-DF, is proposed for the estimation of multipath channel parameters including the path amplitude, delay, Doppler shift and DOAs. The proposed CAF-DF technique makes use of the CAF computation for joint and reliable estimation of path parameters of individual multipath components. Extensive simulation results show that the CAF-DF technique is superior in terms of rMSE to the SAGE technique over a wide range of SNR levels. Furthermore, the CAF-DF technique provides 2 to 3 dB improvement over the SAGE technique in the SNR of diversity combined detection signal. This improvement provided over the practical operational SNR range of receivers is a very significant advantage of the CAF-DF technique.. Then, in order to compress noise a simple averaging scheme is applied. To do this, a q × 1 vector is created at each antenna output by taking samples that are periodic with T ; . (A.5) matrix. Using this matrix as an input to the classical MUSIC algorithm, DOAs of the each signal source are found [4] . As discussed in coherent integration step of the CAF-DF technique, in order to increase the SNR, with the estimated DOAs each antenna correlated output is phase corrected with respect to the origin of the array and added up. Lastly, Fourier transform of the resultant vector is evaluated to find the Doppler shift of the impinging signal source.. A limitation of the MUSIC occurs when two or more sources are highly correlated, which is the scenario considered in the simulations. Contrary to this bottleneck, for accurate signal models and in medium-high SNR conditions, the MUSIC is a statistically consistent, computationally very efficient and well studied technique in the literature [2] . Moreover, due to its ease of implementation and computational efficiency, it has been used in many different realtime applications successfully [6, 7] . Therefore, since it is a very well-known technique, we wanted to include its relative performance to the CAF-DF and the SAGE techniques in two different channel estimation scenarios.

O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O