View Issue Details

IDProjectCategoryView StatusLast Update
0003992Slicer4Core: Base Codepublic2018-03-02 11:06
Reportermhalle Assigned Tonicole  
PriorityhighSeveritymajorReproducibilityalways
Status closedResolutionfixed 
Product VersionSlicer 4.4.0 
Target VersionSlicer 4.5.0-1Fixed in VersionSlicer 4.5.0-1 
Summary0003992: LUT lost when changing scene views
Description

When changing between scene views, the lookup table is lost (well, retained by reference, but seemingly emptied out, with no entries).

For example, load the abdominal atlas from the data store. Change scene views. Note the LUT overlay isn't available in the slices any more. Now, look at the lookup table through the volumes module. It looks like the Abdominal Atlas LUT is empty.

Seems reproducable in the knee atlas, head and neck, and brain atlas as well.

111380_PerthThalamicTumor has similar problems for some scene views, but returning to the default scene view does restore the LUT.

TagsNo tags attached.

Relationships

related to 0003956 closednicole Repeated saves of MRBs cause corruption 
has duplicate 0004052 closednicole Restoring scene views with custom LUT and unsaved data 
related to 0003698 closednicole When restoring scene, fiducial list is emptied 

Activities

jcfr

jcfr

2015-10-06 23:45

administrator   ~0013355

The problem is still present using Slicer r24610

Step to reproduce:

  • Start Slicer
  • Go to DataStore
  • Download "SPL Abdominal Atlas"
  • Check in Volumes module that the label map is properly associated with a custom LUT (named AbdominalAtlasColors) and that the LUT icon is visible.
  • Load a different Scene view
  • Select the label map in the Volumes. As illustrated in the the screenshot, the LUT icon is missing.

2015-10-06 23:45

 

jcfr

jcfr

2015-10-06 23:46

administrator   ~0013356

Last edited: 2015-10-06 23:46

Note that all LUT icons are missing. Not just the one associated with the custom LUT

jcfr

jcfr

2015-10-06 23:59

administrator   ~0013357

Here is an other scenario leading to a crash. In this case, I made sure to have the SubjectHierarchy settings (AutoCreateSH and AutoDeleteSHChildren so to false).

Step to reproduce:

  • Start Slicer
  • Go to DataStore
  • Load already downloaded mrb file (File -> Recentlt Loaded -> )
  • Load Scene View "Upper IG Tract"
  • Click "Restore without Saving" or "Add and Restore"
  • Go to Volumes module -> Crash
nicole

nicole

2015-10-23 08:13

administrator   ~0013392

Last edited: 2015-10-23 08:19

The abdominal atlas in the data store crashes on load in a debug build (after complaints about not finding a file due to paths in the MRB MRML file pointing to a temporary directory):
GetNodeByID: Node is in the scene, but its ID is missing from the NodeIDs cache: vtkMRMLSliceNode2

GetNodeByID: Node is in the scene, but its ID is missing from the NodeIDs cache: vtkMRMLSliceNode2

ASSERT: "mrmlNode" in file /Users/nicole/Slicer4-svn/Slicer/Libs/MRML/Widgets/qMRMLSceneModel.cxx, line 1473

Working on finding a test case and then fixing the atlas - oops, had a cached version, but still getting the crash if not the missing paths (plus a .mrb.mrb extension).

nicole

nicole

2015-10-23 14:49

administrator   ~0013412

This is the same bug I ran into with restoring scene views with fiducials: moving the data out of the mrml file and into a file on disk that doesn't get re-read when parsing the scene view nodes in the mrml file means that the scene view custom color table nodes are empty (only number of colors is written to the mrml file, so you get 701 empty entries in the color table). I put in the same check as I have for fiducials (don't clear out the node if a scene view is restoring) and it seems to fix the problem.

Pull request:
https://github.com/Slicer/Slicer/pull/386

jcfr

jcfr

2015-10-27 16:50

administrator   ~0013440

Fixed in r24665
See http://viewvc.slicer.org/viewvc.cgi/Slicer4?view=revision&revision=24665

Related Changesets

Import 2017-06-07 23:51:09: master e2bd1ae5

2015-10-27 20:12:05

jcfr

Details Diff
BUG: Preserve custom color tables on scene view restore

Moving the color table information into files on disk created
a bug (analogous to the same situation with fiducials[1]) that when
a scene contains scene views that contain custom color tables
the scene view restore wipes out the colors in the color node
in the main scene. When a MRML file is read, the files on disk
are not reread to fill in scene view nodes, so the scene view
color table node is empty. This fix adds a check for if the
scene is currently restoring a scene view, and if so, don't
proceed with the copy as it will result in an color table
with the correct number of entries (as the number of colors is
saved in the MRML file) but all black and unamed.
Added a test to ensure that restoring scene views with changed
color table nodes doesn't result in a zeroed out color table,
nor a changed one (for this work around state)

[1] fiducials were fixed in this commit:
http://viewvc.slicer.org/viewvc.cgi/Slicer4?view=revision&revision=24376
https://github.com/Slicer/Slicer/commit/1440084bbdd9d11c1e9e1f195087f521a91af186

Issue 0003992

From: Nicole Aucoin <nicole@bwh.harvard.edu>

git-svn-id: http://svn.slicer.org/Slicer4/trunk@24665 3bd1e089-480b-0410-8dfb-8563597acbee
mod - Libs/MRML/Core/vtkMRMLColorTableNode.cxx Diff File
mod - Modules/Loadable/Colors/Testing/Python/CMakeLists.txt Diff File
add - Modules/Loadable/Colors/Testing/Python/CustomColorTableSceneViewRestoreTestBug3992.py Diff File

Issue History

Date Modified Username Field Change
2015-04-28 07:21 mhalle New Issue
2015-04-28 07:21 mhalle Status new => assigned
2015-04-28 07:21 mhalle Assigned To => jcfr
2015-04-28 10:41 nicole Relationship added related to 0003956
2015-10-06 22:44 jcfr Assigned To jcfr => nicole
2015-10-06 23:38 jcfr Target Version => Slicer 4.5.0-1
2015-10-06 23:45 jcfr Note Added: 0013355
2015-10-06 23:45 jcfr File Added: 3992-missing-lut-in-lookup-table-selector.png
2015-10-06 23:46 jcfr Note Added: 0013356
2015-10-06 23:46 jcfr Note Edited: 0013356
2015-10-06 23:59 jcfr Note Added: 0013357
2015-10-23 08:13 nicole Note Added: 0013392
2015-10-23 08:19 nicole Note Edited: 0013392
2015-10-23 14:49 nicole Note Added: 0013412
2015-10-23 14:49 nicole Status assigned => feedback
2015-10-23 14:54 nicole Relationship added related to 0003698
2015-10-23 15:01 nicole Relationship added has duplicate 0004052
2015-10-27 16:50 jcfr Note Added: 0013440
2015-10-27 16:50 jcfr Status feedback => resolved
2015-10-27 16:50 jcfr Fixed in Version => Slicer 4.5.0-1
2015-10-27 16:50 jcfr Resolution open => fixed
2017-06-10 08:51 jcfr Changeset attached => Slicer master e2bd1ae5
2018-03-02 11:06 jcfr Status resolved => closed