View Issue Details

IDProjectCategoryView StatusLast Update
0002700Slicer4public2014-03-06 05:09
Reporterjcfr Assigned Tofedorov  
PriorityurgentSeverityminorReproducibilityhave not tried
Status closedResolutionfixed 
Product Version 
Target VersionSlicer 4.2.0Fixed in VersionSlicer 4.2.0 
Summary0002700: Tutorial 9 - Part3 - Annotation ROI is not visible
Description

Load "ChangetrackerTutorial2011.mrml"
Select the baseline and follow scan
Click on next

The ROI annotation is not visible

Note that this occurs with/without the fixed referenced in issue 0002590

Slicer r21268

TagsNo tags attached.

Relationships

duplicate of 0002701 closednicole Visibility of Annotation node programmatically added can NOT be toggled 
child of 0002511 closedjcfr Tutorial 9 - Longitudinal analysis of meningioma growth 

Activities

jcfr

jcfr

2012-10-29 08:16

administrator   ~0006844

Consider talking with Nicole with you think the recent change in Annotation caused this issue. Thanks

fedorov

fedorov

2012-10-29 08:23

developer   ~0006846

If I try to change ROI visibility from Annotations module, this does not work either. The ROI shows up in the annotations list, but clicking eye icon has no effect.

I will email Nicole (I am working from home today because the city is shutting down because of coming storm).

fedorov

fedorov

2012-10-29 09:03

developer   ~0006849

to reproduce, it is sufficient to create vtkMRMLROIAnnotationNode in the python console and add to the scene: it will show up in the Annotations module list, but will not respond to visibility toggles.

nicole

nicole

2012-10-29 10:25

administrator   ~0006857

Last edited: 2012-10-29 10:27

When creating an annotation node programatically, the display nodes need to be added as well, usually by calling Initialize. If I do the following in hte python console, the ROI appears in all the viewers:

roi = slicer.mrmlScene.CreateNodeByClass("vtkMRMLAnnotationROINode")
roi.Initialize(slicer.mrmlScene)

(having some difficulty staying connected to the SPL from home, sorry I missed this until now!)

jcfr

jcfr

2012-10-29 10:34

administrator   ~0006862

The annotation logic should listen to the scene and call these initialize methods if needed.

nicole

nicole

2012-10-29 10:36

administrator   ~0006863

The .mrml file may have to have it's annotation display node settings tweaked, where can I find a copy to test? The link on the planning page just points to the tutorial pdf.

fedorov

fedorov

2012-10-29 10:37

developer   ~0006864

Nicole, there's no mrml file, it's a step-by-step tutorial.

When was this change introduced? I do not have display node added manually, and it worked fine for the last year or so.

nicole

nicole

2012-10-29 10:40

administrator   ~0006865

JC: the display nodes always get added to the scene after the annotation nodes, the logic listening just for a node added event may over ride display nodes that are about to be added. Historically, I think we've checked in displayable managers when we're about to render to see if display nodes are needed.
In this case, though, I think the mrml file needs to be updated.

nicole

nicole

2012-10-29 10:43

administrator   ~0006866

Andrey: I was going by:
Load "ChangetrackerTutorial2011.mrml"
Looking at the tutorial linked from the RSNA planning page:
www.slicer.org/slicerWiki/images/c/c6/Slicer4QuantitativeImaging.pdf
Can you point me to the tutorial you're talking about?

jcfr

jcfr

2012-10-29 10:45

administrator   ~0006867

Nicole: Part 3 of tutorial "Slicer4QuantitativeImaging.pdf", slide 67

fedorov

fedorov

2012-10-29 10:49

developer   ~0006869

The dataset is linked here: http://wiki.slicer.org/slicerWiki/index.php/Documentation/4.1/Training#Slicer4_Quantitative_Imaging_tutorial

But it should not have any ROI-related nodes in the scene, just the data.

I confirm that adding Initialize() resolves the issue in ChangeTracker Step2.

nicole

nicole

2012-10-29 10:49

administrator   ~0006870

JC: no link to data in it, beyond a link to a C: drive Documents and Settings directory on slide 5

jcfr

jcfr

2012-10-29 10:55

administrator   ~0006872

Nicole: Data available here: http://www.na-mic.org/Bug/view.php?id=2511#c6250

fedorov

fedorov

2012-10-29 10:59

developer   ~0006874

