View Issue Details

IDProjectCategoryView StatusLast Update
0001744Slicer4Module SceneViewspublic2012-09-24 03:45
Reporterkikinis Assigned Tofinetjul  
PrioritynormalSeveritycrashReproducibilityalways
Status closedResolutionfixed 
PlatformAppleOSOS XOS Version10.7.3
Product VersionSlicer 4.0.1 
Target VersionSlicer 4.2.0Fixed in VersionSlicer 4.2.0 
Summary0001744: sceneview with volume rendering does not survive roundtrip
Description

the data is in ronsexamples on dropbox, VR-Test-2012-02-22

load scene
enter sceneview module.

  1. compare appearance of master sceneview thumbnail with what you actually see. Clearly, the FOV of the camera is not properly restored.
  2. when clicking on Sceneview (top) for restoring, I get a crash.
TagsNo tags attached.

Relationships

related to 0001572 closedalexy Slicer3 Slicer crashes when restoring volume-rendered scene views 
related to 0001952 closedfinetjul Slicer4 camera position after loading scene 
parent of 0001887 closedfinetjul Slicer4 sceneview roundtrip problem with LUT and with VR 
has duplicate 0002531 closedfinetjul Slicer4 sceneview with VR does not survive roundtrip 
related to 0001856 closednicole Slicer4 sceneview does not survive a roundtrip 

Activities

2012-02-22 07:55

 

pieper

pieper

2012-02-22 08:22

administrator   ~0003688

This might be an issue for Alex to look at.

finetjul

finetjul

2012-02-24 20:31

administrator   ~0003724

Last edited: 2012-02-24 20:33

Crash fixed in r19382:
http://viewvc.slicer.org/viewvc.cgi/Slicer4?view=revision&revision=19382

(please create another issue for the FOV pb)

kikinis

kikinis

2012-03-04 03:05

developer   ~0003774

There are still a few small things:
-Presets do not get populated on restore
-On loading a scene, the master view does not set the
FOV properly (it does, when just restoring a sceneview)
-the sceneviews do not bring up the module which was visible when the sceneview was created.

finetjul

finetjul

2012-03-04 07:13

administrator   ~0003776

-no presets: Ok, I'll investigate.
-bad fov on loading -> Jim (I believe he already has issues assigned to him for that)
-restore module in sceneview -> feature request, can you create a separate issue . It needs to be discussed as scene views restore the "scene" (or data), not the "state" of the application (current module).

finetjul

finetjul

2012-03-05 18:31

administrator   ~0003789

I am not sure to understand the problem with the presets.
Can you please describe a step by step scenario.

kikinis

kikinis

2012-05-09 16:35

developer   ~0004280

The presets are being set properly in mac nightly 5-8. Restoring the sceneviews works as well.

kikinis

kikinis

2012-07-04 05:15

developer   ~0005065

This is still not working properly. When I opened the scene, I do not see anything in the 3d viewer. When going to the VR module, the volume visibility is off.

2012-07-04 05:16

 

kikinis

kikinis

2012-07-04 05:17

developer   ~0005066

the screenshot I just added was taken with 4.1.1. nightly, 7-03

kikinis

kikinis

2012-07-31 12:44

developer   ~0005470

This is still the status. Its still broken

kikinis

kikinis

2012-08-31 10:14

developer   ~0005911

What are the plans?

finetjul

finetjul

2012-08-31 17:53

administrator   ~0005920

Last edited: 2012-09-26 06:44

Fixed in r20911:
http://viewvc.slicer.org/viewvc.cgi/Slicer4?view=revision&revision=20911

kikinis

kikinis

2012-09-15 09:54

developer   ~0006089

Its still not working on mac nightly 9-15. Attaching a screen shot after restoring sceneview 4

2012-09-15 09:55

 

finetjul

finetjul

2012-09-17 13:33

administrator   ~0006114

Please create a new MRML scene, the scene in VR-Test-2012-02-22 is no longer supported (or replace in the mrml scene VolumeRenderingParameters with CPURayCastVolumeRendering )

kikinis

kikinis

2012-09-17 18:36

developer   ~0006117

http://na-mic.org/Mantis/view.php?id=2531 is the new scene

