Difference between revisions of "2017 Winter Project Week/Support for volumetric meshes"

From NAMIC Wiki
Jump to: navigation, search
Line 15: Line 15:
 
==Project Description==
 
==Project Description==
 
{| class="wikitable"
 
{| class="wikitable"
! style="text-align: left; width:27%" |  Objective
+
! style="text-align: left; width:20%" |  Objective
! style="text-align: left; width:27%" |  Approach and Plan
+
! style="text-align: left; width:20%" |  Approach and Plan
! style="text-align: left; width:27%" |  Progress and Next Steps
+
! style="text-align: left; width:20%" |  Progress/Results
 +
! style="text-align: left; width:20%" |  Next steps/Future work
 
|- style="vertical-align:top;"
 
|- style="vertical-align:top;"
 
|
 
|

Revision as of 15:46, 13 January 2017

Home < 2017 Winter Project Week < Support for volumetric meshes

Key Investigators

  • Alexis Girault (Kitware, Inc.)
  • Curtis Lisle (KnowledgeVis, LLC)
  • Steve Pieper (Isomics, Inc.)

Project Description

Objective Approach and Plan Progress/Results Next steps/Future work

From top priority to possible future work:

  • Being able to visualize, load and save volumetric meshes
  • Improving clipped visualization of models (surface models or volumetric meshes) and facilitate the display of the point data (active scalars).
  • Being able to create volumetric meshes from label maps (or segmentation?) and possibly edit them
  • Initial discussions needed with Curtis and Steve based on existing work: IA FEMesh from Slicer 3, BodyCentricCubicMesh and MeshCompression modules, and the CleaverExtension. Some parts of the IA FEMesh module were prototyped in early Slicer 4 (Curtis).
  • Probably investigate the creation of a MRML node similar to Models (possibly create a hierarchy between both?) that would wrap a vtkUnstructuredGrid in order to visualize, load and save the meshes.
  • Investigate best way to adapt previous Slicer-based volumetric work that allowed for creation and edition (bullet point 1) to work with the new architecture put in place within Slicer 4 (bullet point 2).
  • Can Read & Write Unstructured Grid mesh (vtk or vtu)
  • Fix bug in vtk reader to retrieve all point data and cell data.
  • vtkMRMLModelNode now holds a "mesh", either a polydata (surface mesh) or an unstructured grid (volumetric mesh)
  • vtkMRMLDisplayNode had a major clean up to consolidate scalar range options (scalarRangeFlag and autoScalarRange). Other clean up made to retrieve the look-up table for specific nodes only holding color transfer functions (ex: vtkMRMLProceduralColorNode).
  • DisplayableManager updated for 3D to allow cutting through volumetric mesh.
  • SliceDisplableManager updated for 2D Slices to be able to use same display properties than 3D view.
  • qMRMLModelDisplayNodeWidget updated to simplify scalar range mode selection, adapt number of decimals and single step for manual selection of the range based on the current values.
  • Progress made to threshold displayed mesh by scalar values.
  • Finalize threshold display option.
  • Clean up and consolidate qSlicerModelsModuleWidget (display properties, representations, wireframe, clipping... just move options around to make it more usable)
  • Add clipping option to smoothen the cut (using vtkClipDataSet vs vtkExtractGeometry)
  • Add support to pass through CLI (SlicerCLILogic)
  • Display information about the model type (surface or volumetric) for the user to be able to distinct it in the module widget.
  • Test with more cases, like fiber bundles etc... (changes could have a lot of impacts because there were changes to vtkMRMLDisplayNode and vtkMRMLModelNode. Make sure the updated API stays backward compatible).

Background and References