cs6630 | October 30 2014 GRIDS Miriah Meyer University of Utah 1 administrivia . . . 2 - parallel coordinates assignment due tonight ! - scalar data assignment out today 3 last time . . . 4 MAPS 5 landmarks 6 what do they mean? 7 data as points data : ordered/ quantitative ! encoding : size 8 Lines of Equal Magnetic Declination first contour map isopleth map which overlays continuous data using a third encoding channel Edmond Halley, 1701 9 Illiteracy in France first choropleth map choropleth map in which areas are shaded, colored, or patterned relative to a data attribute value Charles Dupin, 1826 10 Land Area first cartogram cartogram map in which areas are scaled and distorted relative to a data attribute value Emile Levasseur, 1868 11 azimuthal preserves direction equal-area preserves area conformal preserves local shapes 12 today . . . 13 Glyph-Based Mapping Techniques • Superquadric glyphs [Kindlmann 2004] 15 © Weiskopf/Machiraju/Möller 17 Glyph-Based Mapping Techniques • Superquadric glyphs [Kindlmann 2004] 15 © Weiskopf/Machiraju/Möller 17 - data sources - data representation - interpolation 16 DATA SOURCES 17 Data Sources data sources REAL WORLD MEASUREMENTS • Real-world measurements – – – – – – – – – Medical Imaging (MRI, CT, PET) Geographical information systems (GIS) MB Electron microscopy Meteorology and environmental sciences (satellites) Seismic data GB Crystallography High energy physics Astronomy (e.g. Hubble Space Telescope 100MB/day) TB Defense © Weiskopf/Machiraju/Möller 18 Data Sources • Theoretical world THEORETICAL • Computer simulations MEASUREMENTS – Sciences • • • • • • • Molecular dynamics Quantum chemistry Mathematics Molecular modeling Computational physics Meteorology Computational fluid mechanics (CFD) MB GB – Engineering • Architectural walk-throughs • Structural mechanics • Car body design© Weiskopf/Machiraju/Möller MB GB 19 DATA REPRESENTATION 20 Data Representation • Discrete representations ! – The objects wetowant to visualize are often ‘continuous’ objects we want visualize are continuous – But in most cases, at thediscrete visualization data is given only at but, data only given locations discrete locations in space and/or time grids (meshes) consist of cells generated from data points – Discrete structures consist of samples, from which grids/meshes consisting of cells are generated • Primitives in different dimensions dimension mesh cell 0D points 1D lines (edges) 2D triangles, quadrilaterals (rectangles) 3D tetrahedra, prisms, hexahedra polyline(–gon) © Weiskopf/Machiraju/Möller 21 2D mesh 3D mesh Data Representation Types andofClassification of Field • Classification visualization techniques according to Data - – Dimension of of the domain (the of the field) problem dimension domain (independent params) dimension of the data to visualize (the geometry) – Type and dimension of the data to be visualized dimension of data type mD (dependent params) G 3D Examples: F 2D E 1D C D 0D A B H dimension of domain 1D 2D 3D © Weiskopf/Machiraju/Möller nD 22 A: gas station along a road B: map of cholera in London C: temperature along a rod D: height field of a continent E: 2D air flow F: 3D air flow in the atmosphere G: stress tensor in a mechanical part H: ozone concentration in the atmosphere Data Representation Types andofClassification of Field • Classification visualization techniques according to Data - – Dimension of of the domain (the of the field) problem dimension domain (independent params) dimension of the data to visualize (the geometry) – Type and dimension of the data to be visualized dimension of data type mD (dependent params) G 3D Examples: F 2D E 1D C D 0D A B H dimension of domain 1D 2D 3D © Weiskopf/Machiraju/Möller nD 22 A: gas station along a road B: map of cholera in London C: temperature along a rod D: height field of a continent E: 2D air flow F: 3D air flow in the atmosphere G: stress tensor in a mechanical part H: ozone concentration in the atmosphere Data Representation Types andofClassification of Field • Classification visualization techniques according to Data - – Dimension of of the domain (the of the field) problem dimension domain (independent params) dimension of the data to visualize (the geometry) – Type and dimension of the data to be visualized dimension of data type mD (dependent params) G 3D Examples: F 2D E 1D C D 0D A B H dimension of domain 1D 2D 3D © Weiskopf/Machiraju/Möller nD 22 A: gas station along a road B: map of cholera in London C: temperature along a rod D: height field of a continent E: 2D air flow F: 3D air flow in the atmosphere G: stress tensor in a mechanical part H: ozone concentration in the atmosphere Data Representation Types andofClassification of Field • Classification visualization techniques according to Data - – Dimension of of the domain (the of the field) problem dimension domain (independent params) dimension of the data to visualize (the geometry) – Type and dimension of the data to be visualized dimension of data type mD (dependent params) G 3D Examples: F 2D E 1D C D 0D A B H dimension of domain 1D 2D 3D © Weiskopf/Machiraju/Möller nD 22 A: gas station along a road B: map of cholera in London C: temperature along a rod D: height field of a continent E: 2D air flow F: 3D air flow in the atmosphere G: stress tensor in a mechanical part H: ozone concentration in the atmosphere Data Representation Types andofClassification of Field • Classification visualization techniques according to Data - – Dimension of of the domain (the of the field) problem dimension domain (independent params) dimension of the data to visualize (the geometry) – Type and dimension of the data to be visualized dimension of data type mD (dependent params) G 3D Examples: F 2D E 1D C D 0D A B H dimension of domain 1D 2D 3D © Weiskopf/Machiraju/Möller nD 22 A: gas station along a road B: map of cholera in London C: temperature along a rod D: height field of a continent E: 2D air flow F: 3D air flow in the atmosphere G: stress tensor in a mechanical part H: ozone concentration in the atmosphere Data Representation Types andofClassification of Field • Classification visualization techniques according to Data - – Dimension of of the domain (the of the field) problem dimension domain (independent params) dimension of the data to visualize (the geometry) – Type and dimension of the data to be visualized dimension of data type mD (dependent params) G 3D Examples: F 2D E 1D C D 0D A B H dimension of domain 1D 2D 3D © Weiskopf/Machiraju/Möller nD 22 A: gas station along a road B: map of cholera in London C: temperature along a rod D: height field of a continent E: 2D air flow F: 3D air flow in the atmosphere G: stress tensor in a mechanical part H: ozone concentration in the atmosphere Data Representation Types andofClassification of Field • Classification visualization techniques according to Data - – Dimension of of the domain (the of the field) problem dimension domain (independent params) dimension of the data to visualize (the geometry) – Type and dimension of the data to be visualized dimension of data type mD (dependent params) G 3D Examples: F 2D E 1D C D 0D A B H dimension of domain 1D 2D 3D © Weiskopf/Machiraju/Möller nD 22 A: gas station along a road B: map of cholera in London C: temperature along a rod D: height field of a continent E: 2D air flow F: 3D air flow in the atmosphere G: stress tensor in a mechanical part H: ozone concentration in the atmosphere Data Representation Types andofClassification of Field • Classification visualization techniques according to Data - – Dimension of of the domain (the of the field) problem dimension domain (independent params) dimension of the data to visualize (the geometry) – Type and dimension of the data to be visualized dimension of data type mD (dependent params) G 3D Examples: F 2D E 1D C D 0D A B H dimension of domain 1D 2D 3D © Weiskopf/Machiraju/Möller nD 22 A: gas station along a road B: map of cholera in London C: temperature along a rod D: height field of a continent E: 2D air flow F: 3D air flow in the atmosphere G: stress tensor in a mechanical part H: ozone concentration in the atmosphere Data Representation Types andofClassification of Field • Classification visualization techniques according to Data - – Dimension of of the domain (the of the field) problem dimension domain (independent params) dimension of the data to visualize (the geometry) – Type and dimension of the data to be visualized dimension of data type mD (dependent params) G 3D Examples: F 2D E 1D C D 0D A B H dimension of domain 1D 2D 3D © Weiskopf/Machiraju/Möller nD 22 A: gas station along a road B: map of cholera in London C: temperature along a rod D: height field of a continent E: 2D air flow F: 3D air flow in the atmosphere G: stress tensor in a mechanical part H: ozone concentration in the atmosphere Data Representation Types andofClassification of Field • Classification visualization techniques according to Data - – Dimension of of the domain (the of the field) problem dimension domain (independent params) dimension of the data to visualize (the geometry) – Type and dimension of the data to be visualized dimension of data type mD (dependent params) G 3D Examples: F 2D E 1D C D 0D A B H dimension of domain 1D 2D 3D © Weiskopf/Machiraju/Möller nD A: gas station along a road B: map of cholera in London C: temperature along a rod D: height field of a continent E: 2D air flow F: 3D air flow in the atmosphere G: stress tensor in a mechanical part H: ozone concentration in the atmosphere Basic Strategies • Visualization of 1D, 2D, or 3D scalar fields – 1D scalar field: ⇥R 2 ⇥R – 2D scalar field: 3 – 3D scalar field:! ⇥ ! R ! → Volume visualization! R R R Basic Strategies • Mapping to geometry – Function plots – Height fields – Isolines and isosurfaces • Color coding • Specific techniques for 3D data – Indirect volume visualization – Direct volume visualization – Slicing • Visualization method depend heavily on Weiskopf/Machiraju/Möller dimensionality of ©domain 5 NIH project established in 1989 - male: 1994 - 1,871 4mm slices - 15GB - female: 1995 - 5,189 0.33mm slices - 40GB - MRI, CT, and color - 26 NIH project established in 1989 - male: 1994 - 1,871 4mm slices - 15GB - female: 1995 - 5,189 0.33mm slices - 40GB - MRI, CT, and color - 26 ig. 1. Full-color human dataset, with close-ups of the high-resolution visible on the chest and T. Fogal, visible J. Krueger. Sizemale Matters - Revealing Small Scale Structures in Largetattoos Datasets, In IFMBE rms. Proceedings, Vol. 25/13, Springer Berlin Heidelberg, pp. 41--44. 2009. he manner that the user desires. large data: Volume Visualization • Representation of scalar 3 3D data set ⇥R R • Analogy: pixel (picture element) • Voxel (volume element), with two interpretations: – Values between grid points are resampled by interpolation • • Collection of voxels Uniform grid © Weiskopf/Machiraju/Möller 16 voxel 29 Input Data • Discrete positions (vertices) • N dimensions, N=1, 2, 3, ... • With or without connectivity information • Structured • Unstructured • Scattered CS530 - Introduction to Scientific Visualization grid topology Sep 26, 2014, Grid Structure Classification • Geometry • Position of vertices in Euclidean space • Structured / unstructured • Topology • • • • Cells Connectivity information Neighborhood definition Structured / unstructured CS530 - Introduction to Scientific Visualization Sep 26, 2014, Grid Geometry Uniform • implicit relationship between points • positions can be computed (procedural) Pi,j Pi,j,k = P0,0 + i ex x~ +j ey y~ +k ez z~ y P0,0 x CS530 - Introduction to Scientific Visualization Sep 26, 2014, Arecibo Message http://en.wikipedia.org/wiki/Arecibo_message • Way of understanding mechanics of raster image representation • Radio telecope in Puerto Rico • built in 1964, renovated in 1974 • To celebrate: Frank Drake and Carl Sagan (Cornell University) sent message to M13 in Hercules (25,000 light years away) • 1679 bits, frequency modulate 2380 MHz The Message http://www.physics.utah.edu/~cassiday/p1080/lec06.html 1679 bits were encoded as 2380MHz plus and minus some frequency 000000101010100000000000010100000101000000010010001000100010010110010101 010101010101001001000000000000000000000000000000000000011000000000000000 000011010000000000000000000110100000000000000000010101000000000000000000 111110000000000000000000000000000000011000011100011000011000100000000000 001100100001101000110001100001101011111011111011111011111000000000000000 000000000001000000000000000001000000000000000000000000000010000000000000 000011111100000000000001111100000000000000000000000110000110000111000110 001000000010000000001000011010000110001110011010111110111110111110111110 000000000000000000000000010000001100000000010000000000011000000000000000 100000110000000000111111000001100000011111000000000011000000000000010000 000010000000010000010000001100000001000000011000011000000100000000001100 010000110000000000000001100110000000000000110001000011000000000110000110 000001000000010000001000000001000001000000011000000001000100000000110000 000010001000000000100000001000001000000010000000100000001000000000000110 000000001100000000110000000001000111010110000000000010000000100000000000 000100000111110000000000001000010111010010110110000001001110010011111110 111000011100000110111000000000101000001110110010000001010000011111100100 000010100000110000001000001101100000000000000000000000000000000000111000 001000000000000001110101000101010101010011100000000010101010000000000000 000101000000000000001111100000000000000001111111110000000000001110000000 111000000000110000000000011000000011010000000001011000001100110000000110 011000010001010000010100010000100010010001001000100000000100010100010000 000000001000010000100000000000010000000001000000000000001001010000000000 01111001111101001111000 This is a 1-D sequence of bits in time How will an alien understand this list of bits? (will have different symbols than “0” “1”) No meta-information! Understanding the message • Perhaps some “visual” representation of bits! ! • (what is black vs white?) ! • Aliens notice 1679 = 23 x 73 ! (product of two primes) • Perhaps its not a linear sequence: 2-D array •Two ways of sequencing values in 2D array •Various ways of laying them out in 2D space •Then: have to decipher it! 73 x 23 73 x 23 23 x 73: what was different? 73 x 23 23 x 73: what was different? 73 x 23 23 x 73: what was different? 73 x 23 23 x 73: what was different? 73 x 23 compare to: http://en.wikipedia.org/wiki/Arecibo_message 23 x 73: what was different? 4 basic pieces of image metadata • Interpretation of individual values! • units, scalars, vectors, tensors, measurement frame! • Dimension of array! • dimension of domain sampled! • # axes, or # indices for getting a single sample! • Choice of axis ordering (fast-to-slow, or slow-to-fast)! • Culturally specific! • # samples along each axis! • “640-by-480 image” or “N-by-M matrix” Grid Geometry Structured • implicit relationship between points • positions can be computed (procedural) y [j] Pi,j Pi,j,k = P0,0 + ex x [i]~ + ey y [j]~ + ez z [k]~ y [1] P0,0 x [1] x [i] CS530 - Introduction to Scientific Visualization Sep 26, 2014, Grid Geometry Unstructured • No underlying structure • Requires explicit knowledge of every vertex’s position: (x0, y0, z0), (x1, y1, z1), ..., CS530 - Introduction to Scientific Visualization 7 Sep 26, 2014, Grid Topology Structured (quadrilateral / hexahedron) • Implicit connectivity between vertices • Implicit cell definition Associated with structured geometry: j very efficient position location i CS530 - Introduction to Scientific Visualization Pixel 8 Sep 26, 2014, Grid Topology Structured (quadrilateral / hexahedron) • Implicit connectivity between vertices • Implicit cell definition Associated with (n-1)m (n-2)m unstructured … 2m geometry: mn-1 curvilinear grid m 0 1 2 3 … CS530 - Introduction to Scientific Visualization m-2 m-1 Hexahedron Quadrilateral Sep 26, 2014, CS530 - Introduction to Scientific Visualization Sep 26, 2014, Grid Topology Structured (quadrilateral / hexahedron) • Implicit connectivity between vertices • Implicit cell definition (n-1)m (n-2)m … 2m m mn-1 Physical Space Computational Space 0 1 2 3 … CS530 - Introduction to Scientific Visualization m-2 m-1 12 Sep 26, 2014, Grid Topology Unstructured (any cell type) • Explicit cell definition • Types • Vertices Thursday, July 7, 2011 Tetrahedron Hexahedron CS530 - Introduction to Scientific Visualization Wedge 13 Pyramid Sep 26, 2014, CS530 - Introduction to Scientific Visualization Sep 26, 2014, CS530 - Introduction to Scientific Visualization Sep 26, 2014, Grid Types Geometry Topology Structured Unstructured Uniform Image Unstructured Structured Rectilinear Unstructured Unstructured Curvilinear Unstructured CS530 - Introduction to Scientific Visualization Sep 26, 2014, Grid Topology • Mesh-free (no grid, no connectivity) CS530 - Introduction to Scientific Visualization Sep 26, 2014, CS530 - Introduction to Scientific Visualization Sep 26, 2014, Data Structures • Grids (Meshes) Grid types combinesubstantially positional information (geometry) with –• Meshes Grids differ in the cells (basic topological information (connectivity). building blocks) they are constructed from and • Mesh canthe differtopological substantial depending in the way mesh in thetype way information is given cells are formed. scattered uniform rectilinear © Weiskopf/Machiraju/Möller structured unstructured From Weiskopf, Machiraju, Möller LINEAR CELLS 51 NONLINEAR CELLS 52 INTERPOLATION 53 Mesh Choice Impacts How the Continuous Data is Interpreted • Two key questions: • Sampling, or the choice of where attributes are measured • Interpolation, or how to model the attributes in the rest of space Interpolate Here Interpolate Here Interpolate Here Interpolation • Continuous reconstruction of position discrete input data F : IR (xi , fi ) ⇥i {1, .., n}, F (xi ) = fi n IR m value • Depends on grid structure (when available) • Interpolation vs. approximation CS530 - Introduction to Scientific Visualization 20 Sep 26, 2014, Nearest Neighbor Interpolation • Consider a 1-dimensional, grayscale image I spread horizontally • What value is I[1.3] ? I[0] I[1] I[2] I[3] I[4] Nearest Neighbor Interpolation • Consider a 1-dimensional, grayscale image I spread horizontally • What value is I[1.3] ? I[1.3] I[0] I[1] I[2] I[3] I[4] Nearest Neighbor Interpolation • Consider a 1-dimensional, grayscale image I spread horizontally • What value is I[1.3] ? I[1.3] I[0] I[1] I[2] I[3] I[4] Nearest Neighbor Interpolation • Consider a 1-dimensional, grayscale image I spread horizontally • What value is I[1.3] ? • I[1.3] = I[round(1.3)] = I[1] I[1.3] I[0] I[1] I[2] I[3] I[4] Nearest Neighbor Interpolation • Consider a 1-dimensional, grayscale image I spread horizontally • What value is I[1.3] ? • I[1.3] = I[round(1.3)] = I[1] I[1.3] I[0] I[1] I[2] I[3] I[4] Linear Interpolation • Consider a 1-dimensional, grayscale image I spread horizontally • What value is I[1.3] ? I[0] I[1] I[2] I[3] I[4] Linear Interpolation • Consider a 1-dimensional, grayscale image I spread horizontally • What value is I[1.3] ? I[1.3] I[0] I[1] I[2] I[3] I[4] Linear Interpolation • Consider a 1-dimensional, grayscale image I spread horizontally • What value is I[1.3] ? I[1.3] I[0] I[1] I[2] I[3] I[4] Linear Interpolation • Consider a 1-dimensional, grayscale image I spread horizontally • What value is I[1.3] ? I[1.3] I[0] I[1] I[2] I[3] I[4] Linear Interpolation • Consider a 1-dimensional, grayscale image I spread horizontally • What value is I[1.3] ? • Let s = 1.3 - round(1.3) I[1.3] I[0] I[1] I[2] I[3] I[4] Linear Interpolation • Consider a 1-dimensional, grayscale image I spread horizontally • What value is I[1.3] ? • Let s = 1.3 - round(1.3) • I[1.3] = 0.7*I[1] + 0.3*I[2] = (1-s)*I[1] + s*I[2] I[1.3] I[0] I[1] I[2] I[3] I[4] Linear Interpolation • Consider a 1-dimensional, grayscale image I spread horizontally • What value is I[1.3] ? • Let s = 1.3 - round(1.3) • I[1.3] = 0.7*I[1] + 0.3*I[2] = (1-s)*I[1] + s*I[2] I[1.3] I[0] I[1] I[2] I[3] I[4] Bilinear Interpolation • Bilinear interpolation In rectangle y) =v)Q axy + bx cyt (u) +d P (x, = (1 ++ vQ Qb (u) Q = Rr (v) i, (1 (Pi )u)R =Rli(v) + uR Qt (u) P4 Combination of two consecutive linear interpolation 1-v P Rl (v) P3 (u,v) Rr (v) v P1 CS530 - Introduction to Scientific Visualization 25 u Qb (u) 1-u P2 Sep 26, 2014, Bilinear Interpolation • In rectangle P = (1 = (1 v)Q Qb (u) + vQ Qt (u) u)R Rl (v) + uR Rr (v) Qt (u) P4 1-v P Rl (v) P3 (u,v) Rr (v) v P1 CS530 - Introduction to Scientific Visualization u Qb (u) 1-u P2 Sep 26, 2014, Bilinear Interpolation • In rectangle PP==PP11+ +v(P v(P44 PP1 )1 ) +u(P u(P22 P11)) + +uv(P11 P22 + +uv(P + PP33 PP44) ) P4 Qt (u) 1-v P Rl (v) P3 (u,v) Rr (v) v P1 CS530 - Introduction to Scientific Visualization 27 u Qb (u) 1-u P2 Sep 26, 2014, Bilinear Interpolation • Alternate interpretation is a weighted sum of the four pixel values • Weights defined by the area opposite each corner http://en.wikipedia.org/wiki/Bilinear_interpolation Trilinear Interpolation • In a cuboid (axis parallel) • general formula (x, y, z) = axyz + bxy + cxz + dyz + ex + f y + gz + h • with local coordinates P = P1 +u(P2 P1 ) +v(P4 P1 ) +w(P5 P1 ) P5 P7 P6 1-w w +uv(P1 P2 + P3 P4 ) +uw(P1 P2 + P6 P5 ) P1 +vw(P1 P4 + P8 P5 ) +uvw(P1 P2 + P3 P4 + P5 CS530 - Introduction to Scientific Visualization P8 31 P4 u P P3 v 1-u P2 P6 + P 7 P8 ) 1-v Sep 26, 2014, But Also... • Nearest Neighbor interpolation Voronoi diagram CS530 - Introduction to Scientific Visualization Sep 26, 2014, But Also... • Higher-order interpolation schemes • splines, local polynomial fit (interpolation, least sq., ...) • smooth reconstruction kernels (on uniform grids) CS530 - Introduction to Scientific Visualization Sep 26, 2014, L17: Isosurfaces REQUIRED READING 66 i i Chapter 8 Arrange Spatial Data 8.1 The Big Picture For datasets with spatial semantics, the usual choice for arrange is to use the given spatial information to guide the layout. In this case, the choices of express, separate, order, and align do not apply because the position channel is not available for directly encoding attributes. The two main spatial data types are geometry, where shape information is directly conveyed by spatial elements that do not necessarily have associated attributes, and spatial fields, where attributes are associated with each cell in the field. (See Figure 8.1.) For scalar fields with one attribute at each field cell, the two main visual encoding idiom families are isocontours and direct volume rendering. For both vector and tensor fields, with multiple attributes at each cell, there are four families of encoding idioms: flow glyphs that show local information, geometric approaches that compute derived geometry from a sparse set of seed points, texture approaches that use a dense set of seeds, and feature approaches where data is derived with global computations using information from the entire spatial field. (~ ~ ComputerGraphics,Volume21, Number4, July 1987 MARCHING CUBES: A HIGH RESOLUTION 3D S U R F A C E C O N S T R U C T I O N A L G O R I T H M William E. Lorensen Harvey E. Cline General Electric Company Corporate Research and Development Schenectady, New York 12301 Abstract We present a new algorithm, called marching cubes, that creates triangle models of constant density surfaces from 3D medical data. Using a divide-and-conquer approach to generate inter-slice connectivity, we create a case table that defines triangle topology. The algorithm processes the 3D medical data in scan-line order and calculates triangle vertices using linear interpolation. We find the gradient of the original data, normalize it, and use it as a basis for shading the models. The detail in images produced from the generated surface models is the result of maintaining the inter-slice connectivity, surface data, and gradient information present in the original 3D data. Results from computed tomography (CT), magnetic resonance (MR), and single-photon emission computed tomography (SPECT) illustrate the quality and functionality of marching cubes. We also discuss improvements that decrease processing time and add solid modeling capabilities. CR Categories: 3.3, 3.5 Additional Keywords: computer graphics, medical imaging, acetabular fractures [6], craniofacial abnormalities [17,18], and intracranial structure [13] illustrate 3D's potential for the study of complex bone structures. Applications in radiation therapy [27,11] and surgical planning [4,5,31] show interactive 3D techniques combined with 3D surface images. Cardiac applications include artery visualization [2,16] and nongraphic modeling applications to calculate surface area and volume [21]. Existing 3D algorithms lack detail and sometimes introduce artifacts. We present a new, high-resolution 3D surface construction algorithm that produces .models with unprecedented detail. This new algorithm, called marching cubes, creates a polygonal representation of constant density surfaces from a 3D array of data. The resulting model can be displayed with conventional graphics-rendering algorithms implemented in software or hardware. After describing the information flow for 3D medical applications, we describe related work and discuss the drawbacks of that work. Then we describe the algorithm as well as efficiency and functional enhancements, followed by case studies using three different medical imaging techniques to il-