Difference between revisions of "Mapped Hexahedral Meshing"
From NAMIC Wiki
(New page: '''Objective:''' * Develop a tool for mapped meshing that will warp a template mesh onto a surface for a new subject * Determine the limits that the warping algorithm will succeed and fai...) |
|||
Line 7: | Line 7: | ||
'''Progress:''' | '''Progress:''' | ||
− | * Warped meshing framework has been developed using VTK and ITK | + | * Warped meshing framework has been developed using VTK and ITK using a finite element approach |
**VTK | **VTK | ||
***Support the reading and writing of meshes (vtkUnstructuredGrid) and surfaces (vtkPolyData) | ***Support the reading and writing of meshes (vtkUnstructuredGrid) and surfaces (vtkPolyData) | ||
***Distance measures between the deforming mesh and the subject surface | ***Distance measures between the deforming mesh and the subject surface | ||
***Initial registration - [http://www.vtk.org/doc/nightly/html/classvtkIterativeClosestPointTransform.html Iterative Closest Point] or [http://www.vtk.org/doc/nightly/html/classvtkProcrustesAlignmentFilter.html Procrustes] | ***Initial registration - [http://www.vtk.org/doc/nightly/html/classvtkIterativeClosestPointTransform.html Iterative Closest Point] or [http://www.vtk.org/doc/nightly/html/classvtkProcrustesAlignmentFilter.html Procrustes] | ||
− | + | **ITK | |
+ | ***Finite element framework used to warped the template mesh onto the subject surface | ||
+ | *Registration made hierarchical to speed up the registration process | ||
+ | **Requires multiple template meshes to exist | ||
+ | **This is readily supported using the interactive meshing tools by changing the average edge length | ||
+ | **Subsequent meshes are initialized using a thin plate splines | ||
+ | *Parameters allowed to vary at each level of the registration | ||
+ | **Iterations | ||
+ | **Young's Modulus | ||
+ | *Convergence based on distance between the warped template and the subject surface | ||
+ | **User specified convergence threshold in mm | ||
+ | **Convergence can be based on average or maximum distance | ||
+ | *Boundary conditions can be applied | ||
+ | **Center of the mesh - Holds the eight nodes closest to the center of the mesh fixed | ||
+ | **External - Applies boundary conditions to the mesh as they fall within a user specified tolerance of the subject surface | ||
+ | * Initial testing done by warping a cube mesh onto a sphere | ||
+ | **Evaluation: | ||
+ | ***Distance between warped mesh and subject surface | ||
+ | ***Mesh quality | ||
* Meshing module is now built by default with Slicer3 | * Meshing module is now built by default with Slicer3 |
Revision as of 16:39, 6 January 2008
Home < Mapped Hexahedral MeshingObjective:
- Develop a tool for mapped meshing that will warp a template mesh onto a surface for a new subject
- Determine the limits that the warping algorithm will succeed and fail
- Apply these techniques to a sample of data to determine the reliability of the algorithm with respect to mesh quality
Progress:
- Warped meshing framework has been developed using VTK and ITK using a finite element approach
- VTK
- Support the reading and writing of meshes (vtkUnstructuredGrid) and surfaces (vtkPolyData)
- Distance measures between the deforming mesh and the subject surface
- Initial registration - Iterative Closest Point or Procrustes
- ITK
- Finite element framework used to warped the template mesh onto the subject surface
- VTK
- Registration made hierarchical to speed up the registration process
- Requires multiple template meshes to exist
- This is readily supported using the interactive meshing tools by changing the average edge length
- Subsequent meshes are initialized using a thin plate splines
- Parameters allowed to vary at each level of the registration
- Iterations
- Young's Modulus
- Convergence based on distance between the warped template and the subject surface
- User specified convergence threshold in mm
- Convergence can be based on average or maximum distance
- Boundary conditions can be applied
- Center of the mesh - Holds the eight nodes closest to the center of the mesh fixed
- External - Applies boundary conditions to the mesh as they fall within a user specified tolerance of the subject surface
- Initial testing done by warping a cube mesh onto a sphere
- Evaluation:
- Distance between warped mesh and subject surface
- Mesh quality
- Evaluation:
- Meshing module is now built by default with Slicer3
To Do:
- We should remove the need for the surface extraction when Slicer3 supports the loading of unstructured grids.
Key Investigators:
- Iowa: Nicole Grosland, Vincent Magnotta, Ritesh Bafna
Links:
Description: This program will convert an image into a hexahedral mesh using the voxels as the hexahedral elements. This is is typically done for only a portion of the image and thus a binary image from a segmentation may be used to define the region for meshing. Since these meshes may be fairly large the user is allowed to downsample the image by an integer value. Currently this must be odd.
This tool was developed as part of an NIH NA-MIC Collaboration Grant EB005973.
Program Usage:
VoxelMeshingModule --imagefilename Input image File Name --maskfilename Input mask File Name --abaqusfilename Output Abaqus Filename --vtkfilename Output mesh VTK filename --vtksurfacefilename Output mesh surface VTK filename (Hack required for slicer3) --resamplesize The image resample downsampling factor - Must be odd --meshindexoffset The mesh index offset for nodes and elements --poissonratio Poisson Ratio for the mesh --abaqustitle Abaqus title for generated mesh --numberofbins The number of histogram bins in the mesh --histogamlowerbound The lower bound for the mesh histogram --histogamupperbound The upper bound for the mesh histogram --histogambinfile Mesh material properties histogram bin filename
Figures: