Presentation on theme: "Reconstruction from Voxels (GATE-540)"— Presentation transcript:
1Reconstruction 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
3Goals Develop 3D Analysis Algorithms: Reconstruction Segmentation Feature DetectionLabelingMatchingClassificationRetrielvalRecognitionClustering
4Voxel 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
5Voxel 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
6Voxel 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.
7Usage 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).
8Usage of Voxel In games and simulations, Used for representation of terrain containing overhangs and caves.Concave features cannot be represented by heightmaps.
9Visualizing 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.
10Iso-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
11Marching CubesMarching Cubes is an algorithm which “creates triangle models of constant density surfaces (iso-surfaces) from 3D medical data.”
12Medical 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.
14Marching 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.
15Marching 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.
16How 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.
17How 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.
19Triangle 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.
20Determining 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.
21Determining 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
22Determining Intersections Determine intersection points to iso-suface by interpolation.0.10.80.50.30.0iso-value = 0.3
23Determining Intersections Gradient of the scalar field at each grid point is also the normal vector of a hypothetical iso-surface passing from that point.
24Determining Intersections Interpolate these normals along the edges of each cube to find the normals of the generated vertices.NN
25Grid ResolutionVariations can increase/decrease surface density.