View Issue Details

IDProjectCategoryView StatusLast Update
0001254Slicer4Core: Base Codepublic2014-03-06 06:11
Reporterkikinis Assigned Tomillerjv  
PrioritynormalSeveritymajorReproducibilityalways
Status closedResolutionfixed 
Product Version 
Target VersionSlicer 4.0.0Fixed in VersionSlicer 4.0.0 
Summary0001254: Fit to window produces unexpected result
Description

RonsExamples/2011-06-23-NeuroDTI-Slicer4/InitialView.mrml
mac nightly 7-5
After loading the scene, I used "fit to window" in linked viewer mode. The image is in the lower left corner of the slice viewers instead of centering and taking up the full area available for display.

TagsNo tags attached.

Relationships

duplicate of 0001251 closedfinetjul w/l in the slice views does not work any longer 
duplicate of 0001378 closedmillerjv Fit to window is not linked 

Activities

2011-07-05 05:57

 

finetjul

finetjul

2011-07-05 06:35

administrator   ~0002588

Same reason as why the Editor module is missing

kikinis

kikinis

2011-08-20 10:15

developer   ~0002752

mac nightly 8-20
load volume
change zoom and pan in each of the three slice viewers
turn link on
hit adjust viewer fov button
the other two viewers are not reset.

millerjv

millerjv

2011-08-22 05:39

developer   ~0002769

I actually purposely implemented this feature this way in Slicer4 :)

Here is what I was struggling with. We can think of these view adjustment features as either "sending parameters to define a view" or "sending a command". In Slicer3, many of these features were implemented as "sending a command" when the really should be "sending parameters to define a view". I have been cleaning up these inconsistencies in Slicer4. I pondered whether to keep the reset the view to match Slicer3 or change its behavior to be like the rest of Slicer4 behavior.

Here is an example scenario. In one slice view, you increment the slice with the "f" key. If linking is on, Slicer should not send a message to "increment the slice" to the other viewers (who have the same orientation). Rather, after incrementing the slice of the current viewer, it should send the SliceToRAS matrix to the other viewers (that have the same orientation) so that they are looking at the scene coordinate frame from the same perspective.

I did the same thing with the reset the field of view. The slice viewer being interacted with determines the new field of view specification. That field of view specification is sent to all viewers with the same orientation. So if you reset the view on an axial, that new field of view specification is sent to all axial viewers.

Why is this important? Let's say we have two axial viewers that are showing different images. Let's say they are of the same patient but the acquisitions have two different spans (for the sake of argument, you can think of one being cropped). When you reset the field of view in one slice viewer, you probably want the images presented so that a centimeter in one image spans the same amount of anatomy as in the other image. In Slicer3, each of the viewers would have reset the view independently so that they all independently filled the field of view (causing anatomy to be scaled differently in each viewer). I think that is inconsistent with the Slicer concept of having a common coordinate frame for all images.

The question are::

  1. Should reset the view act like a command performed independently in each viewer or should it act like setting parameters for a view that is propagated to the other viewers. I feel that we were doing it wrong in Slicer3.

  2. Should reset the view restrict itself to just the viewers in the same orientation?

  3. Should we have another way to allow the user to tell Slicer to rescale all the viewers to the native state (ignoring linking). This is the Slicer3 way to doing reset the view.

kikinis

kikinis

2011-08-22 05:44

developer   ~0002770

If I link some viewers, I would like modifications that I change to affect all linked viewer. Things that I do not change should not be affectd.

red axial, green sagittal, they are linked. reset fov affects both, with orientation not affected, since it was not changed.

millerjv

millerjv

2011-09-22 08:04

developer   ~0003096

This is the same issue as 0001378. It has been fixed while maintaining the code to perform the behavior of calculating the field of view for one viewer and prescribing that field of view for other viewers in the same orientation.

See 0001378 for more details.

Issue History

Date Modified Username Field Change
2011-07-05 05:57 kikinis New Issue
2011-07-05 05:57 kikinis File Added: Screen shot 2011-07-05 at 9.25.45 AM.png
2011-07-05 06:34 finetjul Relationship added duplicate of 0001251
2011-07-05 06:35 finetjul Note Added: 0002588
2011-07-05 06:35 finetjul Status new => resolved
2011-07-05 06:35 finetjul Resolution open => not fixable
2011-07-05 06:35 finetjul Assigned To => finetjul
2011-07-05 06:35 finetjul Resolution not fixable => no change required
2011-08-20 10:15 kikinis Note Added: 0002752
2011-08-20 10:15 kikinis Status resolved => feedback
2011-08-20 10:15 kikinis Resolution no change required => reopened
2011-08-20 19:01 finetjul Status feedback => assigned
2011-08-20 19:01 finetjul Assigned To finetjul => millerjv
2011-08-22 05:39 millerjv Note Added: 0002769
2011-08-22 05:44 kikinis Note Added: 0002770
2011-08-25 09:27 finetjul Target Version => Slicer 4.0 RSNA
2011-09-22 08:04 millerjv Note Added: 0003096
2011-09-22 08:04 millerjv Status assigned => resolved
2011-09-22 08:04 millerjv Resolution reopened => fixed
2011-09-22 08:09 finetjul Relationship added duplicate of 0001378
2011-10-05 13:08 kikinis Status resolved => closed
2014-03-06 06:11 jcfr Fixed in Version => Slicer 4.0.0