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 Reconstruction from Voxels (GATE-540) Dr.Çağatay ÜNDEĞER Instructor Middle East Technical University, GameTechnologies & General Manager SimBT Inc. Game Technologies Program – Middle East Technical University – Spring 2010 Reference: William E. Lorensen and Harvey E. Cline
GATE 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 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 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 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 Usage of Voxel In games and simulations, –Used for representation of terrain containing overhangs and caves. –Concave features cannot be represented by heightmaps.
GATE 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 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 Marching Cubes Marching Cubes is an algorithm which creates triangle models of constant density surfaces (iso-surfaces) from 3D medical data.
GATE 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 Data Slices
GATE 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 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 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 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 Unique Patterns
GATE 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 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 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 =
GATE Determining Intersections Determine intersection points to iso-suface by interpolation iso-value = 0.3
GATE 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 Determining Intersections Interpolate these normals along the edges of each cube to find the normals of the generated vertices. N N
GATE Grid Resolution Variations can increase/decrease surface density.
GATE 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 Conclusion Marching Squires / Marching Cubes provides a simple algorithm to translate a series of 2D medical scans into 2D / 3D objects.