Initialize() call added in http://viewvc.slicer.org/viewvc.cgi/Slicer4?view=revision&revision=21274

Also, Nicole: SetROIAnnotationVisibility() no longer works, but it does not trigger any errors or warnings, after you changed visibility toggle API. As discussed with Steve, maybe you should add an empty call that would print some warning message alerting the developer/user of the API change so that the code could be updated accordingly if needed?

https://github.com/fedorov/ChangeTrackerPy/commit/b4fa890c98e162ee51394a52f6577fc1a4eed7a5

finetjul

finetjul

2012-10-29 11:01

administrator   ~0006875

Andrei: The new behavior has been added in r21159:
http://viewvc.slicer.org/viewvc.cgi/Slicer4?view=revision&revision=21159

The ROI nodes are unique because they can be displayed without the need for a display node. However, since r21159 a display node is mandatory to control the visibility. (though no display node makes the ROI visible)

fedorov

fedorov

2012-10-29 11:04

developer   ~0006877

Julien: I thought we were in a feature freeze on the trunk since Sept 1, no?!

nicole

nicole

2012-10-29 11:07

administrator   ~0006878

SetROIAnnotationVisibility was just setting the visibility of any text associated with the ROI, not the visibility on the whole ROI. Looks like there was a copy/paste error in the header file Doxygen comment(s).
Alex took over the ROI node programming so I've been lax on making sure that it conforms to the behaviour of the fiducials and rulers.

jcfr

jcfr

2012-10-29 11:08

administrator   ~0006879

Andriy: Reading the commit message, new behavior associated with r21159 is a side effect of bug fix for issue 0002473.

"BUG: mantis issue 0002473 unify the visibility setting on the annotation nodes. Needed to have the data module displayable tree show the correct visibility flag and for calculating widget visibility in the displayable managers"

nicole

nicole

2012-10-29 11:08

administrator   ~0006880

Andrey: that was part of a bug fix.

jcfr

jcfr

2014-03-06 05:08

administrator   ~0010993

Closing resolved issues that have not been updated in more than 3 months

Issue History

Date Modified Username Field Change
2012-10-29 08:14 jcfr New Issue
2012-10-29 08:15 jcfr Relationship added child of 0002511
2012-10-29 08:15 jcfr Priority normal => urgent
2012-10-29 08:15 jcfr Target Version => Slicer 4.2.0 - coming release
2012-10-29 08:15 jcfr Status new => assigned
2012-10-29 08:15 jcfr Assigned To => fedorov
2012-10-29 08:16 jcfr Note Added: 0006844
2012-10-29 08:23 fedorov Note Added: 0006846
2012-10-29 09:03 fedorov Note Added: 0006849
2012-10-29 09:07 jcfr Relationship added duplicate of 0002701
2012-10-29 10:25 nicole Note Added: 0006857
2012-10-29 10:27 nicole Note Edited: 0006857
2012-10-29 10:34 jcfr Note Added: 0006862
2012-10-29 10:36 nicole Note Added: 0006863
2012-10-29 10:37 fedorov Note Added: 0006864
2012-10-29 10:40 nicole Note Added: 0006865
2012-10-29 10:43 nicole Note Added: 0006866
2012-10-29 10:45 jcfr Note Added: 0006867
2012-10-29 10:49 fedorov Note Added: 0006869
2012-10-29 10:49 nicole Note Added: 0006870
2012-10-29 10:55 jcfr Note Added: 0006872
2012-10-29 10:59 fedorov Note Added: 0006874
2012-10-29 11:00 fedorov Status assigned => resolved
2012-10-29 11:00 fedorov Fixed in Version => Slicer 4.2.0 - coming release
2012-10-29 11:00 fedorov Resolution open => fixed
2012-10-29 11:01 finetjul Note Added: 0006875
2012-10-29 11:04 fedorov Note Added: 0006877
2012-10-29 11:04 fedorov Status resolved => feedback
2012-10-29 11:04 fedorov Resolution fixed => reopened
2012-10-29 11:07 nicole Note Added: 0006878
2012-10-29 11:08 jcfr Note Added: 0006879
2012-10-29 11:08 nicole Note Added: 0006880
2012-10-29 12:08 fedorov Status feedback => resolved
2012-10-29 12:08 fedorov Resolution reopened => fixed
2014-03-06 05:08 jcfr Note Added: 0010993
2014-03-06 05:09 jcfr Status resolved => closed