370 likes | 706 Views
Feature Sensitive Surface Extraction from Volume Data. Leif P. Kobbelt Mario Botsch Ulrich Schwanecke Hans-Peter Seidel Computer Graphics Group, RWTH-Aachen Computer Graphics Group, MPI Saarbrucken Proc. Of ACM SIGGRAPH 2001 , page 57 66. Abstract.
E N D
Feature Sensitive Surface Extraction from Volume Data Leif P. Kobbelt Mario Botsch Ulrich Schwanecke Hans-Peter Seidel Computer Graphics Group, RWTH-Aachen Computer Graphics Group, MPI Saarbrucken Proc. Of ACM SIGGRAPH 2001 , page 57 66
Abstract • A new technique to extract high quality triangle meshes from volume data. • The main two contributions are: • Enhanced distance field representation • Extended Marching Cubes (EMC) • About Standard Marching Cubes (MC)
Abstract uniform 65×65×65 grid • The above figures show reconstructions of the well-known “fandisk” dataset. Standard MC + Enhanced distance field Standard MC Extended MC Extended MC + Enhanced distance field
Introduction • The volume data is usually sampled on a regular grid with a given step width. • We often observe severe alias artifacts at sharp features on the extracted surfaces. • Reduce these alias effect • Keep the simple algorithmic structure of the standard MC algorithm
Alias artifacts • The Marching-Cubes-type algorithm process discretevolume data. • The sampling of the implicit surface f(x,y,z)=0 is performed on the basis of a uniform spatial grid.
Parametric surfaces v.s. Implicit surfaces • Parametric surfaces • A mapping from R2(u,v) to R3(x,y,z) • Parametrized by u and v. x=f(u,v) y=g(u,v) z=h(u,v) • Allows easy enumeration of points. Just plug in values for u and v.
Parametric surfaces v.s. Implicit surfaces • Implicit surfaces • Defined by f(x,y,z)=0 • Advantages • Easy to check whether a point is “inside” and “outside” • Inside: f(x,y,z) < 0 • Disadvantages • One cannot easily enumerate points on the surface. x2+y2+z2-R2=0
Introduction • The central contributions of this paper are: • Enhanced representation of the distance field • This allows us to find more accurate surface. • Store directed distance in x, y, and z directions. • Extended Marching Cubes algorithm • Reduce alias (converge to the original surface’snormals.)
Distance field representation • For a given surface , a volume representation consists of a scalar valued function such that • Signed distance field function > 0 outside the surface < 0 inside the surface = 0 on the surface
U A B Operation A - B
Distance field representation • The standard way to sample f on a uniform spatial grid gi,j,k= [ ih, jh, kh ]. • The sampled distances di,j,k = f ( ih, jh, kh ) can be interpolated on each grid cell. Ci,j,k(h) = [ ih, (i+1)h ] × [ jh, (j+1)h ] × [ kh, (k+1)h ]
S S* Distance field representation • The major limitation of this technique is that the samples on S* are not necessarily close to S in the vicinity of sharp features.
Distance field representation • To improve the approximation one could refine the discretization grid h h’ < hor switch to higher order polynomial interpolants within each cell Ci,j,k (h). • First case: • output a larger number of triangles. • Second case: • local computations are getting more complicated.
Distance field representation • Therefore we suggest a third alternative to avoid these difficulties by using the directed distance field. • We store at each grid point gi,j,k three directed distances in x, y, and z direction. > 0 outside the surface < 0 inside the surface = 0 on the surface The three directed distances at one grid point always have the same sign. ( inside / outside status )
Distance field representation • The intersection point (Interpolation) • It is valid if and have opposite signs. h gi,j,k gi+,j,k S
Distance field representation Standard MC Standard MC + Enhanced distance field
Extended marching cubes • Marching cubes in general cannot reconstruct very sharp features and result in aliasing artifacts. • Problem : normals don’t converge • Alias errors in surfaces generated by the MC algorithm. • By decreasing the grid size, the effect becomes less and less visible.
Extended marching cubes • What we can do • By using point and normal information on both sides of the sharp feature one can find a good estimate for the feature point at the intersection of the tangent elements.
Y D2Y > 0 X Surface Exact intersection point D1Y < 0 D3X > 0 D1X < 0 Extended marching cubes
tangent element normal Reconstructed surface normal tangent element Extended marching cubes
Extended marching cubes • This works only if there is at most one sharp feature. • Just like the standard MC, the extended algorithm processes each cell Ci,j,k (h) separately. • If the cell does not contain a sharp feature • by using the standard Marching Cubes table. • If a feature is present • We compute one new sample point close to the expected feature. (generate a triangle fan)
Extended marching cubes • For each cell we first have to check if a feature is present and if yes, which type of feature.
Extended marching cubes • Postprocessing step • Left : the cells/patches that contain a feature are identified. • Center : one new sample is included per cell. • Right : by using edge flipping to reconstruct the feature edges.
Extended marching cubes Extended MC Extended MC + Enhanced distance field
Result • The execution times include only the running times for standard and extended MC, respectively. • The (directed) distance fields and gradients have been generated in a pre-process.
Result – Fan Disk Standard MC + Enhanced distance field Standard MC Extended MC Extended MC + Enhanced distance field
Result – Max Planck Low pass filter
Result – CAD 129129129
Application – Surface reconstruction • The original dataset consists 200K scattered points
Application - Remeshing • Polygonal meshes that are generated at some intermediate stage of an industrial CAD process often have a bad quality. • Convert a CAD model into a volume representation by sampling its distance field on a uniform grid. • Apply the extended Marching Cubes algorithm to this volume gives a remeshed version.
Conclusions and future directions • Adaptively refined octrees. • The problem is to fix the gaps (different refinement levels meet) • Parallelization • The algorithm processes each cell individually. (like the standard Marching Cubes)