Fast Filament Tracking Using Graphics Hardware

Size: px
Start display at page:

Download "Fast Filament Tracking Using Graphics Hardware"

Transcription

1 Fast Filament Tracking Using Graphics Hardware David Mayerich Department of Computer Science Texas A&M University College Station, TX Brain Networks Lab Texas A&M University TAMU-CS-TR Zeki Melek Department of Computer Science Texas A&M University College Station, TX John Keyser Department of Computer Science Texas A&M University College Station, TX ABSTRACT Recent developments in biomedical imaging are producing massive data sets containing structures, such as fine filaments, that are difficult to visualize. In this paper, we describe a method for tracking filaments and show how this technique can be used for segmentation and visualization. Instead of segmenting individual slices of a 3D data set, a large volume is processed allowing the filaments to be traced in a local frame positioned along the filament path. Images of cross sections of the filament are processed to predict the filament trajectory and trace the filament. Because only information local to the filament is processed, this technique has a speed advantage over segmentation of individual images. We show that this algorithm is easily extended to use graphics hardware in order to take advantage of parallelism and cope with the massive data sets produced using these imaging methods. Finally, we show how these techniques can be used to aid in the visualization of complex filament networks. Categories and Subject Descriptors E.4 [Image Processing and Computer Vision]: Image Representation; I.3.5 [Computer Graphics]: Computational Geometry and Object Modeling object hierarchies; I.4 [Image Processing and Computer Vision]: Reconstruction General Terms Biomedical, Fiber, Filament mayerichd@neo.tamu.edu melekzek@neo.tamu.edu keyser@cs.tamu.edu 1. INTRODUCTION Volumetric data sets containing fibrous structures present a unique problem in visualization. Such sets often include dense, branching filamentary networks. In order to allow any useful visualization of this data, it is usually necessary to first segment the filaments, and then subsequently visualize that segmented data. One approach to labeling structures in biomedical imaging is to use contouring methods such as marching cubes [13]. These techniques involve identifying a threshold in the data and separating values above and below the contour defined by that threshold with a polygonal surface. Such thresholding methods are ill-suited to high-frequency data such as filament networks because gradual changes in contrast and noise can cause gaps and stray polygons that do not truly represent the filament surface (Figure 2). In addition, there is no straightforward way to extract connectivity information from the polygonal surface. In this paper, we propose a new method for fast filament tracking in dense branching data sets. Given a volumetric data set, we segment the filament information, making it suitable for subsequent visualization (or other analysis). Our algorithm estimates the inter-connectivity of the filaments, allowing our output to be used as input to network analysis algorithms. We demonstrate how this can be used to separate independent networks for visualization (Figure 1). We further demonstrate that the techniques involved are particularly appropriate for implementation on graphics hardware. These techniques are highly parallel and provide an extensible tool for use in large-scale data sets. 2. PREVIOUS WORK The general topic of segmentation of volumetric data is fundamental to many visualization approaches. It has been widely studied over a long period of time, and entire books have been written on the topic. We will not attempt to review all such relevant approaches here, but rather focus on filament segmentation. We first note that a different form of filament tracing/tracking has also been widely used for analyzing Diffusion Tensor

2 Figure 1: Microvasculature of the mouse spinal cord (512 x 512 x 512 voxels). Fibers are traced and two local networks (purple, green) are labeled and visualized using our algorithms. Imaging (DTI) data (see, e.g. [18][21][12]). Such work is quite different from our own. DTI filament tracking methods seek to derive paths of flow from sampled vector data. A variety of streamline, tube, and glyph based visualization methods are then used to display the results. In contrast, we deal with the segmentation of filamentary structures contained within volumetric data. These structures represent actual filament data contained in the imaged tissue (ex. neuron filaments and blood vessels). Filamentary tracing has wide applicability in biomedicine, such as in the cases of confocal and multi-photon image stacks [8] and serial electron microscopy [11][7]. Most existing filament tracing algorithms for microscopy data are designed to work on two-dimensional images of filaments, such as those from retinal vasculature [5][4]. Similar filament segmentation from other fields is also primarily twodimensional [2]. These techniques have been extended for use in confocal image stacks [1] in three dimensions, however seed point selection using projective techniques becomes impossible in modern data sets with thousands of filaments. In addition, these programs have difficulty in dense, convoluted data sets containing many neighboring and branching filaments as well as filaments where the surface is not well defined. A significant amount of prior work has been done in vascular segmentation, much of which is fibrous in nature. Some of this work is highly specific, and not generalizable to other types of data [6][9]. Other methods, such as those that evolve level sets [14], can be used to contour the filament surface but require some representation of the medial axis to be user-specified. We are unaware of any prior approaches to segmenting 3D filaments from dense volumetric data, particularly with support for graphics hardware in order to increase segmentation speed. 3. FIBER TRACKING We track individual filaments through a data set using a predictor corrector algorithm (Figure 3). We assume that we Figure 2: Fibrous structures are difficult to segment using contouring algorithms since firm thresholds are difficult to find in data sets that are low-contrast or contain noise. Using a low threshold on vascular data above shows disconnected filaments and segmented noise (left). Increasing the threshold to connect the filaments results in a high volume of undesirable and noisy surface data (right). are given an initial point on the central axis of some filament (see section 5). We place a tracer, consisting of a position and a direction vector, representing some initial estimate of the filament trajectory (if no direction estimate exists, we use a random vector). A predictor scheme is then used to update the tracer direction vector by refining the current estimate of the filament direction. A new point is calculated along the estimated trajectory (Section 3.1). Next, a correction algorithm is used to further refine the position of the new tracer so that it lies on the filament axis (Section 3.2). In addition, the radius of the filament is estimated during each iteration (Section 3.3). This allows us to store details about the structure of the filament and aids in the predictor-corrector scheme described below. Figure 3: A predictor-corrector algorithm. An initial guess is made based on local information. Assuming the guess is correct, a step is taken along the estimated trajectory. Due to errors in sampling, a second algorithm revises the prediction based on new information. 3.1 Predicting Trajectories Assume that we are given a tracer which consists of: a position p on/near the medial axis of the filament a direction v containing an initial estimate of the filament trajectory

3 We first take a series of samples to refine the trajectory estimate v. These samples consist of a series of vectors within a solid angle α of the initial estimate v. Each sample vector is then evaluated to determine its suitability as an estimate of the filament trajectory at the current tracer position p. We now discuss the cost function used to evaluate each sample vector. For each sample, we take a two-dimensional image, or snapshot, orthogonal to the sample direction (Figure 4) at p. This snapshot represents an image of the crosssection of the filament. In the ideal case where the sample perfectly matches the filament trajectory, the snapshot will show a circle (for now we assume that our filaments have circular cross-sections). We determine the circularity of the cross-section of the filament for each sample by computing the cost function c 1 = w(x, y) p image(x, y) f template (x, y) (1) where the p image(x, y) is a point on the cross-sectional image for the computed sample, f template (x, y) is a specified template function and w(x, y) is a windowing function. The function f template (x, y) is a user specified approximation to the appearance of the cross section of the filament. In the case of our example data sets, this approximation is given by The use of a single cross-sectional image along the sample vector works well for very clean data sets, however noise and contrast fluctuations are frequently present in biomedical data. In these cases, we take two or more cross-sectional sub-samples spaced evenly along the sample direction. The distance between p and the furthest sample plane is userdefined but scales linearly with the estimate of the filament cross-section (Section 3.3). By default, this distance is equal to the size of the sample plane, causing our algorithm to sample a cube-shaped volume aligned along each direction estimate. We have found that this gives significant improvements in fluorescence microscopy when the filament diameter approaches the maximum resolution of the imaging technique. 3.2 Axis Correction Once a new point is created along the filament path, there is generally some error in the point position due to the finite number of samples taken in the predictor stage. Correction is performed by taking a second series of samples that are used to adjust the tracer position p. Instead of sampling a series of tracer directions, we sample a set of tracer positions. Each sample lies in the plane defined by the new vector v within a certain region ɛ from p. The cost function used to evaluate each sample point is given by c 2 = [p image(x, y)g(x, y)] (3) f template (x, y) = 1.0 G(x, y) (2) where G is a Gaussian function scaled to the range between 0.0 and 1.0 with a standard deviation approximately equal to the filament radius. We have found that, using the Gaussian as a template, we achieve good results with most crosssection shapes, although best results are achieved when the fiber cross-section is rotationally invariant. The windowing function is used to eliminate the effect of filaments that may be near the filament under consideration. For w(x, y) we used a Gaussian slightly wider than the template function. Figure 4: View vector samples are taken by sampling rays that intersect a surrounding cube (left). The sample itself is an image made up of a cross section of the data set taken just ahead of the camera at each of the sample points (right). An optimal direction estimate v is selected by finding the sample view vector with the lowest cost (i.e. the vector that produces a cross-section image most closely matching the template). The tracer position is then moved to the point p = p + v. where the values for p image and G are as described above. The sample with the lowest value c 2 is selected as the new tracer position. This equation assumes that the filament is dark (in a generally light data set). We can handle the other case by either inverting the cross-section image or the gaussian (i.e. 1 G(x, y)) This is similar to a simple correlation algorithm [10]. We could also use the cost function specified for prediction, but found this function to be less sensitive to filament diameter. In addition, there was no need for a windowing function, so the cost evaluation requires fewer operations. 3.3 Estimation of Fiber Radius We would like our final network to contain an estimate of filament radius. Radius information allows simple three dimensional models to be created from the data set. Additionally, estimation of the radius of the filament allows us to dynamically adjust the size of the template and window functions used in the predictor and corrector cost functions. As the size of these functions approach the size of the filament cross-section, the accuracy of the algorithm improves. After p has been calculated using the predictor-corrector described above, the radius of the filament is determined using the predictor cost function c 1. An example of using the tracing algorithm to track a sequence of fibers is shown in Figure 5. Depending on the types of data being analyzed, degenerate cases in tracing have to be dealt with. These include branching and filament termination. The termination of filaments is handled by implementing constraints on filament size and detecting