finetjul

finetjul

2012-09-21 07:39

administrator   ~0006162

Last edited: 2012-09-21 08:15

The problem is that scene view node (vtkMRMLSceneViewNode) view node (vtkMRMLViewNode) is vtkMRMLViewNode1 and the Volume rendering display node in the scene view points to vtkMRMLViewNode1, but after restore, the 3D view uses vtkMRMLViewNode2.
Therefore the display node can't be visible in the 3D view.

For some reasons, the scene view node (vtkMRMLSceneViewNode1::View1) has its view node (vtkMRMLViewNode) ID changed from vtkMRMLViewNode1 to vtkMRMLViewNode2 but the view node ID is not changed in the volume rendering display node.

pieper

pieper

2012-09-21 08:36

administrator   ~0006163

Hi Julien -

I believe some of the logic for the view nodes was something copied over from slicer3 but then some fixes were never replicated in the context of slicer4.

http://viewvc.slicer.org/viewvc.cgi/Slicer3/trunk/Base/GUI/vtkSlicerViewerWidget.cxx?r1=15436&r2=15470

IIRC line 1052 was the fix for Sebastien's code about "Stealing unassigned camera nodes".

finetjul

finetjul

2012-09-21 09:59

administrator   ~0006165

I don't see problem with the view node logic.
See below what I think the problem is :
In MRML scene:
...
<SceneView id="vtkMRMLSceneViewNode1" name="View1" ...
<View id="vtkMRMLViewNode1" name="View" ...
<NCIRayCastVolumeRendering id="vtkMRMLNCIRayCastVolumeRenderingDisplayNode1" name="VolumeRendering" viewNodeRef="vtkMRMLViewNode1" ...
...
After loading scene:
Here is the content of vtkMRMLSceneViewNode1 (represented as a mrml)
<View id="vtkMRMLViewNode2" name="View" ...
<NCIRayCastVolumeRendering id="vtkMRMLNCIRayCastVolumeRenderingDisplayNode1" name="VolumeRendering" viewNodeRef="vtkMRMLViewNode1" ...

So when vtkMRMLSceneViewNode1 is restored, it keeps vtkMRMLViewNode2 in scene (was already there when loading the scene) but vtkMRMLNCIRayCastVolumeRenderingDisplayNode1 still points to vtkMRMLViewNode1.

The code responsible for changing vtkMRMLViewNode1 to vtkMRMLViewNode2 is vtkMRMLSceneViewNode::UpdateScene(vtkMRMLScene *scene) (done in r8315).
I see 2 options:

  • we don't change the ID
  • if we change the ID of the view node, we also change it in vtkMRMLNCIRayCastVolumeRenderingDisplayNode1
finetjul

finetjul

2012-09-21 13:58

administrator   ~0006167

Scene views fixed in r21027

However the volume rendering is now broken when importing the scene.
This is because the imported view node has its ID changed (vtkMRMLViewNode1 to vtkMRMLViewNode2) because there is already an existing view node (vtkMRMLViewNode1). However, only the vtkMRMLViewNode1 is mapped into a widget (it would work if you show the two 3D views), and the volume rendering display node is only visible in the vtkMRMLViewNode1 which is changed to vtkMRMLViewNode2.

See 0001887 (esp. comment 0004004)

finetjul

finetjul

2012-09-22 20:07

administrator   ~0006171

Last edited: 2012-09-22 20:09

Fixed in r21033:
http://viewvc.slicer.org/viewvc.cgi/Slicer4?view=revision&amp;revision=21033

Master scene view is correctly restored on import.
Views are now singletons.

kikinis

kikinis

2012-09-24 03:45

developer   ~0006178

the VR test in rons examples is not working, but when I created a new scene with sceneviews that worked nicely. Can I remove the directory called VR Test from Rons examples?

Issue History

