Skip Navigation
Text:
Increase font size
Decrease font size

    Doctoral Dissertation Abstracts

    Abram, Gregory D. (1986)
    "Parallel Image Generation with Anti-Aliasing and Texturing"
    Under the direction of Henry Fuchs
    Department of Computer Science Technical Report TR87-005
    Electronic copy available

    This dissertation explores the use of an analytic visibility algorithm for the high-speed generation of anti-aliased images with textures. When visibility is known analytically before any sampling takes place, low-pass filtering for anti-aliasing can be done to arbitrary accuracy at a cost proportionate to the output resolution. Furthermore, since the filtering and sampling processes can be expressed as a set of integrations over the image place, the filtering process can be decomposed into a set of sums of integrations over each visible surface in the image place, allowing the rendering of each visible surface to be done in parallel using an image buffer to accumulate the results. Thus, analytic visibility can serve as the basis for high-speed, high-quality image synthesis.

    In this dissertation, algorithms for computing analytic visibility and for producing filtered renderings from the resulting visible surfaces are presented. In order to provide real-time performance, these algorithms have been designed for parallel execution on simple concurrent structures. Architectures based on these algorithms are presented and simulated to produce expected execution times on a set of test images.

    Ackermann Jr., Arthur F. (1972)
    "Toward A Programming Language for Writing and Checking Mathematical Discourses"
    Under the direction of Donald F. Stanat

    In section 1.1, I begin by hypothesizing some desirable features for an interactive computer system for mathematicians. The requirements for one such feature, proof-checking, are discussed in section 1.2. It is argued that the traditional systems of mathematical logic must be modified before they can provide a suitable basis for writing and checking mathematical discourses [Newsom] in a "natural" language. In chapter 2 an initial candidate for a suitable logical language is discussed and its syntax and computer processing requirements are specified. In appendix 3 a complete discourse on a finite geometry is developed in this language to illustrate its strengths and weaknesses. In addition to providing for higher-order variables with restricted domains, the language utilizes a generalization of the natural deduction notion of tautological consequence. This generalization permits the proof writer to make any inference which can be validated by considering the meaning of the terms used. Such a rule is called a "semantic inference" rule.

    Operationally, in a computer proof-checker an automatic theorem-prover would be used to validate a semantic inference by attempting to prove a corresponding theorem from stated axioms and implied definitions. A first-order resolution theorem-proving program, PROV, was obtained from John K. Dixon at the NIH Heuristics Laboratory and attempts were made to check a few of the simpler inferences made in the proofs in the finite geometry discourse. These results are reported in chapter 4, and a complete, annotated copy of PROV is given in appendix 4.

    The text of this dissertation was prepared using the text-editing program FORMAT [Ferns] in combination with SN0B0L4 [Griswold] programs for creating special graphics by overprinting [Ackermann1].

    Ackerman, Jeremy D. (2002)
    "Application of Augmented Reality to Laparoscopic Surgery"
    Under the direction of Henry Fuchs
    Electronic copy available

    The usefulness and feasibility of an augmented reality visualization system for laparoscopic surgery is examined. This technology could enable physicians to see data, such as medical images, as well as the patient's 3-D anatomy, in the context of the patient rather than viewing a 2-D video monitor. Three new results will be presented:

    1. 1. A study whose chief findings were that augmented reality improves performance for medical students and that exposure to augmented reality may improve later performance under laparoscopic visualization for both medical students and practicing surgeons.
    2. 2. An image processing method that can acquire three-dimensional structure inside the highly specular environment of the abdomen will be shown.
    3. 3. A design for a high-speed depth-extracting laparoscope that can be miniaturized and be made operating room compatible will be shown.

    Laparoscopic surgery is a minimally invasive abdominal surgery that is performed through small incisions. Surgeons view the procedure on a video monitor that shows a camera's view from inside the abdomen through a small telescope inserted through an incision. Laparoscopy is associated with a loss of natural hand-eye coordination because the work is viewed indirectly on a video screen. Augmented reality may improve performance by restoring natural hand-eye coordination during this type of procedure.

    A study of 40 medical students and 8 surgeons was conducted to compare performance of a surgically relevant task under laparoscopic and simulated augmented reality visualization. The study uses simulated augmented reality, a technique in which an idealized augmented reality system is created using physical mock-ups, to explore the utility of future augmented reality systems.

    A proof-of-concept real-time range acquiring laparoscope has been constructed.  The system uses a high-speed implementation of structured light depth extraction.  It uses specialized hardware and algorithms. Results from preliminary studies on biological tissues show the ectiveness of this approach.

    Ahn, Ilsoo (1986)
    "Performance Modeling and Access Methods for Temporal Database Management Systems"
    Under the direction of Richard T. Snodgrass
    Department of Computer Science Technical Report TR86-018
    Electronic copy available

    Conventional database storing only the latest snapshot lack the capability to record and process time-varying aspects of the real world. The need for temporal support has been recognized for over ten years, and recent progress in secondary storage technology is making such support practically feasible.

    There are three distinct kinds of time in databases: transaction time, valid time, and user-defined time. Depending on the capability to support either or both of transaction time and valid time, databases are classified into four types: snapshot, rollback, historical, and temporal. Each of the four types has different semantics and different implementation issues.

    Database systems with temporal support maintain history data on line together with current data, which causes problems in terms of both space and performance. This research investigates the temporally partitioned store to provide fast response for various temporal queries without penalizing conventional non-temporal queries. The current store holds current data and possibly some history data, while the history store contains the rest. The two stores can utilize different storage formats, and even different storage media, depending on the individual data characteristics. Various issues on the temporally partitioned store were studied, and several formats for the history store were investigated.

    To analyze the performance of TQuel queries on various access methods, four models forming a hierarchy were developed: one each for algebraic expressions, database/relations, access paths, and storage devices. The model of algebraic expressions maps the algebraic expression to the file primitive expression, based on information represented by the model of database/relations. The model of access paths maps the file primitive expression to the access path expression, which is converted to the access path cost by the model of storage devices.

    As a test-bed to evaluate the access methods and the models, a prototype of a temporal DBMS was built by modifying a snapshot DBMS. The prototype was used to identify problems with conventional access methods and also to provide performances data to check the analysis results from the models. Reverse chaining, among the temporally partitioned storage structures, was incorporated in the prototype to enhance its performance.

    Ahuja, Vijay (1976)
    "Exposure of Routed Networks to Deadlock"
    Under the direction of Victor L. Wallace

    The deadlock problem is addressed for a class of systems called 'routed networks'. A routed network is a store and forward communication network where all message transmissions follow predefined routes through the network. An approach is developed which permits the subgraphs of the network graph to be checked for presence of a deadlock. The approach rests on the fact that a deadlock in a subgraph exists if and only if a complete weighted matching exists in an appropriately defined bipartite graph. An algorithm for determining whether a deadlock can occur is presented and it is shown to be computationally attractive for reasonably sized networks. The algorithm is applied to resolve this question for some examples of routed networks adapted from the ARPA network.

    Aikat, Jay (2010)
    "An Investigation of the Effects of Modeling Application Workloads and Path Characteristics on Network Performance"
    Under the direction of Kevin Jeffay
    Electronic copy available

    Network testbeds and simulators remain the dominant platforms for evaluating networking technologies today. Central to the problem of network emulation or simulation is the problem modeling and generating realistic, synthetic Internet traffic as the results of such experiments are valid to the extent that the traffic generated to drive these experiments accurately represents the traffic carried in real production networks.

    Modeling and generating realistic Internet traffic remains a complex and not wellunderstood problem in empirical networking research. When modeling production network traffic, researchers lack a clear understanding about which characteristics of the traffic must be modeled, and how these traffic characteristics affect the results of their experiments.

    In this dissertation, we developed and analyzed a spectrum of empirically-derived traffic models with varying degrees of realism. For TCP traffic, we examined several choices for modeling the internal structure of TCP connections (the pattern of request/response exchanges), and the round trip times of connections. Using measurements from two different production networks, we constructed nine different traffic models, each embodying different choices in the modeling space, and conducted extensive experiments to evaluate these choices on a 10Gbps laboratory testbed.

    As a result of this study, we demonstrate that the old adage of "garbage-in-garbage-out" applies to empirical networking research. We conclude that the structure of traffic driving an experiment significantly affects the results of the experiment. And we demonstrate this by showing the effects on four key network performance metrics: connection durations, response times, router queue lengths, and number of active connections in the network.

    Airey, John M. (1990)
    "Increasing Update Rates in the Building Walkthrough System with Automatic Model-Space Subdivision and Potentially Visible Set Calculations"
    Under the direction of Frederick P. Brooks, Jr.
    Department of Computer Science Technical Report TR90-027
    Electronic copy available

    Pre-processing some building models can radically reduce the number of polygons processed during interactive building walkthroughs. New model-space subdivision and potentially visible set (PVS) calculation techniques, used in combination, reduce the number of polygons processed in a real building model by an average factor of 30, and a worst case factor of at least 3.25.

    A method of recursive model-space subdivision using binary space partitioning is presented. Heuristics are developed to guide the choice of splitting planes. The spatial subdivisions resulting from binary space partitioning are called cells. Cells correspond roughly to rooms.

    An observer placed in a cell may see features exterior to the cell through transparent portions of the cell boundary called portals. Computing the polygonal definitions of the portals is cast as a problem of computing a set difference operation, union, intersection and difference, on co-planar sets of polygons is presented with an emphasis on handling real-world data.

    Two different approaches to computing the PVS for a cell are explored. The first uses point sampling and has the advantage that it is easy to trade time for results, but has the disadvantage of under-estimating the PVS. The second approach is to analytically compute a conservative over-estimation of the PVS using techniques similar to analytical shadow computation.

    An implementation of the Radiosity lighting model is described along with the issues involved in combining it with the algorithms described in this dissertation.

    Alexander, Geoffrey D. (1995)
    "Proving First-Order Equality Theorems with Hyper-Linking"
    Under the direction of David A. Plaisted
    Department of Computer Science Technical Report TR96-019
    Electronic copy available

    Lee and Plaisted recently developed a new automated theorem proving strategy called hyper-linking. As part of his dissertation, Lee developed a round-by-round implementation of the hyper-linking strategy, which competes well with other automated theorem provers on a wide range of theorem proving problems. However, Lee's round-by-round implementation of hyper-linking is not particularly well suited for the addition of special methods in support of equality.

    In this dissertation, we describe, as alternative to the round-by-round hyper-linking implementation of Lee, a smallest instance first implementation of hyper-linking which addresses many of the inefficiencies of round-by-round hyper-linking encountered when adding special methods in support of equality. Smallest instance first hyper-linking is based on the formalization of generating smallest clauses first, a heuristic widely used in other automated theorem provers. We prove both the soundness and logical completeness of smallest instance first hyper-linking and show that it always generates smallest clauses first under a large class of ordering on clauses. We discuss which of the refinements used by Lee in round-by-round hyper-linking are also applicable to smallest instance first hyper-linking.

    We add equality support to smallest instance first hyper-linking using unfailing completion, narrowing, and Brand's equality transformation in a method we call unfailing completion equality support. We show the soundness and logical completeness of smallest instance first hyper-linking with unfailing completion equality support. We also show that Brand's equality transformation is unnecessary for the case where all positive equational literals occur in equational Horn clauses. In particular, this means that for pure equational problems, smallest instance first hyper-linking with unfailing completion equality support simply reduces to an application of unfailing completion.

    We conclude the dissertation by describing our preliminary implementation of smallest instance first hyper-linking. We present a comparison of our implementation with that of Lee's on the 2,655 problems in the TPTP Problem Library of Sutcliffe and Suttner.

    Aliaga, Daniel G. (1999)
    "Automatically Reducing and Bounding Geometric Complexity by Using Images"
    Under the direction of Anselmo A. Lastra
    Electronic copy available

    Large and complex 3D models are required for computer-aided design, architectural visualizations, flight simulation, and many types of virtual environments. Often, it is not possible to render all the geometry of these complex scenes at interactive rates, even with high-end computer graphics systems. This has led to extensive work in 3D model simplification methods.

    We have been investigating dynamically replacing portions of 3D models with images. This approach is similar to the old stage trick of draping cloth backgrounds in order to generate the illusion of presence in a scene too complex to actually construct on stage. An image (or backdrop) once created, can be rendered in time independent of the geometric complexity it represents. Consequently, significant frame rate increases can be achieved at the expense of storage space and visual quality. Properly handling these last two tradeoffs is crucial to a fast rendering system.

    In this dissertation, we present a preprocessing and run-time algorithm for creating a constant-frame-rate rendering system that replaces selected geometry with images enhanced with depth at each pixel. First, we describe the preprocessing algorithm to automatically bound the geometric complexity of arbitrary 3D models by using images. Second, we explore two general approaches to displaying images, surrounded by geometry, at run time. Third, we present a system tailored to architectural models.

    Allen, B. Danette (2007)
    "Hardware Design Optimization for Human Motion Tracking Systems"
    Under the direction of Greg Welch
    Electronic copy available

    A key component of any interactive computer graphics application is the system for tracking user or input device motion. An accurate estimate of the position and/or orientation of the virtual world tracking targets is critical to effectively creating a convincing virtual experience. Tracking is one of the pillars upon which a virtual reality environment is built and it imposes a fundamental limit on how real the “reality” of Virtual Reality can be.

    Whether working on a new or modified tracking system, designers typically begin the design process with requirements for the working volume, the expected user motion, and the infrastructure. Considering these requirements they develop a candidate design that includes one or more tracking mediums (optical, acoustic, etc.), associated source/sensor devices (hardware), and an algorithm (software) for combining the information from the devices. They then simulate the candidate system to estimate the performance for some specific motion paths. Thus the predictions of such traditional simulations typically include the combined effect of hardware and algorithm choices, but only for the chosen motion paths. Before tracker algorithm selection, and irrespective of the motion paths, it is the choice and configuration of the source/sensor devices that are critical to performance. The global limitations imposed by these hardware design choices set a limit on the quantity and quality of the available information (signal) for a given system configuration, and they do so in complex and sometimes unexpected ways. This complexity often makes it difficult for designers to predict or develop intuition about the expected performance impact of adding, removing, or moving source/sensor devices, changing the device parameters, etc.

    This research introduces a stochastic framework for evaluating and comparing the expected performance of sensing systems for interactive computer graphics. Incorporating models of the sensor devices and expected user motion dynamics, this framework enables complimentary system- and measurement-level hardware information optimization, independent of algorithm and motion paths. The approach for system-level optimization is to estimate the asymptotic position and/or orientation uncertainty at many points throughout a desired working volume or surface, and to visualize the results graphically. This global performance estimation can provide both a quantitative assessment of the expected performance and intuition about how to improve the type and arrangement of sources and sensors, in the context of the desired working volume and expected scene dynamics. Using the same model components required for these system-level optimization, the optimal sensor sampling time can be determined with respect to the expected scene dynamics for measurement-level optimization.

    Also presented is an experimental evaluation to support the verification of asymptotic analysis of tracking system hardware design along with theoretical analysis aimed at supporting the validity of both the system- and measurement-level optimization methods. In addition, a case study in which both the system- and measurement-level optimization methods to a working tracking system is presented.

    Finally, Artemis, a software tool for amplifying human intuition and experience in tracking hardware design is introduced. Artemis implements the system-level optimization framework with a visualization component for insight into hardware design choices. Like fluid flow dynamics, Artemis examines and visualizes the “information flow” of the source and sensor devices in a tracking system, affording interaction with the modeled devices and the resulting performance uncertainty estimate.

    Amburn, Elton P. (1994)
    "Development and Evaluation of an Air-to-Air Combat Debriefing System Using a Head-Mounted Display"
    Under the direction of Frederick P. Brooks, Jr.
    Department of Computer Science Technical Report TR94-068
    Electronic copy available

    The United States Air Force Red Flag exercise is the premier training experience for fighter pilots. An instrumented range to the north of Nellis AFB, Nevada provides information about aircraft in a Red Flag exercise. The Red Flag Measurement and Debriefing System transmits messages on the high-activity aircraft at a rate of 10 messages per second. These messages contain data such as position, orientation, pilot actions, and aerodynamic variables.

    This research created and evaluated a computer system for replay and evaluation of Red Flag air-to-air combat training data. This system can display the air combat data either on a workstation console (a 19-inch CRT) or in a head-mounted display (HMD). A human-performance experiment compared the effectiveness of replaying air combat data using these two display options. Experienced fighter pilots from the 422nd Test and Evaluation Squadron, 57th Test Group, Nellis Air Force Base, Nevada served as subjects for the experiment. Using a computer system to replay and evaluate this type of data is not new; however, using a head-mounted display and evaluating its effectiveness is new.

    Quantitative and qualitative data were collected in the human- performance experiment. The quantitative data were collected from probe questions asked during mission replay. The answers to probe questions were used to compute sensitivity as a measure of the effectiveness of the display types. There was no statistically significant difference between the sensitivity of a subject when using the HMD or the 19-inch CRT. However, there was a trend in the subject's performance which favored the HMD. The qualitative data was quite clear and showed a statistically significant difference in the preference of the 19-inch CRT over the HMD.

    Arthur, Kevin (2000)
    "Effects of Field of View on Performance with Head-Mounted Displays"
    Under the direction of Frederick P. Brooks Jr.
    Department of Computer Science Technical Report TR00-019
    Electronic copy available

    The field of view (FOV) in most head-mounted displays (HMDs) is no more than 60 degrees wide--far narrower than our normal FOV of about 200 degrees wide. This mismatch arises mostly from the difficulty and expense of building wide-FOV HMDs. Restricting a person's FOV, however, has been shown in real environments to affect people's behavior and degrade task performance. Previous work in virtual reality too has shown that restricting FOV to 50 degrees or less in an HMD can degrade performance.

    I conducted experiments with a custom, wide-FOV HMD and found that performance is degraded even at the relatively high FOV of 112 degrees, and further at 48 degrees. The experiments used a prototype tiled wide-FOV HMD to measure performance in VR at up to 176 degrees total horizontal FOV, and a custom large-area tracking system to establish new findings on performance while walking about a large virtual environment.

    FOV was significant in predicting performance of two tasks: searching for and locating a target by turning one's head, and walking through a simple maze-like environment while avoiding walls. Wide FOV (112 degrees or greater) was especially important for the walking task; for it, performance at 112 degrees was 23% less than at 176 degrees. At 48 degrees, performance was 31% less than at 176 degrees. For the search task, performance at 112 degrees was 12% less than at 176 degrees. At 48 degrees, performance was 24% less than at 176 degrees.

    Additional analyses of the data show trends that suggest future investigation. Restricting FOV appears to decrease the user's sense of presence, as measured by a questionnaire. VR sickness, also measured by questionnaire, increased with successive exposures to our system within an hour-long session, but stayed at relatively low levels. FOV appears to alter the occurrence of some sickness symptoms, but the data are inconclusive on whether FOV predicts total sickness. I performed additional measures and analyses, including tests of postural instability, distance memory, spatial memory, head-movement behavior, and comparisons with other HMDs and with real-world performance.

    Austin Jr., Joseph H. (1973)
    "Formal Models of Binding Processes in Control Programs"
    Under the direction of Victor L. Wallace

    Formal models of control programs are developed for two purposes: (1) to provide a rigorous definition of the concept of a control program, and (2) to formalize the semantics of control programs as a basis for control program programming languages.

    It is shown that operating system semantics can be modeled as a rewriting system over graphs. The states of the system, understood as configurations of resources, are modeled by graphs, and the operations or events of the system, understood as changes of the configuration, are modeled by rewriting rules on the graphs.

    Applications of the model to major areas of concern to control program design are then discussed:

    1. Hierarchic system design is expressed as (a) elaboration and abstraction of a model and (b) as a relation between two models whereby one is said to be the realization of the other.
    2. Synchronization, sharing, and multiplexing are modeled in terms of the macro-concept of a generalized queue (ordered set) and queuing discipline. Thus the concept of macro-definitions within the model is shown to greatly simplify the description of typical control programs.
    3. Protection and "interrupt" handling are shown to be easily described by the model.

    Finally, the model is related to the Petri-net model of asynchronous systems. It is suggested by informal illustration that extension of the Petri-net model to include flow of resources can provide an intuitive overview of the interrelationships of the configuration transitions.

    It is concluded that the models provide: (a) a rationally-derived definition of the control program that distinguishes it from other types of programs, (b) a syntactic representation of control program semantics suitable as a basis for a table-driven interpreter, and (c) a methodology for control program design, based on hierarchic elaboration and the resource-flow view of interrelated concurrent processes.

    Aylward, Stephen R. (1997)
    "Continuous Mixture Modeling via Goodness-of-Fit Cores"
    Under the direction of James M. Coggins
    Electronic copy available

    This dissertation introduces a new technique for the automated specification of continuous Gaussian mixture models (CGMMs). This approach is ideal for representing distributions that arise in a variety of problems including the driving problem of this dissertation, representing the distribution of the intensities associated with tissues in medical images.

    Gaussian mixture models are population density representations formed by the weighted linear combination of multiple, multivariate Gaussian component distributions. Finite Gaussian mixture models are formed when a finite number of discrete component distributions are used. CGMMs are formed when multiple continua of component distributions are used.

    The approach to CGMM specification developed here is based on an original structure, the Gaussian goodness-of-fit (GGoF) core. GGoF functions quantify how well a Gaussian having a particular mean and covariance represents the local distribution of samples. GGoF cores capture the continua of Gaussians which well represent a sampled population; they define a CGMM. In this dissertation, Monte Carlo simulations are used to evaluate the robustness of a variety of GGoF functions and binning methods for the specifications of GGoF cores. The log likelihood ratio GGoF function is shown to produce the most accurate and consistent GGoF cores.

    In generalized projective Gaussian distributions, similar feature vectors, when projected onto a subset of basis feature vectors, have a Gaussian distribution. In this dissertation, Monte Carlo simulations and ROC analysis are used to demonstrate that for such distributions CGMMs defined using GGoF cores produce accurate and consistent labelings compared to K-means and finite Gaussian mixture models. Additionally, CGMMs do not suffer from the problems associated with determining an appropriate number of components, initializing the component parameters, or iteratively converging to a solution.

    Generalized projective Gaussian distributions exist in a variety of real-world data. The applicability of CGMM via GGoF cores to real-world data is demonstrated through the accurate modeling of tissues in an inhomogeneous magnetic resonance image. The extension of CGMM via GGoF cores to high-dimensional data is demonstrated through the accurate modeling of a sampled trivariate anisotropic generalized projective Gaussian distribution.

    Azuma, Ronald T. (1995)
    "Predictive Tracking for Augmented Reality"
    Under the direction of Gary Bishop
    Department of Computer Science Technical Report TR95-007
    Electronic copy available

    In Augmented Reality systems, see-through Head-Mounted Displays (HMDs) superimpose virtual three-dimensional objects on the real world. This technology has the potential to enhance a user's perception of and interaction with the real world. However, many Augmented Reality applications will not be accepted unless virtual objects are accurately registered with their real counterparts. Good registration is difficult, because of the high resolution of the human visual system and its sensitivity to small differences. Registration errors fall into two categories: static errors, which occur even when the user remains still, and dynamic errors caused by system delays when the user moves. Dynamic errors are usually the largest errors. This dissertation demonstrates that predicting future head locations is an effective approach for significantly reducing dynamic errors.

    This demonstration is performed in real time with an operational Augmented Reality system. First, evaluating the effect of prediction requires robust static registration. Therefore, this system uses a custom optoelectronic head-tracking system and three calibration procedures developed to measure the viewing parameters. Second, the system predicts future head positions and orientations with the aid of inertial sensors. Effective use of these sensors requires accurate estimation of the varying prediction intervals, optimization techniques for determining parameters, and a system built to support real-time processes.

    On average, prediction with inertial sensors is 2 to 3 times more accurate than prediction without inertial sensors and 5 to 10 times more accurate than not doing any prediction at all. Prediction is most effective at short prediction intervals, empirically determined to be about 80 milliseconds or less. An analysis of the predictor in the frequency domain shows the predictor magnifies the signal by roughly the square of the angular frequency and the prediction interval. For specified head-motion sequences and prediction intervals, this analytical framework can also estimate the maximum possible time-domain error and the maximum tolerable system delay given a specified maximum time-domain error.

    Future steps that may further improve registration are discussed.

    Babich, Wayne A. (1977)
    "High Level Data Flow Analysis Using a Parse Tree Representation of the Program"
    Under the direction of Medhi Jazayeri

    Data flow analysis is a technique for collecting information about the flow of data within computer programs. It is used by optimizing compilers in order to insure the correctness of optimizations as well as by certain program debugging aids.

    This dissertation introduces an iterative technique, called the method of attributes, for performing global data flow analysis using a parse tree representation of the source program. The technique is based on a variant of attribute grammars, and permits most control flow structures found in modern algorithmic languages, including unconstrained GOTO's. It is applied to analysis of live variables and to analysis of available expressions; in both cases, time required for analysis of GOTO- less programs is linear in program size (with a small constant of linearity), regardless of the nesting depth of program loops.

    This dissertation also describes the importance of producing data flow analysis information "on demand." The demand problem is the problem of supplying a single piece of data flow information upon request from an optimizer or other processor. The method of attributes is applied to demand analysis of live variables.

    KEY PHRASES: Data flow analysis; Live variables; Dead variables; Available expressions; Attribute grammars; Demand analysis; Method of attributes; Program optimization; Program annotation.

    Computing Reviews Categories 4.12, 5.24

    Bajura, Michael A. (1997)
    "Merging Real and Virtual Environments with Video See-Through Head-Mounted Displays"
    Under the direction of Henry Fuchs
    Department of Computer Science Technical Report TR98-036
    Electronic copy available

    This dissertation explores the problem of inserting virtual (computer generated) objects into natural scenes in video-based augmented-reality (AR) systems. The augmented-reality system problems addressed are the shorter-term goal of making synthetic objects appear to be more stable and registered and the longer-term goal of presenting proper occlusion and interaction cues between real and synthetic objects. These results can be achieved in video-based AR systems by directly processing video images of the natural scene in real-time. No additional hardware or additional tracking mechanisms are needed above those currently used in augmented-reality systems.

    The implications of this work suggest a different approach to the design of AR tracking systems in which the user's world view is used as part of the tracking process. This work shows that tracking system errors which affect the user's world view can be corrected by measuring these errors dynamically and correcting for them in a way which is not readily apparent or objectionable to the user. This means that either cheaper tracking systems could be used or possibly even no separate tracking system in certain situations. Furthermore, the user's world view can be used to construct a 3-D model of his environment which can be used to model object interaction and occlusion relations. This is the first step toward further work of properly shading and lighting synthetic objects inserted into natural scenes.

    A real-time (30 Hz) AR system is demonstrated which uses simple image feature tracking to improve registration and tracking accuracy. This is extended to a more general system which illustrates how reconstruction of natural scene geometry, correct synthetic and real object occlusion, and collision detection could be achieved in real-time. 3-D error analysis is included. A camera calibration appendix contains accuracy measurements.

    Banks, David C. (1993)
    "Interacting with Surfaces in Four Dimensions Using Computer Graphics"
    Under the direction of Stephen M. Pizer
    Department of Computer Science Technical Report TR93-011
    Electronic copy available

    High-speed, high-quality computer graphics enables a user to interactively manipulate surfaces in four dimensions and see them on a computer screen. Surfaces in 4-space exhibit properties that are prohibited in 3-space. For example, nonorientable surfaces may be free of self-intersections in 4-space. Can a user actually make sense of the shapes of surfaces in a larger-dimensional space than the familiar 3D world? Experiment shows he can. A prototype system called Fourphront, running on the graphics engine Pixel-Planes 5 (developed at UNC-Chapel Hill) allows the user to perform interactive algorithms in order to determine some of the properties of a surface in 4-space. This dissertation describes solutions to several problems associated with manipulating surfaces in 4-space. It shows how the user in 3-space can control a surface in 4-space in an intuitive way. It describes how to extend the common illumination models to large numbers of dimensions. And it presents visualization techniques for conveying 4D depth information, for calculating intersections, and for calculating silhouettes.

    Bastos, Rui (1999)
    "Superposition Rendering: Increased Realism for Interactive Walkthrough"
    Under the direction of Frederick P. Brooks, Jr.
    Department of Computer Science Technical Report TR00-021
    Electronic copy available

    The light transport equation, conventionally known as the rendering equation in a slightly different form, is an implicit integral equation, which represents the interactions of light with matter and the distribution of light in a scene. This research describes a signals-and-systems approach to light transport and casts the light transport equation in terms of convolution. Additionally, the light transport problem is linearly decomposed into simpler problems with simpler solutions, which are then recombined to approximate the full solution. The central goal is to provide interactive photorealistic rendering of virtual environments.

    We show how the light transport problem can be cast in terms of signals-and-systems. The light is the signal and the materials are the systems. The outgoing light from a light transfer at a surface point is given by convolving the incoming light with the material's impulse response (the material's BRDF/BTDF). Even though the theoretical approach is presented in directional-space, we present an approximation in screen-space, which enables the exploitation of graphics hardware convolution for approximating the light transport equation.

    The convolution approach to light transport is not enough to fully solve the light transport problem at interactive rates with current machines. We decompose the light transport problem into simpler problems. The decomposition of the light transport problem is based on distinct characteristics of different parts of the problem: the ideally diffuse, the ideally specular, and the glossy transfers. A technique for interactive rendering of each of these components is presented as well as a technique for superposing the independent components in a multipass manner in real time.

    Given the extensive use of the superposition principle in this research, we name our approach superposition rendering to distinguish it from other standard hardware-aided multipass rendering approaches.

    Bellovin, Steven M. (1982)
    "Verifiably Correct Code Generation Using Predicate Transformers"
    Under the direction of David L. Parnas

    For about fifteen years, computer scientists have known how to prove that programs meet mathematical specifications. However, the methodology has satisfied only theoreticians; "practical" programmers have tended to reject it for a variety of reasons. Among these are the difficulty of rigorously defining the function of a program, and the fact that the proofs of correctness tend to be much longer and much more complex that the programs themselves.

    We have tackled this problem from two sides. First, we deal with proving compilers correct, a special class of programs for which there exists a rather simple specification of purpose. Second, although we would prefer to have programs which are guaranteed to be correct, we will accept a program where we can easily determine if the output of any given run is correct. People will generally be satisfied with a program that usually runs properly, but will always produce a message if it has not. That way, one can have a great deal of confidence in its output.

    Working with a compiler for Dijkstra's language, as defined in A Discipline of Programming, and using predicate transformers for our semantic definitions, we have presented a methodology for showing that individual compilations are correct. This involves verifying formally the basic code templates and many library subroutines, and presenting a set of rules that allows one to perform a pattern match between the generated code and the standard templates. This match, which is fairly easy to perform and could in fact be done by a separate program, is our guarantee that the output of the compiler is correct.

    The set of rules we present includes a few restrictions on the compiler, most notably that the object code for a given statement must be uncoupled from the code for any other statement. In general, non- optimizing compilers are not affected by any of our restrictions; our DPL compiler, which was developed independently, was not changed in any way to meet our requirements.

    Bennett, Eric P. (2007)
    "Computational Video Enhancement"
    Under the direction of Leonard McMillan
    Electronic copy available

    During a video, each scene element is often imaged many times by the sensor. I propose that by combining information from each captured frame throughout the video it is possible to enhance the entire video. This concept is the basis of computational video enhancement. In this dissertation, the viability of computational video processing is explored in addition to presenting applications where this processing method can be leveraged.

    Spatio-temporal volumes are employed as a framework for efficient computational video processing, and I extend them by introducing sheared volumes. Shearing provides spatial frame warping for alignment between frames, allowing temporally-adjacent samples to be processed using traditional editing and filtering approaches. An efficient filter-graph framework is presented to support this processing along with a prototype video editing and manipulation tool utilizing that framework.

    To demonstrate the integration of samples from multiple frames, I demonstrate methods for improving poorly exposed low-light videos to achieve improved results. This integration is guided by a tone- mapping process to determine spatially-varying optimal exposures and an adaptive spatio-temporal filter to integrate the samples. Low- light video enhancement is also addressed in the multispectral domain by combining visible and infrared samples. This is facilitated by the use of a novel multispectral edge-preserving filter to enhance only the visible spectrum video.

    Finally, the temporal characteristics of videos are altered by a computational video recompiling process. By resampling the video-rate footage, novel time-lapse sequences are found that optimize for user- specified characteristics. The resulting shorter video is a more faithful summary of the original source than a traditional time-lapse video. Simultaneously, new synthetic exposures are generated to alter the output video's aliasing characteristics.

    Bentley, Jon L. (1976)
    "Divide and Conquer Algorithms for Closest Point Problems in Multidimensional Space"
    Under the direction of Donald F. Stanat

    The contributions contained in this dissertation can be broadly classified as falling into three areas: multidimensional algorithms, the "divide and conquer" strategy, and principles of algorithm design.

    Contributions to multidimensional algorithms are twofold: basic results and basic methods. The results deal with algorithms for determining properties of sets of N points in k dimensional space. Among other results it is shown that the closest pair among the N points can be found in time proportional to N log N and that the nearest neighbor to each point among the N can be found in time proportional to N(log N)^k-1 (for k > 2). The basic methods include an algorithm schema applicable to many multidimensional problems and fundamental concepts for dealing with such problems.

    The algorithms in this dissertation demonstrate the power of the divide and conquer strategy. The strategy is shown to be applicable to multidimensional problems. The basic technique is modified in many interesting ways to create faster algorithms.

    The final area to which this dissertation contributes is algorithm design. Instead of merely presenting the results herein as finished products, they are arrived at through a detailed development process. This development is one of the few written records of the development of an asymptotically fast algorithm; as such it is a suitable basis for teaching algorithm design. The general principles of algorithm design employed are enumerated.

    Bergman, Lawrence D. (1993)
    "VIEW--A System for Prototyping Scientific Visualizations"
    Under the direction of Frederick P. Brooks, Jr.
    Department of Computer Science Technical Report TR93-065
    Electronic copy available

    Different visual representations emphasize different aspects of scientific information. As a scientist searches for representations that yield the most profound insights, she wants to try a variety of representations quickly and easily. Current visualization systems emphasize the rapid application of visual representations to new datasets, rather than the rapid development of new visual representations.

    The dissertation addresses the question, "How can we facilitate exploratory visualization, particularly creation of new representations?" A design-process-based model is proposed. Based on the principles suggested by this model, VIEW, an interactive molecular visualization system, was developed.

    The VIEW system provides a two-pronged solution to the proposed problem. First, the system supplies a library of drawing tools. These tools allow the user to sketch geometric representations, specifying database parameters by interactively selecting geometric elements on-screen. Besides generating geometry, drawing tools modify color, change geometric parameters, reposition geometry, and animate groups.

    Second, a facility for developing new drawing tools or modifying existing ones allows the user to extend the library. Tools are specified in a C-like script language. With this language, the user defines new representations and customizes the interaction style of the tools. The system is designed to facilitate a rapid code-try-recode cycle. In addition to the interpreted language, a development environment includes a Macintosh-like editor and an interactive debugger that shows in real time the visual effects of changes to tool script.

    The dissertation presents the design model, describes the VIEW system, and then demonstrates the utility of this design-process-based visualization system through a series of case-studies.

    Biagioni, Edoardo S. (1992)
    "Scan Directed Load Balancing"
    Under the direction of Gyula A. Mago and Jan F. Prins
    Department of Computer Science Technical Report TR91-045
    Electronic copy available

    Scan Directed Load Balancing is an algorithm for dynamic load balancing on k-dimensional mesh-connected computers. In one dimension, a scan computes the load to the left of each processor and the total load. The difference between the load to the left and the average load times the number of processors to the left is the number of active data points to be shifted to balance the load.

    In two dimensions, scans are used to compute the load of each column of data and the load to the left of each column of processors. The difference between the load to the left and the average load times the number of processor columns to the left is the load of the data columns to be shifted by this column of processors; the computation is repeated for the rows. In more than two dimensions, the load is computed for (hyper-) planes of data and is balanced by shifting data (hyper-) planes among processor (hyper-) planes; the basic one-dimensional step of the algorithm is repeated k times.

    The algorithm targets applications that can be expressed as local computations on a grid and whose dynamic activity is unevenly distributed. In one such computation, Variable Conductance Diffusion, different pixels diffuse for different numbers of iterations, with those that require many iterations unevenly distributed and, in the absence of load balancing, often located on a small subset of the processors. Scan Directed Load Balancing is effective in speeding up Variable Conductance Diffusion for a class of images (512 X 512 pixel), and very effective for selected images in which only a small fraction of the pixels requires many iterations. This implementation, and that for a parallel interpreter for the functional language FFP that uses Scan Directed Load Balancing to both manage storage and balance load, are for UNC's MasPar MP-1, with 4096 processors embedded in a 2-dimensional mesh.

    Scan Directed Load Balancing does not guarantee optimal load balance, but always assigns neighboring data to the same or to neighboring processors, so communication between neighboring data is local and fast.

    Bishop, T. Gary (1984)
    "Self-Tracker: A Smart Optical Sensor on Silicon"
    Under the direction of Henry Fuchs
    Department of Computer Science Technical Report TR84-002
    Electronic copy available

    A new system for real-time, three-dimensional computer input is described. The system will use a cluster of identical custom integrated circuits with outward looking lenses as an optical sensing device. Each custom integrated sensor chip measures and reports the shift in its one-dimensional image of the stationary room environment. These shifts will be processed by a separate general-purpose computer to extract the three-dimensional motion of the cluster. The expected advantages of this new approach are unrestricted user motion, large operating environments, capability for simultaneous tracking of several users, passive tracking with no moving parts, and freedom from electromagnetic interference.

    The fundamental concept for the design of the sensor chip relies on a cyclic relationship between speed and simplicity. If the frame rate is fast, the changes from image to image will be small. Small changes can be tracked with a simple algorithm. This simple algorithm can be implemented with small circuitry. The small circuitry lets a single chip hold the complete sensor, both imaging and image processing. Such implementation allows each sensor to be fast because all high-bandwidth communication is done on-chip. This cyclic relationship can spiral up as the design is iterated, with faster and simpler operation, or down, with slower and more complex operation. The system design sequence described here has been spiraling up.

    System, sensor, algorithm, and processor designs have each had several iterations. Most recently, a prototype sensor chip has been designed, fabricated, and tested. The prototype includes a one-dimensional camera and circuitry for image tracking that operates at 1000 to 4000 frames per second in ordinary room light. As part of this research, photosensors that operate at millisecond rates in ordinary room light with modest lenses have been designed, tested and fabricated on standard digital nMOS lines. They may be useful for designers of other integrated optical sensors.

    Block, Aaron (2008)
    "Adaptive Multiprocessor Real-Time Systems"
    Under the direction of James Anderson
    Electronic copy available

    Over the past few years, as multicore technology has become cost-effective, multiprocessor systems have become increasingly prevalent. The growing availability of such systems has spurred the development of computationally-intensive applications for which single-processor designs are insufficient. Many such applications have timing constraints; such timing constraints are often not static, but may change in response to both external and internal stimuli. Examples of such applications include tracking systems and many multimedia applications. Motivated by these observations, this dissertation proposes several different adaptive scheduling algorithms that are capable of guaranteeing flexible timing constraints on multiprocessor platforms.

    Under traditional task models (e.g., periodic, sporadic, etc.), the schedulability of a system is based on each task's worst-case execution time (WCET), which defines the maximum amount of time that each of its jobs can execute. The disadvantage of using WCETs is that systems may be deemed unschedulable even if they would function correctly most of the time when deployed. Adaptive real-time scheduling algorithms allow the timing constraints of applications to be adjusted based upon runtime conditions, instead of always using fixed timing constraints based upon WCETs. While there is a substantial body of prior work on scheduling applications with static timing constraints on multiprocessor systems, prior to this dissertation, no adaptive multiprocessor scheduling approach existed that is capable of ensuring bounded ``error" (where error is measured by comparison to an ideal allocation). In this dissertation, this limitation is addressed by proposing five different multiprocessor scheduling algorithms that allow a task's timing constraints to change at runtime. The five proposed adaptive algorithms are based on different non-adaptive multiprocessor scheduling algorithms that place different restrictions on task migrations and preemptions. The relative advantages of these algorithms are compared by simulating both the Whisper human tracking system and the Virtual Exposure Camera (VEC), both of which were developed at The University of North Carolina at Chapel Hill. In addition, a feedback-based adaptive framework is proposed that not only allows timing constraints to adapt at runtime, but also detects which adaptions are needed. An implementation of this adaptive framework on a real-time multiprocessor testbed is discussed and its performance is evaluated by using the core operations of both Whisper and VEC. From this dissertation, it can be concluded that feedback and optimization techniques can be used to determine at runtime which adaptions are needed. Moreover, the accuracy of an adaptive algorithm can be improved by allowing more frequent task migrations and preemptions; however, this accuracy comes at the expense of higher migration and preemption costs, which impacts average-case performance. Thus, there is a tradeoff between accuracy and average-case performance that depends on the frequency of task migrations/preemptions and their cost.

    Bokinsky, Alexandra (2003)
    "Multivariate Data Visualization with Data-Driven Spots"
    Under the direction of Frederick Brooks
    Electronic copy available

    This dissertation addresses an important problem in the visualization of scientific data: Given a family of single-valued functions Fk(x,y) in two dimensions, all sampled on a regular, finite, two-dimensional grid, i,j, devise visualizations that allow each function to be visually discriminated and studied separately and studied for comparisons and correlations with other functions in the family.

    I developed a technique called Data-Driven Spots (DDS), where each function Fk(x,y) is sampled, by a random collection of circular Gaussians with a uniform standard deviation, rather than presented in full. Human visual perception estimates the function's values where it is not represented in the sample. These sampled functions, called layers, are presented overlaid. Each function is sampled and displayed in some regions where the others are not, thus each can be discriminated separately; since all are shown simultaneously, correlations can also be estimated.

    Layers are displayed with alpha-blending, such that each layer is distinguished by hue and/or the standard deviation of the Gaussians. Data values are multiplied by the Gaussian at each i,j grid point; the result determines the opacity of that layer at that point. Blended with a neutral gray background, each layer has color saturation at i,j proportional to the modulated data value. Since opacities are displayed, lower layers are mostly visible between the spots on upper layers.

    I built a DDS Toolkit that enables users to construct DDS visualizations of function families. Construction of effective DDS visualizations requires interactive exploration of visualization parameters, which the toolkit facilitates. I used the toolkit to prepare visualizations of many kinds of function families; a collection of images is presented.

    To evaluate the effectiveness of the DDS technique, I performed user studies. These studies showed that performance on a spatial correlation task was better for overlaid DDS images than side-by-side DDS images, that alpha-blended layers are visually discriminable in the presence of up to seven distractors, and that animation of layers with respect to each other dramatically increases their visual salience. Animation permits a Fk(x,y) to be seen at every i,j over time; human visual perception integrates non-simultaneously displayed values into a coherent understanding.

    Bollella, Gregory (1997)
    "Slotted Priorities: Supporting Real-Time Computing Within General-Purpose Operating Systems."
    Under the direction of Kevin Jeffay
    Electronic copy available

    Recent advances in network technologies, processor capabilities, and microcomputer system hardware, coupled with the explosive growth of the Internet and on-line data access, have created new demands on personal computer operating systems and hardware. In large part, these demands are for the ability to acquire, manipulate, display, and store multimedia data. The computational processes that successfully acquire and display multimedia data necessarily have deadlines. That is, the computation must be complete before a specified point in time. Currently, no general-purpose operating systems support such real-time processes. We have developed a software architecture, called slotted priorities, that defines a way to add support for real-time computation to existing general-purpose operating systems for uniprocessor machine architectures. The slotted priorities architecture shares the resources of a computing system between a general-purpose operating system and a real-time kernel. Software components called executives manage how an instance of a resource is shared. Executives ensure that the RTK can gain access to the resource at precise times. The resulting operating system will be able to guarantee that certain computations will always} complete before their stated deadline. The modifications to the general-purpose operating system are modest.

    The architecture is comprised of a resource model, an execution model, and a programming model. The resource model is a classification of resources according to characteristics relevant to the sharing of the resources between the real-time kernel and the general-purpose operating system. The execution model defines how real-time tasks acquire the processor. The programming model defines how programmers write and think about real-time programs for an implementation of the slotted priorities architecture. Finally, we develop a feasibility test which can determine if a set of periodic real-time threads will all meet their deadlines when executed on a system implementing this architecture.

    We describe an implementation of the architecture and a set of experiments that validate the implementation. Two real-time demonstration applications were built and executed on the test implementation. Results and analysis of those applications are also presented.

    Borland, David M. (2007)
    "Flexible Occlusion Rendering for Improved Views of Three-Dimensional Medical Images"
    Under the direction of Russell M. Taylor
    Electronic copy available

    The goal of this work is to enable more rapid and accurate diagnosis of pathology from three-dimensional (3D) medical images by augmenting standard volume rendering techniques to display otherwise-occluded features within the volume. When displaying such data sets with volume rendering, appropriate selection of the transfer function is critical for determining which features of the data will be displayed. In many cases, however, no transfer function is able to produce the most useful views for diagnosis of pathology.

    FOR is an addition to standard ray cast volume rendering that modulates accumulated color and opacity along each ray upon detecting features indicating the separation between objects of the same intensity range. For contrast-enhanced MRI and CT data, these separation features are intensity peaks. To detect these peaks, a hysteresis-based method is used to reduce sensitivity to noise. To further reduce noise and enable control over the spatial scale of the features detected, a smoothed version of the original data set is used for feature detection, while rendering the original data at high resolution. Separating the occlusion feature detection from the volume rendering transfer function enables robust occlusion determination and seamless transition from occluded views to non-occluded views of surfaces during virtual flythroughs.

    FOR has been applied to virtual arthroscopy of joint from MRI data. For example, when evaluating a shoulder joint, a view showing the entire shoulder socket is the most useful view for rapid evaluation. However, such views are impossible using standard volume rendering, as the material in the humeral head will occlude the shoulder socket from this viewpoint. FOR automatically culls the occluding material of the humeral head, enabling display of the entire shoulder socket. FOR has also been successfully applied to virtual ureteroscopy of the renal collecting system from CT data, and knee fracture visualization from CT data.

    Brandenburg, Bjoern B. (2011)
    "Scheduling and Locking in Multiprocessor Real-Time Operating Systems"
    Under the direction of James H. Anderson
    Electronic copy available

    With the widespread adoption of multicore architectures, multiprocessors are now a standard deployment platform for (soft) real-time applications. This dissertation addresses two questions fundamental to the design of multicore-ready real-time operating systems: (1) Which scheduling policies offer the greatest flexibility in satisfying temporal constraints; and (2) which locking algorithms should be used to avoid unpredictable delays?

    With regard to Question 1, LITMUSRT, a real-time extension of the Linux kernel, is presented and its design is discussed in detail. Notably, LITMUSRT implements link-based scheduling, a novel approach to controlling blocking due to non-preemptive sections. Each implemented scheduler (22 configurations in total) is evaluated under consideration of overheads on a 24-core Intel Xeon platform. The experiments show that partitioned earliest-deadline first (EDF) scheduling is generally preferable in a hard real-time setting, whereas global and clustered EDF scheduling are effective in a soft real-time setting.

    With regard to Question 2, real-time locking protocols are required to ensure that the maximum delay due priority inversion can be bounded a priori. Several spinlock- and semaphore-based multiprocessor real-time locking protocols for mutual exclusion (mutex), reader-writer (RW) exclusion, and k-exclusion are proposed and analyzed. A new category of RW locks suited to worst-case analysis, termed phase-fair locks, is proposed and three efficient phase-fair spinlock implementations are provided (one with few atomic operations, one with low space requirements, and one with constant RMR complexity).

    Maximum priority-inversion blocking is proposed as a natural complexity measure for semaphore protocols. It is shown that there are two classes of schedulability analysis, namely suspensionoblivious and suspension-aware analysis, that yield two different lower bounds on blocking. Five asymptotically optimal locking protocols are designed and analyzed: a family of mutex, RW, and k-exclusion protocols for global, partitioned, and clustered scheduling that are asymptotically optimal in the suspension-oblivious case, and a mutex protocol for partitioned scheduling that is asymptotically optimal in the suspension-aware case. A LITMUSRT-based empirical evaluation is presented that shows these protocols to be practical.

    Britton, Edward G. (1977)
    "A Methodology for the Ergonomic Design of Interactive Computer Graphic Systems, and its Application to Crystallography"
    Under the direction of Frederick P. Brooks, Jr.

    This dissertation presents a methodology for the ergonomic design, or human engineering, of interactive computer graphic systems. It proposes human-factors principles based on linguistic and psychological considerations, and proposes an order for designing the features of a system. As a vehicle for developing this methodology, we designed and built a system, described herein, with which biochemists can determine the structures of macromolecules. Crystallographers have used this over one thousand hours and published chemical results based on their work. We assert that the ease with which crystallographers use this system indicates that our methodology for ergonomic design is useful.

    Broadhurst, Robert Elijah (2008)
    "Compact Appearance in Object Populations Using Quantile Function Based Distribution Families"
    Under the direction of Stephen Pizer
    Electronic copy available

    Statistical measurements of the variability of probability distributions are important in many image analysis applications. For instance, let the appearance of a material in a picture be represented by the distribution of its pixel values. It is necessary to model the variability of these distributions to understand how the appearance of the material is affected by viewpoint, lighting, or scale changes. In medical imaging, an organ's appearance varies not only due to the parameters of the imaging device but also due to changes in the organ, either within a patient day to day or between patients. Classical statistical techniques can be used to study distribution variability given a distribution representation for which the variation is linear. For many distributions relevant to image analysis, standard representations are either too constrained or have nonlinear variation, in which case classical linear multivariate statistics are not applicable. This dissertation presents general, non-parametric representations of a variety of distribution types, based on the quantile function, for which a useful class of variability is linear. A key result is that principal component analysis can be used to efficiently parameterize their variability, ie, construct a distribution family.

    The quantile function framework is applied to two driving problems in this dissertation: (1) the statistical characterization of the texture properties of materials for classification, and (2) the statistical characterization of the appearance of objects in images for deformable model based segmentation. It is shown that in both applications the observed variability is appropriately linear, allowing efficient modeling. State of the art results are achieved for both the classification of materials in the Columbia-Utrecht database and the segmentation of the kidney, bladder, and prostate in 3D CT images. While the applications presented in this dissertation use image-based appearance observations in the field of image analysis, the methods and theory should be widely applicable to the variety of observations found in the many scientific fields, and, more specifically, to shape observations in the field of computer vision.

    Brown, Peter H. (2002)
    "Multiscale Evaluation of 3D Shape Perception in Computer Graphics"
    Under the direction of Christina Burbeck
    Electronic copy available

    This dissertation describes a tool and associated analysis techniques (collectively called the Multiscale Test of Perceived Shape, or MTOPS) for measuring observers' perceptions of 3D surface orientation in computer-graphics visualizations at multiple spatial scales. Using this tool and techniques, I demonstrated that such multiscale measurements are both possible and fruitful. Specifically, I showed the following:

    • Observers consistently made different surface-orientation settings at different scales, indicating both that perceived orientation changed across scale and that MTOPS was able to measure that change.
    • By comparing observers' settings to the stimulus geometry, I could measure the across-scale effects of adding a given depth cue to a visualization. Specifically, I found the following:
      • Adding stereo to a non-stereo presentation caused the accuracy of observers' settings to improve more at large scale than at small.
      • Adding head-motion parallax to a stereo presentation caused a modest improvement in observers' accuracy, mostly at small scale.
      • Adding automatic object motion to a non-stereo presentation improved observers' accuracy substantially, at many scales. Adding user-controlled object motion to a non-stereo presentation gave a less consistent, and for most users smaller, accuracy benefit.
    • The MTOPS tool and techniques were sufficiently sensitive to capture differences in those multiscale depth-cue effects due to surface complexity and observer knowledge.

    Brownlee, Jr., Edward H. (1975)
    "Lossiness in Tessellation Automata"
    Under the direction of Stephen F. Weiss

    A tessellation automaton is an infinite array of finite state automata interacting in a prescribed manner. The state of the entire array at any instant is called its configuration. A tessellation automaton is said to be lossy if its global transition function is not one-to-one, that is, if some configuration has more than one predecessor. Lossiness is shown to be equivalent to three other properties of tessellation automata. One of these leads to a sufficient test for lossiness which is easily applied to the local transition function. A necessary condition is also given. Finally, it is shown that certain kinds of computation cannot be carried out in lossless spaces.

    Burns, Eric (2007)
    "MACBETH: Management of Avatar Conflict By Employment of a Technique Hybrid"
    Under the direction of Frederick P. Brooks, Jr.
    Electronic copy available

    Since virtual objects do not prevent users from penetrating them, a virtual environment user may place his real hand inside a virtual object. If the virtual environment system prevents the user's hand avatar from penetrating the object, the hand avatar must be placed somewhere other than the user's real hand position. I propose a technique, named MACBETH (Management of Avatar Conflict By Employment of a Technique Hybrid) for managing the position of a user's hand avatar in a natural manner after it has been separated from the user's real hand due to collision with a virtual object. To gather the necessary information to implement MACBETH, I performed user studies to determine users detection thresholds for visual/proprioceptive discrepancy in hand position and velocity. I then ran a user study to evaluate MACBETH against two other techniques for managing the hand avatar position: the rubber-band and incremental-motion techniques. Users rated MACBETH as more natural than the other techniques and preferred MACBETH over both. Users performed better on a hand navigation task with MACBETH than with the incremental-motion technique and performed equally well as they did with the rubber-band technique.

    Calandrino, John (2009)
    "On the Design and Implementation of a Cache-Aware Soft Real-Time Scheduler for Multicore Platforms"
    Under the direction of James Anderson
    Electronic copy available

    Real-time systems are those for which timing constraints must be satisfied. In this dissertation, research on multiprocessor real-time systems is extended to support multicore platforms, which contain multiple processing cores on a single chip. Specifically, this dissertation focuses on designing a cache-aware real-time scheduler to improve the performance of shared caches on multicore platforms when timing constraints must be satisfied. This scheduler, implemented in Linux, employs: (1) a scheduling method for real-time workloads that satisfies timing constraints while making scheduling choices that improve cache performance; and (2) a profiler that quantitatively approximates the cache impact of every task during its execution.

    In experiments, it is shown that the proposed cache-aware scheduler can result in significant performance improvements over other approaches. This is especially true when sufficient hardware support is provided, primarily in the form of cache-related performance monitoring features. It is also shown that scheduler-related overheads are comparable to other scheduling approaches, and therefore overheads would not be expected to offset any cache-related performance gains. Finally, in experiments involving a multimedia server workload, it was found that the use of the proposed cache-aware scheduler allowed the size of the workload to be increased.

    Prior work in the area of cache-aware scheduling for multicore platforms has not addressed support for real-time workloads, and prior work in the area of real-time scheduling has not addressed shared caches on multicore platforms. For real-time workloads running on multicore platforms, an improvement in shared cache performance can result in a corresponding decrease in execution times, which may allow a larger real-time workload to be supported, or hardware requirements (or costs) to be reduced. As multicore platforms are becoming ubiquitous in many domains, including those in which real-time constraints must be satisfied, the work in this dissertation is necessary to allow real-time workloads to effectively utilize current processor designs. If the chip manufacturing industry continues to adhere to the multicore paradigm (which is likely, given current projections), then this work should remain relevant as processors evolve.

    Cannon, Robert L. (1973)
    "State Grammar Parsing"
    Under the direction of Stephen F. Weiss

    A state grammar may be viewed as a context-free grammar with states. The states control the sequence in which the nonterminal symbols in a sentential form become eligible to be rewritten, giving state grammars the power to generate the class of context-sensitive languages.

    An algebraic parsing technique, developed for context-free grammars, has been extended for parsing context-sensitive languages as generated by state grammars. The set of all possible parses for an input string is found by iteration upon a single algebraic expression. The number of iterations is a multiple of the length of the input string.

    A second parsing technique uses a recursive transition network as a representational tool for state grammar parsing. For the class of non-left-recursive state grammars the algorithm finds a parse if one exists. A result from the algebraic theory extends this algorithm to apply to a larger class of state grammars.

    Carlson, Eric D. (1972)
    "Techniques for Analysis of Generalized Data Base Management Systems"
    Under the direction of Peter Calingaert

    Generalized Data Base Management Systems (GDBMS) are software packages designed to facilitate file creation and maintenance, retrieval, and report generation. Two models are proposed for analyzing GDBMS. The first is a formal model of GDBMS components and capabilities. The second is a general model for designing and describing performance analysis experiments. The formal model offers a simple and precise method for describing GDBMS, and for distinguishing them from other systems. Use of the experimental design model for GDBMS performance analyses clarifies the assumptions, formalizes the analysis, and improves the interpretation of results. The two models are shown to be related, and to encompass a variety of analysis techniques. The proposed techniques are compared with alternatives. Examples of the uses of each model are given; the major examples are analyses of the GDBMS ASAP. Of particular interest are the ASAP experiments which indicate the applicability of sample size calculation techniques, of various forms of random sampling, and of nonparametric analyses.

    Chadha, Ritu (1991)
    "Applications of Unskolemization"
    Under the direction of David A. Plaisted
    Electronic copy available

    The dissertation describes a novel method for deriving logical consequences of first-order formulas using resolution and unskolemization. A complete unskolemization algorithm is given and its properties analyzed. This method is then applied to a number of different fields, namely program verification, machine learning, and mathematical induction.

    The foremost problem in automating program verification is the difficulty of mechanizing the generation of inductive assertions for loops in a program. We show that this problem can be viewed as one of generating logical consequences of the conditions which are true at the entry to a loop. A complete and sound algorithm for generating loop invariants in first-order logic is described. All previous techniques given in the literature for deriving loop invariants are heuristic in nature and are not complete in any sense.

    There are a number of problems associated with machine learning, such as the diversity of representation languages used and the complexity of learning. We present a graph-based polynomial-time algorithm for learning from examples which makes use of the method for generating logical consequences. The representation language used is first-order logic, which enables the algorithm to be applied in a large number of fields where first-order logic is the language of choice. The algorithm is shown to compare favorably with others in the literature, and applications of the algorithm in a number of fields are demonstrated.

    The difficulty of mechanizing mathematical induction in existing theorem provers is due to the inexpressibility of the principle of induction in first-order logic. In order to handle mathematical induction of the principle of induction within the framework of first-order logic, it is necessary to find an induction schema for each theorem. We describe two methods for tackling this problem, one of which makes use of our method for generating logical consequences. Most existing methods for mechanizing induction can only handle equational theorems. Our approach is more general and is applicable to equational as well as non-equational theorems.

    Chan, Francis H. (1982)
    (Biomedical Engineering and Mathematics, UNC-Chapel Hill)
    "Evaluating the Perceived Dynamic Range of A Display Device Using Pseudocolor"
    Under the direction of Stephen M. Pizer

    A methodology has been developed to measure the perceived dynamic range (PDR) of any display scale. Such a methodology involves an observer experiment that measures the total number of just noticeable differences (jnd) across the dynamic range of the display/observer combination.

    We used two display scales, namely, the heated-object spectrum (HCS), a pseudocolor scale, and the black and white gray scale in our experiment. We found the HCS to have 38% more discernible levels than the gray scale in one observer. Even though there was variability among observers, the error within the last two sets of results in each of the three observers was about 2%. A moderate learning effect was also shown in the first two sets of experiments in one observer.

    Our results were also compared with Frei and Baxter's perception model. Good correlation was obtained in the model.

    We believe that the definitions underlying the PDR and the methodology of its measurement will be useful for the purpose of comparing display devices in imaging. The jnd-curve (of a display device) obtained in this method can also provide useful information needed to produce a linear relationship between display-driving intensity and perceived intensity.

    Chandak, Anish (2011)
    "Efficient Geometric Sound Propagation Using Visibility Culling"
    Under the direction of Dinesh Manocha
    Electronic copy available

    Sound propagation is frequently used in interactive applications such as video games to improve the sense of realism and in engineering applications such as architectural acoustics for better designs.  In this thesis, we present efficient geometric sound propagation techniques based on the image-source method for modeling specular reflections and finite-edge diffraction.  We use the well-known Biot-Tolstoy-Medwin (BTM) model for edge diffraction.  We accelerate the computation of specular reflections by applying novel from-point visibility algorithms, FastV and AD-Frustum, and accelerate finite-edge diffraction modeling by using our novel from-region visibility algorithm.

    Our visibility algorithms are based on frustum tracing and exploit recent advances in fast ray-hierarchy intersections, data-parallel computations, and scalable, multi-core algorithms.  The AD-Frustum algorithm adapts its computation to the scene complexity and can trade-off accuracy of results for computational efficiency. FastV and our from-region visibility algorithm are general, object-space, conservative visibility algorithms that together significantly reduce the number of image sources compared to other techniques while preserving the same accuracy.  Our geometric propagation algorithms are 10-20X faster than prior approaches for modeling specular re ections and 2-10X faster for modeling finite-edge diffraction.  Our algorithms are interactive, scale almost linearly on multi-core CPUs, and can handle large, complex, and dynamic scenes.  We also compare the accuracy of our sound propagation algorithms with other methods.

    After sound propagation is performed, we generate smooth, artifact-free output audio signals by applying efficient audio-processing algorithms.  We also present the first efficient audio-processing algorithm for scenarios with simultaneously moving source and moving receiver (MS-MR) which incur less than 25% overhead compared to static source and moving receiver (SS-MR) or moving source and static receiver (MS-SR) scenario.

    Chang, Chun-Fa (2001)
    "LDI Tree: A Sampling Rate Preserving and Hierarchical Data Representation for Image-Based Rendering"
    Under the direction of Gary Bishop
    Department of Computer Science Technical Report TR01-032
    Electronic copy available

    Multiple reference images are required to eliminate disocclusion artifacts in image-based rendering based on McMillan's 3D image warping. Simply warping each individual reference image causes the rendering time to grow linearly with the number of reference images. This calls for a new data representation for merging multiple reference images.

    In this dissertation I present a hierarchical data representation, the LDI Tree, for merging reference images. It is distinguished from previous works by identifying the sampling rate issue and preserving the sampling rates of the reference images by adaptively selecting a suitable level in the hierarchy for each pixel. During rendering, the traversal of the LDI Tree is limited to the levels that are comparable to the sampling rate of the output image. This allows the rendering time to be driven by the requirements of output images instead of the number of input images. I also present a progressive refinement feature and a hole-filling algorithm implemented by pre-filtering the LDI Tree.

    I show that the amount of memory required has the same order of growth as the 2D reference images in the worst case. I also show that the rendering time depends mostly on the quality of the output image, while the number of reference images has a relatively small impact.

    Chen, David T. (1998)
    "Volume Rendering Guided by Multiscale Medial Models"
    Under the direction of Stephen M. Pizer
    Electronic copy available

    Volume rendering is the generation of images from discrete samples of volume data. Multiscale medial models describe object shape by linking pairs of fuzzy boundary points at object middles. This dissertation presents a volume rendering method that uses object shape information provided by a multiscale medial model to guide a splatting volume renderer. This work shows how a user can select regions of interest based on objects in order to omit occluding objects, and how object shape can be used to improve weak and noisy boundaries. The amount of computation required is proportional to the number of screen pixel intersections with the medial model derived surface. In the method the renderer finds a most likely boundary point using a Bayesian approach based on the volume directional derivative and a boundary point specified by the medial model.

    Chen, Wei Chao (2002)
    "Light Field Mapping: Efficient Representation of Surface Light Fields"
    Under the direction of Henry Fuchs
    Electronic copy available

    Recent developments in image-based modeling and rendering provide significant advantages over traditional image synthesis process, including improved realism, simple representation and automatic content creation. Representations such as Plenoptic Modeling, Light Field, and the Lumigraph are well suited for storing view-dependent radiance information for static scenes and objects. Unfortunately, these representations have much higher storage requirement than traditional approaches, and the acquisition process demands very dense sampling of radiance data. With the assist of geometric information, the sampling density of image-based representations can be greatly reduced, and the radiance data can potentially be represented more compactly. One such parameterization, called Surface Light Field, offers natural and intuitive description of the complex radiance data. However, issues including encoding and rendering efficiency present significant challenges to its practical application.

    In this dissertation, I present a method for efficient representation and interactive visualization of surface light fields. I propose to partition the radiance data over elementary surface primitives and to approximate each partitioned data by a small set of lower-dimensional discrete functions. By utilizing graphics hardware features, the proposed rendering algorithm decodes directly from this compact representation at interactive frame rates on a personal computer. Since the approximations are represented as texture maps, I refer to the proposed method as Light Field Mapping. The approximations can be further compressed using standard image compression techniques leading to extremely compact data sets that are up to four orders of magnitude smaller than the uncompressed light field data. I demonstrate the proposed representation through a variety of non-trivial physical and synthetic scenes and objects scanned through acquisition systems designed for capturing both small and large-scale scenes.

    Christiansen, Mikkel (2002)
    "The Performance of HTTP Traffic Under Random Early Detection Queue Management"
    Under the direction of Kevin Jeffay and Don Smith
    Electronic copy available

    In RFC (Request For Comments) 2309 [9] the active queuing mechanism RED has been purposed for widespread deployment on Internet routers. This thesis presents an empirical study of the active queuing mechanism RED where we focus on the question: How will RED ect HTTP response times and can RED be tuned to optimize these?

    The empirical study is conducted on a laboratory network in which we model a typical scenario in which a router operates and becomes a bottleneck. A realistic HTTP traffic load is provided by a set traÆ nerator programs. These simulate the behavior of browsing users using an empirical model of HTTP traffic that is both well-founded as well as being widely accepted and used. Response time performance is measured for each request made in the simulation of browsing users, thus providing a detailed insight on the performance experienced by the end-user.

    The study consists of finding the optimal RED parameters under different loads. Where the offered load describes the average bandwidth utilization produced by the traffic generators on a network with no bandwidth constraints. To determine the impact of using RED we compare the response time performance with our choice of optimal RED parameters with the optimal performance of tail-drop queuing and the performance on the laboratory network without bandwidth constraints.

    The results of the study can be summarized as follows:

    • Contrary to expectations, compared to tail-drop queuing, RED has minimal effect on HTTP response times for offered loads up to 90% of the link capacity.  Response times at loads in this range are not substantially affected by RED parameters.
    • Between 90% and 100% load, RED can be carefully tuned to yield performance somewhat superior to tail-drop queuing, however, response times are quite sensitive to the actual RED parameter values selected.
    • In heavily congested networks, RED parameters that provide the best link utilization produce poorer response times.

    In total, we conclude that for links carrying Web traffic, RED queue management appears to provide no clear advantage over tail-drop for end-to-end response times

    Chu, Heng (1994)
    "Semantically Guided First-Order Theorem Proving with Hyper- Linking"
    Under the direction of David A. Plaisted
    Department of Computer Science Technical Report TR94-051
    Electronic copy available

    An automated theorem prover accepts a set of axioms and a theorem, expressed in a formal logic, and then proves that the theorem logically follows from the axioms. Two basic aspects of a logic are syntax and semantics. Syntax refers to the form of the statements and semantics refers to their meanings. Most current theorem provers conduct proof searching based on syntax only and semantics is rarely used.

    In this dissertation we propose a new and complete theorem proving method, called semantic hyper-linking, which makes a substantial use of semantics in an instance-based theorem prover for first-order logic. Semantics is used to generate instances by a combination of unification and enumeration of the Herbrand base. In this method, the proof searching is essentially a process of exhaustively searching for a model of the input problem.

    Semantic hyper-linking performs especially well on non- Horn problems whose proofs contain small instances of the input clauses. We also describe several refinements including (1) various model finding strategies to improve model searching without using expensive semantic checks or expanding the search space, (2) the rough resolution method to cooperate with semantic hyper-linking and solve the part of the proof which contains large instances, and (3) the well-known UR resolution to solve the Horn part of the proof.

    We have implemented semantic hyper-linking with its refinements, and applied it to over a hundred problems in various domains. Our results show that semantic hyper-linking is indeed a promising technique. Several hard theorems, which many other theorem provers find difficult, have been proved by semantic hyper-linking using no other guidance than the given semantics.

    Chung, Goopeel (2002)
    "Log-based Collaborative Infrastructure"
    Under the direction of Prasun Dewan

    Current application-sharing systems support a single architectural mapping for all collaborations, though different systems support different architectural mappings. My thesis has identified a new collaborative infrastructure that supports a wide range of architectural mappings and dynamic mapping changes.  The supported mappings include all of the existing architectural mappings defined so far including the centralized, replicated, and hybrid mappings. The thesis shows that a logging approach is sufficient for implementing the supported mappings and dynamic mapping changes. The logging approach records messages sent to one incarnation of an object, and replays the recorded messages to a different incarnation of the object. It uses a new form of logging, called object-based logging, which models the state of program and user interface as attributed objects connected by dependencies, and offers the generality of traditional command-based logging and the efficiency of state copying. Instead of being bound to a specific I/O protocol such as the X protocol, it is based on a simple abstract I/O protocol to which specific I/O protocols must be mapped by client-supplied code. The thesis shows that the new collaborative infrastructure is composable with client systems representing various categories of software systems. It also shows, through experiment and a theoretical model, that the choice of the architectural mapping depends on the computers used by the collaborators, the speed of the connections between the computers, the amount of work necessary to process user input, and user composition changes. It, thus, contradicts the popular belief that the replicated mapping always gives better performance, and shows the need for supporting various mapping choices in a system.

    Chung, James Che-Ming (1993)
    "Intuitive Navigation in the Targeting of Radiation Therapy Treatment Beams"
    Under the direction of Frederick P. Brooks, Jr.
    Department of Computer Science Technical Report TR94-025
    Electronic copy available

    This research focused on the possible benefits to be gained from using the intuitive navigation made possible by head-mounted displays (HMDs) in the targeting of radiation therapy treatment beams. A tumor surrounded by various types of healthy tissue can present a very complex 3-D situation which must be thoroughly understood for effective treatment to be possible. Conventional 2-D treatment planning suffers from reliance on 2-D diagnostic imaging and dose computations to represent an inherently 3-D problem. Current state-of-the-art treatment planning systems use 3-D models of the patient and compute 3-D dose distributions, but complete exploration of the solution space of possible beam orientations can be hindered by not-so-intuitive navigation controls. The thesis of this dissertation was that head-mounted display will permit freer exploration of the patient anatomy and range of possible beam orientations, thereby resulting in more efficient treatment planning.

    To that end, I developed a new, intuitive navigation mode, which used the orientation of a HMD to determine the direction from which its wearer viewed a 3-D model of the patient's anatomy. When the user looked down, he viewed the anatomy from above. Looking up yielded a view from below, and turning his head horizontally in a circle completely scanned around the model. Although it did not have a real-world metaphor, this mode (dubbed Orbital mode) proved to be surprisingly easy to use and well- suited to the task of targeting treatment beams. I compared Orbital mode with more conventional joystick-based rotation in a user study in which radiation oncology professionals designed treatment beam configurations for lung tumor cases. Slightly faster performance was found with Orbital mode, although there appeared to be no significant difference in the quality of the beam configurations. Movement in Orbital mode was more omnidirectional than with the joystick, most likely due to the mechanical construction of the joystick, which preferentially encouraged left-right and forward-back deflection. The overall conclusion from this study was that HMDs in their present state are not appropriate for clinical use, but with future developments in HMD technology, the benefits of intuitive navigation may appear in mainstream radiation treatment planning.

    Clary, Greg (2003)
    "Image Sequence Classification Via Anchor Primitives"
    Under the direction of Stephen M. Pizer
    Electronic copy available

    I define a novel class of medial primitives called anchor primitives to provide a stable framework for feature definition for statistical classification of image sequences of closed objects in motion. Attributes of anchor primitives evolving over time are used as inputs into statistical classifiers to classify object motion.

    An anchor primitive model includes a center point location, landmark locations exhibiting multiple symmetries, sub-models of landmarks, parameterized curvilinear sections and relationships among all of these. Anchor primitives are placed using image measurements in various parts of an image and using prior knowledge of the expected geometric relationships between anchor primitive locations in time-adjacent images.  Hidden Markov models of time sequences of anchor primitive locations, scales and nearby intensities and changes in those values are used for the classification of object shape change across a sequence. The classification method is shown to be effective for automatic left ventricular wall motion classification and computer lipreading.

    Computer lipreading experiments were performed on a published database of video sequences of subjects speaking isolated digits. Classification results comparable to those found in the literature were achieved, using an anchor primitive based feature set that was arguably more concise and intuitive than those of the literature. Automatic left ventricular wall motion classification experiments were performed on gated blood pool scintigraphic image sequences. Classification results arguably comparable to human performance on the same task were achieved, using a concise and intuitive anchor primitive based feature set. For both driving problems, model parameters were tuned and features were selected in order to minimize the classification error rate using leave-oneout procedures.

    Clipp, Brian Sanderson (2010)
    "Multi-Camera Simultaneous Localization and Mapping"
    Under the direction of Marc Pollefeys and Jan-Michael Frahm
    Electronic copy available

    In this thesis, we study two aspects of simultaneous localization and mapping (SLAM) for multi-camera systems: minimal solution methods for the scaled motion of non-overlapping and partially overlapping two camera systems and enabling online, real-time mapping of large areas using the parallelism inherent in the visual simultaneous localization and mapping (VSLAM) problem.

    We present the only existing minimal solution method for six degree of freedom structure and motion estimation using a non-overlapping, rigid two camera system with known intrinsic and extrinsic calibration. One example application of our method is the threedimensional reconstruction of urban scenes from video. Because our method does not require the cameras' fields-of-view to overlap, we are able to maximize coverage of the scene and avoid processing redundant, overlapping imagery.

    Additionally, we developed a minimal solution method for partially overlapping stereo camera systems to overcome degeneracies inherent to non-overlapping two-camera systems but still have a wide total field of view. The method takes two stereo images as its input. It uses one feature visible in all four views and three features visible across two temporal view pairs to constrain the system camera's motion. We show in synthetic experiments that our method creates rotation and translation estimates that are more accurate than the perspective three-point method as the overlap in the stereo camera's fields-of-view is reduced.

    A final part of this thesis is the development of an online, real-time visual SLAM system that achieves real-time speed by exploiting the parallelism inherent in the VSLAM problem. We show that feature tracking, relative pose estimation, and global mapping operations such as loop detection and loop correction can be effectively parallelized. Additionally, we demonstrate that a combination of short baseline, differentially tracked corner features, which can be tracked at high frame rates and wide baseline matchable but slower to compute features such as the scale-invariant feature transform (SIFT) (Lowe, 2004) can facilitate high speed visual odometry and at the same time support location recognition for loop detection and global geometric error correction.

    Cohen, Jonathan D. (1998)
    "Appearance-Preserving Simplification of Polygonal Models"
    Under the direction of Dinesh Manocha
    Electronic copy available

    Over the last six years, the automatic simplification of polygonal models has become an important tools for achieving interactive frame rates in the visualization of complex virtual environments. Initial methods employed clever heuristics, but no real quality metrics; then measures of quality for these simplified output models began to develop. This dissertation focuses on the use of error metrics to provide guaranteed error bounds for the simplifications we create. We guarantee bounds on the total appearance of our simplifications with respect to the three major appearance attributes: surface position, surface curvature (normal), and material color.

    We present the simplification envelopes and successive mappings algorithms for geometric simplification, two unique approaches that bound the maximum surface-to-surface deviation between the input surface and the simplified output surfaces. We also present the first bound on maximum texture deviation. Using these tools, we develop the first appearance-preserving simplification algorithm. The geometric simplification provides the filtering of the surface position attribute, bounding the error by means of the surface deviation bound. The color and curvature information are stored in texture and normal map structures, which are filtered at run time on a per-pixel basis. The geometry and maps are tied together by the texture deviation metric, guaranteeing not only that the attributes are sampled properly, but that they cover the correct pixels on the screen, all to within a user- or application-supplied tolerance in pixels of deviation.

    We have tested these algorithms on polygonal environments composed of thousands of objects and up to a few million polygons, including the auxiliary machine room of a notional submarine model, a lion sculpture from the Yuan Ming garden model, a Ford Bronco model, a detailed "armadillo" model, and more. The algorithms have proven to be efficient and effective. We have seen improvements of up to an order of magnitude in the frame rate of interactive graphics applications, with little or no degradation in image quality.

    Coombe, Gregory (2007)
    "Practical Surface Light Fields"
    Under the direction of Anselmo Lastra
    Electronic copy available

    The rendering of photorealistic surface appearance is one of the main challenges facing modern computer graphics. Image-based approaches have become increasingly important because they can capture the appearance of a wide variety of physical surfaces with complex reflectance behavior. In this dissertation, I focus on Surface Light Fields, an image-based representation of view-dependent and spatially-varying appearance.

    Constructing a Surface Light Field can be a time-consuming and tedious process.  The data sizes are quite large, often requiring multiple gigabytes to represent complex reflectance properties. The result can only be viewed after a lengthy post-process is complete, so it can be difficult to determine when the light field is sufficiently sampled.  Often, uncertainty about the sampling density leads users to capture many more images than necessary in order to guarantee adequate coverage.

    To address these problems, I present several approaches to simplify the capture of Surface Light Fields. The first is a "human-in-the-loop" interactive feedback system based on the Online SVD. As each image is captured, it is incorporated into the representation in a streaming fashion and displayed to the user. In this way, the user receives direct feedback about the capture process, and can use this feedback to improve the sampling. To avoid the problems of discretization and resampling, I used Incremental Weighted Least Squares, a subset of Radial Basis Function which allows for incremental local construction and fast rendering on graphics hardware. Lastly, I address the limitation of fixed lighting by describing a system that captures the Surface Light Field of an object under synthetic lighting.

    Cromartie, Robert C. (1995)
    "Structure-Sensitive Contrast Enhancement: Development and Evaluation"
    Under the direction of Stephen M. Pizer

    Display of a digital image is the process by which an array of recorded intensities is presented to a human observer as a light image. A fundamental step in this process is the rule by which the recorded intensities of the original image are mapped to the display-driving intensities of the display device. When performed explicitly, this step is called contrast enhancement. The goal of a contrast enhancement mapping is to help the observer better use the information contained in the intensity variations of the image in the performance of some well-specified task. This dissertation addresses both the problem of designing effective contrast enhancement mappings and the problem of evaluating the resulting techniques for the purpose of choosing between competing methods and for parameter selection for a given method.

    First, I describe the development of two new structure-sensitive contrast enhancement techniques, both of which are based on edge-affected diffusion. One, sharpened adaptive histogram equalization (SHAHE), uses edge-affected unsharp masking as a pre-process for contrast-limited adaptive histogram equalization (CLAHE). SHAE has been shown by observer study to offer a significant advantage when used to display radiation therapy portal images.

    I then present an experimental framework for using a model observer to evaluate competing display techniques and to find the best parameters for particular methods. My approach uses computer-generated images, Monte Carlo simulation of image noises, both computer generated random noise and structured noise from real images, and a carefully specified task. Using this framework, I conducted a two-stage experiment to select the best parameters for SHAHE for a distance estimation task on radiation oncology portal images. For these experiments, the model was based on Object Representation by Cores, an emerging theory of human object perception currently under development at the University of North Carolina. The experiments demonstrated the feasibility of the framework, and suggested that variations of SHAHE parameters within the subjectively plausible range could make the model's performance vary from slightly better than no enhancement to considerably worse.

    Culver, Timothy. (2000)
    "Computing the Medial Axis of a Polyhedron Reliably and Efficiently"
    Under the direction of Dinesh Manocha

    The medial axis transform is a fundamental shape operation with applications in many fields. In solid modeling, the MAT has proven a useful tool for finite element meshing, model simplification, and feature recognition. The MAT is also a complete shape representation that could be used in place of a boundary representation. Yet the MAT is not widely used because computing it is difficult both in theory and in practice. For a three-dimensional polyhedral solid, the medial axis consists of quadric surfaces and degree-four algebraic space curves. Computing with high-degree curves and surfaces requires high numerical precision. Most previous methods attempt to avoid such computation by discretizing, or otherwise approximating, the medial axis. The few existing continuous methods are based exclusively on floating-point arithmetic, which leads to reliability problems.

    I present a new reliable, continuous algorithm for accurately computing the medial axis of a polyhedron. It is the only continuous medial axis algorithm that is insensitive to roundoff error. Further, my algorithm handles the most common forms of degeneracy. The algorithm is also efficient in a practical sense. The foundation of my approach is exact computation. My MAT representation uses arbitrary-precision rational numbers to describe the medial geometry. My algorithm is based on a point-ordering predicate that is always evaluated correctly.

    By its nature, exact computation requires high-precision arithmetic, which is significantly more expensive than hardware-supported floating-point arithmetic. However, my approach avoids the extra expense where feasible, using techniques such as floating-point filters and lazy evaluation. The result is an algorithm whose running time approaches that of floating-point methods when high precision is not required. I demonstrate this assertion by applying my implementation to several complex polyhedral solids.

    Danforth, Scott H. (1983)
    "DOT: A Distributed Operating System Model of a Tree-Structured Multiprocessor"
    Under the direction of Guyla A. Mago
    Department of Computer Science Technical Report TR83-007
    Electronic copy available

    This dissertation presents DOT, a process-oriented design and simulation model for a highly parallel multiprocessor, and describes a complete associated programming system. The design methodology includes the use of layered design, abstract data types, and a process- oriented view of concurrency. Our results demonstrate that these software engineering structuring principles can be successfully applied to the design of highly parallel multiprocessors.

    DOT is represented using an executable high-level language that provides support for discrete-event simulation. This allows verification and accurate simulation of the complete programming system, which is composed of three logical levels.

    The top, or user level of the programming system is that of FFP (Formal Functional Programming) languages. The middle, or system support level is that of LPL, a low-level concurrent programming language used to define and implement FFP operators on the DOT architecture. The DOT design represents the lowest level of the programming system, a highly parallel tree-structured multiprocessor that directly supports the LPL and FFP languages.

    During execution, user programs consisting of FFP language symbols are entered into a linear array of processing cells (the leaves of the binary tree of processors represented in the DOT design), and segments of this array that contain innermost FFP applications execute LPL programs in order to perform the required reductions. The LPL programs for a useful set of FFP primitives are given.

    In addition to DOT and the overall programming system, this dissertation presents an analytic model which may be used to derive upper and lower bounds for program execution time. Predictions of the analytic model are compared with simulation results, and various design alternatives and possible extensions are examined.

    Davis, Bradley Charles (2008)
    "Medical Image Analysis via Frechet Means of Diffeomorphisms"
    Under the direction of Sarang C. Joshi
    Electronic copy available

    The constructions of average models of anatomy, as well as regression analysis of anatomical structures, are key issues in medical research. For example, these methods are applied to investigate clinical hypotheses related to the size and shape of anatomical structures indicated in brain development, or to analyze the onset and progression of disease. When the underlying anatomical process can be modeled by parameters in a Euclidean space, classical statistical techniques are applicable. However, recent work suggests that attempts to describe anatomical shapes using flat Euclidean spaces undermines our ability to represent natural biological variability, and methods for nonlinear statistical analysis of anatomical data are emerging.

    This dissertation uses a nonlinear deformable image model to measure anatomical change and define geometry-based averaging and regression for anatomical structures represented within medical images. Geometric differences are modeled by coordinate transformations, i.e., deformations, of underlying image coordinates. In order to represent local geometric changes and accommodate large deformations, these transformations are taken to be the group of diffeomorphisms with an associated metric.

    A mean anatomical image is defined using this deformation-based metric via the Frechet mean---the minimizer of the sum of squared distances. Similarly, a new technique called manifold kernel regression is presented for estimating systematic changes---as a function of a predictor variable---from data in nonlinear spaces. It is defined by recasting kernel regression in terms of a kernel-weighted Frechet mean. This method is applied to determine systematic geometric changes in the brain from a random design dataset of medical images. Finally, diffeomorphic image mapping is extended to accommodate topological changes in the form of nuisance structures---objects that are present in one image and absent in another---by deflating them prior to the estimation of geometric change. The method is applied to quantify the motion of the prostate in the presence of transient bowel gas.

    Davis, Mark C. (1990)
    "A Computer for Low Context-Switch Time"
    Under the direction of Frederick P. Brooks, Jr.
    Department of Computer Science Technical Report TR90-012
    Electronic copy available

    A context switch is the suspension of one running process and the activation of another in a multitasking environment. Many applications, such as process control, require frequent context switches among many processes. A context switch requires a substantial amount of time: about 1000 microseconds on a VAX 11/780 and about 500 microseconds on Sun 4/280. Recently introduced computer architectures, such as the SUN 4, have not improved context-switch performance as much as they have improved throughput. A computer architecture with appropriate memory hierarchy can give better support to context switching. The Computer for Low Context-Switch Time (CLOCS) is a computer with such an architecture. Because the architecture has minimum state inside the Central Processing Unit, CLOCS can switch context in less than the time required to execute one instruction. The CLOCS Memory Management Unit provides virtual memory without degrading context- switch time as long as the new process is located in physical memory. Analyses of the architecture show that CLOCS throughout performance approaches the performance of contemporary RISC workstations and that it is well suited for real-time applications. Because these analyses showed promise for the CLOCS architecture, a register-transfer level implementation was designed and simulated to estimate more accurately the performance of a feasible CLOCS computer system. Although many standard implementation techniques were not useful, a technique called short-circuiting reduced memory references by 15%. On the Dhrystone integer benchmark program, CLOCS performed at least 30% as fast as contemporary workstations constructed from the same electronic technologies, and further significant improvement of CLOCS performance is possible. By using this lower bound on CLOCS throughout performance, the proper architecture can be identified for an application with challenging context-switch requirements.

    Devi, UmaMaheswari C. (2006)
    "Soft Real-Time Scheduling on Multiprocessors"
    Under the direction of James H. Anderson
    Electronic copy available

    The design of real-time systems is being impacted by two trends. First, tightly-coupled multiprocessor platforms are becoming quite common. This is evidenced by the availability of affordable symmetric shared-memory multiprocessors and the emergence of multicore architectures.  Second, there is an increase in the number of real-time systems that require only soft real-time guarantees and have workloads that necessitate a multiprocessor. Examples of such systems include some tracking, signal-processing, and multimedia systems. Due to the above trends, cost-effective multiprocessor-based soft real-time system designs are of growing importance.

    Most prior research on real-time scheduling on multiprocessors has focused only on hard real-time systems. In a hard real-time system, no deadline may ever be missed. To meet such stringent timing requirements, all known theoretically optimal scheduling algorithms tend to preempt process threads and migrate them across processors frequently, and also impose certain other restrictions. Hence, the overheads of such algorithms can significantly reduce the amount of useful work that is accomplished and limit their practical implementation. On the other hand, non-optimal algorithms that are more practical suffer from the drawback that their validation tests require workload restrictions that can approach roughly 50% of the available processing capacity. Thus, for soft real-time systems, which can tolerate occasional or bounded deadline misses, and hence, allow for a trade-off between timeliness and improved processor utilization, the existing scheduling algorithms or their validation tests can be overkill. The thesis of this dissertation is:

    • Processor utilization can be improved on multiprocessors while ensuring non-trivial soft real-time guarantees for different soft real-time applications, whose preemption and migration overheads can span different ranges and whose tolerances to tardiness are different, by designing new scheduling algorithms, simplifying optimal ones, and developing new validation tests.

    The above thesis is established by developing validation tests that are sufficient to provide soft real-time guarantees under non-optimal (but more practical) algorithms, designing and analyzing a new restricted-migration scheduling algorithm, determining the guarantees on timeliness that can be provided when some limiting restrictions of known optimal algorithms are relaxed, and quantifying the benefits of the proposed mechanisms through simulations.

    First, we show that both preemptive and non-preemptive global earliest-deadline-first (EDF) scheduling can guarantee bounded tardiness (that is, lateness) to every recurrent real-time task system while requiring no restriction on the workload (except that it not exceed the available processing capacity). The tardiness bounds that we derive can be used to devise validation tests for soft real-time systems that are EDF-scheduled.

    Though overheads due to migrations and other factors are lower under EDF (than under known optimal algorithms), task migrations are still unrestricted. This may be unappealing for some applications, but if migrations are forbidden entirely, then bounded tardiness cannot always be guaranteed. Hence, we consider providing an acceptable middle path between unrestricted-migration and no-migration algorithms, and as a second result, present a new algorithm that restricts, but does not eliminate, migrations. We also determine bounds on tardiness that can be guaranteed under this algorithm.

    Finally, we consider a more efficient but non-optimal variant of an optimal class of algorithms called Pfair scheduling algorithms. We show that under this variant, called earliest- pseudo-deadline-first (EPDF) scheduling, significantly more liberal restrictions on workloads than previously known are sufficient for ensuring a specified tardiness bound. We also show that bounded tardiness can be guaranteed if some limiting restrictions of optimal Pfair algorithms are relaxed.

    The algorithms considered in this dissertation differ in the tardiness bounds guaranteed and overheads imposed. Simulation studies show that these algorithms can guarantee bounded tardiness for a significant percentage of task sets that are not schedulable in a hard real-time sense. Furthermore, for each algorithm, conditions exist in which it may be the preferred choice.

    Dunigan Jr., Thomas H. (1978)
    "The Design of a Computer System with All-Electronic Files"
    Under the direction of Frederick P. Brooks, Jr.

    A new computer memory device is postulated and its hardware/software implications are investigated. The memory device is defined to have an access time of ten microseconds and a ten millicent cost-per-bit, slower and cheaper than current main memories but faster than electro-mechanical devices (drums and disks). The current uses of mass memories are investigated, and a set of device parameters that would serve these uses is described. Alternative architectures for interfacing the new device to the central processing unit are analyzed. The analysis shows that treating the new device in a cache-like memory hierarchy yields the most desirable configuration.

    Techniques for including the device as part of a multi-level, hardware-controlled cache-like memory hierarchy are investigated. Design decisions affecting the performance between adjacent levels of the hierarchy are analyzed, including block size, fetch and replacement policies, block addressing, store-through, and write-back. Algorithms for determining the number of levels, their capacities, and access times are presented, with analyses of the effect of task-switch time on memory-fault management. The analyses show that optimum cost- performance is obtained when the device is the slowest member of a three-level cache-like memory hierarchy.

    Alternatives for address-space and name-space management are analyzed assuming that the new device is part of a billion-byte processor address space. Segmentation schemes and file systems are compared as alternatives for managing the information on the postulated billion-byte, directly addressable device. The analyses show that segmentation is a more effective management policy. The new device's effect on third-generation data management systems and control program structure is investigated. The new device would reduce I/O traffic on existing third generation computing systems by 90%. Most access methods and some utilities can be eliminated and the structure of the operating system is freed from constraints of limited main-memory space.

    Dwyer, Christopher L. (2003)
    "Self-Assembled Computer Architecture:  Design and Fabrication Theory"
    Under the direction of Russell M. Taylor
    Electronic copy available

    This dissertation explores the design and fabrication of massively-parallel computers using self-assembling electronic circuitry. A DNA-guided self-assembly method, inspired by discoveries in chemistry, materials science, and physics, is used to develop an argument for the feasibility of constructing complex circuitry. The fabrication yield of such a process is calculated. Together, these form the foundation for a discussion of the computer architectures and implementations that this self-assembling process enables.

    Simulations estimate the electrical performance of the components used in the self-assembly process. Traditional drift-diffusion simulations were used to evaluate a ring-gated field effect transistor and the results were applied to a circuit level simulation to evaluate specific circuit topologies. These circuits were then grouped into implementation level components (logic gates, memory elements, etc.) and used in an architecture-level behavior simulator.

    The electrical performance results enable an informed evaluation of higher-level computer designs that could be built using self-assembly. Estimates of the performance, including power consumption, of two architectures are presented. These architectures appear to be impractical without a self-assembling fabrication process and are shown to have remarkable advantages over conventional computing machines. These machines are estimated to be nearly three orders of magnitude faster than the fastest next-generation supercomputer (IBM BlueGene /L) on certain classes of problems.

    Dybvig, R. Kent (1987)
    "Three Implementation Models for Scheme"
    Under the direction of Gyula A. Mago
    Department of Computer Science Technical Report TR87-011
    Electronic copy available

    This dissertation presents three implementation models for the Scheme Programming Language. The first is a heap-based model used in some form in most Scheme implementations to date; the second is a new stack-based model that is considerably more efficient than the heap-based model at executing most programs; and the third is a new string-based model intended for use in a multiple-processor implementation of Scheme. The heap-based model allocates several important data structures in a heap, including actual parameter lists, binding environments, and call frames. The stack-based model allocates these same structures on a stack whenever possible. This results in less heap allocation, fewer memory references, shorter instruction sequences, less garbage collection, and more efficient use of memory. The string-based model allocates versions of these structures right in the program text, which is represented as a string of symbols. In the string-based model, Scheme programs are translated into an FFP language designed specifically to support Scheme. Programs in this language are directly executed by the FFP machine, a multiple-processor string-reduction computer. The stack-based model is of immediate practical benefit; it is the model used by the author's Chez Scheme system, a high-performance implementation of Scheme. The string-based model will be useful for providing Scheme as a high-level alternative to FFP on the FFP machine once the machine is realized.

    Eastman, Caroline M. (1977)
    "A Tree Algorithm for Nearest Neighbor Searching in Document Retrieval Systems"
    Under the direction of Stephen F. Weiss
    Electronic copy available

    The problem of finding nearest neighbors in a document collection is a special case of associative retrieval, in which searches are performed using more than one key. The concept tree algorithm, a new associative retrieval algorithm suitable for document retrieval systems that use similarity measures to select documents, is described. The basic structure used is a binary tree; at each node a set of keys (concepts) is tested to select the most promising branch. Backtracking to initially rejected branches is allowed and often necessary.

    The average search time required by this algorithm is O(log2N)k, where N is the number of documents in the collection, and k is a system-dependent parameter. A series of experiments with a small document collection confirm the predictions made using the analytic model; the value of k is approximately 4 in this situation.

    The concept tree algorithm is compared with two other searching algorithms, sequential search and clustered search. For large collections, the predicted average search time for a concept tree search is less than that for a sequential search and greater than that for a clustered search. Only the sequential search and the concept tree search guarantee that the near neighbors found are actually the nearest neighbors.

    The concept tree search could be used to advantage in some document retrieval systems. The algorithm can also be considered for other applications requiring associative retrieval.

    Eastwood, Brian (2009)
    "Multiple Layer Image Analysis for Video Microscopy"
    Under the direction of Russell Taylor
    Electronic copy available

    Motion analysis is a fundamental problem that serves as the basis for many other image analysis tasks, such as structure estimation and object segmentation. Many motion analysis techniques assume that objects are opaque and non-reflective, asserting that a single pixel is an observation of a single scene object. This assumption breaks down when observing semitransparent objects---a single pixel is an observation of the object and whatever lies behind it. This dissertation is concerned with methods for analyzing multiple layer motion in microscopy, a domain where most objects are semitransparent.

    I present a novel approach to estimating the transmission of light through stationary, semitransparent objects by estimating the gradient of the constant transmission observed over all frames in a video. This enables removing the non-moving elements from the video, providing an enhanced view of the moving elements.

    I present a novel structured illumination technique that introduces a semitransparent pattern layer to microscopy, enabling microscope stage tracking even in the presence of stationary, sparse, or moving specimens. Magnitude comparisons at the frequencies present in the pattern layer provide estimates of pattern orientation and focal depth. Two pattern tracking techniques are examined, one based on phase correlation at pattern frequencies, and one based on spatial correlation using a model of pattern layer appearance based on microscopy image formation.

    Finally, I present a method for designing optimal structured illumination patterns tuned for constraints imposed by specific microscopy experiments. This approach is based on analysis of the microscope's optical transfer function at different focal depths.

    Eberly, David H. (1994)
    "Geometric Methods for Analysis of Ridges in N-Dimensional Images"
    Under the direction of Stephen M. Pizer
    Department of Computer Science Technical Report TR94-066
    Electronic copy available

    Image segmentation is a process which identifies and labels objects in an image. The goals of this dissertation are to produce an algorithm for segmenting an image in the way that a front-end vision system does, using the local geometry induced by the intensity values of the image, to create multiscale representations of the objects that allow exploration of the details of the image via an interactive computer system, and to provide a formal geometric foundation for multiscale image analysis. The geometric concept of ridges is discussed. These structures are used to describe the shape properties of objects in an image. Various definitions are given for d-dimensional ridge structures of n-dimensional images. Ridges are used in conjunction with multiscale methods to segment an image. The output of the segmentation is a single tree and the objects in the image are represented as unions and differences of subtrees. The tree and image are used as input to a visualization tool which allows the user to explore the image interactively. A formal foundation for multiscale analysis is given which involves non- Euclidean geometry. Metric selection for scale space is naturally related to invariances required for a particular application. The anisotropic diffusion process for generating multiscale data is automatically determined by the metric. Moreover, the metric is used as an aid in developing fast, stable, and adaptive numerical algorithms for solving the nonlinear diffusion equations. This geometric foundation for multiscale analysis provides a natural set of tools for extracting information about objects in an image.

    Ellsworth, David A. (1996)
    "Polygon Rendering for Interactive Visualization on Multicomputers"
    Under the direction of Henry Fuchs
    Electronic copy available

    This dissertation identifies a class of parallel polygon rendering algorithms suitable for interactive use on multicomputers, and presents a methodology for designing efficient algorithms within that class. The methodology was used to design a new polygon rendering algorithm that uses the frame-to-frame coherence of the screen image to evenly partition the rasterization at reasonable cost. An implementation of the algorithm on the Intel Touchstone Delta at Caltech, the largest multicomputer at the time, renders 3.1 million triangles per second. The rate was measured using a 806,640 triangle model and 512 i860 processors, and includes back-facing triangles. A similar algorithm is used in Pixel- Planes 5, a system that has specialized rasterization processors, and which, when introduced, had a benchmark score for the SPEC Graphics Performance Characterization Group "head" benchmark that was nearly four times faster than commercial workstations. The algorithm design methodology also identified significant performance improvements for Pixel-Planes 5.

    All fully parallel polygon rendering algorithms have a sorting step to redistribute primitives or fragments according to their screen location. The algorithm class mentioned above is one of four classes of parallel rendering algorithms identified; the classes are differentiated by the type of data that is communicated between processors. The identified algorithm class, called sort-middle, sorts screen-space primitives between the transformation and rasterization.

    The design methodology uses simulations and performance models to help make the design decisions. The resulting algorithm partitions the screen during rasterization into adaptively sized regions with an average of four regions per processor. The region boundaries are only changed when necessary: when one region is the rasterization bottle-neck. On smaller systems, the algorithm balances the loads by assigning regions to processors once per frame, using the assignments made during one frame in the next. However, when 128 or more processors are used at high frame rates, the load balancing may take too long, and so static load balancing should be used. Additionally, a new all-to-all communication method improves the algorithm's performance on systems with more than 64 processors.

    Erikson, Carl M. (2000)
    "Hierarchical Levels of Detail to Accelerate the Rendering of Large Static and Dynamic Polygonal Environments"
    Under the direction of Dinesh Manocha
    Department of Computer Science Technical Report TR00-012
    Electronic copy available

    Interactive visualization of large three-dimensional polygonal datasets is an important topic in the field of computer graphics and scientific visualization. These datasets can be static, such as walkthrough applications, or dynamic, such as CAD scenarios where a designer moves, adds, or deletes parts. In many cases, the number of primitives in these models overwhelms the rendering performance of current graphics systems. One method for accelerating the rendering of these environments is polygonal simplification. This dissertation describes the creation and application of levels of detail, or LODs, and hierarchical levels of detail, or HLODs, to accelerate the rendering of large static and dynamic polygonal environments. The principal idea of this work is that simplification methods should not always treat objects, or collections of polygons, in a scene independently. Instead, they may be able to produce higher quality and drastic approximations by simplifying disjoint regions of a scene together. This idea is applicable to the creation of LODs for individual objects that consist of unconnected polygons, and for the construction of HLODs, or approximations representing groups of static or dynamic objects.

    We present a polygonal simplification algorithm called General and Automatic Polygonal Simplification, or GAPS, that excels at merging disjoint polygons through the use of an adaptive distance threshold and surface area preservation. We use GAPS to create LODs and HLODs for nodes in the scene graphs of large polygonal environments. These approximations enable two rendering modes, one that allows the user to specify a desired image quality and another that targets a frame-rate. When objects in the scene move, our algorithm updates HLODs that have become inaccurate or invalid using asynchronous simplification processes. Our algorithm currently handles scenes with limited rigid-body dynamic movement. We demonstrate its performance on several large CAD environments including a 13 million polygon power plant model. Our approach has achieved nearly an order of magnitude improvement in average rendering speed with little or no loss in image quality for several viewing paths of complex environments.

    Faith, Rickard E. (1998)
    "Debugging Programs After Structure-Changing Transformation"
    Under the direction of Jan F. Prins
    Electronic copy available

    Translators convert a program from one language to another, and are used to solve a wide range of problems, such as the construction of compilers, optimizers, and preprocessors. Although many tools support the creation of translators, these tools do not provide integrated support for debugging the translator or the output of the translator.

    This dissertation investigates the tracking of information necessary to provide debugging capabilities for those translators that are structured as a set of program transformations operating on a tree-based representation. In this setting I describe how basic debugging capabilities can be automatically and transparently defined without semantic knowledge of the languages being translated. Furthermore, advanced debugging support, relying on the semantics of the languages and transformations, can be incorporated into this basic framework in a systematic manner.

    To evaluate this approach I have constructed KHEPERA, a program transformation system with integral support for the construction of debuggers. With this system I have explored debugging capabilities for traditional compiler optimizations, for more aggressive loop and parallelizing transformations, and for the transformation process itself. I also present algorithms that increase the performance of the transformation process.

    Faulk, Stuart R.(1989)
    "State Determination in Hard-Embedded Systems"
    Under the direction of David L. Parnas

    "Hard-embedded" describes a class of real-time systems with tight time and memory constraints. We are interested in developing documentation and software for hard-embedded systems that are easy to understand, change, and maintain. Part of what makes these systems difficult to understand or change is a failure to separate concerns where system state information must be shared among system tasks.

    We present a systematic approach to 1) writing software requirements, 2) designing software modules, and 3) writing code so loosely connected tasks sharing state information can be developed and understood independently. We construct a formal model for system states and state transitions based on finite state automata. A method for specifying system requirements, based on the model, is developed and applied to a real system. The requirements are realized in the design of an information hiding module that keeps track of state information at run- time. A formal specification of the module interface is provided and we show that the design preserves ease of change for programs sharing state information.

    A technique that aids separation of concerns is development of a system as a set of cooperating sequential processes. Where a hard-embedded system is developed as loosely connected processes, a synchronization mechanism must be used to allow processes to signal and synchronize with changes in the system state. Since there are no established criteria for choosing an appropriate synchronization device, we describe a set of objective criteria appropriate for hard-embedded systems. We demonstrate that the State Transition Event (STE) synchronization mechanism satisfies our criteria. As part of that demonstration, we give a procedure for translating a formal specification of synchronization requirements into an implementation in terms of STE variables.

    We demonstrate effectiveness of the overall approach by developing a real example from requirements through implementation. Experience with the techniques on a large system (the U.S, Naval Research Laboratory's SCR A-7E aircraft software) is described.

    Feng, David (2010)
    "Visualization of Uncertain Multivariate 3D Scalar Fields"
    Under the direction of Russell M. Taylor II
    Electronic copy available

    This dissertation presents a visualization system that enables the exploration of relationships in multivariate scalar volume data with statistically uncertain values. The n- Dimensional Volume Explorer (nDive) creates multiple visualizations that emphasize diㄦent features of the data. nDive provides data selection mechanisms tha are linked between views to enable the comparison of separate data populations in the presence of uncertainty.

    Incorporating representations of uncertainty into data visualizations is crucial for preventing viewers from drawing conclusions based on untrustworthy data points. The challenge of visualizing uncertain data increases with the complexity of the data set. nDive separates the visualization into multiple views: a glyph-based spatial visualization and abstract multivariate density plots that incorporate uncertainty. The spatial visualization, Scaled Data-Driven Spheres (SDDS), distributes (for each variable) a set of scaled, colored spheres in the sample space. A user study demonstrates that viewers are faster and more accurate using SDDS to identify spatial values and relationships as compared to superquadric glyphs, an alternative technique. The abstract plots complement SDDS by preattentively focusing the viewer on trustworthy data points using the probability density function of the data. These views, coupled with novel interaction techniques that utilize data value uncertainty, enable the identification of relationships while avoiding false conclusions based on uncertain data.

    The primary application of nDive is aiding radiologists who use magnetic resonance spectroscopy (MRS) to better understand the composition of abnormalities such as brain tumors and improve diagnostic accuracy. This work demonstrates how nDive has been successfully used to identify metabolic signatures for multiple types of tumors.

    Fisher, Nathan Wayne (2009)
    "The Multiprocessor Real-Time Scheduling of General Task Systems"
    Under the Direction of Sanjoy K. Baruah
    Electronic copy available

    The recent emergence of multicore and related technologies in many commercial systems has increased the prevalence of multiprocessor architectures. Contempora- neously, real-time applications have become more complex and sophisticated in their behavior and interaction. Inevitably, these complex real-time applications will be de- ployed upon these multiprocessor platforms and require temporal analysis techniques to verify their correctness. However, most prior research in multiprocessor real-time scheduling has addressed the temporal analysis only of Liu and Layland task systems.  The goal of this dissertation is to extend real-time scheduling theory for multiproces- sor systems by developing temporal analysis techniques for more general task models such as the sporadic task model, the generalized multiframe task model, and the recurring real-time task model. The thesis of this dissertation is:

    • Optimal online multiprocessor real-time scheduling algorithms for sporadic and more general task systems are impossible; however, efficient, online scheduling algorithms and associated feasibility and schedulability tests, with provably bounded deviation from any optimal test, exist.

    To support our thesis, this dissertation develops feasibility and schedulability tests for various multiprocessor scheduling paradigms. We consider three classes of mul- tiprocessor scheduling based on whether a real-time job may migrate between pro- cessors: full-migration, restricted-migration, and partitioned. For all general task systems, we obtain feasibility tests for arbitrary real-time instances under the full- and restricted-migration paradigms. Despite the existence of tests for feasibility, we show that optimal online scheduling of sporadic and more general systems is im- possible. Therefore, we focus on scheduling algorithms that have constant-factor approximation ratios in terms of an analysis technique known as resource augmenta- tion. We develop schedulability tests for scheduling algorithms, earliest-deadline-first (edf) and deadline-monotonic (dm), under full-migration and partitioned scheduling paradigms. Feasibility and schedulability tests presented in this dissertation use the workload metrics of demand-based load and maximum job density and have provably bounded deviation from optimal in terms of resource augmentation. We show the demand-based load and maximum job density metrics may be exactly computed in pseudo-polynomial time for general task systems and approximated in polynomial time for sporadic task systems.

    Fletcher, P. Thomas (2004)
    "Statistical Variability in Nonlinear Spaces:  Application to Shape Analysis and DT-MRI"
    Under the direction of Stephen M. Pizer and Sarang Joshi
    Electronic copy available

    Statistical descriptions of anatomical geometry play an important role in many medical image analysis applications. For instance, geometry statistics are useful in understanding the structural changes in anatomy that are caused by growth and disease.  Classical statistical techniques can be applied to study geometric data that are elements of a linear space. However, the geometric entities relevant to medical image analysis are often elements of a nonlinear manifold, in which case linear multivariate statistics are not applicable. This dissertation presents a new technique called principal geodesic analysis for describing the variability of data in nonlinear spaces. Principal geodesic analysis is a generalization of a classical technique in linear statistics called principal component analysis, which is a method for computing an efficient parameterization of the variability of linear data. A key feature of principal geodesic analysis is that it is based solely on intrinsic properties, such as the notion of distance, of the underlying data space.

    The principal geodesic analysis framework is applied to two driving problems in this dissertation: (1) statistical shape analysis using medial representations of geometry, which is applied within an image segmentation framework via posterior optimization of deformable medial models, and (2) statistical analysis of diffusion tensor data intended as a tool for studying white matter fiber connection structures within the brain imaged by magnetic resonance diffusion tensor imaging. It is shown that both medial representations and diffusion tensor data are best parameterized as Riemannian symmetric spaces, which are a class of nonlinear manifolds that are particularly well-suited for principal geodesic analysis. While the applications presented in this dissertation are in the field of medical image analysis, the methods and theory should be widely applicable to many scientific fields, including robotics, computer vision, and molecular biology.

    Frank, Geoffrey A. (1979)
    "Virtual Memory Systems for Closed Applicative Language Interpreters"
    Under the direction of Donald F. Stanat

    Closed applicative languages include the FFP languages introduced by Backus in the 1977 Turing lecture. In this work, a class of interpreters for these languages is described. These interpreters are designed to be implemented on machines with a two level storage hierarchy, and are called virtual memory interpreters since they hide the memory hierarchy from the user. Virtual memory interpreters eliminate the need to store the entire program text in main store, and may reduce the execution time and space required to execute some programs by (1) allowing pointers to auxiliary memory to be moved instead of expressions, (2) allowing data sharing in auxiliary store.

    A virtual memory interpreter is shown to be a correct implementation of its closed applicative language by describing a virtual memory language for the interpreter, and defining a translation function that (1) maps the expressions of the closed applicative language to the expressions of the virtual memory language and (2) preserves the meanings of the languages.

    Mago has designed a cellular processor system for interpreting closed applicative languages that can take full advantage of the potential parallelism in a program if there is enough space in the machine to hold the program throughout execution. In order to demonstrate the capabilities of a virtual memory interpreter, a program for a file update problem is analyzed, and the execution times of this program on a Mago machine and on a virtual memory machine based on a Mago machine are compared. This example indicates that for some programs execution on a virtual memory interpreter can save time and space when compared with execution on a Mago machine.

    Fredericksen, R. Eric (1993)
    "The Biological Computation of Visual Motion"
    Under the direction of Stephen M. Pizer and Willem H. van de Grind (University of Utrecht)
    Department of Computer Science Technical Report TR93-036
    Electronic copy available

    The mechanisms underlying the computation of visual motion in biological systems are explored. Psychophysical experiments in visual perception of apparent motion (sequences of static images as in film, video, or computer controlled displays) were performed using random dot apparent motion stimuli designed to isolate populations of biological motion detectors. The results of these experiments along with extant information in the psychophysical, neurophysiological, and neuroanatomical literature are used to construct mathematical models for the distribution of biological motion detectors in the visual field, and for the mechanisms underlying the combination of motion detector outputs over visual space and time (stimulus duration). The mathematical models are shown to capture the major characteristics of the visibility of motion in humans. The detector distribution is described in terms of the visibility of spatial displacement size and image frame rate, and the dependence of that visibility on stimulus eccentricity in the visual field. The mathematical form of the distribution is a natural consequence of the mapping of visual space to visual cortex combined with a homogeneous distribution of cortical correlation distances, self-organization processes, and the availability of motion information in the visual field. The mechanisms for combination of motion detector responses over visual space and over time are modeled based on known neurophysiology. Preliminary results from simulations of the self-organization of the detector array are consistent with the psychophysical data. A comprehensive model is presented and the implications of the model with respect to the computer controlled display of motion information are discussed.

    Fridman, Yonatan (2004)
    "Extracting Branching Object Geometry via Cores"
    Under the Direction of Stephen M. Pizer
    Electronic copy available

    The extraction of branching objects and their geometry from 3D medical images is the goal of the research described here. The methods I develop and analyze are based on optimization of medial strength embodied in cores, a type of multiscale medial axis. The cores research described here focuses on object branches.

    The dissertation describes two sets of methods, one that computes 1D cores of tubular objects and another that computes 2D cores of non-tubular, or slab-like, objects. Each of these sets of methods uses a core-following technique that optimizes a medialness measure over position, radius, and orientation. I combine methods for branch-finding, branchreseeding, and core-termination with core-following to produce a tool that can extract complex branching objects from 3D images without the need for user interaction.

    I demonstrate the performance of the tubular core methods by extracting blood vessel trees from 3D head MR data, and I demonstrate the performance of the slab-like core methods by extracting kidneys from 3D abdominal CT data. I also integrate the two sets of methods with each other to extract kidneys and adjoining vasculature from CT data. Finally, I perform a thorough analysis of the effects of object geometry on cores using synthetic images. This analysis shows impressive resistance of the tubular core methods to image noise. It also shows that the slab-like core methods are not as robust but are still effective for extracting branching objects from medical images with relatively low noise.

    Fritsch, Daniel S. (1993)
    (Biomedical Engineering, UNC-Chapel Hill)
    "Registration of Radiotherapy Images Using Multiscale Medial Descriptions of Image Structure"
    Under the direction of James Coggins

    The representation of object shape in medical images is an important precursor to many common image interpretation needs, including recognition, registration and measurement. Typically, methods for such computer vision tasks require the preliminary step of image segmentation, often via the detection of object edges. This dissertation presents a new means for describing greyscale objects that obviates the need for edge-finding, i.e., classifying pixels as being either inside or outside of an object boundary. Instead, this technique operates directly on the greyscale image intensity distribution to produce a set of "medialness" measurements at every pixel and across multiple spatial scales that capture more global properties of object structure than edge-based methods. When the set of all medialness measurements at some optimal scale of measurement are considered, a ridge-like intensity structure is formed along the middles of objects and a generalized medial axis is obtained by labeling pixels along this ridge and associating a scale value with each axis position. The result of this procedure is an image description called the Multiscale Medial Axis (MMA), which represents the structure of objects in an image at multiple and simultaneous levels of scale, and which provides several desirable properties for describing the shape of greyscale forms. Application of this image description technique to the automatic registration of radiotherapy planning and treatment images is described.

    Funk, Shelby Hyat (2004)
    (Biomedical Engineering, UNC-Chapel Hill)
    "EDF Scheduling on Heterogeneous Multiprocessors"
    Under the direction of Sanjoy K. Baruah
    Electronic copy available

    The goal of this dissertation is to expand the types of systems available for real-time applications. Specifically, this dissertation introduces tests that ensure jobs will meet their deadlines when scheduled on a uniform heterogeneous multiprocessor using the Earliest Deadline First (EDF) scheduling algorithm, in which jobs with earlier deadlines have higher priority. On uniform heterogeneous multiprocessors, each processor has a speed s, which is the amount of work that processor can complete in one unit of time. Multiprocessor scheduling algorithms can have several variations depending on whether jobs may migrate between processors — i.e., if a job that starts executing on one processor may move to another processor and continue executing. This dissertation considers three different migration strategies: full migration, partitioning, and restricted migration. The full migration strategy applies to all types of job sets. The partitioning and restricted migration strategies apply only to periodic tasks, which generate jobs at regular intervals. In the full migration strategy, jobs may migrate at any time provided a job never executes on two processors simultaneously. In the partitioning strategy, all jobs generated by a periodic task must execute on the same processor. In the restricted migration strategy, different jobs generated by a periodic task may execute on different processors, but each individual job can execute on only one processor. The thesis of this dissertation is:

    Schedulability tests exist for the Earliest Deadline First (EDF) scheduling algorithm on heterogeneous multiprocessors under different migration strategies including full migration, partitioning, and restricted migration. Furthermore, these tests have polynomial-time complexity as a function of the number of processors (m) and the number of periodic tasks (n).

    • The schedulability test with full migration requires two phases: an O(m) onetime calculation, and an O(n) calculation for each periodic task set.

    • The schedulability test with restricted migration requires an O(m + n) test for each multiprocessor / task set system.

    • The schedulability test with partitioning requires two phases: a one-time exponential calculation, and an O(n) calculation for each periodic task

    Furst, Jacob D. (1999)
    "Height Ridges of Oriented Medialness"
    Under the direction of Stephen M. Pizer
    Electronic copy available

    Shape analysis of objects is an important aspect of medical image processing. Information gained from shape analysis can be used for object segmentation, object-based registration and object visualization. One shape analysis tool is the core, defined to be a height ridge of a medial strength measure made on an image. In this dissertation I present 3D cores, defined here to be optimal scale-orientation height ridges of oriented medial strength measurements. This dissertation covers:

    • a medial strength measurement, Blum-like medialness, that is robust, efficient, and insensitive to intrafigural interference,
    • a new definition for a ridge, the optimal parameter height ridge, and its properties, and
    • an algorithm, Marching Ridges, for extracting cores.

    The medial strength measurement uses Guassian derivatives, so is less sensitive to noise, and responds to object boundaries at points rather than on entire spheres, so is faster to calculate and less sensitive to boundaries of other image figures. The Marching Ridges algorithm uses the grid structure of the image domain to identify ridge points as zero-crossings of first derivatives and to track ridges through the image domain.

    Gallup, David (2010)
    "Efficient 3D Reconstruction of Large-Scale Urban Environments from Street-Level Video"
    Under the direction of Marc Pollefeys and Jan-Michael Frahm
    Electronic copy available

    Recovering the 3-dimensional (3D) structure of a scene from 2-dimensional (2D) images is a fundamental problem in computer vision with many applications in computer graphics, entertainment, robotics, transportation, manufacturing, security, etc. In this dissertation, I will show how to automatically and efficiently create detailed 3D models of urban environments from street-level imagery. Modeling large urban areas, even entire cities, is an enormous challenge due to the sheer scale of the problem. Even a partial data capture of the town of Chapel Hill requires millions of frames of street-level video. The methods presented in this dissertation are highly parallel and use little memory, and therefore utilize modern graphics hardware (GPU) technology to process video at the recording frame rate. Also, the structure in urban scenes such as planarity, orthogonality, verticality, and texture regularity can be exploited to achieve 3D reconstructions with greater efficiency, higher quality, and lower complexity.

    By examining the structure of an urban scene, a multiple-direction plane-sweep stereo method is performed on the GPU in real-time. An analysis of stereo precision leads to a view selection strategy that guarantees constant depth resolution and improves bounds on time complexity. Depth measurements are further improved by segmenting the scene into piecewise-planar and non-planar regions, which is driven by learned planar surface appearance. Finally, depth measurements are fused and the final 3D surface is recovered using a multi-layer heightmap model that produces clean, complete, and compact 3D reconstructions. The effectiveness of these methods is demonstrated by results from thousands of frames of video from a variety of urban scenes.

    Galoppo, Nico (2008)
    "Animation, Simulation, and Control of Soft Characters using Layered Representations and Simplified Physics-based Methods"
    Under the direction of Ming Lin
    Electronic copy available

    Realistic behavior of computer generated characters is key to bringing virtual environments, computer games, and other interactive applications to life. The plausibility of a virtual scene is strongly influenced by the way objects move around and interact with each other. Traditionally, actions are limited to motion capture driven or pre-scripted motion of the characters. Physics enhance the sense of realism: without it virtual objects do not seem to behave as expected in real life. To make gaming and virtual environments truly immersive, it is crucial to simulate the response of characters to collisions and to produce secondary effects such as skin wrinkling and muscle bulging. Unfortunately, existing techniques cannot achieve these effects in real time, do not address the coupled response of a character's skeleton and skin to collisions nor do they support artistic control.

    In this dissertation, I present interactive algorithms that enable physical simulation of deformable characters with high surface detail and support for intuitive deformation control. I propose a novel unified framework for real-time modeling of soft objects with skeletal deformations and surface deformation due to contact, and their interplay for object surfaces with up to tens of thousands of degrees of freedom. I make use of layered models to reduce computational complexity. I introduce dynamic deformation textures, which map three dimensional deformations in the deformable skin layer to a two dimensional domain for extremely efficient parallel computation of the dynamic elasticity equations and optimized hierarchical collision detection. I also enhance layered models with responsive contact handling, to support the interplay between skeletal motion and surface contact and the resulting two-way coupling effects. Finally, I present dynamic morph targets, which enable intui! tive control of dynamic skin deformations at runtime by simply sculpting pose-specific surface shapes. The resulting framework enables real-time and directable simulation of soft articulated characters with frictional contact response, capturing the interplay between skeletal dynamics and complex, non-linear skin deformations.morph targets, which enable intuitive control of dynamic skin deformations at runtime by simply sculpting pose-specific surface shapes.

    Gamblin, Todd (2009)
    "Scalable Performance Measurement and Analysis"
    Under the Direction of Dan Reed
    Electronic copy available

    Concurrency levels in large-scale, distributed-memory super computers are rising exponentially. Four of the current top five machines contain 100,000 or more microprocessor cores, and the largest of these, IBM's Blue Gene/L, contains over 200,000 cores, and systems with millions of concurrent tasks are expected within the next three years. Tuning the performance of large-scale applications can be a subtle and time-consuming task because performance engineers must measure and make sense of data from many independent processes, and the volume of this data can quickly become unmanageable.

    In this dissertation, I focus on efficient techniques for measuring and analyzing the performance of applications running on very large parallel machines. I present three techniques for reducing parallel performance data volume. The first draws on wavelet compression to compress system-wide, time-varying load balance data to manageable size. The second uses statistical sampling to measure a small subset of running processes and to generate low-volume, sampled traces. The third approach combines sampling and wavelet compression to adaptively stratify processes into performance equivalence classes at run-time, and to further reduce the cost of sampled tracing with stratified sampling. Finally, I have integrated these approaches into Libra, a toolset for scalable load-balance analysis. I describe Libra and show how it can be used to scalably visualize performance data from large- scale scientific applications.

    Gauch, John M. (1989)
    "The Multiresolution Intensity Axis of Symmetry and its Application to Image Segmentation"
    Under the direction of Stephen M. Pizer
    Department of Computer Science Technical Report TR89-047
    Electronic copy available

    A new shape description for grey-scale images called the intensity axis of symmetry (IAS) and an associated curvature-based description called vertex curves are presented. Both of these shape description methods focus on properties of the level curves of the image and combine this information across intensities to obtain representations which capture properties of both the spatial and intensity shape of an image. Methods to calculate and to display both image shape descriptions are described. To provide the necessary coherence across the spatial and intensity dimensions while computing the IAS, the boundary-based active contour method of Kass is extended to obtain a surface-based functional called the active surface. To illustrate the effectiveness of the IAS for image shape description, an interactive image segmentation program which identifies and displays image regions associated with individual components of the IAS is demonstrated. These regions often correspond to sensible anatomical structures in medical images. An analysis of the multiresolution behavior of the IAS reveals that it is possible to impose a quasi-hierarchy on IAS sheets by focusing on the multiresolution properties of much simpler geometric structures: vertex curves approximated by watershed boundaries.

    Gauch, Susan E. (1990)
    "An Expert System for Searching in Full-Text"
    Under the direction of John B. Smith
    Department of Computer Science Technical Report TR89-043
    Electronic copy available

    This dissertation explores techniques to improve full-text information retrieval by experienced computer users or novice users of retrieval systems. An expert system which automatically reformulates Boolean user queries to improve search results is presented. The expert system differs from other intelligent database functions in two ways: it works with semantically and syntactically unprocessed text; and the expert system contains a knowledge base of domain independent search strategies. The passages retrieved are presented to the user in decreasing order of estimated relevancy. This combination of user interface features provides powerful, yet simple, access to full-text documents.

    Experimental results demonstrate that the expert system can improve the search efficiency of novice searchers without decreasing their search effectiveness. Further, an evaluation of the ranking algorithm confirms that, in general, the system presents potentially relevant passages to the user before irrelevant passages.

    Gayle, T. Russell (2010)
    “Physics-based Sampling for Motion Planning”
    Under the direction of Dinesh Manocha and Ming Lin
    Electronic copy available

    Motion planning is a fundamental problem with applications in a wide variety of areas including robotics, computer graphics, animation, virtual prototyping, medical simulations, industrial simulations, and traffic planning. Despite being an active area of research for nearly four decades, prior motion planning algorithms are unable to provide adequate solutions that satisfy the various constraints that arise in these applications. We present a novel approach based on physics-based sampling for motion planning that can compute collision-free paths while also satisfying many physical constraints. Our planning algorithms use constrained simulation to generate samples which are biased in the direction of the final goal positions of the agent or agents. The underlying simulation core implicitly incorporates kinematics and dynamics of the robot or agent as constraints or as part of the motion model itself. Thus, the resulting motion is smooth and physically-plausible for both single robot and multi-robot planning.

    We apply our approach to planning of deformable soft-body agents via the use of graphics hardware accelerated interference queries. We highlight the approach with a case study on pre-operative planning for liver chemoembolization. Next, we apply it to the case of highly articulated serial chains. Through dynamic dimensionality reduction and optimized collision response, we can successfully plan the motion of "snake-like" robots in a practical amount of time despite the high number of degrees of freedom in the problem. Finally, we show the use of the approach for a large number of bodies in dynamic environments. By applying our approach to both global and local interactions between agents, we can successfully plan for thousands of simple robots in real-world scenarios. In particular, we demonstrate their application to large crowd simulations.

    Gill, Gennette (2010)
    "Analysis and Optimization for Pipelined Asynchronous Systems"
    Under the direction of Montek Singh
    Electronic copy available

    Most microelectronic chips used today---in systems ranging from cell phones to desktop computers to supercomputers---operate in basically the same way: they synchronize the operation of their millions of internal components using a clock that is distributed globally. This global clocking is becoming a critical design challenge in the quest for building chips that offer increasingly greater functionality, higher speed, and better energy efficiency.

    As an alternative, asynchronous or “clockless” design obviates the need for global synchronization; instead, components operate concurrently and synchronize locally only when necessary. This dissertation focuses on one class of asynchronous circuits: application specific stream processing systems (\emph{i.e.} those that take in a stream of data items and produce a stream of processed results.) High-speed stream processors are a natural match for many high-end applications, including 3D graphics rendering, image and video processing, digital filters and DSPs, cryptography, and networking processors.

    This dissertation aims to make the design, analysis, optimization, and testing of circuits in the chosen domain both fast and efficient. Although much of the groundwork has already been laid by years of past work, my work identifies and addresses four critical missing pieces: i) fast performance analysis for estimating the throughput of a fine-grained pipelined system; ii) automated and versatile design space exploration; iii) a full suite of circuit level modules that connect together to implement a wide variety of system behaviors; and iv) testing and design for testability techniques that identify and target the types of errors found only in high-speed pipelined asynchronous systems.

    I demonstrate these techniques on a number of examples, ranging from simple applications that allow for easy comparison to hand-designed alternatives to more complex systems, such as a JPEG encoder. I also demonstrate these techniques through the design and test of a fully asynchronous GCD demonstration chip.

    Gill, Gennette D. (2010)
    "Analysis and Optimization for Pipelined Asynchronous Systems"
    Under the direction of Montek Singh
    Electronic copy available

    Most microelectronic chips used today--in systems ranging from cell phones to desktop computers to supercomputers--operate in basically the same way: they synchronize the operation of their millions of internal components using a clock that is distributed globally. This global clocking is becoming a critical design challenge in the quest for building chips that offer increasingly greater functionality, higher speed, and better energy efficiency.

    As an alternative, asynchronous or "clockless" design obviates the need for global synchronization; instead, components operate concurrently and synchronize locally only when necessary. This dissertation focuses on one class of asynchronous circuits: application specific dataflow systems (i.e.  those that take in a stream of data items and produce a stream of processed results.) High-speed stream processors are a natural match for many high-end applications, including 3D graphics rendering, image and video processing, digital filters and DSPs, cryptography, and networking processors.

    This dissertation aims to make the design, analysis, optimization, and testing of circuits in the chosen domain both fast and efficient. Although much of the groundwork has already been laid by years of past work, my work identifies and addresses four critical missing pieces: i) fast performance analysis for estimating the throughput of a fine-grained pipelined system; ii) automated and versatile design space exploration; iii) a full suite of circuit level modules that connect together to implement a wide variety of system behaviors; and iv) testing and design for testability techniques that identify and target the types of errors found only in high-speed pipelined asynchronous systems.

    I demonstrate these techniques on a number of examples, ranging from simple applications that allow for easy comparison to hand-designed alternatives to more complex systems, such as a JPEG encoder. I also demonstrate these techniques through the design and test of a fully asynchronous GCD demonstration chip.

    Glassner, Andrew S. (1988)
    "Algorithms for Efficient Image Synthesis"
    Under the direction of Frederick P. Brooks, Jr.
    Department of Computer Science Technical Report TR90-031
    Electronic copy available

    This dissertation embodies six individual papers, each directed towards the efficient synthesis of realistic, three-dimensional images and animations. The papers form four major categories: ray tracing, animation, texture mapping, and fast iterative rendering.

    The ray tracing papers present algorithms for efficiently rendering static and animated scenes. I show that it is possible to make use of coherence in both object space and time to quickly find the first intersected object on a ray's path. The result is shorter rendering times with no loss of quality.

    The first animation paper considers the needs of a modern animation system and suggests a particular object-oriented architecture. The other animation paper presents an efficient and numerically stable technique for transforming an arbitrary modeling matrix into a fixed sequence of parametric transformations which yield the same matrix when composed. The result is that hierarchical, articulated models may be described by the human modeler or animator with any convenient sequence of transformations at each node, and the animation system will still be able to perform parametrically smooth motion interpolation.

    The fast rendering paper describes a system built to allow quick modification of object surface description and lighting. I use a space/time tradeoff to capitalize on the constant geometry in a scene undergoing adjustment. The result is a system that allows relatively fast, iterative modification of the appearance of an image.

    The texture mapping paper offers a refinement to the sum table technique. I show that the fixed, rectangular filter footprint used by sum tables can lead to oversampling artifacts. I offer a method which detects when oversampling is likely to occur, and another method for iteratively refining the texture estimate until it satisfies an error bound based on the oversampled area.

    Together, these six papers present a collection of algorithms designed to enhance synthetic images and animations and reduce the time required for their creation.

    Goddard, Stephen (1998)
    "On the Management of Latency in the Synthesis of Real-Time Signal Processing Systems from Processing Graphs"
    Under the direction of Kevin Jeffay
    Department of Computer Science Technical Report TR98-027
    Electronic copy available

    Complex digital signal processing systems are commonly developed using directed graphs called processing graphs. Processing graphs are large grain dataflow graphs in which nodes represent processing functions and graph edges depict the flow of data from one node to the next. When sufficient data arrives, a node executes its function from start to finish without synchronization with other nodes, and appends data to the edge connecting it to a consumer node.

    We combine software engineering techniques with real-time scheduling theory to solve the problem of transforming a processing graph into a predictable real-time system in which latency can be managed. For signal processing graphs, real-time execution means processing signal samples as they arrive without losing data. Latency is defined as the time between when a sample of sensor data is produced and when the graph outputs the processed signal.

    We study a processing graph method, called PGM, developed by the U.S. Navy for embedded signal processing applications. We present formulae for computing node execution rates, techniques for mapping nodes to tasks in the rate-based-execution (RBE) task model, and conditions to verify the schedulability of the resulting task set under a rate-based, earliest-deadline-first scheduling algorithm. Furthermore, we prove upper and lower bounds for the total latency any sample will encounter in the system. We show that there are two sources of latency in real-time systems created from processing graphs: inherent and imposed latency. Inherent latency is the latency defined by the dataflow attributes and topology of the processing graph. Imposed latency is the latency imposed by the scheduling and execution of nodes in the graph.

    We demonstrate our synthesis method, and the management of latency using three applications from the literature and industry: a synthetic aperture radar application, an INMARSAT mobile satellite receiver application, and an acoustic signal processing application from the ALFS anti-submarine warfare system.

    This research is the first to model the execution of processing graphs with the real-time RBE model, and appears to be the first to identify and quantify inherent latency in processing graphs.

    Gottschalk, Stefan (2000)
    "Collision Queries Using Oriented Bounding Boxes"
    Under the direction of Ming C. Lin and Dinesh Manocha
    Electronic copy available

    Bounding volume hierarchies (BVHs) have been used widely in collision detection algorithms. The most commonly used bounding volume types are axis-aligned bounding boxes (AABBs) and spheres, which have simple representations, compact storage, and are easy to implement. This dissertation explores the use of oriented bounding boxes (OBBs), which may be aligned with the underlying geometry to fit more tightly. We believe that OBBs historically have been used less often because previously known methods for testing OBBs for overlap were relatively expensive, good methods for automatic construction of trees of OBBs were not known, and the benefits of using OBBs were not well understood. In this dissertation we present methods for building good trees of OBBs and demonstrate their use in efficient collision detection. In particular, we present a new OBB overlap test which is more efficient than previously known methods. We also examine some of the trade-offs of using OBBs by analyzing benchmark results comparing the performance of OBBs, AABBs and spheres, and we show that OBBs can significantly outperform the latter two bounding volumes for important classes of inputs. We also present two new tools, the bounding volume test tree (BVTT) and the contact pair matrix (CPM), for analyzing collision queries. Finally, we describe the design and implementation of a software system that permits the fair comparison of algorithmic variations on BVH-based collision detection.

    Gotz, David (2005)
    "Channel Set Adaptation: Scalable and Adaptive Streaming for Non-Linear Media"
    Under the direction of Ketan Mayer-Patel
    Electronic copy available

    Streaming of linear media objects, such as audio and video, has become ubiquitous on today's Internet. Large groups of users regularly tune in to a wide variety of online programming, including radio shows, sports events, and news coverage. However, non-linear media objects, such as large 3D computer graphics models and visualization databases, have proven more difficult to stream due to their interactive nature. In this dissertation, I present a complete framework for the efficient streaming of non-linear datasets to large user groups.

    The framework has several components. First, I present the Representation Graph, an abstract data representation for expressing the semantic and syntactic relationships between elements of information in a non-linear multimedia database.

    I then present a computational model for achieving multidimensional adaptation.  The model is based on a spatially defined utility metric that allows applications to mathematically express trade-offs between different dimensions of adaptivity.

    The representation graph and adaptation model serve as the foundation for the Generic Adaptation Library (GAL). GAL defines a layered design for non-linear media applications and provides an implementation for the middle adaptation layer.  The representation graph, adaptation model, and GAL can be combined to support adaptive non-linear streaming. I evaluate the performance of an experimental prototype based on these principles and show that they can effectively support the adaptive requirements of dynamic and interactive access to non-linear media.

    I also define Channel Set Adaptation (CSA), an architecture for scalable delivery of non-linear media. CSA maps concepts from the representation graph to a scalable subscription-based network model. CSA provides, in the ideal case, an infinitely scalable streaming solution for non-linear media applications. I include a evaluation of CSA's performance on both multicast and broadcast networks.

    In addition, I develop a performance model based on results from the experimental evaluation. The performance model highlights several key properties of the underlying communication model that are most important to CSA performance.

    Govindaraju, Naga (2004)
    "Efficient Visibility-Based Algorithms for Interactive Walkthrough, Shadow Generation, and Collision Detection"
    Under the direction of Dinesh Manocha
    Electronic copy available

    We present novel visibility-based algorithms for solving three problems: interactive display, shadow generation, and collision detection. We use the visibility capabilities available on graphics processing units (GPUs) in order to perform visibility computations, and we apply the results to complex 3-D environments.

    We present a real-time visibility culling algorithm that reduces the number of rendered primitives by culling portions of a complex 3-D environment that are not visible to the user. We introduce an occlusion switch to perform visibility computations. Each occlusion switch consists of two GPUs, and we use these GPUs either for computing an occlusion representation or for culling away primitives from a given view point. Moreover, we switch the roles of each GPU across successive frames. The visible primitives are rendered on a separate GPU or are used for generating hard-edged umbral shadows from a moving light source. We use our visibility culling algorithm for computing the potential shadow receivers and shadow casters from the eye and light sources, respectively. We further reduce their size using a novel cross-culling algorithm.

    We present a novel visibility-based algorithm for reducing the number of pair-wise interference tests among multiple deformable and breaking objects in a large environment. Our collision detection algorithm computes a potentially colliding set (PCS) using image-space occlusion queries. Our algorithm involves no pre-computation and proceeds in multiple stages: PCS computation at an object level and PCS computation at a subobject level, followed by exact collision detection. We use a linear-time two-pass rendering algorithm for computing each PCS efficiently. Our collision-pruning algorithm can also compute self-collisions in general deformable models. Further, we overcome the sampling and precision problems in our pruning algorithm by fattening the triangles sufficiently in PCS. We show that the Minkowski sum of each primitive with a sphere provides a conservative bound for performing reliable 2.5-D overlap tests using GPUs. In contrast to prior GPU-based collision detection algorithms, our algorithm guarantees that no collisions will be missed due to limited frame-buffer precision or quantization errors during rasterization.

    We have implemented our visibility-based algorithms on PCs with a commodity graphics processor such as NVIDIA GeForce FX 5900. We highlight their performance on complex 3-D environments composed of millions of polygons. In practice, we are able to achieve interactive frame rates of 10 - 20 frames per second in these experiments.

    Grant, Eric D. (1991)
    "Constraint-Based Design by Cost Function Optimization"
    Under the direction of Turner Whitted
    Electronic copy available

    Constraint-based design is the process of selecting among alternatives to best satisfy a set of potentially conflicting goals. A key problem in constraint-based design is finding globally optimal solutions to problems without limiting the complexity of constraints.

    In this work, constraints are encoded as cost functions that express how well the constraints are satisfied. A geometric modeling problem is defined by specifying a collection of constraints on the desired model. A composite cost function representing all constraints is formed by combining the component cost functions.

    The optimal solution to a constraint problem can be found by minimizing the value of the composite cost function. A standard probabilistic optimization technique, simulated annealing, is used to seek the global minimum value and the corresponding optimal solution. In practice, global optima cannot be guaranteed, but often near-globally optimal results are satisfactory.

    The cost function representation for design problems is not new; VLSI researchers have used annealing-based optimization methods to minimize chip area and wire length. The cost functions for general constraint-based modeling problems are not as well defined as the simple VLSI cost functions. A contribution of this research is a systematic method of encoding different classes of constraints as cost functions.

    The validity of this approach is demonstrated by applying the methodology to two problems: product design (specifically, opaque projector design), and site planning.

    Gross, Richard R. (1985)
    "Using Software Technology to Specify Abstract Interfaces in VLSI Design"
    Under the direction of Peter Calingaert

    Good techniques for VLSI design change management do not now exist. A principal reason is the absence of effective methods for the specification of abstract interfaces for VLSI designs. This dissertation presents a new approach to such specification, an approach that extends to the VLSI domain D.L. Parnas's techniques for precise specification of abstract software design interfaces to the VLSI domain. The proposed approach provides important new features, including scalability to VLSI design levels, integration into the design life-cycle, and a uniform treatment of functional, electrical, and geometric design information. A technique is also introduced for attaching a value to the degree of specification adherence of a candidate module.

    To illustrate and evaluate the proposed approach, an example specification method using it is described and evaluated experimentally.

    Guan, Li (2010)
    "Multi-view Dynamic Scene Modeling"
    Under the direction of Mark Pollefeys
    Electronic copy available

    Modeling dynamic scenes/events from multiple fixed-location vision sensors, such as video camcorders, infrared cameras, Time-of-Flight sensors etc, is of broad interest in computer vision society, with many applications including 3D TV, virtual reality, medical surgery, marker-less motion capture, video games, and security surveillance. However, most of the existing multi-view systems are set up in strictly controlled indoor environment, with fixed lighting conditions and simple background views. Many challenges are preventing the technology to the outdoor natural environment. These include varying sunlight, shadows, reflections, motion at the background and visual occlusion etc. In this thesis, I address dierent aspects to overcome all of the aforementioned diculties, so as to reduce human preparation and manipulation, and to make a robust system as automatic as possible.

    In particular, the main novel technical contributions of this thesis are as follows: a generic heterogeneous sensor fusion framework for robust 3D shape estimation together; a way to automatically recover 3D shapes of static occluder from dynamic object silhouette cues, which explicitly models the static "visual occluding event" along the viewing rays; a system to model multiple dynamic objects shapes and track their identities simultaneously, which explicitly models the "inter-occluding event" between dynamic objects; a scheme to recover an object's dense 3D motion flow over time, without assuming any prior knowledge of the underlying structure of the dynamic object being modeled, which helps to enforce temporal consistency of natural motions and initializes more advanced shape learning and motion analysis. A unified automatic calibration algorithm for the heterogeneous network of conventional cameras/camcorders and new Time-of-Flight sensors is also proposed in the thesis

    Guan, Sheng-Uei (1989)
    "A Model, Architecture, and Operating System Support for Shared Workspace Cooperation"
    Under the direction of Hussein Abdel-Wahab
    Department of Computer Science Technical Report TR89-029
    Electronic copy available

    As more and more special-purpose real-time user cooperation tools are being built, the impact of these new applications to operating systems has just emerged. Instead of directly implementing an operating system for such applications, we try to identify user requirements for such cooperation and the support that designers of such tools seek. With this investigation, the desirable requirements and support can then be achieved through different approaches, e.g. operating system kernels, on-line libraries, or user module libraries. Rather than tackle the problem in its full generality, we focus on real-time cooperation with shared workspaces, which is the core of most real-time cooperation.

    This dissertation describes a shared workspaces model. Subtleties supporting this shared workspace have been studied. A Remote Shared Workspaces facility has been built as a research vehicle. Desirable features for shared workspace cooperation are investigated; the relevance of operating systems supporting them is also discussed. An architecture supporting dynamic groups formation and activities is presented. It supports remote cooperation and also cooperation with existing single-user applications. Operating system mechanisms are also described to support multi-user tools development and sharing of user privileges in a session, namely: multi-user processes and shared capabilities-lists. A system-call level programmers' interface has been specified.

    We also introduce jointly-owned objects, found in real life and the computer world. The use of multi-user tools makes the existence of jointly-owned objects a necessity: a participant who joins a multi-user tool written by others knows that the user agent executed in his name is not a Trojan horse if the multi-user tool is jointly owned by all the participants. The concept of "jointly-owned" is generalized to "conditionally jointly-owned", which helps resolve conflicts among joint-owners. Graham and Denning's protection model is extended to incorporate these conditionally jointly owned entities. Authority- and quorum-based objects are investigated as instances of conditionally jointly-owned objects.

    Gupta, Gopal (1992)
    "Parallel Execution of Logic Programs on Shared Memory Multiprocessors"
    Under the direction of Bharadwaj Jayaraman

    This dissertation addresses the problem of compiling parallelism present in logic languages for efficient execution on shared memory multiprocessors. We present an extended and-or tree and an extended WAM (Warren Abstract Machine) for efficiently supporting both and- parallel and or-parallel execution of logic programs on shared-memory multiprocessors. Our approach for exploiting both and- and or-parallelism is based on the binding-arrays method for or-parallelism and the RAP (Restricted And-Parallelism) method for and-parallelism, the two most successful methods for implementing or-parallelism and and- parallelism respectively. Our combined and-or model avoids redundant computations when goals exhibit both and- and or-parallelism by representing the cross-product of the solutions from the and-or parallel goals rather than re-computing them. We extend the classical and-or tree with two new nodes: a 'sequential' node (for RAP's sequential goals), and a 'cross-product' node (for the cross-product of solutions from and-or parallel goals). An extension of the WAM, called AO-WAM, is also presented which is used to compile logic programs for and-or parallel execution based on the extended and-or tree. The AO-WAM incorporates a number of novel features: (i) inclusion of a base array with each processor's binding-array for constant-time access to variables in the presence of and-parallelism; (ii) inclusion of new stack frames and instructions to express solution sharing; (iii) novel optimizations which minimize the cost of binding-array updates in the presence of and- parallelism. Techniques are also presented for incorporating side-effects and extra-logical features in the and-or parallel model, so that "real world" logic programs can be run. The and-or model is further enhanced to incorporate stream-parallelism based on the Andorra Principle. Problems that can arise due to interaction of restricted and-parallelism with stream-parallelism are described and solutions presented.

    This research has been supported by grant DCR-8603609 from the National Science Foundation and partially by U.K. Science and Engineering Research Council grant GR/F 27420.

    Gyllstrom, Karl A. (2009)
    "Enriching personal information management with document interaction histories"
    Under the direction of David Stotts
    Electronic copy available

    Personal information management is increasingly challenging, as more and more of our personal and professional activities migrate to personal computers. Manual organization and search remain the two primary options available to users, and both bear significant limitations; the former requires too much effort on the part of the user, while the latter is dependent on users' ability to recall discriminating information. I pursue an alternative approach, where users' computer interaction with their workspace is recorded, algorithms draw inferences from this interaction, and these inferences are applied to improve information management and retrieval for users. This approach requires no effort from users and enables retrieval to be more personalized, natural, and intuitive.

    This approach is adopted in my design of the Passages system, which enhances information management by maintaining a detailed chronicle of all the text the user ever reads or edits, and making this chronicle available for rich temporal queries about the user's information workspace. Passages enables queries like, ``which papers and web pages did I read when writing the `related work' section of this paper?", and, ``which of the emails in this folder have I skimmed, but not yet read in detail?" As time and interaction history are important attributes in users' recollection of their personal information, effectively supporting them creates useful possibilities for information retrieval. I present methods to collect and make sense of the large volume of text with which the user interacts. I show through user evaluation the accuracy of Passages in building interaction history, and illustrate its capacity to both improve existing retrieval systems and enable novel ways to characterize document activity across time

    Han, Qiong (2007)
    "Proper Shape Representation of Single- and Multi-Figure Anatomical Objects"
    Under the direction of Stephen Pizer
    Electronic copy available

    Extracting anatomic objects from medical images is useful in various medical applications. This extraction, called image segmentation, is often realized through deformable models. Among deformable model methods, medial deformable models have the unique advantage of representing not only the object boundary surfaces but also the object interior volume.

    This dissertation faces several remaining challenges in an existing medially based deformable model method: 1. how to interpolate a proper continuous form from a discrete medial shape representation; 2. how to represent complex objects with multiple parts and do statistical analysis on them; 3. how to avoid local shape defects, such as folding or creasing, in shapes represented by the deformable models. The proposed methods in this dissertation address these challenges in more detail:

    1. The interpolation method is based on the integration of a medial shape operator and thereby guarantees the legality of the interpolated shapes.

    2. A medially based representation with hierarchy is proposed to represent complex objects with multiple parts by explicitly modeling the interrelations between object parts and the smooth transitions between each pair of connected parts. Based on such a representation a hierarchical statistical analysis is proposed for such complex objects.

    3. The method to fit a medial model to binary images uses explicit legality constraints derived from the medial shape operator. Using probability distributions learned from these fits yields better image segmentation results. These proposed methods have proven to either improve the existing methods or add new capability to the existing medially based deformable model method

    Han, Taisook (1990)
    "A New Class of Recursive Routing Algorithms on Mesh-connected Computers"
    Under the direction of Donald F. Stanat
    Department of Computer Science Technical Report TR90-044
    Electronic copy available

    We describe a class of deterministic routing algorithms called "move and smooth" algorithms for one-to-one and one-to-many message routing problems on meshes. Initially, each processor contains at most one message, and each message has one or more designated destinations. No processor is the destination of more than one message.

    Move and smooth algorithms are recursive. Initially, the entire mesh is considered a single region. At each recursive stage,

    • Each region is partitioned into contiguous subregions;
    • A copy of each message is moved to each of the regions that contains one of its destinations (the move phase)
    • Messages within each region are re-distributed so that each processor contains at most one message (the smooth phase)

    The recursion continues until each region contains a single row or column of processors, at which time each message has arrived at or can be moved directly to its destination.

    We examine two representative move and smooth algorithms in detail. On a square n by n mesh, one of the algorithms requires 5.5n parallel communications steps and five buffers per processor; the other requires 9n parallel communication steps and three buffers per processor. We show that under appropriate assumptions, these costs are not changed for one-to-many routing problems. The number of buffers is independent of the size of the mesh.

    The costs of our move and smooth algorithms are higher than those of some one-to-one routing algorithms, but move and smooth algorithms are suited for a wider variety of problems including one-to-many problems. These algorithms do not rely on sorting. We describe other move and smooth algorithms, and generalizations to higher dimensions.

    Harris, Mark Jason (2003)
    "Real-Time Cloud Simulation and Rendering"
    Under the direction of Anselmo Lastra
    Electronic copy available

    Clouds are a ubiquitous, awe-inspiring, and ever-changing feature of the outdoors. They are an integral factor in Earth's weather systems, and a strong indicator of weather patterns and changes. Their effects and indications are important to flight and flight training. Clouds are an important component of the visual simulation of any outdoor scene, but the complexity of cloud formation, dynamics, and light interaction makes cloud simulation and rendering difficult in real time. In an

    interactive flight simulation, users would like to fly in and around realistic, volumetric clouds, and to see other aircraft convincingly pass within and behind them. Ideally, simulated clouds would grow and disperse as real clouds do, and move in response to wind and other forces. Simulated clouds should be realistically illuminated by direct sunlight, internal scattering, and reflections from the sky and the earth below. Previous real-time techniques have not provided users with such experiences.

    I present a physically-based, visually-realistic cloud simulation suitable for interactive applications such as flight simulators. Clouds in the system are modeled using partial differential equations describing fluid motion, thermodynamic processes, buoyant forces, and water phase transitions. I also simulate the interaction of clouds with light, including self-shadowing and multiple forward light scattering. I implement both simulations -- dynamic and radiometric -- entirely on programmable floating point graphics hardware. The speed and parallelism of graphics hardware enables simulation of cloud dynamics in real time. I exploit the relatively slow evolution of clouds in calm skies to enable interactive visualization of the simulation. The work required to simulate a single time step is automatically spread over many frames while the user views the results of the previous time step. I use dynamically-generated impostors to accelerate cloud rendering. These techniques enable incorporation of realistic, simulated clouds into real applications without sacrificing interactivity.

    Beyond clouds, I also present general techniques for using graphics hardware to simulate dynamic phenomena ranging from fluid dynamics to chemical reaction-diffusion. I demonstrate that these simulations can be executed faster on graphics hardware than on traditional CPUs.

    Heath, Lenwood S. (1985)
    "Algorithms for Embedding Graphs in Books"
    Under the direction of Arnold Rosenberg (Duke University)

    We investigate the problem of embedding graphs in books. A book is some number of half-planes (the pages of the book), which share a common line as boundary (the spine of the book). A book embedding of a graph embeds the vertices on the spine in some order and embeds each edge in some page so that in each page no two edges intersect. The pagenumber of a graph is the number of pages in a minimum-page embedding of the graph. The pagewidth of a book embedding is the maximum cutwidth of the embedding in any page. A practical application is in the realization of a fault-tolerant array of VLSI processors.

    Our results are efficient algorithms for embedding certain classes of planar graphs in books of small pagenumber or small pagewidth.

    The first result is a linear time algorithm that embeds any planar graph in a book of seven pages. This establishes the smallest upper bound known for the pagenumber of the class of planar graphs. The algorithm uses three main ideas. The first is to level the planar graph. The second is to extend a cycle at one level to the next level by doing micro-surgery. The third is to nest the embedding of successive levels to obtain finite pagenumber.

    The second result is a linear time algorithm that embeds any trivalent planar graph in a book of two pages. The algorithm edge-augments the graph to make it hamiltonian while keeping it planar.

    The third result is an O(n log n) time algorithm for embedding any outerplanar graph with small pagewidth. Our algorithm embeds any d-valent outerplanar graph in a two-page book with O(d log n) pagewidth. This result is optimal in pagewidth to within a constant factor. The significance for VLSI design is that any outerplanar graph can be implemented in small area a fault-tolerant fashion.

    Hensley, Justin Aaron (2007)
    "Increasing Rendering Performance of Graphics Hardware"
    Under the direction of Anselmo Lastra and Montek Singh
    Electronic copy available

    The advances of new technologies have made data collection easier and faster, GPU performance is increasing at an exponential rate, and is often reported to be above the rate predicted by Moore's Law. This growth is driven by performance improvements that can be divided into the following three categories: algorithmic improvements, architectural improvements, and circuit-level improvements. In this dissertation I present several techniques that improve the rendering performance of graphics hardware along these three lines.

    At the algorithmic level, I present several techniques that are capable of improving the visual quality of images rendered on current commodity GPUs without requiring modifications to the underlying hardware or architecture. In particular, I describe a method to generate summed-area tables rapidly using graphics hardware, and several rendering techniques that take advantage of summed-area tables.

    At the architectural level, I discuss modifying current GPUs with conditional streaming capabilities. I describe a novel ray-tracing algorithm that takes advantage of conditional output streams to improve the memory bandwidth requirements when compared to previous techniques.

    At the circuit level, I present work that uses dynamic logic and the high-capacity asynchronous pipelining style to implement a novel z-comparator that is both energy-efficient and fast. The comparator gains its increased performance by taking advantage of average case performance, and introduces the ``compute-on-demand'' paradigm for arithmetic circuits. Finally, I describe an asynchronous Booth multiplier that uses a novel implementation of a counterflow architecture in a single pipeline. This counterflow architecture allows for shorter critical paths, and therefore higher operating speed.

    Hernandez-Campos, Felix (2006)
    "Generation and Validation of Empirically-Derived TCP Application Workloads"
    Under the direction of Kevin Jeffay
    Electronic copy available

    Networking researchers and practitioners commonly rely on simulations or network testbeds to evaluate the performance of network protocols and resource-management mechanisms in controlled environments. A key component of these experimental studies is the generation of synthetic network traffic. To ensure valid experimental results, traffic generators require accurate models of how network applications create the data workloads carried by real network links. Since TCP is the dominant transport protocol for applications using the Internet today, we need a way to model the combined workloads from the full mix of TCP applications in use at any point in time on any network link. Unfortunately, present workload models are limited to a small number of rather outdated and poorly maintained models of individual TCP applications such as the web.

    In this dissertation, I present a method for rapidly generating a model of the workload corresponding to the full mix of TCP applications using a given network link. Given a trace of TCP/IP packet headers from a network link, two classes of modeling information are extracted. First, the packet header trace is reverse compiled to extract patterns of application data-unit exchanges within each TCP connection. These network-independent patterns are used to develop a source-level model of TCP application behavior that captures the essential properties of how a mix of applications uses the network. The source-level model is constructed without any knowledge of which specific applications are present. It is validated empirically through controlled experiments in a large-scale network testbed. The second class of modeling information concerns network-dependent properties that influence the performance of TCP connections. In order to generate synthetic traffic that is a realisticrepresentation of that carried by a real network link, properties of TCP implementations (e.g., window sizes) and properties of the end-to-end network path (e.g., latency) must be incorporated into the generation process. I show the importance of modeling both source-level and network-dependent properties and how both can be combined to generate synthetic TCP traffic that is statistically similar to the traffic on a measured link. This approach to traffic generation is validated through the construction and analysis of models for traffic on an Abilene (Internet-2) backbone link, the UNC campus egress link, and a link from a major European university.

    Given an easily acquired TCP/IP packet-header trace, the result of this research is a method for the automatic generation of a TCP workload model and network-dependent properties that are suitable for realistic synthetic traffic generation. This model and generation process is tunable in a controlled way across a variety of interesting and important network parameters.

    Hetzel, William C. (1976)
    "An Experimental Analysis of Program Verification Methods"
    Under the direction of Peter Calingaert

    A controlled experiment was designed and conducted in order to analyze program verification methods. Three basic verification methods were selected. One was reading, the second was specification testing and the third was selective testing. Three structured PL/I programs were specially prepared by reinserting a number of errors that had been uncovered during their development. Each of 39 subjects participated in three verification sessions. In each session subjects were given one of the programs and tried to find as many errors as they could using one of the methods.

    The basic data were studied using analysis of variance techniques. Reading was found to be inferior to the other two methods. Specification and selective testing did not differ in effectiveness.

    On the average, subjects found little more than half of the errors present, even on a severity-weighted basis. The experiment showed that an intensive period of independent verification under near optimal conditions is not likely to find all errors even in simple, well-written programs. Many other analyses of the data were also conducted. One set of analyses looked at the individual performance differences. Computing education and experience were found to be significantly associated with good performance. Self estimates and attitudes were also related. Additional analyses included an analysis of method effectiveness on individual errors, an analysis of the distribution of time between finding errors, a factor analysis and a regression prediction model.

    Hillesland, Karl (2005)
    "Image Streaming to Build Image-Based Models"
    Under the direction of Anselmo Lastra
    Electronic copy available

    An important goal in computer graphics is to synthesize photo-realistic images of objects and environments. The realism of the images depends on the quality of the model used for synthesis. Image-based modeling is an automated modeling technique aimed at achieving this realism by constructing models from photographs of real-world objects or environments. A wide number of image-based modeling techniques have been proposed, each with its own approach to model generation. However, we can treat all image-based modeling as a form of function fitting, where the function is our representation for appearance, and the data to which we want to fit are the photographs.

    This dissertation addresses the use of nonlinear optimization to construct image-based models of an object's appearance, including a new algorithm for efficient computation that is designed to take advantage of the high computational throughput of programmable graphics hardware in order to generate the models in a timely manner. Application to two diverse types of image-based models demonstrates the versatility and computational efficiency of the approach. The two types are Light-Field Mapping (Chen et al., 2002), which is a radiance model generated from data decomposition, and a per-texel Lafortune representation (McAllister et al., 2002), which is an analytic reflectance model.

    Although faster than CPUs in terms of raw computational power, GPUs lack the precision and accuracy of CPUs. This work also includes a closer look at the kind of numerical error that occurs in employing a numerical technique such as nonlinear optimization in this limited precision and accuracy context. Furthermore, since GPU floating-point operations are not fully documented, this work also includes a technique to measure the accuracy of GPU floating-point operations.

    Hirota, Gentaro (2002)
    "An Improved Finite Element Contact Model for Anatomical Simulations"
    Under the direction of Henry Fuchs
    Electronic copy available

    This work focuses on the simulation of mechanical contact between nonlinearly elastic objects such as the components of the human body. The computation of the reaction forces that act on the contact surfaces (contact forces) is the key for designing a reliable contact handling algorithm. In traditional methods, contact forces are often defined as discontinuous functions of deformation, which leads to poor convergence characteristics. This problem becomes especially serious in areas with complicated self-contact such as skin folds.

    I introduce a novel penalty method for finite element simulation based on the concept of material depth, which is the distance between a particle inside an object and the object's boundary. By linearly interpolating pre-computed material depths at node points, contact forces can be analytically integrated over contact surfaces without raising the computational cost. The continuity achieved by this formulation reduces oscillation and artificial acceleration resulting in a more reliable simulation algorithm.

    This algorithm is implemented as part of an implicit finite element program for static, quasistatic and dynamic analysis of nonlinear viscoelastic solids. I demonstrate its effectiveness in an animation showing realistic effects such as folding skin and sliding contacts of tissues involved in knee flexion. The finite element model of the leg and its internal structures was derived from the Visible Human dataset.

    With this method, it is now easier for engineers and scientists to simulate a wide variety of anatomical and tissue structures such as multiple adjacent organs and biomaterials made of intertwined protein fibers. This method also helps animators to use more anatomically accurate human and animal models to enhance the realism of the generated images.

    Ho, Sean (2004)
    "Profile Scale Spaces for Statistical Image Match in Bayesian Segmentation"
    Under the direction of Guido Gerig
    Electronic copy available

    Object boundaries in images often exhibit a complex greylevel appearance, and modeling of that greylevel appearance is important in Bayesian segmentation. Traditional image match models such as gradient magnitude or static templates are insufficient to model complex and variable appearance at the object boundary, in the presence of image noise, jitter in correspondence, and variability in a population of objects.

    I present a new image match model for Bayesian segmentation that is statistical, multiscale, and uses a non-Euclidean object-intrinsic coordinate system. The segmentation framework is based on the spherical harmonics object representation and segmentation framework of Kelemen et al., which in turn uses the profile-based image match model of Active Shape Models. The traditional profile model does not take advantage of the expected high degree of correlation between adjacent profiles along the boundary. My new multiscale image match model uses a profile scale space, which blurs along the boundary but not across the boundary. This blurring is done not in Euclidean space but in an object-intrinsic coordinate system provided by the geometric representation of the object. Blurring is done on the sphere via a spherical harmonic decomposition; thus, spherical harmonics are used both in the geometric representation as well as the image profile representation. The profile scale space is sampled after the fashion of the Laplacian pyramid; the resulting tree of features is used to build a Markov Random Field probability distribution for Bayesian image match.

    Results are shown on a large dataset of 114 segmented caudates in T1-weighted magnetic resonance images (MRI). The image match model is evaluated on the basis of generalizability, specificity, and variance; it is compared against the traditional singlescale profile model. The image match model is also evaluated in the context of a full segmentation framework, when optimized together with a shape prior. I test whether automatic segmentations using my multiscale profile model come closer to the manual expert segmentations than automatic segmentations using the single-scale profile model do. Results are compared against intra-rater and inter-rater reliability of manual segmentations.

    Hoffman, Daniel M. (1984)
    "Trace Specification of Communications Protocols"
    Under the direction of Richard T. Snodgrass

    This dissertation describes a methodology for the formal specification of communications protocols. Specification is an important step in the successful development of computer software. Further, it is important that these specifications be precise. With such a specification, designers and implementors are likely to have the same expectations of the software; without a specification, costly misunderstandings often arise.

    Communications protocol software offers special specification problems. Typically, such software connects computers that are widely distributed geographically and differ in model, manufacturer, and operating system. Thus, for communications protocol software, misunderstandings are particularly likely, making precise specifications especially important. Formal specifications, written in a language with formally defined syntax and semantics, support precise specification and are also suitable for verification. Various techniques have been proposed for the formal specification of communications protocols, each with certain drawbacks.

    The specification method chosen for this dissertation is a modified version of traces, developed by Parnas and Bartussek. Traces were originally developed as a general technique for software specification. Until now, only trace specifications of small, simple modules had been attempted, and no trace specifications of communications protocols existed. We discuss an extension made to traces to handle communications protocol specification. We then describe the trace methodology comprised of heuristics which make the specification of complex communications protocols intellectually manageable. We describe our experience in using the methodology to write specifications of major portions of two commercial standards: the Advanced Data Communications Control Protocol (ADCCP) and the Internet Protocol (IP).

    Finally, we conclude that traces, using the extension and methodology described herein, are a feasible technique for the formal specification of communications protocols, and that traces explicitly address deficiencies in methods currently in use.

    Hoffman, Doug L. (1996)
    "Comparison of Protein Structures by Transformation into Dihedral Angle Sequences"
    Under the direction of Raj K. Singh
    Electronic copy available

    Proteins are large complex organic molecules that are essential to the existence of life. Decades of study have revealed that proteins having different sequences of amino acids can posses very similar three- dimensional structures. To date, protein structure comparison methods have been accurate but costly in terms of computer time. This dissertation presents a new method for comparing protein structures using dihedral transformations. Atomic XYZ coordinates are transformed into a sequence of dihedral angles, which is then transformed into a sequence of dihedral sectors. Alignment of two sequences of dihedral sectors reveals similarities between the original protein structures. Experiments have shown that this method detects structural similarities between sequences with less that 20% amino acid sequence identity, finding structural similarities that would not have been detected using amino acid alignment techniques. Comparisons can be performed in seconds that had previously taken minutes or hours.

    Holloway, Richard L. (1995)
    "Registration Errors in Augmented Reality Systems"
    Under the direction of Frederick P. Brooks, Jr.
    Department of Computer Science Technical Report TR95-016
    Electronic copy available

    Augmented reality (AR) systems combine three-dimensional computer-generated imagery with the view of the real environment in order to make unseen objects visible or to present additional information. A critical problem is that the computer-generated objects do not currently remain correctly registered with the real environment--objects aligned from one viewpoint appear misaligned from another and appear to swim about as the viewer moves. This registration error is caused by a number of factors, such as system delay, optical distortion, and tracker measurement error, and is difficult to correct with existing technology.

    This dissertation presents a registration error model for AR systems and uses it to gain insight into the nature and severity of the registration error caused by the various error sources. My thesis is that a mathematical error model enables the system architect to determine

    • which error sources are the most significant,
    • the sensitivity of the net registration error to each error,
    • the nature of the distortions caused by each type of error,
    • the level of registration accuracy one can expect, and also provides insights on how best to calibrate the system.

      Analysis of a surgery planning application yielded the following main results:

      • Even for moderate head velocities, system delay causes more registration error than all other sources combined;
      • Using the eye's center of rotation as the eyepoint in the computer graphics model reduces the error due to eye rotation to zero for points along the line of gaze. This should obviate the need for eye tracking;
      • Tracker error is a significant problem both in head tracking and in system calibration;
      • The World coordinate system should be omitted when possible;
      • Optical distortion is a significant error source, but correcting it computationally in the graphics pipeline often induces delay error larger than the distortion error itself;
      • Knowledge of the nature of the various types of error facilitates identification and correction of errors in the calibration process.

      Although the model was developed for see-through head-mounted displays (STHMDs) for surgical planning, many of the results are applicable to other HMD systems as well.

      Holman, Philip L. (2004)
      "On the Implementation of Pfair-scheduled Multiprocessor Systems"
      Under the direction of James H. Anderson
      Electronic copy available

      The goal of this dissertation is to extend the Pfair scheduling approach in order to enable its efficient implementation on a real-time multiprocessor. At present, Pfair scheduling is the only known means for optimally scheduling recurrent real-time tasks on multiprocessors. In addition, there has been growing practical interest in such approaches due to their fairness guarantees. Unfortunately, prior work in this area has considered only the scheduling of independent tasks, which do not communicate with each other or share resources. The work presented herein focuses both on adding support for these actions and also on developing techniques for reducing various forms of implementation overhead, including that produced by task migrations and context switches. The thesis of this dissertation is:

      • tasks can be efficiently synchronized in Pfair-scheduled systems and overhead due to common system events, such as context switches and migrations, can be reduced.

      This thesis is established through research in three areas. First, the pre-existing Pfair schedul- ing theory is extended to support the scheduling of groups of tasks as a single entity. Second, mechanisms for supporting both lock-based and lock-free synchronization are presented. Lock- based synchronization coordinates access to shared resources through the use of semaphores.  On the other hand, lock-free operations are optimistically attempted and then retried if the operation fails. Last, the deployment of Pfair scheduling on a symmetric multiprocessor is considered.

      Hsieh, Cheng-Hong (1989)
      "A Connectionist Algorithm for Image Segmentation"
      Under the direction of Stephen M. Pizer
      Department of Computer Science Technical Report TR89-008
      Electronic copy available

      An edge-based segmentation algorithm based on the knowledge in human vision as developed. The research followed Grossberg's boundary contour system and developed a parallel distributive algorithm which consists of multiple processing stages - mainly anisotropic edge filtering, corner detection, and spatial coherence check. The two-dimensional input information is processed in parallel within each stage and pipelined among stages. Within each stage, local operations are performed at each pixel. The application of this algorithm to many test patterns shows that the algorithm gives good segmentation and behaves reasonably well against random noise. A multiscale mechanism in the algorithm can segment an object into contours at different levels of detail.

      The algorithm was compared with an approximation of Grossberg's boundary contour system. Both algorithms gave reasonable performance for segmentation. The differences lie in the level of image dependency of the configuration parameters of the algorithm. Also, the way random noise affects the algorithm was compared with the way it affects human object detection. Data obtained from psychophysical experiments and from application of the algorithm show a similar trend.

      Huan, Jun (Luke) (2006)
      "Graph Based Pattern Discovery in Protein Structures"
      Under the direction of Jan Prins and Wei Wang
      Electronic copy available

      The rapidly growing body of 3D protein structure data provides new opportunities to study the relation between protein structure and protein function. Local structure pattern of proteins has been the focus of recent efforts to link structural features found in proteins to protein function. In addition, structure patterns have demonstrated values in applications such as predicting protein-protein interaction, engineering proteins, and designing novel medicines.

      My thesis introduces graph-based representations of protein structure and new subgraph mining algorithms to identify recurring structure patterns common to a set of proteins. These techniques enable families of proteins exhibiting similar function to be analyzed for structural similarity. Previous approaches to protein local structure pattern discovery operate in a pairwise fashion and have prohibitive computational cost when scaled to families of proteins. The graph mining strategy is robust in the face of errors in the structure, and errors in the set of proteins thought to share a function.

      Two collaborations with domain experts at the UNC School of Pharmacy and the UNC Medical School demonstrate the utility of these techniques. The first is to predict the function of several newly characterized protein structures. The second is to identify conserved structural features in evolutionarily related proteins

      Hudson, Thomas C. (2004)
      "Adapting a Collaborative, Force-Feedback, Graphical User Interface to Best-Effort Networks"
      Under the direction of Russell M. Taylor II and Kevin Jeffay
      Department of Computer Science Technical Report TR04-021
      Electronic copy available

      Latency is an unavoidable fact of distributed systems, and an unrelenting foe of interface usability. I present methods for lessening the impact of latency on distributed haptic, graphic, and collaborative interfaces. These three interfaces are present in the distributed nanoManipulator, a shared tool for remote operation of Atomic Force Microscopes. The work is carried out in the context of the Internet, where best-effort service means that network performance is not guaranteed and that applications must function under a wide range of conditions.

      The ability of a distributed control algorithm to tolerate latency is innately tied up with how data or operations in the algorithm are represented for transmission over the network. I introduce two new representations for haptics, the warped plane approximation and local environment sampling, with superior latency tolerance. I show how image-based rendering is a useful representation for transferring the output of a remote graphics engine across the network, yielding a tenfold reduction in mean response time over video-based approaches, and how optimistic concurrency control is a useful representation for transmitting the actions of a remote collaborator across the network, requiring 85% less concurrency control overhead than pessimistic approaches. All of these intermediate representations convey a meaning that is not just true at a single point space and a single point in time, but that is valid across a volume of space or across a range of times. These higher-order representations reduce both the amount of blocking necessary and the rate at which closed feedback loops must run in an algorithm.

      I show how techniques used to adaptively deliver multimedia content -- the User Datagram Protocol (UDP), Forward Error Correction (FEC), and Queue Monitoring (QM) -- are applicable to the streams of data transmitted by force feedback tele-operators. UDP alone yields a 35% reduction in latency and a 75% reduction in jitter.

      The new algorithms and adaptations for the distributed nanoManipulator's interfaces combined to make this collaborative tool feasible, leading to successful use by experimenters more than 2000 miles apart.

      Hultquist, Jeffrey P. (1995)
      "Interactive Numerical Flow Visualization Using Stream Surfaces"
      Under the direction of Frederick P. Brooks, Jr.
      Electronic copy available

      Three-dimensional steady fluid flows are often numerically simulated over multiple overlapping curvilinear arrays of sample points. Such flows are often visualized using tangent curves or streamlines computed through the interpolated velocity field. A stream surface is the locus of an infinite number of streamlines rooted at all points along a short line segment or rake. Stream surfaces can depict the structure of a flow field more effectively than is possible with mere streamline curves, but careful placement of the rakes is needed to most effectively depict the important features of the flow.

      I have built visualization software which supports the interactive calculation and display of stream surfaces in flow fields represented on composite curvilinear grids. This software exploits several novel methods to improve the speed with which a particle may be advected through a vector field. This is combined with a new algorithm which constructs adaptively sampled polygonal models of stream surfaces. These new methods make stream surfaces a viable tool for interactive numerical flow visualization. Software based on these methods has been used by scientists at the NASA Ames Research Center and the Wright-Patterson Air Force Base. Initial use of this software has demonstrated the value of this approach.

      Ilie, Dumitru Adrian (2010)
      "On-Line Control of Active Camera Networks"
      Under the direction of Greg Welch
      Electronic copy available

      Large networks of cameras have been increasingly employed to capture dynamic events for tasks such as surveillance and training. When using active (pan-tilt-zoom) cameras to capture events distributed throughout a large area, human control becomes impractical and unreliable.  This has led to the development of automated approaches for on-line camera control.

      I introduce a new approach that consists of a stochastic performance metric and a constrained optimization method. The metric quantifies the uncertainty in the state of multiple points on each target. It uses state-space methods with stochastic models of the target dynamics and camera measurements. It can account for static and dynamic occlusions, accommodate requirements specific to the algorithm used to process the images, and incorporate other factors that can affect its results. The optimization explores the space of camera configurations over time under constraints associated with the cameras, the predicted target trajectories, and the image processing algorithm. While an exhaustive exploration of this parameter space is intractable, through careful complexity analysis and application domain observations I have identified appropriate alternatives for reducing the space. Specifically, I reduce the spatial dimension of the search by dividing the optimization problem into subproblems, and then optimizing each subproblem independently. I reduce the temporal dimension of the search by using empirically-based heuristics inside each subproblem. The result is a tractable optimization that explores an appropriate subspace of the parameters, while attempting to minimize the risk of excluding the global optimum.

      The approach can be applied to conventional surveillance tasks (e.g., tracking or face recognition), as well as tasks employing more complex computer vision methods (e.g., markerless motion capture or 3D reconstruction). I present the results of experimental simulations of two such scenarios, using controlled and natural (unconstrained) target motions, employing simulated and real target tracks, in realistic scenes, and with realistic camera networks.

      Insko, Brent E. (2001)
      "Passive Haptics Significantly Enhances Virtual Environments"
      Under the direction of Frederick P. Brooks Jr.
      Electronic copy available.

      One of the most disconcertingly unnatural properties of most virtual environments (VEs) is the ability of the user to pass through objects. I hypothesize that passive haptics, augmenting a high-fidelity visual virtual environment with low-fidelity physical objects, will markedly improve both sense of presence and spatial knowledge training transfer. The low-fidelity physical models can be constructed from cheap, easy-to-assemble materials such as styrofoam, plywood, and particle board.

      The first study investigated the effects of augmenting a visual-cliff environment with a slight physical ledge on participants' sense of presence. I found when participants experienced passive haptics in the VE, they exhibited significantly more behaviors associated with pit avoidance than when experiencing the non-augmented VE. Changes in heart rate and skin conductivity were significantly higher than when they experienced the VE without passive haptics.

      The second study investigated passive haptics' effects on performance of a real-world navigation task after training in a virtual environment. Half of the participants trained on maze navigation in a VE augmented with a styrofoam physical model, while half trained in a non-augmented VE but were given visual and audio contact cues. The task was to gain as much information as possible about the layout of the environment. Participants knew before the VE session that their training would be tested by navigating an identical real maze environment while blindfolded.

      Significant differences in the time to complete the blindfolded navigation task and significant differences in the number of collisions with objects were found between the participants trained in an augmented VE and the participants trained in a non-augmented VE. 11 of 15 participants trained without passive haptics bumped into the next-to-last obstacle encountered in the testing session and turned the wrong direction to navigate around it; only 2 of 15 participants trained with passive haptics made the same navigation error. On the other hand, the assessment of the participants' cognitive maps of the virtual environment did not find significant differences between groups as measured by sketch maps and object dimension estimation.

      Interrante, Victoria L. (1996)
      "Illustrating Transparency: Communicating the 3D Shape of Layered Transparent Surfaces via Texture"
      Under the direction of Henry Fuchs and Stephen M. Pizer
      Electronic copy available

      There are many applications in which transparency can be a useful tool for displaying the outer surface of an object together with underlying structures. The driving application for this research is radiation therapy treatment planning, in which physicians need to understand the volume distribution of radiation dose in the context of patient anatomy.

      To effectively display data containing multiple overlapping surfaces, the surfaces must be rendered in such a way that they can simultaneously be seen and also seen through. In computer-generated images, as in real life, however, it is often difficult to adequately perceive the three-dimensional shape of a plain transparent surface and to judge its relative depth distance from underlying opaque objects.

      Inspired by the ability of gifted artists to define a figure with just a few strokes, I have explored methods for automatically generating a small, stable set of intuitively meaningful lines that intend to capture the essence of a surface's shape. This dissertation describes my investigations into the use of opaque texture lines as an artistic device for enhancing the communication of the shape and depth of an external transparent surface while only minimally occluding underlying structure.

      I provide an overview of the role of 3D visualization in radiation treatment planning and a survey of shape and depth perception, focusing on aspects that may be most crucial for conveying shape and depth information in computer-generated images, and then motivate the use of two specific types of shape-conveying surface markings: valley/ridge lines, which may be useful for sketching the essential form of certain surfaces, and distributed short strokes, oriented in the direction of greatest normal curvature, which may meaningfully convey the local shape of general surface patches.

      An experimental paradigm is proposed for objectively measuring observers' ability to simultaneously see and see through a transparent surface, and is used to demonstrate, in an experiment with five subjects, that consistent performance improvements can be achieved, on a task relevant to the needs of radiotherapy treatment planning and based on images generated from actual clinical data, when opaque texture lines are added to an otherwise plain transparent surface.

      Isenburg, Martin (2004)
      "Compression and Streaming of Polygon Meshes"
      Under the direction of Jack Snoeyink
      Electronic copy available

      Polygon meshes provide a simple way to represent three-dimensional surfaces and are the de-facto standard for interactive visualization of geometric models. Storing large polygon meshes in standard indexed formats results in files of substantial size.  Such formats allow listing vertices and polygons in any order so that not only the mesh is stored but also the particular ordering of its elements. Mesh compression rearranges vertices and polygons into an order that allows more compact coding of the incidence between vertices and predictive compression of their positions. Previous schemes were designed for triangle meshes and polygonal faces were triangulated prior to compression.  I show that polygon models can be encoded more compactly by avoiding the initial triangulation step. I describe two compression schemes that achieve better compression by encoding meshes directly in their polygonal representation. I demonstrate that the same holds true for volume meshes by extending one scheme to hexahedral meshes.

      Nowadays scientists create polygonal meshes of incredible size. Ironically, compression schemes are not capable|at least not on common desktop PCs|to deal with giga-byte size meshes that need compression the most. I describe how to compress such meshes on a standard PC using an out-of-core approach. The compressed mesh allows streaming decompression with minimal memory requirements while providing seamless connectivity along the advancing decompression boundaries. I show that this type of mesh access allows the design of IO-elementscient out-of-core mesh simplification algorithms.

      In contrast, the mesh access provided by today's indexed formats complicates subsequent processing because of their IO-ineciency in de-referencing (in resolving all polygon to vertex references). These mesh formats were designed years ago and do not take into account that a mesh may not fit into main memory. When operating on large data sets that mostly reside on disk, the data access must be consistent with its layout.  I extract the essence of our compressed format to design a general streaming format that provides concurrent access to coherently ordered elements while documenting their coherence. This eliminates the problem of IO-ineciencycient de-referencing. Furthermore, it allows to re-design mesh processing tasks to work as streaming, possibly pipelined, modules on large meshes, such as on-the-fly compression of simplified mesh output.

      Janikow, Cezary Z. (1991)
      "Inductive Learning of Decision Rules from Attribute-Based Examples: A Knowledge-Intensive Genetic Algorithm Approach"
      Under the direction of Kenneth De Jong and David A. Plaisted
      Department of Computer Science Technical Report TR91-030
      Electronic copy available

      Genetic algorithms are stochastic adaptive systems whose search method models natural genetic inheritance and the Darwinian struggle for survival. Their importance results from the robustness and domain independence of such a search. Robustness is a desirable quality of any search method. In particular, this property has led to many successful genetic algorithm applications involving parameter optimization of unknown, possibly non-smooth and discontinuous functions. Domain independence of the search is also a praised characteristic since it allows for easy applications in different domains. However, it is a potential source of limitations of the method as well.

      In this dissertation, we present a modified genetic algorithm designed for the problem of supervised inductive learning in feature-based spaces which utilizes domain dependent task-specific knowledge. Supervised learning is one of the most popular problems studied in machine learning and, consequently, has attracted considerable attention of the genetic algorithm community. Thus far, these efforts have lacked the level of success achieved in parameter optimization. The approach developed here uses the same high level descriptive language that is used in rule-based supervised learning methods. This allows for an easy utilization of inference rules of the well known inductive learning methodology, which replace the traditional domain independent operators. Moreover, a closer relationship between the underlying task and the processing mechanisms provides a setting for an application of more powerful task-specific heuristics.

      Initial results indicate that genetic algorithms can be effectively used to process high level concepts and incorporate task-specific knowledge. In this particular case of supervised learning, this new method proves to be competitive to other symbolic systems. Moreover, it is potentially more robust as it provides a powerful framework that uses cooperation among competing solutions and does not assume any prior relationship among attributes.

      Jeong, Ja-Yeon (2009)
      "Estimation of Probability Distribution on Multiple Anatomical Objects and Evaluation of Statistical Shape Models"
      Under the direction Stephen Pizer
      Electronic copy available

      The estimation of shape probability distributions of anatomic structures is a major research area in medical image analysis. The statistical shape descriptions estimated from training samples provide means and the geometric shape variations of such structures. These are key components in many applications. This dissertation presents two approaches to the estimation of a shape probability distribution of a multi-object complex. Both approaches were applied to objects in the male pelvis, and showed improvement in the estimated shape distributions of the objects. The first approach is to estimate shape variation of each object in the complex in terms of two components: the object's variation independent of the effect of its neighboring objects; and the neighbors' effect on the object. The neighbors' effect on the target object is interpreted using the idea on which linear mixed models are based.

      The second approach is to estimate a conditional shape probability distribution of a target object given its neighboring objects. The estimation of the conditional probability is based on principal component regression.

      This dissertation also presents a measure to evaluate the estimated shape probability distribution regarding its predictive power, that is, the ability of a statistical shape model to describe unseen members of the population. This aspect of statistical shape models is of key importance to any application that uses the shape models. The measure can be applied to PCA-based shape models and can be interpreted as a ratio of the variation of a new data explained by the retained principal directions estimated from a training data. This measure was applied to shape models of synthetic warped ellipsoids and right hippocampi. According to two surface distance measures and a volume overlap measure it was empirically verified that the predictive measure reflects what happens in the ambient space where the model lies.

      Jerald, Jason (2009)
      "Scene-Motion Thresholds and Latency Thresholds for Head-Mounted Displays"
      Under the direction of Dr. Frederick P. Brooks, Jr.
      Electronic copy available

      A fundamental task of an immersive virtual-environment (IVE) system is to present images that change appropriately as the user's head moves. Current IVE systems, especially those using head-mounted displays (HMDs), often produce unstable scenes, resulting in simulator sickness, degraded task performance, degraded visual acuity, and breaks in presence. In HMDs, instability resulting from latency is greater than all other causes combined [Holloway 1997]. The primary way users perceive end-to-end HMD latency is by improper motion of world-fixed scenes. Whereas scene motion due to latency is well defined mathematically, less is understood about when users start to perceive latency.

      I built a simulated HMD system such that no scene motion occurs due to latency. I intentionally and artificially insert scene motion into the virtual environment in order to determine how much scene motion and/or latency can occur without subjects noticing. I measure perceptual thresholds of latency and scene motion under different conditions across five experiments.

      By studying the relationship between scene-motion thresholds and latency thresholds, I develop a mathematical model of latency thresholds as an inverse function of peak head-yaw acceleration. Measured latency thresholds correlate with the inverse form of this model better than with a line.

      This work enables scientists and engineers to measure latency thresholds as a function of head motion under other particular conditions readily, by using an off-the-shelf projector system. Latency requirements can thus be estimated before designing any IVE.

      Johnson, Frankford M. (1969) (Education, UNC-Chapel Hill)
      "An Experiment in the Teaching of Programming Language/One Using Computer Assisted Instruction"
      Under the direction of Frederick P. Brooks, Jr.

      Three sections of Computer and Information Science 10, designated A, B, and C, were used in an experiment to investigate the comparative effectiveness of teaching Programming Language/One using computer assisted instruction techniques and "traditional" classroom lecture-discussion techniques. Students were randomly assigned to an experimental and control sections. Each student in the experimental section received one hour of instruction per week using an IBM 1050 multimedia terminal connected by telephone to an IBM System/360 Model 75 computer and one hour of classroom instruction for testing, giving uniform instructions, and answering general questions concerning the course. The control sections received "traditional" classroom instruction. The terminal consisted of a 1050 typewriter, a random access tape recorder, and a random access slide projector each separately controlled by the computer. The experiment lasted approximately four weeks.

      A locally constructed criterion test was used to evaluate the effectiveness of the teaching methods and an opinion questionnaire was used immediately after the criterion test to obtain student reaction and evaluation of instruction received and student reaction to computer assisted instruction.

      An analysis of variance of the criterion test scores indicated no significant difference among the sections and no significant correlation was found between any combination of test score, total time, and number of questions presented. The opinion questionnaire indicated a usually positive reaction to computer assisted instruction.

      It seemed reasonable to conclude that under the conditions of this experiment:

      1. Computer assisted instruction was as effective as "traditional" classroom instruction when evaluated by the use of teacher made tests.
      2. Student reaction to computer assisted instruction was usually positive.
      3. Most students enrolled in a course in programming preferred a mixture of computer assisted instruction and "traditional" classroom work to either element alone.

      Johnson, Tyler M. (2009)
      "A Cooperative Approach to Continuous Calibration in Multi-Projector Displays"
      Under the direction of Henry Fuchs
      Electronic copy available

      Projection-based displays are often used to create large, immersive environments for virtual reality (VR), simulation, and training. These displays have become increasingly widespread due to the decreasing cost of projectors and advances in calibration and rendering that allow the images of multiple projectors to be registered together accurately on complex display surfaces, while simultaneously compensating for the surface shape - a process that requires knowledge of the pose of each projector as well as a geometric representation of the display surface.

      A common limitation of many techniques used to calibrate multi-projector displays is that they cannot be applied continuously, as the display is being used, to ensure projected imagery remains precisely registered on a potentially complex display surface. This lack of any continuous correction or refinement means that if a projector is moved slightly out of alignment, either suddenly or slowly over time, use of the display must be interrupted, possibly for many minutes at a time, while system components are recalibrated.

      This dissertation proposes a novel framework for continuous calibration where intelligent projector units (projectors augmented with cameras and dedicated computers) interact cooperatively as peers to continuously estimate display parameters during system operation. Using a Kalman filter to fuse local camera image measurements with remote measurements obtained by other projector units, we show that it is possible for the projector units to cooperatively estimate the poses of all projectors in a multi-projector display, as well as information about the display surface, in a continuous fashion. This decentralized approach to continuous calibration has the potential to enable scalable and fault-tolerant display solutions that can be configured and maintained by untrained users.

      Jolley Jr., Truman M. (1972)
      "The Use of the Walsh Transform in Scintigram Enhancement"
      Under the direction of Stephen M. Pizer

      Radioisotope scintigrams are pictures used in diagnostic medicine to obtain information about the distribution of a radioactive tracer substance in a patient's body. The basic goal of the research was to speed up computer processing of scintigrams. The tack taken was to speed a basic tool of scintigram processing methods, two-dimensional discrete convolution. The computationally simple Walsh transform was used with a linear transformation called a silter in the Walsh transform or sequency domain. It is known that a nondiagonal silter matrix can be used to effect any desired filter matrix independent of the data being processed. The silter matrices corresponding to a wide range of filter shapes were found to possess a symmetric patterned sparsity if very small elements were treated as zero. The silters corresponding to low order Metz filters required only one-half as many multiplications as the standard implementation of convolution in the frequency domain. The numerical and visual difference in the nondiagonal silter and the filter results is very small. Diagonal silter matrices were investigated also, but were found to effect filters which vary too sensitively with the data being processed.

      Two useful concepts were developed for evaluating scintigram processing methods:

      1) measuring the effectiveness of a method by its retrieval power when processing simulated scintigrams by using measures of differences between pictures, and

      2) investigating two-dimensional numerical methods by processing one-dimensional analogs in order to reduce the computational cost of the experiment.

      An aliasing theorem for the sequency domain describes explicitly the consequences of sampling a function possessing a Walsh Series expansion at rate n = 2**m where n is less than twice the sequency of the highest sequency component in the data.

      Jones, Edward L. (1984)
      "Procedure-Level Program Modeling for Virtual-Memory Performance Improvement"
      Under the direction of Peter Calingaert
      Electronic copy available

      The page-fault overhead incurred by a program executing on a demand-paged virtual-memory computer system is a function of the program's module-to-module reference pattern and the program's layout—the assignment of program modules to pages in the virtual name space. Defining the layout using program restructuring methods can greatly reduce this overhead, but the restructuring process is itself expensive when an execution trace of the program is required.

      This research aims to reduce the computer and programmer time required to perform program restructuring. Only externally relocatable code modules (i.e., subroutines or procedures) are treated. A generative procedure-level program model (PAM) is defined and used to synthesize program executions that, when used in program restructuring instead of actual execution traces, are shown to produce acceptable layouts. Moreover, the PAM program modeling system can be fully automated.

      Junuzovic, Sasa (2010)
      "Towards Self-Optimizing Frameworks for Collaborative Systems"
      Under the direction of Prasun Dewan
      Electronic copy available

      Two important performance metrics in collaborative systems are local and remote response times. For certain classes of applications, it is possible to meet response time requirements better than existing systems through a new system without requiring hardware, network, or user-interface changes. This self-optimizing system improves response times by automatically making runtime adjustments to three aspects of a collaborative application.

      One of these aspects is the collaboration architecture. Previous work has shown that dynamically switching architectures at runtime can improve response times; however, no previous work performs the switch automatically.

      The thesis shows that (a) another important performance parameter is whether multicast or unicast is used to transmit commands, and (b) response times can be noticeably better with multicast than with unicast when transmission costs are high. Traditional architectures, however, support only unicast - a computer that processes input commands must also transmit commands to all other computers. To support multicast, a new bi-architecture model of collaborative systems is introduced in which two separate architectures govern the processing and transmission tasks that each computer must perform.

      The thesis also shows that another important performance aspect is the order in which a computer performs these tasks. These tasks can be scheduled sequentially or concurrently on a single-core, or in parallel on multiple cores. As the thesis shows, existing single-core policies trade-off noticeable improvements in local (remote) for noticeable degradations in remote (local) response times. A new lazy policy for scheduling these tasks on a single-core is introduced that trades-off an unnoticeable degradation in performance of some users for a much larger noticeable improvement in performance of others. The thesis also shows that on multi-core devices, the tasks should always be scheduled on separate cores.

      The self-optimizing system adjusts the processing architecture, communication architecture, and scheduling policy based on response time predictions given by a new analytical model. Both the analytical model and the self-optimizing system are validated through simulations and experiments in practical scenarios.

      Kabul, Ilknur Kaynar (2011)
      "Patient-specific Anatomical Illustration via Model-guided Texture Synthesis"
      Under the direction of Stephen M. Pizer

      Medical illustrations can make powerful use of textures to attractively, effectively, and understandably visualize the appearance of the surface or cut surface of anatomic structures. It can do this by implying the anatomic structure‘s physical composition and clarifying its identity and 3-D shape. Current visualization methods are only capable of conveying detailed information about the orientation, internal structure, and other local properties of the anatomical objects for a typical individual, not for a particular patient. Although one can derive the shape of the individual patient‘s object from CT or MRI, it is important to apply these illustrative techniques to those particular shapes. In this research patient-specific anatomical illustrations are created by model-guided texture synthesis (MGTS).

      Given 2D exemplar textures and model-based guidance information as input, MGTS uses exemplar-based texture synthesis techniques to create model-specific surface and solid textures. It consists of three main components. The first component includes a novel texture metamorphosis approach for creating interpolated exemplar textures given two exemplar textures. This component uses an energy optimization scheme derived from optimal control principles that utilizes intensity and structure information in obtaining the transformation. The second component consists of creating the model-based guidance information, such as directions and layers, for that specific model. This component uses coordinates implied by discrete medial 3D anatomical models (“m-reps”). The last component accomplishes exemplar-based texture synthesis of progressively changing textures on and inside the 3D models. It considers the exemplar textures from the first component and guidance information from the second component in synthesizing high-quality, high-resolution solid and surface textures.


      The methods in the MGTS framework are shown to be effective in creating patient-specific illustrations with a variety of textures for different anatomical models, such as muscles and bones.

      Kalarickal, George J. (1998)
      "Theory of Cortical Plasticity in Vision"
      Under the direction of Jonathan A. Marshall
      Electronic copy available

      A theory of postnatal activity-dependent neural plasticity based on synaptic weight modification is presented. Synaptic weight modifications are governed by simple variants of a Hebbian rule for excitatory pathways and an anti-Hebbian rule for inhibitory pathways. The dissertation focuses on modeling the following cortical phenomena: long-term potentiation and depression (LTP and LTD); dynamic receptive field changes during artificial scotoma conditioning in adult animals; adult cortical plasticity induced by bilateral retinal lesions, intracortical microstimulation (ICMS), and repetitive peripheral stimulation; changes in ocular dominance during "classical" rearing conditioning; and the effect of neuropharmacological manipulations on plasticity. Novel experiments are proposed to test the predictions of the proposed models, and the models are compared with other models of cortical properties.

      The models presented in the dissertation provide insights into the neural basis of perceptual learning. In perceptual learning, persistent changes in cortical neuronal receptive fields are produced by conditioning procedures that manipulate the activation of cortical neurons by repeated activation of localized cortical regions. Thus, the analysis of synaptic plasticity rules for receptive field changes produced by conditioning procedures that activate small groups of neurons can also elucidate the neural basis of perceptual learning.

      Previous experimental and theoretical work on cortical plasticity focused mainly on afferent excitatory synaptic plasticity. The novel and unifying theme in this work is self-organization and the use of the lateral inhibitory synaptic plasticity rule. Many cortical properties, e.g., orientation selectivity, motion selectivity, spatial frequency selectivity, etc. are produced or strongly influenced by inhibitory interactions. Thus, changes in these properties could be produced by lateral inhibitory synaptic plasticity.

      Katz, Robert (2002)
      "Shape Analysis for Computer Graphics via Figural Models of Perception"
      Under the direction of Stephen M. Pizer
      Electronic copy available

      This work presents a method for quantifying important form cues in 2D polygonal models. These cues are derived from multi-scale medial analysis, and they also draw upon several new form analysis methods developed in this work. Among these new methods are a means of using the Blum Medial Axis Transform for stable computing, a method to decompose objects into a set of parts that includes the ambiguity we find in human perception of objects, and the simultaneous application of both internal and external medial representations of objects. These techniques are combined to create a local saliency measure, a global saliency measure and a measure of object complexity.

      This work also demonstrates a new approach to simplifying complex polygonal models in order to accelerate interactive rendering. I propose that simplifying a model's form, based on how it is perceived and processed by the human visual system, offers the potential for more effective simplifications. In this research, I suggest a means of understanding object simplification in these perceptual terms by creating a perceptually based scheduling of simplification operations as well as perceptual measures of the degree of simplification and the visual similarity between a simplified object and its original. A new simplification scheme is based on these measures, and then this perceptual scheme is compared via examples to a geometric simplification method.

      Kehs, David R. (1978)
      "A Routing Network for a Machine to Execute Reduction Languages"
      Under the direction of Gyula A. Mago

      A network of cells arranged to form a binary tree with connections between horizontally adjacent cells is investigated. Properties of shortest paths between leaf cells in such a network are established.

      Algorithms are developed to broadcast copies of a data item from one of the leaf cells to other leaf cells of the network. Using different types of guiding information stored in the cells, these algorithms are modified to avoid broadcasting copies to cells which do not need them. Analysis shows that, at best, these algorithms require "omega"(n) steps to accomplish such patterns as reversal, transposition, or translation of the contents of n leaf cells.

      A theoretical bound of "theta"( n / log (n) ) steps is established for the problem of reversing the contents of n adjacent leaf cells. This result is generalized to obtain upper bounds for reversal of the contents of non-adjacent leaf cells and for arbitrary movement patterns which do not require multiple copies of data items.

      Keyser, John (2000)
      "Exact Boundary Evaluation for Curved Solids"
      Under the direction of Dinesh Manocha
      Electronic copy available

      In this dissertation, I describe an algorithm for exact boundary evaluation for curved solids. I prove the thesis that accurate boundary evaluation for low-degree curved solids can be performed efficiently using exact computation.

      Specifically, I propose exact representations for surfaces, patches, curves, and points. All of the common and standard CSG primitives can be modeled exactly by these representations. I describe kernel operations that provide efficient and exact basic operations on the representations. The kernel operations include new algorithms for curve-curve intersection, curve topology, point generation, and point location. The representations and kernel operations form the basis for the exact boundary evaluation algorithm. I describe each step of the boundary evaluation algorithm in detail.

      I propose speedups that increase the efficiency of the boundary evaluation algorithm while maintaining exactness. Speedups fall into several categories, including methods based on lazy evaluation, quick rejection, simplified computation, and incorporation of hardware-supported floating-point methods. I also describe the types of degeneracies that can arise in boundary evaluation and perform a preliminary analysis of methods for eliminating degeneracies.

      The representations, kernel operations, boundary evaluation algorithm, and speedups have been implemented in an exact boundary evaluation system, ESOLID, that exactly converts CSG models specified by the Army Research Lab's BRL-CAD system to B-rep models. ESOLID has been applied to a model of the Bradley Fighting Vehicle (provided courtesy of the Army Research Lab). I present results and analysis of ESOLID's performance on data from that model. ESOLID evaluates the exact boundary of Bradley data at speeds less than 1-2 orders of magnitude slower than a similar but inexact boundary evaluation system. ESOLID also correctly evaluates boundaries of objects on which this other system fails.

      Kilpatrick, Paul J. (1976)
      "The Use of a Kinesthetic Supplement in an Interactive Graphics System"
      Under the direction of Frederick P. Brooks, Jr.

      Project GROPE studies how force cues can be used to augment visual cues in an interactive computer graphics system. The GROPE-II system uses the master station of a servo-manipulator as a six-degree-of- freedom input-output device. The user views a picture of a virtual table, several virtual blocks, and a virtual slave manipulator on the CRT screen. The master station is used to manipulate the virtual blocks. Forces acting on the virtual slave are reflected at the master handgrip.

      An informal experiment was conducted to determine how useful the force cues are in comparison to several visual cues. The conclusion was that those cues are more useful than some widely-used visual cues, and that they improve the operational effectiveness of the visual system.

      This system also served as the starting point for an analysis of the human factors of more general kinesthetic display systems. The characteristics of a proposed kinesthetic display are delineated.

      Kim, Seon Joo (2008)
      "Radiometric Calibration Methods from Image Sequences"
      Under the direction of Marc Pollefeys
      Electronic copy available

      In many computer vision systems, an image of a scene is assumed to directly reflect the scene radiance. However, this is not the case for most cameras as the radiometric response function which is a mapping from the scene radiance to the image brightness is nonlinear. In addition, the exposure settings of the camera are adjusted (often in the auto-exposure mode) according to the dynamic range of the scene changing the appearance of the scene in the images. Vignetting effect which refers to the gradual fading-out of an image at points near its periphery also contributes in changing the scene appearance in images.

      In this dissertation, I present several algorithms to compute the radiometric properties of a camera which enable us to find the relationship between the image brightness and the scene radiance. First, I introduce an algorithm to compute the vignetting function, the response function, and the exposure values that fully explain the radiometric image formation process from a set of images of a scene taken with different and unknown exposure values. One of the key features of the proposed method is that the movement of the camera is not limited when taking the pictures whereas most existing methods limit the motion of the camera. Then I present a joint feature tracking and radiometric calibration scheme which performs an integrated radiometric calibration in contrast to previous radiometric calibration techniques which require the correspondences as an input which leads to a chicken-and-egg problem as precise tracking requires accurate radiometric calibration. By combining both into an integrated approach we solve this chicken-and-egg problem. Finally, I propose a radiometric calibration method suited for a set of images of an outdoor scene taken at a regular interval over a period of time. This type of data is a challenging problem because the illumination for each image is changing causing the exposure of the camera to change and the conventional radiometric calibration framework cannot be used for this type of data. The proposed methods are applied to radiometrically align images for seamless mosaics and 3D model textures, to create high dynamic range mosaics, and to build an adaptive stereo system.

      Kim, Theodore W. (2006)
      "Physically-Based Simulation of Ice Formation"
      Under the direction of Ming C. Lin
      Electronic copy available

      The geometric and optical complexity of ice has been a constant source of wonder and inspiration for scientists and artists. It is a defining seasonal characteristic, so modeling it convincingly is a crucial component of any synthetic winter scene. Like wind and fire, it is also considered elemental, so it has found considerable use as a dramatic tool in visual effects. However, its complex appearance makes it difficult for an artist to model by hand, so physically-based simulation methods are necessary.

      In this dissertation, I present several methods for visually simulating ice formation.  A general description of ice formation has been known for over a hundred years and is referred to as the Stefan Problem. There is no known general solution to the Stefan Problem, but several numerical methods have successfully simulated many of its features. I will focus on three such methods in this dissertation: phase field methods, diffusion limited aggregation, and level set methods.

      Many different variants of the Stefan problem exist, and each presents unique challenges. Phase field methods excel at simulating the Stefan problem with surface tension anisotropy. Surface tension gives snowflakes their characteristic six arms, so phase field methods provide a way of simulating medium scale detail such as frost and snowflakes.  However, phase field methods track the ice as an implicit surface, so it tends to smear away small-scale detail. In order to restore this detail, I present a hybrid method that combines phase fields with diffusion limited aggregation (DLA). DLA is a fractal growth algorithm that simulates the quasi-steady state, zero surface tension Stefan problem, and does not suffer from smearing problems. I demonstrate that combining these two algorithms can produce visual features that neither method could capture alone.

      Finally, I present a method of simulating icicle formation. Icicle formation corresponds to the thin-film, quasi-steady state Stefan problem, and neither phase fields nor DLA are directly applicable. I instead use level set methods, an alternate implicit front tracking strategy. I derive the necessary velocity equations for level set simulation, and also propose an efficient method of simulating ripple formation across the surface of
      the icicles.

      Kim, Yong-Jik (2003)
      "Time Complexity Bounds for Shared-memory Mutual Exclusiony"
      Under the direction of James H. Anderson
      Electronic copy available

      Mutual exclusion algorithms are used to resolve conflicting accesses to shared resources by concurrent processes. The problem of designing such an algorithm is widely regarded as one of the “classic” problems in concurrent programming.

      Recent work on scalable shared-memory mutual exclusion algorithms has shown that the most crucial factor in determining an algorithmÂ’s performance is the amount of traffic it generates on the processors-to-memory interconnect [23, 38, 61, 84]. In light of this, the RMR (remote-memory-reference) time complexity measure was proposed [84]. Under this measure, an algorithmÂ’s time complexity is defined to be the worst-case number of remote memory references required by one process in order to enter and then exit its critical section.

      In the study of shared-memory mutual exclusion algorithms, the following fundamental question arises: for a given system model, what is the most efficient mutual exclusion algorithm that can be designed under the RMR measure? This question is important because its answer enables us to compare the cost of synchronization in different systems with greater accuracy. With some primitives, constant-time algorithms are known, so the answer to this question is trivial. However, with other primitives (e.g., under read/write atomicity), there are still gaps between the best known algorithms and lower bounds.

      In this dissertation, we address this question. The main thesis to be supported by this dissertation can be summarized as follows. The mutual exclusion problem exhibits different time-complexity bounds as a function of both the number of processes (N) and the number of simultaneously active processes (contention, k), depending on the available synchronization primitives and the underlying system model. Moreover, these time-complexity bounds are nontrivial, in that constant-time algorithms are impossible in many cases.

      In support of this thesis, we present a time-complexity lower bound of O(log N/log log N) for systems using atomic reads, writes, and comparison primitives, such as compare-and-swap. This bound is within a factor of T(log log N) of being optimal. Given that constant-time algorithms based on fetch-and-f primitives exist, this lower bound points to an unexpected weakness of compare-and-swap, which is widely regarded as being the most useful of all primitives to provide in hardware.

      We also present an adaptive algorithm with T(min(k, log N)) RMR time complexity under read/write atomicity, where k is contention. In addition, we present another lower bound that precludes the possibility of an o(k) algorithm for such systems, even if comparison primitives are allowed.

      Regarding nonatomic systems, we present a T(log N) nonatomic algorithm, and show that adaptive mutual exclusion is impossible in such systems by proving that any nonatomic algorithm must have a single-process execution that accesses O(log N/log log N) distinct variables.

      Finally, we present a generic fetch-and-f-based local-spin mutual exclusion algorithm with T(logr N) RMR time complexity. This algorithm is “generic” in the sense that it can be implemented using any fetch-and-f primitive of rank r, where 2 = r < N. The rank of a fetch-and-f primitive expresses the extent to which processes may “order themselves” using that primitive. For primitives that meet a certain additional condition, we present a T(log N/ log log N) algorithm, which is time-optimal for certain primitives of constant rank.

      Koltun, Philip L. (1982)
      "Evaluation of a Teaching Approach for Introductory Computer Programming"
      Under the direction of Donald F. Stanat
      Electronic copy available

      An objective evaluation is presented of the applicability of Dijkstra's ideas on program development methodology to the teaching of introductory programming students. The methodology emphasizes development of assertion-based correctness arguments hand-in-hand with the programs themselves and uses a special language to support that approach. Measures of program correctness and programming errors after the first two-thirds of the course indicate that with a batch implementation of the language, the methodology provides a significant advantage over a conventional teaching approach which emphasizes program testing and tracing and uses Pascal on a batch machine. However, that advantage was not maintained when the experimental subjects switched over to Pascal in the latter third of the experiment.

      A second set of comparisons demonstrated a significant and impressive advantage with respect to program correctness, programming errors, and time expenditure for students being taught with the conventional approach and using Pascal on a microcomputer over students being taught with the conventional approach and using Pascal on the batch machine. Furthermore, the microcomputer effect was noticeably beneficial for students of marginal ability.

      Konstantinow, George, Jr. (1983)
      (Biomedical Engineering and Mathematics, UNC-Chapel Hill)
      "Automated Region of Interest Selection and Decontamination of Time Activity Curves From First Pass Radionuclide Angiocardiographic Data"
      Under the direction of Stephen M. Pizer

      Crosstalk is contamination of radionuclide angiocardiographic (RNA) data inherent in the projection of tracer activity within cardiac structures onto the detector surface of a gamma camera. A new computer method is presented for decontaminating crosstalk by processing RNA time activity curves to describe characteristic activity over time in the isolated chambers of the central circulation. This description is based upon a catenary model for simulating blood flow; modeling tracer activity allows quantification of crosstalk in the field of view and subsequent decontamination of time activity curves from individual picture elements (pixels). The resulting RNA images and time activity curves are relatively free from crosstalk contamination and from them more accurate and reliable parameters of cardiac function can be evaluated. This dissertation reviews RNA data analysis and the problem of crosstalk, presents the theoretical foundation of the decontamination algorithm and considerations for its implementation, and gives the results of testing this automated procedure using clinical RNA studies. It is shown that the method produces functions which accurately reflect characteristic tracer activity in the isolated chambers of the central circulation and that these functions can be used for automated region of interest selection from the RNA data by estimating the spatial distribution of tracer in each underlying chamber alone. Also reviewed are the results of validation tests which showed that values of cardiac function parameters evaluated from decontaminated data in actual patient studies compared favorably with those values derived by accepted clinical processing methods. The closing discussion presents prospects for further enhancements to the computational method and for future research in RNA data processing.

      Kosa, Martha J. (1994)
      "Consistency Guarantees for Concurrent Shared Objects: Upper and Lower Bounds"
      Under the direction of Jennifer Welch
      Department of Computer Science Technical Report TR93-067
      Electronic copy available

      This dissertation explores the costs of providing consistency guarantees for concurrent shared objects in distributed computer systems. Concurrent shared objects are useful for interprocess communication. We study two forms of concurrent shared objects: physical shared objects and virtual shared objects.

      First we consider physical shared objects called (read/write) registers. Registers are useful for basic interprocess communication and are classified according to their consistency guarantees (safe, regular, atomic) and their capacity. A one-write algorithm is an implementation of a multivalued resister from binary registers where each write of the simulated multivalued register modifies at most one binary register. A one-write algorithm optimizes writes, speeding up applications where writes outnumber reads. We present the first one-write algorithm for implementing a k-valued regular register from binary regular registers. The same algorithm using binary atomic registers is the first one-write algorithm implementing a k-valued atomic register. The algorithm requires C(k, 2) binary registers. Two improved lower bounds on the number of registers required by one-write regular implementations are given. The first lower bound holds for a restricted class and implies that our algorithm is optimal for this class. The second lower bound, 2k-1-[log k], holds for a more general class. The lower bounds also hold for two corresponding classes of one-write atomic implementations.

      Next we consider virtual shared objects from abstract data types, which are desirable from a software engineering viewpoint. We show that the cost (worst-case time complexity) for operations from abstract data types depends on the amount of synchrony among the processes sharing the objects, the consistency guarantee (sequential consistency, linearizability, hybrid consistency), and algebraic properties of the operations. Sequential consistency and linearizability are equally costly in perfectly synchronized systems under certain assumptions. Hybrid consistency is not necessarily cheaper than sequential consistency or linearizability. In perfectly synchronized systems, operations satisfying certain algebraic properties cost "omega"(d) (d is the network message delay). To contrast, in systems with only approximately synchronized clocks, for certain classes of abstract data types, sequential consistency is cheaper than linearizability. Our results generalize known results for specific object types (read/write objects, queues, and stacks).

      Koster, V. Alexis (1977)
      "Execution Time and Storage Requirements of Reduction Language Programs on a Reduction Machine"
      Under the direction of Gyula A. Mago

      Reduction languages are applicative programming languages whose syntax and semantics are simple and rigorously defined. Their main features are the use of functional operations (primitive operation, regular composition, meta composition), the complete absence of imperative features, and the possibility of unbounded parallelism.

      A methodology is developed to analyze the execution time and the storage requirements of reduction language programs on a new type of computer called a reduction machine; it is applied to matrix multiplication programs and a tree traversing program. Variations in the degree of parallelism of programs allow one to investigate their space/time trade-off. Parallel programs execute very efficiently, but they usually require a large amount of storage. Reduction language operators that minimize data movement are introduced. A program that uses some of these operators multiplies n*n matrices in time O(n^2) and with space-time product C(n^4). A tree traversing program operates in time O(n) on trees of height n.

      Kotliar, Michael S. (1989)
      "The Right Stuff--Techniques for High Speed CMOS Circuit Synthesis"
      Under the direction of Kye S. Hedlund
      Department of Computer Science Technical Report TR89-046
      Electronic copy available

      This dissertation presents a method for improving the speed of combinational CMOS circuits. The original circuit is replaced by a faster circuit with equivalent function by restructuring the gates and their connections in the circuit. This restructuring has more flexibility and greater potential for reducing delays than other methods such as transistor sizing. However, this increased flexibility comes at a cost of increased problem complexity, so to solve this problem in an efficient manner, we use greedy heuristics that have been augmented with knowledge of the problem.

      The restructuring is accomplished by a set of transformations that are applied to the circuit in both a local and global manner. One of the transformations described, path resynthesis, is a new technique and its operation is described.

      The amount of speed-up possible using restructuring is illustrated using a set of representative circuits from a standard benchmark set. Since the reduction in delay is not without cost, the cost associated with the increased speed, namely increased circuit area, is also studied using the set of representative circuits.

      Krishnan, Shankar (1997)
      "Efficient and Accurate Boundary Evaluation Algorithms for Boolean Combinations of Sculptured Solids"
      Under the direction of Dinesh Manocha
      Electronic copy available

      This dissertation presents techniques to effectively compute Boolean combinations of solids whose boundary is described using a collection of parametric spline surfaces. It also describes a surface intersection algorithm based on a lower dimensional formulation of the intersection curve that evaluates all its components and guarantees its correct topology. It presents algorithms and data structures to support the thesis that the lower dimensional formulation of the intersection curve is an effective representation to perform Boolean operations on sculptured solids. The thesis also analyzes different sources of problems associated with computing the intersection curve of two high degree parametric surfaces, and presents techniques to solve them.

      More specifically, the intersection algorithm utilizes a combination of algebraic and numeric techniques to evaluate the curve, thereby providing a solution with greater accuracy and efficiency. Given two parametric surfaces, the intersection curve can be formulated as the simultaneous solution of three equations in four unknowns. This is an algebraic curve in R^4. This curve is then projected into the domain of one of the surfaces using resultants. The intersection curve in the plane is represented as the singular set of a bivariate matrix polynomial. We present algorithms to perform loop and singularity detection, use curve tracing methods to find all the components of the intersection curve and guarantee its correct topology. The matrix representation, combined with numerical matrix computations like singular value decomposition, eigenvalue methods, and inverse iteration, is used to evaluate the intersection curve.

      We will describe a system BOOLE, a portable implementation of our algorithms, that generates the B-reps of solids given as a CSG expression in the form of trimmed Bezier patches. Given two solids, the system first computes the intersection curve between the two solids using our surface intersection algorithm. Using the topological information of each solid, we compute various components within each solid generated by the intersection curve and their connectivity. The component classification step is performed by using ray-shooting. Depending on the Boolean operation performed, appropriate components are put together to obtain the final solid. The system has been successfully used to generate B-reps for a number of large industrial models including a notional submarine storage and handling room (courtesy - Electric Boat Inc.) and Bradley fighting vehicle (courtesy - Army Research Labs). Each of these models is composed of over 8000 Boolean operations and is represented using over 50,000 trimmed Bezier patches. Our exact representation of the intersection curve and use of stable numerical algorithms facilitate an accurate boundary evaluation at every Boolean set operation and generation of topologically consistent solids.

      Kum, Hye-Chung (Monica) (2004)
      "Approximate Mining of Consensus Sequential Pattern"
      Under the direction of Wei Wang and Dean Duncan
      Electronic copy available

      Sequential pattern mining finds interesting patterns in ordered lists of sets. The purpose is to find recurring patterns in a collection of sequences in which the elements are sets of items. Mining sequential patterns in large databases of such data has become an important data mining task with broad applications. For example, sequences of monthly welfare services provided over time can be mined for policy analysis.

      Sequential pattern mining is commonly defined as finding the complete set of frequent subsequences. However, such a conventional paradigm may suffer from inherent difficulties in mining databases with long sequences and noise. It may generate a huge number of short trivial patterns but fail to find the underlying interesting patterns.

      Motivated by these observations, I examine an entirely different paradigm for analyzing sequential data. In this dissertation:

      • I propose a novel paradigm, multiple alignment sequential pattern mining, to mine databases with long sequences. A paradigm, which defines patterns operationally, should ultimately lead to useful and understandable patterns. By lining up similar sequences and detecting the general trend, the multiple alignment paradigm effectively finds consensus patterns that are approximately shared by many sequences.

      • I develop an efficient and effective method. ApproxMAP (for APPROXimate Multiple Alignment Pattern mining) clusters the database into similar sequences, and then mines the consensus patterns in each cluster directly through multiple alignment.

      • I design a general evaluation method that can assess the quality of results produced by sequential pattern mining methods empirically.

      • I conduct an extensive performance study. The trend is clear and consistent. Together the consensus patterns form a succinct but comprehensive and accurate summary of the sequential data. Furthermore, ApproxMAP is robust to its input parameters, robust to noise and outliers in the data, scalable with respect to the size of the database, and outperforms the conventional paradigm.

      I conclude by reporting on a successful case study. I illustrate some interesting patterns, including a previously unknown practice pattern, found in the NC welfare services database. The results show that the alignment paradigm can find interesting and understandable patterns that are highly promising in many applications.

      Kum, Sang-Uok (2008)
      "Encoding of Multiple Depth Streams"
      Under the direction of Ketan Mayer-Patel
      Electronic copy available

      With advances in hardware, interests in systems for capturing, representing, and transmitting dynamic real world scenes have been growing. Examples of such systems include 3D immersive systems, tele-immersion video conferencing systems, 3D TV, and medical consultation and surgical training.

      These systems use multiple cameras for dynamic scene acquisition. One approach for scene acquisition is to use multiple video streams captured from varying viewpoints in order to form a dynamic light field and then to use image based rendering (IBR) techniques for generating virtual views of the scene. Another approach is to use the imagery from the multiple cameras to derive a 3D representation of the environment that is then transmitted with color.

      The dynamic light field approach handles complex scenes where 3D reconstruction would be difficult. Additionally, the captured video streams can be transmitted with little further processing, while deriving 3D information requires extensive processing before transmission.  However, more cameras are needed for dynamic light fields since light fields need to be acquired more densely to be as effective.

      One common 3D representation for the dynamic environments is multiple depth streams - streams of images with color and depth per pixel. A large number of depth streams are needed to properly represent a dynamic scene. Without compression, multiple depth streams, even sparsely sampled, requires significant storage and transmission bandwidth. Fortunately, the strong spatial coherence between streams and temporal coherence between frames allows for an effective encoding of multiple depth streams. In this dissertation, I present an effective encoding algorithm for multiple depth streams that uses approximate per pixel depth information to predict color for each pixel.

      Kumar, Subodh (1996)
      "Interactive Rendering of Parametric Spline Surfaces"
      Under the direction of Dinesh Manocha
      Department of Computer Science Technical Report TR96-039
      Electronic copy available

      This dissertation presents techniques for fast rendering of parametric spline surfaces. It presents algorithms and data structures needed to support the thesis that real-time display of surfaces (represented parametrically) is indeed possible on current graphics systems that are optimized to display triangles. It analyzes the sources of bottleneck in surface rendering and derives techniques to display tens of thousands of Bezier surfaces, 10-20 times a second, by efficiently utilizing the graphics hardware.

      In a more general framework, this work demonstrates the effectiveness of using higher-order surfaces, as opposed to polygons. Analytic representation of surfaces retains information that is often lost in a static translation to polygons. We meaningfully use this analytic information to obtain better images than those generated from purely polygonal models. On the other hand, since current graphics systems are optimized for displaying triangles, we perform on-line triangulation to still be able to make effective use of the hardware capabilities of current systems.

      For specificity, we concentrate on trimmed Non-Uniform Rational B-Splines (NURBS) surfaces. The trimming curves that define the boundary of the surfaces may be NURBS or piecewise linear. The surfaces are off-line transformed to Bernstein basis and stored as trimmed Bezier patches. At rendering time, each Bezier patch is tessellated into triangles appropriate for the current rendering of the scene from the user's view point.

      The overall algorithm first culls away the patches facing away from the user, or lying outside the view-frustum. The next step determines the sampling density required for each on-screen patch and its trimming curves, for a smooth display with Gouraud or Phong shading. Next, the sample points on the surface, and their normals, are evaluated and efficiently triangulated into strips. Finally the triangle strips are sent to the graphics pipeline. The algorithm exploits temporal coherence by performing only incremental triangulation of patches at each frame. The triangles used in a frame are cached in memory. For the next frame to be displayed, only a small update of detail is performed to maintain a smooth image. This dissertation presents efficient techniques to prevent tessellation cracks across surface boundaries. It also discusses issues in parallel implementation of the tessellation algorithm on multi-processor systems.

      This dissertation describes SPEED, a portable implementation of our algorithms, and reports its performance on some well-known graphics systems. While our algorithm is primarily designed for static models, many of the techniques are applicable to dynamic scenes as well. The performance of our prototype Bezier patch rendering system has been quite encouraging. We are able to render about five thousand Bezier patches, more than ten times a second, on a Silicon Graphics Onyx with four 200MHz R4400 CPUs and a Reality Engine II graphics pipeline. This is more than an order of magnitude improvement over the state of the art (e.g. SGI GL library). The major factors of this improvement include efficient visibility computation, tighter bound computation, efficient trimming, incremental triangulation and parallelism. Our results demonstrate that we can indeed generate high-fidelity images of large engineering models on current graphics systems, and obtain interactive rendering performance at the same time.

      Ladd, Brian C. (2000)
      "Lingua Graphica: A Language for Concise Expression of Graph-Based Algorithms"
      Under the direction of John B. Smith

      Graph-based data structures are at the heart of many computer programs; identifiable graphs, nodes, and links can be found in automated organization charts, airline scheduling programs, and even software engineering tools such as make and rcs. They are also found in many persistent, graph-based data stores from object-oriented databases to hypermedia storage systems.

      Traditional, procedural languages lack support for graph-based data structures, making the programmer's job harder, changing the focus from the graph-based algorithm to the details of implementing an internal graph structure. A new language with strong support for graph-based data structures and algorithms is needed to address these shortcomings.

      Lingua Graphica, the language of graphs, is a specialized language for expressing graph-based algorithms and applying the algorithms to different graph-based data stores. It permits programmers to focus on the graph-based data structures at the center of their programs by providing a simple, powerful abstraction of graph-based data types: graphs, nodes, and links. Using a rule-based specification and an execution model with backtracking, Lingua Graphica permits programmers to specify "what" graph-based data objects are of interest rather than requiring them to specify "how" to find the objects.

      In addition to the new language, this research presents an interpreter for Lingua Graphica that runs atop the Web and the UNC Distributed Graph Store (DGS). Implementing a selected group of applications in the language shows the applicability of the new language to graph-based algorithms; these programs run atop both graph-based data stores without modification. The simplicity and performance of the system is demonstrated by comparing Lingua Graphica and traditional language implementations of graph-based algorithms interacting with the Web and DGS.

      Larsen, E. Scott (2008)
      "Modified Belief Propagqation for Reconstruction of Office Environments"
      Under the direction of Henry Fuchs
      Electronic copy available

      Belief Propagation (BP) is an algorithm that has found broad application in many areas of computer science. The range of these areas includes Error Correcting Codes, Kalman filters, particle filters, and - most relevantly - stereo computer vision. Many of the currently best algorithms for stereo vision benchmarks, e.g. the Middlebury dataset, use Belief Propagation. This dissertation describes improvements to the core algorithm to improve its applicability and usefulness for computer vision applications.

      A Belief Propagation solution to a computer vision problem is commonly based on specification of a Markov Random Field that it optimizes. Both Markov Random Fields and Belief Propagation have at their core some definition of nodes and \neighborhoods" for each node. Each node has a subset of the other nodes defined to be its neighborhood.

      In common usages for stereo computer vision, the neighborhoods are defined as a pixel's immediate four spatial neighbors. For any given node, this neighborhood definition may or may not be correct for the specific scene. In a setting with video cameras, I expand the neighborhood definition to include corresponding nodes in temporal neighborhoods in addition to spatial neighborhoods. This amplifies the problem of erroneous neighborhood assignments. Part of this dissertation addresses the erroneous neighborhood assignment problem.

      Often, no single algorithm is always the best. The Markov Random Field formulation appears amiable to integration of other algorithms: I explore that potential here by integrating priors from independent algorithms.

      This dissertation makes core improvements to BP such that it is more robust to erroneous neighborhood assignments, is more robust in regions with inputs that are near-uniform, and can be biased in a sensitive manner towards higher level priors.

      These core improvements are demonstrated by the presented results: application to office environments, real-world datasets, and benchmark datasets.

      Lauterbach, Christian (2010)
      "Interactive Ray Tracing of Massive and Deformable Models"
      Under the direction of Dinesh Manocha
      Electronic copy available

      Ray tracing is a fundamental algorithm used for many applications such as computer graphics, geometric simulation, collision detection and line-of-sight computation. Even though the performance of ray tracing algorithms scales with the model complexity, the high memory requirements and the use of static hierarchical structures pose problems with massive models and dynamic data-sets. We present several approaches to address these problems based on new acceleration structures and traversal algorithms. We introduce a compact representation for storing the model and hierarchy while ray tracing triangle meshes that can reduce the memory footprint by up to 80%, while maintaining high performance. As a result, can ray trace massive models with hundreds of millions of triangles on workstations with a few giga- bytes of memory. We also show how to use bounding volume hierarchies for ray tracing complex models with interactive performance. In order to handle dynamic scenes, we use refitting algorithms and also present highly-parallel GPU-based algorithms to reconstruct the hierarchies. In practice, our method can construct hierarchies for models with hundreds of thousands of triangles at interactive speeds. Finally, we demonstrate several applications that are enabled by these algorithms. Using deformable BVH and fast data parallel techniques, we introduce a geometric sound propagation algorithm that can run on complex deformable scenes interactively and orders of magnitude faster than comparable previous approaches. In addition, we also use these hierarchical algorithms for fast collision detection between deformable models and GPU rendering of shadows on massive models by employing our compact representations for hybrid ray tracing and rasterization.

      Le, Nguyen Tuong Long (2005)
      "Investigating the Effects of Active Queue Management on the Performance of TCP Applications"
      Under the direction of Kevin Jeffay
      Electronic copy available

      Congestion occurs in the Internet when queues at routers fill to capacity and arriving packets are dropped ("lost"). Today, congestion is controlled by an adaptive mechanism built into TCP that regulates the transmission rate of a TCP connection. This mechanism dictates that each connection should detect instances of packet loss, interpret such instances as an indication of congestion, and respond to loss by reducing its transmission rate. After the rate has been reduced, the connection probes for additional bandwidth by slowly increasing its transmission rate.

      This adaptive behavior, applied independently on each end system, has been one of the keys to the operational success of the Internet. Nevertheless, as the Internet has grown, networking researchers and the Internet Engineering Task Force (IETF) have expressed concern about the scalability of pure end systems' congestion control. For example, pure end systems' congestion control mechanism only detects and reacts to a congestion event after a router queue has overflowed. In response to these concerns, active queue management (AQM) has been proposed as a router-based mechanism for early detection of congestion inside the network. AQM algorithms execute on network routers and detect incipient congestion by monitoring some function of the instantaneous or average queue size in the router.  When an AQM algorithm detects congestion on a link, the router signals end systems and provide an "early warning" of congestion. This signaling is performed either explicitly, by setting a specific bit in the header of a packet, or implicitly by dropping some number of arriving packets.

      Many AQM algorithms have been proposed in recent years but none of them have been thoroughly investigated under comparable (or realistic) conditions in a real network.  Moreover, existing performance studies have concentrated on network-centric measures of performance and have not considered application-centric performance measures such as response time. In this dissertation, I investigated the effects of a large collection of existing AQM algorithms on the performance of TCP applications under realistic conditions in a real network. At a high-level, the primary results are that many existing AQM algorithms do not perform as well as expected when they are used with packet dropping. Moreover, a detailed investigation of the classical random early detection, or RED algorithm, has uncovered a number of design flaws in the algorithm. I have proposed and investigated a number of modifications to RED and other algorithms and have shown that my variants significantly outperform existing algorithms.

      Overall, this dissertation shows promising results for AQM. When combined with packet marking, AQM algorithms significantly improve network and application performance over conventional drop-tail queues. Moreover, AQM enables network operators to run their networks near saturation levels with only modest increases in average response times. If packet marking is not possible, the dissertation also shows how a form of differential treatment of flows that I invented can achieve a similar positive performance improvement. Further, I also developed a new AQM algorithm that can balance between loss rate and queuing delay to improve the overall system performance.

      Leaver-Fay, Andrew (2006)
      "Capturing Atomic Interactions with a Graphical Framework in Computational Protein Design"
      Under the direction of Jack Snoeyink
      Electronic copy available

      A protein's amino acid sequence determines both its chemical and its physical structures, and together these two structures determine its function. Protein designers seek new amino acid sequences with chemical and physical structures capable of performing some function. The vast size of sequence space frustrates efforts to find useful sequences.

      Protein designers model proteins on computers and search through amino acid sequence space computationally. They represent the three-dimensional structures for the sequences they examine, specifying the location of each atom, and evaluate the stability of these structures. Good structures are tightly packed but are free of collisions.  Designers seek a sequence with a stable structure that meets the geometric and chemical requirements to function as desired; they frame their search as an optimization problem.

      In this dissertation, I present a graphical model of the central optimization problem in protein design, the side-chain-placement problem. This model allows the formulation of a dynamic programming solution, thus connecting side-chain placement with the class of NP-complete problems for which certain instances admit polynomial time solutions. Moreover, the graphical model suggests a natural data structure for storing the energies used in design. With this data structure, I have created an extensible framework for the representation of energies during side-chain-placement optimization and have incorporated this framework into the Rosetta molecular modeling program. I present one extension that incorporates a new degree of structural variability into the optimization process. I present another extension that includes a non-pairwise decomposable energy function, the first of its kind in protein design, laying the ground-work to capture aspects of protein stability that could not previously be incorporated into the optimization of side-chain placement.

      Lee, Huai-Ping (2012)
      "Simulation-Based Joint Estimation of Body Deformation and Elasticity Parameters for Medical Image Analysis"
      Under the direction of Ming C. Lin
      Electronic copy available

      Elasticity parameter estimation is essential for generating accurate and controlled simulation results for computer animation and medical image analysis. However, finding the optimal parameters for a particular simulation often requires iterations of simulation, assessment, and adjustment and can become a tedious process. Elasticity values are especially important in medical image analysis, since cancerous tissues tend to be stiffer.  Elastography is a popular type of method for finding stiffness values by reconstructing a dense displacement field from medical images taken during the application of forces or vibrations. These methods, however, are limited by the imaging modality and the force exertion or vibration actuation mechanisms, which can be complicated for deep-seated organs.

      In this thesis, I present a novel method for reconstructing elasticity parameters without requiring a dense displacement field or a force exertion device. The method makes use of natural deformations within the patient and relies on surface information from segmented images taken on different days. The elasticity value of the target organ and boundary forces acting on surrounding organs are optimized with an iterative optimizer, within which the deformation is always generated by a physically-based simulator. Experimental results on real patient data are presented to show the positive correlation between recovered elasticity values and clinical prostate cancer stages.  Furthermore, to resolve the performance issue arising from the high dimensionality of boundary forces, I propose to use a reduced finite element model to improve the convergence of the optimizer. To find the set of bases to represent the dimensions for forces, a statistical training based on real patient data is performed. I demonstrate the trade-off between accuracy and performance by using different numbers of bases in the optimization using synthetic data. A speedup of more than an order of magnitude is observed without sacrificing too much accuracy in recovered elasticity.

      Lee, Shie-Jue (1990)
      "CLIN: An Automated Reasoning System Using Clause Linking"
      Under the direction of David A. Plaisted
      Department of Computer Science Technical Report TR90-029
      Electronic copy available

      The efficiency of many theorem provers suffers from a phenomenon called duplication of instances of clauses. This duplication occurs in almost all theorem proving methods. Clause linking is a novel technique to avoid such duplication.

      An automated reasoning system called CLIN is an implementation of clause linking. A variety of strategies and refinements are implemented. We show the effectiveness of the system by comparing it with other major provers. The system is particularly effective for logic puzzles, near-propositional problems, set theory problems, and temporal logic theorems. We have also obtained proofs of some moderately hard mathematical theorems using this system.

      A top-level supervisor is provided to serve as a friendly interface between CLIN and the user. This interface accepts the user's problems and directs the system to find proofs without intervention from the user. The supervisor works by trying a sequence of strategies in a specified order, somewhat like an expert system. It frees the user from the necessity of understanding the system or the merits of different strategies in order to use it.

      CLIN can work as a problem solver. It is able to find solutions for a given problem, such as constraint satisfaction problems of AI or logic puzzles, in a fully declarative way.

      CLIN presents a new paradigm of proving propositional temporal logic theorems. The proofs obtained are human-oriented and understandable. CLIN also provides potential applications to database design and axiom debugging.

      Leler, William J. (1987)
      "Specification and Generation of Constraint Satisfaction Systems"
      Under the direction of Bharadwaj Jayaraman
      Department of Computer Science Technical Report TR87-006
      Electronic copy available

      Constraint languages are declarative languages that have been used in various applications such as simulation, modeling, and graphics. Unfortunately, despite their benefits, existing constraint languages tend to be application-specific, have limited extensibility, and are difficult to implement. This dissertation presents a general-purpose computer language that makes it much easier to describe and implement constraint satisfaction systems. This language, called Bertrand, supports a rule-based programming methodology and also includes a form of abstract datatype. It is implemented using a new inference mechanism called augmented term rewriting, which is an extension of standard term rewriting.

      Using rules, a Bertrand programmer can describe new constraint satisfaction mechanisms, including equation solvers. Rules can also be used to define new types of objects and new constraints on these objects. Augmented term rewriting uses these rules to find a model that satisfies a set of user-specified constraints. The simple semantics of augmented term rewriting makes it possible to take fast pattern matching, compilation, constant propagation, and concurrency. Consequently, Bertrand programs can be executed efficiently using an interpreter or compiled to run on a conventional or parallel processor.

      This dissertation surveys existing constraint satisfaction techniques and languages, and shows how they can be implemented in Bertrand. It also gives a precise operational semantics for augmented term rewriting. Techniques for efficient execution, including interpretation and compilation, are presented. Finally, examples are given using Bertrand to solve problems in algebra such as word problems and computer aided engineering, and problems in graphics, such as computer aided design, illustration, and mapping.

      Leontyev, Hennadiy (2010)
      "Compositional Analysis Techniques For Multiprocessor Soft Real-Time Scheduling"
      Under the direction of James Anderson
      Electronic copy available

      The design of systems in which timing constraints must be met (real-time systems) is being affected by three trends in hardware and software development. First, in the past few years, multiprocessor and multicore platforms have become standard in desktop and server systems and continue to expand in the domain of embedded systems. Second, real-time concepts are being applied in the design of general-purpose operating systems (like Linux) and attempts are being made to tailor these systems to support tasks with timing constraints. Third, in many embedded systems, it is now more economical to use a single multiprocessor instead of several uniprocessor elements; this motivates the need to share the increasing processing capacity of multiprocessor platforms among several applications supplied by different vendors and each having different timing constraints in a manner that ensures that these constraints were met. These trends suggest the need for mechanisms that enable real-time tasks to be bundled into multiple components and integrated in larger settings.

      There is a substantial body of prior work on the multiprocessor schedulability analysis of real-time systems modeled as periodic and sporadic task systems. Unfortunately, these standard task models can be pessimistic if long chains of dependent tasks are being analyzed. In work that introduces less pessimistic and more sophisticated workload models, only partitioned scheduling is assumed so that each task is statically assigned to some processor. This results in pessimism in the amount of needed processing resources.

      We extend prior work on multiprocessor soft real-time scheduling and construct new analysis tools that can be used to design component-based soft real-time systems. These tools allow multiprocessor real-time systems to be designed and analyzed for which standard workload and platform models are inapplicable and for which state-of-the-art uniprocessor and multiprocessor analysis techniques give results that are too pessimistic.

      Levoy, Marc S. (1989)
      "Display of Surfaces From Volume Data"
      Under the direction of Henry Fuchs
      Department of Computer Science Technical Report TR89-022
      Electronic copy available

      Volume rendering is a technique for visualizing sampled scalar fields of three spatial dimensions without fitting geometric primitives to the data. A color and a partial transparency are computed for each data sample, and images are formed by blending together contributions made by samples projecting to the same pixel on the picture plane. Quantization and aliasing artifacts are reduced by avoiding thresholding during data classification and by carefully resampling the data during projection. This thesis presents an image-order volume rendering algorithm, demonstrates that it generates image of comparable quality to existing object-order algorithms, and offers several improvements. In particular, methods are presented for displaying isovalue contour surfaces and region boundary surfaces, for rendering mixtures of analytically defined geometry and sampled field, and for adding shadows and textures. Three techniques for reducing rendering cost are also presented: hierarchical spatial enumeration, adaptive termination of ray tracing, and adaptive image sampling. Case studies from two applications are given: medical imaging and molecular graphics.

      Levy, Joshua H. (2008)
      "Refinement of Object-Based Segmentation"
      Under the direction of Stephen M. Pizer
      Electronic copy available

      Automated object-based segmentation methods calculate the shape and pose of anatomical structures of interest. These methods require modeling both the geometry and object-relative image intensity patterns of target structures. Many object-based segmentation methods min- imize a non-convex function and risk failure due to convergence to a local minimum. This dissertation presents three refinements to existing object-based segmentation methods. The first refinement mitigates the risk of local minima by initializing the segmentation closely to the correct answer. The initialization searches pose- and shape-spaces for the object that best matches user specified points on three designated image slices. Thus-initialized m-rep based segmentations of the bladder from CT are frequently better than segmentations reported elsewhere. The second refinement is a statistical test on object-relative intensity patterns that allows estimation of the local credibility of segmentation. This test effectively identifies regions with local segmentation errors in m-rep based segmentations of the bladder and prostate from CT. The third refinement is a method for shape interpolation that is based on changes in the position and orientation of samples and that tends to be more shape-preserving than a competing linear method. This interpolation can be used with dynamic structures. It can also be used to transform an atlas image to a target image and thus to transfer the segmentations of other nearby anatomical regions from the atlas to the target image.

      Lifshitz, Lawrence M. (1987)
      "Image Segmentation via Multiresolution Extrema Following"
      (Stephen M. Pizer)
      Department of Computer Science Technical Report TR87-012
      Electronic copy available

      The aim of this research has been to create a computer algorithm to segment greyscale images into regions of interest (objects). These regions can provide the basis for scene analysis (including shape parameter calculation) or surface-based shaded graphics display. The algorithm creates a tree structure for image description by defining a linking relationship between pixels in successively blurred versions of the initial image. The image description describes the image in terms of nested light and dark regions. This algorithm can theoretically work in any number of dimensions; the implementation works in one, two, or three dimensions.

      Starting from a mathematical model describing the technique, this research has shown that:

      • by explicitly addressing the problems peculiar to the discreteness of computer representations the segmentation described by the mathematical model can be successfully approximated.
      • although the image segmentation performed sometimes contradicts semantic and visual information about the image (e.g., part of the kidney is associated with the liver instead of the rest of the kidney), simple interactive post-processing can often improve the segmentation results to an extent sufficient to segment the region desired.
      • the theoretical nesting properties of regions, originally thought to hold in all circumstances, does not necessarily apply to all pixels in a region.

      The interactive post-processing developed selects regions from the descriptive tree for display in several ways: pointing to a branch of the image description tree (which is shown on a vector display), specifying by sliders the range of scale and/or intensity of all regions which should be displayed, and pointing (on the original image) to any pixel in the desired region.

      The algorithm has been applied to about 15 CT images of the abdomen. While performance is frequently good, work needs to be done to improve performance and to identify and extend the range of images the algorithm will segment successfully.

      Lin, Wei-Jyh (1991)
      "Boundary Estimation in Ultrasound Images"
      Under the direction of Stephen M. Pizer
      Department of Computer Science Technical Report TR91-037
      Electronic copy available

      A Bayesian approach is proposed for characterizing boundaries in ultrasound images. This approach determines the boundary probabilities by estimating the posterior means of a statistical model for boundary believability and normal direction using a Gibbs prior.

      There are two essential components in the Bayesian formulation: The likelihood function and the prior. The likelihood function is based on the outputs of specially designed filters. These filters take into account ultrasound image noise properties and produce reliable edge measurements. Traditional Gibbs priors can only capture the smoothness properties of local shape. A method was designed to include global shape properties in the Gibbs prior, an important step in producing robust boundary estimation from noisy images. This method uses a pyramid algorithm and multiscale edge filters for global boundary analysis. The results of the global analysis are incorporated into the Gibbs prior using a data augmentation scheme, thus efficiently handling long range interactions.

      This approach was implemented and applied to a variety of ultrasound images with promising results. The results show that the global attributes help close gaps and suppress the spurious edge response of speckle spots. This approach can be extended to three dimensions to produce surface believability and surface normals, which could be the input to a three-dimensional rendering algorithm. Each component of the solution algorithm has been carefully designed to allow a parallel implementation, an important design criterion for the algorithm to be useful in real-time three-dimensional ultrasound image display.

      Lipscomb, James S. (1981)
      "Three-Dimensional Cues for a Molecular Computer Graphics System"
      Under the direction of Frederick P. Brooks, Jr.
      Electronic copy available

      The perception of depth in three-dimensional objects presented on a two-dimensional display can be enhanced by many techniques. This thesis develops programs for implementing a number of such techniques flexibly and efficiently, including rotation, intensity modulation, and stereo.

      These techniques are applied to the GRIP-75 molecular computer graphics system with which crystallographers fit proteins or nucleic acids to their electron density maps. A fragment of a molecule is superimposed on a contoured electron density map and presented to the user for manual manipulation.

      My thesis is that motion decomposition pervades surprisingly many aspects of our computer-graphics-guided manual manipulation, that smooth rotation appears to be the single best depth cue currently available, that a variety of multiple image effects, due to disparity between refresh and update rates, can plague moving pictures, that the good 3-D perception provided by stereo can hinder manipulation, and that achieving orthogonality among functions is surprisingly important and difficult.

      The programs run on a satellite graphics system consisting of a DEC PDP-11/45 computer driving a Vector General display system, and a high-speed selector channel which provides communication with a time-shared host computer, an IBM System/360 Model 75. The programs developed are written in PL/I and reside mainly in the satellite.

      Liu, Alan Ve-Ming (1998)
      "3D/2D Registration and Reconstruction in Image-Guided Surgery"
      Under the direction of Stephen M. Pizer

      Percutaneous surgical guidance by 2D fluoroscopic images is impeded by the incomplete information available from projected views. 3D image guided surgery can provide better comprehension of 3D anatomy and present objects not apparent by fluoroscopy. However, current solutions for 3D surgical guidance typically rely on a small number of external markers or landmarks. This is convenient but can lead to navigational errors at the target site. This dissertation explores the feasibility of using the digital images of anatomical structures as navigational references for surgical guidance. A register-and-reconstruct paradigm is proposed. Fluoroscopic images are registered with preoperative patient CT. Given registered bi-plane images, the instrument pose can be reconstructed.

      My 3D/2D registration algorithm uses the medial curves of tubular structures and has the advantage of mathematical and implementation simplicity. Theoretical analysis and experiments show this algorithm to be robust and accurate. A method for synthesizing tubular structures extends the algorithm, permitting arbitrary anatomical structures to be used. The synthesis is a novel application of the parallax effect on digitally reconstructed radiographs. A separate algorithm was developed for stereotactic instrument pose recovery from projection images. The method is based on the geometric properties of bi-plane imaging. An error model was developed to analyze performance characteristics. Both theoretical analysis and experiments using the Visible Human dataset and skull phantoms indicate that the register-and-reconstruct paradigm is accurate to at least 1.5mm, well within the requirements of the driving problem of percutaneous rhizotomy.

      Liu, Guodong (2007)
      "A Data-driven, Piecewise Linear Approach to Modeling Human Motions"
      Under the direction of Leonard McMillan
      Electronic copy available

      Motion capture, or mocap, is a prevalent technique for capturing and analyzing human articulations. Nowadays, mocap data are becoming one of the primary sources of realistic human motions for computer animation as well as education, training, sports medicine, video games, and special effects in movies. As more and more applications rely on high-quality mocap data and huge amounts of mocap data become available, there are imperative needs for more effective and robust motion capture techniques, better ways of organizing motion databases, as well as more efficient methods to compress motion sequences.

      I propose a data-driven, segment-based, piecewise linear modeling approach to exploit the redundancy and local linearity exhibited by human motions and describe human motions with a small number of parameters. This approach models human motions with a collection of low-dimensional local linear models. I first segment motion sequences into subsequences, i.e. motion segments, of simple behaviors. Motion segments of similar behaviors are then grouped together and modeled with a unique local linear model. I demonstrate this approach's utility in four challenging driving problems: estimating human motions from a reduced marker set; missing marker estimation; motion retrieval; and motion compression.

      Liu, Jinze (2006)
      "New Approaches for Clustering High Dimensional Data."
      Under the direction of Wei Wang
      Electronic copy available

      Clustering is one of the most effective methods for analyzing datasets that contain a large number of objects with numerous attributes. Clustering seeks to identify groups, or clusters, of similar objects. In low dimensional space, the similarity between objects is often evaluated by summing the difference across all of their attributes. High dimensional data, however, may contain irrelevant attributes which mask the existence of clusters. The discovery of groups of objects that are highly similar within some subsets of relevant attributes becomes an important but challenging task. My thesis focuses on various models and algorithms for this task.

      We first present a flexible clustering model, namely OP-Cluster (Order Preserving Cluster). Under this model, two objects are similar on a subset of attributes if the values of these two objects induce the same relative ordering of these attributes. OPClustering algorithm has demonstrated to be useful to identify co-regulated genes in gene expression data. We also propose a semi-supervised approach to discover biologically meaningful OP-Clusters by incorporating existing gene function classifications into the clustering process. This semi-supervised algorithm yields only OP-clusters that are significantly enriched by genes from specific functional categories.

      Real datasets are often noisy. We propose a noise-tolerant clustering algorithm for mining frequently occuring itemsets. This algorithm is called approximate frequent itemsets (AFI). Both the theoretical and experimental results demonstrate that our AFI mining algorithm has higher recoverability of real clusters than any other existing itemset mining approaches.

      Pair-wise dissimilarities are often derived from original data to reduce the complexities of high dimensional data. Traditional clustering algorithms taking pair-wise dissimilarities as input often generate disjoint clusters from pair-wise dissimilarities. It is well known that the classification model represented by disjoint clusters is inconsistent with many real classifications, such gene function classifications. We develop a Poclustering algorithm, which generates overlapping clusters from pair-wise dissimilarities.  We prove that by allowing overlapping clusters, Poclustering fully preserves the information of any dissimilarity matrices while traditional partitioning algorithms may cause significant information loss.

      Liu, Xiaoxiao (2010)
      "Shape-correlated Statistical Modeling and Analysis for Respiratory Motion Estimation"
      Under the direction of Stephen M. Pizer
      Electronic copy available

      Respiratory motion challenges image-guided radiation therapy (IGRT) with location uncertainties of important anatomical structures in the thorax. Effective and accurate respiration estimation is crucial to account for the motion effects on the radiation dose to tumors and organs at risk. Moreover, serious image artifacts present in treatment-guidance images such as 4D cone-beam CT cause difficulties in identifying spatial variations. Commonly used non-linear dense image matching methods easily fail in regions where artifacts interfere.

      Learning-based linear motion modeling techniques have the advantage that training knowledge can be introduced to reveal the true motion. In this research shape-correlation deformation statistics (SCDS) capture strong correlations between the shape of the lung and the dense deformation field under breathing. Dimension reduction and linear regression techniques are used to extract the correlation statistics. Based on the assumption that the deformation correlations are consistent between planning and treatment time, patient-specific SCDS trained from a 4D planning image sequence is used to predict the respiratory motion in the patient’s artifact-laden 4D treatment image sequence.

      Furthermore, the SCDS-prediction results combined with intensity-matching forces are integrated into a prediction-driven atlas formation framework. The strategy of balancing between the prediction constraints and the intensity-matching forces makes the method less sensitive to variation in the correlation and utilizes intensity information besides the lung boundaries. This strategy thus provides improved motion estimation accuracy and robustness. .

      The SCDS-based methods are shown to be effective in modeling and estimating respiratory motion in lung, with evaluations and comparisons carried out on both simulated images and patient images.

      Liu, Yuanxin (2008)
      "Computations of Delaunay and higher order triangulations, with applications to splines"
      Under the direction of Jack Snoeyink
      Electronic copy available

      Digital data that consist of discrete points are frequently captured and processed by scientific and engineering applications. Due to the rapid advance of new data gathering technologies, data set sizes are increasing, and the data distributions are becoming more irregular. These trends call for new computational tools that are both efficient enough to handle large data sets and flexible enough to accommodate irregularity.

      A mathematical foundation that is well-suited for developing such tools is triangulation, which can be defined for discrete point sets with little assumption about their distribution. The potential benefits from using triangulation are not fully exploited. The challenges fundamentally stem from the complexity of the triangulation structure, which generally takes more space to represent than the input points. This complexity makes developing a triangulation program a delicate task, particularly when it is important that the program runs fast and robustly over large data.

      This thesis addresses these challenges in two parts. The first part concentrates on techniques designed for efficiently and robustly computing Delaunay triangulations of three kinds of practical data: the terrain data from LIDAR sensors commonly found in GIS, the atom coordinate data used for biological applications, and the time varying volume data generated from from scientific simulations.

      The second part addresses the problem of defining spline spaces over triangulations in two dimensions. It does so by generalizing Delaunay configurations, defined as follows. For a given point set P in two dimensions, a Delaunay configuration is a pair of subsets (T, I) from P, where T, called the boundary set, is a triplet and I, called the interior set, is the set of points that fall in the circumcircle through T. The size of the interior set is the degree of the configuration. As recently discovered by Neamtu (2004), for a chosen point set, the set of all degree k Delaunay configurations can be associated with a set of degree k + 1 splines that form the basis of a spline space. In particular, for the trivial case of k = 0, the spline space coincides with the PL interpolation functions over the Delaunay triangulation. Neamtu's definition of the spline space relies only on a few structural properties of the Delaunay configurations. This raises the question whether there exist other sets of configurations with identical structural properties. If there are, then these sets of configurations--let us call them generalized configurations from hereon--can be substituted for Delaunay configurations in Neamtu's definition of spline space thereby yielding a family of splines over the same point set.

      Livingston, Mark A. (1998)
      "Vision-Based Tracking with Dynamic Structured Light for Video-See-Through Augmented Reality"
      Under the direction of Henry Fuchs
      Electronic copy available

      Tracking has proven a difficult problem to solve accurately without limiting the user or the application. Vision-based systems have shown promise, but are limited by occlusion of the landmarks. We introduce a new approach to vision-based tracking using structured light to generate landmarks. The novel aspect of this approach is the system need not know the 3D locations of landmarks. This implies that motion within the field of view of the camera does not disturb tracking as long as landmarks are reflected off any surface into the camera.

      This dissertation specifies an algorithm which tracks a camera using structured light. A simulator demonstrates excellent performance on user motion data from an application currently limited by inaccurate tracking. Further analysis reveals directions for implementation of the system, theoretical limitations, and potential extensions to the algorithm.

      The term augmented reality (AR) has been given to applications that merge computer graphics with images of the user's surroundings. AR could give a doctor ``X-ray vision'' with which to examine the patient before or during surgery. At this point in time, AR systems have not been used in place of the traditional methods of performing medical or other tasks.

      One important problem that limits acceptance of AR systems is lack of precise registration--alignment---between real and synthetic objects. There are many components of an AR system that contribute to registration. One of the most important is the tracking system. The tracking data must be accurate, so that the real and synthetic objects are aligned properly.

      Our work in augmented reality focuses on medical applications. These require precise alignment of medical imagery with the physician's view of the patient. Although many technologies have been applied, including mechanical, magnetic, optical, et al, we have yet to find a system sufficiently accurate and robust to provide correct and reliable registration.

      We believe the system specified here contributes to tracking in AR applications in two key ways: it takes advantage of equipment already used for AR, and it has the potential to provide sufficient registration for demanding AR applications without imposing the limitations of current vision-based tracking systems.

      Lloyd, David Brandon (2007)
      "Logarithmic Perspective Shadow Maps"
      Under the direction of Dinesh Manocha
      Electronic copy available

      The shadow map algorithm is a popular approach for generating shadows for real-time applications. Shadow maps are exible and easy to implement, but they are prone to aliasing artifacts. To reduce aliasing artifacts we introduce logarithmic perspective shadow maps (LogPSMs). LogPSMs are based on a novel shadow map parameterization that consists of a perspective projection and a logarithmic transformation. They can be used for both point and directional light sources to produce hard shadows.

      To establish the benefits of LogPSMs, we perform an in-depth analysis of shadow map aliasing error and the error characteristics of existing algorithms. Using this analysis we compute a parameterization that produces near-optimal perspective aliasing error. This parameterization has high arithmetical complexity which makes it less practical than existing methods. We show, however, that over all light positions, the simpler LogPSM parameterization produces the same maximum error as the near-optimal parameterization. We also show that compared with competing algorithms, LogPSMs produce significantly less aliasing error.  Equivalently, for the same error as competing algorithms, LogPSMs require significantly less storage and bandwidth. We demonstrate difference in shadowquality achieved with LogPSMs on several models of varying complexity.

      LogPSMs are rendered using logarithmic rasterization. We show how current GPU architectures can be modified incrementally to perform logarithmic rasterization at current GPU fill rates. Specifically, we modify the rasterizer to support rendering to a nonuniform grid with the same watertight rasterization properties as current rasterizers. We also describe a novel depth compression scheme to handle the nonlinear primitives produced by logarithmic rasterization.  Our proposed architecture enhancements align with current trends of decreasing cost for on-chip computation relative to ochip bandwidth and storage. For only a modest increase in computation, logarithmic rasterization can greatly reduce shadow map bandwidth and storage costs.

      Lok, Benjamin Chak Lum (2002)
      "Interacting With Real Objects Significantly Enhances Cognitive Virtual Environment Tasks"
      Under the direction of Frederick P. Brooks Jr
      Department of Computer Science Technical Report TR02-021
      Electronic copy available.

      Suppose one has a virtual model of a car engine and wants to use an immersive virtual environment (VE) to determine whether both a large man and a petite woman can readily replace the oil filter. This real world problem is difficult to solve efficiently with current modeling, tracking, and rendering techniques. Hybrid environments, systems that incorporate real and virtual objects within the VE, can greatly assist in studying this question.

      We present algorithms to generate virtual representations, avatars, of dynamic real objects at interactive rates. Further, we present algorithms to allow virtual objects to interact with and respond to the real-object avatars. This allows dynamic real objects, such as the user, tools, and parts, to be visually and physically incorporated into the VE. The system uses image-based object reconstruction and a volume-querying mechanism to detect collisions and to determine plausible collision responses between virtual objects and the real-time avatars. This allows our system to provide the user natural interactions with the VE and visually faithful avatars.

      But is incorporating real objects even useful for VE tasks? We conducted a user study that showed that for spatial cognitive manual tasks, hybrid environments provide a significant improvement in task performance measures. Also, participant responses show promise of our improving sense- of-presence over customary VE rendering and interaction approaches.

      Finally, we have begun a collaboration with NASA Langley Research Center to apply the hybrid environment system to a satellite payload assembly verification task. In an informal case study, NASA LaRC payload designers and engineers conducted common assembly tasks on payload models. The results suggest that hybrid environments could provide significant advantages for assembly verification and layout evaluation tasks.

      Lorenzen, Peter Jonathan (2006)
      "Multi-Modal Image Registration and Atlas Formation"
      Under the direction of Sarang C. Joshi
      Electronic copy available

      Medical images of human anatomy can be produced from a wide range of sensor technologies and imaging techniques resulting in a diverse array of imaging modalities, such as magnetic resonance and computed tomography.  The physical properties of the image acquisition process for different modalities elicit different tissue structures.  Images from multiple modalities provide complementary information about underlying anatomical structure.  Understanding anatomical variability is often important in studying disparate population groups and typically requires robust dense image registration.  Traditional image registration methods involve finding a mapping between two scalar images.  Such methods do not exploit the complementary information provided by sets of multi-modal images.

      This dissertation presents a Bayesian framework for generating inter-subject large deformation transformations between two multi-modal image sets of the brain.  The estimated transformations are generated using maximal information about the underlying neuroanatomy present in each of the different modalities.  This modality independent registration framework is achieved by jointly estimating the posterior probabilities associated with the multi-modal image sets and the high-dimensional registration transformations relating these posteriors.  To maximally use the information present in all the modalities for registration, Kullback-Leibler divergence between the estimated posteriors is minimized.  This framework is extended to large deformation multi-class posterior atlas estimation.  The method generates a representative anatomical template from an arbitrary number of topologically similar multi-modal image sets.  The generated atlas is the class posterior that requires the least amount of deformation energy to be transformed into every class posterior (each characterizing a multi-modal image set).  This method is computationally practical in that computation time grows linearly with the number of image sets.

      The multi-class posterior atlas formation method is applied to a database of multi-modal images from ninety-five adult brains as part of a healthy aging study to produce 4D spatiotemporal atlases for the female and male subpopulations.  The stability of the atlases is evaluated based on the entropy of their class posteriors.  Global volumetric trends and local volumetric change are evaluated.  This multi-modal framework has potential applications in many natural multi-modal imaging environments.

      Low, Kok-Lim (2006)
      "View Planning for Range Acquisition of Indoor Environments"
      Under the direction of Anselmo A. Lastra
      Electronic copy available

      This dissertation presents a new and efficient next-best-view algorithm for 3D reconstruction of indoor environments using active range sensing. A major challenge in range acquisition for 3D reconstruction is an efficient automated view planning algorithm to determine a sequence of scanning locations or views such that a set of acquisition constraints and requirements is satisfied and the object or environment of interest can be satisfactorily reconstructed. Due to the intractability of the view planning problem and the lack of global geometric information, a greedy approach is adopted to approximate the solution. A practical view metric is formulated to include many real-world acquisition constraints and reconstruction quality requirements. This view metric is flexible to allow trade-offs between different requirements of the reconstruction quality. A major contribution of this work is the application of a hierarchical approach to greatly accelerate the evaluation of the view metric for a large set of views. This is achieved by exploiting the various spatial coherences in the acquisition constraints and reconstruction quality requirements when evaluating the view metric. The hierarchical view evaluation algorithm is implemented in a view planning system targeted for the acquisition of indoor environments using a monostatic range scanner with 3D pose. The results show great speedups over the straightforward method used in many previous algorithms. The view planning system has also been shown to be robust for realworld application.

      The dissertation also describes how the view metric can be generalized to incorporate general acquisition constraints and requirements, and how the hierarchical view evaluation algorithm can be generalized to scanners with general pose, and to scanners with bistatic sensors. A simple extension is also proposed to enable the hierarchical view evaluation algorithm to take into account each view's sensitivity to the potential pose errors in the physical positioning of the scanner.

      A computed new view must produce a range image that can be accurately registered to the previous scans. In this work, a metric is developed to estimate the registration accuracy of the views. This metric considers the amount of overlap, the range measurement errors, and the shape complexity of the surfaces..

      Luebke, David P. (1998)
      "View-Dependent Simplification of Arbitrary Polygonal Environments"
      Under the direction of Frederick P. Brooks, Jr.
      Electronic copy available

      This dissertation describes hierarchical dynamic simplification (HDS), a new approach to the problem of simplifying arbitrary polygonal environments. HDS is dynamic, retessellating the scene continually as the user's viewing position shifts, and global, processing the entire database without first decomposing the environment into individual objects. The resulting system enables real-time display of very complex polygonal CAD models consisting of thousands of parts and millions of polygons. HDS supports various preprocessing algorithms and various run-time criteria, providing a general framework for dynamic view-dependent simplification.

      Briefly, HDS works by clustering vertices together in a hierarchical fashion. The simplification process continually queries this hierarchy to generate a scene containing only those polygons that are important from the current viewpoint. When the volume of space associated with a vertex cluster occupies less than a user-specified amount of the screen, all vertices within that cluster are collapsed together and degenerate polygons filtered out. HDS maintains an active list of visible polygons for rendering. Since frame-to-frame movements typically involve small changes in viewpoint, and therefore modify this list by only a few polygons, the method takes advantage of temporal coherence for greater speed.

      Majumder, Aditi (2003)
      "A Practical Framework to Achieve Perceptually Seamless Multi-Projector Displays"
      Under the direction of Gregory Welch and Rick Stevens
      Electronic copy available

      Arguably the most vexing problem remaining for planar multi-projector displays is that of color seamlessness between and within projectors. While researchers have explored approaches that strive for strict color uniformity, this goal typically results in severely compressed dynamic range and generally poor image quality.

      In this dissertation, I introduce the emineoptic function that models the color variations in multi-projector displays. I also introduce a general goal of color seamlessness that seeks to balance perceptual uniformity and display quality. These two provide a comprehensive generalized framework to study and solve for color variation in multi-projector displays.

      For current displays, usually built with same model projectors, the variation in chrominance (hue) is significantly less than in luminance (brightness). Further, humans are at least an order of magnitude more sensitive to variations in luminance than in chrominance. So, using this framework of the emineoptic function I develop a new approach to solve the restricted problem of luminance variation across multi projector displays. My approach reconstructs the emineoptic function efficiently and modifies it based on a perception-driven goal for luminance seamlessness. Finally I use the graphics hardware to reproject the modified function at interactive rates by manipulating only the projector inputs. This method has been successfully demonstrated on three different displays made of 5 x 3 array of fifteen projectors, 3 x 2 array of six projectors and 2 x 2 array of four projectors at the Argonne National Laboratory. My approach is efficient, accurate, automatic and scalable, requiring only a digital camera and a photometer. To the best of my knowledge, this is the first approach and system that addresses the luminance problem in such a comprehensive fashion and generates truly seamless displays with high dynamic range.

      Mark, William R. (1999)
      "Post-Rendering 3D Image Warping: Visibility, Reconstruction, and Performance for Depth-Image Warping"
      Under the direction of Gary Bishop
      Electronic copy available

      The images generated by real-time 3D graphics systems exhibit enormous frame-to-frame coherence, which is not exploited by the conventional graphics pipeline. I exploit this coherence by decoupling image rendering from image display. My system renders every Nth frame in the conventional manner, and generates the in-between frames with an image warper. The image warper modifies a rendered image so that it is approximately correct for a new viewpoint and view direction.

      My image warper uses McMillan's 3D image warp. Unlike perspective image warps, the 3D image warp can correct for changes in viewpoint, even for objects at different depths. As a result, my system does not require the application programmer to segment the scene into different depth layers, as is required by systems that use a perspective image warp.

      I attack three major challenges associated with using 3D warping for rendering acceleration: visibility, reconstruction, and performance. I describe how to choose pairs of rendered images so that most of the needed portions of the scene are visible in these images. I describe a framework for the 3D warp reconstruction problem, and develop reconstruction algorithms that produce good quality images. Finally, I describe properties of the 3D warp that could be used to build efficient 3D image warpers in hardware.

      My technique can also compensate for rendering-system latency and network latency. I have built a real-time system that demonstrates this capability by displaying rendered images at a remote location, with low latency.

      Maascarenhas (2006)
      "Time-varying Reeb Graphs: A Topological Framework Supporting the Analysis of Continuous Time-varying Data"
      Under the direction of Jack Snoeyink
      Electronic copy available

      I present time-varying Reeb graphs as a topological framework to support the analysis of continuous time-varying data. Such data is captured in many studies, including computational fluid dynamics, oceanography, medical imaging, and climate modeling, by measuring physical processes over time, or by modeling and simulating them on a computer.

      Analysis tools are applied to these data sets by scientists and engineers who seek to understand the underlying physical processes. A popular tool for analyzing scientific datasets is level sets, which are the points in space with a fixed data value s. Displaying level sets allows the user to study their geometry, their topological features such as connected components, handles, and voids, and to study the evolution of these features for varying s.

      For static data, the Reeb graph encodes the evolution of topological features and compactly represents topological information of all level sets. The Reeb graph essentially contracts each level set component to a point. It can be computed efficiently, and it has several uses: as a succinct summary of the data, as an interface to select meaningful level sets, as a data structure to accelerate level set extraction, and as a guide to remove noise.

      I extend these uses of Reeb graphs to time-varying data. I characterize the changes to Reeb graphs over time, and develop an algorithm that can maintain a Reeb graph data structure by tracking these changes over time. I store this sequence of Reeb graphs compactly, and call it a time-varying Reeb graph. I augment the time-varying Reeb graph with information that records the topology of level sets of all level values at all times, that maintains the correspondence of level set components over time, and that accelerates the extraction of level sets for a chosen level value and time.

      Scientific data sampled in space-time must be extended everywhere in this domain using an interpolant. A poor choice of interpolant can create degeneracies that are di±cult to resolve, making construction of time-varying eeb graphs impractical. I investigate piecewise-linear, piecewise-trilinear, and piecewise-prismatic interpolants, and conclude that piecewise-prismatic is the best choice for computing time-varying Reeb graphs.

      Large Reeb graphs must be simplified for an effective presentation in a visualization system. I extend an algorithm for simplifying static Reeb graphs to compute simplifications of time-varying Reeb graphs as a first step towards building a visualization system to support the analysis of time-varying data.

      McAllister, David F. (1972)
      "Algorithms for Chebychev Approximation Over Finite Sets"
      Under the direction of Stephen M. Pizer

      Several new algorithms and modifications to existing algorithms for linear and rational Chebychev approximations on finite point sets are developed theoretically and compared numerically. All algorithms considered employ the solution of a linear program or sequences of linear programs in their search for a best approximation. In the rational case, root finding methods were found to be superior to any existing algorithm when the denominator was bounded below by a positive constant. The Appendix discusses a method of computing

      min ||Az||
      ||z|| =1 , where the norm is the Chebychev norm, by minimizing the norm of the pseudo-inverse of A.

      McAllister, David K. (2002)
      "A Generalized Surface Appearance Representation for Computer Graphics"
      Under the direction of Anselmo A. Lastra
      Electronic copy available

      For image synthesis in computer graphics, two major approaches for representing a surface's appearance are texture mapping, which provides spatial detail, such as wallpaper, or wood grain; and the 4D bi-directional reflectance distribution function (BRDF) which provides angular detail, telling how light reflects off surfaces. I combine these two modes of variation to form the 6D spatial bi-directional reflectance distribution function (SBRDF).  My compact SBRDF representation simply stores BRDF coefficients at each pixel of a map.  I propose SBRDFs as a surface appearance representation for computer graphics and present a complete system for their use.

      I acquire SBRDFs of real surfaces using a device that simultaneously measures the BRDF of every point on a material. The system has the novel ability to measure anisotropy (direction of threads, scratches, or grain) uniquely at each surface point. I fit BRDF parameters using an efficient nonlinear optimization approach specific to BRDFs.

      SBRDFs can be rendered using graphics hardware. My approach yields significantly more detailed, general surface appearance than existing techniques for a competitive rendering cost. I also propose an SBRDF rendering method for global illumination using prefiltered environment maps. This improves on existing prefiltered environment map techniques by decoupling the BRDF from the environment maps, so a single set of maps may be used to illuminate the unique BRDFs at each surface point.

      I demonstrate my results using measured surfaces including gilded wallpaper, plant leaves, upholstery fabrics, wrinkled gift-wrapping paper and glossy book covers.

      McAnulty, Michael A. (1973)
      "Computer-Aided Processing of Coronary Arterial Tree Cinearteriograms"
      Under the direction of Donald F. Stanat

      A coronary cinearteriogram is an x-ray motion picture of a beating heart whose coronary arteries are made selectively visible with radio-opaque dye. A careful numerical tracking of the arterial tree through time and space enables the calculation of dynamic information which is clinically useful and only sketchily available by other means. Digitizing trees by hand is possible, but tedious and error-prone. Computer-aided collection of such data can both speed up the tree definition process and make the data more readily available to subsequent numerical reduction.

      A program is described which drives an automatic film scanner viewing the cinearteriogram, performs basic book-keeping and tracking functions, and aids in the primary detection of the trees, taking advantage of the ability with motion pictures to predict the position of a feature on one frame from that on the previous frame. Although operator interaction with the system is necessary to correct erroneous processing, the system is competitive with a hand-entry system with respect to both speed and accuracy.

      McInroy, John W. (1978)
      "A Concept-Vector Representation of the Paragraphs in a Document, Applied to Automatic Extracting"
      Under the direction of Stephen F. Weiss

      I report here on a study of several related problems in automatic extracting. First, I present (a) a new method of automatic extracting, which uses concept vectors, along with (b) a procedure for evaluating extracts, and (c) results of experiments in which I use the evaluation procedure to compare extracts produced employing the concept-vector method with human-produced abstracts and with other automatically produced extracts.

      Concept-vector extracts perform better in information retrieval tests in the SMART system than a competing automatic method, but these differences are not statistically significant. Concept-vector extracts do not perform so well as human-produced abstracts, but do perform better than extracts taken at random from documents. These differences are significant according to some of the statistical tests used.

      Second, I examine the information-retrieval performance of extracts of various sizes, using the same evaluation procedure. Performance drops off gradually at first with decreasing size, then more and more sharply as extracts become smaller than a certain size.

      Third, I attempt to compute directly from the document and the extract a statistic that will predict performance in the evaluation procedure. The correlations between this statistic and actual performance are significant only in cases where the performance of extracts is very poor compared with the performance of full texts.

      McKenzie Jr., Leslie E. (1988)
      "An Algebraic Language for Query and Update of Temporal Databases"
      Under the direction of Richard T. Snodgrass
      Department of Computer Science Technical Report: TR88-050T
      Electronic copy available

      Although time is a property of events and objects in the real world, conventional relational database management systems (RDBMS's) can't model the evolution of either the objects being modeled or the database itself. Relational databases can be viewed as snapshot databases in that they record only the current database state, which represents the state of the enterprise being modeled at some particular time. We extend the relational algebra to support two orthogonal aspects of time: valid time, which concerns the modeling of time-varying reality, and transaction time, which concerns the recording of information in databases. In so doing, we define an algebraic language for query and update of temporal databases.

      The relational algebra is first extended to support valid time. Historical versions of nine relational operators (i.e., union, difference, cartesian product, selection, projection, intersection, theta-join, natural join, and quotient) are defined and three new operators (i.e., historical derivation, non-unique aggregation, and unique aggregation) are introduced. Both the relational algebra and this new historical algebra are then encapsulated within a language of commands to support transaction time. The language's semantics is formalized using denotational semantics. Rollback operators are added to the algebras to allow relations to be rolled back in time. The language accommodates scheme and contents evolution, handles single-command and multiple-command transactions, and supports queries on valid time. The language is shown to have the expressive power of the temporal query language TQuel.

      The language supports both unmaterialized and materialized views and accommodates a spectrum of view maintenance strategies, including incremental, recomputed, and immediate view materialization. Incremental versions of the snapshot and historical operators are defined to support incremental view materialization. A prototype query processor was built for TQuel to study incremental view materialization in temporal databases. Problems that arise when materialized views are maintained incrementally are discussed, and solutions to those problems are proposed.

      Criteria for evaluating temporal algebras are presented. Incompatibilities among the criteria are identified and a maximal set of compatible evaluation criteria is proposed. Our language and other previously proposed temporal extensions of the relational algebra are evaluated against these criteria.

      McMillan, Jr., Leonard (1997)
      "An Image-Based Approach to Three-Dimensional Computer Graphics"
      Under the direction of Gary Bishop
      Department of Computer Science Technical Report TR97-013
      Electronic copy available

      The conventional approach to three-dimensional computer graphics produces images from geometric scene descriptions by simulating the interaction of light with matter. My research explores an alternative approach that replaces the geometric scene description with perspective images and replaces the simulation process with data interpolation.

      I derive an image-warping equation that maps the visible points in a reference image to their correct positions in any desired view. This mapping from reference image to desired image is determined by the center-of-projection and pinhole-camera model of the two images and by a generalized disparity value associated with each point in the reference image. This generalized disparity value, which represents the structure of the scene, can be determined from point correspondences between multiple reference images.

      The image-warping equation alone is insufficient to synthesize desired images because multiple reference-image points may map to a single point. I derive a new visibility algorithm that determines a drawing order for the image warp. This algorithm results in correct visibility for the desired image independent of the reference image's contents.

      The utility of the image-based approach can be enhanced with a more general pinhole-camera model. I provide several generalizations of the warping equation's pinhole-camera model and discuss how to build an image-based representation when information about the reference image's center-of-projection and camera model is unavailable.

      Meehan, Michael J. (2001)
      "Physiological Reaction as an Objective Measure of Presence in Virtual Environments"
      Under the direction of Frederick P. Brooks Jr.
      Department of Computer Science Technical Report TR01-018
      Electronic copy available

      Virtual environments (VEs) are one of the most advanced human-computer interfaces to date. A common measure of the effectiveness of a VE is the amount of presence it evokes in users. Presence is commonly defined as the sense of being there in a VE.

      In order to study the effect that technological improvements such as higher frame rate, more visual realism, and lower lag have on presence, we must be able to measure it. There has been much debate about the best way to measure presence, and we, as presence researchers, have yearned for a measure that is

      • Reliable--produces repeatable results, both from trial to trial on the same subject and across subjects;
      • Valid--measures subjective presence, or at least correlates well with established subjective presence measures;
      • Sensitive--is capable of distinguishing multiple levels of presence; and
      • Objective--is well shielded from both subject bias and experimenter bias.

      We hypothesize that to the degree that a VE seems real, it will evoke physiological responses similar to those evoked by the corresponding real environment, and that greater presence will evoke a greater response. Hence, these responses serve as reliable, valid, sensitive, and objective measures of presence.

      We conducted three experiments that support the use of physiological reaction as a reliable, valid, sensitive, and objective measure of presence. We found that change in heart rate was the most sensitive of the physiological measures (and was more sensitive than most of the self-reported measures) and correlated best among the physiological measures with the reported presence measures. Additionally, our findings showed that passive haptics and frame rate are important for evoking presence in VEs. Inclusions of the 1.5-inch wooden ledge into the virtual environment significantly increased presence. Also, for presence evoked: 30 FPS (frames per second) >20 FPS >15 FPS. In conclusion, physiological reaction can be used as a reliable, valid, sensitive, and objective measure of presence in stress-inducing virtual environments.

      Meenakshisundaram, Gopi (2001)
      "Theory and Practice of Sampling and Reconstruction of Manifolds with Boundaries"
      Under the direction of Jack Snoeyink
      Electronic copy available

      Surface sampling and reconstruction are used in modeling objects in graphics and digital archiving of mechanical parts in Computer Aided Design and Manufacturing (CAD/CAM). Sampling involves collecting 3D points from the surface. Using these point samples, a reconstruction process rebuilds a surface that is topologically equivalent and geometrically close to the original surface. Conditions are imposed on sampling to ensure correct reconstruction.

      In this dissertation, I study the sampling and reconstruction of manifolds with boundaries. For surfaces without boundaries, the sampling condition presented till now in the literature prescribes minimum required sampling density, and the reconstruction algorithm takes only the positions of the sample points as input. For the class of surfaces with boundaries, I show that the conditions on minimum required sampling density is not sufficient to ensure correct reconstruction, if the input to the reconstruction algorithm is just the positions of the sample points. Hence, for reliable reconstruction of surfaces with boundaries, either the sampling conditions should be strengthened or the reconstruction algorithm has to be provided with more information. These results have impact on the computation of the medial axis from the sample points of the surfaces with boundaries also.

      In this dissertation, I present a sampling condition which prescribes both relative minimum and maximum sampling densities for sampling surfaces with boundaries, and based on these sampling conditions, I develop a reconstruction algorithm which takes only the positions of the sample points as input. Further, I prove that the reconstructed surface is homeomorphic to the underlying sampled surface.

      Menges, John E.(2009)
      "Concur: An Investigation of Lightweight Migration in Support of Centralized Synchronous Distributed Collaboration"
      Under the direction of Kevin Jeffay
      Electronic copy available

      Synchronous distributed collaborative systems support simultaneous observation of and interaction with shared objects by multiple, dispersed participants. Both centralized and replicated systems have been built, each class having its characteristic advantages and disadvantages. Centralized systems support simpler user mental models and are easier to implement, but they suffer from greater latency and reduced scalability. Replicated systems improve latency and scalability at the expense of more complex user mental models and implementations.

      Attempts to resolve these conflicting characteristics have resulted in hybrid (partly centralized and partly replicated) systems. These systems apply centralized and replicated sub-architectures selectively in order to best fit the properties of the architectures to various aspects of the system. Recent research has investigated support for dynamic reconfiguration among centralized, replicated, and hybrid configurations in response to the changing properties of a collaborative session over time. Dynamic reconfiguration typically involves migration of processes or objects among physically dispersed processors. Unfortunately, hybrid and dynamic architectures further complicate the user's mental model, because they expose the user to more of the internal structure of the system and how it changes dynamically. Process and (object-oriented) object migration are also expensive in terms of migration time and the container (runtime) requirements at various processors, and they can increase latency during migration or if objects are migrated to a non-optimal location as a result of inaccurate predictions as to where they should be located.

      I have instead organized collaborative applications and supporting infrastructures around migrating entities, which are not required to have full process or object semantics. These entities are defined and classified based on properties affecting migration, such as their size and their use of external references. The central thesis of this dissertation is that this organization helps us to build collaborative applications and supporting infrastructures that achieve both the simpler user mental models and implementations of centralized systems, and the superior performance characteristics of replicated systems. This is accomplished through the fast migration of lightweight entities in a multi-centered centralized system, where a multi-centered system is defined as having single physical center and multiple, independently-migrating and entity-specific logical centers.

      The speed of such lightweight entity migration opens up the possibility of triggering migrations based on telegraphed user intentions (user actions that hint at imminent succeeding actions). Such telegraphed intentions are likely to be more accurate predictors of future interactions than the longer-term interaction histories considered in previous systems. Identifying sub-object, easily migratable entity classifications also minimizes container requirements, facilitating widespread entity distribution.

      Merck, Derek L. (2010)
      "Model Guided Rendering for Medical Images"
      Under the Direction of Steve Pizer & Julian Rosenman
      Electronic copy available

      High quality 3D medical image visualization has traditionally been restricted to either particular clinical tasks that focus on easily identified or high contrast structures, such as virtual colonoscopy, or to atlas patients such as the Visible Human, which can be painstakingly micro-segmented and rendered offline. Model Guided Rendering (MGR) uses partial image segmentations as a framework for combining information from multiple data sources into a single view, which leads to a variety of methods for synthesizing high quality visualizations that require only a short setup time. Interactively presenting such scenes for particular target patients enables a variety of new clinical applications.

      MGR draws information about a scene not only from the target medical image but also from segmentations and object models, from medical illustrations and solid color textures, from patient photographs, from registration fields, and from other patient images or atlases with information about structures that are hidden in the base modality. These data sources are combined on a region-by-region basis to estimate context-appropriate shading models and to compose a globally useful composition (clipping) for the entire scene. Local mappings are based on segmenting a sparse set of important structures from the scene by deformable shape models with well defined volumetric coordinates, such as the discrete medial representation (m-reps). This partial segmentation provides object coordinates that can be used to guide a variety of fast techniques for oriented solid texturing, color transfer from 2D or 3D sources, volume animation, and dynamic hierarchical importance clipping.

      The mgrView library computes medial-to-world and world-to-medial mappings and implements many of MGR's methods within a fast rasterize-and-blend rendering core that can render complex scenes in real time on modest hardware. Several vignette views demonstrate how MGR's unique capabilities can lead to important new comprehensions in clinical applications. These views include an interactive anatomic atlas of the head and neck, animated display of the effects of setup error or anatomic shape change on fractionated external beam radiotherapy treatment, and a pharyngoscopic augmentation that overlays planning image guidance information onto the camera view.

      Merrell, Paul (2009)
      "Model Synthesis"
      Under the direction of Dinesh Manocha
      Electronic copy available

      Most computer graphics applications extensively use three-dimensional models and the demand for 3D models is growing. However, despite extensive work in modeling for over four decades, creating models remains a labor-intensive and difficult process even with the best available tools.

      I will present a new procedural modeling technique called model synthesis that is designed to generate models of many different kinds of objects. Model synthesis is inspired by developments in texture synthesis and is designed to automatically generate a large model that resembles a small example model provided by the user. Every small part of the generated model is identical to a small part of the example model. By altering the example model, a wide variety of objects can be produced.

      I will present several different model synthesis algorithms and analyze their strengths and weaknesses. Discrete model synthesis generates models built out of small building blocks or model pieces. Continuous model synthesis generates models on set of parallel planes.

      I will also show how to incorporate several additional user-defined constraints to control the large-scale structure of the model, to control how the objects are distributed, and to generate symmetric models. I will demonstrate how general each approach is by showing the wide variety of models they can produce including cities, landscapes, spaceships, and castles. The models contain hundreds of thousands of model pieces and are generated in only a few minutes.

      Middleton, David J. (1986)
      "Alternative Program Representations in the FFP Machine"
      Under the direction of Gyula A. Mago
      Electronic copy available

      Program representation seems to be an important factor in enabling parallel computers to provide the high performance they promise. Program representation, from that of the initial algorithm to that of the run-time machine code, must provide enough information that parallelism can be detected without imposing further constraints that prevent this parallelism from being exploited. The thesis of this research is that the efficiency of the FFP machine is significantly affected by the choice for program representation. The results support the conjecture above and suggest that greater emphasis should be placed on program representation in the design of parallel computers.

      This research examines run-time program representation for the FFP machine, a fine-grained language-directed parallel computer which uses a string-reduction model of computation. Several alternative program representations are proposed, and the resulting machine variants are compared.

      Four characteristics are then developed which accurately predict the advantages and problems that would arise with other forms of program representation. These characteristics can be derived from the basic nature of the FFP machine and its model of computation, so these characteristics may well be important in the design of other parallel computers that share the basic character of the FFP machine.

      The results are organized into a procedure for choosing a representation, based on the expected use of a particular instance of the FFP machine. A definition of processor granularity is proposed based on software function instead of hardware costs.

      Miller, Dorian B. (2008)
      "Can we work together?"
      Under the direction of Dave Stotts
      Electronic copy available

      People have a versatility to adapt to various situations in order to communicate with each other regardless of a person's disability. We research separate computer interfaces to support remote synchronous collaboration in two situations. First, a deaf person collaborating with a hearing person uses a shared workspace with video conferencing, such as the Facetop system. Second, a blind person collaborating with a sighted person uses our loosely coupled custom shared workspace called Deep View. The design features in the respective interfaces accommodate the disability of a deaf person or a blind person to communicate with a person without a disability, thereby expanding the ways in which people with disabilities participate in a collaborative task at a level of detail not possible without our interfaces. The design features of our user interfaces provide alternative channels for the collaborators with disabilities to communicate ideas or coordinate actions that collaborators without disabilities would otherwise do verbally or visually.

      We evaluate the interfaces through three user studies where collaborators complete full fledged tasks that require managing all aspects of communication to complete the task. Throughout the research we collaborated with members of the Deaf community and members of the blind community. We incorporated the feedback from members of these communities into the implementation of our interfaces. The members participated in our user studies to evaluate the interfaces.

      Miller, Swaha Das (2005)
      "OSHL-U: A First Order Theorem Prover Using Propositional Techniques and Semantics"
      Under the direction of David A. Plaisted
      Electronic copy available

      Large and complex 3D models are required for computer-aided design, architectural visualizations, flight simulation, and many types of virtual Automated theorem proving is the proving of theorems with an automatic computer program. Automation of theorem proving is useful in proving repetitive theorems quickly and accurately, as well as in proving theorems that may be too large or complex for humans to handle. Automated theorem proving finds application in various fields, such as, the verification of integrated circuits, software verification, deductive databases, mathematics, and education.

      The early success of automated theorem provers for first-order logic based on the resolution-unification paradigm has caused theorem proving research to be directed largely towards resolution and its variants. The problems people looked at in the early days of automated deduction were mostly in the classes of problems that resolution is especially efficient at solving such as Horn problems (Every clause in such problems contains at most one positive literal) and UR resolvable problems (Problems in which the proof can be obtained purely by UR resolution, which is a restricted form of resolution). The initially good performance of resolution on such problems led to disillusionment later on. Problems that are hard to solve for humans are less and less likely to be Horn or UR resolvable, so resolution is less likely to be efficient on such problems. That few hard problems have been solved automatically by current provers further supports this. Therefore, there is a need to go beyond resolution for harder problems. Approaches based on propositional techniques applied to first-order theorem proving have great potential in this direction. Provers based on propositional techniques such as DPLL are used extensively for hardware verification but resolution is hardly ever used for solution of large propositional problems because it is far less efficient. Resolution has serious inefficiencies on non-Horn propositional problems and it is likely that these inefficiencies carry over also to first-order problems. In recent times, techniques developed for deciding propositional satisfiability perform at tremendous speeds, solving verification problems containing tens of thousands of variables and hard random 3SAT problems containing millions of variables. The desire to import such propositional efficiency into first-order theorem proving has revived an interest in propositional techniques for proving first-order logic problems.

      This dissertation explores propositional techniques to first-order theorem proving and how these compare in performance to resolution-unification techniques. It formulates some techniques that are shown to enhance the performance of OSHL, a theorem prover for first-order logic based on propositional techniques. The resulting implementation, OSHL-U, performs better than resolution on categories of problems that are hard for resolution. The performance of OSHL-U can further be improved by the use of semantics that provide problem-specific information to help the proof search; this is demonstrated experimentally in the dissertation. The techniques applied to enhance OSHL performance are applicable to other theorem provers, too, and contribute towards building more powerful theorem provers for first-order logic in general.

      Millman, David L. (2012)
      "Degree-Driven Design of Geometric Algorithms for Point Location, Proximity, and Volume Calculation"
      Under the direction of Jack Snoeyink
      Electronic copy available

      Correct implementation of published geometric algorithms is surprisingly difficult. Geometric algorithms are often designed for Real-RAM, a computational model that provides arbitrary precision arithmetic operations at unit cost. Actual commodity hardware provides only finite precision and may result in arithmetic errors. While the errors may seem small, if ignored, they may cause incorrect branching, which may cause an implementation to reach an undefined state, produce erroneous output, or crash. In 1999 Liotta, Preparata and Tamassia proposed that in addition to considering the resources of time and space, an algorithm designer should also consider the arithmetic precision necessary to guarantee a correct implementation. They called this design technique degree-driven algorithm design. Designers who consider the time, space, and precision for a problem up-front arrive at new solutions, gain further insight, and find simpler representations.  In this thesis, I show that degree-driven design supports the development of new and robust geometric algorithms.

      I demonstrate this claim via several new algorithms. For n point sites on a U X U grid I consider three problems. First, I show how to compute the nearest neighbor transform in O(U2) expected time, O(U2) space, and double precision. Second, I show how to create a data structure in O(n log Un) expected time, O(n) expected space, and triple precision that supports O(log n) time and double precision post-office queries. Third, I show how to compute the Gabriel graph in O(n2) time, O(n2) space and double precision. For computing volumes of CSG models, I describe a framework that uses a minimal set of predicates that use at most five-fold precision.  The framework is over 500x faster and two orders of magnitude more accurate than a Monte Carlo volume calculation algorithm.

      Mine, Mark R. (1997)
      "Exploiting Proprioception in Virtual-Environment Interaction"
      (Frederick P. Brooks, Jr.)
      Department of Computer Science Technical Report TR97-014
      Electronic copy available

      Manipulation in immersive virtual environments is difficult partly because users must do without the haptic contact with real objects they rely on in the real world to orient themselves and the objects they are manipulating. To compensate for this lack, I propose exploiting the one real object every user has in a virtual environment, his body. I present a unified framework for virtual-environment interaction based on proprioception, a person's sense of the position and orientation of his body and limbs. I describe three forms of body-relative interaction:

      • Direct manipulation - ways to use body sense to help control manipulation
      • Physical mnemonics - ways to store/recall information relative to the body
      • Gestural actions - ways to use body-relative actions to issue commands

      Automatic scaling is a way to bring objects instantly within reach so that users can manipulate them using proprioceptive cues. Several novel virtual interaction techniques based upon automatic scaling and the proposed framework of proprioception allow a user to interact with a virtual world intuitively, efficiently, precisely, and lazily.

      Two formal user studies evaluate key aspects of body-relative interaction. The virtual docking study compares the manipulation of objects co-located with one's hand and the manipulation of objects at a distance. The widget interaction experiment explores the differences between interacting with a widget held in one's hand and interacting with a widget floating in space.

      Lessons learned from the integration of body-relative techniques into a real-world system, the Chapel Hill Immersive Modeling Program (CHIMP), are presented and discussed.

      Moir, Mark S. (1996)
      "Efficient Object Sharing in Shared-Memory Multiprocessors"
      Under the direction of James Anderson
      Electronic copy available

      The goal of this work is to facilitate efficient use of concurrent shared objects in asynchronous, shared-memory multiprocessors. Shared objects are usually implemented using locks in such systems. However, lock-based implementations result in substantial inefficiency in multiprogrammed systems, where processes are frequently subject to delays due to preemption. This inefficiency arises because processes can be delayed while holding a lock, thereby delaying other processes that require the lock.

      In contrast, lock-free and wait-free implementations guarantee that the delay of one process will not delay another process. We show that lock-free and wait-free implementations for shared objects provide a viable alternative to lock-based ones, and that they can provide a significant performance advantage over lock-based implementations in multiprogrammed systems.

      Lock-free and wait-free implementations are notoriously difficult to design and to verify, as correct. Universal constructions alleviate this problem by generating lock-free and wait-free shared object implementations using sequential implementations. However, previous universal constructions either require significant creative effort on the part of the programmer for each object, or result in objects that have high space and time overhead due to excessive copying.

      We present lock-free and wait-free universal constructions that achieve low space and time overhead for a wide spectrum of important objects, while not placing any extra burden on the object programmer. We also show that the space and time overhead of these constructions can be further reduced by using k-exclusion algorithms to restrict access to the shared object. This approach requires a long-lived renaming algorithm that enables processes to acquire and release names repeatedly. We present several efficient k-exclusion and long-lived renaming algorithms.

      Our universal constructions are based on the load-linked and store-conditional synchronization instructions. We give a constant-time, wait-free implementation of load-linked and store-conditional using compare-and-swap, and an implementation of multi-word load-linked and store-conditional instructions using similar one-word instructions. These results allow our algorithms and others to be applied more widely; they can also simplify the design of new algorithms.

      Molnar, Steven E. (1991)
      "Image-Composition Architectures for Real-Time Image Generation"
      Under the direction of Henry Fuchs
      Department of Computer Science Technical Report TR91-046
      Electronic copy available

      This dissertation describes a new approach for high-speed image-generation based on image compositing. Application software distributes the primitives of a graphics database over a homogeneous array of processors called renderers. Each renderer transforms and rasterizes its primitives to form a full-sized image of its portion of the database. A hardware datapath, called an image-composition network, composites the partial images into a single image of the entire scene.

      Image-composition architectures are linearly scalable to arbitrary performance. This property arises because: 1) renderers compute their subimages independently, and 2) an image-composition network can accommodate an arbitrary number of renderers, with constant bandwidth in each link of the network. Because they are scalable, image-composition architectures promise to achieve much higher performance than existing commercial or experimental systems. They are flexible as well, supporting a variety of primitive types and rendering algorithms. Also, they are efficient, having approximately the same performance/price ratio as the underlying renderers.

      Antialiasing is a special challenge for image-composition architectures. The compositing method must retain primitive geometry within each pixel to avoid aliasing. Two alternatives are explored in this dissertation: simple z-buffer compositing combined with supersampling, and A-buffer compositing.

      This dissertation describes the properties of image-composition architectures and presents the design of a prototype z-buffer-based system called PixelFlow. The PixelFlow design, using only proven technology, is expected to render 2.5 million triangles per second and 870 thousand antialiased triangles per second in a two-card-cage system. Additional card cages can be added to achieve nearly linear increases in performance.

      Morse, Bryan S. (1995)
      "Computation of Object Cores from Grey-level Images"
      Under the direction of Stephen M. Pizer

      Pixels in discrete images represent not just dimensionless points but the integration of image information over spatial areas. The size of this measurement aperture (the scale of image measurements) limits our ability to discern finer-scale structure. Changing the magnification of objects in images changes the level of detail that can be described. Oversensitivity to such details causes difficulty in making shape-based comparisons for such tasks as identification or registration.

      To create object representations that are invariant to magnification, one must tie the measurement scale to the size of the objects involved. Research at UNC-CH has led to a representation known as a core that establishes this relationship. Cores are related to previous medial representations of shape but go farther to capture the central essence of objects. The object-relevant use of scale separates general shape properties of objects from specific detail (allowing more robust representations when comparing objects) and provides a basis for object-based tradeoff between noise and loss of detail (allowing finer, but noisier, representations for small objects while simultaneously producing less noisy representations for larger, more stable, objects).

      This dissertation presents four distinct algorithms that, taken together, compute cores for objects in images. They derive cores directly from the image and do not require a prior segmentation, thus producing image segmentation, as well as object representations. They include

      1. An algorithm, similar to the Hough transform, for transforming boundary-likelihood information (graded boundary values, not binary contours) to medial- likelihood information at all spatial positions and scales;
      2. An algorithm for finding curves in this scale space of medial information that are locally optimal with respect to both position and scale in directions transverse to the curve;
      3. A competitive credit attribution (feature-binding) algorithm that constrains the medial-likelihood computation to produce a more coherent interpretation of the image;
      4. A cooperative algorithm that encourages longer connected cores and completion of cores across gaps.

      These algorithms are evaluated using both qualitative testing on various types of images and quantitative study of their behavior under systematically controlled variations in images. Comparisons are also made between computed cores and the results of previous and ongoing psychophysical studies.

      Mudge, J. Craig (1973)
      "Human Factors in the Design of a Computer-Assisted Instruction System"
      Under the direction of Frederick P. Brooks, Jr.
      Electronic copy available

      This research is an exploratory case study of ease-of-use factors in man-computer interfaces.

      The approach has been to build and evaluate a real man-machine system, giving special attention to the form of all man-machine and machine-man communications. Author-controlled computer-assisted instruction was selected. Such a system has three principal interfaces: student-system, author-system, and computer programmer-system.

      The method was to design, build a large subset of the design, make systematic observations of the three interfaces in use, and then iterate on the design and on the observations. The system has been in regular class use for a year.

      Interactive development of course material by authors, execution of instructional programs by students, and the requisite administrative tasks are integrated into a single production-oriented system. The nucleus of the system is a new display-based interactive author language, DIAL. The design demands a language implementation which is systematic and which permits easy language modification. A translator writing system, based extensively on McKeeman's, assists computer programmers in generating compilers for new versions of the language.

      Two of the design assumptions (that the course author is always an experienced teacher and that he does his own programming in DIAL, without an intermediary CAI language programmer) are major departures from most CAI authoring systems. Professorial-level authoring imposes stringent requirements on the ease-of-use and simplicity of the language and the operational environment in which it is embedded.

      A measured high level of user acceptance proved the soundness of the design and illuminated the relatively few mistakes made. A factor-of-five improvement in authoring time over data published for other systems was observed. Several improvements in DIAL over existing CAI languages were observed. The underlying machine intrudes much less than in existing languages, and there are other syntactic improvements. The provision in DIAL of a pattern matching function allowed a very general answer-evaluating technique, called the sieve, to be devised. Analysis of author use of DIAL has derived DIAL/2, which is radically different syntactically but only slightly enriched functionally.

      The translator writing system proved very useful in progressive implementation of DIAL and in the remediation of language weaknesses as they were discovered. Although a translator writing system was not available for the command language of the operational environment, the human-factors debugging period (necessary for all user-oriented systems) revealed the desirability of such.

      Mueller, Carl A. (2000)
      "The Sort-First Architecture for Real-Time Image Generation"
      Under the direction of Anselmo A. Lastra
      Department of Computer Science Technical Report TR01-023
      Electronic copy available

      The field of real-time computer graphics has been pushing hardware capability to its limits. There is demand to increase not only the complexity of the models that are displayed, but also the resolution of the images. To provide the ultimate power for interactive graphics, fully-parallelized systems have been developed which work on rendering multiple polygons at all major stages of the graphics pipeline. UNC researchers have devised a taxonomy of such architectures, naming the classes "sort first," "sort-middle," and "sort-last" [MOLN91, MOLN94]. While the latter two have been well explored and developed, sort-first has not, despite the fact that it offers great promise for real-time rendering.

      Sort-first offers an advantage over sort-middle in that it can take advantage of the frame-to-frame coherence that is inherent in interactive applications to reduce the communications bandwidth needed to send primitives among processors. Sort-first also offers an advantage over sort-last in that it does not require huge amounts of communication bandwidth to deal with pixel traffic. Based on these advantages, our thesis states that sort-first is the architecture best suited for rapidly rendering very high-resolution images of complex model datasets. However, to support this thesis, we must show how sort-first can be implemented efficiently.

      The main issues standing in the way of sort-first implementation are load balancing and management of a migrating primitive database. These issues are explored thoroughly in this dissertation. We demonstrate a new adaptive load-balancing method (applicable to sort-middle as well) which allows for efficient load distribution with low overhead. We also show two solution methods for managing a hierarchical database of migrating primitives. In addition we examine the communications requirements for sort-first, first by examining a design example and later by providing a comparison against sort-middle.

      Our research shows that sort-first is a viable and very competitive architecture. Its strengths make it the ideal choice when very high-resolution rendering is needed for complex, retained-mode datasets. While this dissertation clears the way for sort-first implementation, there are still many opportunities for further exploration in this area.

      Munson, Jonathan P. (1997)
      "Synchronization in Collaborative Applications."
      Under the direction of Prasun Dewan

      Collaborative applications are designed to support the activities of a group of people engaged in a common task. When this task includes concurrent access to a common set of data, the application must synchronize the group's accesses so that they do not interfere with each other and leave the data in an inconsistent state. The application may employ a synchronization system to provide this control. We distinguish between consistency requirements, which are rules defined by the application and its users that specify which concurrent accesses are allowed and which are not, and consistency criteria, which are the rules synchronization systems use to enforce consistency requirements. A synchronization system's consistency criteria should prevent all concurrency not allowed by the application's consistency requirements, but, ideally, should not prevent concurrency that is allowed by an application's requirements.

      Since the consistency requirements of collaborative applications vary from one to another, a general-purpose synchronization system should have the flexibility to accommodate the consistency requirements of a wide range of applications. Moreover, access to this flexibility should be at as high a level as possible, to reduce the burden of synchronization policy specification that must fall upon application developers and users. Existing synchronization systems are either inflexible, offering fixed policies only, or are flexible but require extensive specification on the part of the application developers or users.

      Based on specific scenarios involving specific collaborative applications, we identify a comprehensive set of requirements for synchronization in collaborative systems that detail these needs for flexibility and ease of specification. We present a new synchronization model designed to fulfill these requirements better than existing systems. Our new model is based on two elements: (1) constructor-based object definition, which provides a set of high-level synchronization-aware types that may be hierarchically composed to construct new types, and (2) table-based, type-specific specification mechanisms whose defaults may be overridden on an individual-entry-basis by programmers and users. This approach gives programmers and users high flexibility in specifying the synchronization policy to be used for their application, while burdening them only incrementally with specification tasks. The model supports synchronization in both disconnected environments (logically or physically), and connected environments. An application can use both simultaneously to serve both connected and disconnected users.

      We describe two synchronization systems we developed based on our models, each fulfilling certain requirements not fulfilled by the other. We then describe our experiences with these systems in providing synchronization to five collaborative applications. Next we give a requirement-by-requirement evaluation of our systems and existing systems, showing that our system fulfills the flexibility and ease-of-specification requirements better than existing systems. Finally we present our conclusions and thoughts on future directions of this research.

      Nackman, Lee R. (1982)
      "Three-Dimensional Shape Description Using the Symmetric Axis Transform"
      Under the direction of Stephen M. Pizer
      Electronic copy available

      Blum's transform, variously known as the symmetric axis transform, medial axis transform, or skeleton, and his associated two-dimensional shape description methodology are generalized to three-dimensions. Bookstein's two-dimensional algorithm for finding an approximation to the symmetric axis is also generalized.

      The symmetric axis (SA) of an object with a smooth boundary is the locus of points inside the object having at least two nearest neighbors on the object boundary. In three dimensions, the SA is, in general, a collection of smooth surface patches, called simplified segments, connected together in a tree-like structure. Together with the radius function, the distance from each point on the SA to a nearest boundary point, the SA forms the symmetric axis transform. The three-dimensional symmetric axis transform defines a unique, coordinate-system-independent decomposition of an object into disjoint, two-sided pieces, each with its own simplified segment and associated object boundary patches.

      Four principal contributions are presented. (1) A relationship among the Gaussian and mean curvatures of a simplified segment, the Gaussian and mean curvatures of the associated object boundary patches, and radius function measures is derived. (2) A further decomposition is proposed wherein each two-sided piece is partitioned into primitives drawn from three separate, but not completely independent, primitive sets: width primitives, boundary primitives, and axis primitives. Width primitives are regions derived from derivatives of the radius function; hence, they capture the behavior of the boundary patches with respect to the simplified segment. Axis and boundary primitives are regions of constant signs of Gaussian and mean curvatures of the simplified segment and boundary patches respectively. The aforementioned curvature relationship is used to derive relationships among the primitive sets. (3) In the course of studying width primitives, it is proved that, under certain non-degeneracy assumptions, the regions of the graph defined by the critical points, ridge lines, and course lines of a scalar valued function over a surface have one of three types of cycle as boundary. (4) An almost linear algorithm that takes a polyhedral approximation to a three-dimensional object and yields a polyhedral surface approximation to that object's SA is developed.

      Narain, Rahul (2011)
      "Visual Modeling and Simulation of Multiscale Phenomena"
      Under the direction of Ming C. Lin
      Electronic copy available

      Many large-scale systems such as human crowds, fluids, and granular materials exhibit complicated motion at many different scales, from a characteristic global behavior to important small-scale detail. Such multiscale systems are computationally expensive for traditional simulation techniques to capture over the full range of scales. I present novel techniques for scalable simulation of these large, complex phenomena for visual computing applications. These techniques achieve their efficiency by coupling together separate models for the large-scale and fine-scale dynamics of a complex system.

      In fluid simulation, it remains a challenge to efficiently simulate fine details such as foam, ripples, and turbulence without compromising the accuracy of the large-scale flow. I present two techniques for this problem that combine physically-based numerical simulation for the global flow with efficient local models for detail. For surface features, I propose the use of texture synthesis, guided by the physical characteristics of the macroscopic flow. For turbulence in the fluid motion itself, I present a technique that tracks the transfer of energy from the mean flow to the turbulent fluctuations and synthesizes these fluctuations procedurally, allowing extremely efficient visual simulation of turbulent fluids.

      Another large class of problems which are not easily handled by traditional approaches is the simulation of very large aggregates of discrete entities, such as dense pedestrian crowds and granular materials. I present a technique for crowd simulation that couples a discrete model of individual navigation with a novel continuum formulation for the collective motion of pedestrians, enabling simulation of extremely large crowds at nearreal-time rates on commodity hardware. I also present a technique for simulating granular materials which generalizes this model and introduces a novel computational scheme for friction, thus efficiently reproducing a wide range of granular behavior.

      In all these cases, the proposed techniques are typically an order of magnitude faster than comparable existing methods. Through these applications to a diverse set of challenging simulation problems, I demonstrate that the proposed approach is a powerful and versatile technique for the simulation of a broad range of large, complex systems.

      Nashel, Andrew R. (2010)
      "Rendering and Display for Multi-Viewer Tele-Immersion"
      Under the direction of Henry Fuchs
      Electronic copy available

      Video teleconferencing systems are widely deployed for business, education and personal use to enable face-to-face communication between people at distant sites. Unfortunately, the two-dimensional video of conventional systems does not correctly convey several important non-verbal communication cues such as eye contact and gaze awareness. Tele-immersion refers to technologies aimed at providing distant users with a more compelling sense of remote presence than conventional video teleconferencing.

      This dissertation is concerned with the particular challenges of interaction between groups of users at remote sites. The problems of video teleconferencing are exacerbated when groups of people communicate. Ideally, a group tele-immersion system would display views of the remote site at the right size and location, from the correct viewpoint for each local user. However, is not practical to put a camera in every possible eye location, and it is not clear how to provide each viewer with correct and unique imagery.

      I introduce rendering techniques and multi-view display designs to support eye contact and gaze awareness between groups of viewers at two distant sites. With a shared 2D display, virtual camera views can improve local spatial cues while preserving scene continuity, by rendering the scene from novel viewpoints that may not correspond to a physical camera. I describe several techniques, including a compact light field, a plane sweeping algorithm, a depth dependent camera model, and video-quality proxies, suitable for producing useful views of a remote scene for a group local viewers.

      The first novel display provides simultaneous, unique monoscopic views to several users, with fewer user position restrictions than existing autostereoscopic displays. The second is a random hole barrier autostereoscopic display that eliminates the viewing zones and user position requirements of conventional autostereoscopic displays, and provides unique 3D views for multiple users in arbitrary locations.

      Navon, Jaime (1976)
      "Specification and Semi-Automated Verification of Coordination Protocols for Collaborative Software Systems"
      Under the direction of David Stotts

      Collaborative systems support groups of people working together towards a common goal. Cooperation, communication and coordination among the actors are necessary to perform collaborative work. Coordination involves the management of dependencies between activities through a set of interaction rules that control the execution of tasks over shared resources. Moreover, many times the requirements are such that coordination mechanisms must be updated at runtime.

      Although in the past decade many collaborative systems have been built, their coordination protocols are implicit, usually built-in and static. Not having a precise description of the collaboration protocol may produce unwanted behavior that goes undetected for a long time. In the same way that in a theater play a precise script must be written which specifies the moment and mode in which characters participate, collaborative systems (such as electronic meeting software) should have a precise description of all the coordination details: how many speak at a time, role of the moderator, etc.

      In order to better create computer supported collaborative systems we have developed techniques to express the associated coordination protocols in a precise manner so they can be analyzed, debugged and dynamically changed. We present a graphic language and formalism that allow us not only to describe and model coordination protocols, but also to perform automatic verification of these protocols through symbolic model checking techniques. We present examples of the use of these techniques in the context of multi-user hyperdocuments and floor control in meeting software. We also illustrate the broader applicability of the methods with an application to HTML frames.

      Neumann, Ulrich (1993)
      "Volume Reconstruction and Parallel Rendering Algorithms: A Comparative Analysis"
      Under the direction of Henry Fuchs
      Department of Computer Science Technical Report TR93-017
      Electronic copy available

      This work focuses on two issues of concern to designers and implementers of volume-rendering applications--finding the most efficient rendering method that provides the best image possible, and efficiently parallelizing the computation on multicomputers to render images as quickly as possible.

      Three volume rendering methods: ray casting, splatting, and volume shearing, are compared with respect to their reconstruction accuracy and computational expense. The computational expense of the rendering methods is modeled and measured on several workstations. The most-efficient rendering method of the three is found to be splatting. Three reconstruction-filter kernels are evaluated for their accuracy. Two error measurement methods are used. The first is image-based and uses a heuristic metric for measuring the difference between rendered images and reference images. The second method is analytical and uses a scale-space measure of feature size to compute an error bound as a function of feature size and sampling density. Of the three filter kernels tested, the separable cubic filter to found to produce the most-accurate reconstruction of the volume function.

      Parallel volume-rendering algorithms may be classified and described by the partitioning of tasks and data within the system. A taxonomy of algorithms is presented and the members are analyzed in terms of their communication requirements. Three optimal algorithm-classes are revealed: image partitions with both static and dynamic data distributions, and object partitions with contiguous dynamic block data distributions. Through analysis and experimental tests, a 2D mesh network-topology is shown to be sufficient for scaleable performance with an object-partition algorithm when the image size is kept constant. Furthermore, the network-channel bandwidth-requirement actually decreases as the problem is scaled to a larger system and volume data size.

      Implementations on Pixel-Planes 5 and the Touchstone Delta demonstrate and verify the scalability of object partitions. As part of these implementations, a new load balancing approach is demonstrated for object-partition algorithms.

      Nie, Xumin (1989)
      "Automatic Theorem Proving In Problem Reduction Formats"
      Under the direction of David A. Plaisted
      Department of Computer Science Technical Report TR89-044
      Electronic copy available

      This thesis explores several topics concerning the sequent-style inference system - the modified problem reduction format. Chapter 1 is the introductory chapter. In Chapter 2, we will present how caching is performed with the depth first iterative deepening search to implement the modified problem reduction format, in order to avoid the repeated work involved in solving a subgoal more than once. In Chapter 3, we present the formalization of goal generalization and how it is implemented by augmenting the modified problem reduction format, where goal generalization is a special case of Explanation-Based Generalization in maching learning. In Chapter 4, we will present how subgoal reordering is performed in the modified problem reduction format and how it is implemented. In Chapter 5 and Chapter 6, we will present two refinements to the depth-first iterative deepening search strategy in the implementation. The first refinement, the priority system concerns how to incorporate the use of priority of subgoals into the depth-first iterative deepening search. We show that the time complexity of the priority systems is within a constant factor of the complexity of the depth-first iterative deepening search. The second refinement is based on a syntactic viewpoint of proof development, which views the process of finding proofs as an incremental process of constructing instances with a certain property. In Chapter 7, we present how semantics, or domain dependent knowledge, can be used in the inference system. In particular, we will present a semantic variant of the modified problem reduction format which selects its inference rules from any interpretation. This results in an inference system which is a true set-of-support strategy and allows back chaining. We will also discuss how contrapositives are used in the modified problem reduction format and its semantic variant. We will show that only some contrapositives are needed according to some interpretation.

      Nomura, Kunihiko (1974)
      "Stochastic Models for Systems of Multiple Integrated Processors"
      Under the direction of Victor L. Wallace

      Numerical solution of Markovian models provides an approach to the analysis of the stochastic behavior of computer systems. Such analysis is essential to evaluation of performance. The numerical approach frequently represents a middle ground in both cost and power between closed form solution of queueing-theoretic models and Monte Carlo simulation.

      A two-stage numerical method for the analysis of the equilibrium behavior of a class of closed queueing network models is developed. The class of queueing networks to which it applies frequently occurs in investigations of computer congestion problem and often have no known closed form solution.

      The method developed, called here a "shifted Gauss-Seidel" method, is an adaptation of the Gauss-Seidel method to homogeneous systems of equations. Convergence theory for this method and several and several alternative methods is presented, indicating the desirability of the method.

      The method is applied to an analysis of a model for systems of multiple integrated processors, and performance compared to a more conventional architecture. Several important conjectures about the conditions for effective use of such systems are produced.

      Oguz, Ipek (2009)
      "Groupwise Shape Correspondence with Local Features"
      Under the direction of Martin Styner
      Electronic copy available

      Statistical shape analysis of anatomical structures plays an important role in many medical image analysis applications such as understanding the structural changes in anatomy in
      various stages of growth or disease. Establishing optimally accurate correspondence across object populations is essential for such statistical shape analysis studies. However, anatomical correspondence is rarely a direct result of spatial proximity of sample points but rather depends on many other features such as local curvature, position with respect to blood vessels, or connectivity to other parts of the anatomy.

      This dissertation presents a novel method for computing point-based correspondence among populations of surfaces by combining spatial location of the sample points with non-spatial local features. A framework for optimizing correspondence using arbitrary local features is developed. The performance of the correspondence algorithm is objectively assessed using a set of evaluation metrics.

      The main focus of this research is on correspondence across human cortical surfaces. Statistical analysis of cortical thickness, which is key to many neurological research problems, is the driving problem. I show that incorporating geometric (sulcal depth) and nongeometric (DTI connectivity) knowledge about the cortex significantly improves cortical correspondence compared to existing techniques. Furthermore, I present a framework that is the first to allow the white matter fiber connectivity to be used for improving cortical correspondence.

      Ohbuchi, Ryutarou (1994)
      "Incremental Acquisition and Visualization of 3D Ultrasound Images"
      Under the direction of Henry Fuchs
      Department of Computer Science Technical Report TR95-023
      Electronic copy available

      This dissertation describes work on 3D visualization of ultrasound echography data. The future goal of this research is the in-place volume visualization of medical 3D ultrasound images acquired and visualized real-time. For example, using such a system, a doctor wearing a special glasses would see a volume-visualized image of the fetus in the mother's abdomen. This dissertation discusses two feasibility study systems that have been developed in order to push the state of the art toward this goal. The work on the first system, the static viewpoint 3D echography system, shows that it is possible with current graphics hardware to visualize, at an interactive rate, a stationary object from a series of 2D echography image slices hand-guided with 3 degrees-of-freedom. This work includes development of an incremental volume reconstruction algorithm for irregularly spaced samples and development of an efficient volume visualization algorithm based on a spatial bounding technique. The work on the second system, the dynamic viewpoint 3D echography system, shows the feasibility of a system that uses a video see-through head-mounted display to realize in-place visualization of ultrasound echography datasets.

      Olano, T. Marc (1998)
      "A Programmable Pipeline for Graphics Hardware"
      Under the direction of Anselmo A. Lastra
      Electronic copy available

      This dissertation demonstrates user-written procedures on an interactive graphics machine. Procedural shading is a proven technique for off-line rendering, and has been effectively used for years in commercials and movies. During most of that time, polygon-per-second performance has been a major focus for graphics hardware development. In the last few years, we have seen increased attention on surface shading quality for graphics hardware, principally image- based texture mapping. Today, even low-end PC products include support for image textures. The PixelFlow graphics machine demonstrates that techniques like procedural shading are possible at interactive rates. PixelFlow is the first machine to run, at real-time rates of 30 frames per second, procedural shaders written in a high-level shading language.

      A graphics machine like PixelFlow is a large and complex device. An abstract pipeline is presented to model the operation of this and other interactive graphics machines. Each stage of the pipeline corresponds to one type of procedure that can be written by the graphics programmer. Through the abstract pipeline, the user can write shading procedures or procedures for other graphics tasks without needing to know the details of the machine architecture. We also provide a special-purpose language for writing some of these procedures. The special-purpose language hides more details of the machine implementation while enabling optimizations that make execution of the procedures possible.

      Oliveira Neto, Manuel Menezes de (2000)
      "Relief Texture Mapping"
      Under the direction of Gary Bishop
      Department of Computer Science Technical Report TR00-009
      Electronic copy available

      We present an extension to texture mapping that supports the representation of 3-D surface details and view motion parallax. The results are correct for viewpoints that are static or moving, far away or nearby. In this approach, a relief texture (texture extended with an orthogonal displacement per texel) is mapped onto a polygon using a two-step process. First, it is converted into an ordinary texture using a surprisingly simple 1-D forward transform. The resulting texture is then mapped onto the polygon using standard texture mapping. The 1-D warping functions work in texture coordinates to handle the parallax and visibility changes that result from the 3-D shape of the displacement surface. The subsequent texture-mapping operation handles the transformation from texture to screen coordinates.

      The pre-warping equations have a very simple 1-D structure that enables the pre-warp to be implemented using only 1-D image operations along rows and columns and requires interpolation between only two adjacent texels at a time. This allows efficient implementation in software and should allow a simple and efficient hardware implementation. The texture-mapping hardware already very common in graphics systems efficiently implements the final texture mapping stage of the warp.

      We demonstrate a software implementation of the method and show that it significantly increases the expressive power of conventional texture mapping. It also dramatically reduces the polygonal count required to model a scene, while preserving its realistic look. This new approach supports the representation and rendering of three-dimensional objects and immersive environments, and naturally integrates itself with popular graphics APIs. An important aspect of this research is to provide a framework for combining the photo-realistic promise of image-based modeling and rendering techniques with the advantages of polygonal rendering.

      Omojokun, Olufisayo (2006)
      "Interacting with Networked Devices"
      Under the direction of Prasun Dewan
      Electronic copy available

      Networking technology has become applicable in domains beyond the conventional computer. One such domain currently receiving a significant amount of research attention is networking arbitrary devices such as TVs, refrigerators, and sensors. In this dissertation, we focus on the following question: how does an infrastructure deploy a user-interface for a single device or a composition of several ones?

      We identify and evaluate several deployment approaches. The evaluation shows the approach of automatically generating device user-interfaces 'on the fly' as particularly promising since it offers low programming/maintenance costs and high reliability. The approach, however, has the important limitation of taking a long time to create a userinterface.  It is our thesis that it is possible to overcome this limitation and build graphical and speech user-interface generators with deployment times that are as low as the inherently fastest approach of locally loading predefined code. Our approach is based on user-interface retargeting and history-based generation. User-interface retargeting involves dynamically mapping a previously generated user-interface of one device to another (target) device that can share the user-interface. History-based generation predicts and presents just the content a user needs in a device's user-interface based on the user's past behavior. By filtering out unneeded content from a screen, it our thesis that history-based generation can also be used to address the issue of limited screen space on mobile computers.

      The above ideas apply to both single and multiple device user-interfaces. The multidevice case also raises the additional issue of how devices are composed. Current infrastructures for composing devices are unsuccessful in simultaneously providing highiv level and flexible support of all existing composition semantics. It is our thesis that it is possible to build an infrastructure that: (1) includes the semantics of existing high-level infrastructures and (2) provides higher-level support than all other infrastructures that can support all of these semantics. Such an infrastructure requires a composition framework that is both data and operation oriented. Our approach is based on the idea of patternbased composition, which uses programming patterns to extract data and operation information from device objects. This idea is used to implement several abstract algorithms covering the specific semantics of existing systems.

      Omondi, Amos R. (1990)
      "Architecture and Implementation of a Parallel Machine for Imperative and Nondeterministic Functional Languages"
      Under the direction of David A. Plaisted

      This dissertation is a study in computer architecture and implementation. The driving problem is the need to implement both nondeterministic functional languages and procedural languages on a single conventional architecture. The choice of the problem was determined by the increasing importance of suitable languages for parallel symbolic computation, and the search for efficient parallel architectures for such languages. This search is currently manifested in the many proposals and implementations of "fifth generation" architectures, which are targeted primarily at functional and logic programming languages. However, in spite of much work that has been done in these areas, functional languages are still not very widely used and much work remains to be done in implementing them.

      The implementation of such languages on conventional machines has been rejected in many places, and many of the architectures mentioned above represent radical departures from the well-developed von Neumann style, which has served so well for so long. Such departures are frequently justified either on the grounds that the bases of the von Neumann architecture inherently impose limitations on the implementations (and hence on the attainable efficiency and performance), or on the grounds that essential aspects of these languages call for architecture and implementation features that are absent in the von Neumann model, and whose absence dooms to inefficiency of poor performance an implementation of such a language on a conventional machine.

      We believe that for functional languages to achieve widespread use two things will have to happen. First, these languages will have to incorporate more nondeterministic features in order to compete with logic programming languages in the areas of symbolic computation. Second, they will have to be implemented on conventional machines, either on their own or integrated with procedural languages. We believe that the requirements of functional language features can be satisfied through careful architectural design. We also believe that the techniques that have been used to enhance the performance and efficiency of conventional machines have as yet not been exploited to their full potential, and that doing so will correct many of the perceived performance difficulties. This work is the result of an investigation into suitable architectures, and corresponding high-performance implementations.

      Otaduy Tristan, Miguel A. (2004)
      "6-DoF Haptic Rendering Using Contact Levels of Detail and Haptic Textures"
      Under the direction of Ming C. Lin
      Electronic copy available

      Humans use tactile and force cues to explore the environment around them and to identify and manipulate objects. An ideal human-machine interface for virtual environments should empower the user to feel and orient objects by providing force feedback. The synthesis of force and torque feedback arising from object-object interaction, commonly referred to as six-degree-of-freedom (6-DoF) haptic rendering, can greatly benefit many applications involving dexterous manipulation and complex maneuvering of virtual objects. Examples of such applications include assembly and disassembly operations in rapid prototyping, endoscopic surgical training, and virtual exploration with limited visual feedback. However, existing techniques for 6-DoF haptic rendering are applicable only to relatively simple contact configurations or low-complexity models.

      In this dissertation, I propose a novel approach for 6-DoF haptic rendering that combines multiresolution representations, hierarchical collision detection algorithms, and perception-based force models. This approach enables 6-DoF haptic rendering of interaction between two polygonal models of high combinatorial complexity. I introduce contact levels of detail, a collision detection algorithm based on multiresolution hierarchies for performing contact queries between complex models at force update rates, by adaptively selecting the appropriate contact resolutions. I also present a new algorithm for 6-DoF haptic rendering of intricate interaction between textured surfaces, based on a perceptually inspired force model and the representation of the objects as low-resolution models with haptic textures. Finally, I derive a novel implicit formulation for computing rigid body dynamics with haptic interaction, and I integrate all these techniques together, thereby achieving stable and responsive 6-DoF haptic rendering.

      Ott, David (2005)
      "An Open Architecture for Transport-Level Coordination in Distributed Multimedia Application"
      Under the direction of Ketan Mayer-Patel
      Electronic copy available

      Complex multimedia applications of the future will employ clusters of computing hosts and devices where single endpoint hosts once sufficed. Communication between clusters will require an increasing number of data flows as new media types and sophisticated modes of interactivity continue to be developed.

      With an increase in the number of data flows sharing the same forwarding path comes a need for coordinated use of network resources. Unfortunately, modern transport protocols like TCP, UDP, SCTP, TFRC, DCCP, etc. are designed to operate independently and lack mechanisms for sharing information with peer flows and coordinating data transport within the same application.

      In this dissertation, we propose an open architecture for data transport that supports the exchange of network state information, peer flow information, and application-defined information among flows sharing the same forwarding path between clusters. Called simply the Coordination Protocol (CP) , the scheme facilitates coordination of network resource usage across flows belonging to the same application, as well as aiding other types of coordination.

      We demonstrate the effectiveness of our approach by applying CP to the problem of multi-streaming in 3D Tele-immersion (3DTI). Laboratory results show that CP can be used to significantly increase transport synchrony among video streams while, at the same time, minimizing buffering delay, maintaining good network utilization, and exhibiting fairness to TCP traffic competing on the same forwarding path. Experiments on the Abilene backbone network verify these results in a scaled, uncontrolled environment.

      Ouh-young, Ming (1990)
      "Force Display in Molecular Docking"
      Under the direction of Frederick P. Brooks, Jr.
      Department of Computer Science Technical Report TR90-004
      Electronic copy available

      We have developed a real-time computer-graphics system that uses a master station of a remote manipulator system as a 6-D force and torque display. This manipulator system, a graphics engine (E&S PS300 graphics engine, or Fuchs' Pixel-planes), stereoscopic display, and high-speed calculation of the interaction forces between a drug and its receptor site, constitute a tool for molecular docking. When the drug molecule is maneuvered by the user's hand, the manipulator serves both as an input device with six degrees of freedom and as an output device for displaying force and torque. My work studied the creation, analysis, and evaluation of the illusion of feel, supplemented with visual illusion.

      My thesis is that adding force display to an interactive computer graphics system can significantly help in molecular docking problems in terms of task completion time.

      To demonstrate my hypothesis, I conducted two experiments. The first experiment tied six randomly located springs to both ends of a 6" stick. The subjects (seven graduate students) tried to find the null-force position. The experimental results corroborated my hypothesis (p < 0.01). Performance gains by about a factor of two were observed.

      The second experiment simulated the interaction forces between the dihydrofolate reductase enzyme (600 atoms) and six drugs (40 to 60 atoms each). Twelve biochemists tried to dock the drugs into the enzyme including deforming the drugs by bond-twisting. The experimental results corroborated (p < 0.05) my hypothesis in the 6-D rigid-body manipulation component of the task. There was, however, no significant difference in the case of the one-degree-of-freedom bond-rotations component. Overall task-completion time with force-feedback was improved, but the difference was not significant.

      Limited case-by-case studies show that the subjects using the current ARM system are not only docking faster but also getting more precise docking results than those using the Ellipsoid algorithm (one of the best algorithms to date), both in the number of well-formed hydrogen bonds and in displacements.

      Palmer, Daniel W. (1996)
      "Efficient Execution of Nested Data-Parallel Programs"
      Under the direction of Jan F. Prins

      Data parallelism is the independent application of an operation to all elements of a data-aggregate. Nested data parallelism, a fully general form of data parallelism, permits arbitrary functions to be applied to nested data-aggregates (whose elements can themselves be aggregates). Though nested data parallelism is recognized as an important technique for expressing complex computations, it has proven difficult to execute in parallel. Blelloch and Sabot made key progress on this problem with the development of a technique called flattening that generates parallel vector operations for a large but restricted set of nested data parallel programs. In our work, we formalize flattening as a series of program transformations, and then use this framework to extend the flattening technique to include two important classes of previously excluded programs: those with parallel index operations and those with very large memory requirements.

      We accommodate the first class of programs with a new algorithm for parallel indexing, called node-extended indexing. This algorithm allows flattening of programs that contain arbitrary parallel indexing operations and helps establish uniform source-level performance metrics for such programs. We report on the performance of the technique on various parallel platforms.

      Flattening realizes all available parallelism in a nested data-parallel program by trading execution time for storage space independent of machine characteristics. Thus a program in the second class contains available parallelism that exceeds the memory resources of the targeted architecture and therefore cannot execute. The technique of piecewise execution partially serializes a transformed program and reduces its parallelism to match the memory capacity of a target machine without creating a load-imbalance. Taken together, these two approaches enhance the flattening technique, making it applicable to a larger class of nested data-parallel programs.

      Pan, Feng (2009)
      "Efficient Algorithms in Analyzing Genomic Data"
      Under the direction of Wei Wang
      Electronic copy available

      With the development of high-throughput and low-cost genotyping technologies, immense data can be cheaply and efficiently produced for various genetic studies. A typical dataset may contain hundreds of samples with millions of genotypes/haplotypes. In order to prevent data analysis from becoming a bottleneck, there is an evident need for fast and efficient analysis methods.

      My thesis focuses on the following two important genetic analyzing problems: 1) Genome-wide Association mapping. The goal of genome wide association mapping is to identify genes or narrow regions in the genome which have significant statistical correlations to the given phenotypes. The discovery of these genes offers the potential for increased understanding of biological processes affecting phenotypes such as body weight and blood pressure. 2) Sample selection for maximal Genetic Diversity. Given a large set of samples, it is usually more efficient to first conduct experiments on a small subset. Then the following question arises: What subset to use? There are many experimental scenarios where the ultimate objective is to maintain, or at least maximize, the genetic diversity within relatively small breeding populations.

      In my thesis, I developed efficient and effective algorithms to address these problems: 1) Phylogeny-based Genom-wide association mapping, TreeQA and TreeQA+. TreeQA uses local perfect phylogeny tree in genome wide analysis for genotype/phenotype association mapping. Samples are partitioned according to the sub-trees they belong to. The association between a tree and the phenotype is measured by some statistic tests. TreeQA+ inherits all the advantages of TreeQA. Moreover, it improves TreeQA by incorporating sample correlations into the association study. 2) Sample selection for maximal genetic diversity. In biallelic SNP Data, samples are selected based on their genetic diversity among a set of SNPs. Given a set of samples, the algorithms search for the minimum subset that retains all diversity (or a high percentage of diversity). For more general data (non-biallelic), information-theoretic measurements such as entropy and mutual information are used to measure the diversity of a sample subset. Samples are selected to maximize the original information retained..

      Paramasivam, Muthukrishnan (1997)
      "Instance-Based First-Order Methods Using Propositional Provers."
      Under the direction of David A. Plaisted

      Early refutational theorem proving procedures were direct applications of Herbrand's version of the completeness theorem for first-order logic. These instance-based theorem provers created propositional instances of the first-order clauses to be proved unsatisfiable, and tested the instances on a propositional calculus prover. This methodology was not pursued for several decades as it was thought to be too slow. Moreover, the invention of the resolution inference rule changed the direction of theorem proving forever. The success of resolution was largely due to unification. Recently, unification has been incorporated in creating instances of first-order clauses. Furthermore, high-performance propositional calculus provers have been developed in the past few years. As a result, it is possible to realize effective instance-based first-order methods for several applications.

      We describe the design of instance-based methods for three different purposes. First, RRTP is a theorem prover based on the idea of replacing predicates with their definitions. We compare its performance with some state-of-the-art theorem provers. Second, we describe a proof procedure for Horn theories. The proof procedure creates instances of the input clauses by backward chaining and reasons forward among the instances to find the proof. Third, we describe the construction of a finite-model finder. Finally, we describe the application of the theorem prover and the model finder on an application--description logics. We show by empirical means that, contrary to general belief, theorem provers compare well with specialized application-specific techniques for description logics.

      Parente, Peter (2008)
      "Clique: Perceptually Based, Task Oriented Auditory Display for GUI Applications"
      Under the direction of Gary Bishop
      Electronic copy available

      Screen reading is the prevalent approach for presenting graphical desktop applications in audio. The primary function of a screen reader is to describe what the user encounters when interacting with a graphical user interface (GUI). This straightforward method allows people with visual impairments to hear exactly what is on the screen, but with significant usability problems in a multitasking environment. Screen reader users must infer the state of on-going tasks spanning multiple graphical windows from a single, serial stream of speech.

      In this dissertation, I explore a new approach to enabling auditory display of GUI programs.  With this method, the display describes concurrent application tasks using a small set of simultaneous speech and sound streams. The user listens to and interacts solely with this display, never with the underlying graphical interfaces. Scripts support this level of adaption by mapping GUI components to task definitions. Evaluation of this approach shows improvements in user efficiency, satisfaction, and understanding with little development effort.

      To develop this method, I studied the literature on existing auditory displays, working user behavior, and theories of human auditory perception and processing. I then conducted a user study to observe problems encountered and techniques employed by users interacting with an ideal auditory display: another human being. Based on my findings, I designed and implemented a prototype auditory display, called Clique, along with scripts adapting seven GUI applications. I concluded my work by conducting a variety of evaluations on Clique. The results of these studies show the following benefits of Clique over the state of the art for users with visual impairments (1-5) and mobile sighted users (6):

      1. Faster, accurate access to speech utterances through concurrent speech streams.
      2. Better awareness of peripheral information via concurrent speech and sound streams.
      3. Increased information bandwidth through concurrent streams.
      4. More efficient information seeking enabled by ubiquitous tools for browsing and searching.
      5. Greater accuracy in describing unfamiliar applications learned using a consistent, task-based user interface.
      6. Faster completion of email tasks in a standard GUI after exposure to those tasks in audio.

      Pargas, Roy P. (1982)
      "Parallel Solution of Elliptic Partial Differential Equations On a Tree Machine"
      Under the direction of Gyula A. Mago
      Electronic copy available

      The numerical solution of elliptic partial differential equations (pde's) can often be reduced to the solution of other relatively simple problems, such as solving tridiagonal systems of equations and low-order recurrence relations. This thesis describes elegant and efficient tree machine algorithms for solving a large class of these simpler problems, and then uses these algorithms to obtain numerical solutions of elliptic partial pde's using methods of finite differences.

      The tree machine model on which this work is based contains data only in the leaf cells of a complete binary tree of processors; one leaf cell typically holds all information pertinent to one point of the rectangular mesh of points used by the method of finite differences. An algorithm is described for communication among leaf cells using shortest paths; other algorithms are exhibited that find the first n terms of the solution to several classes of recurrence expressions in O(log n) time.

      The communication and recurrence expression tree algorithms are used to describe algorithms to solve (n x n) tridiagonal linear systems of equations. A number of direct methods are shown to require O(log n) time, whereas other direct methods require O((log n)²) time. Iterative methods are shown to require O(log n) time per iteration. The asymptotic complexity of both direct and iterative methods implemented on sequential, vector, array, and tree processors are compared.

      The tridiagonal linear system solvers and the communication algorithms are used to describe algorithms to solve (n² x n²) block-tridiagonal linear systems iteratively. Both point iterative and block iterative methods are shown to require O(n) time per iteration. Alternating direction implicit methods require O(n log n) time per iteration. The asymptotic complexity of methods implemented on sequential, vector, array, and tree processors are again compared.

      Parker, Erin (2004)
      "Analyzing the Behavior of Loop Nests in the Memory Hierarchy: Methods, Tools and Applications"
      Under the direction of Siddhartha Chatterjee
      Electronic copy available

      Processor speeds are improving at a much faster rate than the speeds of accessing main memory. As a result, data access time dominates the execution times of many programs.  Understanding the behavior of programs executing in a memory hierarchy is therefore an important part of improving program performance. This dissertation describes an analytical framework for understanding the behavior of loop-oriented programs executing in a memory hierarchy. The framework has three components: 1) an alternative classification of cache misses that makes it possible to obtain the exact cache behavior of a sequence of program fragments by combining the cache behavior of the individual fragments; 2) the use of Presburger arithmetic to model data access patterns and describe events such as cache misses; and 3) algorithms exploiting the connection among Presburger arithmetic, automata theory, and graph theory to produce exact cache miss counts.

      The analytical framework presented in this dissertation goes beyond existing analytical frameworks for modeling cache behavior: it handles set-associative caches, data cache and translation lookaside buffer (TLB) misses, imperfect loop nests, and nonlinear array layouts in an exact manner. Experiments show both the framework's value in the exploration of new memory system designs and its usefulness in guiding code and data transformations for improved program performance.

      Parris, Mark A. (2001)
      "Class-Based Thresholds: Lightweight Active Router-Queue Management for Multimedia Networking"
      Under the direction of Kevin Jeffay
      Electronic copy available

      In the best-effort Internet, congestion can cause severe degradations in the performance of both reliable data transfer flows and multimedia flows. These reliable data transfers are typically based on TCP, a responsive protocol. Responsive protocols are those that respond to congestion by reducing the rate at which they transmit data. This behavior is desirable because when all traffic is responsive, the traffic sources cooperate to ameliorate congestion by arriving at an aggregate operating point where the generated load matches the available capacity. In contrast, multimedia applications are typically based on unresponsive protocols, such as UDP, where the transmission rate is determined by the application, independent of network conditions. There exists a fundamental tension between these responsive and unresponsive protocols. When both traffic types are present during periods of congestion, unresponsive traffic maintains its load, forcing responsive traffic to reduce its load. Consequently, unresponsive traffic may benefit from this behavior and consume more than its fair share of the available bandwidth while responsive flows receive less than their fair share and suffer poor throughput. In the extreme, congestion collapse is possible. This offers a disincentive for using responsive protocols.

      Recent proposals have attempted to address this problem by isolating responsive traffic from the effects of unresponsive traffic. They achieve this goal by identifying and severely constraining all unresponsive traffic. We take the position that some unresponsive traffic, specifically multimedia, is necessarily unresponsive. Maintaining the fidelity of the media stream places bounds on minimum levels of throughput and maximum tolerable latency. Since responsive protocols focus on reducing the transmission rate to match the available capacity independent of application-level concerns, these bounds may be difficult or impossible to meet with responsive protocols. As such, we argue that in addition to isolating responsive traffic, multimedia should not be unduly constrained and must also be isolated from the effects of other unresponsive traffic. In this dissertation we propose and evaluate a novel algorithm to allocate network bandwidth by allocating buffer space in a router's queue. This algorithm is called Class-Based Thresholds (CBT). We define a set of traffic classes: responsive (i.e., TCP), multimedia, and other. For each class a threshold is specified that limits the average queue occupancy by that class. In CBT, when a packet arrives at the router it is classified into one of these classes. Next, the packet is enqueued or discarded depending on that class's recent average queue occupancy relative to the class's threshold value. The ratio between the thresholds determines the ratio between the bandwidth available to each class on the outbound link.

      CBT and other router queue management algorithms from the literature (FIFO, RED, and FRED) are implemented in a FreeBSD router and evaluated in a laboratory network using several combinations of TCP, multimedia, and generic unresponsive traffic. We show that CBT can be tuned to offer prescribed levels of performance for each traffic class. We present analysis that predicts network performance when using CBT based on initial configuration parameters, explain how this analysis can be reversed to derive optimal parameter settings given desired network performance, and empirically demonstrate the accuracy of this analysis. We present experimental data that contributes to our understanding of how existing queue management schemes perform, articulate relationships between parameters and performance metrics, and determine optimal parameter settings for each algorithm under various traffic mixes. We empirically demonstrate that CBT effectively isolates TCP while providing better-than-best-effort service for multimedia by comparing CBT's performance to the optimal performance for other algorithms. Finally, we show CBT provides better protection for TCP than RED and FIFO and better multi-media performance than RED, FIFO, and FRED.

      Partain, William D. (1989)
      "Graph Reduction Without Pointers"
      Under the direction of Gyula A. Mago
      Department of Computer Science Technical Report TR89-045
      Electronic copy available

      Graph reduction is one way to overcome the exponential space blow-ups that simple normal-order evaluation of the lambda-calculus is likely to suffer. The lambda-calculus underlies lazy functional programming languages, which offer hope for improved programmer productivity based on stronger mathematical underpinnings. Because functional languages seem well-suited to highly-parallel machine implementations, graph reduction is often chosen as the basis for these machines' designs.

      Inherent to graph reduction is a commonly-accessible store holding nodes referenced through "pointers," unique global identifiers; graph operations cannot guarantee that nodes directly connected in the graph will be in nearby store locations. This absence of locality is inimical to parallel computers, which prefer isolated pieces of hardware working on self-contained parts of a program.

      In this dissertation, I develop an alternate reduction system using "suspensions" (delayed substitutions), with terms represented as trees and variables by their binding indices (de Bruijn numbers). Global pointers do not exist and all operations, except searching for redexes, are entirely local. The system is provably equivalent to graph reduction, step for step. I show that if this kind of interpreter is implemented on a highly-parallel machine with a locality-preserving, linear program representation and fast scan primitives (an FFP Machine is an appropriate architecture) then the interpreter's worst-case space complexity is the same as that of a graph reducer (that is, equivalent sharing), and its time complexity falls short on only one unimportant case. On the other side of the ledger, graph operations that involve chaining through many pointers are often replaced with a single associative-matching operation. What is more, this system has no difficulty with free variables in redexes and is good for reduction to full beta-normal form.

      These results suggest that non-naive tree reduction is an approach to support functional programming that a parallel-computer architect should not overlook.

      Peck, Tabitha (2010)
      "Redirected Free Exploration with Distractors: A Large-Scale Real-Walking Locomotion Interface"
      Under the direction of Mary Whitton & Henry Fuchs
      Electronic copy available

      Immersive VEs enable user controlled interactions within the environment such as head-controlled point-of-view and user-controlled locomotion. In the real world people usually locomote by walking; walking is simple and natural, and enables people not only to move between locations, but also to develop cognitive maps, or mental representations, of environments. People navigate every day in the real world without problem, however users navigating VEs often become disoriented and frustrated, and find it challenging to transfer spatial knowledge acquired in the VE to the real world.

      In this dissertation I develop and demonstrate the effectiveness of a new locomotion interface, Redirected Free Exploration with Distractors (RFED) that enables people to freely walk in large scale VEs. RFED is the combination of distractors, objects, sounds, or combinations of objects and sounds in the VE that encourage people to turn their heads, and redirection, making the user turn herself by interactively and imperceptibly rotating the virtual scene about her while she is turning her head. I demonstrate through user studies that compare RFED to a real-walking locomotion interface that RFED does not diminish user ability to navigate. I further demonstrate that users navigate better in RFED than with joystick and walking-in-place locomotion interfaces. Additionally, RFED does not significantly increase simulator sickness when compared to real walking, walking-in-place, and joystick interfaces

      Pfannenstiel, Wolf (2000)
      (Technische Universitat Berlin)
      "Piecewise Execution of Nested Data Parallel Programs"
      Under the direction of S. Jaehnichen, Technische UniversitäBerlin, and Jan F. Prins
      (No UNC-Chapel Hill library copy)

      Nested data parallelism is an expressive high-level parallel programming model. Nested data-parallel languages are characterized by nested aggregate types, and the ability to specify nested data- parallel operations. The flattening transformation is used to compile nested data-parallel programs to use a library of simple vector operations. However, since all parallelism is preserved, the vector operations lead to high space requirements as well as high bandwidth requirements.

      In this thesis, we propose using piecewise execution as a way to reduce space and bandwidth requirements. Piecewise execution breaks down the monolithic view of vector operations. Instead, each operation processes pieces of only constant size at any one time. Operations must therefore be activated multiple times in order to consume their complete input and produce all their output. In the optimal case, the whole computation can work on pieces such that, for each vector, only a piece of constant size is stored in the memory at any one time.

      We propose two piecewise evaluation strategies featuring opposite ways of scheduling the activations of operations. We develop a cost- effective parallel implementation for piecewise execution based on multiple threads. The implementation targets distributed-memory architectures but can easily take advantage of shared-memory architectures. Piecewise execution can be seamlessly combined with other execution modes such as full vector operations.

      We conduct an analysis of the space bounds of piecewise execution and show that it can actually increase the space requirements of programs. It is, in general, impossible to predict the space behavior of piecewise execution statically. However, we identify critical program structures and conditions for the use of piecewise execution. The results can be exploited for optimizations in the compilation process.

      We show by case studies that piecewise execution can improve both space and time performance of typical programs. Improved time performance is achieved by choosing a piece size that matches the processors' data-cache size. We show how it can be combined with loop-fusion techniques, which are probably the most successful optimizations for collection-based programs. Unlike local optimizations like loop fusion, piecewise execution can be applied across boundaries such as (recursive) function calls and communication operations. We suggest a number of optimizations for piecewise execution and demonstrate their usefulness in the case studies.

      Finally, we identify and discuss a number of potential application areas other than nested data parallelism for piecewise execution.

      Popelas, Judy M. (1983)
      "A Case Grammar Approach to Error Correction in Computer Programs"
      Under the direction of Peter Calingaert

      This dissertation describes a programming language grammar and a corresponding analysis method based on the use of attribute and significant keyword information. The grammar is referred to as a case grammar, and the analysis method as case analysis. Their use results in a significant ability to correct syntactic errors in computer programs.

      A case grammar defines a programming language in terms of its objects, and its objects in terms of their attributes. It consists of two parts. The first part, the access form dictionary, defines ways of accessing objects in the language in terms of other objects in the language. For example, a Pascal set literal can be accessed by specifying the zero or more set elements that compose it. The second part of a case grammar, the verb dictionary, specifies the objects required by each verb of the language, and the functional or case relationship of each object to its verb. The Pascal assignment verb, for example, requires two objects, the first a recipient and the second a donor. The donor case relationship is explicitly indicated by the terminal symbol ':=' that precedes the donor object. Entries in the verb and access form dictionaries are referred to as case and form frames, respectively. Case grammars are capable of a complete syntactic definition of any context-free programming language.

      The case analysis algorithm retrieves appropriate case or form frames, puts them on a stack, and matches the next object in the program text to an object requirement in the topmost frame. Frames are often established absolutely, on the basis of significant programming language tokens (keywords) in the program text. In matching an object to a particular object requirement in a frame, the analysis algorithm considers the object's attributes, as well as its position, punctuation context, and preceding keyword, it any. The case analysis algorithm is shown to work correctly for correct program text.

      The error correction performance of the case analysis algorithm compares favorably with the performance of other recently proposed error correction schemes.

      Popescu, Voicu S. (2001)
      "Forward Rasterization: A Reconstruction Algorithm for Image-Based Rendering"
      Under the direction of Anselmo A. Lastra
      Department of Computer Science Technical Report TR96-019
      Electronic copy available

      In a recent alternative research path for interactive 3D graphics, the scene to be rendered is described with images. Image-based rendering (IBR) is appealing since natural scenes, which are very difficult to model conventionally, can be acquired semi-automatically using cameras and other devices. Also IBR has the potential to create high-quality output images if the rendering stage can preserve the quality of the reference images (photographs). One promising IBR approach enhances the images with per-pixel depth. This allows reprojecting or warping the color-and-depth samples from the reference image to the desired image. Image-based rendering by warping (IBRW) is the focus of this dissertation.

      In IBRW, simply warping the samples does not suffice for high-quality results because one must reconstruct the final image from the warped samples. This dissertation introduces a new reconstruction algorithm for IBRW. This new approach overcomes some of the major disadvantages of previous reconstruction methods. Unlike the splatting methods, it guarantees surface continuity and it also controls aliasing using a novel filtering method adapted to forward mapping. Unlike the triangle-mesh method, it requires considerably less computation per input sample, reducing the rasterization-setup cost by a factor of four.

      The algorithm can be efficiently implemented in hardware and this dissertation presents the WarpEngine, a hardware architecture for IBRW. The WarpEngine consists of several identical nodes that render the frame in a sort-first fashion. Sub-regions of the depth images are processed in parallel in SIMD fashion. The WarpEngine architecture promises to produce high-quality high-resolution images at interactive rates.

      This dissertation also analyzes the suitability of our approach for polygon rendering and proposes a possible algorithm for triangles. Finding the samples that must be warped to generate the current frame is another very challenging problem in IBRW. The dissertation introduces the vacuum-buffer sample-selection method, designed to ensure that the set of selected samples covers every visible surface.

      Pozefsky, Diane P. (1979)
      "Building Efficient Pass-Oriented Attribute Grammar Evaluators"
      Under the direction of Mehdi Jazayeri

      This dissertation explores various avenues toward constructing efficient attribute grammar evaluators automatically. It begins by exploring operations applicable to all attribute grammars: the identification and elimination of useless and local attributes, the removal of erasing productions from an attribute grammar, and methods of improving the set of semantic rules associated with a particular production.

      The work then turns explicitly to the family of pass-oriented attribute grammar evaluators, of which Eochmann's left-to-right evaluator and Jazayeri's Alternating Semantic Evaluator are the most familiar members. The family is studied in its most general form and a subfamily is identified whose evaluators can be produced easily by a single evaluator generator. Along the way, a procedure is developed for ordering the attributes of the same nonterminal.

      Methods are then explored to improve the time and space requirements of the member evaluators. Improvements are made in the speed of the evaluators by eliminating the parse tree and controlling evaluation by files of calls. This reduces execution time to its minimum, the amount of time required to evaluate all attribute occurrences. Storage improvements are made by identifying the useful life span of attributes, storing on a stack those that are only needed for a single pass, and dynamically allocating and freeing others. Further, multiple attributes with identical values can share copies of the data; this occurs when attributes are assigned values in transfer rules.

      Finally, profiles of attribute grammars for real languages are given to support the value of many of the features presented.

      Pozefsky, Mark (1977)
      "Programming in Reduction Languages"
      Under the direction of Gyula A. Mago

      Reduction languages are a complete, closed applicative language with several elegant mathematical properties. This dissertation demonstrates that Reduction languages can be viewed as practical user languages with respect to a particular machine model.

      The expression orientation and absence of variables force a structured, top-down, modularized approach to algorithm design. Functional, recursive, and combinatory programming techniques make proper program decomposition natural.

      Reduction languages can range from very low to very high level languages depending on the set of primitives used. No control structures are built-in so the programmer has the obligation and the opportunity to define the control flows most beneficial to his algorithm. A single syntactic entity, the sequence, simulates most existing information structures (e.g., arrays, trees), and obviates some other structures (e.g., linked lists).

      Unbounded parallelism, associative referencing, and implicit storage management decrease the bookkeeping burdens on the programmer, allowing him to concentrate on the high level structure of his program.

      Testing and debugging are simplified because all data are literal, language primitives are so powerful, and sequencing control is simplified. Independence of expressions makes isolation and correction of errors easier.

      Prastawa, Marcelinus (2007)
      "An MRI Segmentation Framework for Brains with Anatomical Deviations"
      Under the direction of Guido Gerig
      Electronic copy available

      The segmentation of brain Magnetic Resonance (MR) images, where the brain is partitioned into anatomical regions of interest, is a notoriously difficult problem when the underlying brain structures are influenced by pathology or are undergoing rapid development. This dissertation proposes a new automatic segmentation method for brain MRI that makes use of a model of a homogeneous population to detect anatomical deviations. The chosen population model is a brain atlas created by averaging a set of MR images and the corresponding segmentations. The segmentation method is an integration of robust parameter estimation techniques and the Expectation-Maximization algorithm.

      In clinical applications, the segmentation of brains with anatomical deviations from those commonly observed within a homogeneous population is of particular interest.  One example is provided by brain tumors, since delineation of the tumor and of any surrounding edema is often critical for treatment planning. A second example is provided by the dynamic brain changes that occur in newborns, since study of these changes may generate insights into regional growth trajectories and maturation patterns. Brain tumor and edema can be considered as anatomical deviations from a healthy adult population, whereas the rapid growth of newborn brains can be considered as an anatomical deviation from a population of fully developed infant brains.

      A fundamental task associated with image segmentation is the validation of segmentation accuracy. In cases in which the brain deviates from standard anatomy, validation is often an ill-defined task since there is no knowledge of the ground truth (information about the actual structures observed through MRI). This dissertation presents a new method of simulating ground truth with pathology that facilitates objective validation of brain tumor segmentations. The simulation method generates realistic-appearing tumors within the MRI of a healthy subject. Since the location, shape, and volume of the synthetic tumors are known with certainty, the simulated MRI can be used to objectively evaluate the accuracy of any brain tumor segmentation method.

      Prokop, Jan S. (1969)
      "An Investigation of the Effects of Computer Graphics on Executive Decision Making in an Inventory Control Environment"
      Under the direction of Frederick P. Brooks, Jr.

      The central question of this dissertation is whether an objective ranking of utility to the decision maker can be assigned to the form of the presentation to him. In this instance we are interested in whether an executive decision can be reached earlier, faster or more consistently with a computer-driven display device than with the more customary printed material.

      An experimental group of eighteen management-level subjects with extensive experience in inventory control was assembled for a two-week short course in advanced inventory management techniques. During the short course, the subjects were exposed to simulated results from computer application of certain inventory control policies to a hypothetical inventory system handling n items. This system is faced with a certain randomly derived set of orders, price changes, replenishments of stock and other transactions. The results of the simulation were presented on both printer paper and on a cathode ray tube display device. For each method of presentation, results were represented in both tabular and graphical form.

      When a substantial part of the course had transpired, the subjects were asked to evaluate the results of simulating two inventory systems, using printer output for one evaluation and the cathode ray tube display device for the other evaluation. By means of a Latin square design and rank order statistics these evaluations were inspected to determine if experienced decision-makers using a display device could reach a decision that was earlier, faster or more consistent than a decision reached by means of printer output.

      The results indicated, with very high statistical significance, that a decision could be made faster with a display device, and with high significance that a decision could be made on the basis of less information by means of the display device. Other results pointed to decisions that were more consistent for the individual and which tended more to agree with the rest of the group when display device techniques were used for the evaluation of the inventory systems.

      Puff, Derek T. (1995)
      (Biomedical Engineering, UNC-Chapel Hill)
      "Human vs. Vision Model Performance for Two Medical Image Estimation Tasks"
      Under the direction of Stephen M. Pizer
      Electronic copy available

      A computed method for measuring medical image quality would allow fast and economical evaluation of image acquisition and display systems without the need for arduous, expensive human observer experiments. It would help such a method to be predictive of human assessment if it reflected the principles thought to govern the operation of the visual system. This dissertation research implemented and tested the accuracy of a measure of medical image quality that incorporates a model of human vision in a simulation of human image interpretation. It was hypothesized that the model, by performing in a way that reflected the inherent capabilities and limitations of a human, would be predictive of human performance as physical properties of the image varied. The core model of shape perception, a theory for the representation of objects that may serve as a fundamental perceptual basis for a number of medical image interpretation tasks, was applied in computing estimates of the depth of a vessel stenosis in an angiogram and the position of a radiation treatment field relative to the spinal cord in a portal image. Parameters of those imaging systems that have significant effects on the physical characteristics of the images, such as the amount of imaging system blur or the extent of contrast-enhancing processing, were systematically varied. Model and human task performance was studied as a function of the parameters in order to assess the extent to which the model predicted the human results. In most instances, the analysis suggested that the conformance of the model and human data was not sufficient to allow use of the visual model as proposed. The conclusion explores the potential factors in those discrepancies and reiterates the claim that image quality assessments based upon fundamental principles of visual perception might eventually be utilized successfully for medical image interpretation tasks.

      Rademacher, Pablo M. (2003)
      "Measuring the Perceived Visual Realism of Images"
      Under the direction of Gary Bishop
      Electronic copy available

      One of the main goals of computer graphics research is to develop techniques for creating images that look real - i.e., indistinguishable from photographs. Most existing work on this problem has focused on image synthesis methods, such as the simulation of the physics of light transport and the reprojection of photographic samples. However, the existing research has been conducted without a clear understanding of how it is that people determine whether an image looks real or not real. There has never been an objectively tested, operational definition of realism for images, in terms of the visual factors that comprise them. If the perceptual cues behind the determination of realism were understood, then rendering algorithms could be developed to directly target these cues.

      This work introduces an experimental method for measuring the perceived visual realism of images, and presents the results of a series of controlled human participant experiments. These experiments investigate the following visual factors: shadow softness, surface smoothness, number of objects, mix of object shapes, and number of light sources. The experiments yield qualitative and quantitative results, confirm some common assertions about realism, and contradict others. They demonstrate that participants untrained in computer graphics converge upon a common interpretation of the term real, with regard to images. The experimental method can be performed using either photographs or computer-generated images, which enables the future investigation of a wide range of visual factors.

      Raghuvanshi, Nikunj (2010)
      "Interactive Physically-based Sound Simulation"
      Under the direction of Ming C. Lin
      Electronic copy available

      Hearing is one of our principal senses which complements, and in some cases, supplements sight. The realization of interactive, immersive virtual worlds thus requires the ability to present a realistic aural experience that convincingly reflects the environment presented visually. Physical simulation is a natural way to achieve such realism, enabling deeply immersive virtual worlds -- the range of sounds generated is limited only by the number of physical scenarios realized at runtime, rather than the size of a library of pre-recorded sounds/filters. However, physically-based sound simulation is a very computationally expensive problem with its unique challenges, owing to the physics behind sound production and propagation. Past attempts at developing physically-based techniques for sound have suffered from the large gap between required and available computation. The increased computational power of desktop systems today has served to reduce this gap, and it has become possible to bridge this gap to some degree using a combination of algorithmic, implementation and perceptual optimizations.

      In this talk, I will present my work on developing interactive techniques for sound simulation. The talk will focus on both aspects of sound simulation: Synthesis and Propagation. The problem of Sound Synthesis is concerned with generating the sounds produced by objects due to interaction with the environment, such as collisions. Specifically, I will discuss techniques that I have developed that exploit human auditory perception to simulate scenes with hundreds of solid objects undergoing impact and rolling in real time. Sound Propagation is the complementary problem of modeling the reflection and diffraction of sound in an environment as it travels from a source to the listener. However, numerical acoustic simulation on a large scene can easily require computation in the petaFLOPS range. I will discuss my work on a novel numerical simulator that is 100 times faster and consumes 10 times less memory than the current state of the art in room acoustics. Lastly, I will discuss my work that utilizes simulation results from this fast numerical simulator to render realistic, wave-based acoustics of arbitrary static scenes for multiple moving sources and moving listener in real time, while correctly accounting for physical effects such as low-pass filtering around walls due to diffraction, sound diffusion and realistic reverberation.

      Rajgopal, Suresh (1992)
      "Spatial Entropy--A Unified Attribute to Model Dynamic Communication in VLSI Circuits"
      Under the direction of Kye S. Hedlund
      Department of Computer Science Technical Report TR92-041
      Electronic copy available

      This dissertation addresses the problem of capturing the dynamic communication in VLSI circuits. There are several CAD problems where attributes that combine behavior and structure are needed, or when function behavior is too complex and is best captured through some attribute in the implementation. Examples include, timing analysis, logic synthesis, dynamic power estimation, and variable ordering for binary decision diagrams (BDDs). In such a situation, using static attributes computed from the structure of the implementation is not always helpful. Firstly, they do not provide sufficient usage information, and secondly they tend to exhibit variances with implementations which is not desirable while capturing function behavior.

      The contribution of this research is a new circuit attribute called spatial entropy. It models the dynamic communication effort in the circuit by unifying the static structure and the dynamic data usage. Quantitatively, spatial entropy measures the switching energy in a physical (CMOS) implementation. A minimum spatial entropy implementation is a minimum energy implementation. For the purposes of this dissertation we restrict our scope to combinational circuits. We propose a simple procedure to estimate spatial entropy in a gate level circuit. It is characterized in extensive detail and we describe why it is difficult to compute spatial entropy accurately. We show how it can also be defined at other levels of abstraction.

      We illustrate applications of spatial entropy in BDD variable ordering, a problem that has traditionally relied on static attribute based solutions. We also show empirically that spatial entropy can track function behavior through implementations, by using it to measure gate-count complexity in Boolean functions.

      Ramamurthy, Srikanth (1997)
      "A Lock-Free Approach to Object Sharing in Real-Time Systems."
      Under the direction of James Anderson
      Electronic copy available

      This work aims to establish the viability of lock-free object sharing in uniprocessor real-time systems. Naive usage of conventional lock-based object-sharing schemes in real-time systems leads to unbounded priority inversion. A priority inversion occurs when a task is blocked by a lower-priority task that is inside a critical section. Mechanisms that bound priority inversion usually entail kernel overhead that is sometimes excessive.

      We propose that lock-free objects offer an attractive alternative to lock-based schemes because they eliminate priority inversion and its associated problems. On the surface, lock-free objects may seem to be unsuitable for hard real-time systems because accesses to such objects are not guaranteed to complete in bounded time. Nonetheless, we present scheduling conditions that demonstrate the applicability of lock-free objects in hard real-time systems. Our scheduling conditions are applicable to schemes such as rate-monotonic scheduling and earliest-deadline- first scheduling.

      Previously known lock-free constructions are targeted towards asynchronous systems; such constructions require hardware support for strong synchronization primitives such as compare-and-swap. We show that constructions for uniprocessor real-time systems can be significantly simplified--and the need for strong primitives eliminated--by exploiting certain characteristics of real-time scheduling schemes.

      Under lock-based schemes, a task can perform operations on many shared objects simultaneously via nested critical sections. For example, using nested critical sections, a task can atomically dequeue an element from one shared queue and enqueue that element in another shared queue. In order to achieve the level of functionality provided by nested critical sections, we provide a lock-free framework that is based on a multi-word compare-and-swap primitive and that supports multi-object accesses | the lock-free counterpart to nested critical sections. Because multi-word primitives are not provided in hardware, they have to be implemented in software. We provide a time-optimal implementation of the multi-word compare-and-swap primitive.

      Finally, we present a formal comparison of the various object-sharing schemes based on scheduling conditions, followed by results from a set of simulation experiments that we conducted. Also, as empirical proof of the viability of lock-free objects in practical systems, we present results from a set of experiments conducted on a desktop videoconferencing system.

      Raskar, Ramesh (2002)
      "Projector-Based Three Dimensional Graphics"
      Under the direction of Henry Fuchs and Gregory Welch
      Department of Computer Science Technical Report TR02-046
      Electronic copy available

      Light projectors can be arranged into electronic displays that offer large, bright, and high resolution images. However, despite their unique characteristics, projectors have been treated like any other two-dimensional display devices, e.g. CRT monitors or LCD panels, to create flat and usually rectangular images. Even the growth of three dimensional computer graphics has followed this limitation.

      To improve and widen the range of applications of projectors, in this dissertation I present a single unified geometric framework for projector-based graphics. It is based on the notion of the projector as the dual of a camera. The geometric framework is based on (i) the analytical projection model, (ii) the geometric representation of the display surface and (iii) the viewer location. The framework can be used for practically all the projector-based applications. For classic projector-based systems, such as tiled displays or immersive panoramic displays, the framework provides a fundamentally different approach that allows greater freedom and flexibility. In addition, it enables a new class of projector-based visualization methods.

      Razzaque, Sharif (2005)
      "Redirected Walking"
      Under the direction of Frederick P. Brooks, Jr.
      Electronic copy available

      Locomotion in human-scale, immersive virtual environments can be specified by flying with a hand-controller, using a treadmill, walking-in-place, etc. Real walking, where the user actually and physically walks in the lab, and moves the same distance in the virtual scene, is better than flying. It is more input-natural, does not require learning a new interface, results in a greater sense of presence, and theoretically results is less simulator sickness.

      With real walking, however, the size of the virtual scene is limited by the size of tracked area. For example, for an architect to really walk in a virtual prototype of a house, the tracked area must be as large as the house. This requirement makes real walking infeasible for many facilities and virtual scenes.

      To address this limitation, I have developed Redirected Walking, which makes the user turn herself by interactively and imperceptibly rotating the virtual scene about her. Under the right conditions, the user would unknowingly walk in circles in the lab, thinking she is walking in a straight and arbitrarily long path in the virtual scene.

      In this dissertation I develop Redirection, discuss its theoretical underpinnings, and argue that it can be used: 1) to make the user turn themselves 2) without causing the user to be aware of Redirection or modify her conscious behavior 3) without unacceptably increasing the level of simulator sickness, most importantly, 4) to useful effect:

      A) In head-mounted display systems, the user can experience a virtual scene larger then the lab while also having the benefits of real walking.

      B) In an open-backed, three-walled CAVE, users can have the increased presence and input-naturalness normally of a fully enclosed CAVE.

      Rewaskar, Sushant (2007)
      "Real-world Evaluation of Techniques to Mitigate Impact of Losses on TCP Performance"
      Under the direction of Jasleen Kaur
      Electronic copy available

      Transmission Control Protocol (TCP) is the dominant transport protocol used for Internet data transfers. While it is generally accepted that network losses can significantly impact TCP performance, the extent to which they do so in the real world is not well understood. In this dissertation, we study the interaction between TCP and losses and evaluate techniques for reducing the impact of losses on TCP performance. Specifically, we make three main contributions:
      (i) A methodology for in-depth and accurate passive analysis of TCP traces:
      We develop a passive analysis tool, TCPdebug, for accurate and in-depth analysis of traces of TCP connections. TCPdebug is designed to accurately track TCP sender state for several prominent OSes (Windows, Linux, Solaris, and FreeBSD/MacOS) and accurately identify and classify segments that appear out-of-sequence in a TCP trace. This tool has been extensively validated using controlled lab experiments and as well as against real Internet connections---it is accurate in more than 99% of the cases. TCPdebug improves upon the classification accuracy of existing tools by almost 100%.
      (ii) Systematic evaluation of the configuration of loss detection/recovery mechanisms in TCP:
      Using TCPdebug, we analyze traces of more than 2.8 million connections collected from 5 different vantage points across the globe to study the efficiency of current TCP loss detection/recovery mechanisms. We developed models to capture the impact of configuration of these mechanisms on the durations of TCP connections. We find that the recommended as well as widely implemented configurations for these mechanisms are fairly sub-optimal for a significant fraction of Internet connections. Our analysis suggests that the duration of up to 40% of Internet connections can be reduced by more that 10% by reconfiguring loss detection in prominent TCP stacks.
      (iii) Systematic evaluation of Delay-based Congestion Estimators (DBCEs):
      Finally, we investigate the ability of several popular Delay Based Connection Estimators (DBCEs) to predict (and help avoid) losses using estimates of network queuing delay. We incorporate several prominent DBCEs in TCPdebug and evaluate their efficacy using our connection traces. We find that the most popular Vegas estimator is fairly conservative and has minimal overall impact on connection durations. More aggressive predictors like CIM improve the performance for a large fraction of connections. We also cluster our connections according to their similarity of characteristics and study the per-cluster performance of DBCEs. We find that connections with high throughput benefit the most from any DBCE. These findings suggest that DBCEs hold significant promise for future high speed networks.

      Rhee, Injong (1994)
      "Efficiency of Partial Synchrony and Resource Allocation in Distributed Systems"
      Under the direction of Jennifer Welch
      Department of Computer Science Technical Report TR94-071
      Electronic copy available

      This dissertation is in two parts, covering two distinct areas of distributed computing. The first part concerns timing models in distributed systems that lie between the synchronous and asynchronous models in terms of their assumption on synchrony. We study their time complexity for solving distributed computing problems in shared memory (SM) and message-passing (MP) systems.

      We consider four timing parameters: the upper and lower bounds on process step time and message delay. Timing models are obtained by considering independently whether each parameter is known or unknown, giving rise to four SM models and 16MP models. We also study other timing models that are not covered by this framework.

      We show a general time complexity hierarchy indicating inherent time complexity gaps among the models. The time complexity gaps are introduced by the time complexity of the session problem, an abstraction of fundamental synchronization problems in distributed computing. The hierarchy can be valuable information for system designers in evaluating various timing models to build efficient, yet cost-effective, distributed systems.

      The second part concerns resource allocation in distributed systems, i.e., the scheduling of accesses to resources shared by concurrent process. Three different resource allocation problems with varying degrees of generality are considered including the dining philosophers problem.

      A tight bound on the response time for the dining philosophers problem is obtained. We also prove that any (dining philosophers) algorithm with the optimal response is transformable in polynomial time into a sequential algorithm for an NP-complete problem. It suggests that an execution of any dining philosophers algorithm with the optimal response time may require a large (perhaps exponential) amount of local computation in acquiring resources.

      We also present a modular resource allocation algorithm that uses any resource allocation algorithm as a subroutine. For appropriate choices of the subroutine we obtain the fastest known algorithms in the worst case. Although they do not give the optimal performance, the algorithms require only a polynomial amount of computation in acquiring resources. We did simulation studies indicating that our algorithm performs faster than other known algorithms on average.

      Rheingans, Penny L. (1993)
      "Dynamic Explorations of Multiple Variables in a 2D Space"
      Under the direction of Frederick P. Brooks, Jr.

      Color is used widely and reliably to display the value of a single scalar variable. It is more rarely, and far less reliably, used to display multivariate data. This research adds the element of dynamic control over the color mapping to that of color itself for the more effective display and exploration of multivariate spatial data. My thesis is that dynamic manipulation of representation parameters is qualitatively different and quantitatively more powerful than viewing static images.

      In order to explore the power of dynamic representation, I constructed a dynamic tool for the creation and manipulation of color mappings. Using Calico, a one- or two-variable color mapping can be created using parametric equations in a variety of color models. This mapping can be manipulated by moving input devices referenced in the parametric expressions, by applying affine transforms, or by performing free-form deformations. As the user changes the mapping, an image showing the data displayed using the current mapping is updated in real time, as are geometric objects which describe the mapping.

      To support my thesis, I conducted two empirical studies comparing static and dynamic color mapping for the display of bivariate spatial data. The first experiment investigated the effects of user control and smooth change in the display of quantitative data on user accuracy, confidence, and preference. Subjects gave answers which were an average of thirty-nine percent more accurate when they had control over the representation. This difference was almost statistically significant (0.05 < p < 0. 10). User control produced significant increases in user preference and confidence.

      The second experiment compared static and dynamic representations for qualitative judgments about spatial data. Subjects made significantly more correct judgments (p < 0.001) about feature shape and relative positions, on average forty-five percent more, using the dynamic representations. Subjects also expressed a greater confidence in and preference for dynamic representations. The differences between static and dynamic representations were greater in the presence of noise.

      Rhoades, John S. (1993)
      "Shaping Curved Surfaces"
      Under the direction of Stephen M. Pizer
      Department of Computer Science Technical Report TR93-066
      Electronic copy available

      This dissertation presents a new tool for shaping curved surfaces, the bending operator. The bending operator is an interactive tool intended for use in 3-D sketching. It is based on the idea that bending a surface is equivalent to changing its normal vector field while perturbing its metric as little as possible. The user of this tool specifies a bending operator, which is a surface that indicates how the normals of a target surface should change. The bending algorithm adds the derivatives of the normal vector fields of the bending and target surfaces and integrates this sum to produce a desired normal vector field. The target surface is then reshaped using a variational technique that moves the underlying surface control points to minimize a penalty function of the target surface. After bending, the resulting surface acquires the features of the bending surface while maintaining the general shape of the original target surface.

      The bending algorithm can perform a wide variety of surface shaping tasks, including bending about a cylinder axis, indenting, twisting, and embossing. The algorithm includes a positioning control used to specify the correspondence between points of the bending operator surface and target surface and a range of action selector used to restrict the bending action to a part of the target surface. The bending operator is intuitive in that a user can easily learn to predict the approximate result of a bending operation without needing a detailed understanding of the algorithm. The algorithm can be applied to any patch type that is based on control points and that is piecewise twice differentiable, including Bezier patches, B-spline patches, and NURBS. The algorithm can also be applied to a non-branching mesh of patches with smoothness constraints. The bending algorithm was implemented in an interactive prototype program using X-windows. This program performs a bending operation in seconds to minutes on a HP-730 workstation depending on the complexity of the target and bending surfaces. The dissertation also includes an outline for a joining algorithm based on variational techniques similar to those used in bending.

      Riely, James (1999)
      "Applications of Abstraction for Concurrent Programs"
      Under the direction of Jan F. Prins

      We study the use of abstraction to reason operationally about concurrent programs. Our thesis is that abstraction can profitably be combined with operational semantics to produce new proof techniques. We study two very different applications:

      • the implementation of nested data-parallelism, and
      • the verification of value-passing processes.

      In the first case, we develop a typing system for a nested data-parallel programming language and use it to prove the correctness of flattening, an important compilation technique. In the second, we demonstrate that abstract interpretations of values domains can be applied to process description languages, extending the applicability of finite-state methods to infinite-state processes.

      Raghuvanshi, Nikunj (2010)
      "Interactive Physically-based Sound Simulation"
      Under the direction of Ming C. Lin
      Electronic copy available

      Hearing is one of our principal senses which complements, and in some cases, supplements sight. The realization of interactive, immersive virtual worlds thus requires the ability to present a realistic aural experience that convincingly reflects the environment presented visually. Physical simulation is a natural way to achieve such realism, enabling deeply immersive virtual worlds -- the range of sounds generated is limited only by the number of physical scenarios realized at runtime, rather than the size of a library of pre-recorded sounds/filters. However, physically-based sound simulation is a very computationally expensive problem with its unique challenges, owing to the physics behind sound production and propagation.

      Rosenthal, Michael Hayden (2005)
      "Automatically Reducing and Bounding Geometric Complexity by Using Images"
      Under the direction of Henry Fuchs
      Electronic copy available

      Medicine is rapidly adopting new minimally invasive techniques, especially in the realm of vascular procedures. These new techniques require spatially complex operations while providing little or no hand-eye coordination. Image-based tracking, registration, and visualization may make it easier to understand and perform these procedures, possibly shortening procedures, improving outcomes, and allowing new, more complex techniques to be pursued. This dissertation will explore the calibration, tracking, and registration issues that need to be understood to develop a viable intraoperative guidance system.

      To develop an understanding of the likely benefits of a complete system for intraoperative tracking and visualization, this dissertation will consider the methods, accuracy and effectiveness of several major components in such a system. The first part of this work presents a novel phantom for simultaneous calibration of two fluoroscopes, a set of methods for accurate calibration of such systems based on bundle adjustment, and the integration of high-order distortion correction and calibration into a single optimization method. Existing methods generally address single-view calibration and distortion correction as separate steps, with the best fluoroscopic methods producing mean errors of at least 1-2mm. The methods presented herein yield a mean reconstruction error of 0.44 mm from a single calibration process. The second part describes a real-time anatomical feature tracker based on maximum-likelihood feature selection. This method is then used to determine the motion of the liver in fluoroscopic image sets from real patients. The final innovation of this dissertation is a method for registering a 3D vascular model to two calibrated angiographic views simultaneously.

      Overall, this work advances our understanding of the ways in which real-time fluoroscopy can be used to precisely track and model interventional procedures interactively. These results enable sub-millimeter reconstruction of anatomical features, instruments, or other features of interest in a practical and robust manner.

      Roussev, Vassil (2003)
      "Flexible Sharing of Distrubuted Objects Based On Programming Patterns"
      Under the direction of Prasun Dewan
      Electronic copy available

      Distributed collaborative applications allow a group of physically dispersed users to work on a common task. To simplify and lower the cost of developing such applications, a large number of collaborative sharing infrastructures have been built. A common approach employed by sharing infrastructures is to present the programmer with shared programming abstractions as a basis for implementing multi- user applications. A shared abstraction extends a traditional single-user abstraction, such as an object, with automatic collaboration support.  In this thesis, we summarize the achievements and limitations of current approaches to implementing shared abstractions and argue that they have not been successful in simultaneously addressing the issues of automation, abstraction flexibility, sharing flexibility, extensibility, and legacy code reuse. We present a new infrastructure model designed to fulfill these requirements better than existing systems. At the core of the model is the notion of a programming pattern based on which we define a new shared abstraction model. A programming pattern is a consistent naming convention that allows the logical structure of an object to be implicitly derived from its observable state. We define a pattern specification language that allows programmers to formally express the patterns they use and show that the set of supported pattern-based abstractions subsumes the abstraction models of existing systems.

      We complement our abstraction model with an architectural model that allows the practical use of patterns in the application development. Furthermore, we introduce a sharing model that subsumes and provides a descriptive mechanism for specifying application layering.

      We describe a prototype implementation of our conceptual model, as well as our experience in developing collaborative applications with it. We also discuss several problems in which we have successfully emp loyed a pattern-based approach outside the domain of collaboration. Next, we present a requirement-by-requirement evaluation of our work relative to existing systems showing that, overall, our system performs better in satisfying the requirements. Finally, we present our conclusions and outline the directions in which we plan to extend this work in the future.

      Rudolph, David J. (1995)
      (Biomedical Engineering and Mathematics, UNC-Chapel Hill)
      "Automatic Landmark Identification in Orthodontic Cephalometric Radiographs (Machine Vision)"
      Under the direction of James Coggins

      The goal of orthodontic and orthognathic therapy is to improve the interrelationships among craniofacial tissues, which determine form, function, aesthetics, and relative stability. A two-dimensional x-ray image of the sagital skull projection, called a cephalometric radiograph, can be used to evaluate these relationships. In orthodontics, distances and angles among cephalometric image landmarks are compared with normative values to diagnose a patient's deviation from ideal form and prescribe treatment. This process is often extremely time consuming for the orthodontist. A computer-based system which automatically performs these visual tasks has enormous potential in diagnostic medicine, particularly in orthodontics. One task which may benefit from such a system is landmark identification in cephalometric radiographs. Automatic landmark identification and analysis could simultaneously save time, mathematically define landmarks, improve the repeatability of landmark identification, and support alternative methods of form analysis.

      Computer vision methods can be heuristic (based on a set of rules usually applicable to only one image type) or can be broad-based (applicable to many tasks). Previous attempts to automatically locate landmarks have been heuristic. These attempts have been only partially successful. The use of a unified broad based approach to image analysis may solve the automatic landmarking problem and may also apply to a wider range of computer vision tasks.

      This dissertation substantiates and tests Spatial Spectroscopy, a unified broad based approach to vision that makes decisions about image structure based on a convolution of the image with a set of filters followed by a nonlinear decision method using statistical pattern recognition techniques. This study tested two filter sets for comparison: a multiscale Gaussian derivative filter set and an offset Gaussian set. Furthermore, a statistical decision process is proposed and tested that includes probability measures and outlier removal. This study tested both high and low resolution images. These results show: (1) There is no difference in landmark identification errors between human identification on the computer display at low resolution (4 mm$sp2$ per pixel) and automatic identification at low resolution. Mean errors in this study are defined as mean magnitude in distance between correct and selected landmark. (2) There is no difference in landmark identification errors between human identification on the computer display at a resolution of 1 mm$sp2$ per pixel vs. direct identification on the radiograph as reported by other investigators. (3) There is a correlation between distance in feature space and distance in image space for the features tested. Locations which are close in feature space are close in image space. (4) There was no difference between the offset Gaussian and the Multiscale Gaussian feature set at low resolution. (5) The outlier removal did improve the results. However, the mean improvement in accuracy was not large. (6) High resolution significantly improved the standard deviations of errors, but did not improve the mean errors.

      Saboo, Rohit R. (2011)
      "Atlas Diffeomorphisms via Object Models"
      Under the direction of Stephen M. Pizer

      I propose tackling the problem of segmenting several closely-spaced objects from 3D medical images using a hybrid of two segmentation components: one model-based and one image-based. A major contribution implements the first component by diffeomorphically mapping a fully segmented atlas image to a partially segmented image of a patient(target) while preserving the correspondence that is inferred from the partial segmentation of the target. The mapping is produced by solving the steady-state heat flow equation where the temperature is a coordinate vector and corresponding points have the same temperature. Objects carried over from the atlas into the target serve as reasonable initial segmentations and can be further refined by a model-based segmentation method. Good quality segmentations are added to the list of the initial partial segmentations, and the process is repeated.

      The image-based component provides shape models of quasi-tubular objects and statistics on those models. Whereas, medial models were previously only developed for slab-shaped objects, this contribution provides an approximately medial means to stably represent nearly tubular objects.

      I test a variety of components of my method on segmenting objects from 3D CT scans of the head and neck as required by radiotherapy treatment planning.

      Sawyer, Jeanne C. (1990)
      "A Reference and Planning Model for Library Online Public Access Catalogs"
      Under the direction of Stephen F. Weiss
      Department of Computer Science Technical Report TR90-043
      Electronic copy available

      This dissertation explores the problem of how library catalogs can be connected or combined, providing library users with access to materials beyond the local library collection while maintaining local autonomy and ease of implementation. The first step in solving the problem was to identify the fundamental ways library systems can be connected, and to determine the characteristics of each.

      The Reference Model for Online Public Access Catalogs (OPAC Model) does this by categorizing the basic architectures into three models: centralized, distributed, and stand-alone. The reference model prides a way to classify a system according to its architecture and identifies the basic characteristics that a system must have. The distributed model (DLN Model) is explored in depth because it is the least well understood of the models and because the characteristics of distributed systems must be standardized if such systems are to be connected effectively.

      Whereas the OPAC Model defines the system architectures, the Library Systems Architecture Planning Model (LSAP Model) provides a tool for choosing among them. The system characteristics defined in the reference model are included to meet real-world needs, such as providing access to another library's holdings or preserving local autonomy. The LSAP Model follows from the Reference Model by making explicit the connections between a set of system characteristics and a set of environmental characteristics.

      The concepts included in the Reference Model are new and untested, especially for the distributed architecture. Therefore a case study of the Triangle Research Libraries Network's system was included in the dissertation specifically to demonstrate that:

      • the reference model can be implemented, and
      • the implementation is reasonable and is an appropriate choice for that environment

      Verifying the LSAP Model was then necessary to demonstrate that the planning model works, i.e., that the Model accurately reflects expert judgements of appropriate choice of system architecture. In addition, verification of the LSAP Model further validates the Reference Model since the LSAP Model is built from the architectures delineated in the Reference Model. If those architectures were inappropriately defined, the LSAP Model could not work properly.

      Schmitt, Charles P. (1999)
      "Recognizing Moving Objects: A Neural Model of Temporal Binding in Human Vision"
      Under the direction of Jonathan A. Marshall

      A visual object is recognizable only if its parts (elements) are correctly identified and integrated into a perceptual whole. Element integration requires some means of identifying, or labeling, which elements, visible at possibly different moments in time, are associated with which perceptual objects--a problem known as the temporal binding problem. this problem is non-trivial for biological systems because the elements of an object are represented by distributed populations of neurons, because information transfer rates are limited by neural spiking rates, and because the visual world is often filled with multiple objects of behavioral significance.

      This dissertation presents a neural model, derived from an examination of psychophysical and neurobiological findings, for solving the temporal binding problem. The neural mechanisms used to solve the binding problem are based upon a serial, attention-based mechanism for constructing and updating internal object representations, an association network for linking together the shape and motion properties of objects, and modulatory pathways that enforce Gestalt grouping principles.

      The proposed neural mechanisms are used to construct a neural network model. The model is computationally simulated on image sequences from psychophysical experiments on multielement tracking, object review, and object integration. The simulation results are shown to be quantitatively consistent with experimental results on human subjects. In particular, the simulations show that the effects of experimental manipulations (e.g., varying interstimulus interval, varying number of objects) can be explained as resulting from the proposed neural mechanisms.

      Finally, the model is extended to address the problem of grouping in relative motion perception. A novel neural architecture and new approaches to solving the binding problem are presented that allow multiple sets of moving elements to be grouped into separate objects.

      This dissertation presents several contributions to vision research. First, a model of binding in human vision is presented that shows how elements can be grouped together into multiple perceptual objects, even if the elements are visible at different moments. Second, the model provides explanations for human performance in several psychophysical experiments. Finally, the model shows how preattentive grouping can occur in parallel in motion perception.

      Seeger, Adam (2004)
      "Surface Reconstruction From AFM and SEM Images"
      Under the direction of Russell M. Taylor II
      Electronic copy available

      Current methods for surface reconstruction from AFM images do not enable one to incorporate constraints from other types of data. Current methods for surface reconstruction from SEM images are either unsuitable for nanometer scale shapes or limited to shapes described by a small number of parameters.

      I have developed a new approach to surface reconstruction from combination AFM/SEM images that overcomes these limitations. A dilation model is used to model AFM image formation and a filter bank model is used to model SEM image formation. I construct noise models for both AFM and SEM images from real data. The image formation models including the noise descriptions are used to construct an objective function expressing the probability of observed images given a hypothetical surface reconstruction. The surface is modeled as a sum of Gaussian basis functions and I derive a formula to estimate the gradient of the objective function in the surface parameter space.  The conjugate gradient method is used to optimize the surface parameters.

      My thesis is that this algorithm is more general and accurate than existing methods and that the gradient-based optimization based on my formula enables one to compute a reconstruction is a few hours. This thesis is demonstrated by applying the algorithm to real and synthetic examples.

      Sewall, Jason (2010)
      "Efficient, Scalable Traffic and Compressible Fluid Simulations Using Hyperbolic Models"
      Under the direction of Ming Lin
      Electronic copy available

      Virtual worlds that are filled with the phenomena we experience in the real world can be more visually compelling, but it is challenging to create animations of complex, nonlinear phenomena efficiently. This thesis presents novel techniques for efficiently generating animations of compressible fluids and traffic flow for making virtual worlds more lifelike. I introduce simulation methods designed to recreate the motion of coupled gas and elastic bodies, shockwaves in compressible gases, and traffic flows on large, varied road networks. These phenomena can all be described with mathematical models classified as hyperbolic — essentially, models where the speed of information propagation is bounded. This property leads to computational schemes with very local data access patterns that favor parallel computation. I demonstrate how the application of hyperbolic models to the aforementioned phenomena can lead to techniques for physically plausible animations that are efficient and scalable on modern multi-processor architectures.

      Animations of gas dynamics, from curling smoke to sonic booms, are visually exciting - particularly when such fluids interact with suspended objects. However, existing computational models of fluids in computer graphics are unsuitable for properly describing compressible gas flows. I present a method based on a truly compressible model of gases to simulate two-way coupling between gases and elastic bodies on simplicial meshes that can handle large-scale simulation domains in a fast and scalable manner.

      Computational models of fluids used so far in graphics are similarly inappropriate for describing supersonic gas dynamics because they assume the presence of smooth solutions. The shockwaves associated with these phenomena have great visual appeal but are notoriously difficult to handle numerically. I present a technique for the simulation of explosive gas phenomena that addresses the challenges found in animation — namely stability, efficiency, and generality. I also demonstrate how this method is able to achieve near-linear scaling on modern many-core architectures. Automobile traffic is an ubiquitous feature of modern life, and no virtual description of a populated urban area is complete without it. I present a technique for traffic animation that leverages the efficiency of a hyperbolic continuum model for traffic flow with a discrete representation that allows for visual depiction and fine control, and I demonstrate how this approach is able to outperform agent-based models for traffic simulation. I further show the flexibility of hyperbolic models by coupling discrete, agent-based vehicle simulation with a continuum model of traffic. This hybrid technique can capture the interaction between arbitrarily arranged continuum and discrete lanes as well as dynamically transition between the two disparate models of representation. By exploiting the inherent locality and descriptiveness of hyperbolic models for natural and man-made phenomena, the methods presented in this dissertation open new possibilities for the efficient creation of physically-based animations for virtual worlds. I show their effectiveness by computing shockwave propagation in gases and simulating traffic on large road networks; these schemes are at least an order of magnitude faster than the closest existing techniques.

      Shan, Yen-Ping (1990)
      "MoDE: An Object-Oriented User Interface Development Environment Based on the Concept of Mode"
      Under the direction of John B. Smith
      Department of Computer Science Technical Report TR90-028
      Electronic copy available

      This thesis explores a particular concept of mode that can provide a unified conceptual framework for user interfaces and can lead to an effective implementation environment for developing a rich variety of user interfaces.

      This research has addressed several importation limitations faced by most user interface management systems (UIMSs). These include:

      • Lack of generality.
      • Little support for creating and managing the connections between user interfaces and their underlying applications.
      • Lack of support beyond the coding phase.

      The major results of the research are the following:

      A new user interface development environment, called the Mode Development Environment (MoDE), was developed. MoDE accommodates an orthogonal design that decouples the user interface components from each other, thereby increasing their reusability and overall system generality.

      A new connection model was developed that allows strong separation between the user interface and the application without limiting the communication between them. MoDE supports the creation and management of both components and connections through direct manipulation.

      New concepts and UIMS capabilities were developed to provide support beyond the coding stage. To support design, a particular concept of mode was developed to help decompose the interface into components. To support testing and maintenance, MoDE enables the user to run and interface, suspend it at any point, and inspect and change it.

      Shannon, Karen P. (1992)
      "Tool Integration Via Fine-Grained Data Management"
      Under the direction of Richard Snodgrass

      Software development tools have long been used to increase the productivity of software engineers. However, the use of individual, isolated tools offers only a partial solution to the complexity of software development; a more complete solution requires the integration of tools into a software development environment (SDE). This research describes a mechanism to integrate tools in a large scale SDE. SDE tools are integrated by sharing data, hence data structure communication is the key to our approach to tool integration. We focus on large scale SDEs because the increase in the number of tools and the increase in size and complexity of individual tools and shared data complicate the interface among the tools. We focus on fine grained data in part because the performance requirements concerning fine grained data are most difficult to meet. We identify four additional characteristics we wish to preserve in large scale SDEs: extensibility or ease of modification, flexibility or ease of configuration, integrity or ease of maintaining consistency, and efficiency at both development and execution time. In general, it is impossible to preserve all characteristics simultaneously. However, our approach exploits different requirements at various points during the development of the SDE. We examine a spectrum of approaches to tool integration incorporating and generalizing those previously proposed by others. Implementation techniques are discussed that allow tools to be moved individually along this spectrum with relative ease as the SDE evolves. Finally, we discuss specific facilities of a meta-environment, a specific environment tailored to the development of SDEs, that allows the SDE developer to precisely control the development tradeoffs of the SDE, and we examine how the runtime system is used to effect integration. We show that it is possible to initially sacrifice SDE execution time efficiency to achieve SDE development time efficiency, extensibility, and flexibility without sacrificing integrity. We also explain how to shift the SDE, with no changes to the source code, to many intermediate points along the coupling spectrum eventually reaching high execution time efficiency at the production stage.

      Shriram, Alok (2007)
      "Design of a Scalable Available Bandwidth Information Infrastructure"
      Under the direction of Jasleen Kaur
      Electronic copy available

      Several applications such as peer-to-peer file sharing and grid computing are being instantiated using overlay networks over the Internet. These applications typically involve transferring large amounts of data between overlay nodes for the purpose of data processing, large-scale scientific computation or content distribution. In order to improve the data transfer rates of these applications, several overlay services such as overlay routing and source selection are being defined. A key piece of information needed by the above services is an estimate of the Available Bandwidth (AB) of all the paths of the overlay network. In this dissertation, we focus on the design of an infrastructure---referred to as an AB Information Infrastructure (ABII)---that can monitor an overlay and provide this information. The key requirements from an ABII are that it provide accurate and up-to-date AB information while imposing a low monitoring overhead on the network. We use a two-step approach to design an ABII:

      Select a tool to measure the AB on a single end-to-end path: Several AB estimation tools (ABET) have been designed in the recent past to measure the end-to-end AB on a given path; unfortunately, it is not clear which tool has high accuracy, low run-time, and low overhead. Specifically, existing ABET evaluations are not comprehensive in the set of tools as well as network conditions evaluated. Furthermore, no past evaluation considers the impact of systemic biases as well as impact of temporal aspects of AB estimation. In this thesis we address these issues by systematically evaluating the impact of systemic, temporal, and algorithmic aspects of ABET design.

      Design a scheme to scalably infer AB on all N2 paths of an overlay: In order to estimate the AB on all paths of an overlay network, we first recognize that measuring the AB on all N2 paths has a fairly high overhead. In this thesis we propose and evaluate three alternate approaches that measure AB only on a subset of paths and use these to infer the AB on the remaining paths---the number of measurements needed ranges from O(N) to O(NvN). We validate our approaches on the PlanetLab experimental test-bed and show that these consistently out perform the state-of-the-art in terms of accuracy, while imposing a similar overhead on the network

      Silbermann, Frank S. K. (1989)
      "A Denotational Semantics Approach to Functional and Logic Programming"
      Under the direction of Bharadwaj Jayaraman
      Department of Computer Science Technical Report TR89-030
      Electronic copy available

      This dissertation addresses the problem of incorporating into lazy higher-order functional programming the relational programming capability of Horn logic. The language design is based on set abstraction, a feature whose denotational semantics has until now not been rigorously defined. A novel approach is taken in constructing an operational semantics directly from the denotational description.

      The main results of the dissertation are:

      1. Relative set abstraction can combine lazy higher-order functional programming with not only first-order Horn logic, but also with a useful subset of higher order Horn logic. Sets, as well as functions, can be treated as first-class objects.
      2. Angelic powerdomains provide the semantic foundation for relative set abstraction
      3. The computation rule appropriate for this language is a modified parallel outermost, rather than the more familiar left-most rule.
      4. Optimizations incorporating ideas from narrowing and resolution greatly improve the efficiency of the interpreter, while maintaining correctness.

      Singh, Abhishek (2007)
      "Co-scheduling Real-time Tasks and Non Real-time Tasks Using Empirical Probability Distribution of Real-time Execution Requirements"
      Under the direction of Kevin Jeffay
      Electronic copy available

      We present a novel co-scheduling algorithm for real-time (RT) and non real-time, response time sensitive (TS) tasks.Previous co-scheduling algorithms focused on providing isolation to the tasks without considering the impact of RT tasks on the response times of the TS tasks. To best utilize the available processing capacity, the number of jobs qualifying for acceptable performance should be maximized. A good scheduling algorithm would reduce the deadline overrun times for soft real-time tasks and the response times for the TS tasks, while meeting deadline guarantees for the RT tasks. We propose a Stochastic Processor Sharing (SPS) algorithm that uses the empirical probability distribution of execution times of the RT tasks to schedule the RT tasks such that their maximum expected processor share at any instant is minimized. We show theoretically and empirically that SPS provideds significant performance benefits in terms of reducing response times of TS jobs over current co-scheduling algorithms.

      Sinha, Sudipta N. (2008)
      "Silhouettes for Calibration and Reconstruction from Multiple Views"
      Under the direction of Marc Pollefeys
      Electronic copy available

      In this dissertation, I study how silhouettes extracted from images and video can help with two fundamental problems of computer vision - namely multi-view camera calibration and 3D surface reconstruction from multiple images.

      First I present an automatic method for calibrating a network of cameras that works by analyzing only the motion of silhouettes in the multiple video streams. This is particularly useful for automatic reconstruction of a dynamic event using a camera network in a situation where pre-calibration of the cameras is impractical or even impossible. Our key contribution is a novel RANSAC-based algorithm that simultaneously computes the epipolar geometry and synchronization of a pair of cameras, from only the silhouettes of moving objects. The approach starts by independently computing the epipolar geometry and synchronization for various pairs of cameras in the network. In the next stage, the calibration and synchronization of the complete network is recovered. The effectiveness of our approach is demonstrated by remotely calibrating many multi-view datasets acquired by researchers in the community.

      In the second part of the dissertation, I address some shortcomings of existing volumetric multi-view stereo approaches. First I propose an improved multi-view stereo formulation that allows for robust and accurate fusion of the silhouette and stereo cues. I show that it is possible to enforce exact silhouette constraints within the graph-cut optimization step of the volumetric graph-cut stereo algorithm. Hence the reconstructed surface can be guaranteed to be consistent with the original silhouettes. I also describe an alternate multi-view stereo formulation involving an adaptive graph construction which addresses the high memory and computational overhead of the underlying approach. The proposed method does not need any initialization and is not restricted to a specific surface topology. Using the method, accurate and detailed 3D models have been reconstructed from high-resolution images.

      Smith, Bruce T. (1972)
      "Logic Programming on an FFP Machine"
      Under the direction of David A. Plaisted

      In this dissertation, I describe a method of implementing logic programming systems, such as the programming language Prolog, on an FFP Machine, a parallel computer architecture designed by Professor Gyula A. Mago. The production system execution model used in this method allows for the parallel execution of logic programs while avoiding problems with the strictness property of the FP and FFP programming languages, which FFP Machines normally execute. As a part of this work, I have developed several new parallel algorithms for solving symbolic problems on an FFP Machine. I present these algorithms and their analysis, along the way to showing how they fit into the overall goal of implementing logic programming systems.

      Smith, F. Donelson (1978)
      "Models of Multiprocessing for Transaction-Oriented Computer Systems"
      Under the direction of Frederick P. Brooks, Jr.

      Multiprocessing can be used effectively in computer systems which process transactions. Blaauw's distinction among computer architecture, implementation, and realization is used in creating models which relate performance to the equipment used in a processor. With these models the computer architecture is held constant (System/360) and three implementations are studied (360/40, 360/50, and 360/65). Implementation-dependent but realization-independent measures are used to eliminate technology differences. Performance is measured in instructions per datapath beat (I/B); equipment is measured in circuits and bits.

      The results show that one eight-byte-wide datapath yields more performance for the amount of equipment invested than multiple two- or four-byte-wide datapaths. These results are based on three instruction mixes, including one representing a control program used for processing transactions (OS/MVT with TCAM).

      Multiprocessor configurations consisting of N identical processors and M identical storage modules are then considered. An index of "effectiveness", E, is defined as the ratio of I/B for an N-datapath multiprocessor to N times I/B for one datapath. This ratio measures the loss in processing power due to contention for main storage. Modeling results show that I/B is a linear function of N in the range (2,16) when M is equal to N or N/2. E, the slope of the linear performance function, ranges from 0.55 to 0.95 for various cases (0.76 to 0.83 for M=N and the control program instruction mix).

      One solution to the main-storage contention problem is to use a private cache storage for each datapath. Cache hit ratios from address traces of an OS/MVT/TCAM system are used to model a multiprocessor with a private cache added to each datapath. The results show that I/B remains a linear function of N. E is, however, much nearer to 1.0 (greater than 0.95 for a cache size of 8K bytes). Inter-cache address broadcasting has little effect on performance even when implemented with a single bus.

      Finally, a case study of contention for critical regions in multiprocessor software is presented. A simulation model representing multiple concurrent processes (based on the internal subtask structure of TCAM) and monitors (based on Hoare's definitions) is used. Flow of control among processes and monitors and their execution path lengths, are based on the address traces of OS/MVT/TCAM.

      Results from this model show that transaction throughput and response time for an N-datapath multiprocessor compare quite closely with the results for a single processor with equal power. This performance is obtained even though the simulated processes spend 30% of their path length in some monitor's critical region.

      The model also demonstrates some of the pitfalls in programming for multiprocessing. Care must be taken to create enough concurrent processes, particularly those which constitute a large portion of a transaction's path length. Critical regions in heavily used monitors (e.g., I/O interrupt handlers) should be split into smaller regions if bottlenecks occur.

      Smith, Jason McColm (2005)
      "SPQR: Formal Foundations and Practical Support for the Automated Detection of Design Patterns From Source Code"
      Under the direction of P. David Stotts
      Electronic copy available

      Maintenance costs currently comprise the majority of total costs in producing software. While object-oriented techniques and languages appear to have assisted in the production of new code, there is little evidence to support the theory that they have helped lower the high cost of maintenance. In this dissertation, I describe the current problem and provide a system ultimately aimed at reducing this cost. The System for Pattern Query and Recognition, or SPQR, consists of: the rho-calculus, a formal foundation for conceptual relationships in object-oriented systems; a suite of Elemental Design Patterns that capture the fundamentals of object-oriented programming and their expressions in the rho-calculus; an XML Schema, the Pattern/Object Markup Language, or POML, to provide a concrete method for expressing the formalisms in a practical manner; an example mapping from the C++ programming language to POML; an implementation which ties the above components together into a practical tool that detects instances of design patterns directly from source code using the Otter automated theorem prover. I will discuss each of the components of the system in turn, and relate them to previous research in the area, as well as provide a number of future research directions.

      Using the results of SPQR, a system can be more easily documented and understood. The major contribution of SPQR is the flexible detection of design patterns using the formalisms of rho-calculus instead of static structural cues. Building on SPQR, I propose: a suite of metrics utilizing the Minimum Description Length principle that capture the salient conceptual features of source code as expressed in design patterns nomenclature as a method for measuring comprehensibility of code; an approach for mapping these metrics to cost-based metrics from current management principles. This combination should prove to be effective in facilitating communication between technical and managerial concerns in a manner that allows for the most efficient allocation of resources during maintenance of software systems.

      Snape, Jamie R. (2012)
      "Smooth and Collision-Free Navigation for Multiple Mobile Robots and Video Game Characters"
      Under the direction of Dinesh Manocha
      Electronic copy available

      The navigation of multiple mobile robots or virtual agents through environments containing static and dynamic obstacles to specified goal locations is an important problem in mobile robotics, many video games, and simulated environments. Moreover, technological advances in mobile robot hardware and video games consoles have allowed increasing numbers of mobile robots or virtual agents to navigate shared environments simultaneously. However, coordinating the navigation of large groups of mobile robots or virtual agents remains a difficult task. Kinematic and dynamic constraints and the effects of sensor and actuator uncertainty exaggerate the challenge of navigating multiple physical mobile robots, and video games players demand plausible motion and an ever increasing visual fidelity of virtual agents without sacrificing frame rate.

      We present new methods for navigating multiple mobile robots or virtual agents through shared environments, each using formulations based on velocity obstacles. These include algorithms that allow navigation through environments in two-dimensional or three-dimensional workspaces containing both static and dynamic obstacles without collisions or oscillations. Each mobile robot or virtual agent senses its surroundings and acts independently, without central coordination or intercommunication with its neighbors, implicitly assuming the neighbors use the same navigation strategy based on the notion of reciprocity. We use the position, velocity, and physical extent of neighboring mobile robots or virtual agents to compute their future trajectories to avoid collisions locally and show that, in principle, it is possible to theoretically guarantee that the motion of each mobile robot or virtual agent is smooth. Moreover, we demonstrate direct, collision-free, and oscillation-free navigation in experiments using physical iRobot Create mobile robots, simulations of multiple differential-drive robots or simple-airplanes, and video games levels containing hundreds of virtual agents.

      Srinivasan, Anand (2003)
      "Efficient and Flexible Fair Scheduling of Real-time Tasks on Multiprocessors"
      Under the direction of James H. Anderson
      Electronic copy available

      Proportionate fair (Pfair) scheduling is the only known way to optimally schedule periodic real-time task systems on multiprocessors in an on-line manner. Under Pfair scheduling, the execution of each task is broken into a sequence of quantum-length subtasks that must execute within intervals of approximately-equal lengths. This scheduling policy results in allocations that mimic those of an ideal "fluid" scheduler, and in periodic task systems, ensures that all deadlines are met.

      Though Pfair scheduling algorithms hold much promise, prior to our work, research on this topic was limited in that only static systems consisting of synchronous periodic tasks were considered. My dissertation thesis is that the Pfair scheduling framework for the on-line scheduling of real-time tasks on multiprocessors can be made more flexible by allowing the underlying task model to be more general than the periodic model and by allowing dynamic task behaviors. Further, this flexibility can be efficiently achieved.

      Towards the goal of improving the efficiency of Pfair scheduling algorithms, we develop the PD2 Pfair algorithm, which is the most efficient optimal Pfair scheduling algorithm devised to date. Through a series of counterexaples, we show that it is unlikely that a more efficient optimal Pfair algorithm exists. We also introduce the cocept of ERfair scheduling, which is a work-conserving extension of Pfair scheduling.  In addition, we study the non-optimal earliest-pseudo-deadline-first (EPDF) Pfair algorithm, which is more efficient than PD2, and presen several scenarios under which it is preferable to PD2.

      We address the flexibility issue by developing the intra-sporadic (IS) task model and by considering the scheduling of dynamic task systems. The well-known sporadic model generalizes the periodic model by allowing jobs to be released late. The IS model generalizes this notion further by allowing late as well as early subtask releases. Such a generalization is useful for modeling applications in which the instantaneous rate of releases differs greatly from the average rate of releases (e.g., an application that receives packets over a network). We prove that PD2 is optimal for scheduling static IS task systems on multiprocessors. In dynamic task systems, tasks are allowed to join and leave, i.e., the set of tasks is allowed to change. This flexibility also allows us to model systems in which the weights of tasks may change. We present sufficient conditions under which joins and leaves can occur under PD2 without causing missed deadlines. Further, we show that these conditions are tight.

      Finally, we also provide schemes for multiplexing the scheduling of aperiodic tasks and real-time IS tasks. These approaches aim at improving the response times of aperiodic tasks while ensuring that the real-time IS tasks meet their deadlines. We also provide bounds on aperiodic response times under these schemes; these bounds can be used to obtain admission-control tests for aperiodic tasks with deadlines.

      Steinhurst, Joshua Eli (2007)
      "Practical Photon Mapping in Hardware"
      Under the direction of Anselmo Lastra
      Electronic copy available

      Photon mapping is a popular global illumination algorithm that can reproduce a wide range of visual effects including indirect illumination, color bleeding and caustics on complex diffuse, glossy, and specular surfaces modeled using arbitrary geometric primitives.  However, the large amount of computation and tremendous amount of memory bandwidth, terabytes per second, required makes photon mapping prohibitively expensive for interactive applications.

      In this dissertation I present three techniques that work together to reduce the bandwidth requirements of photon mapping by over an order of magnitude. These are combined in a hardware architecture that can provide interactive performance on moderatelysized indirectly-illuminated scenes using a pre-computed photon map.

      1. The computations of the naive photon map algorithm are efficiently reordered, generating exactly the same image, but with an order of magnitude less bandwidth due to an easily cacheable sequence of memory accesses.
      2. The irradiance caching algorithm is modified to allow fine-grain parallel execution by removing the sequential dependency between pixels. The bandwidth requirements of scenes with diffuse surfaces and low geometric complexity is reduced by an additional 40% or more.
      3. Generating final gather rays in proportion to both the incident radiance and the reflectance functions requires fewer final gather rays for images of the same quality.  Combined Importance Sampling is simple to implement, cheap to compute, compatible with query reordering, and can reduce bandwidth requirements by an order of magnitude.

      Functional simulation of a practical and scalable hardware architecture based on these three techniques shows that an implementation that would fit within a host workstation will achieve interactive rates. This architecture is therefore a candidate for the next generation of graphics hardware.

      Stetten, George D. (2000)
      (Biomedical Engineering, UNC-Chapel Hill)
      "Automated Identification and Measurement of Cardiac Anatomy via Statistical Analysis of Medial Primitives"
      Under the direction of Stephen M. Pizer
      Electronic copy available

      Identification and measurement of objects in 3D images can be automatic, rapid and stable, based on local shape properties derived statistically from populations of medial primitives sought throughout the image space. These shape properties are measured at medial locations within the object and include scale, orientation, endness, and medial dimensionality. Medial dimensionality is a local shape property differentiating sphere, cylinder, and slab, with intermediate dimensionality also possible. Endness is a property found at the cap of a cylinder or the edge of a slab. A model of the cardiac left ventricle during systole is constructed as a large dark cylinder with an apical cap at one end, terminated at the other end by a thin bright slab-like mitral valve. Such a model, containing medial shape properties at just a few locations, along with the relative distances and orientations between them, is intuitive and robust and permits automated detection of the left ventricular axis in vivo using Real-Time Three Dimensional (RT3D) echocardiography. The statistical nature of these shape properties allows their extraction even in the presence of noise and permits statistical geometric measurements without exact delineation of boundaries, as demonstrated in determining the volume of balloons and of in vivo left ventricles in RT3D scans. The inherent high speed of the method is appropriate for real-time clinical use.

      Stone, Donald L. (1995)
      "Managing the Effect of Delay Jitter on the Display of Live Continuous Media"
      Under the direction of Kevin Jeffay
      Electronic copy available

      This dissertation addresses the problem of displaying live continuous media (e.g., digital audio and video) with low latency in the presence of delay jitter, where delay jitter is defined as variation in processing and transmission delay. Display in the presence of delay jitter requires a tradeoff between two goals: displaying frames with low latency and displaying every frame. Applications must choose a display latency that balances these goals.

      The driving problem for my work is workstation-based videoconferencing using conventional data networks. I propose a two-part approach. First, delay jitter at the source and destination should be controlled, leaving network transmission as the only uncontrolled source. Second, the remaining delay jitter should be accommodated by dynamically adjusting display latency in response to observed delay jitter. My thesis is that this approach is sufficient to support the low-latency display of continuous media transmitted over campus-sized networks.

      Delay jitter at the source and destination is controlled by implementing the application as a real-time system. The key problem addressed is that of showing that frames are processed with bounded delay. The analysis framework required to demonstrate this property includes a new formal model of real-time systems and a set of techniques for representing continuous media applications in the model.

      The remaining delay jitter is accommodated using a new policy called queue monitoring that manages the queue of frames waiting to be displayed. This policy adapts to delay jitter by increasing display latency in response to long delays and by decreasing display latency when the length of the display queue remains stable over a long interval. The policy is evaluated with an empirical study in which the application was executed in a variety of network environments. The study shows that queue monitoring performs better than a policy that statically chooses a display latency or an adaptive policy that simply increases display latency to accommodate the longest observed delay. Overall, the study shows that my approach results in good quality display of continuous media transmitted over campus-sized networks that do not support communication with bounded delay jitter.

      Stough, Joshua V. (2008)
      "Clustering and Shifting of Regional Appearance for Deformable Model Segmentation"
      Under the direction of Stephen M. Pizer
      Electronic copy available

      Automated medical image segmentation is a challenging task that benefits from the use of effective image appearance models. An appearance model describes the grey-level intensity information relative to the object being segmented. Previous models that compare the target against a single template image or that assume a very small-scale correspondence fail to capture the variability seen in the target cases. In this dissertation I present novel appearance models to address these deficiencies, and I show their efficacy in segmentation via deformable models.

      The models developed here use clustering and shifting of the object-relative appearance to capture the true variability in appearance. They all learn their parameters from training sets of previously-segmented images. The first model uses clustering on cross-boundary intensity profiles in the training set to determine profile types, and then builds a template of optimal types that reflects the various edge characteristics seen around the boundary. The second model uses clustering on local regional image descriptors to determine large-scale regions relative to the boundary. The method then partitions the object boundary according to region type and captures the intensity variability per region type. The third and fourth models allow shifting of the image model on the boundary to reflect knowledge of the variable regional conformations seen in training.

      I evaluate the appearance models by considering their efficacy in segmentation of the kidney, bladder, and prostate in abdominal and male pelvis CT. I compare the automatically generated segmentations using these models against expert manual segmentations of the target cases and against automatically generated segmentations using previous models.

      Styner, Martin A. (2001)
      "Combined Boundary-Medial Shape Description of Variable Biological Shapes"
      Under the direction of Guido Gerig
      Electronic copy available

      This dissertation describes a novel shape description scheme that incorporates variability of an object population into the generation of a characteristic 3D shape model. Knowledge about the biological variability of anatomical objects is essential for statistical shape analysis and discrimination between healthy and pathological structures. The proposed shape representation is based on a fine-scale spherical harmonics (SPHARM) description and a coarse-scale m-rep description. The SPHARM description describes the boundary as a weighted series of spherical harmonics. The correspondence on the boundary is defined by a first-order ellipsoid normalized parameterization. The medial m-rep description is composed of a net of medial primitives with fixed graph properties. A m-rep model is computed automatically from the shape space of a training population of SPHARM objects. Pruned 3D Voronoi skeletons are used to determine a common medial branching topology in a stable way. An intrinsic coordinate system and an implicit correspondence between objects are defined on the medial manifold.

      My novel representation scheme describes shape and shape changes in a meaningful and intuitive manner. Several experimental studies of shape asymmetry and shape similarity in biological structures demonstrate the power of the new representation to describe global and local form. The clinical importance of shape measurements is shown in the presented applications.

      The contributions made in this dissertation include the development of a novel automatic pruning scheme for 3D Voronoi skeletons. My experiments showed that only a small number of skeletal sheets are necessary to describe families of even quite complex objects. This work is also the first to compute a common medial branching topology of an object population, which deals with the sensitivity of the branching topology to small shape variations. The sensitivity of the medial descriptions to small boundary perturbations, a fundamental problem of any skeletonization technique, is approached with a new sampling technique.

      Sud, Avneesh (2006)
      "Efficient Computation of Discrete Voronoi Diagram and Homotopy-Preserving Simplified Medial Axis of a 3D Polyhedron"
      Under the direction of Dinesh Manocha
      Electronic copy available

      The Voronoi diagram is a fundamental geometric data structure and has been well studied in computational geometry and related areas. A Voronoi diagram defined using the Euclidean distance metric is also closely related to the Blum medial axis, a well known skeletal representation.  Voronoi diagrams and medial axes have been shown useful for many 3D computations and operations, including proximity queries, motion planning, mesh generation, finite element analysis, and shape analysis. However, their application to complex 3D polyhedral and deformable models has been limited.

      This is due to the difficulty of computing exact Voronoi diagrams in an efficient and reliable manner.
      In this dissertation, we bridge this gap by presenting efficient algorithms to compute discrete Voronoi diagrams and simplified medial axes of 3D polyhedral models with geometric and topological guarantees. We apply these algorithms to complex 3D models and use them to perform interactive proximity queries, motion planning and skeletal computations.  We present three new results. First, we describe an algorithm to compute 3D distance fields of geometric models by using a linear factorization of Euclidean distance vectors. This formulation maps directly to the linearly interpolating graphics rasterization hardware and enables us to compute distance fields of complex 3D models at interactive rates. We also use clamping and culling algorithms based on properties of Voronoi diagrams to accelerate this computation. We introduce surface distance maps, which are a compact distance vector field representation based on a mesh parameterization of triangulated two-manifolds, and use them to perform proximity computations.

      Our second main result is an adaptive sampling algorithm to compute an approximate Voronoi diagram that is homotopy equivalent to the exact Voronoi diagram and preserves topological features. We use this algorithm to compute a homotopy-preserving simplified medial axis of complex 3D models.

      Our third result is a unified approach to perform different proximity queries among multiple deformable models using second order discrete Voronoi diagrams. We introduce a new query called N-body distance query and show that different proximity queries, including collision detection, separation distance and penetration depth can be performed based on Nbody distance query. We compute the second order discrete Voronoi diagram using graphics hardware and use distance bounds to overcome the sampling errors and perform conservative computations. We have applied these queries to various deformable simulations and observed up to an order of magnitude improvement over prior algorithms.

      Surles, Mark C. (1992)
      "Techniques for Interactive Manipulation of Graphical Protein Models"
      Under the direction of Frederick P. Brooks, Jr.
      Department of Computer Science Technical Report TR92-016
      Electronic copy available

      This thesis describes a graphics modeling system, called Sculpt, that maintains physically-valid protein properties while a user interactively moves atoms in a protein model. Sculpt models strong properties such as bond lengths and angles with rigid constraints and models weak properties such as near-neighbor interactions with potential energies. Sculpt continually satisfies the constraints and maintains a local energy minimum throughout user interaction. On a Silicon Graphics 240-GTX, Sculpt maintains 1.5 updates per second on a molecular model with 355 atoms (1065 variables, 1027 constraints, and 3450 potential energies). Performance decreases linearly with increased molecule size. Three techniques yield interactive performance: a constrained minimization algorithm with linear complexity in problem size, coarse-grain parallelism, and variable reduction that replaces model segments with rigid bodies.

      The thesis presents a Lagrange multiplier method that finds a constrained minimum and achieves linear computational complexity for articulated figures whose spine contains many more joints than any attached limb (e.g. reptiles, mammals, and proteins). The method computes the Jacobian matrix of the constraint functions, multiplies it by its transpose, and solves the resulting system of equations. A sort of the Jacobian at program initialization yields a constant, band-diagonal pattern of nonzeros. Multiplication and solution of band-diagonal matrices require computation that increases linearly with problem size. One or two iterations of this algorithm typically find a constrained minimum in this application.

      The number of functions and variables can be reduced by the use of rigid bodies. A user can specify that a rigid object with few variables replace large segments of a model that should not change. For example, a user can twist a backbone into a helix and then freeze the helix by replacing its atoms and bonds with a cylinder of rigid shape but movable position and orientation.

      Two improvements over existing interactive protein modeling systems have been observed in modeling sessions with Sculpt. First, time-consuming model correction is avoided by maintaining a physically-valid model throughout a modeling session. Second, additional cues about model properties can arise when a chemist interactively guides a folding simulation rather than viewing a cine loop from a pre-computed simulation.

      Talley, Terry M. (1997)
      "A Transmission Control Framework for Continuous Media"
      Under the direction of Kevin Jeffay
      Electronic copy available

      Desktop video conferencing allows people to simulate face-to-face conversations by integrating real-time two-way audio and video with the computer system. Unfortunately, the quality of video conferences carried over current networks such as the Internet is often inadequate for effective communication. Network congestion can cause video conferences to experience high latencies and poor fidelity. We claim that in many cases we can sustain low-latency, high-fidelity conferences over current networks even when the networks are highly congested if we carefully manage the transmission of the audio and video streams at the endpoints of the conference.

      Network congestion is caused by two distinct types of network constraints: capacity constraints and access constraints. Capacity constraints limit the bit rate that can be supported by the network. Access constraints limit the message rate that can be supported by the network. We claim conferences can heuristically identify the type of network constraint causing congestion and reduce the effects of the congestion by carefully selecting the bit and message rates associated with each of the conference media streams. We explain and empirically demonstrate why addressing capacity and access constraints requires two complementary transmission adaptations: scaling and packaging. Scaling increases or decreases the bit rate associated with a media stream by controlling the generation and compression of the media stream. Packaging increases or decreases the conference message rate by controlling the type and number of media data units, or frames, placed into each message. We describe a transmission control framework that shows how scaling and packaging can be used to preserve conference quality when the network has capacity constraints, access constraints, or a combination of capacity and access constraints. We develop a transmission control algorithm based on this framework and demonstrate that the algorithm can deliver low-latency, high-fidelity conferences even on heavily congested networks. We also show that the algorithm delivers conferences with lower latency and higher fidelity than those delivered by non-adaptive transmission algorithms or by algorithms that only scale the video bit rate.

      Taylor II, Russell M. (1994)
      "The Nanomanipulator: A Virtual-Reality Interface to a Scanning Tunneling Microscope"
      Under the direction of Frederick P. Brooks, Jr.
      Electronic copy available

      We have developed a virtual-reality interface to a scanning tunneling microscope (STM); the resulting system is called the Nanomanipulator. The user interface comprises a stereoscopic color head-mounted display, a force-feedback remote manipulator master station, and a high-performance graphics computer. It provides the illusion of a surface floating in space in front of the user. The user's hand gestures are translated into commands that are sent to the STM in real time; the returned video and haptic signals allow the user to see and to feel the surface topography and to control the timing and location of voltage pulses applied between the tip of the STM probe and the sample under study.

      My thesis is that a virtual-reality interface is a powerful and effective user interface to an STM--allowing qualitatively different types of experiments to be performed. The success of our investigations using this system demonstrates the validity of the thesis.

      We have used the Nanomanipulator to examine various surfaces and to perform surface modification experiments. This investigation has led to new insight into the meaning of certain surface features and into the mechanisms by which voltage pulses change the tip and sample. These insights were the direct results of the real-time visualization and the more interactive nature of our system compared to standard methods.

      The key to the success of the Nanomanipulator system is that it provides an intuitive two-way interface to the instrument. Raw data from an STM is not in a format easily understood by a scientist, and the Etch-a-Sketch type of controls required for positioning an STM tip are neither natural nor familiar to a user. The Nanomanipulator system acts as a translator between the instrument and the scientist, allowing the scientist to concentrate on interacting with the surface under study rather than on the computer interface or the STM itself. This system seeks to put the scientists on the surface, in control, while the experiment is happening--thus turning the STM from a remote, batch surface modifier into a real-time, user-guided surface modifier.

      Terrell, Jeffrey S. (2009)
      "Passive, automatic detection of network server performance anomalies in large networks"
      Under the direction of Kevin Jeffay
      Electronic copy available

      Network management in a large organization often involves, whether explicitly or implicitly, the responsibility for ensuring the availability and responsiveness of network resources attached to the network, such as servers and printers. For better or worse, users often think of the services they rely on, such as web sites and email, as part of the network. Although tools exist for ensuring the availability of the servers running these services, ensuring their performance is a more difficult problem.

      In this dissertation, I introduce a novel approach to managing the performance of servers within a large network broadly and cheaply. I continuously monitor the border link of an enterprise network, building for each inbound connection an abstract model of the application-level dialog contained therein without affecting the operation of the server or the quality of its service in any way. The measurement occurs in real-time, on commodity hardware. The method is capable of keeping up with traffic rates bursting to 600 megabits per second. The model, originally developed for realistic traffic generation, includes a measurement of the server response time for each request/response exchange, which is the fundamental unit of performance I use. I then aggregate days of the response times for a particular server into distributions. Over the course of many days, I use these distributions to define a profile of what the typical response time distribution is for that server, using methods originally developed for medical image analysis. New distributions of response times are then compared to the profile, and their dissimilarity determines the degree to which the new distribution is considered anomalous.

      I have applied this method to monitoring the performance of servers on the UNC campus. I have tested three months of continuous measurements for anomalies, for over two hundred UNC servers. I found that most of the servers saw at least one anomaly, although for many servers the anomalies were minor. I found seven servers that had severe anomalies corresponding to real performance issues. These performance issues were found without any involvement of UNC network managers, although I have verified two of the issues by speaking with network managers. I have investigated each of these issues using the contextual and structural information measured at the border link in order to diagnose the cause of the issue (to the extent possible given the purely passive measurement approach). I found a variety of causes: overloaded servers from increased demand, heavy-hitting clients, authentication problems, changes in the nature of the request traffic, server misconfigurations, etc. Furthermore, information about the structure of connections proved valuable to diagnosing the issues.

      Terriberry, Timothy B. (2006)
      "Continuous Medial Models in Two-Sample Statistics of Shape"
      Under the direction of Guido Gerig
      Electronic copy available

      In questions of statistical shape analysis, the foremost is how such shapes should be represented. The number of parameters required for a given accuracy and the types of deformation they can express directly influence the quality and type of statistical inferences one can make. One example is a medial model, which represents a solid object using a skeleton of a lower dimension and naturally expresses intuitive changes such as "bending", "twisting", and "thickening".

      In this dissertation I develop a new three-dimensional medial model that allows continuous interpolation of the medial surface and provides a map back and forth between the boundary and its medial axis. It is the first such model to support branching, allowing the representation of a much wider class of objects than previously possible using continuous medial methods.

      A measure defined on the medial surface then allows one to write integrals over the boundary and the object interior in medial coordinates, enabling the expression of important object properties in an object-relative coordinate system. I show how these properties can be used to optimize correspondence during model construction. This improved correspondence reduces variability due to how the model is parameterized which could potentially mask a true shape change effect.

      Finally, I develop a method for performing global and local hypothesis testing between two groups of shapes. This method is capable of handling the nonlinear spaces the shapes live in and is well defined even in the high-dimension, low-sample size case.  It naturally reduces to several well-known statistical tests in the linear and univariate cases.

      Thall, Andrew L. (2004)
      "Deformable Solid Modeling via Medial Sampling and Displacement Subdivision"
      Under the direction of Stephen M. Pizer
      Electronic copy available

      Discrete m-reps use tolerance-based, sampled medial skeleta as an underlying framework for boundaries defined by displaced subdivision surfaces. They provide local and global shape information, combining the strengths of multiscale skeletal modeling with the multi-resolution, deformation and shading properties afforded by subdivision surfaces. Hierarchically linked medial figures allow figural, object-based deformation, and their stability of object representation with respect to boundary perturbation shows advantages of tolerance-based medial representations over Blum axis and Voronoi-based skeletal models.

      M-rep models provide new approaches to traditional computer graphics modeling, to physically based modeling and simulation, and to image-analysis, segmentation and display, by combining local and object-level deformability and by explicitly including object-scale, tolerance and hierarchical level-of-detail. Sampled medial representations combine the solid modeling capabilities of constructive solid geometry with the flexibility of traditional b-reps, to which they add multiscale medial and boundary deformations parameterized by an object-based coordinate system.

      This thesis research encompassed conceptual development on discrete m-reps and their implementation for MIDAG (the Medical Image Display and Analysis Group) at UNC-Chapel Hill. Prototype and application code was created to support the following: medial atoms in 3D that included a quaternion frame to establish a local coordinate system; data structures for medial mesh topologies; a new algorithm for interpolating Catmull-Clark subdivision surfaces for m-rep boundaries; a medially based coordinate system parameterizing the m-rep boundary, interior, and local exterior; displacement texturing and displacement meshing of m-rep boundaries; methods of medially based deformation; figure/subfigure blending by implicit surface methods or (with Qiong Han) using remeshing of subdivision boundaries; and C++ code libraries for m-rep modeling in geometric design and image-segmentation applications.

      Along with discussion of these achievements, this document also includes discussions of current m-rep applications and of design-methodology issues for m-rep-based modeling systems.

      Thomas, Teresa A. (1988)
      "The Semantics of an FP Language with Infinite Objects"
      Under the direction of Donald F. Stanat
      Department of Computer Science Technical Report TR88-022
      Electronic copy available

      We describe an extension of Backus' FP (Functional Programming) languages to include infinite objects and discuss the semantic and mathematical issues surrounding the change. The extended languages, called SFP (Stream Functional Programming) Languages, satisfy the following desiderata:

      • The domain for FP is "embedded" in the new domain.
      • The new domain contains infinite objects, both those infinite in length and those infinitely nested.
      • The new language is not substantially different in syntax from Backus' language.
      • The primitive functions of an FP language extend in an intuitively satisfying way to continuous functions on the new domain.
      • The functional style of FP programming is preserved.
      • The algebra of FP programs survives with few changes.

      SFP differs from FP in that the domain for SFP contains infinite objects, approximations to complete objects, and top, used to denote an error. Approximations to complete objects include bottom and prefixes, where a prefix is a sequence that can be extended on the right. SFP uses a parallel outermost evaluation rule.

      Any monotonic function on the FP domain can be extended to a continuous function on the SFP domain. We describe a domain of objects, a collection of functions, and two semantics, one denotational and one operational, for SFP. We show that the two semantics define nearly the same language. The definitions of the primitive functions and functional forms, according to both the operational and denotational semantics, are given, as well as example programs.

      Tolle, Donald M. (1981)
      "Coordination of Computation in a Binary Tree of Processors: An Architectural Proposal"
      Under the direction of Gyula A. Mago

      A design is proposed for a cellular computer consisting of many processors, of two kinds, connected in the form of a binary tree. The design is inspired by and closely related to one recently presented by Mago. Both machines are intended for the highly parallel execution of the Formal Functional Programming (FFP) languages of Backus. These are high-level, general-purpose languages especially well suited for expressing parallel algorithms. Both machines, storage permitting, take advantage of all the parallelism expressed in a single program and can execute many programs simultaneously. Both machines, furthermore, decompose each primitive FFP operator into more elementary operations, many of which may be executable concurrently.

      In comparison to Mago's machine, the computer described here offers the possibility of a higher degree of concurrency below the FFP language level, has more powerful basic operations, and often requires less storage for the same computation. The individual processors of the computer are more complex than Mago's, but are still well suited for implementation in VLSI.

      The machine proposed here uses the syntactic structure of an FFP expression to guide the embedding of a syntactic network of nodes in the binary tree of machine cells. Execution of the FFP program is accomplished through operations performed by the embedded network of nodes. As new FFP expressions are produced during execution of the FFP program, corresponding new syntactic networks are automatically and dynamically embedded and used for further execution.

      A "Syntax Tree Language" (STL) for programming the embedded syntactic networks is specified in some detail. Several examples of the computational potential of the machine are presented, including primitive operators for sorting, for matrix multiplication, and for solving simultaneous linear equations.

      Tuck, Russell (1990)
      (Duke University)
      "Porta-SIMD: An Optimally Portable SIMD Programming Language"
      Under the direction of Frederick P. Brooks, Jr.
      (No UNC-Chapel Hill library copy)

      Existing programming languages contain architectural assumptions which limit their portability. I submit optimal portability, a new concept which solves this language design problem. Optimal portability makes it possible to design languages which are portable across various sets of diverse architectures. SIMD (Single-Instruction stream, Multiple-Data stream) computers represent an important and very diverse set of architectures for which to demonstrate optimal portability. Porta-SIMD (pronounced "porta-simm'd") is the first optimally portable language for SIMD computers. It was designed and implemented to demonstrate that optimal portability is a useful and achievable standard for language design.

      An optimally portable language allows each program to specify the architectural features it requires. The language then enables the compiled program to exploit exactly those features, and to run on all architectures that provide them. An architecture's features are those it can implement with a constant-bounded number of operations. This definition optimal portability ensures reasonable execution efficiency, and identifies architectural differences relevant to algorithm selection.

      An optimally portable language for a set of architectures must accommodate all the features found in the members of that set. There was no suitable taxonomy to identify the features of SIMD architectures. Therefore, the taxonomy created and used in the design of Porta-SIMD is presented.

      Porta-SIMD is an optimally portable, full-featured, SIMD language. It provides dynamic allocation of parallel data with dynamically determined sizes. Generic subroutines which operate on any size of data may also be written in Porta-SIMD. Some important commercial SIMD languages do not provide these features.

      A prototype implementation of Porta-SIMD has been developed as a set of #include files and libraries used with an ordinary C++ compiler. This approach has allowed more rapid prototyping and language experimentation than a custom compiler would have, but modestly constrained the language's syntax. The result is a very portable but only moderately efficient implementation. Porta-SIMD has been implemented for the Connection Machine 2, for Pixel-Planes 4 and 5, and for ordinary sequential machines.

      Optimal portability is an important new concept for developing portable languages which can handle architectural diversity. Porta-SIMD demonstrates its usefulness with SIMD computers.

      Turk, Gregory (1992)
      "Texturing Surfaces Using Reaction-Diffusion"
      Under the direction of Henry Fuchs
      Department of Computer Science Technical Report TR94-035
      Electronic copy available

      This dissertation introduces a new method of creating computer graphics textures that is based on simulating a biological model of pattern formation known as reaction-diffusion. Applied mathematicians and biologists have shown how simple reaction-diffusion systems can create patterns of spots or stripes. Here we demonstrate that the range of patterns created by reaction-diffusion can be greatly expanded by cascading two or more reaction-diffusion systems. Cascaded systems can produce such complex patterns as the clusters of spots found on leopards and the mixture of spots and stripes found on certain squirrels.

      This dissertation also presents a method for simulating reaction-diffusion systems directly on the surface of any given polygonal model. This is done by creating a mesh for simulation that is specifically fit to a particular model. Such a mesh is created by first randomly distributing points over the surface of the model and causing these points to repel one another so that they are evenly spaced over the surface. Then a mesh cell is created around each point by finding the Voronoi region for each point within a local planar approximation to the surface. Reaction-diffusion systems can then be simulated on this mesh of cells. The chemical concentrations resulting from such a simulation can be converted to color values to create a texture. Textures created by simulation on a mesh do not have the problems of texture distortion or seams between patches that are artifacts of some other methods of texturing.

      Two methods of rendering these synthetic textures are presented. The first method uses a new surface of triangles that closely matches the original model, but whose vertices are taken from the cells of the simulation mesh. These vertices are assigned colors based on the simulation values, and this re-tiled model can be rapidly displayed on a graphics workstation. A higher-quality image can be created by computing each pixel's color value using a weighted average of the chemical concentration at nearby mesh points. Using a smooth cubic weighting function gives a satisfactory reconstruction of the underlying function specified by the values at the mesh points. Several low-pass filtered versions of the texture are used to avoid aliasing when the textured object covers a small portion of the screen. The proper color value at a pixel is found by selecting from the appropriately filtered level.

      Vallidis, Nicholas Michael (2002)
      "Design of a Scalable Available Bandwidth Information Infrastructure"
      Under the direction of Gary Bishop
      Electronic copy available

      Tracking systems determine the position and/or orientation of a target object, and are used for many different purposes in various fields of work. My focus is tracking systems in virtual environments. While the primary use of tracking for virtual environments is to track the head position and orientation to set viewing parameters, another use is body tracking--the determination of the positions of the hands and feet of a user. The latter use is the goal for WHISPER.

      The largest problem faced by body-tracking systems is emitter/sensor occlusion.  The great range of motion that human beings are capable of makes it nearly impossible to place emitter/sensor pairs such that there is always a clear line of sight between the two. Existing systems either ignore this issue, use an algorithmic approach to compensate (e.g., using motion prediction and kinematic constraints to "ride out" occlusions), or use a technology that does not suffer from occlusion problems (e.g., magnetic or mechanical tracking devices). WHISPER uses the final approach.

      In this dissertation I present WHISPER as a solution to the body-tracking problem.  WHISPER is an acoustic tracking system that uses a wide bandwidth signal to take advantage of low frequency sound's ability to diffract around objects. Previous acoustic systems suffered from low update rates and were not very robust of environmental noise. I apply spread spectrum concepts to acoustic tracking in order to overcome these problems and allow simultaneous tracking of multiple targets using Code Division Multiple Access.

      The fundamental approach is to recursively track the correlation between a transmitted and received version of a pseudo-random wide-band acoustic signal. The offset of the maximum correlation value corresponds to the delay, which corresponds to the distance between the microphone and speaker. Correlation is computationally expensive, but WHISPER reduces the computation necessary by restricting the delay search space using a Kalman filter to predict the current delay of the incoming pseudo-noise sequence. Further reductions in computation expense are accomplished by reusing results from previous iterations of the algorithm.

      Varadhan, Gokul (2005)
      "Accurate Sampling-Based Algorithms for Surface Extraction and Motion Planning"
      Under the direction of Dinesh Manocha
      Electronic copy available

      Boolean operations, Minkowski sum evaluation, configuration space computation, and motion planning are fundamental problems in solid modeling and robotics. Their applications include computer-aided design, numerically-controlled machining, tolerance verification, packing, assembly planning, and dynamic simulation. Prior algorithms for solving these problems can be classified into exact and approximate approaches.  The exact approaches are difficult to implement and are prone to robustness problems. Current approximate approaches may not solve these problems accurately.  Our work aims to bridge this gap between exact and approximate approaches. We present a sampling-based approach to solve these geometric problems. Our approach relies on computing a volumetric grid in space using a sampling condition. If the grid satisfies the sampling condition, our algorithm can provide geometric and topological guarantees on the output.

      We classify the geometric problems into two classes. The first class includes surface extraction problems such as Boolean operations, Minkowski sum evaluation, and configuration space computation. We compute an approximate boundary of the final solid defined using these geometric operations. Our algorithm computes an approximation that is guaranteed to be topologically equivalent to the exact surface and bounds the approximation error using two-sided Hausdorff error. We demonstrate the performance of our approach for the following applications: Boolean operations on complex polyhedral models and low degree algebraic primitives, model simplification and remeshing of polygonal models, Minkowski sums and offsets of complex polyhedral models, and configuration space computation for low degrees of freedom objects.

      The second class of problems is motion planning of rigid or articulated robots translating or rotating among stationary obstacles. We present an algorithm for complete motion planning, i.e., finding a path if one exists and reporting a failure otherwise.  Our algorithm performs deterministic sampling to compute a roadmap that captures the connectivity of free space. We demonstrate the performance of our algorithm on challenging environments with narrow passages and no collision-free paths.

      Varshney, Amitabh (1994)
      "Hierarchical Geometric Approximations"
      Under the direction of Frederick P. Brooks, Jr.
      Department of Computer Science Technical Report TR94-050
      Electronic copy available

      This dissertation explores some techniques for automatic approximation of geometric objects. My thesis is that using and extending concepts from computational geometry can help us in devising efficient and parallelizable algorithms for automatically constructing useful detail hierarchies for geometric objects. We have demonstrated this by developing new algorithms for two kinds of geometric approximation problems that have been motivated by a single driving problem--the efficient computation and display of smooth solvent-accessible molecular surfaces. The applications of these detail hierarchies are in biochemistry and computer graphics.

      The smooth solvent-accessible surface of a molecule is useful in studying the structure and interactions of proteins, in particular for attacking the protein-substrate docking problem. We have developed a parallel linear-time algorithm for computing molecular surfaces. Molecular surfaces are equivalent to the weighted alpha-hulls. Thus our work is potentially useful in the application areas of alpha-hulls which include astronomy and surface modeling, besides biochemistry.

      We have defined the concept of interface surfaces and developed efficient algorithms for computation of surfaces at the interface of two or more molecular units. Interface surfaces are useful for visualizing the inter and intra-molecular interfaces and for characterizing the fit, or complementarity, of molecular interfaces.

      We have developed an algorithm for simplification of polygonal meshes. The simplified polygonal mesh has the following properties: (a) every point on it is within a user-specifiable distance (epsilon) from the input mesh, (b) it is topologically consistent with the input mesh (i.e. both have the same genus), (c) its vertices are a subset of the vertices of the input mesh, and (d) it is within a computable factor in complexity (in terms of number of faces) of the optimal mesh that satisfies (a), (b), and (c) (computing the optimal mesh is known to be NP-hard). We have accomplished this by transforming our problem to the set-partitioning problem.

      Walker II, John Q. (1991)
      "Automated Analysis of Computer-Generated Software Usage Protocols: An Exploratory Study"
      Under the direction of John B. Smith
      Electronic copy available

      Highly-interactive computer software can potentially help users think and work more effectively. To realize this potential, software developers should understand the cognitive processes involved in the tasks being performed and the ways users interact with the software to accomplish the tasks.

      Gathering data about software usage--called protocols--is costly in several ways, including preparing representative test scenarios, finding suitable subjects, training personnel to administer the tests and record the protocols, and collecting and coding the protocols. Similarly, analyzing protocols can be tedious, often done manually by skilled researchers. Because of their high costs, protocol studies frequently consist of a few subjects tested while performing synthetic tasks in an artificial setting. The value of these studies is limited both for software developers and researchers in human-computer interaction.

      This paper describes a method used to collect and analyze the protocols of a large number of subjects performing tasks in a naturalistic setting. An interactive computer program was developed as a testbed for this study. It contained an automatic tracker that unobtrusively collected protocol records of users' interactions with the program. Users' strategies in working with this program were modeled as a formal grammar, and a parser was devised, based on the grammar, to analyze protocol records produced by the program. Users' behaviors and strategies of working with the program were examined and characterized, based upon the parsed protocol data.

      A graphical structure editor was created as the testbed for this study; it assists in expository writing, such as technical journal articles, with special emphasis on the exploratory and organizational phases of the writing process. This paper discusses lessons learned in devising the grammar to model users' writing sessions with the editor, in building and refining the parser, and in analyzing the protocol records for 112 sessions collected from 29 subjects.

      Wang, Jih-Fang (1990)
      "A Real-time Optical 6D Tracker for Head-mounted Display Systems"
      Under the direction of Henry Fuchs
      Electronic copy available

      Significant advance has been made towards realistic synthesis and display of three-dimensional objects using computers during the past two decades. However, the interaction between human and computer-generated scenes remains largely remote through devices such as keyboards, mice, joysticks, etc. Head-mounted display provides a mechanism for much more realistic visualizing and interacting with computer-generated 3D scenes through the hand-eye-body coordination exercised daily. Head-mounted display systems require that the position and orientation of the user's head be tracked in real time with high accuracy in a large working environment. Current 6D positional tracking devices (3 translational and 3 rotational parameters) fail to satisfy these requirements.

      In this dissertation, a new system for real-time, six-dimensional position tracking is introduced, studied, and documented. This system adopts an inside-out tracking paradigm. The working environment is a room in which the ceiling is lined with a regular pattern of infrared LED beacons which are flashing (invisible to the human eyes) under the system's control. Three cameras are mounted on a helmet which the user wears. Each camera uses a lateral effect photodiode as the recording surface. The 2D image positions of the flashing beacons inside the field of view of the cameras are recorded and reported in real time. The measured 2D image positions and the known 3D positions of beacons are used to compute the position of the camera assembly in space.

      We have designed an iterative algorithm to estimate the 6D position of the camera assembly in space. This algorithm is a generalized version of the Church's method, and allows for multiple cameras with nonconvergent nodal points. Several equations are formulated to predict the system's error analytically, and the system's error is quantitatively studied and compared with the theoretical prediction. The requirements of accuracy, speed, adequate working volume, light weight and small size of the tracker are addressed. A novel approach to calibrate the positions of beacons automatically, is also proposed.

      A prototype was designed and constructed to demonstrate the integration and coordination of all essential components in the new tracker. This prototype uses off-the-shelf components and can be easily duplicated. Our results indicate that the new system significantly outperforms other existing systems. The new tracker prototype provides about 25 updates per second, and registers 0.1-degree rotational movements and 2- millimeter translational movements. The future full system will have a working volume about 1,000 cubic feet (10 ft on each side), and will provide more than 200 updates per second with a lag of less than 5 milliseconds by running on a faster processor.

      We aim at developing a new tracking system which offers a large working volume, high accuracy in the estimated head position, fast update rate, and immunity to the electro-magnetic interference of the environment. Such a system should find applications in many 6D position-reporting and input tasks.

      Wang, Xueyi (2008)
      "Exploring RNA and Protein 3D structures By Geometric Algorithms"
      Under the direction of Jack Snoeyink
      Electronic copy available

      Many problems in RNA and protein structures are related with their specific geometric properties. I investigate these geometric properties and explore three different ways that geometric algorithms can help to the study of the structures.

      *Determine accurate structures.* Accurate details in RNA structures are important for understanding RNA function, but most existing RNA backbone conformations show serious steric clashes. I developed a program RNABC using forward kinematics and conjugate gradient methods that searches for alternative clash-free conformations with acceptable geometry. Two tests show that RNABC improves backbone conformations for most problem suites in S-motifs and for many of the worst problem suites identified by the Richardson lab.

      *Display structure commonalities.* Structure alignment commonly uses root mean squared distance (RMSD) to measure structure similarity. I extend RMSD to weighted RMSD for multiple structures and show that using wRMSD with multiplicative weights implies the average is a consensus structure. I develop a near-linear iterative algorithm to converge to a local minimum of wRMSD and a heuristic algorithm to reduce the effect of outliers and find structurally conserved regions.

      *Distinguish local structural features.* Identifying common motifs is one way to further our understanding of the structure and function of molecules. I apply a graph database mining technique to identify RNA tertiary motifs. Tests show that this method can identify most known RNA tertiary motifs in these families and suggest candidates for novel tertiary motifs.

      Ward, Kelly Anne (2005)
      "Modeling Hair Using Levels-of-Detail"
      Under the direction of Ming C. Lin

      Modeling hair is important for creating realistic virtual humans in various applications. A human head typically contains over 100,000 strands of hair, each strand being extremely thin and thereby generating an intricate hair volume. Due to its complex nature, hair simulation, including the reproduction of interactions both among the hair strands and between the hair and the avatar, is computationally overwhelming. The rendering of hair is similarly challenging, particularly as a result of the shadows caused by hair self-occlusions. Consequently, many interactive applications in practice today are forced to overlook several complex features of hair in order to attain a desired performance. By simplifying the hair volume, these applications often compromise the visual quality of the hair. Moreover, they typically contain a considerable amount of unnecessary computation allocated towards strands of hair that have minimal significance to such applications.

      In this thesis, I introduce the use of levels of detail for modeling hair. Levels of detail enable a simulation to allocate the majority of computational resources towards modeling those strands of hair with the most significance to the application at hand. The methods I discuss are based on the use of three discrete hair representations: strips, clusters and strands. Each representation provides a different level of visual fidelity and performance speed for simulating and rendering hair. The visibility, motion and viewing distance of the hair, as well as the user's interaction, are considered in identifying those groups of hair with the greatest significance to the application. The techniques I present then accelerate the simulation and rendering of the hair strands with the lowest importance to the application, thereby accelerating the overall modeling of the hair.

      Moreover, in this dissertation I offer several techniques for dynamically changing the physical structure, behavior and appearance of hair as water or styling products are applied to it. These styling methods are then coupled with the level of detail framework to allow users to interactively style virtual hair.

      Weigle, Christopher Charles (2006)
      "Displays for Exploration and Comparison of Nested or Intersecting Surfaces"
      Under the direction of Russell M. Taylor II
      Department of Computer Science Technical Report TR06-026
      Electronic copy available

      The surfaces of real-world objects almost never intersect, so the human visual system is ill prepared to deal with this rare case. However, the comparison of two similar models or approximations of the same surface can require simultaneous estimation of individual global shape, estimation of point or feature correspondences, and local comparisons of shape and distance between the two surfaces. A key supposition of this work is that these relationships between intersecting surfaces, especially the local relationships, are best understood when the surfaces are displayed such that they do intersect. For instance, the relationships between radiation iso-dose levels and healthy and tumorous tissue is best studied in context with all intersections clearly shown.

      This dissertation presents new visualization techniques for general layered surfaces, and intersecting surfaces in particular, designed for scientists with problems that require such display. The techniques are enabled by a union/intersection refactoring of intersecting surfaces that converts them into nested surfaces, which are more easily treated for visualization. The techniques are aimed at exploratory visualization, where accurate performance of a variety of tasks is desirable, not just the best technique for one particular task. User studies, utilizing tasks selected based on interviews with scientists, are used to evaluate the effectiveness of the new techniques, and to compare them to some existing, common techniques. The studies show that participants performed the user study tasks more accurately with the new techniques than with the existing techniques.

      Weigle, Michele Aylene Clark (2003)
      "Investigating the Use of Synchronized Clocks in TCP Congestion Control"
      Under the direction of Kevin Jeffay
      Electronic copy available

      In TCP Reno, the most common implementation of TCP, segment loss is the sole indicator of network congestion. TCP Reno only adjusts to congestion when segment loss has been detected in the network, thus, TCP Reno's congestion control is tied to its error recovery mechanism.

      My dissertation thesis is that precise knowledge of one-way transit times (OTTs) can be used to improve the performance of TCP congestion control. Performance is measured in terms of network-level metrics, including packet loss and average queue sizes at congested links, and in terms of application-level metrics, including HTTP response times and throughput per HTTP response.

      A connection's forward path OTT is the amount of time it takes a packet to traverse all links from the sender to the receiver, including both propagation and queuing delays. Queues in routers build up before they overflow, resulting in increased OTTs. If all senders directly measure changes in OTTs and back off when the OTT indicates that congestion is occurring, congestion could be alleviated. I introduce a variant of TCP, called Sync-TCP, which uses synchronized clocks to gather a connection's OTT data. I use Sync-TCP as a platform for investigating techniques for detecting and responding to changes in OTTs.

      This dissertation makes the following contributions:

      • a method for measuring a flow's OTT and returning this exact timing information to the sender
      • comparison of several methods for using OTTs to detect congestion
      • Sync-TCP -- a family of end-to-end congestion control mechanisms based on using OTTs for congestion detection
      • study of standards-track TCP congestion control and error recovery mechanisms in the context of HTTP traffic

      I will show that Sync-TCP provides lower packet loss, lower queue sizes, lower HTTP response times, and higher throughput per HTTP response than TCP Reno. Additionally, I will show that Sync-TCP offers performance comparable to that achieved by using router-based congestion control mechanisms. If all flows use Sync-TCP to react to increases in queuing delay, congestion could be alleviated quickly. This would result in overall shorter queues, faster response for interactive applications, and a more efficient use of network resources.

      Welch, Gregory F. (1997)
      "SCAAT: Incremental Tracking with Incomplete Information"
      Under the direction of Gary Bishop
      Department of Computer Science Technical Report TR96-051
      Electronic copy available

      The Kalman filter provides a powerful mathematical framework within which ax minimum mean-square-error estimate of a user's position and orientation can be tracked using a sequence of single sensor observations, as opposed to groups of observations. We refer to this new approach as single-constraint-at-a-time or SCAAT tracking. The method improves accuracy by properly assimilating sequential observations, filtering sensor measurements, and by concurrently autocalibrating mechanical or electrical devices. The method facilitates user motion prediction, multisensor data fusion, and in systems where the observations are only available sequentially it provides estimates at a higher rate and with lower latency than a multiple-constraint approach.

      Improved accuracy is realized primarily for three reasons. First, the method avoids mathematically treating truly sequential observations as if they were simultaneous. Second, because each estimate is based on the observation of an individual device, perceived error (statistically unusual estimates) can be more directly attributed to the corresponding device. This can be used for concurrent autocalibration which can be elegantly incorporated into the existing Kalman filter. Third, the Kalman filter inherently addresses the effects of noisy device measurements. Beyond accuracy, the method nicely facilitates motion prediction because the Kalman filter already incorporates a model of the user's dynamics, and because it provides smoothed estimates of the user state, including potentially unmeasured elements. Finally, in systems where the observations are only available sequentially, the method can be used to weave together information from individual devices in a very flexible manner, producing a new estimate as soon as each individual observation becomes available, thus facilitating multisensor data fusion and improving the estimate rates and latencies.

      The most significant aspect of this work is the introduction and exploration of the SCAAT approach to 3D tracking for virtual environments. However I also believe that this work may prove to be of interest to the larger scientific and engineering community in addressing a more general class of tracking and estimation problems.

      Wendt, Jeremy (2010)
      "Real-Walking Models Improve Walking-In-Place Systems"
      Under the direction of Dr. Fred P. Brooks
      Electronic copy available

      Many Virtual Environment (VE) systems require a walking interface to travel through the virtual world. Real Walking the preferred interface is only feasible if the virtual world is smaller than the real-world tracked space. When the to-be-explored virtual world is larger than the real-world tracked space, Walking-In-Place (WIP) systems are frequently used: The user's in-place steps tell the WIP system how to move the virtual viewpoint through the virtual world. When the system-generated forward motions do not match the user's intended motions, the user becomes frustrated and the VE experience degrades.
      This dissertation presents two Real-Walking-based models that enable WIP systems to generate walking-like speeds. The ?rst (GUD WIP) calculates in-place step frequency even when only a portion of a step has completed. The second (The Forward Walking Model) measures a users step-frequency-to-walk-speed function in real-time from head-track data alone. The two models combined enable per-user-calibrated Real-Walking-like speeds from in-place gestures. This dissertation also presents two user studies that demonstrate that WIP systems which employ these models are better than a previous speed-focused WIP system.

      Westover, Lee A. (1991)
      "SPLATTING: A Parallel, Feed-Forward Volume Rendering Algorithm"
      Under the direction of Turner Whitted
      Department of Computer Science Technical Report TR91-029
      Electronic copy available

      Volume rendering is the generation of images from discrete samples of volume data. The volume data is sampled in at least three dimensions and comes in three basic classes: the rectilinear mesh--for example, a stack of computed tomography scans; the curvilinear mesh--for example, computational fluid dynamic data sets of the flow of air over an airplane wing; and the unstructured mesh--for example, a collection of ozone density readings at multiple elevations from a set of collection stations in the United States.

      Previous methods coerced the volumetric data into line and surface primitives that were viewed on conventional computer graphics displays. This coercion press has two fundamental flaws: viewers are never sure whether they are viewing a feature of the data or an artifact of the coercion process; and the insertion of a geometric modeling procedure into the middle of the display pipeline hampers interactive viewing.

      New direct rendering approaches that operate on the original data are replacing coercion approaches. These new methods, which avoid the artifacts introduced by conventional graphics primitives, fall into two basic categories: feed-backward methods that attempt to map the image plane onto the data, and feed-forward methods that attempt to map each volume element onto the image plane.

      This thesis presents a feed-forward algorithm, called splatting, that directly renders rectilinear volume meshes. The method achieves interactive speed through parallel execution, successive refinement, table-driven shading, and table-driven filtering. The method achieves high image quality by paying careful attention to signal processing principles during the process of reconstructing a continuous volume from the sampled input.

      This thesis' major contribution to computer graphics is the splatting algorithm. It is a naturally parallel algorithm that adheres well to the requirements imposed by signal processing theory. The algorithm has uncommon features. First, it can render volumes as either clouds or surfaces by changing the shading functions. Second, it can smoothly trade rendering time for image quality at several stages of the rendering pipeline. In addition this thesis presents a theoretical framework for volume rendering.

      Whitaker, Ross T. (1993)
      "Geometry-Limited Diffusion"
      Under the direction of Stephen M. Pizer
      Department of Computer Science Technical Report TR94-037
      Electronic copy available

      This paper addresses the problem of image segmentation and suggests that a number of interesting visual features can be specified as the boundaries of segments. It proposes a segmentation strategy that utilizes the local homogeneity of local image structure. Stable differential measurements are made via a variable-conductance diffusion process, sometimes called anisotropic diffusion. Anisotropic diffusion has been shown to preserve important image structure while reducing unwanted noise.

      A multi-scale approach to variable-conductance diffusion is described. This technique combines information at a range of scales and provides a means of obtaining precise boundaries of "large-scale'' objects in the presence of noise. These ideas generalize to incorporate multi-valued images and higher-order geometric structure. The result is a framework for constructing image segmentations based on the homogeneity of a set of descriptors. When applied to local image geometry, this method offers a means of breaking images into geometric patches that have interesting visual features as boundaries.

      Several examples of this framework are presented. While the diffusion of intensity provides a means of detecting edges, the diffusion of first-order information produces ridges and valleys. A combination of first-and second-order information provides a means of detecting the "middles" as well as the edges of objects. A proof of the geometric invariance under orthogonal group transformations is given. These same methods generalize to include systems of frequency-sensitive diffusion processes. These systems are useful for characterizing patches based on texture.

      An empirical investigation of these nonlinear diffusion processes shows they are stable in the presence of noise and offer distinct advantages over conventional linear smoothing. This analysis derives from a novel method for evaluating low-level computer-vision algorithms. The method uses ensembles of stochastically generated images to compute a set of statistical metrics which quantify the accuracy and reliability of a process. This evaluation offers a means of comparing different algorithms and exploring the space of free parameters associated with a single algorithm.

      Williams Jr., E. Hollins (1981)
      "Analysis of FFP Programs for Parallel Associative Searching"
      Under the direction of Donald F. Stanat

      The formal functional programming (FFP) languages proposed by Backus are capable of expressing unbounded parallelism. Mago has designed a cellular computer that can efficiently execute FFP programs and, within limits of machine size, accommodate the unbounded parallelism. In this work, several analysis techniques are presented and used to predict the execution time and storage requirements of FFP associative searching algorithms on the Mago machine. Both decomposable searching and closest point problems are investigated.

      Brute force, semi-parallel, and cell methods are presented for solving the decomposable searching problems. If the initial program expression is suitably placed in memory, analysis of the brute force algorithms yields complexity results of C(k) time and O(kn) space. These bounds are shown to be asymptotically optimal with respect to the problem and the machine.

      Brute force, semi-parallel, and divide-and-conquer solutions are presented for solving the closest point problems. Analyses of the semi- parallel algorithms yield complexity results of O(kn) time and space, which are shown to be asymptotically optimal.

      Estimates of execution times of fast associative searching algorithms on a hypothetical sequential machine are compared to estimates of the execution times for the same problem on the Mago machine. The results indicate that the Mago machine will perform faster on files of moderate to large size.

      Suggestions are given for new operators that would reduce the execution time and storage requirements of FFP programs.

      Willams, Thomas V. (1982)
      "A Man-Machine Interface for Interpreting Electron Density Maps"
      Under the direction of Frederick P. Brooks, Jr.

      I have designed and implemented a tool for biochemists to use for interpreting electron density maps of crystallized proteins. My work has been concentrated on the representation for electron density maps and on the man-machine interface.

      Interpreting an electron density map is a difficult pattern recognition problem requiring specialized knowledge of protein structure and global views of the map. The tool is an interactive graphics system in which the human makes strategy decisions and does global pattern recognition, naming and pointing to recognized features in the map. These features belong to a hierarchy of objects natural to the problem. The computer does local, anchored pattern recognition for indicated features, displays the map in a ridge line representation using color to encode the map's interpretation, and automatically builds a molecular model as the user identifies residues.

      A ridge line representation for maps was chosen because of the close correspondence of ridge lines to stick-figure models of molecules, because of the relatively few line segments required to display them, and because of the ease with which the density threshold can be changed in real time.

      Three different sets of people have interpreted electron density maps using this tool. A computer scientist (myself) interpreted a 2.5 A map of Staphyloccal nuclease in 26 hours. This was the first map I had ever interpreted. A highly-skilled professional biochemist interpreted a 3.0 A map of cytochrome b5 in 9 hours. A group of three biochemistry graduate students and post-doctoral fellows interpreted a 2.8 A map of cytochrome c550 in 22 hours. These three successful interpretations done in such relatively short times have shown that the system design is a good and useful one for this application.

      The contributions of this work to computer science are 1) a documented example of a good man-machine interface, 2) a detailed discussion of the major design decisions that I made, and 3) a demonstration of the usefulness of a ridge line representation for a scalar function of three variables.

      Wilson, Andrew Thomas (2002)
      "Spatially Encoded Image-Space Simplifications for Interactive Walkthrough"
      Under the direction of Dinesh Manocha
      Electronic copy available

      Many interesting geometric environments contain more primitives than standard rendering techniques can handle at interactive rates. Sample-based rendering acceleration methods such as the use of impostors for distant geometry can be considered simplification techniques in that they replace primitives with a representation that contains less information but is less expensive to render.

      In this dissertation we address two problems related to the construction, representation, and rendering of image-based simplifications. First, we present an incremental algorithm for generating such samples based on estimates of the visibility error within a region. We use the Voronoi diagram of existing sample locations to find possible new viewpoints and an approximate hardware-accelerated visibility measure to evaluate each candidate. Second, we present spatial representations for databases of samples that exploit image-space and object-space coherence to reduce both storage overhead and runtime rendering cost. The image portion of a database of samples is represented using spatial video encoding, a generalization of standard MPEG2 video compression that works in a 3D space of images instead of a 1D temporal sequence.  Spatial video encoding results in an average compression ratio of 48:1 within a database of over 22,000 images. We represent the geometric portion of our samples as a set of incremental textured depth meshes organized using a spanning tree over the set of sample viewpoints. The view-dependent nature of textured depth meshes is exploited during geometric simplification to further reduce storage and rendering costs. By removing redundant points from the database of samples, we realize a 2:1 savings in storage space and nearly 6:1 savings in preprocessing time over the expense of processing all points in all samples.

      The spatial encodings constructed from groups of samples are used to replace geometry far away from the user?s viewpoint at runtime. Nearby geometry is not altered.  We achieve a 10-15x improvement in frame rate over static geometric levels of detail with little loss in image fidelity using a model of a coal-fired power plant containing 12.7 million triangles. Moreover, our approach lessens the severity of reconstruction artifacts present in previous methods such as textured depth meshes.

      Wright, William V. (1972)
      "An Interactive Computer Graphics System for Molecular Studies"
      Under the direction of Frederick P. Brooks, Jr.

      The purpose was to investigate the feasibility and usefulness of an interactive computer system for a single field of scientific research. Such a system is a priori attractive only for fields of research which include a nontrivial mathematical model and in which the questions of interest cannot be answered purely by mechanical evaluations of this model.

      The approach was to select a client (a scientist with a suitable problem), to design an interactive system for investigating his problem, to build a useful subset of this system, to have the client use the system in a typical research environment, and to analyze the events of this entire procedure for principles to guide the design of other similar systems and of more general ones. The investigation of the conformations and interactions of protein molecules was chosen as the research field.

      Desiderata of the system design were to minimize the number and difficulty of actions that the user must execute to specify an operation on his model, and to develop ways to minimize the cost of implementation. A principle of design, brought to light by the study, was that the language used to specify operations on the model must be allowed to evolve as the system is used. That is, it must be an extensible language.

      The system developed during this study was found to be a useful tool for the investigation of protein structures. It is superior to the conventional technique of building physical models in that a model can be built and modified more quickly, it is more precise, and the internal potential energy of the structure can be computed easily and quickly. A computer model, however, is less visualizable than a physical model.

      The concept of an extensible system proved to be workable and to have many advantages, even though the current mechanism for extension imposed a substantial delay between the conception of a new function and its implementation. The design of a mechanism for on-line extension of the system is proposed.

      The extensible nature of the system also minimizes the implementation costs. Initially only a basic system is needed, and thereafter, it is extended only as required by the progress of the research for which it is being used. Moreover, the current system is structured so that parts of it can serve as the foundation of a similar system for another field of research, so the implementation costs of later systems can be lower.

      Wu, Changchang (2011)
      "Geometry-driven Feature Detection for Improving Geometric Reconstruction"
      Under the direction of Jan-Michael Frahm
      Electronic copy available

      Matching images taken from different viewpoints is a fundamental step for many computer vision applications including 3D reconstruction, scene recognition, virtual reality, robot localization, etc. The typical approaches detect feature keypoints based on local properties to achieve robustness to viewpoint changes, and establish correspondences between keypoints to recover the 3D geometry or determine the similarity between images. The invariance to viewpoint changes is challenged by the complexity of the distortions introduced through the projective transformations; the matching of typical local features is also inefficient due to the lack of local geometric information.

      This thesis explores the feature detection based on geometric information for improved projective invariance and semantic meaning. The main novel research contributions of this thesis are as follows. A projective invariant feature detection method by exploiting 3D structures that can be recovered from simpler stereo matching; an efficient 3D matching scheme to handle very large viewpoint changes, the proposed feature and its rich geometric dimension. A high-level feature detector that robustly extracts repetitive structures in urban scene, providing strong semantics for features and allowing efficient wide-baseline matching; a novel single-view reconstruction to densely recover the 3D geometry of the repetition-based features.

      Yakowenko, William J. (1999)
      "Propositional Theorem Proving by Semantic Tree Trimming for Hardware Verification"
      Under the direction of David A. Plaisted
      Electronic copy available

      The present work describes a new algorithm for testing the satisfiability of statements in propositional logic. It was designed to efficiently handle the most obvious kinds of pathological cases for the Davis-Putnam algorithm. Its performance is compared with a very efficient implementation of Davis-Putnam on a large number of problems and it is shown to be superior. A recently-developed version of Davis-Putnam with a related algorithmic enhancement is better still, but it is conjectured that the same enhancement can apply to the present work, with a similar boost in performance.

      Yang, Hua (2008)
      "Differential Tracking through Sampling and Linearizing the Local Appearance Manifold"
      Under the direction of Greg Welch
      Electronic copy available

      Recovering motion information from input camera image sequences is a classic problem of computer vision. Conventional approaches estimate motion from either dense optical flow or sparse feature correspondences identified across successive image frames. Among other things, performance depends on the accuracy of the feature detection, which can be problematic in scenes that exhibit view-dependent geometric or photometric behaviors such as occlusion, semitransparancy, specularity and curved reflections. Beyond feature measurements, researchers have also developed approaches that directly utilize appearance (intensity) measurements. Such appearance-based approaches eliminate the need for feature extraction and avoid the difficulty of identifying correspondences. However the simplicity of on-line processing of image features is usually traded for complexity in off-line modeling of the appearance function. Because the appearance function is typically very nonlinear, learning it usually requires an impractically large number of training samples.

      I will present a novel appearance-based framework that can be used to estimate rigid motion in a manner that is computationally simple and does not require global modeling of the appearance function. The basic idea is as follows. An n-pixel image can be considered as a point in an n-dimensional appearance space. When an object in the scene or the camera moves, the image point moves along a low-dimensional appearance manifold. While globally nonlinear, the appearance manifold can be locally linearized using a small number of nearby image samples. This linear approximation of the local appearance manifold defines a mapping between the images and the underlying motion parameters, allowing the motion estimation to be formulated as solving a linear system.

      I will address three key issues related to motion estimation: how to acquire local appearance samples, how to derive a local linear approximation given appearance samples, and whether the linear approximation is sufficiently close to the real local appearance manifold. In addition I will present a novel approach to motion segmentation that utilizes the same appearance-based framework to classify individual image pixels into groups associated with different underlying rigid motions.

      Yan, Jingyu (2009)
      "Articulated Non-Rigid Shape, Motion and Kinematic Chain Recovery from Video"
      Under the direction of Marc Pollefeys
      Electronic copy available

      Shape and motion recovery is an essential task for computer vision. One particular interest is to recover articulated shape and motion, e.g. human motion, from images or video. A system that can capture and recover articulated shape and motion has a wide range of applications in medical study, sports analysis and animation, etc.

      In this dissertation, we propose a factorization-based approach to recover the shape, motion and kinematic chain of an articulated object with non-rigid parts. Articulated motion with non-rigid parts is a good approximation to human motion, e.g. human body motion with non-rigid facial motion. In our approach, we model the articulated non-rigid motion using a set of intersecting motion subspaces. A motion subspace can model the motion of either a rigid or non-rigid articulated part. The intersection of the motion subspaces of two linked parts models the motion subspace of an articulated joint or axis. Our approach consists of a motion segmentation algorithm that segments articulated motions and an algorithm that automatically builds the kinematic chain of an articulated object based on motion segmentation. The shape and motion recovery is done via the factorization method for rigid or non-rigid parts of the object. We test our approach through synthetic and real experiments and demonstrate how to recover articulated structure and motion with non-rigid parts via a single-view camera without prior knowledge of its kinematic structure.

      Yang, Ruigang (2003)
      "View-Dependent Pixel Coloring - A Physically-Based Approach for 2D View Synthesis"
      Under the direction of Gregory Welch
      Electronic copy available

      The basic goal of traditional computer graphics is to generate 2D images of a synthetic scene represented by a 3D analytical model. When it comes to real scenes however, one usually does not have a 3D model. If however one has access to 2D images of the scene gathered from a few cameras, one can use view synthesis techniques to generate 2D images from various viewing angles between and around the cameras.

      In this dissertation I introduce a fully automatic, physically-based framework for view synthesis that I call View-dependent Pixel Coloring (VDPC). VDPC uses a hybrid approach that estimates the most likely color for every picture element of an image from the desired view, while simultaneously estimating a view-dependent 3D model of the scene. By taking into account a variety of factors including object occlusions, surface geometry and materials, and lighting, VDPC has produced superior results under some very challenging conditions, in particular, in the presence of textureless regions and specular highlights, conditions that cause conventional approaches to fail.

      In addition, VDPC can be implemented on commodity graphics hardware under certain simplifying assumptions. The basic idea is to use texture-mapping functions to warp the input images to the desired view point, and use programmable pixel rendering functions to decide the most consistent color for each pixel in the output image. By exploiting the fast speed and tremendous amount of parallelism inherent in today's graphics board, one can achieve real-time, on-line view synthesis of a dynamic scene.

      Yoo, Terry S. (1996)
      "Image Geometry Through Multiscale Statistics"
      Under the direction of Stephen M. Pizer
      Electronic copy available

      This study in the statistics of scale space begins with an analysis of noise propagation of multiscale differential operators for image analysis. It also presents methods for computing multiscale central moments that characterize the probability distribution of local intensities. Directional operators for sampling oriented local central moments are also computed and principal statistical directions extracted, reflecting local image geometry. These multiscale statistical models are generalized for use with multivalued data.

      The absolute error in normalized multiscale differential invariants due to spatially uncorrelated noise is shown to vary non-monotonically across order of differentiation. Instead the absolute error decreases between zeroth and first order measurements and increases thereafter with increasing order of differentiation, remaining less than the initial error until the third or fourth order derivatives are taken.

      Statistical invariants given by isotropic and directional sampling operators of varying scale are used to generate local central moments of intensity that capture information about the local probability distribution of intensities at a pixel location under an assumption of piecewise ergodicity. Through canonical analysis of a matrix of second moments, directional sampling provides principal statistical directions that reflect local image geometry, and this allows the removal of biases introduced by image structure. Multiscale image statistics can thus be made invariant to spatial rotation and translation as well as linear functions of intensity.

      These new methods provide a principled means for processing multivalued images based on normalization by local covariances. They also provide a basis for choosing control parameters in variable conductance diffusion.

      Yoon, Sung-Eui (2005
      "Interactive Visualization and Collision Detection using Dynamic Simplification and Cache-Coherent Layouts"
      Under the direction of Dinesh Manocha
      Electronic copy available

      Recent advances in model acquisition, computer-aided design, and simulation technologies have resulted in massive databases of complex geometric models consisting of more than tens or hundreds of millions of triangles. In spite of the rapid progress in the performance of CPUs and graphics processing units (GPUs), it may not be possible to visualize or perform collision detection between massive models at interactive rates on commodity hardware. In this thesis, we present dynamic simplification and cache-coherent layout algorithms for interactive visualization and collision detection between large models, in order to bridge the gap between the performance of commodity hardware and high model complexity.

      Firstly, we present a novel dynamic simplification algorithm that efficiently handles massive models for view-dependent rendering while alleviating discontinuity problems such as visual poppings that arise when switching between different levels of detail (LODs). We describe an out-of-core construction algorithm for hierarchical simplification of massive models that cannot fit into main memory. We also apply dynamic simplification to collision detection and introduce a new conservative distance metric to perform fast and conservative collision detection between massive models. Our approach is conservative in that it may overestimate the set of colliding primitives, but never misses any collisions.

      Secondly, we present novel cache-oblivious layout algorithms for polygonal meshes and hierarchies to minimize the expected number of cache misses for a wide variety of applications. Our layout algorithms only assume that runtime applications have random, but cache-coherent access patterns. However, we do not require any knowledge of cache parameters such as block and cache sizes. We demonstrate benefits of our layout algorithm on three different applications including view-dependent rendering, collision detection, and isosurface extraction.

      We have implemented our algorithms on a desktop PC and are able to achieve significant improvements over previous approaches and obtain interactive performance (more than 10 frames per second) on view-dependent rendering and collision detection between massive and complex models.

      Yushkevich, Paul A. (2003)
      "Statistical Shape Characterization Using the Medial Representation"
      Under the direction of Stephen M. Pizer
      Electronic copy available

      The goal of the research presented in this dissertation is to improve the clinical understanding of processes that act the shape of anatomical structures. Schizophrenia is an example of such a process: it is known to act the shape of the hippocampus, but the precise nature of the morphological changes that it causes is not fully understood.  This dissertation introduces novel statistical shape characterization methodology that can improve the understanding of shape-altering biological processes by (i) identifying the regions of the acted objects where these processes are most significantly manifested and (ii) expressing the ects of these processes in intuitive geometric terms. The following three new techniques are described and evaluated in this dissertation.

      1. In an approach motivated by human form perception, the shape characterization problem is divided into a coarse-to-fine hierarchy of sub-problems that analyze shape at diㄦent locations and levels of detail, making it pssible to compare the ects of shapealtering processes on diㄦent object regions. Statistical features are base on the medial (skeletal) object representation, which can be used to decompose objects into simple components called figures and to measure the bending and widening of the figures. Such features make it possible to express shape variability in terms of bending and widening.

      2. A new algorithm that identifies regions of biological objects that are most relevant for shape-based classification is developed. In the schizophrenia application, the algorithm is used to find the hippocampus locations most relevant for classification between schizophrenia patients and matched healthy controls. The algorithm fuses shape heuristics with existing feature selection methodology, ectively reducing the inherently combinatorial search space of the latter.

      3. Biological objects in 3D and 2D are described using a novel medial representation that models medial loci and boundaries using continuous manifolds. The continuous medial representation is used in the deformable templates framework to segment objects in medical images. The representation allows arbitrary sampling that is needed by the hierarchical shape characterization method.

      Zarling, Raymond L. (1976)
      "Numerical Solution of Nearly Decomposable Queuing Networks"
      Under the direction of Victor L. Wallace

      The applicability of an aggregation technique of Simon and Ando to the problem of finding the equilibrium probability vector of a finite, nearly decomposable Markov chain is investigated. The method involves using the solution of a nearly equal, decomposable system together with a limited knowledge of the small couplings between classes of the original chain to approximate the solution. Of central concern is the utility of the technique for an analysis of computer system models for specific levels of coupling, rather than for asymptotic analysis as the coupling tends to zero.

      The technique of aggregation is found to produce a result which is approximately correct with an error proportional to the size of the coupling in the original system. The constant of proportionality is exhibited and found to be large enough to prohibit use of the technique in many cases. The error is also found to depend in a critical way on the particular choice of decomposable matrix used to approximate the given system. A way is presented of choosing this decomposable matrix so that it yields an exact solution to the original problem.

      A condition number for the problem of aggregation is defined in connection with this error analysis. This number is shown to be a principal component of the constant of proportionality. It is large for a class of problems which were previously known to offer poor numerical properties, and some new classes of poorly conditioned problems are demonstrated. This refutes earlier conjectures that the aggregation algorithm could perform poorly only when some of the aggregates were themselves nearly decomposable.

      The condition number is also used to bound the rate of convergence of Wallace and Rosenberg's "Recursive Queue Analyzer", an iterative algorithm for finding equilibrium probability vectors of large chains. An optimal choice for a parameter of this algorithm is thereby demonstrated

      Zhang, Hansong (1998)
      "Effective Occlusion Culling for the Interactive Display of Arbitrary Models"
      Under the direction of Dinesh Manocha
      Electronic copy available

      As an advanced form of visibility culling, occlusion culling detects hidden objects and prevents them from being rendered. An occlusion-culling algorithm that can effectively accelerate interactive graphics must simultaneously satisfy the following criteria:

      • Generality. It should be applicable to arbitrary models, not limited to architectural models or models with many large, polygonal occluders.
      • Significant Speed-up. It should not only be able to cull away large portions of a model, but do so fast enough to accelerate rendering.
      • Portability and Ease of Implementation. It should contain as few assumptions as possible on special hardware support. It must also be robust (i.e. insensitive to floating-point errors).

      Based on proper problem decomposition and efficient representations of cumulative occlusion, this dissertation presents algorithms that satisfy all three of the criteria listed above. Occlusion culling is decomposed into two sub-problems-in order for an object to be occluded by the occluders, its screen-space projection must be inside the cumulative projection of the occluders, and it must not occlude any visible parts of the occluders. These two necessary conditions are verified by the overlap tests and the depth tests, respectively. The cumulative projection and the depth of the occluders are represented separately to support these tests.

      Hierarchical occlusion maps represent the cumulative projection to multiple resolutions. The overlap tests are performed hierarchically through the pyramid. The multi-resolution representation supports such unique features as aggressive approximate culling (i.e. culling away barely-visible objects), and leads to the concept of levels of visibility.

      Two depth representations, the depth estimation buffer and the no-background Z-buffer, have been developed to store the depth information for the occluders. The former conservatively estimates the far boundary of the occluders; the latter is derived from a conventional Z-buffer and captures the near boundary.

      A framework for a two-pass variation of our algorithms is presented. Based on the framework, a system has been implemented on current graphics workstations. Testing of the system on a variety of models (from 300,000 to 15 Million polygons) has demonstrated the effectiveness of our algorithms for the interactive display of arbitrary models.

      Zhang, Jingdan (2009)
      "Object Detection and Segmentation using Discriminative Learning"
      Under the direction of Leonard McMillan
      Electronic copy available

      Prior knowledge of shape and appearance plays an importance role in constraining solutions of object detection and segmentation. A promising approach for incorporating prior knowledge is to learn it directly from expert annotations using machine-learning techniques. Previously generative learning approaches or energy minimization methods have been used to achieve this goal. I propose a series of discriminative learning algorithms based on boosting principles to learn prior knowledge.

      For object detection, I present a learning procedure called Probabilistic Boosting Network (PBN) for real-time object detection and pose estimation. PBN integrates evidence from two building blocks, namely a multiclass classifier for pose estimation and a detection cascade for object detection. I implement PBN using a graph-structured network that alternates between the two tasks of object detection and pose estimation in order to reject negative cases as quickly as possible. Compared with previous approaches, PBN achieves higher accuracy in object localization and pose estimation with a noticeable reduction in computation.

      For object segmentation, I present a comparative study on how to apply three discriminative learning approaches - classification, regression, and ranking - to deformable shape segmentation that is I directly learn a fitting function to characterize the relationship between shape and image appearance. By casting the segmentation into a discriminative learning framework, the target fitting function can be steered to possess a desired shape for ease of optimization yet better characterize the relationship between shape and appearance. To address the high-dimensional learning challenge present in discriminative learning, I propose the multilevel and efficient sampling approaches. The experimental results demonstrate that the discriminative models outperform generative ones and energy minimization methods by a large margin.

      Zhang, Liangjun (2009)
      "Efficient Motion Planning using Generalized Penetration Depth Computation"
      Under the direction of Dinesh Manocha
      Electronic copy available

      Motion planning is a fundamental problem in robotics and also arises in other applications including virtual prototyping, navigation, animation and computational structural biology. It has been extensively studied for more than three decades, though most practical algorithms are based on randomized sampling. In this dissertation, we address two main issues that arise with respect to these algorithms: (1) there are no good practical approaches to check for path non-existence even for low degree-of-freedom (DOF) robots; (2) the performance of sampling-based planners can degrade if the free space of a robot has narrow passages.

      In order to develop effective algorithms to deal with these problems, we use the concept of penetration depth (PD) computation. By quantifying the extent of the intersection between overlapping models (e.g. a robot and an obstacle), PD can provide a distance measure for the configuration space obstacle (C-obstacle). We extend the prior notion of translational PD to generalized PD, which takes into account translational as well as rotational motion to separate two overlapping models. Moreover, we formulate generalized PD computation based on appropriate model-dependent metrics and present two algorithms based on convex decomposition and local optimization. We highlight the efficiency and robustness of our PD algorithms on many complex 3D models. Based on generalized PD computation, we present the first set of practical algorithms for low DOF complete motion planning. Moreover, we use generalized PD computation to develop a retraction-based planner to effectively generate samples in narrow passages for rigid robots. The effectiveness of the resulting planner is shown by alpha puzzle benchmark and part disassembly benchmarks in virtual prototyping.

      Zhang, Qi (2009)
      "Mining Massive Scientific Sequence Data using Block-wise"
      Decomposition Methods
      Under the direction of Wei Wang
      Electronic copy available

      The recent proliferation of high throughput technologies catalyzes the transformation of traditional science to data-driven science. The unprecedented growth of scientific datasets leads to the phenomenon of data rich but information poor, demanding for revolutionary knowledge discovery techniques to assist and accelerate scientific studies. In this dissertation, I present efficient data mining algorithms for knowledge discovery on two types of emerging large-scale sequence-based scientific datasets: 1) static sequence data generated from SNP diversity arrays for genomic studies, and 2) dynamic sequence data collected in streaming and sensor network systems for environmental studies. The massive, noisy nature of the SNP arrays and the distributive, online nature of sensor network data pose great challenges for knowledge discovery in terms of scalability, robustness, and efficiency. Despite the different characteristics and scientific application areas, the SNP arrays and the streaming and sensor data, as sequences of ordered observations, can be efficiently mined using algorithms based on block-wise decomposition methods.

      High-resolution Single Nucleotide Polymorphism (SNP) maps offer the most comprehensive resources of genetic variation and enable biologists to greatly accelerate the discovery of the genetic determinants of human diseases. In this dissertation, I proposed models and algorithms to efficiently infer genetic variation structure from the massive SNP panels of recombinant sequences resulting from meiotic recombination, one of the principal evolutionary forces shaping the genetic variations present in current populations. I introduced the Minimum Segmentation Problem (MSP) and the Minimum Mosaic Problem (MMP) to obtain the fine-scale analysis of the genetic variation in terms of the segmentation structure on a single recombinant strain as well as the mosaic structure on a panel of recombinant strains. Efficient algorithms based on block-wise decomposition are presented to solve MSP and MMP on genome-wide large-scale panels with biological noise such as point mutations, gene conversions, and genotyping errors.

      Large-scale deployment of wireless sensor networks to observe the natural environments, monitoring habitat and wild populations offers environmental and ecology scientists the access to enormous volumes of data collected from physically-dispersed locations in a continuous fashion. In this dissertation, I proposed efficient algorithms using block-wise synopsis construction to capture the data distribution online for the dynamic sequence data collected in the sensor network and streaming systems including clustering analysis and order-statistics computation, which is critical for real-time monitoring, anomaly detection, and other domain specific analysis.

      Zhu, Yunshan (1998)
      "Efficient First-Order Semantic Deduction Techniques"
      Under the direction of David A. Plaisted

      Mathematical logic formalizes the process of mathematical reasoning. For centuries, it has been the dream of mathematicians to do mathematical reasoning mechanically. In the TPTP library, one finds thousands of problems from various domains of mathematics such as group theory, number theory, set theory, etc. Many of these problems can now be solved with state of the art automatic theorem provers. Theorem proving also has applications to artificial intelligence and formal verification. As a formal method, theorem proving has been used to verify the correctness of various hardware and software designs.

      In this thesis, we propose a novel first-order theorem proving strategy--ordered semantic hyper linking (OSHL). OSHL is an instance-based theorem proving strategy. It proves first-order unsatisfiability by generating instances of first-order clauses and proving the set of instances to be propositionally unsatisfiable. OSHL can use semantics, i.e. domain information, to guide its search, just as a mathematician will study a diagram before diving deep into the proof of a geometry problem. OSHL allows a general form of semantics which is represented as a ground decision procedure on Herbrand terms. Term rewriting and narrowing are used in OSHL to handle equations. Theorem prover OSHL represents a novel combination of efficient propositional decision procedures, semantic guidance and term rewriting. We apply OSHL to planning problems. We analyze the complexity of ordered semantic hyper linking using a novel concept of theorem proving complexity measure. We compare the complexity with those of common theorem proving strategies. We show that OSHL is both practically and asymptotically efficient.

      Zimmerman, John B. (1985)
      "The Effectiveness of Adaptive Contrast Enhancement"
      Under the direction of Stephen M. Pizer

      A significant problem in the display of digital images has been the proper choice of a display mapping which will allow the observer to utilize well the information in the image. Recently, contrast enhancement mappings which adapt to local information in the image have been developed. In this work, the effectiveness of an adaptive contrast enhancement method, Pizer's Adaptive Histogram Equalization (AHE), was compared to global contrast enhancement for a specific task by the use of formal observer studies with medical images. Observers were allowed to choose the parameters for linear intensity windowing of the data to compare to images automatically prepared using Adaptive Histogram Equalization. The conclusions reached in this work were:

      • There was no significant difference in diagnostic performance using AHE and interactive windowing.
      • Windowing performed relatively better in the mediastinum than in the lungs.
      • There was no significant improvement over time in the observers' performance using AHE.
      • The performances of the observers were roughly equivalent.

      An image quality measure was also developed, based upon models of processing within the visual system that are edge sensitive, to allow the evaluation of contrast enhancement mappings without the use of observer studies. Preliminary tests with this image quality measure showed that it was able to detect appropriate features for contrast chances in obvious targets, but a complete evaluation using subtle contrast changes found that the measure is insufficiently sensitive to allow the comparison of different contrast enhancement modalities. It was concluded that limiting factors affecting the measure's sensitivity included the intrinsic variation in normal image structure and spatial and intensity quantization artifacts. However, humans were able to reliably detect the targets used in the experiment.

      This work suggests that 1) the use of adaptive contrast enhancement can be effective for the display of medical images and 2) modeling the eye's detection of contrast as an edge-sensitive process will require further evaluation to determine if such models are useful.

      Zimmons, Paul Michael (2004)
      "The Influence of Lighting Quality on Presence and Task Performance in Virtual Environments"
      Under the direction of Frederick P. Brooks, Jr.
      Electronic copy available

      This dissertation describes three experiments that were conducted to explore the influence of lighting in virtual environments.

      The first experiment (Pit Experiment), involving 55 participants, took place in a stressful, virtual pit environment. The purpose of the experiment was to determine if the level of lighting quality and degree of texture resolution increased the participants' sense of presence as measured by physiological responses. Findings indicated that as participants moved from a low-stress environment to an adjacent high-stress environment, there were significant increases in all physiological measurements; and the experiment did not discriminate between conditions.

      In the second experiment (Gallery Experiment), 63 participants experienced a non-stressful virtual gallery. This experiment studied the influence of lighting quality, position, and intensity on movement and attention. Participants occupied spaces lit with higher intensities for longer periods of time and gazed longer at objects that were displayed under higher lighting contrast. This experiment successfully utilized a new technique, attention mapping, for measuring behavior in a three-dimensional virtual environment. Attention mapping provides an objective record of viewing times which can be used to examine and compare the relative importance of different components in the environment.

      Experiment 3 (Knot Experiment) utilized 101 participants to investigate the influence of three lighting models (ambient, local, and global) on object recognition accuracy and speed. Participants looked at an object rendered with one lighting model and then searched for that object among distractor objects rendered with the same or different
      lighting model. Accuracy scores were significantly lower when there were larger differences in the lighting model between the search object and searched set of objects. Search objects rendered in global or ambient illumination took significantly longer to identify than those rendered in a local illumination model.

      Document Actions