Skip to content

3956 repeated saves of mrbs cause corruption rebase

Starting from lost fiducials when saving MRBs multiple times, I found and fixed a host of bugs related to fiducials, scene views, volumes, storage nodes, the MRML scene, and saving MRBs and MRML files. These fixes were mostly necessary due to the fact that once an MRB has been expanded and loaded into Slicer, the files are removed from disk and file paths can become invalid.

Changes of note:

  • add missing storage nodes for storable nodes when saving them in a scene view
  • more book keeping for file list members so that they can be restored after MRB operations
  • use a mini scene for volume loading to avoid adding and removing lots of types of nodes
  • warn users if they add storable data after making a scene view (will be lost on restore)
  • remove the scene root dir variable on the mrml node as it wasn't staying in synch with the scene's root directory, made needed changes to the XML parser to set the scene on the storage node early so that absolute file paths can be computed correctly.

I can cancel this pull request and make one with one commit, this request is to get feedback on the changes in a more modular fashion.

Merge request reports