Visualization Techniques for Virtual Endoscopy
Total Page:16
File Type:pdf, Size:1020Kb
Load more
Recommended publications
-
CS 543: Computer Graphics Lecture 7 (Part I): Projection Emmanuel
CS 543: Computer Graphics Lecture 7 (Part I): Projection Emmanuel Agu 3D Viewing and View Volume n Recall: 3D viewing set up Projection Transformation n View volume can have different shapes (different looks) n Different types of projection: parallel, perspective, orthographic, etc n Important to control n Projection type: perspective or orthographic, etc. n Field of view and image aspect ratio n Near and far clipping planes Perspective Projection n Similar to real world n Characterized by object foreshortening n Objects appear larger if they are closer to camera n Need: n Projection center n Projection plane n Projection: Connecting the object to the projection center camera projection plane Projection? Projectors Object in 3 space Projected image VRP COP Orthographic Projection n No foreshortening effect – distance from camera does not matter n The projection center is at infinite n Projection calculation – just drop z coordinates Field of View n Determine how much of the world is taken into the picture n Larger field of view = smaller object projection size center of projection field of view (view angle) y y z q z x Near and Far Clipping Planes n Only objects between near and far planes are drawn n Near plane + far plane + field of view = Viewing Frustum Near plane Far plane y z x Viewing Frustrum n 3D counterpart of 2D world clip window n Objects outside the frustum are clipped Near plane Far plane y z x Viewing Frustum Projection Transformation n In OpenGL: n Set the matrix mode to GL_PROJECTION n Perspective projection: use • gluPerspective(fovy, -
Domain-Specific Programming Systems
Lecture 22: Domain-Specific Programming Systems Parallel Computer Architecture and Programming CMU 15-418/15-618, Spring 2020 Slide acknowledgments: Pat Hanrahan, Zach Devito (Stanford University) Jonathan Ragan-Kelley (MIT, Berkeley) Course themes: Designing computer systems that scale (running faster given more resources) Designing computer systems that are efficient (running faster under constraints on resources) Techniques discussed: Exploiting parallelism in applications Exploiting locality in applications Leveraging hardware specialization (earlier lecture) CMU 15-418/618, Spring 2020 Claim: most software uses modern hardware resources inefficiently ▪ Consider a piece of sequential C code - Call the performance of this code our “baseline performance” ▪ Well-written sequential C code: ~ 5-10x faster ▪ Assembly language program: maybe another small constant factor faster ▪ Java, Python, PHP, etc. ?? Credit: Pat Hanrahan CMU 15-418/618, Spring 2020 Code performance: relative to C (single core) GCC -O3 (no manual vector optimizations) 51 40/57/53 47 44/114x 40 = NBody 35 = Mandlebrot = Tree Alloc/Delloc 30 = Power method (compute eigenvalue) 25 20 15 10 5 Slowdown (Compared to C++) Slowdown (Compared no data no 0 data no Java Scala C# Haskell Go Javascript Lua PHP Python 3 Ruby (Mono) (V8) (JRuby) Data from: The Computer Language Benchmarks Game: CMU 15-418/618, http://shootout.alioth.debian.org Spring 2020 Even good C code is inefficient Recall Assignment 1’s Mandelbrot program Consider execution on a high-end laptop: quad-core, Intel Core i7, AVX instructions... Single core, with AVX vector instructions: 5.8x speedup over C implementation Multi-core + hyper-threading + AVX instructions: 21.7x speedup Conclusion: basic C implementation compiled with -O3 leaves a lot of performance on the table CMU 15-418/618, Spring 2020 Making efficient use of modern machines is challenging (proof by assignments 2, 3, and 4) In our assignments, you only programmed homogeneous parallel computers. -
Viewing in 3D
Viewing in 3D Viewing in 3D Foley & Van Dam, Chapter 6 • Transformation Pipeline • Viewing Plane • Viewing Coordinate System • Projections • Orthographic • Perspective OpenGL Transformation Pipeline Viewing Coordinate System Homogeneous coordinates in World System zw world yw ModelViewModelView Matrix Matrix xw Tractor Viewing System Viewer Coordinates System ProjectionProjection Matrix Matrix Clip y Coordinates v Front- xv ClippingClipping Wheel System P0 zv ViewportViewport Transformation Transformation ne pla ing Window Coordinates View Specifying the Viewing Coordinates Specifying the Viewing Coordinates • Viewing Coordinates system, [xv, yv, zv], describes 3D objects with respect to a viewer zw y v P v xv •A viewing plane (projection plane) is set up N P0 zv perpendicular to zv and aligned with (xv,yv) yw xw ne pla ing • In order to specify a viewing plane we have View to specify: •P0=(x0,y0,z0) is the point where a camera is located •a vector N normal to the plane • P is a point to look-at •N=(P-P)/|P -P| is the view-plane normal vector •a viewing-up vector V 0 0 •V=zw is the view up vector, whose projection onto • a point on the viewing plane the view-plane is directed up Viewing Coordinate System Projections V u N z N ; x ; y z u x • Viewing 3D objects on a 2D display requires a v v V u N v v v mapping from 3D to 2D • The transformation M, from world-coordinate into viewing-coordinates is: • A projection is formed by the intersection of certain lines (projectors) with the view plane 1 2 3 ª x v x v x v 0 º ª 1 0 0 x 0 º « » « -
Implementation of Projections
CS488 Implementation of projections Luc RENAMBOT 1 3D Graphics • Convert a set of polygons in a 3D world into an image on a 2D screen • After theoretical view • Implementation 2 Transformations P(X,Y,Z) 3D Object Coordinates Modeling Transformation 3D World Coordinates Viewing Transformation 3D Camera Coordinates Projection Transformation 2D Screen Coordinates Window-to-Viewport Transformation 2D Image Coordinates P’(X’,Y’) 3 3D Rendering Pipeline 3D Geometric Primitives Modeling Transform into 3D world coordinate system Transformation Lighting Illuminate according to lighting and reflectance Viewing Transform into 3D camera coordinate system Transformation Projection Transform into 2D camera coordinate system Transformation Clipping Clip primitives outside camera’s view Scan Draw pixels (including texturing, hidden surface, etc.) Conversion Image 4 Orthographic Projection 5 Perspective Projection B F 6 Viewing Reference Coordinate system 7 Projection Reference Point Projection Reference Point (PRP) Center of Window (CW) View Reference Point (VRP) View-Plane Normal (VPN) 8 Implementation • Lots of Matrices • Orthographic matrix • Perspective matrix • 3D World → Normalize to the canonical view volume → Clip against canonical view volume → Project onto projection plane → Translate into viewport 9 Canonical View Volumes • Used because easy to clip against and calculate intersections • Strategies: convert view volumes into “easy” canonical view volumes • Transformations called Npar and Nper 10 Parallel Canonical Volume X or Y Defined by 6 planes -
EX NIHILO – Dahlgren 1
EX NIHILO – Dahlgren 1 EX NIHILO: A STUDY OF CREATIVITY AND INTERDISCIPLINARY THOUGHT-SYMMETRY IN THE ARTS AND SCIENCES By DAVID F. DAHLGREN Integrated Studies Project submitted to Dr. Patricia Hughes-Fuller in partial fulfillment of the requirements for the degree of Master of Arts – Integrated Studies Athabasca, Alberta August, 2008 EX NIHILO – Dahlgren 2 Waterfall by M. C. Escher EX NIHILO – Dahlgren 3 Contents Page LIST OF ILLUSTRATIONS 4 INTRODUCTION 6 FORMS OF SIMILARITY 8 Surface Connections 9 Mechanistic or Syntagmatic Structure 9 Organic or Paradigmatic Structure 12 Melding Mechanical and Organic Structure 14 FORMS OF FEELING 16 Generative Idea 16 Traits 16 Background Control 17 Simulacrum Effect and Aura 18 The Science of Creativity 19 FORMS OF ART IN SCIENTIFIC THOUGHT 21 Interdisciplinary Concept Similarities 21 Concept Glossary 23 Art as an Aid to Communicating Concepts 27 Interdisciplinary Concept Translation 30 Literature to Science 30 Music to Science 33 Art to Science 35 Reversing the Process 38 Thought Energy 39 FORMS OF THOUGHT ENERGY 41 Zero Point Energy 41 Schools of Fish – Flocks of Birds 41 Encapsulating Aura in Language 42 Encapsulating Aura in Art Forms 50 FORMS OF INNER SPACE 53 Shapes of Sound 53 Soundscapes 54 Musical Topography 57 Drawing Inner Space 58 Exploring Inner Space 66 SUMMARY 70 REFERENCES 71 APPENDICES 78 EX NIHILO – Dahlgren 4 LIST OF ILLUSTRATIONS Page Fig. 1 - Hofstadter’s Lettering 8 Fig. 2 - Stravinsky by Picasso 9 Fig. 3 - Symphony No. 40 in G minor by Mozart 10 Fig. 4 - Bird Pattern – Alhambra palace 10 Fig. 5 - A Tree Graph of the Creative Process 11 Fig. -
CS 4204 Computer Graphics 3D Views and Projection
CS 4204 Computer Graphics 3D views and projection Adapted from notes by Yong Cao 1 Overview of 3D rendering Modeling: * Topic we’ve already discussed • *Define object in local coordinates • *Place object in world coordinates (modeling transformation) Viewing: • Define camera parameters • Find object location in camera coordinates (viewing transformation) Projection: project object to the viewplane Clipping: clip object to the view volume *Viewport transformation *Rasterization: rasterize object Simple teapot demo 3D rendering pipeline Vertices as input Series of operations/transformations to obtain 2D vertices in screen coordinates These can then be rasterized 3D rendering pipeline We’ve already discussed: • Viewport transformation • 3D modeling transformations We’ll talk about remaining topics in reverse order: • 3D clipping (simple extension of 2D clipping) • 3D projection • 3D viewing Clipping: 3D Cohen-Sutherland Use 6-bit outcodes When needed, clip line segment against planes Viewing and Projection Camera Analogy: 1. Set up your tripod and point the camera at the scene (viewing transformation). 2. Arrange the scene to be photographed into the desired composition (modeling transformation). 3. Choose a camera lens or adjust the zoom (projection transformation). 4. Determine how large you want the final photograph to be - for example, you might want it enlarged (viewport transformation). Projection transformations Introduction to Projection Transformations Mapping: f : Rn Rm Projection: n > m Planar Projection: Projection on a plane. -
The Mission of IUPUI Is to Provide for Its Constituents Excellence in Teaching and Learning; Research, Scholarship, and Creative Activity; and Civic Engagement
INFO H517 Visualization Design, Analysis, and Evaluation Department of Human-Centered Computing Indiana University School of Informatics and Computing, Indianapolis Fall 2016 Section No.: 35557 Credit Hours: 3 Time: Wednesdays 12:00 – 2:40 PM Location: IT 257, Informatics & Communications Technology Complex 535 West Michigan Street, Indianapolis, IN 46202 [map] First Class: August 24, 2016 Website: http://vis.ninja/teaching/h590/ Instructor: Khairi Reda, Ph.D. in Computer Science (University of Illinois, Chicago) Assistant Professor, Human–Centered Computing Office Hours: Mondays, 1:00-2:30PM, or by Appointment Office: IT 581, Informatics & Communications Technology Complex 535 West Michigan Street, Indianapolis, IN 46202 [map] Phone: (317) 274-5788 (Office) Email: [email protected] Website: http://vis.ninja/ Prerequisites: Prior programming experience in a high-level language (e.g., Java, JavaScript, Python, C/C++, C#). COURSE DESCRIPTION This is an introductory course in design and evaluation of interactive visualizations for data analysis. Topics include human visual perception, visualization design, interaction techniques, and evaluation methods. Students develop projects to create their own web- based visualizations and develop competence to undertake independent research in visualization and visual analytics. EXTENDED COURSE DESCRIPTION This course introduces students to interactive data visualization from a human-centered perspective. Students learn how to apply principles from perceptual psychology, cognitive science, and graphics design to create effective visualizations for a variety of data types and analytical tasks. Topics include fundamentals of human visual perception and cognition, 1 2 graphical data encoding, visual representations (including statistical plots, maps, graphs, small-multiples), task abstraction, interaction techniques, data analysis methods (e.g., clustering and dimensionality reduction), and evaluation methods. -
Computational Photography
Computational Photography George Legrady © 2020 Experimental Visualization Lab Media Arts & Technology University of California, Santa Barbara Definition of Computational Photography • An R & D development in the mid 2000s • Computational photography refers to digital image-capture cameras where computers are integrated into the image-capture process within the camera • Examples of computational photography results include in-camera computation of digital panoramas,[6] high-dynamic-range images, light- field cameras, and other unconventional optics • Correlating one’s image with others through the internet (Photosynth) • Sensing in other electromagnetic spectrum • 3 Leading labs: Marc Levoy, Stanford (LightField, FrankenCamera, etc.) Ramesh Raskar, Camera Culture, MIT Media Lab Shree Nayar, CV Lab, Columbia University https://en.wikipedia.org/wiki/Computational_photography Definition of Computational Photography Sensor System Opticcs Software Processing Image From Shree K. Nayar, Columbia University From Shree K. Nayar, Columbia University Shree K. Nayar, Director (lab description video) • Computer Vision Laboratory • Lab focuses on vision sensors; physics based models for vision; algorithms for scene interpretation • Digital imaging, machine vision, robotics, human- machine interfaces, computer graphics and displays [URL] From Shree K. Nayar, Columbia University • Refraction (lens / dioptrics) and reflection (mirror / catoptrics) are combined in an optical system, (Used in search lights, headlamps, optical telescopes, microscopes, and telephoto lenses.) • Catadioptric Camera for 360 degree Imaging • Reflector | Recorded Image | Unwrapped [dance video] • 360 degree cameras [Various projects] Marc Levoy, Computer Science Lab, Stanford George Legrady Director, Experimental Visualization Lab Media Arts & Technology University of California, Santa Barbara http://vislab.ucsb.edu http://georgelegrady.com Marc Levoy, Computer Science Lab, Stanford • Light fields were introduced into computer graphics in 1996 by Marc Levoy and Pat Hanrahan. -
Surfacing Visualization Mirages
Surfacing Visualization Mirages Andrew McNutt Gordon Kindlmann Michael Correll University of Chicago University of Chicago Tableau Research Chicago, IL Chicago, IL Seattle, WA [email protected] [email protected] [email protected] ABSTRACT In this paper, we present a conceptual model of these visual- Dirty data and deceptive design practices can undermine, in- ization mirages and show how users’ choices can cause errors vert, or invalidate the purported messages of charts and graphs. in all stages of the visual analytics (VA) process that can lead These failures can arise silently: a conclusion derived from to untrue or unwarranted conclusions from data. Using our a particular visualization may look plausible unless the an- model we observe a gap in automatic techniques for validating alyst looks closer and discovers an issue with the backing visualizations, specifically in the relationship between data data, visual specification, or their own assumptions. We term and chart specification. We address this gap by developing a such silent but significant failures visualization mirages. We theory of metamorphic testing for visualization which synthe- describe a conceptual model of mirages and show how they sizes prior work on metamorphic testing [92] and algebraic can be generated at every stage of the visual analytics process. visualization errors [54]. Through this combination we seek to We adapt a methodology from software testing, metamorphic alert viewers to situations where minor changes to the visual- testing, as a way of automatically surfacing potential mirages ization design or backing data have large (but illusory) effects at the visual encoding stage of analysis through modifications on the resulting visualization, or where potentially important to the underlying data and chart specification. -
To Draw a Tree
To Draw a Tree Pat Hanrahan Computer Science Department Stanford University Motivation Hierarchies File systems and web sites Organization charts Categorical classifications Similiarity and clustering Branching processes Genealogy and lineages Phylogenetic trees Decision processes Indices or search trees Decision trees Tournaments Page 1 Tree Drawing Simple Tree Drawing Preorder or inorder traversal Page 2 Rheingold-Tilford Algorithm Information Visualization Page 3 Tree Representations Most Common … Page 4 Tournaments! Page 5 Second Most Common … Lineages Page 6 http://www.royal.gov.uk/history/trees.htm Page 7 Demonstration Saito-Sederberg Genealogy Viewer C. Elegans Cell Lineage [Sulston] Page 8 Page 9 Page 10 Page 11 Evolutionary Trees [Haeckel] Page 12 Page 13 [Agassiz, 1883] 1989 Page 14 Chapple and Garofolo, In Tufte [Furbringer] Page 15 [Simpson]] [Gould] Page 16 Tree of Life [Haeckel] [Tufte] Page 17 Janvier, 1812 “Graphical Excellence is nearly always multivariate” Edward Tufte Page 18 Phenograms to Cladograms GeneBase Page 19 http://www.gwu.edu/~clade/spiders/peet.htm Page 20 Page 21 The Shape of Trees Page 22 Patterns of Evolution Page 23 Hierachical Databases Stolte and Hanrahan, Polaris, InfoVis 2000 Page 24 Generalization • Aggregation • Simplification • Filtering Abstraction Hierarchies Datacubes Star and Snowflake Schemes Page 25 Memory & Code Cache misses for a procedure for 10 million cycles White = not run Grey = no misses Red = # misses y-dimension is source code x-dimension is cycles (time) Memory & Code zooming on y zooms from fileprocedurelineassembly code zooming on x increases time resolution down to one cycle per bar Page 26 Themes Cognitive Principles for Design Congruence Principle: The structure and content of the external representation should correspond to the desired structure and content of the internal representation. -
Shortcuts Guide
Shortcuts Guide One Key Shortcuts Toggles and Screen Management Hot Keys A–Z Printable Keyboard Stickers ONE KEY SHORTCUTS [SEE PRINTABLE KEYBOARD STICKERS ON PAGE 11] mode mode mode mode Help text screen object 3DOsnap Isoplane Dynamic UCS grid ortho snap polar object dynamic mode mode Display Toggle Toggle snap Toggle Toggle Toggle Toggle Toggle Toggle Toggle Toggle snap tracking Toggle input PrtScn ScrLK Pause Esc F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 SysRq Break ~ ! @ # $ % ^ & * ( ) — + Backspace Home End ` 1 2 3 4 5 6 7 8 9 0 - = { } | Tab Q W E R T Y U I O P Insert Page QSAVE WBLOCK ERASE REDRAW MTEXT INSERT OFFSET PAN [ ] \ Up : “ Caps Lock A S D F G H J K L Enter Delete Page ARC STRETCH DIMSTYLE FILLET GROUP HATCH JOIN LINE ; ‘ Down < > ? Shift Z X C V B N M Shift ZOOM EXPLODE CIRCLE VIEW BLOCK MOVE , . / Ctrl Start Alt Alt Ctrl Q QSAVE / Saves the current drawing. C CIRCLE / Creates a circle. H HATCH / Fills an enclosed area or selected objects with a hatch pattern, solid fill, or A ARC / Creates an arc. R REDRAW / Refreshes the display gradient fill. in the current viewport. Z ZOOM / Increases or decreases the J JOIN / Joins similar objects to form magnification of the view in the F FILLET / Rounds and fillets the edges a single, unbroken object. current viewport. of objects. M MOVE / Moves objects a specified W WBLOCK / Writes objects or V VIEW / Saves and restores named distance in a specified direction. a block to a new drawing file. -
Using Visualization to Understand the Behavior of Computer Systems
USING VISUALIZATION TO UNDERSTAND THE BEHAVIOR OF COMPUTER SYSTEMS A DISSERTATION SUBMITTED TO THE DEPARTMENT OF COMPUTER SCIENCE AND THE COMMITTEE ON GRADUATE STUDIES OF STANFORD UNIVERSITY IN PARTIAL FULFILLMENT OF THE REQUIREMENTS FOR THE DEGREE OF DOCTOR OF PHILOSOPHY Robert P. Bosch Jr. August 2001 c Copyright by Robert P. Bosch Jr. 2001 All Rights Reserved ii I certify that I have read this dissertation and that in my opinion it is fully adequate, in scope and quality, as a dissertation for the degree of Doctor of Philosophy. Dr. Mendel Rosenblum (Principal Advisor) I certify that I have read this dissertation and that in my opinion it is fully adequate, in scope and quality, as a dissertation for the degree of Doctor of Philosophy. Dr. Pat Hanrahan I certify that I have read this dissertation and that in my opinion it is fully adequate, in scope and quality, as a dissertation for the degree of Doctor of Philosophy. Dr. Mark Horowitz Approved for the University Committee on Graduate Studies: iii Abstract As computer systems continue to grow rapidly in both complexity and scale, developers need tools to help them understand the behavior and performance of these systems. While information visu- alization is a promising technique, most existing computer systems visualizations have focused on very specific problems and data sources, limiting their applicability. This dissertation introduces Rivet, a general-purpose environment for the development of com- puter systems visualizations. Rivet can be used for both real-time and post-mortem analyses of data from a wide variety of sources. The modular architecture of Rivet enables sophisticated visualiza- tions to be assembled using simple building blocks representing the data, the visual representations, and the mappings between them.