4 Figure 5: Tracing a fiber through a volumetric data set. self-intersections. As the end of a filament is reached, the calculated filament diameter will tend to decrease dramatically or (depending on the data set and user settings) the tracer will spin around and begin re-tracing the filament. In the first case, the filament is terminated by constraining the filament diameter to some minimum value. Detecting selfintersections and branching are described in the following section. 4. IMPLEMENTATION ON GRAPHICS HARD- WARE The techniques described above are well suited for implementation on modern graphics hardware. The larger onboard memory available in current graphics processors allows a large data set to be loaded into texture memory as a 3D texture. The cross-sectional sub-samples can then be specified using texture coordinates on a quadrilateral and rendered to a texture. This allows the GPU to perform accelerated texture lookup and interpolation. Samples are taken by specifying geometry for each of the integrators. This geometry is specified as a series of quadrilaterals that have coordinates in both geometry-space and texture-space. In geometry-space, the quadrilaterals are specified so that they can easily be projected onto a large texture. In texture-space, the coordinates represent the positions of the sample planes in the data set (Figure 6). The geometry for all three integrators is computed and stored in a series of display-lists in graphics memory, allowing the samples to be rendered quickly. The geometry is translated, rotated, and scaled through the data set as necessary by specifying a texture matrix with the appropriate affine transformations. This allows the texture-space geometry to be transformed to the tracer position, orientation, and scale. The final integrator estimate is calculated in four passes. After sampling, evaluation of the cost function for each sample is performed entirely using a fragment shader: In order to take advantage of the fragment shader pipeline, the cost functions for all samples are computed in parallel. The template, windowing, and correcting functions (Equations 1-3) are pre-computed and stored as textures. Render the sample geometry to a texture Evaluate the cost function (inside the integral) Perform the integration (convolution to a single value) Copy the final cost values from the GPU Figure 6: The image representing each sample is rendered by the GPU to a texture (left). Each column represents a different sample direction v while each row represents a sub-sample along v. A side view of the tracer (right) is shown for a single sample vector and four sub-samples (s 1 to s 4). 4.1 Sampling and Evaluation 4.2 Branch Detection Branches occur within the data set when two filaments intersect each other. During each iteration of the prediction and correction cycle, we search for intersections between previously traced filaments and the current view volume of the tracer (as specified by the range of samples taken along v starting at position p. This is done using the selection buffer and name stack. As threads are generated using our algorithm, they are added to a display list of line segments. This display list can be quickly rendered and clipped to the tracer view volume during each integration step. If any pixels are rendered to the selection buffer, an intersection has been detected. We can then do a binary search through all filaments to find the closest point on the intersected filament to the current tracer

5 position. These two points are connected by the line segment and the tracing process is terminated for the current filament. In addition to testing intersections with all other filaments, we also have to take a step to test for self intersection. We use a similar method, however the geometry of the current filament has to be sent to the graphics card in immediate mode because the geometry is still under development. For a single filament, this causes very little performance loss. 4.3 Implementation We have implemented both CPU and GPU based algorithms for comparison. The most time-consuming step in evaluating the filament path for both CPU and GPU algorithms is the prediction step. This is because prediction generally requires more samples than correction or sizing. The time required to detect filament intersections is negligible and detecting the precise intersection point is only required when an intersection is detected and the filament is terminated. In order to give an overview of the effectiveness of our GPU implementation, we provide an analysis of the prediction step. We compare four implementations in Figure 7. Full CPU-based implementation (single-core) Full CPU-based implementation (quad-core) CPU-based evaluation (GPU performs sampling) Full GPU-based implementation The majority of time on all hardware tested is spent interpolating samples. As expected, using the GPU for sampling provides the largest factor of speedup (comparable to running in parallel on four separate processors). In the case of using the graphics hardware for sampling and the CPU for evaluation of the cost function, the transfer of data across the PCI-Express bus is the major bottleneck. When the GPU is fully utilized, performing all computation on the graphics card provides around a 4X to 5X speedup over only using the GPU for sampling. As the number of fragment processors increases, we would expect this factor to become larger, however sampling remains a bottleneck even in the full GPU implementation. For most data sets, 256 to 512 sub-samples provides a sufficient prediction. If the hardware is not fully utilized, we can trace multiple filaments simultaneously. The only information dependent between processes is the geometry of the filaments that are under construction. This requires testing for intersections between filaments at each tracing step. The only other requirement for tracing multiple filaments simultaneously on the GPU is sending an additional transformation matrix representing each additional tracer state. 5. SEED POINTS In order for our algorithm to properly execute, an initial state for the tracer has to be determined. We create initial values for the integrators using seed points to select filaments. We define a seed point as a location in 3D space inside of (or at least close to) a filament to be traced. In this section, we discuss how to initialize a tracer using a seed point as well as some techniques for automating seed point selection. We create initial tracer states from seed point positions in the following way: Two tracer points are placed at the same seed point position. Prediction, correction, and sizing algorithms are run on one of the tracer positions. The same filament size and position, but the opposite trajectory is associated with the second seed point. Using a 3D picking algorithm, seed points can be placed in a data set manually by a user. These seed points are then used to create initial tracer positions that act as the initial points of filaments. Manual seed point placement works well for data without a clearly defined filament surface (such as Array Tomography). In addition, manual placement allows the user to select particular filaments of interest. We would, however, like to automate seed point selection as much as possible. For automation, it is important to note that we are not too concerned with specifying several seed points for a filament. If a single filament is seeded more than once, our tracing algorithm simply terminates extra seed points before they start by detecting an intersection during the first iteration of the tracing algorithm. Calculating this takes some time, however, so we want to limit the number of seed points created. We have used two methods to automate seed point specification: Create seed points on a grid throughout the data set. Eliminate seed points when the data at their interpolated position is below above some user specified threshold. Specify a random scattering of seed points in a user specified region, eliminating points above threshold. We have found that high-contrast data sets such as CT (supplementary video) can be traced completely automatically using these methods. Data sets that contain noise or other structures of comparable contrast to the filament data generally require semiautomated refinement (particularly with smaller filaments) after some initial seeds are automatically placed. 6. FILAMENT SEGMENTATION Because of the inherent complexity of 3D filament data, effective visualization can be difficult. As an example of the usefulness of the network structure created by our tracing algorithm, we demonstrate how this information can aid in the compression and visualization of filament data. The first step in segmentation is to create an effective bounding around the filaments. This will allow us to cull extra

6 Figure 7: Average time to make a single prediction based on the number of cross-sections (left) and speedup provided by the full GPU implementation (right). data (i.e. noise and non filamentary structures) from the data set. Given a sequence of line segments and filament diameters, we would like to create a bounding volume around the filament that has several key features: The bounding volume should store a minimum amount of voxel data required to reconstruct the filament. The mapping from our structure to the original data set should not require that the data be re-sampled. That is, we want to retain the original volumetric data. We require that the structure store all of the necessary information to reconstruct the filament independently of all other filaments. Figure 8: The bounding volume containing two spheres at points p 1 and p 2 with radii r 1 and r 2 respectively (left). This guarantees a bound around the segment independent of the orientation or positions of neighboring segments. As neighboring segments are considered, the bounding boxes overlap (right). In order to maintain simple one-to-one mapping between the original data and the bounding structure, we use Axis- Aligned Bounding Boxes (AABBs). The voxel data stored inside the AABB can be inserted or extracted from the original image without re-sampling. The overhead for an AABB is also minimal, requiring a single position and a size along each axis. n i = pi+1 pi 1 p i+1 p i 1 (4) In the following sections we will discuss our implementation of a general method for bounding the filament information and introduce the techniques we use to minimize the bounding volume. 6.1 Bounding a Segment Given a single filament segment as two points with radii, we can guarantee that the filament segment will be bounded by creating a bounding box around two spheres positioned at the points p 1 and p 2 with radii r 1 and r 2 (Figure 8a). As neighboring segments are considered, however, the bounding volumes contain a significant amount of overlap (Figure 8b). In order to limit the amount of redundant information in the bounding volume and create a better description of the structure of the filament, we consider a series of truncated generalized cones (TGCs) (Figure 9). Given the point p i with radius r i, we construct a series of end caps centered at p i with normal n i computed by If p i+1 or p i 1 does not exist, we simply use the local vector (p i p i 1 or p i+1 p i, normalized). For the majority of line segments, we can construct a bounding box containing the two end caps and rely on the bounding boxes of neighboring segments to contain the rest of the filament information. This is only untrue when a filament terminates. In this case, a sphere of radius r i is used to describe the end cap at point p i, as shown previously (Figure 10). In order to bound a TGC, we want to bound the convex hull of the end caps inside of an AABB. This can be done by finding the extrema (along all three axes) of the circles representing the end caps. For each axis, this is computed by projecting the axis vector onto the plane containing the circle, normalizing, and scaling by the radius of the circle. The maximum extents of the end cap specified by radius r and normal n can be found by evaluating

7 Compression Scheme Compression Volume Culled Blood Vessels None 1 0% Sphere Endcaps % TGCs % Neurons Sphere Endcaps % TGCs % Figure 9: Truncated generalized cones are defined using a center point, normal, and radius for each end cap (left). The filament tracing algorithm provides only a single radius measure for each point, therefore all cone end caps are assumed to be circular. The end caps are aligned by setting the normal equal to the average of the filament trajectories entering and leaving the circle (right). Figure 10: A series of AABBs used to bound a filament defined by a sequence of TGCs. A sphere is used as the final end cap to ensure that features at the tip of the filament are maintained. Overlap between AABBs is shown in blue. r( n x) n v = ± ( n x) n where x is a vector representing the axis along which we want to find the extents. However, since our end caps are circular and we are using axis-aligned planes as the bounding volume, these calculations can be simplified. The minimum and maximum extents v of the circle along a given axis x (e.g. x = [ ] ) can be calculated by simply scaling the radius based on the angle between x and n: (5) v = ±r(1 n x ) (6) 7. RESULTS We have used the described techniques to segment neurons from several biomedical data sets. Filament tracking is used in all cases. We also provide examples of using our volume culling algorithm to improve visualization, reduce storage requirements, and allow selection and visualization of embedded filament networks. 7.1 Tracking Table 1: The degree of compression for the KESM data set. We compare the size of the original data, segmentation by bounding with spheres, and the final filament blocking technique discussed above. We provide the overall reduction in storage requirements for the network, as well as the percentage of the volume culled. For our first example, we trace neuronal processes in a data set acquired using Array Tomography (AT) [17] and brain vasculature in a data set acquired using Knife-Edge Scanning Microscopy (KESM) [16] (Figure 11 and supplementary video). AT is very difficult to segment using standard techniques because the uneven stain distribution within the cells makes the filament surface difficult to define. KESM is a challenge for standard algorithms because the data set contains cellular information outside the filament network that tend to interfere with segmentation. We have found that our algorithm is more stable than [1], particularly in the case of noisy data where the filament surface is not well defined. This is partially due to the limited number of samples used (a subset of those used in our algorithm) and their localization to the filament surface. However, our algorithm requires the filament cross-section to be mostly rotationally invariant. Although we can trace a filament with a convex/concave surface, our algorithm would have difficulties (i.e. inaccurate radius estimates) with dense groups of filaments having strong convex/concave features. In the case of a concave filament cross-section, the our estimated medial axis is also not guaranteed to be within the filament. For cases such as these, we have used a modified version of the Al. Kofahi algorithm [3]. 7.2 Network Culling Here we provide an example of using the traced filament data to enhance visualization by culling noise and extra information outside the filament network. We use the KESM data set containing brain vasculature (traced in Section 7.1) as our first example (Figure 12). We also trace and cull another KESM data set containing neurons (Figure 13). Both data sets contain a large amount of noise and cellular structures outside of the filament network. Tracing and subsequent culling clean up the visualization and significantly reduce the storage space required for the volumetric information (Table 1). 7.3 Selective Visualization Since each threaded series of blocks contains all of the volumetric data necessary to reconstruct the filament, individual filaments or filament networks can be rendered independently of the rest of the data set. This is done by selecting a single node and traversing the network in a breadth-first

8 Figure 11: Traced Array Tomography data set containing neuronal information (left), volume rendering of the culled filament network (center), and KESM data set showing traced microvasculature (right). Figure 12: The original volume visualization of the microvasculature in a mouse brain (left) contains background noise and parts of unwanted cellular structures. Tracing and segmentation extract the desired filament and surface information which can be visualized more clearly (right). Figure 13: Microscopic data set containing several neurons. The original volume visualization is completely inadequate and it is impossible to extract a contour surface using standard techniques (left). After tracing, blocking, and contrast enhancement of individual filaments, the structure becomes visible (center). Visualization of a filament network representing a single cell (right).

9 fashion (Figure 14 and supplementary video). This technique can also be used to locate independent networks by expanding a network until all valid nodes are reached. We have used this to segment out individual cells in neuronal populations (Figure 13). 8. CONCLUSION We have presented a method for segmenting fibrous structures from large volumetric data sets. Such segmentation is critical to enable effective visualization, and is also important for supporting further analysis. We have presented a method for tracing and obtaining connectivity using evaluation of heuristic functions in a predictor-corrector framework. Since these methods are particularly amenable to GPU implementation, we can realize significant speedups over CPU-only implementation, and are able to process large blocks of volumetric data containing noise and degeneracies at reasonable speeds. We have also shown how our tracing algorithm to aid in visualization of filaments and the segmentation of independent filament networks. The techniques we have proposed here could be used as a starting point for some further data processing, including adaptive thresholding [10], level sets [20, 19], or data compression [15]. 9. REFERENCES [1] K. Al-Kofahi, S. Lasek, D. Szarowski, C. Pace, G. Nagy, J. Turner, and B. Roysam. Rapid automated three-dimensional tracing of neurons from confocal image stacks. IEEE Transactions on Information Technology in Biomedicine, 6(2): , June [2] J. Bache-Wiig and P. C. Henden. Individual filament segmentation of three-dimensional microtomograms of paper and filament-reinforced composite materials. Master s thesis, Department of Computer and Information Science, Norwegian University of Science and Technology, [3] B. Busse, S. Smith, C. A. Taylor, and R. Y. Arakaki. Development of a semi-automated method for three-dimensional neural structure segmentation. In Proceedings of the 2006 Meeting of the Society for Neuroscience, [4] A. Can, H. Shen, J. N. Turner, H. L. Tanenbaum, and B. Roysam. Rapid automated tracing and feature extraction from retinal fundus images using direct exploratory algorithms. IEEE Transactions on Information Technology in Biomedicine, 3(2): , June [5] S. Chaudhuri, S. Chatterjee, N. Katz, M. Nelson, and M. Goldbaum. Detection of blood vessels in retinal images using two-dimensional matched filters. IEEE Transactions on Medical Imaging, 8, [6] A. Chung and J. A. Noble. Vascular segmentation of phase contrast magnetic resonance angiograms based on statistical mixture modeling and local phase coherence. IEEE Transactions on Medical Imaging, 23(12): , [7] W. Denk and H. Horstmann. Serial block-face scanning electron microscopy to reconstruct three-dimensional tissue nanostructure. PLoS Biology, 2(11):e329, Nov [8] W. Denk, J. H. Strickler, and W. W. Webb. Two-photon laser scanning fluorescence microscopy. Science, 248(4951):73 76, Apr [9] C. Fetita, O. Lucidarme, and F. Preteux. Automated 3D vascular segmentation in CT hepatic venography. In J. T. Astola, I. Tabus, and J. Barrera, editors, Mathematical Methods in Pattern and Image Analysis. Edited by Astola, Jaakko T.; Tabus, Ioan; Barrera, Junior. Proceedings of the SPIE, Volume 5916, pp (2005)., pages , Aug [10] R. C. Gonzalez and R. E. Woods. Digital Image Processing. Prentice Hall, 2nd edition, [11] K. J. Hayworth, N. Kasthuri, R. Schalek, and J. Lichtman. Automating the collection of ultrathin serial sections for large volume tem reconstructions. Microscopy and Microanalysis, [12] C. Lenglet, M. Rousson, and R. Deriche. Dti segmentation by statistical surface evolution. IEEE Transactions on Medical Imaging, 25(6): , [13] W. E. Lorensen and H. E. Cline. Marching cubes: A high resolution 3d surface construction algorithm. In Proceedings of the 14th Annual Conference on Computer Graphics and Interactive Techniques, pages , [14] L. Lorigo, O. Faugeras, W. Grimson, R. Keriven, R. Kikinis, A. Nabavi, and C. Westin. Curves: curve evolution for vessel segmentation. Medical Image Analysis, 5(3): , [15] B. McCormick, B. Busse, P. Doddapaneni, Z. Melek, and J. Keyser. Compression, segmentation, and modeling of filamentary volumetric data. In Proceedings of Symposium on Solid Modeling and Applications 04, pages , [16] B. H. McCormick and D. M. Mayerich. Three-dimensional imaging using knife-edge scanning microscopy. In Proceedings, Microscopy and Micro-analysis Conference, Savannah, GA, August [17] K. D. Micheva and S. J. Smith. Array tomography: A new tool for imaging the molecular architecture and ultrastructure of neural circuits. Neuron, 55:25 36, [18] S. Mori and P. C. M. van Zijl. Fiber tracking: principles and strategies - a technical review. NMR in Biomedicine, 15(7 8): , [19] S. J. Osher and R. P. Fedkiw. Level Set Methods and Dynamic Implicit Surfaces. Springer, [20] J. A. Sethian. Level Set Methods and Fast Marching Methods: Evolving Interfaces in Computational Geometry, Fluid Mechanics, Computer Vision, and Materials Science. Cambridge University Press, [21] L. Zhukov and A. H. Barr. Oriented tensor reconstruction: tracing neural pathways from diffusion tensor mri. In VIS 02: Proceedings of the conference on Visualization 02, pages , Washington, DC, USA, IEEE Computer Society.

10 (a) (b) (c) (d) Figure 14: Contouring of filaments selected using a breadth-first search of the network starting from a single user-defined filament(a) - (d).

Fast Algorithms for the Reconstruction and Analysis of Basic Circuits in the Mouse Cortical Maps

Fast Algorithms for the Reconstruction and Analysis of Basic Circuits in the Mouse Cortical Maps Fast Algorithms for the Reconstruction and Analysis of Basic Circuits in the Mouse Cortical Maps Minisymposium on High-throughtput Microscopy and Analysis November 18, 2008 Yoonsuck Choe Texas A&M University

More information

[Actual] New Visualization Rendering for Web-based Display of. Challenges for High-Volume, High- Scientific Volumetric Data

[Actual] New Visualization Rendering for Web-based Display of. Challenges for High-Volume, High- Scientific Volumetric Data [Advertised] Stereo Pseudo-3D [Actual] New Visualization Rendering for Web-based Display of Challenges for High-Volume, High- Scientific Volumetric Data Resolution Brain Connectomics Data IAMCS Workshop:

More information

Segmentation and Modeling of the Spinal Cord for Reality-based Surgical Simulator

Segmentation and Modeling of the Spinal Cord for Reality-based Surgical Simulator Segmentation and Modeling of the Spinal Cord for Reality-based Surgical Simulator Li X.C.,, Chui C. K.,, and Ong S. H.,* Dept. of Electrical and Computer Engineering Dept. of Mechanical Engineering, National

More information

Clipping. CSC 7443: Scientific Information Visualization

Clipping. CSC 7443: Scientific Information Visualization Clipping Clipping to See Inside Obscuring critical information contained in a volume data Contour displays show only exterior visible surfaces Isosurfaces can hide other isosurfaces Other displays can

More information

coding of various parts showing different features, the possibility of rotation or of hiding covering parts of the object's surface to gain an insight

coding of various parts showing different features, the possibility of rotation or of hiding covering parts of the object's surface to gain an insight Three-Dimensional Object Reconstruction from Layered Spatial Data Michael Dangl and Robert Sablatnig Vienna University of Technology, Institute of Computer Aided Automation, Pattern Recognition and Image

More information

Visualization. Images are used to aid in understanding of data. Height Fields and Contours Scalar Fields Volume Rendering Vector Fields [chapter 26]

Visualization. Images are used to aid in understanding of data. Height Fields and Contours Scalar Fields Volume Rendering Vector Fields [chapter 26] Visualization Images are used to aid in understanding of data Height Fields and Contours Scalar Fields Volume Rendering Vector Fields [chapter 26] Tumor SCI, Utah Scientific Visualization Visualize large

More information

Visualization Computer Graphics I Lecture 20

Visualization Computer Graphics I Lecture 20 15-462 Computer Graphics I Lecture 20 Visualization Height Fields and Contours Scalar Fields Volume Rendering Vector Fields [Angel Ch. 12] November 20, 2003 Doug James Carnegie Mellon University http://www.cs.cmu.edu/~djames/15-462/fall03

More information

Data Representation in Visualisation

Data Representation in Visualisation Data Representation in Visualisation Visualisation Lecture 4 Taku Komura Institute for Perception, Action & Behaviour School of Informatics Taku Komura Data Representation 1 Data Representation We have

More information

11/1/13. Visualization. Scientific Visualization. Types of Data. Height Field. Contour Curves. Meshes

11/1/13. Visualization. Scientific Visualization. Types of Data. Height Field. Contour Curves. Meshes CSCI 420 Computer Graphics Lecture 26 Visualization Height Fields and Contours Scalar Fields Volume Rendering Vector Fields [Angel Ch. 2.11] Jernej Barbic University of Southern California Scientific Visualization

More information

Visualization. CSCI 420 Computer Graphics Lecture 26

Visualization. CSCI 420 Computer Graphics Lecture 26 CSCI 420 Computer Graphics Lecture 26 Visualization Height Fields and Contours Scalar Fields Volume Rendering Vector Fields [Angel Ch. 11] Jernej Barbic University of Southern California 1 Scientific Visualization

More information

Visualization of Cellular and Microvascular Relationships

Visualization of Cellular and Microvascular Relationships Visualization of Cellular and Microvascular Relationships David M. Mayerich, Student Member, IEEE, Louise Abbott, John Keyser, Member, IEEE Abstract Understanding the structure of microvasculature structures

More information

Computer Graphics 1. Chapter 2 (May 19th, 2011, 2-4pm): 3D Modeling. LMU München Medieninformatik Andreas Butz Computergraphik 1 SS2011

Computer Graphics 1. Chapter 2 (May 19th, 2011, 2-4pm): 3D Modeling. LMU München Medieninformatik Andreas Butz Computergraphik 1 SS2011 Computer Graphics 1 Chapter 2 (May 19th, 2011, 2-4pm): 3D Modeling 1 The 3D rendering pipeline (our version for this class) 3D models in model coordinates 3D models in world coordinates 2D Polygons in

More information

TDA362/DIT223 Computer Graphics EXAM (Same exam for both CTH- and GU students)

TDA362/DIT223 Computer Graphics EXAM (Same exam for both CTH- and GU students) TDA362/DIT223 Computer Graphics EXAM (Same exam for both CTH- and GU students) Saturday, January 13 th, 2018, 08:30-12:30 Examiner Ulf Assarsson, tel. 031-772 1775 Permitted Technical Aids None, except

More information

Height Fields and Contours Scalar Fields Volume Rendering Vector Fields [Angel Ch. 12] April 23, 2002 Frank Pfenning Carnegie Mellon University

Height Fields and Contours Scalar Fields Volume Rendering Vector Fields [Angel Ch. 12] April 23, 2002 Frank Pfenning Carnegie Mellon University 15-462 Computer Graphics I Lecture 21 Visualization Height Fields and Contours Scalar Fields Volume Rendering Vector Fields [Angel Ch. 12] April 23, 2002 Frank Pfenning Carnegie Mellon University http://www.cs.cmu.edu/~fp/courses/graphics/

More information

Polygonization of Implicit Surfaces

Polygonization of Implicit Surfaces Polygonization of Implicit Surfaces Hongxin Zhang and Jieqing Feng 2007-01-11 State Key Lab of CAD&CG Zhejiang University Contents Polygonization of Implicit Surfaces Other Methods for Displaying Implicit

More information

Constructing System Matrices for SPECT Simulations and Reconstructions

Constructing System Matrices for SPECT Simulations and Reconstructions Constructing System Matrices for SPECT Simulations and Reconstructions Nirantha Balagopal April 28th, 2017 M.S. Report The University of Arizona College of Optical Sciences 1 Acknowledgement I would like

More information

Scientific Visualization. CSC 7443: Scientific Information Visualization

Scientific Visualization. CSC 7443: Scientific Information Visualization Scientific Visualization Scientific Datasets Gaining insight into scientific data by representing the data by computer graphics Scientific data sources Computation Real material simulation/modeling (e.g.,

More information

Calculating the Distance Map for Binary Sampled Data

Calculating the Distance Map for Binary Sampled Data MITSUBISHI ELECTRIC RESEARCH LABORATORIES http://www.merl.com Calculating the Distance Map for Binary Sampled Data Sarah F. Frisken Gibson TR99-6 December 999 Abstract High quality rendering and physics-based

More information

Point based Rendering

Point based Rendering Point based Rendering CS535 Daniel Aliaga Current Standards Traditionally, graphics has worked with triangles as the rendering primitive Triangles are really just the lowest common denominator for surfaces

More information

Direct Rendering. Direct Rendering Goals

Direct Rendering. Direct Rendering Goals May 2, 2005 Goals General Goals Small memory footprint Fast rendering High-quality results identical to those of Saffron V1 using distance-based anti-aliasing and alignment zones Goals Specific Goals Avoid

More information

Visualization Computer Graphics I Lecture 20

Visualization Computer Graphics I Lecture 20 15-462 Computer Graphics I Lecture 20 Visualization Height Fields and Contours Scalar Fields Volume Rendering Vector Fields [Angel Ch. 12] April 15, 2003 Frank Pfenning Carnegie Mellon University http://www.cs.cmu.edu/~fp/courses/graphics/

More information

Reconstruction of complete 3D object model from multi-view range images.

Reconstruction of complete 3D object model from multi-view range images. Header for SPIE use Reconstruction of complete 3D object model from multi-view range images. Yi-Ping Hung *, Chu-Song Chen, Ing-Bor Hsieh, Chiou-Shann Fuh Institute of Information Science, Academia Sinica,

More information

CHAPTER 1 Graphics Systems and Models 3

CHAPTER 1 Graphics Systems and Models 3 ?????? 1 CHAPTER 1 Graphics Systems and Models 3 1.1 Applications of Computer Graphics 4 1.1.1 Display of Information............. 4 1.1.2 Design.................... 5 1.1.3 Simulation and Animation...........

More information

Image Acquisition Systems

Image Acquisition Systems Image Acquisition Systems Goals and Terminology Conventional Radiography Axial Tomography Computer Axial Tomography (CAT) Magnetic Resonance Imaging (MRI) PET, SPECT Ultrasound Microscopy Imaging ITCS

More information

Evaluation of Local Filter Approaches for Diffusion Tensor based Fiber Tracking

Evaluation of Local Filter Approaches for Diffusion Tensor based Fiber Tracking Evaluation of Local Filter Approaches for Diffusion Tensor based Fiber Tracking D. Merhof 1, M. Buchfelder 2, C. Nimsky 3 1 Visual Computing, University of Konstanz, Konstanz 2 Department of Neurosurgery,

More information

FAST CELL DETECTION IN HIGH-THROUGHPUT IMAGERY USING GPU-ACCELERATED MACHINE LEARNING

FAST CELL DETECTION IN HIGH-THROUGHPUT IMAGERY USING GPU-ACCELERATED MACHINE LEARNING FAST CELL DETECTION IN HIGH-THROUGHPUT IMAGERY USING GPU-ACCELERATED MACHINE LEARNING David Mayerich 1, Jaerock Kwon 2, Aaron Panchal 3, John Keyser 4, Yoonsuck Choe 4 1 Beckman Institute for Advanced

More information

Computer Graphics Ray Casting. Matthias Teschner

Computer Graphics Ray Casting. Matthias Teschner Computer Graphics Ray Casting Matthias Teschner Outline Context Implicit surfaces Parametric surfaces Combined objects Triangles Axis-aligned boxes Iso-surfaces in grids Summary University of Freiburg

More information

Single-particle electron microscopy (cryo-electron microscopy) CS/CME/BioE/Biophys/BMI 279 Nov. 16 and 28, 2017 Ron Dror

Single-particle electron microscopy (cryo-electron microscopy) CS/CME/BioE/Biophys/BMI 279 Nov. 16 and 28, 2017 Ron Dror Single-particle electron microscopy (cryo-electron microscopy) CS/CME/BioE/Biophys/BMI 279 Nov. 16 and 28, 2017 Ron Dror 1 Last month s Nobel Prize in Chemistry Awarded to Jacques Dubochet, Joachim Frank

More information

SUPPLEMENTARY FILE S1: 3D AIRWAY TUBE RECONSTRUCTION AND CELL-BASED MECHANICAL MODEL. RELATED TO FIGURE 1, FIGURE 7, AND STAR METHODS.

SUPPLEMENTARY FILE S1: 3D AIRWAY TUBE RECONSTRUCTION AND CELL-BASED MECHANICAL MODEL. RELATED TO FIGURE 1, FIGURE 7, AND STAR METHODS. SUPPLEMENTARY FILE S1: 3D AIRWAY TUBE RECONSTRUCTION AND CELL-BASED MECHANICAL MODEL. RELATED TO FIGURE 1, FIGURE 7, AND STAR METHODS. 1. 3D AIRWAY TUBE RECONSTRUCTION. RELATED TO FIGURE 1 AND STAR METHODS

More information

Applications of Explicit Early-Z Culling

Applications of Explicit Early-Z Culling Applications of Explicit Early-Z Culling Jason L. Mitchell ATI Research Pedro V. Sander ATI Research Introduction In past years, in the SIGGRAPH Real-Time Shading course, we have covered the details of

More information

Comparison of fiber orientation analysis methods in Avizo

Comparison of fiber orientation analysis methods in Avizo Comparison of fiber orientation analysis methods in Avizo More info about this article: http://www.ndt.net/?id=20865 Abstract Rémi Blanc 1, Peter Westenberger 2 1 FEI, 3 Impasse Rudolf Diesel, Bât A, 33708

More information

Assignment 6: Ray Tracing

Assignment 6: Ray Tracing Assignment 6: Ray Tracing Programming Lab Due: Monday, April 20 (midnight) 1 Introduction Throughout this semester you have written code that manipulated shapes and cameras to prepare a scene for rendering.

More information

Contours & Implicit Modelling 4

Contours & Implicit Modelling 4 Brief Recap Contouring & Implicit Modelling Contouring Implicit Functions Visualisation Lecture 8 lecture 6 Marching Cubes lecture 3 visualisation of a Quadric toby.breckon@ed.ac.uk Computer Vision Lab.

More information

Diffusion Imaging Visualization

Diffusion Imaging Visualization Diffusion Imaging Visualization Thomas Schultz URL: http://cg.cs.uni-bonn.de/schultz/ E-Mail: schultz@cs.uni-bonn.de 1 Outline Introduction to Diffusion Imaging Basic techniques Glyph-based Visualization

More information

A Generic Lie Group Model for Computer Vision

A Generic Lie Group Model for Computer Vision A Generic Lie Group Model for Computer Vision Within this research track we follow a generic Lie group approach to computer vision based on recent physiological research on how the primary visual cortex

More information

Topics and things to know about them:

Topics and things to know about them: Practice Final CMSC 427 Distributed Tuesday, December 11, 2007 Review Session, Monday, December 17, 5:00pm, 4424 AV Williams Final: 10:30 AM Wednesday, December 19, 2007 General Guidelines: The final will

More information

CS 563 Advanced Topics in Computer Graphics QSplat. by Matt Maziarz

CS 563 Advanced Topics in Computer Graphics QSplat. by Matt Maziarz CS 563 Advanced Topics in Computer Graphics QSplat by Matt Maziarz Outline Previous work in area Background Overview In-depth look File structure Performance Future Point Rendering To save on setup and

More information

Extracting Woven Yarns of Ceramic Matrix Composite Parts With X-ray CT Scanning

Extracting Woven Yarns of Ceramic Matrix Composite Parts With X-ray CT Scanning Extracting Woven Yarns of Ceramic Matrix Composite Parts With X-ray CT Scanning Yuta Yamauchi, Hiromasa Suzuki, Takashi Michikawa, Yutaka Ohtake, Kouichi Inagaki, Hiroyuki Hishida, Takeshi Nakamura The

More information

Lecture 3 Sections 2.2, 4.4. Mon, Aug 31, 2009

Lecture 3 Sections 2.2, 4.4. Mon, Aug 31, 2009 Model s Lecture 3 Sections 2.2, 4.4 World s Eye s Clip s s s Window s Hampden-Sydney College Mon, Aug 31, 2009 Outline Model s World s Eye s Clip s s s Window s 1 2 3 Model s World s Eye s Clip s s s Window

More information

Volume visualization. Volume visualization. Volume visualization methods. Sources of volume visualization. Sources of volume visualization

Volume visualization. Volume visualization. Volume visualization methods. Sources of volume visualization. Sources of volume visualization Volume visualization Volume visualization Volumes are special cases of scalar data: regular 3D grids of scalars, typically interpreted as density values. Each data value is assumed to describe a cubic

More information

Generation of Hulls Encompassing Neuronal Pathways Based on Tetrahedralization and 3D Alpha Shapes

Generation of Hulls Encompassing Neuronal Pathways Based on Tetrahedralization and 3D Alpha Shapes Generation of Hulls Encompassing Neuronal Pathways Based on Tetrahedralization and 3D Alpha Shapes Dorit Merhof 1,2, Martin Meister 1, Ezgi Bingöl 1, Peter Hastreiter 1,2, Christopher Nimsky 2,3, Günther

More information

Direct Rendering of Trimmed NURBS Surfaces

Direct Rendering of Trimmed NURBS Surfaces Direct Rendering of Trimmed NURBS Surfaces Hardware Graphics Pipeline 2/ 81 Hardware Graphics Pipeline GPU Video Memory CPU Vertex Processor Raster Unit Fragment Processor Render Target Screen Extended

More information

Geometric Representations. Stelian Coros

Geometric Representations. Stelian Coros Geometric Representations Stelian Coros Geometric Representations Languages for describing shape Boundary representations Polygonal meshes Subdivision surfaces Implicit surfaces Volumetric models Parametric

More information

Dendrite Tracking in Microscopic Images using Minimum Spanning Trees and Localized E-M

Dendrite Tracking in Microscopic Images using Minimum Spanning Trees and Localized E-M Dendrite Tracking in Microscopic Images using Minimum Spanning Trees and Localized E-M François Fleuret and Pascal Fua CVLAB EPFL March 27, 2006 Technical Report EPFL/CVLAB2006.02 Abstract We describe

More information

Universiteit Leiden Computer Science

Universiteit Leiden Computer Science Universiteit Leiden Computer Science Optimizing octree updates for visibility determination on dynamic scenes Name: Hans Wortel Student-no: 0607940 Date: 28/07/2011 1st supervisor: Dr. Michael Lew 2nd

More information

Occluder Simplification using Planar Sections

Occluder Simplification using Planar Sections Occluder Simplification using Planar Sections Ari Silvennoinen Hannu Saransaari Samuli Laine Jaakko Lehtinen Remedy Entertainment Aalto University Umbra Software NVIDIA NVIDIA Aalto University Coping with

More information

2D-3D Registration using Gradient-based MI for Image Guided Surgery Systems

2D-3D Registration using Gradient-based MI for Image Guided Surgery Systems 2D-3D Registration using Gradient-based MI for Image Guided Surgery Systems Yeny Yim 1*, Xuanyi Chen 1, Mike Wakid 1, Steve Bielamowicz 2, James Hahn 1 1 Department of Computer Science, The George Washington

More information

2 Michael E. Leventon and Sarah F. F. Gibson a b c d Fig. 1. (a, b) Two MR scans of a person's knee. Both images have high resolution in-plane, but ha

2 Michael E. Leventon and Sarah F. F. Gibson a b c d Fig. 1. (a, b) Two MR scans of a person's knee. Both images have high resolution in-plane, but ha Model Generation from Multiple Volumes using Constrained Elastic SurfaceNets Michael E. Leventon and Sarah F. F. Gibson 1 MIT Artificial Intelligence Laboratory, Cambridge, MA 02139, USA leventon@ai.mit.edu

More information

Surface Projection Method for Visualizing Volumetric Data

Surface Projection Method for Visualizing Volumetric Data Surface Projection Method for Visualizing Volumetric Data by Peter Lincoln A senior thesis submitted in partial fulfillment of the requirements for the degree of Bachelor of Science With Departmental Honors

More information

A MORPHOLOGY-BASED FILTER STRUCTURE FOR EDGE-ENHANCING SMOOTHING

A MORPHOLOGY-BASED FILTER STRUCTURE FOR EDGE-ENHANCING SMOOTHING Proceedings of the 1994 IEEE International Conference on Image Processing (ICIP-94), pp. 530-534. (Austin, Texas, 13-16 November 1994.) A MORPHOLOGY-BASED FILTER STRUCTURE FOR EDGE-ENHANCING SMOOTHING

More information

Visualizer An implicit surface rendering application

Visualizer An implicit surface rendering application June 01, 2004 Visualizer An implicit surface rendering application Derek Gerstmann - C1405511 MSc Computer Animation NCCA Bournemouth University OVERVIEW OF APPLICATION Visualizer is an interactive application

More information

S U N G - E U I YO O N, K A I S T R E N D E R I N G F R E E LY A VA I L A B L E O N T H E I N T E R N E T

S U N G - E U I YO O N, K A I S T R E N D E R I N G F R E E LY A VA I L A B L E O N T H E I N T E R N E T S U N G - E U I YO O N, K A I S T R E N D E R I N G F R E E LY A VA I L A B L E O N T H E I N T E R N E T Copyright 2018 Sung-eui Yoon, KAIST freely available on the internet http://sglab.kaist.ac.kr/~sungeui/render

More information

Automatic Vascular Tree Formation Using the Mahalanobis Distance

Automatic Vascular Tree Formation Using the Mahalanobis Distance Automatic Vascular Tree Formation Using the Mahalanobis Distance Julien Jomier, Vincent LeDigarcher, and Stephen R. Aylward Computer-Aided Diagnosis and Display Lab, Department of Radiology The University

More information

Ray Tracing. Foley & Van Dam, Chapters 15 and 16

Ray Tracing. Foley & Van Dam, Chapters 15 and 16 Ray Tracing Foley & Van Dam, Chapters 15 and 16 Ray Tracing Visible Surface Ray Tracing (Ray Casting) Examples Efficiency Issues Computing Boolean Set Operations Recursive Ray Tracing Determine visibility

More information

Scene Management. Video Game Technologies 11498: MSc in Computer Science and Engineering 11156: MSc in Game Design and Development

Scene Management. Video Game Technologies 11498: MSc in Computer Science and Engineering 11156: MSc in Game Design and Development Video Game Technologies 11498: MSc in Computer Science and Engineering 11156: MSc in Game Design and Development Chap. 5 Scene Management Overview Scene Management vs Rendering This chapter is about rendering

More information

Ray Tracing Foley & Van Dam, Chapters 15 and 16

Ray Tracing Foley & Van Dam, Chapters 15 and 16 Foley & Van Dam, Chapters 15 and 16 (Ray Casting) Examples Efficiency Issues Computing Boolean Set Operations Recursive Determine visibility of a surface by tracing rays of light from the viewer s eye

More information

Efficient View-Dependent Sampling of Visual Hulls

Efficient View-Dependent Sampling of Visual Hulls Efficient View-Dependent Sampling of Visual Hulls Wojciech Matusik Chris Buehler Leonard McMillan Computer Graphics Group MIT Laboratory for Computer Science Cambridge, MA 02141 Abstract In this paper

More information

Project report Augmented reality with ARToolKit

Project report Augmented reality with ARToolKit Project report Augmented reality with ARToolKit FMA175 Image Analysis, Project Mathematical Sciences, Lund Institute of Technology Supervisor: Petter Strandmark Fredrik Larsson (dt07fl2@student.lth.se)

More information

Non-Destructive Failure Analysis and Measurement for Molded Devices and Complex Assemblies with X-ray CT and 3D Image Processing Techniques

Non-Destructive Failure Analysis and Measurement for Molded Devices and Complex Assemblies with X-ray CT and 3D Image Processing Techniques SINCE2013 Singapore International NDT Conference & Exhibition 2013, 19-20 July 2013 Non-Destructive Failure Analysis and Measurement for Molded Devices and Complex Assemblies with X-ray CT and 3D Image

More information

Exploiting Typical Clinical Imaging Constraints for 3D Outer Bone Surface Segmentation

Exploiting Typical Clinical Imaging Constraints for 3D Outer Bone Surface Segmentation Exploiting Typical Clinical Imaging Constraints for 3D Outer Bone Surface Segmentation Chris Mack, Vishali Mogallapu, Andrew Willis, Thomas P. Weldon UNC Charlotte, Department of Electrical and Computer

More information

Solid Modeling. Thomas Funkhouser Princeton University C0S 426, Fall Represent solid interiors of objects

Solid Modeling. Thomas Funkhouser Princeton University C0S 426, Fall Represent solid interiors of objects Solid Modeling Thomas Funkhouser Princeton University C0S 426, Fall 2000 Solid Modeling Represent solid interiors of objects Surface may not be described explicitly Visible Human (National Library of Medicine)

More information

K-Means Clustering Using Localized Histogram Analysis

K-Means Clustering Using Localized Histogram Analysis K-Means Clustering Using Localized Histogram Analysis Michael Bryson University of South Carolina, Department of Computer Science Columbia, SC brysonm@cse.sc.edu Abstract. The first step required for many

More information

DiFi: Distance Fields - Fast Computation Using Graphics Hardware

DiFi: Distance Fields - Fast Computation Using Graphics Hardware DiFi: Distance Fields - Fast Computation Using Graphics Hardware Avneesh Sud Dinesh Manocha UNC-Chapel Hill http://gamma.cs.unc.edu/difi Distance Fields Distance Function For a site a scalar function f:r

More information

Chapter 3 Image Registration. Chapter 3 Image Registration

Chapter 3 Image Registration. Chapter 3 Image Registration Chapter 3 Image Registration Distributed Algorithms for Introduction (1) Definition: Image Registration Input: 2 images of the same scene but taken from different perspectives Goal: Identify transformation

More information

Introduction to 3D Graphics

Introduction to 3D Graphics Graphics Without Polygons Volume Rendering May 11, 2010 So Far Volumetric Rendering Techniques Misc. So Far Extended the Fixed Function Pipeline with a Programmable Pipeline Programming the pipeline is

More information

Multipass GPU Surface Rendering in 4D Ultrasound

Multipass GPU Surface Rendering in 4D Ultrasound 2012 Cairo International Biomedical Engineering Conference (CIBEC) Cairo, Egypt, December 20-21, 2012 Multipass GPU Surface Rendering in 4D Ultrasound Ahmed F. Elnokrashy 1,2, Marwan Hassan 1, Tamer Hosny

More information

Chapter 4. Clustering Core Atoms by Location

Chapter 4. Clustering Core Atoms by Location Chapter 4. Clustering Core Atoms by Location In this chapter, a process for sampling core atoms in space is developed, so that the analytic techniques in section 3C can be applied to local collections

More information

Contours & Implicit Modelling 1

Contours & Implicit Modelling 1 Contouring & Implicit Modelling Visualisation Lecture 8 Institute for Perception, Action & Behaviour School of Informatics Contours & Implicit Modelling 1 Brief Recap Contouring Implicit Functions lecture

More information

Advanced Image Reconstruction Methods for Photoacoustic Tomography

Advanced Image Reconstruction Methods for Photoacoustic Tomography Advanced Image Reconstruction Methods for Photoacoustic Tomography Mark A. Anastasio, Kun Wang, and Robert Schoonover Department of Biomedical Engineering Washington University in St. Louis 1 Outline Photoacoustic/thermoacoustic

More information

Identify Curvilinear Structure Based on Oriented Phase Congruency in Live Cell Images

Identify Curvilinear Structure Based on Oriented Phase Congruency in Live Cell Images International Journal of Information and Computation Technology. ISSN 0974-2239 Volume 3, Number 4 (2013), pp. 335-340 International Research Publications House http://www. irphouse.com /ijict.htm Identify

More information

Computer Graphics. - Volume Rendering - Philipp Slusallek

Computer Graphics. - Volume Rendering - Philipp Slusallek Computer Graphics - Volume Rendering - Philipp Slusallek Overview Motivation Volume Representation Indirect Volume Rendering Volume Classification Direct Volume Rendering Applications: Bioinformatics Image

More information

Constrained Diffusion Limited Aggregation in 3 Dimensions

Constrained Diffusion Limited Aggregation in 3 Dimensions Constrained Diffusion Limited Aggregation in 3 Dimensions Paul Bourke Swinburne University of Technology P. O. Box 218, Hawthorn Melbourne, Vic 3122, Australia. Email: pdb@swin.edu.au Abstract Diffusion

More information

CSL 859: Advanced Computer Graphics. Dept of Computer Sc. & Engg. IIT Delhi

CSL 859: Advanced Computer Graphics. Dept of Computer Sc. & Engg. IIT Delhi CSL 859: Advanced Computer Graphics Dept of Computer Sc. & Engg. IIT Delhi Point Based Representation Point sampling of Surface Mesh construction, or Mesh-less Often come from laser scanning Or even natural

More information

Collision Detection with Bounding Volume Hierarchies

Collision Detection with Bounding Volume Hierarchies Simulation in Computer Graphics Collision Detection with Bounding Volume Hierarchies Matthias Teschner Computer Science Department University of Freiburg Outline introduction bounding volumes BV hierarchies

More information

Biophysical Techniques (BPHS 4090/PHYS 5800)

Biophysical Techniques (BPHS 4090/PHYS 5800) Biophysical Techniques (BPHS 4090/PHYS 5800) Instructors: Prof. Christopher Bergevin (cberge@yorku.ca) Schedule: MWF 1:30-2:30 (CB 122) Website: http://www.yorku.ca/cberge/4090w2017.html York University

More information

Scalar Data. Visualization Torsten Möller. Weiskopf/Machiraju/Möller

Scalar Data. Visualization Torsten Möller. Weiskopf/Machiraju/Möller Scalar Data Visualization Torsten Möller Weiskopf/Machiraju/Möller Overview Basic strategies Function plots and height fields Isolines Color coding Volume visualization (overview) Classification Segmentation

More information

Lightcuts. Jeff Hui. Advanced Computer Graphics Rensselaer Polytechnic Institute

Lightcuts. Jeff Hui. Advanced Computer Graphics Rensselaer Polytechnic Institute Lightcuts Jeff Hui Advanced Computer Graphics 2010 Rensselaer Polytechnic Institute Fig 1. Lightcuts version on the left and naïve ray tracer on the right. The lightcuts took 433,580,000 clock ticks and

More information

Refraction Corrected Transmission Ultrasound Computed Tomography for Application in Breast Imaging

Refraction Corrected Transmission Ultrasound Computed Tomography for Application in Breast Imaging Refraction Corrected Transmission Ultrasound Computed Tomography for Application in Breast Imaging Joint Research With Trond Varslot Marcel Jackowski Shengying Li and Klaus Mueller Ultrasound Detection

More information

Interactive Volumetric Shadows in Participating Media with Single-Scattering

Interactive Volumetric Shadows in Participating Media with Single-Scattering Interactive Volumetric Shadows in Participating Media with Single-Scattering Chris Wyman University of Iowa Shaun Ramsey Washington College IEEE Symposium on Interactive Ray Tracing 2008 What is Volumetric

More information

Implicit Surfaces or Level Sets of Functions *

Implicit Surfaces or Level Sets of Functions * Implicit Surfaces or Level Sets of Functions * Surfaces in R 3 are either described as parametrized images F : D 2 R 3 or as implicit surfaces, i.e., as levels of functions f : R 3 R, as the set of points

More information

Color Characterization and Calibration of an External Display

Color Characterization and Calibration of an External Display Color Characterization and Calibration of an External Display Andrew Crocker, Austin Martin, Jon Sandness Department of Math, Statistics, and Computer Science St. Olaf College 1500 St. Olaf Avenue, Northfield,

More information

82 REGISTRATION OF RETINOGRAPHIES

82 REGISTRATION OF RETINOGRAPHIES 82 REGISTRATION OF RETINOGRAPHIES 3.3 Our method Our method resembles the human approach to image matching in the sense that we also employ as guidelines features common to both images. It seems natural

More information

STATISTICS AND ANALYSIS OF SHAPE

STATISTICS AND ANALYSIS OF SHAPE Control and Cybernetics vol. 36 (2007) No. 2 Book review: STATISTICS AND ANALYSIS OF SHAPE by H. Krim, A. Yezzi, Jr., eds. There are numerous definitions of a notion of shape of an object. These definitions

More information

VOLUMETRIC MODEL REFINEMENT BY SHELL CARVING

VOLUMETRIC MODEL REFINEMENT BY SHELL CARVING VOLUMETRIC MODEL REFINEMENT BY SHELL CARVING Y. Kuzu a, O. Sinram b a Yıldız Technical University, Department of Geodesy and Photogrammetry Engineering 34349 Beşiktaş Istanbul, Turkey - kuzu@yildiz.edu.tr

More information

2D rendering takes a photo of the 2D scene with a virtual camera that selects an axis aligned rectangle from the scene. The photograph is placed into

2D rendering takes a photo of the 2D scene with a virtual camera that selects an axis aligned rectangle from the scene. The photograph is placed into 2D rendering takes a photo of the 2D scene with a virtual camera that selects an axis aligned rectangle from the scene. The photograph is placed into the viewport of the current application window. A pixel

More information

Let s start with occluding contours (or interior and exterior silhouettes), and look at image-space algorithms. A very simple technique is to render

Let s start with occluding contours (or interior and exterior silhouettes), and look at image-space algorithms. A very simple technique is to render 1 There are two major classes of algorithms for extracting most kinds of lines from 3D meshes. First, there are image-space algorithms that render something (such as a depth map or cosine-shaded model),

More information

arxiv: v1 [cs.cv] 28 Sep 2018

arxiv: v1 [cs.cv] 28 Sep 2018 Camera Pose Estimation from Sequence of Calibrated Images arxiv:1809.11066v1 [cs.cv] 28 Sep 2018 Jacek Komorowski 1 and Przemyslaw Rokita 2 1 Maria Curie-Sklodowska University, Institute of Computer Science,

More information

Advanced Visual Medicine: Techniques for Visual Exploration & Analysis

Advanced Visual Medicine: Techniques for Visual Exploration & Analysis Advanced Visual Medicine: Techniques for Visual Exploration & Analysis Interactive Visualization of Multimodal Volume Data for Neurosurgical Planning Felix Ritter, MeVis Research Bremen Multimodal Neurosurgical

More information

TA Section 7 Problem Set 3. SIFT (Lowe 2004) Shape Context (Belongie et al. 2002) Voxel Coloring (Seitz and Dyer 1999)

TA Section 7 Problem Set 3. SIFT (Lowe 2004) Shape Context (Belongie et al. 2002) Voxel Coloring (Seitz and Dyer 1999) TA Section 7 Problem Set 3 SIFT (Lowe 2004) Shape Context (Belongie et al. 2002) Voxel Coloring (Seitz and Dyer 1999) Sam Corbett-Davies TA Section 7 02-13-2014 Distinctive Image Features from Scale-Invariant

More information

Point Cloud Filtering using Ray Casting by Eric Jensen 2012 The Basic Methodology

Point Cloud Filtering using Ray Casting by Eric Jensen 2012 The Basic Methodology Point Cloud Filtering using Ray Casting by Eric Jensen 01 The Basic Methodology Ray tracing in standard graphics study is a method of following the path of a photon from the light source to the camera,

More information

CS451Real-time Rendering Pipeline

CS451Real-time Rendering Pipeline 1 CS451Real-time Rendering Pipeline JYH-MING LIEN DEPARTMENT OF COMPUTER SCIENCE GEORGE MASON UNIVERSITY Based on Tomas Akenine-Möller s lecture note You say that you render a 3D 2 scene, but what does

More information

Evaluation of Moving Object Tracking Techniques for Video Surveillance Applications

Evaluation of Moving Object Tracking Techniques for Video Surveillance Applications International Journal of Current Engineering and Technology E-ISSN 2277 4106, P-ISSN 2347 5161 2015INPRESSCO, All Rights Reserved Available at http://inpressco.com/category/ijcet Research Article Evaluation

More information

L1 - Introduction. Contents. Introduction of CAD/CAM system Components of CAD/CAM systems Basic concepts of graphics programming

L1 - Introduction. Contents. Introduction of CAD/CAM system Components of CAD/CAM systems Basic concepts of graphics programming L1 - Introduction Contents Introduction of CAD/CAM system Components of CAD/CAM systems Basic concepts of graphics programming 1 Definitions Computer-Aided Design (CAD) The technology concerned with the

More information

L10 Layered Depth Normal Images. Introduction Related Work Structured Point Representation Boolean Operations Conclusion

L10 Layered Depth Normal Images. Introduction Related Work Structured Point Representation Boolean Operations Conclusion L10 Layered Depth Normal Images Introduction Related Work Structured Point Representation Boolean Operations Conclusion 1 Introduction Purpose: using the computational power on GPU to speed up solid modeling

More information

Texture. Texture Mapping. Texture Mapping. CS 475 / CS 675 Computer Graphics. Lecture 11 : Texture

Texture. Texture Mapping. Texture Mapping. CS 475 / CS 675 Computer Graphics. Lecture 11 : Texture Texture CS 475 / CS 675 Computer Graphics Add surface detail Paste a photograph over a surface to provide detail. Texture can change surface colour or modulate surface colour. Lecture 11 : Texture http://en.wikipedia.org/wiki/uv_mapping

More information

CS 475 / CS 675 Computer Graphics. Lecture 11 : Texture

CS 475 / CS 675 Computer Graphics. Lecture 11 : Texture CS 475 / CS 675 Computer Graphics Lecture 11 : Texture Texture Add surface detail Paste a photograph over a surface to provide detail. Texture can change surface colour or modulate surface colour. http://en.wikipedia.org/wiki/uv_mapping

More information

Multiview Reconstruction

Multiview Reconstruction Multiview Reconstruction Why More Than 2 Views? Baseline Too short low accuracy Too long matching becomes hard Why More Than 2 Views? Ambiguity with 2 views Camera 1 Camera 2 Camera 3 Trinocular Stereo

More information

Multi-View Matching & Mesh Generation. Qixing Huang Feb. 13 th 2017

Multi-View Matching & Mesh Generation. Qixing Huang Feb. 13 th 2017 Multi-View Matching & Mesh Generation Qixing Huang Feb. 13 th 2017 Geometry Reconstruction Pipeline RANSAC --- facts Sampling Feature point detection [Gelfand et al. 05, Huang et al. 06] Correspondences

More information

Scalable multi-gpu cloud raytracing with OpenGL

Scalable multi-gpu cloud raytracing with OpenGL Scalable multi-gpu cloud raytracing with OpenGL University of Žilina Digital technologies 2014, Žilina, Slovakia Overview Goals Rendering distant details in visualizations Raytracing Multi-GPU programming

More information

Efficient 3D Crease Point Extraction from 2D Crease Pixels of Sinogram

Efficient 3D Crease Point Extraction from 2D Crease Pixels of Sinogram Efficient 3D Crease Point Extraction from 2D Crease Pixels of Sinogram Ryo Jinnouchi 1, Yutaka Ohtake 1, Hiromasa Suzuki 1, Yukie Nagai 1 1 The University of Tokyo, Japan, e-mail: {jinnouchi, yu-ohtake,

More information