View Issue Details

IDProjectCategoryView StatusLast Update
0004081Slicer4Core: MRMLpublic2018-06-02 01:05
ReporterjcfrAssigned Tojcfr 
PrioritynormalSeveritymajorReproducibilityhave not tried
Status assignedResolutionopen 
Product Version 
Target VersionSlicer 4.11.0Fixed in Version 
Summary0004081: Ensure reference are updated before NodeAddedEvent is invoked
Description

Currently references to other nodes are not valid when the NodeAddedEvent is invoked during the import of a scene in an existing one.

This prevents the qMRMLSceneModel from working well when it is observing the scene and updating itself as new node are added during import.

The current workaround is to force all SceneModel to enabled "lazyUpdate".

When lazyUpdate is enabled, the model ignores added node events when the
scene is importing/restoring, but synchronize with the scene once its
imported/restored.

This affected a broad set of modules and was captured in the following issues:

  • 0003462: ModelMaker functionality breaks display of Slice views
  • 0002849: Hierachy not respected when loading the same scene multiples times
  • 0004080: Transform module is not updated properly after importing a scene
TagsNo tags attached.

Relationships

related to 0003917 resolvedlassoan crash on scene close when transform is visible 
related to 0003445 closedsankhesh Slicer crash when restoring a scene view 
related to 0002853 closedpieper saving and loading Abdominal atlas scene does not work 
parent of 0003462 closedjcfr ModelMaker functionality breaks display of Slice views 
parent of 0002849 assignedjcfr Hierachy not respected when loading the same scene multiples times 
parent of 0004080 resolvedjcfr Transform module is not updated properly after importing a scene 
related to 0004570 assignedsjh267 Selection in node selector is lost if importing a scene 
Not all the children of this issue are yet resolved or closed.

Activities

jcfr

jcfr

2015-11-12 08:16

administrator   ~0013598

A work in progress topic has been pushed here: https://github.com/jcfr/Slicer/compare/add-vtkEventSpy...jcfr:4081-ensure-reference-are-up-to-date-on-import

lassoan

lassoan

2018-03-15 09:50

developer   ~0015565

PrepareImport (https://github.com/jcfr/Slicer/compare/add-vtkEventSpy...jcfr:4081-ensure-reference-are-up-to-date-on-import#diff-613613dab40347f3b905957c91fded53R653) does not seem to handle singleton nodes properly. For singleton nodes, yo must not generate a new node ID.

lassoan

lassoan

2018-03-15 10:01

developer   ~0015566

I think we could further simplify things if we did not need to maintain backward compatibility. With Slicer5 we have a chance to make breaking changes that fix/improve scene parsing (use vtkXMLDataElement), scene views (only apply them to display and view nodes), undo/redo (either fix it or remove completely), node copying (have explicit shallow and deep copy option), etc.

Issue History

Date Modified Username Field Change
2015-11-11 08:16 jcfr New Issue
2015-11-11 08:16 jcfr Status new => assigned
2015-11-11 08:16 jcfr Assigned To => alexy
2015-11-11 08:17 jcfr Assigned To alexy => jcfr
2015-11-11 08:17 jcfr Target Version => Slicer 4.5.1
2015-11-11 08:17 jcfr Relationship added child of 0003462
2015-11-11 08:18 jcfr Relationship deleted child of 0003462
2015-11-11 08:18 jcfr Relationship added parent of 0003462
2015-11-11 08:18 jcfr Relationship added parent of 0002849
2015-11-12 08:16 jcfr Note Added: 0013598
2015-11-12 08:17 jcfr Relationship added parent of 0004080
2015-11-12 14:35 jcfr Severity minor => major
2015-11-12 15:13 jcfr Relationship added related to 0003917
2015-11-12 15:24 jcfr Relationship added related to 0003445
2015-11-12 15:49 jcfr Relationship added related to 0002853
2016-10-12 02:56 jcfr Target Version Slicer 4.5.1 => Slicer 4.7.0
2017-09-27 11:12 lassoan Target Version Slicer 4.7.0 => Slicer 4.9.0
2018-03-15 09:50 lassoan Note Added: 0015565
2018-03-15 10:01 lassoan Note Added: 0015566
2018-03-22 01:08 jcfr Target Version Slicer 4.9.0 => Slicer 4.11.0
2018-06-02 01:05 jcfr Relationship added related to 0004570