View Issue Details

IDProjectCategoryView StatusLast Update
0002584Slicer4Core: GUIpublic2014-03-06 05:10
Reportersbillin Assigned Tosankhesh  
PrioritynormalSeverityminorReproducibilityalways
Status closedResolutionfixed 
Product VersionSlicer 4.1.1 
Target VersionSlicer 4.2.0Fixed in VersionSlicer 4.2.0 
Summary0002584: Transform Widget: min/max setting changes the translation values when selecting a new transform
Description

When selecting an "Active Transform" using the Transforms module, the current min/max settings for translation are automatically applied to the transform being selected.

This is a problem, because when I load a transform from a file, the min/max setting will limit the values of the loaded transform if the translation values are outside the current min/max setting for translation. Thus, the act of merely selecting a transform using the Transforms module may automatically change the transforms values without me even knowing it. And I cannot know what the values of the transform are until after it is loaded, thus I have no way to ensure that my min/max value is large enough before loading a new transform from file.

The problem above can also happen for the case where I have two transforms with different min/max settings. If I'm currently editing a transform with smaller min/max setting, I have to remember to increase the min/max values before selecting the other transform with higher min/max setting. If I don't do this, the values of the other transform with a higher min/max will be automatically changed when that transform is selected.

I believe the desired fix is when selecting a new Active Transform, the translation values of that transform should be checked and compared to the current min/max setting for translation in the GUI. If the transforms values are larger than the min/max setting, the min/max setting could be increase to allow the large values.

Additional Information

Slicer Version: 4.1.0-2012-09-06 r20936

TagsNo tags attached.

Relationships

duplicate of 0002380 closedsankhesh Transforms module issue: display of translation component when values exceed default max values 
related to 0002579 acknowledgedjcfr Transform Widget: easy enhancements for more user-friendly manual registrations 

Activities

sbillin

sbillin

2012-10-01 04:06

reporter   ~0006288

Also, if one or more transforms exist in the current MRML tree, then choosing the "Transforms" module from the Modules drop-down box automatically selects one of these transforms as the active transform. This situation presents the same problem as described above. So to ensure that a transform stored in a file is not automatically changed within Slicer, I have to first set the min/max values in the Transform module large enough, even before adding any of those transforms to the MRML tree.

sankhesh

sankhesh

2012-10-02 10:12

developer   ~0006334

This seems to be similar to issue 2380. It has been resolved. You will have to build the latest Slicer HEAD to get that fix. It will be included in Slicer release version 4.2.0.

sbillin

sbillin

2012-10-02 11:46

reporter   ~0006337

I've updated to the latest release, and the problem stated above has indeed been fixed.

However, the fix introduces a new problem for me. In the latest Slicer release, when selecting an active transform, the min/max values are automatically increased in magnitude as needed. However, the min/max change is applied to both the rotation and translation sliders. I wonder if this was intended? It seems that modifying the rotation min/max shouldn't be necessary since they don't limit the displayed transform values.

For my particular application, I require small min/max values on rotation, which I do by setting the default min/max to a small value in qMRMLTransformSliders.ui. I tried also controlling this by setting the min/max value controls to visible for rotation sliders in qSlicerTransformsModule.ui, but when I do this the following problems arise:

  • moving a rotation slider causes a translation slider to also move
  • moving a translation slider causes a rotation slider to go to zero
sbillin

sbillin

2012-10-02 12:28

reporter   ~0006341

I noticed another problem with this fix:

Moving a translation slider past the min/max setting for the rotation sliders causes the min/max values for rotation to change. Default min/max for rotation is +/- 200. If you move a translation slider to -400 for example, the bars for rotation all move to the right, as the rotation min is changed to -400.

finetjul

finetjul

2012-10-03 20:30

administrator   ~0006376

I agree with sbillin, the range of the rotation shouldn't change. And btw, it should probably be -180,+180.

Concerning the reset to 0 of the rotation slider when a translation slider move, it is done on purpose: the rotation sliders don't represent the current "rotation" of the transform matrix, but are actions: "rotate" around a given axis.

As it is a regression, it must be fixed for 4.2

sankhesh

sankhesh

2012-10-15 07:48

developer   ~0006534

Pushed topic here: https://github.com/sankhesh/Slicer/tree/2584-Transform-widget-sliders

This topic fixes the issue.

sankhesh

sankhesh

2012-10-15 15:35

developer   ~0006557

Made changes in this commit: https://github.com/sankhesh/Slicer/commit/bc12d72eeff9634e280ad5a5ead46ee212b39783

sankhesh

sankhesh

2012-10-16 08:57

developer   ~0006568

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

jcfr

jcfr

2014-03-06 05:08

administrator   ~0010983

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

Issue History

Date Modified Username Field Change
2012-10-01 03:09 sbillin New Issue
2012-10-01 03:09 sbillin Status new => assigned
2012-10-01 03:09 sbillin Assigned To => kikinis
2012-10-01 04:06 sbillin Note Added: 0006288
2012-10-02 09:22 finetjul Assigned To kikinis => sankhesh
2012-10-02 10:08 sankhesh Relationship added has duplicate 0002380
2012-10-02 10:08 sankhesh Relationship deleted has duplicate 0002380
2012-10-02 10:08 sankhesh Relationship added duplicate of 0002380
2012-10-02 10:12 sankhesh Note Added: 0006334
2012-10-02 11:46 sbillin Note Added: 0006337
2012-10-02 12:28 sbillin Note Added: 0006341
2012-10-03 20:30 finetjul Note Added: 0006376
2012-10-03 20:30 finetjul Target Version => Slicer 4.2.0 - coming release
2012-10-15 07:48 sankhesh Note Added: 0006534
2012-10-15 15:35 sankhesh Note Added: 0006557
2012-10-16 08:57 sankhesh Note Added: 0006568
2012-10-16 08:57 sankhesh Status assigned => resolved
2012-10-16 08:57 sankhesh Fixed in Version => Slicer 4.2.0 - coming release
2012-10-16 08:57 sankhesh Resolution open => fixed
2012-12-10 07:02 sankhesh Relationship added related to 0002579
2014-03-06 05:08 jcfr Note Added: 0010983
2014-03-06 05:10 jcfr Status resolved => closed