Contours & Implicit Modelling 1

Similar documents
Contours & Implicit Modelling 4

Volume Illumination and Segmentation

Scalar Algorithms: Contouring

Volume Illumination, Contouring

Data Representation in Visualisation

Processing 3D Surface Data

Processing 3D Surface Data

Processing 3D Surface Data

Geometric Representations. Stelian Coros

Lecture notes: Object modeling

Previously... contour or image rendering in 2D

CSC Computer Graphics

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

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

Systems Architecture for Visualisation

Scalar Visualization

Polygon Meshes and Implicit Surfaces

Polygon Meshes and Implicit Surfaces

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

Visualization. CSCI 420 Computer Graphics Lecture 26

Isosurface Rendering. CSC 7443: Scientific Information Visualization

11/1/13. Polygon Meshes and Implicit Surfaces. Shape Representations. Polygon Models in OpenGL. Modeling Complex Shapes

Scalar Algorithms -- surfaces

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

Lecture overview. Visualisatie BMT. Fundamental algorithms. Visualization pipeline. Structural classification - 1. Structural classification - 2

Introduction to volume rendering. Paul Bourke

Möbius Transformations in Scientific Computing. David Eppstein

: Mesh Processing. Chapter 8

Visualization Computer Graphics I Lecture 20

Volume Rendering. Computer Animation and Visualisation Lecture 9. Taku Komura. Institute for Perception, Action & Behaviour School of Informatics

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

Outline of the presentation

Indirect Volume Rendering

Volume Illumination & Vector Field Visualisation

Computer Graphics Ray Casting. Matthias Teschner

Outline. Solid models and fractals. Constructive solid geometry. Constructive solid geometry COM3404. Richard Everson

Correctness. The Powercrust Algorithm for Surface Reconstruction. Correctness. Correctness. Delaunay Triangulation. Tools - Voronoi Diagram

Voronoi Diagrams in the Plane. Chapter 5 of O Rourke text Chapter 7 and 9 of course text

Scientific Visualization. CSC 7443: Scientific Information Visualization

Solid models and fractals

Boolean Component. Chapter 1. Boolean Operations

Example: The following is an example of a polyhedron. Fill the blanks with the appropriate answer. Vertices:

Visualization Toolkit(VTK) Atul Kumar MD MMST PhD IRCAD-Taiwan

3D Volume Mesh Generation of Human Organs Using Surface Geometries Created from the Visible Human Data Set

Medial Scaffolds for 3D data modelling: status and challenges. Frederic Fol Leymarie

Lecture 2 Unstructured Mesh Generation

LAPLACIAN MESH SMOOTHING FOR TETRAHEDRA BASED VOLUME VISUALIZATION 1. INTRODUCTION

Lecture Tessellations, fractals, projection. Amit Zoran. Advanced Topics in Digital Design

9. Three Dimensional Object Representations

Geometric Modeling Mortenson Chapter 11. Complex Model Construction

Preferred directions for resolving the non-uniqueness of Delaunay triangulations

Tutorial 3 Comparing Biological Shapes Patrice Koehl and Joel Hass

Chapter 4-3D Modeling

From curves to surfaces. Parametric surfaces and solid modeling. Extrusions. Surfaces of revolution. So far have discussed spline curves in 2D

Scientific Visualization Example exam questions with commented answers

Visualization Toolkit (VTK) An Introduction

Shape Representation Basic problem We make pictures of things How do we describe those things? Many of those things are shapes Other things include

Visualization Computer Graphics I Lecture 20

Applications. Oversampled 3D scan data. ~150k triangles ~80k triangles

What is visualization? Why is it important?

Shrinkwrap developments for computational electromagnetics in ICE NITe

Surface and Solid Geometry. 3D Polygons

CSG obj. oper3. obj1 obj2 obj3. obj5. obj4

Physically-Based Modeling and Animation. University of Missouri at Columbia

Outline. Reconstruction of 3D Meshes from Point Clouds. Motivation. Problem Statement. Applications. Challenges

Shape Reconstruction from Unorganized Cross-sections

COMPUTING CONSTRAINED DELAUNAY

Practical Linear Algebra: A Geometry Toolbox

Computer Graphics Prof. Sukhendu Das Dept. of Computer Science and Engineering Indian Institute of Technology, Madras Lecture - 24 Solid Modelling

CSCI 4620/8626. Coordinate Reference Frames

Fundamental Algorithms and Advanced Data Representations

Advanced Algorithms Computational Geometry Prof. Karen Daniels. Fall, 2012

SURFACE CONSTRUCTION USING TRICOLOR MARCHING CUBES

Computational Geometry. Algorithm Design (10) Computational Geometry. Convex Hull. Areas in Computational Geometry