Date Modified Username Field Change
2012-02-22 07:55 kikinis New Issue
2012-02-22 07:55 kikinis Status new => assigned
2012-02-22 07:55 kikinis Assigned To => finetjul
2012-02-22 07:55 kikinis File Added: Screen Shot 2012-02-22 at 12.55.20 PM.png
2012-02-22 08:22 pieper Note Added: 0003688
2012-02-22 08:23 finetjul Assigned To finetjul => alexy
2012-02-24 20:22 finetjul Relationship added related to 0001572
2012-02-24 20:30 finetjul Assigned To alexy => finetjul
2012-02-24 20:31 finetjul Note Added: 0003724
2012-02-24 20:31 finetjul Status assigned => resolved
2012-02-24 20:31 finetjul Fixed in Version => Slicer 4.1.0
2012-02-24 20:31 finetjul Resolution open => fixed
2012-02-24 20:33 finetjul Note Edited: 0003724
2012-03-04 03:05 kikinis Note Added: 0003774
2012-03-04 03:05 kikinis Status resolved => feedback
2012-03-04 03:05 kikinis Resolution fixed => reopened
2012-03-04 07:13 finetjul Note Added: 0003776
2012-03-05 18:31 finetjul Note Added: 0003789
2012-04-06 07:03 finetjul Category Base Code => Scene Views
2012-05-09 09:19 jcfr Target Version => Slicer 4.2.0 AHM Summer 2012
2012-05-09 16:35 kikinis Note Added: 0004280
2012-05-11 05:51 finetjul Status feedback => resolved
2012-05-11 05:51 finetjul Resolution reopened => fixed
2012-07-04 05:15 kikinis Note Added: 0005065
2012-07-04 05:15 kikinis Status resolved => feedback
2012-07-04 05:15 kikinis Resolution fixed => reopened
2012-07-04 05:16 kikinis File Added: Screen Shot 2012-07-04 at 9.14.02 AM.png
2012-07-04 05:17 kikinis Note Added: 0005066
2012-07-31 12:44 kikinis Note Added: 0005470
2012-08-01 04:17 kikinis Status feedback => confirmed
2012-08-20 11:53 jcfr Relationship added related to 0001856
2012-08-20 11:56 jcfr Relationship added related to 0001887
2012-08-31 10:14 kikinis Note Added: 0005911
2012-08-31 17:53 finetjul Note Added: 0005920
2012-08-31 17:53 finetjul Status confirmed => resolved
2012-08-31 17:53 finetjul Resolution reopened => fixed
2012-09-15 09:54 kikinis Note Added: 0006089
2012-09-15 09:54 kikinis Status resolved => feedback
2012-09-15 09:54 kikinis Resolution fixed => reopened
2012-09-15 09:55 kikinis File Added: Screen Shot 2012-09-15 at 1.52.44 PM.png
2012-09-17 13:33 finetjul Note Added: 0006114
2012-09-17 13:33 finetjul Status feedback => resolved
2012-09-17 13:33 finetjul Fixed in Version Slicer 4.1.0 => Slicer 4.2.0 - coming release
2012-09-17 13:33 finetjul Resolution reopened => fixed
2012-09-17 18:36 kikinis Note Added: 0006117
2012-09-17 18:36 kikinis Status resolved => feedback
2012-09-17 18:36 kikinis Resolution fixed => reopened
2012-09-17 18:42 kikinis Relationship added parent of 0002531
2012-09-21 07:39 finetjul Note Added: 0006162
2012-09-21 07:40 finetjul Note Edited: 0006162
2012-09-21 07:41 finetjul Relationship replaced has duplicate 0002531
2012-09-21 08:14 finetjul Status feedback => assigned
2012-09-21 08:15 finetjul Note Edited: 0006162
2012-09-21 08:36 pieper Note Added: 0006163
2012-09-21 09:59 finetjul Note Added: 0006165
2012-09-21 13:58 finetjul Note Added: 0006167
2012-09-21 13:58 finetjul Relationship replaced parent of 0001887
2012-09-22 11:31 finetjul Relationship added related to 0001952
2012-09-22 20:07 finetjul Note Added: 0006171
2012-09-22 20:07 finetjul Status assigned => resolved
2012-09-22 20:07 finetjul Resolution reopened => fixed
2012-09-22 20:09 finetjul Note Edited: 0006171
2012-09-24 03:45 kikinis Note Added: 0006178
2012-09-24 03:45 kikinis Status resolved => closed
2012-09-26 06:44 finetjul Note Edited: 0005920