Carlos Eduardo Scheidegger University of Utah phone: (801) 585-1467 School of Computing, SCI Institute fax: (801) 581-6513 72 S. Central Campus Drive, RM 4750 Salt Lake City, UT cscheid@sci.utah.edu http://www.sci.utah.edu/ cscheid Research Interests Scientific Visualization, Geometric Processing, Computer Graphics Education PhD (in progress), Computing Since January 2005, Expected 2009 University of Utah Advisor: Prof. Dr. Cláudio Silva B.S., Computer Science cum laude March 2004 Universidade Federal do Rio Grande do Sul (Brazil) Advisor: Prof. Dr. João Comba Honors and Awards Best Paper Award at IEEE International Conference on Shape Modeling and Applications, 2008. IBM PhD Fellowship 2008. Best Paper Award at IEEE Visualization 2007. IBM PhD Fellowship 2007. School of Computing Distinguished TA Award, 2005. Brazilian Computer Society Distinguished Student Award, 2004. Graduated cum laude in Computer Science, total combined GPA of 3.75, 2004. First place, Entrance exam, Computer Science, Federal University of Rio Grande do Sul, 1999. Refereed Journal Publications [1] Bandwidth Selection and Reconstruction Quality in Point-Based Surfaces. H. Wang, C. Scheidegger, C. Silva. IEEE Transactions on Visualization and Computer Graphics. To appear, 2009. [2] Edge Transformations for Improving Quality of Marching Methods. C. Dietrich, C. Scheidegger, J. Schreiner, J. Comba, L. Nedel, C. Silva. IEEE Transactions on Visualization and Computer Graphics, 15(1):150 159, 2009.
[3] Revisiting Histograms and Isosurface Statistics. C. Scheidegger, J. Schreiner, B. Duffy, H. Carr, C. Silva. IEEE Transactions on Visualization and Computer Graphics (Proceedings of IEEE Visualization 2008), 14(6):1659 1666, 2008. [4] Edge Groups: an Approach for Understanding the Mesh Quality of Marching Methods. C. Dietrich. C. Scheidegger, J. Comba, L. Nedel, C. Silva. IEEE Transactions on Visualization and Computer Graphics (Proceedings of IEEE Visualization 2008), 14(6):1651 1658, 2008. [5] VisComplete: Automating Suggestions for Visualization Pipelines. D. Koop, C. Scheidegger, S. Callahan, J. Freire, C. Silva. IEEE Transactions on Visualization and Computer Graphics (Proceedings of IEEE Visualization 2008), 14(6):1691 1698, 2008. [6] Querying and Creating Visualizations by Analogy. C. Scheidegger, H. Vo, D. Koop, J. Freire, C. Silva. IEEE Transactions on Visualization and Computer Graphics (Proceedings of IEEE Visualization 2007), 13(6):1560 1567, 2007. Best paper award. [7] Tackling the Provenance Challenge One Layer at a Time, C. Scheidegger, D. Koop, E. Santos, H. Vo, S. Callahan, J. Freire, C. Silva, Concurrency and Computation: Practice and Experience, 20(5):473 483, 2008. [8] High Quality Extraction of Isosurfaces from Regular and Irregular Grids. J. Schreiner, C. Scheidegger, C. Silva. IEEE Transactions on Visualization and Computer Graphics (Proceedings of IEEE Visualization 2006), 12(5):1205 1212, 2006. [9] Direct (Re)Meshing for Efficient Surface Processing. J. Schreiner, C. Scheidegger, S. Fleishman, C. Silva. Computer Graphics Forum (Proceedings of Eurographics 2006), 25(3):527 536, 2006. [10] Practical CFD simulations on the GPU using SMAC. C. Scheidegger, J. Comba, R. Cunha. Computer Graphics Forum, 24(4):715 728, 2005. [11] Computation on GPUs: from a programmable pipeline to an efficient stream processor. J. Comba, C. Dietrich, C. Pagot, C. Scheidegger. Revista de Informática Teórica e Aplicada, 10(1):41 70, 2003. Refereed Conference Publications [12] End-to-End escience: Integrating Workflow, Query, Visualization, and Provenance at an Ocean Observatory, B. Howe, P. Lawson, R. Bellinger, E. Anderson, E. Santos, J. Freire, C. Scheidegger, A. Baptista, C. Silva. IEEE International Conference on e-science 2008. [13] Toward Provenance-Enabling ParaView, S. P. Callahan, J. Freire, C. Scheidegger, C. Silva, H. Vo. Second International Provenance and Annotation Workshop (IPAW 2008). [14] Optimal Bandwidth Selection for MLS Surfaces, H. Wang, C. Scheidegger, C. Silva. Proceedings of Shape Modelling International (SMI), 2008. Best paper award. [15] Examining Statistics of Workflow Evolution Provenance: A First Study, L. Lins, D. Koop, E. Anderson, S. P. Callahan, E. Santos, C. Scheidegger, J. Freire, C. Silva. Proceedings of the 20th International Conference on Scientific and Statistical Database Management (SSDBM), 2008. [16] Querying and Re-Using Workflows with VisTrails C. E. Scheidegger, H. T. Vo, D. Koop, J. Freire, C. Silva. Demo, ACM SIGMOD 2008.
[17] Hardware-Assisted Point-Based Volume Rendering of Tetrahedral Meshes, E. Anderson, S. Callahan, C. Scheidegger, J. Schreiner, C. Silva. Proceedings of the Brazilian Symposium on Computer Graphics and Image Processing (SIBGRAPI 2007). [18] Managing Rapidly-Evolving Scientific Workflows. J. Freire, C. Silva, S. Callahan, E. Santos, C. Scheidegger, H. Vo. Proceedings of the International Provenance and Annotation Workshop (IPAW), 2006. Invited paper. [19] Managing the evolution of dataflows with VisTrails. S. Callahan, J. Freire, E. Santos, C. Scheidegger, C. Silva, H. Vo. Proceedings of the IEEE Workshop on Workflow and Data Flow for Scientific Applications (SciFlow), 2006. [20] VisTrails: Visualization Meets Data Management. S. Callahan, J. Freire, E. Santos, C. Scheidegger, C. Silva, H. Vo. Demo, ACM SIGMOD 2006. [21] VisTrails: Enabling Interactive Multiple-View Visualizations. L. Bavoil, S. Callahan, P. Crossno, J. Freire, C. Scheidegger, C. Silva, H. Vo, Proceedings of IEEE Visualization, pages 135-142, 2005. [22] Triangulating Point-Set Surfaces With Bounded Error. C. Scheidegger, S. Fleishman, C. Silva. Proceedings of the third Eurographics/ACM Symposium on Geometry Processing, pages 63-72, 2005. [23] Boolean Operations on Surfel-Bounded Solids Using CBSP-Trees. M. Farias, C. Scheidegger, J. Comba, L. Velho. Proceedings of SIBGRAPI 2005 (XVIII Brazilian Symposium on Computer Graphics and Image Processing). [24] Navier-Stokes on Programmable Graphics Hardware using SMAC. C. Scheidegger, J. Comba, R. Cunha, Proceedings of XVII SIBGRAPI II SIACG 2004, pages 208-315, 2004. Other [25] Direct Volume Rendering: A 3D Plotting Technique for Scientific Data. S. Callahan, J. Callahan, C. Scheidegger, C. Silva. IEEE/AIP Computing in Science and Engineering, 10(1):88 92, 2008. [26] A Unified Projection Operator for MLS Surfaces. T. Ochotta, C. Scheidegger, J. Schreiner, Y. Lima, R. M. Kirby, C. Silva. SCI Institute Tech Report UUSCI-2007-006. [27] Visualization in Radiation Oncology: Towards Replacing the Laboratory Notebook. E. Anderson, S. Callahan, G. T. Y. Chen, J. Freire, E. Santos, C. Scheidegger, C. Silva, H. Vo. Manuscript. [28] Using Provenance to Streamline Data Exploration through Visualization. S. Callahan, J. Freire, E. Santos, C. Scheidegger, C. Silva, H. Vo. Manuscript. [29] GPUs como processadores de propósito geral. (In portuguese: GPUs as general purpose processors) C. Scheidegger. B.Sc. thesis. Advisor: Prof. Dr. J. Comba. December 2003. Software contributions VisTrails. One of the lead designers and developers of VisTrails, an open source provenance-aware system for exploratory scientific workflows and visualization. Available at http://www.vistrails.org. (Over 7,000 downloads.) Afront. One of the developers of Afront, a program to generate well-shaped triangle meshes out of many different types of input data. Available at http://afront.sourceforge.net. (Over 1,000 downloads.)
Macet. One of the developers of Macet, a variant of Marching Cubes geared towards generation of hihg-quality meshes. Available at http://www.sci.utah.edu/ cscheid/vis2008/edge groups. PGHFlow. Lead designer and developer for PGHFlow, a system for solving the uncompressible Navier- Stokes equations on programmable graphics hardware. Available at http://www.sci.utah.edu/ cscheid/smac. Professional Experience Intern at VisTrails Inc. Supervisor: Dr. Steven Callahan. Summer 2008. Research Intern at the IBM Watson Research Center. Supervisor: Dr. Wagner T. Correa. Summer 2006. Research Intern at Lawrence Livermore National Laboratories. Research topics: Point-based graphics and computational topology. Supervisor: Dr. Valerio Pascucci. Summer 2005. Teaching Assistant for CS3510: Algorithms and Data Structures. Supervisor: Prof. Dr. Cláudio Silva. Jan 2005 May 2005. Research Intern at the University of Utah. Topics: Point-based graphics and algorithms. Supervisor: Prof. Dr. Cláudio Silva. May 2004 Aug 2004. Undergraduate Research Assistant. Research topics: Applied computational geometry and GPU-based algorithms. Supervisor: Prof. Dr. João Comba. Department of Computer Science, Federal University of Rio Grande do Sul. Aug 2002 Dec 2004. Undergraduate Research Assistant. Research topics: Computer-Aided Design, Geographical Information Systems. Supervisor: Prof. Dr. Benamy Turkienicz. Department of Architecture, Federal University of Rio Grande do Sul. Feb 2001 Jul 2002. Computer Skills Programming: C, C++, Python, Scheme, Haskell, OpenGL, GPU programming languages (OpenGL arb fp, GLSL, Cg) Systems: UNIX (Linux and OS X), Windows Language Skills English: fluent Brazilian Portuguese: native
Research Statement My primary research interests are mainly in scientific visualization and geometric processing. Since arriving in Utah in 2005, I have done work in surface reconstruction [8], remeshing [12], isosurfacing [13, 3, 4], visualization systems and digital provenance [1, 9, 11, 7] and, more generally, geometric processing [10, 16]. My work is very practical in nature, but I believe it is important to keep a firm grounding in mathematics, and so I routinely refer to mathematical research for techniques and inspiration. A large part of my research efforts went into the design of key aspects of VisTrails, a novel visualization system focused on the exploration process that leads to an effective visualization. As part of my research, I have helped write research proposals in both areas, including a recently awarded NSF CRI proposal for the construction of a large GPU cluster at the University of Utah. I have recently been very interested in the reproducibility of results in computer science: how can one be sure of the results one sees in a paper, and how can one meaningfully compare it to other published works? This interest has two consequences in my work. First, I have strived to make my own work as reproducible as possible, by releasing open-source software and datasets together with the technical papers. Second, this interest reflects directly in some of the problems we tackled with the research leading to VisTrails, and some of the design decisions we took there. As I see it, distributing source code is a matter of transparency and honesty, directly analogous to writing technical papers clearly. Since I routinely use open source code myself, it is also a matter of simple reciprocity. I hope that by doing so, I help create a network effect: if sufficiently many researchers publish their source code and executables, the ones that do not will eventually be coerced into releasing their code. Perhaps most importantly, there are excellent selfish reasons for doing so: it makes my work more visible and maximizes the impact of my research. During the period where I was a graduate student, I have been involved in the release of at least three different software packages: VisTrails, afront, and macet. Together, these have been downloaded more than 8000 times. Scientific Visualization Over the last 20 years, scientific visualization has emerged as an effective means to help scientists, engineers and other professionals to faster extract insight from raw data. In the course of the research I have done in the area, we have designed VisTrails, a new visualization system whose goal is to provide scientists with an infrastructure that helps the exploration process inherent in developing effective visualizations [1]. VisTrails emphasizes the importance of process provenance: it transparently keeps track of the entire record of visualizations as they are created [2]. This facilitates exploration and reproducibility; users can always easily go back to previous results. In today s interdisciplinary world, teams are large and individuals have different areas of expertise. In VisTrails, different users can collaborate using a single file, having a central place for sharing their collective knowledge. This provenance data can then be reused, helping users make better sense of their tasks, for example by allowing them to create visualizations by analogy [11], and suggesting visualization fragments from user-collected data [7]. VisTrails was originally created for scientific visualization, but its infrastructure is equally well-suited for more general computational tasks. VisTrails makes it easy, in particular, to work with computational tasks involving multiple separate libraries. VisTrails has shown to be a very useful tool in a variety of scenarios. For example, after being released in 2006, it has been adopted in a scientific visualization course at UNC-Chapel Hill taught by Dr. Russ Taylor, and we use it in a scientific visualization course I have helped develop and teach at the University of Utah. It is currently being evaluated by high-energy physicists such as Dr. Chris Jones at Cornell University as a way to keep a record of simulation runs and analyses for particle-accelerator data. I have also collaborated with Dr. Bill Howe and colleagues at Portland State University, who have been deploying VisTrails at a large oceanographic project at the Columbia river estuary [5]. Geometric processing In geometric processing, I have been interested on techniques for generating meshes with good triangle quality. In particular, together with collaborators, we devised a technique to extend ad- 1
vancing front algorithms with a small amount of global information about the surface being meshed. This extra information induces a global constraint on how fast edge lengths change throughout the mesh, while still being very efficient to compute. The result is a technique that is simple to implement, fast, applicable to many surface representations, and much more robust than previous advancing front algorithms [8, 13, 12]. In a separate collaboration, I have also investigated why the popular Marching Cubes algorithm generates badly shaped trangles, and have proposed variants that share the same performance advantages of MC while generating nicely shaped triangles [3, 4]. I have also investigated the relation between scalar fields in volumes and functions defined on level sets of these scalar fields. In particular, we have shown that the histogram of a scalar field can be computed analytically by integrating the inverse gradient magnitude over the level sets of the functions, and applied this to empirical estimates of average isosurface complexity on volumetric datasets [10]. The important aspect of this result is its applicability. For example, uncertainty and noise in volumetric data have recently received much attention in scientific visualization [6]. The result above can be potentially used together with Gaussian random fields to provide novel ways of characterizing and quantifying the influence of noise in many scientific visualization techniques. Statistical techniques for spatial data are well-known in geostatistics, and the study of the geometry of random fields has recently received attention in statistics [14]. In general, the treatment of uncertainty and noise in scientific visualization and geometric processing stands to gain a much firmer grounding by using statistical results. In that theme, we have used results in kernel regression to derive good radii of influence for samples in point set surfaces [15, 16]. References [1] L. Bavoil, S. Callahan, P. Crossno, J. Freire, C. Scheidegger, C. Silva, and H. Vo. VisTrails: Enabling interactive, multiple-view visualizations. pages 135 142, 2005. [2] S. Callahan, J. Freire, E. Santos, C. Scheidegger, C. Silva, and H. Vo. Managing the evolution of dataflows with VisTrails. In IEEE Workshop on Workflow and Data Flow for Scientific Applications (SciFlow), 2006. [3] C. A. Dietrich, C. Scheidegger, J. Comba, L. Nedel, and C. Silva. Edge groups: An approach to understanding the mesh quality of marching methods. IEEE Transactions on Visualization and Computer Graphics, 14(7):1651 1658, 2008. [4] C. A. Dietrich, C. Scheidegger, J. Schreiner, J. Comba, L. Nedel, and C. Silva. Edge transformations for improving the mesh quality of marching methods. IEEE Transactions on Visualization and Computer Graphics, 15(1):150 159, 2009. [5] B. Howe, P. Lawson, R. Bellinger, E. Anderson, E. Santos, J. Freire, C. Scheidegger, A. Baptista, and C. Silva. End-to-end escience: Integrating workflow, query, visualization and provenance at an ocean observatory. In Proceedings of IEEE escience, 2008. [6] C. R. Johnson and A. R. Sanderson. A next step: Visualizing errors and uncertainty. IEEE Computer Graphics and Applications, 23(5):6 10, 2003. [7] D. Koop, C. E. Scheidegger, S. P. Callahan, J. Freire, and C. T. Silva. Viscomplete: Automating suggestions for visualization pipelines. IEEE Transactions on Visualization and Computer Graphics (Proceedings of Visualization 2008), 14(6):1691 1698, 2008. [8] C. Scheidegger, S. Fleishman, and C. Silva. Triangulating point-set surfaces with bounded error. In Proceedings of the third Eurographics/ACM Symposium on Geometry Processing, pages 63 72. The Eurographics Association, 2005. 2
[9] C. Scheidegger, D. Koop, E. Santos, H. Vo, S. Callahan, J. Freire, and C. Silva. Tackling the provenance challenge one layer at a time. Concurrency and Computation: Practice and Experience, 20(5):473 483, 2008. [10] C. Scheidegger, J. Schreiner, B. Duffy, H. Carr, and C. Silva. Revisiting histograms and isosurface statistics. IEEE Transactions on Visualization and Computer Graphics (Proceedings of IEEE Visualization 2008), 14(6):1659 1666, 2008. [11] C. E. Scheidegger, H. T. Vo, D. Koop, J. Freire, and C. T. Silva. Querying and creating visualizations by analogy. IEEE Transactions on Visualization and Computer Graphics (Proceedings of Visualization), 13(6):1560 1567, 2007. [12] J. Schreiner, C. Scheidegger, S. Fleishman, and C. Silva. Direct (re)meshing for efficient surface processing. Computer Graphics Forum (Proceedings of Eurographics 2006), 25:527 536, 2006. [13] J. Schreiner, C. Scheidegger, and C. T. Silva. High-quality extraction of isosurfaces from regular and irregular grids. IEEE Transactions on Visualization and Computer Graphics, 12(5):1205 1212, September 2006. [14] J. Taylor and R. J. Adler. Random Fields and Geometry. Springer, 2007. [15] H. Wang, C. Scheidegger, and C. Silva. Optimal bandwidth selection for MLS surfaces. In Proceedings of Shape Modelling International, 2008. [16] H. Wang, C. Scheidegger, and C. Silva. Bandwidth selection and reconstruction quality in point-based surfaces (to appear). IEEE Transactions in Visualization and Computer Graphics, 2009. 3
Teaching Statement Teaching style The main goal of a course instructor, in my opinion, is to bring their experience and point of view to the students. Of course, this means different things for different courses. For mandatory, undergraduate-level courses, the instructor should focus on the basic, indispensable important points the course offers, and motivate the subject matter so that students will want to learn the deeper aspects by themselves. For graduate-level courses, the instructor s goal is to frame the content being presented in the appropriate context, allowing effective independent study and setting up research opportunities. Students have easier access than ever to large amounts of material on the WWW, so it is wasteful to teach courses simply presenting information and facts. The value a teacher adds is therefore in their ability to bring the relevant information to front: a hardlearned lesson that will carry into the professional lives of students, a proof technique particularly applicable in the area, or a connection between different results that hints at a research project for a beginning graduate student. There are two criteria I use to consider whether an instructor is successful: if students finishing their course have learned how to critically evaluate work in the field, and if they are now able to pursue independent study in the area. Each class of students is different, so constant feedback is an effective way to gauge and correct any mistakes made during course planning. A instructor must be willing, then, to change presentation style as the course develops. One useful technique I learned from my PhD advisor is to get formal student feedback (through evaluation forms) after the first third of the course is finished. This gives enough time for students to decide what they like and what they dislike, and this evaluation is typically done right after the first big project or midterm of the course. I find that the change of pace has a noticeable effect on the satisfaction of students. Mentoring During graduate school, I had the opportunity to mentor a undergraduate student in a research project that became a publication eventually chosen as the best paper at SMI 2008. Guiding an undergraduate student was a rewarding process, and gave me a first-hand preview to the routine I intend to keep with my own research group. Two lessons struck me as particularly valuable. Keeping communication channels open is important for morale, in particular when facing a roadblock early in the research process. Sitting down regularly with students is a great way to prevent loss of time in these situations. In addition, it is crucial to listen to arguments coming from a different background than yours. This student has a very strong background in statistics, which ended up being the major theme of this particular publication. In my career as a mentor, I hope to repeat this experience. A beginning graduate student will typically have a hard time seeing the forest for the trees. A large part of research mentoring involves teaching how to handle these issues. A lesson I learned from my own graduate advisor is the importance in choosing appropriate research problems to tackle. More generally, a mentor should teach a student the importance of relevance, be it in problem choice, technical writing, presentation, or other things. Since I have learned a lot myself about these issues in graduate school, I can appreciate the difference it makes. Courses cotaught I had my first teaching experience in an undergraduate-level algorithms class, where I was a teaching assistant for a large class of students. I was in charge of running weekly lab sessions and office hours with students. I typically start a lab session with a set of problems on the whiteboard, and let the students work out the solutions as a group. This setup forces the students to externalize their own knowledge in the discussions among themselves, which gives me a better idea of their strengths and weaknesses. Office hours would then be spent with individual students that had specific problems. This is by far the most frustrating part of teaching, but I believe it is indispensable, as sometimes lack of morale will get in the way of an otherwise 1
great student. This experience led me to receive the yearly outstanding TA award for 2005 at the School of Computing. Together with my PhD advisor and (at the time) another PhD student, we designed and taught a scientific visualization course using VisTrails. This involved the preparation of presentation material, slides and handouts, part of a textbook manuscript on exploratory scientific visualization. While planning an entire course is a large amount of work, it allowed me to look at the scientific visualization field as a whole. This was a course aimed at both an undergraduate and graduate audience, with the main difference being the project load for graduate students. Our main goal for the course was to prepare undergraduate students to effectively understand and apply the basic techniques of the field, while presenting enough foundational material to attract graduate students to later research-oriented courses in scientific visualization. Having to put an entire field in context was very fruitful for me, even in research terms. Since the area is relatively recent, it helped point to research directions that would not otherwise be visible. 2