Skip to content

Add SMTKFileWriter module for exporting Slicer scene as .aeva.smtk file which can then be loaded into aevaCMB application.

Jean-Christophe Fillion-Robin requested to merge add-smtk-filewriter-plugin into master

This merge request addresses aeva#115 (closed) and it was developed by @shreeraj.jadhav with input from @jcfr

It adds the SMTKFileWriter module enabling user to export a Slicer MRML scene as a .aeva.smtk json file along side with:

  • Slicer segmentation saved as .vti
  • Slicer surface models saved as .vtp
  • Slicer solid models saved as .vtu

The exported file is saved with extension .aeva.smtk which can then be loaded into aevaCMB application.

Links:

Features

  1. Export surface models as vtkPolyData (.vtp)
  2. Export solid models as vtkUnstructuredGrid (.vtu)
  3. Export Images/Volumes as vtkImageData (.vti)
  4. Export scene as smtk json format (.aeva.smtk)
  5. Individual component files (vtp, vtu, vti) are saved under a subfolder with the same name as the parent filename.
  6. Components undergo transformation hardening before saving, thereby carrying forward any registrations/transformations applied within Slicer.
  7. File names of component files are made more readable by using the user-specified MRML node name as a prefix to the file followed by the respective uuid. The prefix undergoes string sanitization to ensure that it is compatible as a file name.

External projects

To support this, the following external projects have been added:

  • External_aeva-session.cmake
  • External_Boost.cmake: Currently required Boost to be always be installed on the system. See aevaslicer#10
  • External_Eigen3.cmake
  • External_MOAB.cmake
  • External_Netgen.cmake
  • External_nlohmann_json.cmake
  • External_pegtl.cmake
  • External_smtk.cmake
  • External_vtkFiltersParallelDIY2.cmake
  • External_vtkIOParallelExodus.cmake
  • External_vtkvtkm.cmake
Edited by Jean-Christophe Fillion-Robin

Merge request reports