Presentation on theme: "GATE-540 1 Reconstruction from Voxels (GATE-540) Dr.Çağatay ÜNDEĞER Instructor Middle East Technical University, GameTechnologies & General Manager SimBT."— Presentation transcript:
GATE-540 1 Reconstruction from Voxels (GATE-540) Dr.Çağatay ÜNDEĞER Instructor Middle East Technical University, GameTechnologies & General Manager SimBT Inc. e-mail : firstname.lastname@example.org Game Technologies Program – Middle East Technical University – Spring 2010 Reference: William E. Lorensen and Harvey E. Cline
GATE-540 4 Voxel A voxel (volumetric pixel) –A volume element, representing a value on a regular grid in three dimensional space. Analogous to a pixel, which represents 2D image data in a bitmap
GATE-540 5 Voxel Data Do not typically have their position (their coordinates) explicitly encoded along with their values. Stores: –Binary data: empty / full –Float data: density / color / distance to surface
GATE-540 6 Voxel vs Polygon Polygons: –Often explicitly represented by the coordinates of their vertices. –Able to efficiently represent simple 3D structures with lots of empty or homogeneously-filled space. Voxels: –Good at representing regularly-sampled spaces that are non-homogeneously filled. –Have a limited resolution, as precise data is only available at the center of each cell.
GATE-540 7 Usage of Voxel Frequently used in the visualization and analysis of medical and scientific data. Some volumetric displays use voxels to visualize models and describe their resolution in 3D dimension (512×512×256 voxels).
GATE-540 8 Usage of Voxel In games and simulations, –Used for representation of terrain containing overhangs and caves. –Concave features cannot be represented by heightmaps.
GATE-540 9 Visualizing Voxels Visualization: –Direct volume rendering –Extraction of polygon iso-surfaces which follow the contours of given threshold values. The marching cubes algorithm is often used for iso-surface extraction.
GATE-540 10 Iso-Surface A three-dimensional analog of an iso-contour. A surface that represents points of a constant value (e.g. pressure, temperature, velocity, density) within a volume of space. İso-surface
GATE-540 11 Marching Cubes Marching Cubes is an algorithm which creates triangle models of constant density surfaces (iso-surfaces) from 3D medical data.
GATE-540 12 Medical Data Acquisition Computed Tomography (CT) Magnetic Resonance (MR) Imagining (MRI) Single-Photon Emission Computed Tomography (SPECT) Each scanning process results in two dimensional slices of data.
GATE-540 13 Data Slices
GATE-540 14 Marching Cubes Extraction Extracts surfaces from adjacent pairs of data slices using cubes. Cubes march through the pair of slices until the entire surface of both slices has been examined.
GATE-540 15 Marching Cubes Overview Load slices. Create a cube from pixels on adjacent slices. Find vertices on the surfaces. Determine the intersection edges. Interpolate the edge intersections. Calculate vertex normals. Output triangles and normals.
GATE-540 16 How Are Cubes Constructed Uses identical squares of four pixels connected between adjacent slices. Each cube vertex is examined to see if it lies on or off the surface.
GATE-540 17 How Are The Cubes Used Pixels on the slice surfaces determine 3D surfaces. 256 surface permutations, but only 15 unique patterns. A normal is calculated for each triangle vertex for rendering.
GATE-540 18 15 Unique Patterns
GATE-540 19 Triangle Creation Determine triangles contained by a cube. Determine which cube edges are intersected. Interpolate intersection point using pixel density. Calculate unit normals for each triangle vertex using the gradient vector.
GATE-540 20 Determining Triangles An index to a pre-calculated array of 256 possible polygon configurations (2 8 = 256) within the cube Treat each of the 8 scalar values (cube corners) as a bit in an 8-bit integer. 8 scalars (8 bits) determine the actual index to the polygon configuration array.
GATE-540 21 Determining Inside/Outside Select a iso-value that the surface will pass through. If the scalar's value is higher than the iso- value then –The appropriate bit is set to one (inside) If it is lower then –The appropriate bit is set to zero (outside) iso-value = 0.3 0.10.8 0.5 0.0
GATE-540 22 Determining Intersections Determine intersection points to iso-suface by interpolation. 0.10.8 0.5 0.3 0.0 0.3 iso-value = 0.3
GATE-540 23 Determining Intersections Gradient of the scalar field at each grid point is also the normal vector of a hypothetical iso- surface passing from that point.
GATE-540 24 Determining Intersections Interpolate these normals along the edges of each cube to find the normals of the generated vertices. N N
GATE-540 25 Grid Resolution Variations can increase/decrease surface density.
GATE-540 26 Examples
GATE-540 27 Marching Squares 2D version of Marching Cubes Aims at drawing lines between interpolated values along the edges of a square considering given weights of the corners and a reference value.
GATE-540 28 Conclusion Marching Squires / Marching Cubes provides a simple algorithm to translate a series of 2D medical scans into 2D / 3D objects.