# Mesh Discussion for Core 1

Home < Mesh Discussion for Core 1

Topics for discussion regarding Meshes in ITK.

Thursday, June 19th, 3-3:30pm ET

# Participants:

• Will Schroeder,
• Luis Ibanez,
• Andrey Fedorov,
• Polina Golland,
• Thomas Yeo
• Alex Gouillard

# Goal

• The goal is to figure out what's there and what needs to be done to make meshes usable for algorithm development.

# Tools Needed

• Thomas: I am listing some tools that might be necessary for people working with meshes in ITK (the viewpoint is probably biased towards my needs). I might also be referring to meshes as representing surfaces depending on the contexts.

## Registration

1. Need to interpolate values residing on the vertices of a mesh onto a set of points (which could belong to another mesh). I can give more specific examples in my problems if clarifications needed.
2. Given a point lying on a face (triangle/tetrahedron) of a mesh, compute the spatial gradient at that point, i.e., how will the interpolated value changes as the point position changes.
3. Does ParametricSpaceToImageSpaceMeshFilter already accomplished this? Found this on the documentation page, but it's unclear if it doing point (1) above.

## Mesh Parameterization

1. Given a mesh, impose a parametric (e.g., planar, spherical) coordinate system. This is necessary for registration.
2. Different possible metric for such a parametrization: metric distortion, conformal, etc.

Note (Alex): I think we did it: "http://hdl.handle.net/1926/1315". Do you need anything more than this?

## Given a Mesh Representing a Surface

1. Compute differential geometric properties, e.g., first and second fundamental forms (mean and gaussian curvature)
2. For mesh representing cortical surface, computing sulcal depth

## Closed 2D Surface Analysis

1. Spherical Harmonic Transform - Spherical Harmonics are the basis of spherical filtering.
2. Wavelets - I thought Delphine's work was to be imported into ITK. They must have needed to do perform interpolation and impose a spherical coordinate system...

## Obtaining the Mesh in the First Place

1. In the context of the brain: white matter segmentation, topology correction, mesh generation.

# Status of the Mesh in ITK

## FEM framework

• Not compliant with itkMesh (the FEM framework uses its own mesh).

## itkMesh

• n-manifold, same structure as VTKUnstructuredGrid (polygon soup + links from points to cells),
• no partitionning (ghost cells) => NO MULTITHREADING
• BuildLinks drawback: makes local topoligical operation's cost linear to global size
• Cell API gives possibility of K-Complex, possibility of boundary operator from n-dimensional cells to n-1 dimensional cells.

### filters:

Segmentation framework

• itkBalloonForceFilter
• itkDeformableMesh3DFilter

others

• itkAutomaticTopologyMeshSource
• itkConnectedRegionsMeshFilter
• itkImageToParametricSpaceFilter
• itkInteriorExteriorMeshFilter
• itkParametricSpaceToImageSpaceMeshFilter
• itkRegularSphereMeshSource
• itkSphereMeshSource
• itkTransformMeshFilter
• itkVTKPolyDataWriter [REVIEW]
• itkWarpMeshFilter
• itkConformalFlatteningMeshFilter (2) [REVIEW]
• itkTriangleMeshToBinaryImageFilter (2)

## itkSimplexMesh

• Contributed by the German Cancer Research Center
• inherit from itkMesh
• 2 manifolds, simplex
• Some dedicated filters with temp arrays to avoid calling BuildLinks() and make the code faster.
• Being rewritten by leila

### filters:

• itkDeformableSimplexMesh3DFilter
• itkSimplexMeshToTriangleMeshFilter
• itkTriangleMeshToSimplexMeshFilter
• itkDeformableSimplexMesh3D* (3)
• itkSimplexMeshVolumeCalculator

• inherit from itkMesh, API fully compatible.
• 2-manifold
• QuadEdge datastructure below (= C-GAL polyhedron + HalfEdges)
• Local operators, local (constant) cost.

### filters:

• Djikstra (primal) / front (dual) [REVIEW]
• topology checker [REVIEW]
• Parameterization framework [INSIGHT-JOURNAL]

#### for june's NAMIC project week:

• Mutable priority Queue for geometry processing [READY]
• Decimation [DEBUGGING]
• Discrete estimator of curvature (taubin) [DEBUGGING]
• smoothing [DEBUGGING]

#### Ongoing project with luca antiga (2009~)

• exact arithmetic kernel
• 2D and 3D delaunay

#### Ongoing project with A. Gelas

• implicit framework for Level Set and implicit surfaces (quadratic,Gaussian, RBF, partition of unity ...)
• reconstruction of surfaces from samples (stack of contours, point clouds
• implicit surface mesher

#### Dreams

• octree isosurface extraction with respect of sharp features
• CMAKization of TAUCS