Presentation on theme: "Reconstruction from Voxels (GATE-540)"— Presentation transcript:
1 Reconstruction from Voxels (GATE-540) Dr.Çağatay ÜNDEĞERInstructorMiddle East Technical University, GameTechnologies&General ManagerSimBT Inc.Reference: William E. Lorensen and Harvey E. ClineGame Technologies Program – Middle East Technical University – Spring 2010
3 Goals Develop 3D Analysis Algorithms: Reconstruction Segmentation Feature DetectionLabelingMatchingClassificationRetrielvalRecognitionClustering
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
5 Voxel DataDo not typically have their position (their coordinates) explicitly encoded along with their values.Stores:Binary data:empty / fullFloat data:density / color / distance to surface
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.
7 Usage of VoxelFrequently 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).
8 Usage of Voxel In games and simulations, Used for representation of terrain containing overhangs and caves.Concave features cannot be represented by heightmaps.
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.
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
11 Marching CubesMarching Cubes is an algorithm which “creates triangle models of constant density surfaces (iso-surfaces) from 3D medical data.”
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.
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.
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.
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.
17 How Are The Cubes UsedPixels 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.
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.
20 Determining Triangles An index to a pre-calculated array of 256 possible polygon configurations (28 = 256) within the cubeTreat 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.
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 thenThe appropriate bit is set to one (inside)If it is lower thenThe appropriate bit is set to zero (outside)0.10.80.50.0iso-value = 0.3
22 Determining Intersections Determine intersection points to iso-suface by interpolation.0.10.80.50.30.0iso-value = 0.3
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.
24 Determining Intersections Interpolate these normals along the edges of each cube to find the normals of the generated vertices.NN
25 Grid ResolutionVariations can increase/decrease surface density.