Clipping. CSC 7443: Scientific Information Visualization

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

Scalar Field Visualization I

Constrained Delaunay Triangulations (CDT)

3D Modeling: Solid Models

Chapter 2: Rhino Objects

Scalar Field Visualization. Some slices used by Prof. Mike Bailey

Scalar Field Visualization I

Constructive Solid Geometry and Procedural Modeling. Stelian Coros

Special Topics in Visualization

Data analysis with ParaView CSMP Workshop 2009 Gillian Gruen

Scalar Visualization

Implicit Surfaces or Level Sets of Functions *

Scientific Computing WS 2018/2019. Lecture 12. Jürgen Fuhrmann Lecture 12 Slide 1

Implicit Surfaces & Solid Representations COS 426

TNM079 Modeling & Animation Lecture 6 (Implicit surfaces)

Digital Image Processing Fundamentals

Computer Graphics: Introduction to the Visualisation Toolkit

Geometric Modeling. Introduction

Week 7 Convex Hulls in 3D

Vector Field Visualisation

Iso-surface cell search. Iso-surface Cells. Efficient Searching. Efficient search methods. Efficient iso-surface cell search. Problem statement:

What is visualization? Why is it important?

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

Segmentation of point clouds

CS 532: 3D Computer Vision 14 th Set of Notes

Transcription:

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

Brief Recap Contouring Implicit Functions lecture 3 visualisation of a Quadric Modelling Algorithms lecture 6 - Marching Cubes change aspects of data rather than data itself (lecture 5) Contours & Implicit Modelling 2

Contouring A point about contours: How to visualise the tumour? Draw a contour of value 50? Brain 30 units 50 Bone 80 units Tumour Contours & Implicit Modelling 3

Contouring A point about contours: Contour of value 50 If generate contours of units over 50, only the bone and tumor will appear together If generate contours of units below 50, the brain will appear together Poor visualisation of tumour: Brain Brain 30 units 30 units 50 Bone 80 units Need more control over mapping function from value to color Contours & Implicit Modelling 4

Segmentation of CT imaging 2D slice as image 3D contour of bone density Greyscale image colourmap Marching Cubes Can add multiple contours at different values to see different components (practicals / current assignment) CT value corresponds to density easy to segment Contours & Implicit Modelling 5

How to segment MRI data? A Dog s thorax Lungs Trachea Liver Gall Bladder How to extract an organ here? MRI values not directly proportional to density Contours & Implicit Modelling 6

Image Processing on MRI Data From image processing / computer vision segment image slices noise removal (smoothing) edge detection (changes in colour) region growing start from initial image patch grow outwards including similar regions stop when boundary or distinct change in value reaching thresholding all scalar values in between upper and lower limits Liver outlined in red Image processing not strictly visualisation additional tool in visualisation pipeline see Advanced Vision course Contours & Implicit Modelling 7

Example : MRI segmented knee Courtesy : Brigham & Women's Hospital Original MRI slice (top, left), Segmentation (top, right), Overlay (bottom). Enhanced Visualisation : data merging original and segmentation Contours & Implicit Modelling 8

Segmentation of dog organs Liver outlined in red Segmentation of organ in each image slice (2D) 3D model of Liver. visualisation of segmented 2D image stack as 3D volume Contours & Implicit Modelling 9

Triangulated 3D model of dog liver Vertices in one contour need to be matched with those in the next slice to produce triangulated mesh. Problem - different number of vertices in each curve Contours & Implicit Modelling 10

Problem 1 : Grow hole High slice Middle slice Contours & Implicit Modelling 11

Problem 2 : split contours Middle slice Low slice Known as the branching problem. Contours & Implicit Modelling 12

Possible Ambiguities OR OR Contour connection method needs to handle these cases Solution: NUAGES [Geiger '93] fill convex hull of contour with tetrahedra discard those outside the contours or with only one edge on each level 3D contour connection = remaining exterior tetrahedra faces [Geiger '93] Contours & Implicit Modelling 13

NUAGES : Triangulate Contour Triangulate contour vertices using Delaunay Triangulation no inside / outside constraint forms planar convex hull of each contour Add additional vertices if necessary [Geiger '93] Contours & Implicit Modelling 14

Delaunay triangulation The triangulation DT(P) of P such that no point in P is inside the circumcircle of any triangle in DT(P). Delaunay triangulations maximize the minimum angle of all the angles of the triangles in the triangulation Gives nice set of triangles for finite element analysis Used very often Contours & Implicit Modelling 15

NUAGES : Form Tetrahedra Form tetrahedra by joining to closest vertex on opposite contour [Geiger '93] tetrahedra t1 and t2 formed with closest opposite vertex enclosed within area of triangle tetrahedra t12 formed by two edges that cross (special case) Contours & Implicit Modelling 16

NUAGES : Remove Tetrahedra [Geiger '93] Remove : Tetrahedra with an edge outside of the contour. Remove : Tetrahedra with only one edge on each contour plane non-solid connection Contours & Implicit Modelling 17

NUAGES : Results Upper Contour Connected : top down view Lower Contour Connected : side view Use exterior triangles of remaining tetrahedra to form outside boundary of the shape [Geiger '93] Contours & Implicit Modelling 18

NUAGES : Results Multiple medical image slices joined by NUAGES http://www-sop.inria.fr/prisme/fiches/medical/ Contours & Implicit Modelling 19

Dog Liver : Final Model Completed model despite presence of contour holes/ branches (NUAGES) Contours & Implicit Modelling 20

Summary - Contours Some 3D dataset easy to visualise with iso-surfaces CT data values correspond to density iso-surfaces from Marching Cubes Some datasets have no such correspondence MRI data values segmentation of organs requires image processing image processing performed on slices In either case, need slices joined to create 3D volumetric model ambiguities need to be resolved (NUAGES) Contours & Implicit Modelling 21

Modelling Algorithms Implicit Functions Functions of the form F(x,y,z) = c Defines 3 regions : F = 0 lies on the sphere F < 0 lies inside the sphere F > 0 lies outside the sphere Uses : c is an arbitrary constant function implies a surface (at F=0) e.g F(x,y,z) = x2 + y2 +z2 R2 defines a sphere radius R centred at the origin Geometric modelling Selecting data (i.e. cutting) Contours & Implicit Modelling 22

Implicit Functions for Cutting 1 Define the implicit function F Evaluate F at every point on grid (in set) If F < 0 (clipping everything remove data F>0 F<0 inside) similarly for outside iso-surface of sphere at F=0 Cutting = Modelling Algorithm Contours & Implicit Modelling 23

Implicit Functions for Cutting 2 F>0 F<0 A topology change occurs in the data structured points to unstructured points and cells structured points to structured points and cells with different topology Contours & Implicit Modelling 24

Cutting Cutting surfaces by implicit functions 3D contouring algorithm iso-surface e.g. marching cubes to generate F(x,y,z) = 0 and produce cut surface Cutting a 3D dataset with a plane 2D slice colour mapped or contoured visualise data on arbitrary surface Cutting polygonal geometry lines generate contour lines of 3D models Contours & Implicit Modelling 25

Cutting in VTK vktimplicitfunction sub-classes are vtksphere, vtkplane, vtkquadric, vtkcylinder, vtkcone,... vtkcutter cuts cells with an implicit function vtkclippolydata cuts polygonal data with an implicit function Contours & Implicit Modelling 26

Pipeline for 3D contours File containing Structured points. vtkreader Spacing parameters vtkcutter vtkcontour 3D Surface vtkstripper vtkpolydatamapper vtktubefilter Cut function vtkplane vtkpolydatamapper Contours & Implicit Modelling 27

Head contours - cutmodel.tcl File containing Polygonal data. vtkreader Spacing parameters vtkcutter 3D Surface vtkstripper vtkpolydatamapper vtktubefilter Cut function vtkplane vtkpolydatamapper Contours & Implicit Modelling 28

Implicit Object Modelling Combine multiple implicit functions union, intersection, difference operations e.g. ((F1 F2) F3) F4 e.g. two spheres and cone (right) extract surface with contouring operation (in VTK pipeline) Icecream = F1, bite = F2 Cone = F3 F 3 + F1 - F2 Contours & Implicit Modelling 29

Implicit Object Modelling in VTK vtkcone vtkplane vtkplane vtksphere vtksphere cone vertplane baseplane icecream bite # combine primitives to build ice-cream cone vtkimplicitboolean thecone thecone SetOperationTypeToIntersection thecone AddFunction cone thecone AddFunction vertplane thecone AddFunction baseplane vtkimplicitboolean thecream thecream SetOperationTypeToDifference thecream AddFunction icecream thecream AddFunction bite Contours & Implicit Modelling 30

Implicit Modelling Modelling using implicit function defined as Euclidean distance from geometric primitives e.g. lines spelling the word hello (geometry and iso-surface of function shown) VTK : vtkimplicitmodeller (hello.tcl) Contours & Implicit Modelling 31

Implicit Modelling - Functions All mathematical functions of form F(x,y,z) = c e.g. quadric Contours & Implicit Modelling 32

Summary Implicit Functions Defined as F(x,y,z) = c Data Selection (sub-selection) reduce data improve speed, limit visualisation Implicit Object Modelling constructive solid geometry Implicit Modelling surface implied by distance from geometric primitives Visualisation of Mathematical Functions next lecture : volume rendering Contours & Implicit Modelling 33